diff options
Diffstat (limited to '')
-rw-r--r-- | src/shyguyGiants.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/shyguyGiants.cpp b/src/shyguyGiants.cpp index e2532f1..3088825 100644 --- a/src/shyguyGiants.cpp +++ b/src/shyguyGiants.cpp @@ -135,6 +135,21 @@ daShyGuyGiant *daShyGuyGiant::build() { void daShyGuyGiant::playerCollision(ActivePhysics *apThis, ActivePhysics *apOther) { apOther->someFlagByte |= 2; + dStageActor_c *player = apOther->owner; + + if (Player_VF3D4(player)) { + // WE'VE GOT A STAR, FOLKS + if (apThis->_18 == 1 && !player->collMgr.isOnTopOfTile() && player->pos.y > apThis->bottom()) { + bouncePlayer(player, 3.0f); + PlaySound(this, SE_EMY_CMN_STEP); + } else { + dAcPy_vf3F8(player, this, 3); + } + this->counter_504[apOther->owner->which_player] = 0xA; + + return; + } + char hitType; hitType = usedForDeterminingStatePress_or_playerCollision(this, apThis, apOther, 0); if (hitType == 1) { // regular jump @@ -191,7 +206,7 @@ daShyGuyGiant *daShyGuyGiant::build() { return true; } bool daShyGuyGiant::collisionCat3_StarPower(ActivePhysics *apThis, ActivePhysics *apOther){ - int hitType = usedForDeterminingStatePress_or_playerCollision(this, apThis, apOther, 0); + /*int hitType = usedForDeterminingStatePress_or_playerCollision(this, apThis, apOther, 0); if (hitType == 1 || hitType == 3) { PlaySound(this, SE_EMY_CMN_STEP); bouncePlayerWhenJumpedOn(apOther->owner); @@ -200,7 +215,8 @@ daShyGuyGiant *daShyGuyGiant::build() { } this->counter_504[apOther->owner->which_player] = 0xA; - return true; + return true;*/ + return false; } bool daShyGuyGiant::collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther){ |