summaryrefslogtreecommitdiff
path: root/src/fakeStarCoin.cpp
diff options
context:
space:
mode:
authorColin Noga <Tempus@Spectrum-Song.local>2011-10-22 03:28:23 -0500
committerColin Noga <Tempus@Spectrum-Song.local>2011-10-22 03:28:23 -0500
commit481585f8747707bb1aee196672edc7a926ae0611 (patch)
tree15136e0af7890899e4ccf848444f5d69fd47a7ae /src/fakeStarCoin.cpp
parent6c1a8f456a41e03f94811937f1fc62013b91cb54 (diff)
downloadkamek-481585f8747707bb1aee196672edc7a926ae0611.tar.gz
kamek-481585f8747707bb1aee196672edc7a926ae0611.zip
Lots of boss updates
Diffstat (limited to '')
-rw-r--r--src/fakeStarCoin.cpp52
1 files changed, 51 insertions, 1 deletions
diff --git a/src/fakeStarCoin.cpp b/src/fakeStarCoin.cpp
index fb0df72..a845e45 100644
--- a/src/fakeStarCoin.cpp
+++ b/src/fakeStarCoin.cpp
@@ -30,6 +30,12 @@ class daFakeStarCoin : public dEn_c {
void updateModelMatrices();
void playerCollision(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther);
+ bool collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther);
+
};
@@ -41,6 +47,50 @@ void daFakeStarCoin::playerCollision(ActivePhysics *apThis, ActivePhysics *apOth
this->Delete();
}
+void daFakeStarCoin::collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther) {
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 336);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){3.0, 3.0, 3.0}, 342);
+
+ PlaySound(this, SE_EMY_FIRE_SNAKE_BIGGER);
+
+ this->Delete();
+}
+bool daFakeStarCoin::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) {
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.5, 1.5, 1.5}, 44);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 231);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.5, 1.5, 1.5}, 235);
+
+ PlaySound(this, SE_OBJ_PNGN_ICE_BREAK);
+
+ this->Delete();
+ return false;
+}
+void daFakeStarCoin::collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther) {
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 48);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 378);
+
+ PlaySound(this, SE_BOSS_JR_FLOOR_BREAK);
+
+ this->Delete();
+}
+void daFakeStarCoin::collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther) {
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 48);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 378);
+
+ PlaySound(this, SE_BOSS_JR_FLOOR_BREAK);
+
+ this->Delete();
+}
+void daFakeStarCoin::collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther) {
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}, 336);
+ CreateEffect(&this->pos, &(S16Vec){0,0,0}, &(Vec){3.0, 3.0, 3.0}, 342);
+
+ PlaySound(this, SE_EMY_FIRE_SNAKE_BIGGER);
+
+ this->Delete();
+}
+
+
daFakeStarCoin *daFakeStarCoin::build() {
@@ -67,7 +117,7 @@ int daFakeStarCoin::onCreate() {
HitMeBaby.category1 = 0x5;
HitMeBaby.category2 = 0x0;
HitMeBaby.bitfield1 = 0x4F;
- HitMeBaby.bitfield2 = 0x200;
+ HitMeBaby.bitfield2 = 0xFFFFFFFF;
HitMeBaby.unkShort1C = 0;
HitMeBaby.callback = &dEn_c::collisionCallback;