| 452 | } |
| 453 | |
| 454 | static void StartObject(ObjectInfo* obj) |
| 455 | { |
| 456 | InitProjectile(obj, ControlMissile, ID_SCUBA_HARPOON); |
| 457 | |
| 458 | obj = &Objects[ID_BOSS_SHIELD]; |
| 459 | if (obj->loaded) |
| 460 | { |
| 461 | obj->Initialize = nullptr; |
| 462 | obj->collision = ObjectCollision; |
| 463 | obj->control = ShieldControl; |
| 464 | obj->shadowType = ShadowMode::None; |
| 465 | } |
| 466 | |
| 467 | obj = &Objects[ID_BOSS_EXPLOSION_RING]; |
| 468 | if (obj->loaded) |
| 469 | { |
| 470 | obj->Initialize = nullptr; |
| 471 | obj->collision = nullptr; |
| 472 | obj->control = ShockwaveRingControl; |
| 473 | obj->shadowType = ShadowMode::None; |
| 474 | } |
| 475 | |
| 476 | obj = &Objects[ID_BOSS_EXPLOSION_SHOCKWAVE]; |
| 477 | if (obj->loaded) |
| 478 | { |
| 479 | obj->Initialize = nullptr; |
| 480 | obj->collision = nullptr; |
| 481 | obj->control = ShockwaveExplosionControl; |
| 482 | obj->shadowType = ShadowMode::None; |
| 483 | } |
| 484 | |
| 485 | obj = &Objects[ID_CORPSE]; |
| 486 | if (obj->loaded) |
| 487 | { |
| 488 | obj->Initialize = InitializeCorpse; |
| 489 | obj->collision = CreatureCollision; |
| 490 | obj->damageType = DamageMode::None; |
| 491 | obj->control = ControlCorpse; |
| 492 | obj->HitRoutine = HitCorpse; |
| 493 | obj->HitPoints = NOT_TARGETABLE; |
| 494 | obj->shadowType = ShadowMode::None; |
| 495 | obj->SetHitEffect(); |
| 496 | } |
| 497 | } |
| 498 | |
| 499 | static void StartTrap(ObjectInfo* obj) |
| 500 | { |
no test coverage detected