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.
This commit is contained in:
parent
3f463bcf2f
commit
b2b1fa81cf
@ -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%)
|
||||
|
BIN
Adventures in Lestoria/assets/sounds/bomb_explosion.ogg
Normal file
BIN
Adventures in Lestoria/assets/sounds/bomb_explosion.ogg
Normal file
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user