Fix a bug with stone elemental burrow rise bullet ring color not respecting the configuration value. Add bullet rings to chapter 2 boss pillars when they are broken. Release Build 9678.

mac-build
sigonasr2 5 months ago
parent e56b0c1445
commit db515cca4c
  1. 11
      Adventures in Lestoria/BreakingPillar.cpp
  2. 8
      Adventures in Lestoria/Chapter_2_Boss.txt
  3. 2
      Adventures in Lestoria/Stone_Elemental.cpp
  4. 2
      Adventures in Lestoria/Version.h
  5. 7
      Adventures in Lestoria/assets/config/MonsterStrategies.txt
  6. BIN
      x64/Release/Adventures in Lestoria.exe

@ -36,9 +36,9 @@ All rights reserved.
*/ */
#pragma endregion #pragma endregion
#include "Monster.h"
#include "MonsterStrategyHelpers.h" #include "MonsterStrategyHelpers.h"
#include "config.h" #include "util.h"
#include "AdventuresInLestoria.h"
using A=Attribute; using A=Attribute;
@ -50,9 +50,14 @@ void Monster::STRATEGY::BREAKING_PILLAR(Monster&m,float fElapsedTime,std::string
m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 1 Animation Name")); m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 1 Animation Name"));
}else m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 2 Animation Name")); }else m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 2 Animation Name"));
m.SetStrategyDeathFunction([](GameEvent&deathEvent,Monster&m,const std::string&monsterName){ m.SetStrategyDeathFunction([&](GameEvent&deathEvent,Monster&m,const std::string&strategy){
m.lifetime=0.01f; m.lifetime=0.01f;
m.B(A::MARKED_DEAD)=true; m.B(A::MARKED_DEAD)=true;
const float bulletAngRandomOffset{util::random(PI/2)};
for(int i=0;i<ConfigInt("Death Ring Bullet Count");i++){
const float bulletAngle=((2*PI)/ConfigInt("Death Ring Bullet Count"))*i+bulletAngRandomOffset;
CreateBullet(Bullet)(m.GetPos(),vf2d{ConfigFloat("Death Ring Bullet Speed"),bulletAngle}.cart(),ConfigFloat("Death Ring Bullet Size"),ConfigInt("Death Ring Bullet Damage"),m.OnUpperLevel(),false,ConfigPixel("Death Ring Bullet Color"),vf2d{ConfigFloat("Death Ring Bullet Size")/3,ConfigFloat("Death Ring Bullet Size")/3})EndBullet;
}
return false; return false;
}); });
} }

@ -44,17 +44,17 @@ The Boss continues with its normal behaviour while the pillars are getting caste
every Pillar that breaks Casts a ring of projectiles on death (15 dmg) >every Pillar that breaks Casts a ring of projectiles on death (15 dmg)
The golem attacks similar like bear boss but with half the radius on the attack. (35 dmg) >The golem attacks similar like bear boss but with half the radius on the attack. (35 dmg)
after every attack there is a 25% chance The Stone golem targets the Player. the targeting gets Indicated around the player. >after every attack there is a 25% chance The Stone golem targets the Player. the targeting gets Indicated around the player.
after 2.5 seconds the golems throws a giant rock with 250 radius on the players position. Damaging the player and destroying Pillars hit. (55 dmg) >after 2.5 seconds the golems throws a giant rock with 250 radius on the players position. Damaging the player and destroying Pillars hit. (55 dmg)
Stone Throw cant overlap with shockwave. when a 10% mark is reached while a rock is targeting the player, Shockwave cast starts after the rock was thrown. Stone Throw cant overlap with shockwave. when a 10% mark is reached while a rock is targeting the player, Shockwave cast starts after the rock was thrown.

@ -202,7 +202,7 @@ void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string
const float bulletAngRandomOffset{util::random(PI/2)}; const float bulletAngRandomOffset{util::random(PI/2)};
for(int i=0;i<ConfigInt("Burrow Ring Bullet Count");i++){ for(int i=0;i<ConfigInt("Burrow Ring Bullet Count");i++){
const float bulletAngle=((2*PI)/ConfigInt("Burrow Ring Bullet Count"))*i+bulletAngRandomOffset; const float bulletAngle=((2*PI)/ConfigInt("Burrow Ring Bullet Count"))*i+bulletAngRandomOffset;
CreateBullet(Bullet)(m.GetPos(),vf2d{ConfigFloat("Burrow Ring Bullet Speed"),bulletAngle}.cart(),ConfigFloat("Burrow Ring Bullet Size"),ConfigInt("Burrow Ring Bullet Damage"),m.OnUpperLevel(),false,{96,0,120},vf2d{ConfigFloat("Burrow Ring Bullet Size")/3,ConfigFloat("Burrow Ring Bullet Size")/3})EndBullet; CreateBullet(Bullet)(m.GetPos(),vf2d{ConfigFloat("Burrow Ring Bullet Speed"),bulletAngle}.cart(),ConfigFloat("Burrow Ring Bullet Size"),ConfigInt("Burrow Ring Bullet Damage"),m.OnUpperLevel(),false,ConfigPixel("Burrow Ring Bullet Color"),vf2d{ConfigFloat("Burrow Ring Bullet Size")/3,ConfigFloat("Burrow Ring Bullet Size")/3})EndBullet;
} }
} }
}break; }break;

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 2 #define VERSION_MINOR 2
#define VERSION_PATCH 3 #define VERSION_PATCH 3
#define VERSION_BUILD 9675 #define VERSION_BUILD 9678
#define stringify(a) stringify_(a) #define stringify(a) stringify_(a)
#define stringify_(a) #a #define stringify_(a) #a

@ -939,5 +939,12 @@ MonsterStrategy
Break Phase 1 Animation Name = BREAK1 Break Phase 1 Animation Name = BREAK1
Break Phase 2 HP % Threshold = below 34% Break Phase 2 HP % Threshold = below 34%
Break Phase 2 Animation Name = BREAK2 Break Phase 2 Animation Name = BREAK2
Death Ring Bullet Count = 24
Death Ring Bullet Speed = 140
Death Ring Bullet Damage = 15
Death Ring Bullet Size = 8
# RGBA
Death Ring Bullet Color = 255, 255, 255, 255
} }
} }
Loading…
Cancel
Save