summaryrefslogtreecommitdiff
path: root/src/bossSamurshai.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bossSamurshai.cpp')
-rw-r--r--src/bossSamurshai.cpp41
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;
}