@ -91,13 +91,12 @@ void Monster::STRATEGY::OCTOPUS_ARM(Monster&m,float fElapsedTime,std::string str
} ) } ;
if ( boss ! = MONSTER_LIST . end ( ) ) {
Monster & bossMonster { * * boss } ;
bossMonster . Hurt ( bossDamageOnDeath , m . OnUpperLevel ( ) , m . GetZ ( ) ) ;
bossMonster . _DealTrueDamage ( bossDamageOnDeath ) ;
}
std : : for_each ( MONSTER_LIST . begin ( ) , MONSTER_LIST . end ( ) , [ & OCTOPUS_ARM_NAME , & strategyName ] ( const std : : shared_ptr < Monster > & m ) {
if ( m - > GetName ( ) = = OCTOPUS_ARM_NAME ) {
m - > PerformAnimation ( " SUBMERGE " ) ;
m - > SetPhase ( strategyName , SUBMERGE ) ;
m - > V ( A : : JUMP_TARGET_POS ) = m - > GetPos ( ) ;
m - > GetFloat ( A : : RECOVERY_TIME ) = m - > GetCurrentAnimation ( ) . GetTotalAnimationDuration ( ) ;
}
} ) ;
@ -110,6 +109,7 @@ void Monster::STRATEGY::OCTOPUS_ARM(Monster&m,float fElapsedTime,std::string str
m . F ( A : : CASTING_TIMER ) - = fElapsedTime ;
if ( m . F ( A : : CASTING_TIMER ) < = 0.f ) {
m . PerformAnimation ( " IDLE " , game - > GetPlayer ( ) - > GetPos ( ) ) ;
m . SetCollisionRadius ( m . GetOriginalCollisionRadius ( ) ) ;
SETPHASE ( SEARCH ) ;
}
} break ;
@ -175,7 +175,9 @@ void Monster::STRATEGY::OCTOPUS_ARM(Monster&m,float fElapsedTime,std::string str
m . F ( A : : RECOVERY_TIME ) - = fElapsedTime ;
if ( m . F ( A : : RECOVERY_TIME ) < = 0.f ) {
m . PerformAnimation ( " RISE " ) ;
LOG ( std : : format ( " Moved from {} " , m . GetPos ( ) . str ( ) ) ) ;
m . SetPos ( m . V ( A : : JUMP_TARGET_POS ) ) ;
LOG ( std : : format ( " to {}. Expected to go to {} " , m . GetPos ( ) . str ( ) , m . V ( A : : JUMP_TARGET_POS ) . str ( ) ) ) ;
m . F ( A : : CASTING_TIMER ) = m . GetCurrentAnimation ( ) . GetTotalAnimationDuration ( ) ;
SETPHASE ( RISE_ANIMATION ) ;
}