summaryrefslogtreecommitdiff
path: root/src/bossRamboo.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bossRamboo.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/bossRamboo.cpp b/src/bossRamboo.cpp
index ea62a9e..0e04bfe 100644
--- a/src/bossRamboo.cpp
+++ b/src/bossRamboo.cpp
@@ -287,6 +287,8 @@ void daRamboo_c::updateModelMatrices() {
void daRamboo_c::beginState_Grow() {
this->timer = 0;
+ bindAnimChr_and_setUpdateRates("begin_boss_b", anmB, hideModel, 1.0f);
+ PlaySound(this, SE_EMY_TERESA);
SetupKameck(this, Kameck);
}
@@ -297,14 +299,18 @@ void daRamboo_c::executeState_Grow() {
bool ret;
ret = GrowBoss(this, Kameck, 1.0, 15.0, 0, this->timer);
- if (timer == 421) {
- bindAnimChr_and_setUpdateRates("begin_boss_b", anmB, hideModel, 1.0f);
+ if (timer == 450) {
+ Hiding = false;
+ nw4r::snd::SoundHandle handle;
+ PlaySoundWithFunctionB4(SoundRelatedClass, &handle, SE_EMY_CS_TERESA_BRING_IT, 1);
+ bindAnimChr_and_setUpdateRates("begin_boss", anmA, bodyModel, 1.0f);
}
- if (ret)
+ if (Hiding)
hideModel._vf1C();
- if (ret && anmB.isAnimationDone()) {
- PlaySound(this, SE_EMY_CS_TERESA_BRING_IT);
+ else
+ bodyModel._vf1C();
+ if (ret && anmA.isAnimationDone()) {
Hiding = 0;
doStateChange(&StateID_Advance);
}
@@ -463,7 +469,7 @@ void daRamboo_c::endState_Flee() {
void daRamboo_c::beginState_Outro() {
- bindAnimChr_and_setUpdateRates("shay_teresaB_wait", anmB, hideModel, 1.0f);
+ bindAnimChr_and_setUpdateRates("DEATH", anmB, hideModel, 1.0f);
this->timer = 0;
this->rot.x = 0x0; // X is vertical axis
@@ -473,6 +479,7 @@ void daRamboo_c::beginState_Outro() {
OutroSetup(this);
}
void daRamboo_c::executeState_Outro() {
+ hideModel._vf1C();
if (this->anmB.isAnimationDone())
this->anmB.setCurrentFrame(0.0);
@@ -491,21 +498,20 @@ void daRamboo_c::executeState_Outro() {
bool ret;
Vec tempPos = (Vec){this->pos.x + 160.0, this->pos.y - 80.0, 5500.0};
- ret = ShrinkBoss(this, &tempPos, 15.0, this->timer);
+ ret = ShrinkBoss(this, &tempPos, 0.0, this->timer);
pos.y -= 2.0;
- if (ret) {
+ if (timer > 80) {
BossExplode(this, &tempPos);
this->dying = 1;
this->timer = 0;
}
- else if (timer % 15 == 0) {
+ else if (timer == 20) {
nw4r::snd::SoundHandle handle;
PlaySoundWithFunctionB4(SoundRelatedClass, &handle, SE_EMY_BIG_TERESA_DEAD, 1);
}
timer = timer + 1;
- OSReport("Timer: %d", timer);
}
void daRamboo_c::endState_Outro() { }