diff options
Diffstat (limited to 'src/bossPodouble.cpp')
-rw-r--r-- | src/bossPodouble.cpp | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/bossPodouble.cpp b/src/bossPodouble.cpp index 26c20a9..d2cb3e3 100644 --- a/src/bossPodouble.cpp +++ b/src/bossPodouble.cpp @@ -340,8 +340,43 @@ int daPodouble::onDraw() { } void daPodouble::executeState_Grow() { - + this->timer += 1; + + if (isFire) { + float scaleSpeed; + + if (timer == 150) { PlaySound(this, SE_BOSS_IGGY_WANWAN_TO_L); OSReport("Timer = 150\n"); } + + if ((timer > 150) && (timer < 230)) { + scaleSpeed = (3.5 - 1.0) / 80.0; + + float modifier; + + modifier = 1.0 + ((timer - 150) * scaleSpeed); + + this->scale = (Vec){modifier, modifier, modifier}; + this->pos.y = this->pos.y + (18/80.0); + } + + if (timer == 360) { + Vec tempPos = (Vec){this->pos.x - 40.0, this->pos.y + 120.0, 3564.0}; + SpawnEffect("Wm_ob_greencoinkira", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_mr_yoshiicehit_a", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_mr_yoshiicehit_b", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_ob_redringget", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_ob_keyget01", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_ob_greencoinkira_a", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + SpawnEffect("Wm_ob_keyget01_c", 0, &tempPos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); + } + + if (timer > 420) { + PlaySound(this, SE_EMY_CS_MOVE_W8_BUBBLE_APP); + doStateChange(&StateID_Bounce); + } + + return; + } bool ret; ret = GrowBoss(this, Kameck, 1.0, 3.5, 18, this->timer); |