summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/meteor.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/meteor.cpp b/src/meteor.cpp
index 352e66b..9e8c450 100755
--- a/src/meteor.cpp
+++ b/src/meteor.cpp
@@ -54,10 +54,21 @@ void MeteorPhysicsCallback(dMeteor *self, dEn_c *other) {
if (other->name == 657) {
OSReport("CANNON COLLISION");
- SpawnEffect("Wm_en_burst_m", 0, &other->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0});
+ SpawnEffect("Wm_en_explosion", 0, &other->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0});
+ SpawnEffect("Wm_en_explosion_smk", 0, &other->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0});
PlaySound(other, SE_OBJ_TARU_BREAK);
other->Delete(1);
+ switch ((self->settings >> 24) & 3) {
+ case 1:
+ dStageActor_c::create(EN_HATENA_BALLOON, 0x100, &self->pos, 0, self->currentLayerID);
+ break;
+ case 2:
+ VEC3 coinPos = {self->pos.x - 16.0f, self->pos.y, self->pos.z};
+ dStageActor_c::create(EN_COIN, 9, &coinPos, 0, self->currentLayerID);
+ break;
+ }
+
self->kill();
}
}
@@ -125,7 +136,7 @@ int dMeteor::onCreate() {
MakeItRound.addToList();
- this->pos.z = 3458.0;
+ this->pos.z = (settings & 0x1000000) ? -2000.0f : 3458.0f;
this->onExecute();
return true;