|
|
|
@ -52,6 +52,7 @@ void Monster::STRATEGY::GIANT_OCTOPUS(Monster&m,float fElapsedTime,std::string s |
|
|
|
|
INIT, |
|
|
|
|
IDENTIFY_ARMS, |
|
|
|
|
NORMAL, |
|
|
|
|
HURT_ANIMATION, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
if(!m.B(A::ARM_SPEEDS_INCREASED)&&m.GetHealth()<=ConfigInt("Arm Speedup Health Threshold")){ |
|
|
|
@ -67,8 +68,16 @@ void Monster::STRATEGY::GIANT_OCTOPUS(Monster&m,float fElapsedTime,std::string s |
|
|
|
|
|
|
|
|
|
switch(PHASE()){ |
|
|
|
|
case INIT:{ |
|
|
|
|
std::string takoyakiImgDir{"item_img_directory"_S+"Takoyaki.png"}; |
|
|
|
|
if(GFX.count(takoyakiImgDir))ERR(std::format("WARNING! Could not find item image {}",takoyakiImgDir)); |
|
|
|
|
m.F(A::BREAK_TIME)=0.5f; |
|
|
|
|
m.AddBuff(BuffType::DAMAGE_REDUCTION,INFINITE,ConfigFloat("Permanent Resistance Buff")/100.f); |
|
|
|
|
m.SetStrategyDeathFunction([](GameEvent&event,Monster&m,const std::string&strategy){ |
|
|
|
|
std::string takoyakiImgDir{"item_img_directory"_S+"Takoyaki.png"}; |
|
|
|
|
if(GFX.count(takoyakiImgDir))ERR(std::format("WARNING! Could not find item image {}",takoyakiImgDir)); |
|
|
|
|
game->AddEffect(std::make_unique<Effect>(m.GetPos(),INFINITE,"item_img_directory"_S+"Takoyaki.png",m.OnUpperLevel(),1.f,0.f,vf2d{4.f,4.f},vf2d{},WHITE)); |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
SETPHASE(IDENTIFY_ARMS); |
|
|
|
|
}break; |
|
|
|
|
case IDENTIFY_ARMS:{ |
|
|
|
@ -117,5 +126,8 @@ void Monster::STRATEGY::GIANT_OCTOPUS(Monster&m,float fElapsedTime,std::string s |
|
|
|
|
m.F(A::CASTING_TIMER)=util::random_range(ConfigFloatArr("Arm Move Timer",0),ConfigFloatArr("Arm Move Timer",1)); |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|
case HURT_ANIMATION:{ |
|
|
|
|
|
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |