3#include <enemy/KuriboBase.h>
4#include <graphics/JointBlendModel.h>
5#include <graphics/SkeletalAnimation.h>
13 SEAD_RTTI_OVERRIDE(
Kuribo, KuriboBase)
31 static_assert(
sizeof(
WakiDir) == 4);
40 Kuribo(
const ActorCreateParam& param);
55 mBlendModel->getCurSklAnim()->getFrameCtrl().setRate(3.0f);
56 mPreFunsuiSpeedX = mSpeed.x;
57 mSpeed.set(0.0f, 0.0f, 0.0f);
63 mBlendModel->getCurSklAnim()->getFrameCtrl().setRate(2.0f);
64 mSpeed.x = mPreFunsuiSpeedX;
95 bool hitCallback_Spin(ActorCollisionCheck* cc_self, ActorCollisionCheck* cc_other)
override;
116 return isState(StateID_BalloonHang);
121 return mKuriboType == 4 || mKuriboType == 5;
126 return isOldState(StateID_Touch);
131 return isState(StateID_Auto_Walk) ||
132 isState(StateID_Down);
145 changeState(StateID_Walk);
147 changeState(StateID_KakiboWalk);
155 DECLARE_STATE_ID(
Kuribo, KakiboWalk)
232 if (mKakiboBgmHoldTimer != 0)
234 mKakiboBgmHoldTimer--;
235 mKakiboHaAngleZ = 0x15555555;
236 mKakiboHaScale = 1.2f;
240 Angle angle = mKakiboHaAngleZ;
241 angle.chaseRest(0, 0x2222222);
242 mKakiboHaAngleZ = angle;
243 sead::Mathf::chase(&mKakiboHaScale, 1.0f, 0.02f);
271static_assert(
sizeof(
Kuribo) == 0x1AC8);
Definition BalloonHangActor.h:6
u8 mKuriboType
Definition Kuribo.h:249
void initialize() override
static const sead::SafeString cModelName[cModelType_Num]
Definition Kuribo.h:36
void calcDrcTouch() override
void beginFunsui_() override
Definition Kuribo.h:53
Result doDelete() override
Main deletion callback for the actor.
bool createIceActor() override
Callback for spawning ice blocks when frozen by an ice flower.
bool vf554() override
Definition Kuribo.h:124
bool hitCallback_HipAttk(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
bool mIsKakiboWalk1
Definition Kuribo.h:253
f32 mPreFunsuiSpeedX
Definition Kuribo.h:258
static f32 getWalkSpeed()
Definition Kuribo.h:266
u8 _1a97
Definition Kuribo.h:252
void setWalkState() override
Definition Kuribo.h:142
u8 _1a96
Definition Kuribo.h:251
void setWalkSpeed() override
sead::Vector3f mWakiTargetPos
Definition Kuribo.h:254
f32 mGroundDistance
Definition Kuribo.h:259
void drawModel() override
static const f32 cWalkSpeed[cDirType_NumX]
Definition Kuribo.h:264
u8 mKakiboAnm
Definition Kuribo.h:250
ActorBgCollisionCheck::Sensor mBcSensorFootDown
Definition Kuribo.h:248
bool isWakidashi() const override
Definition Kuribo.h:129
WakiDir mWakiDir
Definition Kuribo.h:255
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:114
void calcKakiboHa_()
Definition Kuribo.h:230
bool hitCallback_Spin(ActorCollisionCheck *cc_self, ActorCollisionCheck *cc_other) override
void setTurnByEnemyHit(Actor *actor_self, Actor *actor_other) override
Kuribo(const ActorCreateParam ¶m)
void balloonCollCheck(ActorCollisionCheck *cc_other) override
ActorUniqueID mBalloonID
Definition Kuribo.h:261
bool mIsFunsui
Definition Kuribo.h:257
s32 mKakiboBgmHoldTimer
Definition Kuribo.h:256
void returnAnm_Ice() override
Definition Kuribo.h:104
bool checkGroundCreate_()
void resetCcDrcTouch() override
BalloonHangActor * mpBalloon
Definition Kuribo.h:260
bool isFunsui_() const override
Definition Kuribo.h:68
void calcModel() override
void endFunsui_(f32 speed_y) override
Definition Kuribo.h:61
void setIceAnm() override
Definition Kuribo.h:100
bool checkKakiboTurnSaka_()
WakiDir
Definition Kuribo.h:24
@ cWakiDir_Down
Definition Kuribo.h:26
@ cWakiDir_Left
Definition Kuribo.h:27
@ cWakiDir_Up
Definition Kuribo.h:25
@ cWakiDir_Right
Definition Kuribo.h:28
@ cWakiDir_Num
Definition Kuribo.h:29
bool vf54C() override
Definition Kuribo.h:119
void onDrcTouch() override