New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Boss.h
Go to the documentation of this file.
1#pragma once
2
3#include <actor/AttentionMgr.h>
4#include <collision/ActorCollisionCheckMgr.h>
5#include <collision/ActorCollisionDrcTouchCallback.h>
6#include <enemy/Enemy.h>
7#include <enemy/EnemyBoyoMgr.h>
8#include <player/PlayerEnum.h>
9
10class BossDrcTouchCB : public ActorCollisionDrcTouchCallback // vtbl Address: 0x10005E2C
11{
12public:
13 // Address: 0x0202b8c0
14 bool ccSetTouchNormal(ActorCollisionCheck* cc, const sead::Vector2f& pos) override;
15};
16static_assert(sizeof(BossDrcTouchCB) == sizeof(ActorCollisionDrcTouchCallback));
17
18class Boss : public Enemy // vtbl Address: 0x1000562C
19{
20 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9F20
21 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9F24
22 SEAD_RTTI_OVERRIDE(Boss, Enemy)
23
24public:
25 // Address: 0x0202B968
27
28protected:
29 // Address: 0x0202BB68
30 Result create() override;
31 // Address: 0x0202BD0C
33 // Address: 0x0202BDDC
34 void postExecute(MainState state) override;
35
36 Result doDelete() override
37 {
38 AttentionMgr::instance()->release(mAttentionLookat);
39 ActorCollisionCheckMgr::instance()->release(mCollisionCheckDrcTouch);
40 return cResult_Success;
41 }
42
44 {
45 ActorCollisionCheckMgr::instance()->release(mCollisionCheck);
46 ActorCollisionCheckMgr::instance()->release(mCollisionCheckDrcTouch);
47 }
48
50 {
51 ActorCollisionCheckMgr::instance()->entry(mCollisionCheck);
52 ActorCollisionCheckMgr::instance()->entry(mCollisionCheckDrcTouch);
53 }
54
55 // Address: 0x0202CE40
56 bool setTouchDrcDamage_(const sead::Vector3f& pos) override;
57
58 void getBox_(sead::BoundBox2f& box) override
59 {
60 box.set(
61 mPos.x - 48.0f, mPos.y,
62 mPos.x + 48.0f, mPos.y + 96.0f
63 );
64 }
65
66 // Address: 0x0202CEAC
68 // Address: 0x0202CF64
70
72 {
74 }
75
76 // Address: 0x0202BFDC
77 void vsPlayerHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
78 // Address: 0x0202C2B4
79 void vsYoshiHitCheck_Normal(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
80 // Address: 0x0202DCC8
81 bool hitCallback_Star(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
82
83 bool hitCallback_Slip(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override
84 {
85 return false;
86 }
87
88 // Address: 0x0202C5D0
89 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
90
91 bool hitCallback_WireNet(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override
92 {
93 return false;
94 }
95
96 // Address: 0x0202C3AC
97 bool hitCallback_HipAttk(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
98 // Address: 0x0202C5E0
99 bool hitCallback_PenguinSlide(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
100 // Address: 0x0202C8E0
101 bool hitCallback_Shell(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
102 // Address: 0x0202C6D4
103 bool hitCallback_Fire(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
104 // Address: 0x0202CBCC
105 bool hitCallback_Ice(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other) override;
106
107 // Address: 0x0202CCB0
108 void setDeathInfo_Quake(QuakeDeathType type) override;
109
111 {
112 killIce();
115 }
116
117 // Address: 0x0202CE00
119
120 void fumiScoreSet(Actor*) override
121 {
122 }
123
124 // StateID_DieFumi Address: 0x101F09BC
125 // initializeState_DieFumi Address: 0x0202DC9C
126 // executeState_DieFumi Address: 0x0202DCA0
127 // finalizeState_DieFumi Address: 0x0202DCA4
128 DECLARE_STATE_VIRTUAL_ID_OVERRIDE(Boss, DieFumi)
129
130public:
131 // StateID_DieFire Address: 0x101F09E0
132 // initializeState_DieFire Address: 0x0202BECC
133 // executeState_DieFire Address: 0x0202BEDC
134 // finalizeState_DieFire Address: 0x0202BEEC
136 // StateID_DieSlide Address: 0x101F0A04
137 // initializeState_DieSlide Address: 0x0202BEFC
138 // executeState_DieSlide Address: 0x0202BF0C
139 // finalizeState_DieSlide Address: 0x0202BF1C
141 // StateID_DieShell Address: 0x101F0A28
142 // initializeState_DieShell Address: 0x0202BF2C
143 // executeState_DieShell Address: 0x0202BF3C
144 // finalizeState_DieShell Address: 0x0202BF4C
146 // StateID_DieStar Address: 0x101F0A4C
147 // initializeState_DieStar Address: 0x0202BF5C
148 // executeState_DieStar Address: 0x0202BF6C
149 // finalizeState_DieStar Address: 0x0202BF7C
151 // StateID_DieQuake Address: 0x101F0A70
152 // initializeState_DieQuake Address: 0x0202BF8C
153 // executeState_DieQuake Address: 0x0202BF9C
154 // finalizeState_DieQuake Address: 0x0202BFAC
156
157 virtual void enterDemo()
158 {
159 mIsDemoWait = true;
160 }
161
162 virtual void exitDemo()
163 {
164 mIsDemoWait = false;
165 }
166
167 virtual void vf56C()
168 {
169 }
170
171 // Address: 0x0202BFBC
172 virtual void startBattleEdDemo();
173
174 virtual void vf57C()
175 {
176 }
177
178 // Address: Deleted
179 virtual void iceBreak()
180 {
181 killIce();
184 }
185
186 virtual bool isFreezeable() const
187 {
188 return !mIceMgr.hasIce();
189 }
190
191 virtual void onFreeze()
192 {
193 mIcePos.x = mPos.x;
194 mIcePos.y = mPos.y - 2.5f;
195 mIcePos.z = mPos.z;
196
197 mIceScale.set(40.0f, 48.0f, 40.0f);
198 }
199
200 // ------------------------------------ BossLife ------------------------------------ //
201
202 // Address: Deleted
203 virtual bool life_IsNonDamage() const
204 {
205 return false;
206 }
207
208 // Address: Deleted
209 virtual bool life_IsOneDamage() const
210 {
211 return false;
212 }
213
214 // Address: Deleted
215 virtual bool life_IsTwoDamage() const
216 {
217 return false;
218 }
219
220 virtual bool life_IsDmgSection() const
221 {
222 return false;
223 }
224
225 virtual void life_DamageRev(s32 damage)
226 {
227 mLifeHP -= damage;
228 if (mLifeHP <= 0)
229 mLifeHP = 0;
230 }
231
232 virtual s32 life_GetDamage_Fire() const = 0;
233 virtual s32 life_GetDamage_Fumi() const = 0;
234 virtual s32 life_GetDamage_HipAtk() const = 0;
235 virtual s32 life_GetDamage_Star() const = 0;
236 virtual s32 life_GetDamage_PenguinSlide() const = 0;
237 virtual s32 life_GetDamage_BlockHit() const = 0;
238 virtual s32 life_GetDamage_Shell() const = 0;
239 virtual s32 life_GetDamage_Quake() const = 0;
240
241 // ---------------------------------------------------------------------------------------- //
242
243 virtual void tenmetsuReady()
244 {
245 }
246
247 virtual void tenmetsuProc()
248 {
249 }
250
251 virtual void tenmetsuFin()
252 {
253 }
254
256 {
257 return 24;
258 }
259
260 // Address: Deleted
262 {
263 return 24;
264 }
265
267 {
268 return 24;
269 }
270
271 virtual void createCBSmallScoreDamage(Actor* actor) const
272 {
273 createCoinBattleSmallScore_(actor, mPos, 3);
274 }
275
276 virtual void createCBSmallScoreDead(Actor* actor) const
277 {
278 createCoinBattleSmallScore_(actor, mPos, 4);
279 }
280
281 // Address: 0x0202D120
282 virtual void deadAllKill();
283
284 // Address: 0x0202D214
285 virtual void fumiProc(Actor*);
286
287 virtual void setFumiDamage(Actor* actor)
288 {
289 }
290
291 virtual void setFumiDead(Actor* actor)
292 {
293 changeState(StateID_DieFumi);
294 }
295
296 virtual void setFireDamage(Actor* actor)
297 {
298 }
299
300 virtual void setFireDead(Actor* actor)
301 {
302 changeState(StateID_DieFire);
303 }
304
305 virtual void setHipatkDamage(Actor* actor)
306 {
307 setFumiDamage(actor);
308 }
309
310 virtual void setHipatkDead(Actor* actor)
311 {
312 setFumiDead(actor);
313 }
314
315 // Address: Deleted
316 virtual void setSlideDamage(Actor* actor)
317 {
318 }
319
320 // Address: Deleted
321 virtual void setSlideDead(Actor* actor)
322 {
323 changeState(StateID_DieSlide);
324 }
325
326 // Address: Deleted
327 virtual void setStarDamage(Actor* actor)
328 {
329 }
330
331 // Address: Deleted
332 virtual void setStarDead(Actor* actor)
333 {
334 changeState(StateID_DieStar);
335 }
336
337 virtual void setQuakeDamage()
338 {
339 }
340
341 virtual void setQuakeDead()
342 {
343 changeState(StateID_DieQuake);
344 }
345
346 virtual void setShellDamage(Actor* actor)
347 {
348 }
349
350 virtual void setShellDead(Actor* actor)
351 {
352 changeState(StateID_DieShell);
353 }
354
355 // Address: Deleted
356 virtual void setBlockHitDamage() // I think
357 {
358 }
359
360 // Address: Deleted
361 virtual void setBlockHitDead() // I think
362 {
364 }
365
366 virtual u32 vf6D4()
367 {
368 return 1;
369 }
370
371 virtual void damageProc()
372 {
373 }
374
375 virtual void deadProc()
376 {
377 startBattleEdDemo();
378 }
379
380 virtual bool isFumiInvalid() const
381 {
382 return false;
383 }
384
385 virtual bool isFumiDmgInvalid() const
386 {
387 return false;
388 }
389
390 virtual bool isIceInvalid() const
391 {
392 return false;
393 }
394
395 virtual bool isFireInvalid() const
396 {
397 return false;
398 }
399
400 // Address: Deleted
401 virtual bool isSlideInvalid() const
402 {
403 return true;
404 }
405
406 // Address: Deleted
407 virtual bool isShellInvalid() const
408 {
409 return false;
410 }
411
412 // Address: Deleted
413 virtual bool isStarInvalid() const
414 {
415 return false;
416 }
417
418 virtual void fumideadEffect()
419 {
420 }
421
422 virtual void fumidmgEffect()
423 {
424 }
425
426 virtual void hitFireEffect()
427 {
428 }
429
430 // Address: Deleted
431 virtual void hitShellEffect()
432 {
433 }
434
435 virtual void vf744()
436 {
437 }
438
439 virtual void fumidmgSE()
440 {
441 mAudioObj.startSound("SE_BOSS_CMN_STOMPED", mAudioObjSeqVar);
442 }
443
444 virtual void fumideadSE()
445 {
446 mAudioObj.startSound("SE_BOSS_CMN_STOMPED_LAST1", mAudioObjSeqVar);
447 }
448
449 // Address: Deleted
450 virtual void stardmgSE()
451 {
452 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_STAR_DEF", mAudioObjSeqVar);
453 }
454
455 virtual void stardeadSE()
456 {
457 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_STAR_LAST", mAudioObjSeqVar);
458 }
459
460 // Address: Deleted
461 virtual void shelldmgSE()
462 {
463 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_DEF", mAudioObjSeqVar);
464 }
465
466 virtual void shelldeadSE()
467 {
468 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_LAST", mAudioObjSeqVar);
469 }
470
471 virtual void firedmgSE()
472 {
473 if (life_IsDmgSection())
474 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE_DEF", mAudioObjSeqVar);
475 else
476 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE", mAudioObjSeqVar);
477 }
478
479 virtual void firedeadSE()
480 {
481 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_LAST_F_MODE", mAudioObjSeqVar);
482 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE_LAST", mAudioObjSeqVar);
483 }
484
485 virtual void firedmgSE_Drc()
486 {
487 if (life_IsDmgSection())
488 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE_DEF", mAudioObjSeqVar, nw::snd::OUTPUT_LINE_MAIN | nw::snd::OUTPUT_LINE_DRC);
489 else
490 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE", mAudioObjSeqVar, nw::snd::OUTPUT_LINE_MAIN | nw::snd::OUTPUT_LINE_DRC);
491 }
492
493 virtual void firedeadSE_Drc()
494 {
495 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_LAST_F_MODE", mAudioObjSeqVar);
496 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_FIRE_LAST", mAudioObjSeqVar, nw::snd::OUTPUT_LINE_MAIN | nw::snd::OUTPUT_LINE_DRC);
497 }
498
499 virtual void quakedmgSE()
500 {
501 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_STAR_DEF", mAudioObjSeqVar);
502 }
503
504 virtual void quakedeadSE()
505 {
506 mAudioObj.startSound("SE_BOSS_CMN_DAMAGE_LAST_F_MODE", mAudioObjSeqVar);
507 }
508
509 virtual void fumiDeadVo()
510 {
511 }
512
513 // Address: Deleted
514 virtual void damageSVo()
515 {
516 }
517
518 // Address: Deleted
519 virtual void damageLVo()
520 {
521 }
522
523 virtual void calcLookatPos()
524 {
525 mAttentionLookat.getPos().set(
526 mPos.x + mCenterOffset.x,
527 mPos.y + mCenterOffset.y
528 );
529 }
530
531 // Address: 0x0202D3BC
532 virtual bool vf7CC();
533
534 // Address: 0x0202D3F4
535 virtual void initCcDrcTouch();
536
537 virtual void createModel()
538 {
539 }
540
541 virtual void calcModel()
542 {
543 }
544
545 virtual void vf7EC()
546 {
547 }
548
549 virtual void vf7F4()
550 {
551 }
552
553 virtual bool createInit()
554 {
555 return true;
556 }
557
558protected:
559 // Address: 0x0202D0F8
560 void createCoinBattleSmallScore_(Actor* actor, const sead::Vector3f& pos, u32 type) const;
561
562protected:
564 s32 _1884; // Supposedly the number of fireball hits required to take damage
565 s32 _1888; // Unknown counter
566 bool mIsShock; // Is currently shocked from a quake
569 s32,
586};
587static_assert(sizeof(Boss) == 0x1B78);
Definition Boss.h:11
bool ccSetTouchNormal(ActorCollisionCheck *cc, const sead::Vector2f &pos) override
Definition Boss.h:19
bool mIsShock
Definition Boss.h:566
virtual void firedmgSE()
Definition Boss.h:471
virtual s32 life_GetDamage_Shell() const =0
virtual void damageLVo()
Definition Boss.h:519
u32 mStateTimer_PreIce
Definition Boss.h:584
virtual bool vf7CC()
virtual void setBlockHitDead()
Definition Boss.h:361
virtual bool life_IsTwoDamage() const
Definition Boss.h:215
virtual void damageProc()
Definition Boss.h:371
virtual void setHipatkDamage(Actor *actor)
Definition Boss.h:305
virtual bool isFumiInvalid() const
Definition Boss.h:380
virtual void stardmgSE()
Definition Boss.h:450
bool hitCallback_Spin(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void vf7EC()
Definition Boss.h:545
virtual void setSlideDamage(Actor *actor)
Definition Boss.h:316
void getBox_(sead::BoundBox2f &box) override
Definition Boss.h:58
virtual void onFreeze()
Definition Boss.h:191
virtual void tenmetsuProc()
Definition Boss.h:247
void removeCollisionCheck() override
Definition Boss.h:43
void postExecute(MainState state) override
Callback invoked unconditionally after the execute phase completes. It executes even if preExecute() ...
virtual void setQuakeDamage()
Definition Boss.h:337
bool hitCallback_Fire(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void fumideadSE()
Definition Boss.h:444
virtual void quakedeadSE()
Definition Boss.h:504
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void hitFireEffect()
Definition Boss.h:426
bool hitCallback_Star(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void setStarDead(Actor *actor)
Definition Boss.h:332
virtual void setFumiDamage(Actor *actor)
Definition Boss.h:287
virtual void shelldmgSE()
Definition Boss.h:461
virtual void setBlockHitDamage()
Definition Boss.h:356
bool isQuakeDamage() override
virtual bool life_IsDmgSection() const
Definition Boss.h:220
virtual void tenmetsuReady()
Definition Boss.h:243
virtual s32 getTenmetsuTime_Shell()
Definition Boss.h:261
virtual void calcModel()
Definition Boss.h:541
ActorCollisionCheck mCollisionCheckDrcTouch
Definition Boss.h:576
bool hitCallback_WireNet(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
Definition Boss.h:91
virtual void firedeadSE()
Definition Boss.h:479
virtual bool isFreezeable() const
Definition Boss.h:186
virtual bool isShellInvalid() const
Definition Boss.h:407
virtual void setShellDamage(Actor *actor)
Definition Boss.h:346
virtual void initCcDrcTouch()
virtual s32 life_GetDamage_Fire() const =0
bool hitCallback_PenguinSlide(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool hitCallback_Slip(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
Definition Boss.h:83
void createCoinBattleSmallScore_(Actor *actor, const sead::Vector3f &pos, u32 type) const
s16 mAudioObjSeqVar
Definition Boss.h:573
virtual s32 life_GetDamage_Star() const =0
virtual void fumiDeadVo()
Definition Boss.h:509
virtual bool isFumiDmgInvalid() const
Definition Boss.h:385
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
virtual void setFireDead(Actor *actor)
Definition Boss.h:300
sead::Vector3f mSpeed_PreIce
Definition Boss.h:581
s32 mLifeHP
Definition Boss.h:563
virtual u32 vf6D4()
Definition Boss.h:366
virtual void tenmetsuFin()
Definition Boss.h:251
virtual bool isStarInvalid() const
Definition Boss.h:413
virtual void createCBSmallScoreDead(Actor *actor) const
Definition Boss.h:276
AttentionLookat mAttentionLookat
Definition Boss.h:574
sead::Vector3f mIceScale
Definition Boss.h:579
BossDrcTouchCB mDrcTouchCallback
Definition Boss.h:577
virtual void life_DamageRev(s32 damage)
Definition Boss.h:225
virtual void vf7F4()
Definition Boss.h:549
bool preExecute() override
Callback invoked before the execute operation.
f32 mGravity_PreIce
Definition Boss.h:582
sead::SafeArray< s32, cPlayerNum > _1890
Definition Boss.h:571
virtual void calcLookatPos()
Definition Boss.h:523
void calcMdl_Base() override
Definition Boss.h:71
virtual void createCBSmallScoreDamage(Actor *actor) const
Definition Boss.h:271
void reviveCollisionCheck() override
Definition Boss.h:49
f32 mPow_PreIce
Definition Boss.h:583
virtual void iceBreak()
Definition Boss.h:179
virtual void setShellDead(Actor *actor)
Definition Boss.h:350
bool hitCallback_Shell(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
EnemyBoyoMgr mBoyoMgr
Definition Boss.h:575
void setDeathInfo_IceBreak() override
Definition Boss.h:110
virtual void hitShellEffect()
Definition Boss.h:431
virtual s32 life_GetDamage_PenguinSlide() const =0
bool setTouchDrcDamage_(const sead::Vector3f &pos) override
virtual void setFireDamage(Actor *actor)
Definition Boss.h:296
virtual void setQuakeDead()
Definition Boss.h:341
virtual bool life_IsNonDamage() const
Definition Boss.h:203
virtual void setStarDamage(Actor *actor)
Definition Boss.h:327
virtual s32 life_GetDamage_HipAtk() const =0
virtual void fumiProc(Actor *)
virtual bool isFireInvalid() const
Definition Boss.h:395
virtual void setSlideDead(Actor *actor)
Definition Boss.h:321
bool hitCallback_Ice(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual bool life_IsOneDamage() const
Definition Boss.h:209
Result create() override
Main initialization/setup callback for the actor.
s32 _1888
Definition Boss.h:565
virtual void setHipatkDead(Actor *actor)
Definition Boss.h:310
virtual void deadAllKill()
void vsYoshiHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
virtual void fumidmgEffect()
Definition Boss.h:422
virtual s32 life_GetDamage_Fumi() const =0
virtual bool isSlideInvalid() const
Definition Boss.h:401
virtual void vf57C()
Definition Boss.h:174
virtual s32 life_GetDamage_Quake() const =0
virtual void stardeadSE()
Definition Boss.h:455
virtual void createModel()
Definition Boss.h:537
virtual bool isIceInvalid() const
Definition Boss.h:390
virtual void shelldeadSE()
Definition Boss.h:466
virtual void setFumiDead(Actor *actor)
Definition Boss.h:291
GameAudio::AudioObjctEmy mAudioObj
Definition Boss.h:572
void fumiScoreSet(Actor *) override
Definition Boss.h:120
virtual void firedeadSE_Drc()
Definition Boss.h:493
virtual void damageSVo()
Definition Boss.h:514
void vsPlayerHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool mIsDemoWait
Definition Boss.h:567
sead::Vector3f mIcePos
Definition Boss.h:578
virtual void fumidmgSE()
Definition Boss.h:439
virtual void firedmgSE_Drc()
Definition Boss.h:485
virtual void quakedmgSE()
Definition Boss.h:499
void setDeathInfo_Quake(QuakeDeathType type) override
sead::Vector3f mPos_PreIce
Definition Boss.h:580
virtual s32 life_GetDamage_BlockHit() const =0
virtual s32 getTenmetsuTime_Press()
Definition Boss.h:266
virtual bool createInit()
Definition Boss.h:553
virtual void fumideadEffect()
Definition Boss.h:418
void returnState_Ice() override
virtual void deadProc()
Definition Boss.h:375
virtual void vf744()
Definition Boss.h:435
s32 _1884
Definition Boss.h:564
virtual s32 getTenmetsuTime_Fire()
Definition Boss.h:255
Result doDelete() override
Main deletion callback for the actor.
Definition Boss.h:36
u32 mStateSubTimer_PreIce
Definition Boss.h:585