Last curse phase does not spawn a coin and immediately applies the curse. Release Build 12250.
All checks were successful
Emscripten Build / Build_and_Deploy_Web_Build (push) Successful in 6m38s
All checks were successful
Emscripten Build / Build_and_Deploy_Web_Build (push) Successful in 6m38s
This commit is contained in:
parent
a22179f692
commit
e780d2b48e
@ -234,20 +234,25 @@ void Monster::STRATEGY::GHOST_OF_PIRATE_CAPTAIN(Monster&m,float fElapsedTime,std
|
||||
m.F(A::TOSS_COIN_WAIT_TIMER)-=fElapsedTime;
|
||||
if(m.F(A::TOSS_COIN_WAIT_TIMER)<=0.f){
|
||||
const float curseDmgPctOverTime{ConfigFloat("Curse Damage")};
|
||||
game->GetPlayer()->AddBuff(BuffType::PIRATE_GHOST_CAPTAIN_PRECURSE,ConfigFloat("Curse Damage Wait Time"),ceil(game->GetPlayer()->GetMaxHealth()*ConfigFloat("Curse Damage")/100.f)+1,[curseDmgPctOverTime](Player*attachedTarget,Buff&b){
|
||||
attachedTarget->AddBuff(BuffType::PIRATE_GHOST_CAPTAIN_CURSE_DOT,BuffRestorationType::OVER_TIME,BuffOverTimeType::HP_PCT_DAMAGE_OVER_TIME,INFINITY,curseDmgPctOverTime,1.f);
|
||||
});
|
||||
game->SpawnMonster(m.V(A::TOSS_COIN_TARGET),MONSTER_DATA["Pirate's Coin"],m.OnUpperLevel());
|
||||
const bool OnLastCursePhase{Config("Curse Thresholds").GetValueCount()==m.I(A::CURSE_THRESHOLD_ARRAY_IND)};
|
||||
if(OnLastCursePhase){ //Permanent Curse for the rest of the fight.
|
||||
game->GetPlayer()->AddBuff(BuffType::PIRATE_GHOST_CAPTAIN_CURSE_DOT,BuffRestorationType::OVER_TIME,BuffOverTimeType::HP_PCT_DAMAGE_OVER_TIME,INFINITY,curseDmgPctOverTime,1.f);
|
||||
}else{
|
||||
game->GetPlayer()->AddBuff(BuffType::PIRATE_GHOST_CAPTAIN_PRECURSE,ConfigFloat("Curse Damage Wait Time"),ceil(game->GetPlayer()->GetMaxHealth()*ConfigFloat("Curse Damage")/100.f)+1,[curseDmgPctOverTime](Player*attachedTarget,Buff&b){
|
||||
attachedTarget->AddBuff(BuffType::PIRATE_GHOST_CAPTAIN_CURSE_DOT,BuffRestorationType::OVER_TIME,BuffOverTimeType::HP_PCT_DAMAGE_OVER_TIME,INFINITY,curseDmgPctOverTime,1.f);
|
||||
});
|
||||
game->SpawnMonster(m.V(A::TOSS_COIN_TARGET),MONSTER_DATA["Pirate's Coin"],m.OnUpperLevel());
|
||||
}
|
||||
m.SetupAfterImage();
|
||||
m.afterImagePos=m.GetPos();
|
||||
m.SetPos(m.V(A::HIDING_POS));
|
||||
m.SetVelocity({});
|
||||
m.arrowIndicator=false; //While the boss is hiding, the indicator will not show up.
|
||||
m.SetStrategyOnHitFunction([&m,&strategy](const HurtDamageInfo damageData,Monster&monster,const StrategyName&strategyName)->void{
|
||||
m.SetStrategyOnHitFunction([&m,&OnLastCursePhase](const HurtDamageInfo damageData,Monster&monster,const StrategyName&strategyName)->void{
|
||||
m.SetPhase(strategyName,NORMAL);
|
||||
m.arrowIndicator=true;
|
||||
m.SetStrategyOnHitFunction({});
|
||||
if(Config("Curse Thresholds").GetValueCount()==m.I(A::CURSE_THRESHOLD_ARRAY_IND)){
|
||||
if(OnLastCursePhase){
|
||||
const std::string_view PIRATES_TREASURE{"Pirate's Treasure"};
|
||||
for(std::shared_ptr<Monster>&m:MONSTER_LIST
|
||||
|std::views::filter([&PIRATES_TREASURE](std::shared_ptr<Monster>&m){return m->GetStrategyName()==PIRATES_TREASURE;})){
|
||||
|
@ -39,7 +39,7 @@ All rights reserved.
|
||||
#define VERSION_MAJOR 1
|
||||
#define VERSION_MINOR 3
|
||||
#define VERSION_PATCH 0
|
||||
#define VERSION_BUILD 12249
|
||||
#define VERSION_BUILD 12250
|
||||
|
||||
#define stringify(a) stringify_(a)
|
||||
#define stringify_(a) #a
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user