3#include <enemy/KuriboBase.h>
4#include <graphics/JointBlendModel.h>
5#include <graphics/SkeletalAnimation.h>
14 SEAD_RTTI_OVERRIDE(
Kuribo, KuriboBase)
32 static_assert(
sizeof(
WakiDir) == 4);
41 Kuribo(
const ActorCreateParameter& param);
57 mBlendModel->getCurSklAnim()->getFrameCtrl().setRate(3.0f);
58 mPreFunsuiSpeedX = mSpeed.x;
59 mSpeed.set(0.0f, 0.0f, 0.0f);
65 mBlendModel->getCurSklAnim()->getFrameCtrl().setRate(2.0f);
66 mSpeed.x = mPreFunsuiSpeedX;
96 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other)
override;
117 return isState(StateID_BalloonHang);
122 return mKuriboType == 4 || mKuriboType == 5;
127 return isOldState(StateID_Touch);
132 return isState(StateID_Auto_Walk) ||
133 isState(StateID_Down);
146 changeState(StateID_Walk);
148 changeState(StateID_KakiboWalk);
156 DECLARE_STATE_ID(
Kuribo, KakiboWalk)
233 if (mKakiboBgmHoldTimer != 0)
235 mKakiboBgmHoldTimer--;
236 mKakiboHaAngleZ = 0x15555555;
237 mKakiboHaScale = 1.2f;
241 Angle angle = mKakiboHaAngleZ;
242 angle.chaseRest(0, 0x2222222);
243 mKakiboHaAngleZ = angle;
244 sead::Mathf::chase(&mKakiboHaScale, 1.0f, 0.02f);
265
266
267
275static_assert(
sizeof(
Kuribo) == 0x1AC8);
Definition BalloonHangActor.h:7
u8 mKuriboType
Definition Kuribo.h:250
void initialize() override
static const sead::SafeString cModelName[cModelType_Num]
Definition Kuribo.h:37
void calcDrcTouch() override
Result doDelete() override
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
bool vf554() override
Definition Kuribo.h:125
void endFunsui(f32 speed_y) override
Definition Kuribo.h:63
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool mIsKakiboWalk1
Definition Kuribo.h:254
f32 mPreFunsuiSpeedX
Definition Kuribo.h:259
static f32 getWalkSpeed()
Definition Kuribo.h:270
bool isFunsui() const override
Definition Kuribo.h:70
u8 _1a97
Definition Kuribo.h:253
void setWalkState() override
Definition Kuribo.h:143
u8 _1a96
Definition Kuribo.h:252
void setWalkSpeed() override
sead::Vector3f mWakiTargetPos
Definition Kuribo.h:255
f32 mGroundDistance
Definition Kuribo.h:260
void drawModel() override
static const f32 cWalkSpeed[cDirType_NumX]
0.5f, -0.5f
Definition Kuribo.h:268
u8 mKakiboAnm
Definition Kuribo.h:251
ActorBgCollisionCheck::Sensor mBcSensorFootDown
Definition Kuribo.h:249
bool isWakidashi() const override
Definition Kuribo.h:130
WakiDir mWakiDir
Definition Kuribo.h:256
Kuribo(const ActorCreateParameter ¶m)
void returnState_Ice() override
bool checkGroundKakiboTurn()
void setKakiboAnm(KakiboAnmID anm_id)
bool checkGroundKakibo_(f32 check_dist)
void vsEnemyHitCheck_Normal(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool disallowDrcTouchOnGround() override
Definition Kuribo.h:115
void calcKakiboHa_()
Definition Kuribo.h:231
bool hitCallback_Spin(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void setTurnByEnemyHit(Actor *actor_self, Actor *actor_other) override
void balloonCollCheck(ActorCollisionCheck *cc_other) override
UniqueID mBalloonID
Definition Kuribo.h:262
bool mIsFunsui
Definition Kuribo.h:258
s32 mKakiboBgmHoldTimer
Definition Kuribo.h:257
void returnAnm_Ice() override
Definition Kuribo.h:105
bool checkGroundCreate_()
void resetCcDrcTouch() override
BalloonHangActor * mpBalloon
Definition Kuribo.h:261
void calcModel() override
void setIceAnm() override
Definition Kuribo.h:101
bool checkKakiboTurnSaka_()
WakiDir
Definition Kuribo.h:25
@ cWakiDir_Down
Definition Kuribo.h:27
@ cWakiDir_Left
Definition Kuribo.h:28
@ cWakiDir_Up
Definition Kuribo.h:26
@ cWakiDir_Right
Definition Kuribo.h:29
@ cWakiDir_Num
Definition Kuribo.h:30
bool vf54C() override
Definition Kuribo.h:120
void onDrcTouch() override
void beginFunsui() override
Definition Kuribo.h:55