1#include "Game/MapObj/BenefitItemInvincible.hpp"
5 const f32 cAppearThrowFwdSpd = 5.0f;
6 const f32 cAppearThrowUpSpd = 10.0f;
7 const f32 cBoundUpSpd = 20.0f;
10BenefitItemInvincible::BenefitItemInvincible(
const char *pName) :
BenefitItemObj(pName,
"PowerupInvincible") {
11 if (MR::isGalaxyDarkCometAppearInCurrentStage()) {
16void BenefitItemInvincible::exeCatch() {
17 MR::startSystemSE(
"SE_SY_POWER_UP_2", -1, -1);
19 MR::changePlayerItemStatus(7);
28 MR::setShadowVolumeCylinderRadius(
this,
nullptr, 60.0f);
34 _148.set<f32>(axis_z);
37 _13C.set<f32>(axis_y);
41void BenefitItemInvincible::initModelAndEfx() {
42 initModelManagerWithAnm(_120,
nullptr,
false);
43 initEffectKeeper(5,
"BenefitItemObj",
false);
44 initBinder(60.0f, 60.0f, 0);
50 MR::addHitSensorMapObj(
this,
"body", 4, 60.0f, offs);
51 MR::startBrk(
this,
"PowerupInvincible");
72void BenefitItemInvincible::runEfx(
const char *pEffect) {
74 if (!strcmp(pEffect,
"Glow")) {
76 strcat(str,
"PowerUpInvincible");
77 MR::emitEffect(
this, str);
81void BenefitItemInvincible::stopEfx(
const char *pEffect) {
83 if (!strcmp(pEffect,
"Glow")) {
85 strcat(str,
"PowerUpInvincible");
86 MR::emitEffect(
this, str);
90BenefitItemInvincible::~BenefitItemInvincible() {
94void BenefitItemInvincible::runBck(
const char *) {
98namespace NrvBenefitItemObj {
99 INIT_NERVE(HostTypeNrvWait);
100 INIT_NERVE(HostTypeNrvShoot);
101 INIT_NERVE(HostTypeNrvCatch);
102 INIT_NERVE(HostTypeNrvAppearGround);
103 INIT_NERVE(HostTypeNrvPreEscape);
104 INIT_NERVE(HostTypeNrvEscape);
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.
TVec3f mRotation
3D vector of the actor's rotation.