summaryrefslogtreecommitdiff
path: root/src/bossKoopaThrow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bossKoopaThrow.cpp')
-rw-r--r--src/bossKoopaThrow.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/bossKoopaThrow.cpp b/src/bossKoopaThrow.cpp
index a8e1b0a..85c96ca 100644
--- a/src/bossKoopaThrow.cpp
+++ b/src/bossKoopaThrow.cpp
@@ -91,15 +91,22 @@ CREATE_STATE(daKoopaThrow, Straight);
extern "C" void *PlayWrenchSound(dEn_c *);
-
+extern "C" void *dAcPy_c__ChangePowerupWithAnimation(void * Player, int powerup);
+extern "C" int CheckExistingPowerup(void * Player);
void daKoopaThrow::playerCollision(ActivePhysics *apThis, ActivePhysics *apOther) {
if (Type == 5) {
PlaySoundAsync(this, currentInfo->breakSound);
SpawnEffect(currentInfo->deathEffect, 0, &this->pos, &(S16Vec){0,0,0}, &(Vec){3.0, 3.0, 3.0});
- dStageActor_c *spawned = CreateActor(EN_ITEM, 0x20000063, this->pos, 0, 0);
- spawned->pos.x = this->pos.x;
- spawned->pos.y = this->pos.y;
+ // dStageActor_c *spawned = CreateActor(EN_ITEM, 0x20000063, this->pos, 0, 0);
+ // spawned->pos.x = this->pos.x;
+ // spawned->pos.y = this->pos.y;
+
+ int p = CheckExistingPowerup(apOther->owner);
+ if (p == 0 || p == 3) { // Powerups - 0 = small; 1 = big; 2 = fire; 3 = mini; 4 = prop; 5 = peng; 6 = ice; 7 = hammer
+ dAcPy_c__ChangePowerupWithAnimation(apOther->owner, 1);
+ }
+
this->Delete(1);
return;