Add bomb explosion sound effect. Fix bug with the player getting knocked back whenever a monster's proximity knockback function is called. Release Build 9247.

mac-build
sigonasr2 7 months ago
parent d508075bb6
commit c3f2620d5d
  1. 2
      Adventures in Lestoria/Bomb.cpp
  2. 4
      Adventures in Lestoria/Monster.cpp
  3. 1
      Adventures in Lestoria/Monster.h
  4. 6
      Adventures in Lestoria/RUN_STRATEGY.cpp
  5. 2
      Adventures in Lestoria/Version.h
  6. 6
      Adventures in Lestoria/assets/config/audio/events.txt
  7. BIN
      Adventures in Lestoria/assets/sounds/bomb_explosion.ogg
  8. BIN
      x64/Release/Adventures in Lestoria.exe

@ -40,6 +40,7 @@ All rights reserved.
#include "util.h"
#include "AdventuresInLestoria.h"
#include "BombBoom.h"
#include "SoundEffect.h"
INCLUDE_DATA
INCLUDE_ANIMATION_DATA
@ -67,6 +68,7 @@ void Bomb::Update(float fElapsedTime){
z=0; //Force the bomb to be grounded.
fadeOutTime=bombFadeoutTime;
game->AddEffect(std::make_unique<BombBoom>(pos,0.f,OnUpperLevel(),vf2d{radius,radius}/12.f/1.5f/*Upscale 24x24 to 36x36*/,1.f,vf2d{},WHITE,0.f,0.f,true));
SoundEffect::PlaySFX("Bomb Explode",pos);
float distToPlayer=geom2d::line<float>(pos,game->GetPlayer()->GetPos()).length();
if(friendly){
const MonsterHurtList hurtEnemies=game->HurtEnemies(pos,radius,damage,OnUpperLevel(),z);

@ -979,11 +979,11 @@ void DeathSpawnInfo::Spawn(const vf2d monsterDeathPos,const bool onUpperLevel){
}
void Monster::ProximityKnockback(const vf2d centerPoint,const float knockbackFactor){
geom2d::line<float>lineToMonster(centerPoint,game->GetPlayer()->GetPos());
geom2d::line<float>lineToMonster(centerPoint,GetPos());
float dist=lineToMonster.length();
if(dist<0.001f){
float randomDir=util::random(2*PI);
lineToMonster={centerPoint,centerPoint+vf2d{cos(randomDir),sin(randomDir)}*1};
}
game->GetPlayer()->Knockback(lineToMonster.vector().norm()*knockbackFactor);
Knockback(lineToMonster.vector().norm()*knockbackFactor);
}

@ -233,6 +233,7 @@ private:
vf2d mountedSprOffset{};
private:
struct STRATEGY{
static std::string ERR;
static int _GetInt(Monster&m,std::string param,std::string strategy,int index=0);
static float _GetFloat(Monster&m,std::string param,std::string strategy,int index=0);
static Pixel _GetPixel(Monster&m,std::string param,std::string strategy,int index=0);

@ -42,6 +42,8 @@ All rights reserved.
INCLUDE_DATA
INCLUDE_STRATEGY_DATA
std::string Monster::STRATEGY::ERR{};
void Monster::InitializeStrategies(){
STRATEGY_DATA.insert("Run Towards",Monster::STRATEGY::RUN_TOWARDS);
STRATEGY_DATA.insert("Shoot Afar",Monster::STRATEGY::SHOOT_AFAR);
@ -103,7 +105,7 @@ const std::string&Monster::STRATEGY::_GetString(Monster&m,std::string param,std:
return DATA["MonsterStrategy"][strategy].GetProperty(param).GetString(index);
}else{
ERR(std::format("Monster {} trying to read non-existent String Property {}[{}] for Strategy {}. THIS SHOULD NOT BE HAPPENING!",m.GetName(),param,index,strategy))
return{};
return ERR;
}
}
vf2d Monster::STRATEGY::_GetVec(Monster&m,std::string param,std::string strategy,int index){
@ -131,7 +133,7 @@ const datafile&Monster::STRATEGY::_Get(Monster&m,std::string param,std::string s
return DATA["MonsterStrategy"][strategy].GetProperty(param);
}else{
ERR(std::format("Monster {} trying to read non-existent Data Property {} for Strategy {}",m.GetName(),param,strategy));
return{};
return DATA;
}
}
Pixel Monster::STRATEGY::_GetPixel(Monster&m,std::string param,std::string strategy,int index){

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_PATCH 0
#define VERSION_BUILD 9237
#define VERSION_BUILD 9247
#define stringify(a) stringify_(a)
#define stringify_(a) #a

@ -13,6 +13,12 @@ Events
# Specify file names, followed by volume %. Optional min and max pitch adjustment (Defaults are 90%,110%)
File[0] = bear_slam.ogg, 70%
}
Bomb Explode
{
CombatSound = True
# Specify file names, followed by volume %. Optional min and max pitch adjustment (Defaults are 90%,110%)
File[0] = bomb_explosion.ogg, 100%
}
Button Click
{
# Specify file names, followed by volume %. Optional min and max pitch adjustment (Defaults are 90%,110%)

Loading…
Cancel
Save