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