diff options
Diffstat (limited to 'src/bossSamurshai.cpp')
-rw-r--r-- | src/bossSamurshai.cpp | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/src/bossSamurshai.cpp b/src/bossSamurshai.cpp index 6bcabb5..eecb799 100644 --- a/src/bossSamurshai.cpp +++ b/src/bossSamurshai.cpp @@ -279,7 +279,7 @@ int daSamurshai::onCreate() { speed.x = 0.0; speed.y = 0.0; - XSpeed = 2.0; + XSpeed = 2.5; max_speed.x = 50.0; initialPos = pos; topHurts = false; @@ -419,38 +419,39 @@ void daSamurshai::updateModelMatrices() { this->timer += 1; OSReport("Timer: %d", timer); - if (timer == 130) { bindAnimChr_and_setUpdateRate("c18_H_CUT_R", 1, 0.0, 1.0); } + if (timer == 230) { bindAnimChr_and_setUpdateRate("c18_H_CUT_R", 1, 0.0, 1.0); } - if ((timer > 120) && (timer < 140)) { + if ((timer > 220) && (timer < 240)) { pos.x += (224.0 / 20.0); pos.y -= (320.0 / 20.0); } - if (timer == 130) { + if (timer == 230) { SpawnEffect("Wm_en_hanapetal", 0, &pos, &(S16Vec){0,0,0}, &(Vec){1.5, 1.5, 1.5}); SpawnEffect("Wm_ob_itemget_ring", 0, &(Vec){pos.x, pos.y + 16.0, pos.z}, &(S16Vec){0,0,0}, &(Vec){8.0, 0.1, 1.5}); - PlaySound(this, SE_EMY_SR_KILLER_SHOT); + PlaySound(this, SE_OBJ_WOOD_BOX_BREAK); + PlaySound(this, SE_BOSS_KAMECK_DOWN); this->Kameck->doStateChange(&daKameckDemo::StateID_DieFall); } - if ((timer > 130) && (timer < 190)) { - Kameck->pos.x += (200.0 / 60.0); - Kameck->pos.y -= (260.0 / 60.0); + if ((timer > 230) && (timer < 350)) { + Kameck->pos.x += (200.0 / 120.0); + Kameck->pos.y -= (260.0 / 120.0); } int done = 0; - if ((timer > 260) && (done == 0)) { + if ((timer > 360) && (done == 0)) { u16 amt = (this->direction == 0) ? 0x2800 : 0xD800; done = SmoothRotation(&this->rot.y, amt, 0x2000); } - if (timer == 340) { bindAnimChr_and_setUpdateRate("c18_IDLE_R", 1, 0.0, 1.0); } + if (timer == 440) { bindAnimChr_and_setUpdateRate("c18_IDLE_R", 1, 0.0, 1.0); } // if (timer == 130) { actor->Kameck->doStateChange(&daKameckDemo::StateID_DemoSt); } // if (timer == 400) { actor->Kameck->doStateChange(&daKameckDemo::StateID_DemoSt2); } - if (timer == 430) { + if (timer == 530) { // PlaySound(this, SE_EMY_KURI_CHANGE_BIG); doStateChange(&StateID_Walk); } @@ -599,7 +600,7 @@ void daSamurshai::updateModelMatrices() { } if(this->chrAnimation.isAnimationDone()) { - PlaySoundAsync(this, SE_EMY_BIG_PAKKUN_DAMAGE_1); + PlaySoundAsync(this, SE_OBJ_WOOD_BOX_BREAK); doStateChange(&StateID_Walk); } } @@ -690,7 +691,7 @@ void daSamurshai::updateModelMatrices() { // Uppercut State /////////////// void daSamurshai::beginState_Uppercut() { - bindAnimChr_and_setUpdateRate("c18_H_SHOT_R", 1, 0.0, 1.0); + bindAnimChr_and_setUpdateRate("c18_H_SHOT_R", 1, 0.0, 2.0); slowDown = false; } void daSamurshai::executeState_Uppercut() { @@ -706,6 +707,7 @@ void daSamurshai::updateModelMatrices() { if (this->chrAnimation.getCurrentFrame() == 34.0) { topHurts = true; PlaySoundAsync(this, SE_EMY_CRASHER_PUNCH); + PlaySoundAsync(this, SE_BOSS_CMN_JUMP_M); speed.y = 4.0; y_speed_inc = -0.1875; @@ -733,7 +735,7 @@ void daSamurshai::updateModelMatrices() { Knuckles.removeFromList(); } - PlaySoundAsync(this, SE_EMY_BIG_PAKKUN_DAMAGE_1); + PlaySoundAsync(this, SE_OBJ_WOOD_BOX_BREAK); topHurts = false; } } @@ -817,12 +819,12 @@ void daSamurshai::updateModelMatrices() { Knuckles.removeFromList(); SpawnEffect("Wm_ob_switch", 0, &(Vec){pos.x, pos.y + 16.0, pos.z}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); - + PlaySoundAsync(this, SE_BOSS_CMN_DAMAGE_DEF); } void daSamurshai::executeState_Damage() { calculateTileCollisions(); - effect.spawn("Wm_en_spindamage", 0, &(Vec){pos.x, pos.y + 24.0, 0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + effect.spawn("Wm_en_spindamage", 0, &(Vec){pos.x, pos.y + 40.0, 0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); if (this->chrAnimation.isAnimationDone()) { if (timer == 0) { bindAnimChr_and_setUpdateRate("c18_L_DMG_F_3_R", 1, 0.0, 1.0); timer = 1; } @@ -857,6 +859,8 @@ void daSamurshai::updateModelMatrices() { Chuckles.removeFromList(); Knuckles.removeFromList(); + + PlaySoundAsync(this, SE_BOSS_CMN_DAMAGE_LAST); } void daSamurshai::executeState_Outro() { @@ -870,15 +874,16 @@ void daSamurshai::updateModelMatrices() { } if ((chrAnimation.getCurrentFrame() == 41.0) || (chrAnimation.getCurrentFrame() == 62.0)) { - PlaySoundAsync(this, SE_EMY_CRASHER_PUNCH); SpawnEffect("Wm_en_landsmoke_s", 0, &(Vec){pos.x, pos.y - 8.0, pos.z + 500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); } if (chrAnimation.isAnimationDone()) { - PlaySoundAsync(this, SE_EMY_CRASHER_PUNCH); SpawnEffect("Wm_ob_cmnshotstar", 0, &(Vec){pos.x + 8.0, pos.y - 8.0, pos.z + 500.0}, &(S16Vec){0,0,0}, &(Vec){1.75, 1.75, 1.75}); SpawnEffect("Wm_mr_wirehit_hit", 0, &(Vec){pos.x + 8.0, pos.y, pos.z + 500.0}, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + PlaySound(actor, STRM_BGM_SHIRO_BOSS_CLEAR); + MakeMarioEnterDemoMode(); + this->dying = 1; this->timer = 0; } |