@ -69,14 +69,14 @@ void Monster::STRATEGY::SLIMEKING(Monster&m,float fElapsedTime,std::string strat
float angle = ( ( 2 * PI ) / bulletCount ) * i + angleOffset ;
BULLET_LIST . emplace_back ( std : : make_unique < Bullet > ( m . GetPos ( ) , vf2d { cos ( angle ) , sin ( angle ) } * bulletSpd , 6 , ConfigInt ( " ProjectileDamage " ) , m . OnUpperLevel ( ) , false , YELLOW , vf2d { 6 , 6 } ) ) ;
}
SoundEffect : : PlaySFX ( " Slime King Shoot " ) ;
SoundEffect : : PlaySFX ( " Slime King Shoot " , m . GetPos ( ) ) ;
} ;
const auto Landed = [ & ShootBulletRing , & m ] ( int currentPhase ) {
if ( currentPhase = = 1 ) {
ShootBulletRing ( m . F ( A : : SHOOT_RING_OFFSET ) ) ;
}
SoundEffect : : PlaySFX ( " Slime King Land " ) ;
SoundEffect : : PlaySFX ( " Slime King Land " , m . GetPos ( ) ) ;
} ;
const auto TransitionPhase = [ & ] ( int newPhase ) {
@ -291,7 +291,7 @@ void Monster::STRATEGY::SLIMEKING(Monster&m,float fElapsedTime,std::string strat
float angle = ( i - ( bulletCount / 2 ) ) * util : : degToRad ( ConfigFloat ( " Phase2.ShootAngleSpread " ) ) + initialAngle ;
BULLET_LIST . emplace_back ( std : : make_unique < Bullet > ( m . GetPos ( ) , vf2d { cos ( angle ) , sin ( angle ) } * bulletSpd , 6 , ConfigInt ( " ProjectileDamage " ) , m . OnUpperLevel ( ) , false , YELLOW , vf2d { 6 , 6 } ) ) ;
}
SoundEffect : : PlaySFX ( " Slime King Shoot " ) ;
SoundEffect : : PlaySFX ( " Slime King Shoot " , m . GetPos ( ) ) ;
}
if ( m . I ( A : : PATTERN_REPEAT_COUNT ) > ConfigInt ( " Phase2.ShootCount " ) ) {
m . I ( A : : PATTERN_REPEAT_COUNT ) = 0 ;
@ -321,7 +321,7 @@ void Monster::STRATEGY::SLIMEKING(Monster&m,float fElapsedTime,std::string strat
float angle = ( i - ( bulletCount / 2 ) ) * util : : degToRad ( ConfigFloat ( " Phase3.ShootAngleSpread " ) ) + initialAngle ;
BULLET_LIST . emplace_back ( std : : make_unique < Bullet > ( m . GetPos ( ) , vf2d { cos ( angle ) , sin ( angle ) } * bulletSpd , 6 , ConfigInt ( " ProjectileDamage " ) , m . OnUpperLevel ( ) , false , YELLOW , vf2d { 6 , 6 } ) ) ;
}
SoundEffect : : PlaySFX ( " Slime King Shoot " ) ;
SoundEffect : : PlaySFX ( " Slime King Shoot " , m . GetPos ( ) ) ;
} else
if ( m . I ( A : : PATTERN_REPEAT_COUNT ) > = 4 ) {
m . F ( A : : RECOVERY_TIME ) = ConfigFloat ( " Phase3.PhaseRecoveryTime " ) ;
@ -351,7 +351,7 @@ void Monster::STRATEGY::SLIMEKING(Monster&m,float fElapsedTime,std::string strat
float spreadAngle = util : : degToRad ( ConfigFloat ( " Phase4.RandomOffsetAngle " ) ) ;
bulletAngle + = util : : random ( spreadAngle * 2 ) - spreadAngle ;
BULLET_LIST . emplace_back ( std : : make_unique < Bullet > ( m . GetPos ( ) , vf2d { cos ( bulletAngle ) , sin ( bulletAngle ) } * bulletSpd , 6 , ConfigInt ( " ProjectileDamage " ) , m . OnUpperLevel ( ) , false , YELLOW , vf2d { 6 , 6 } ) ) ;
SoundEffect : : PlaySFX ( " Slime King Shoot " ) ;
SoundEffect : : PlaySFX ( " Slime King Shoot " , m . GetPos ( ) ) ;
} else
if ( m . I ( A : : PATTERN_REPEAT_COUNT ) = = 5 ) {
m . I ( A : : PATTERN_REPEAT_COUNT ) + + ;