Path: blob/master/SonicMania/Objects/MSZ/HeavyMystic.h
338 views
#ifndef OBJ_HEAVYMYSTIC_H1#define OBJ_HEAVYMYSTIC_H23#include "Game.h"45typedef enum {6MYSTIC_MISCHIEF,7MYSTIC_BOSS,8MYSTIC_BOX,9MYSTIC_CORK,10MYSTIC_BOMB,11MYSTIC_DEBRIS,12} HeavyMysticTypes;1314// Object Class15struct ObjectHeavyMystic {16RSDK_OBJECT17int32 boundsL;18int32 boundsR;19int32 boundsM;20int32 boundsT;21int32 boundsB;22int32 curtainLinePos;23uint16 sfxAssemble;24uint16 sfxMagicBox;25uint16 sfxClack;26uint16 sfxPowerDown;27uint16 sfxImpact;28uint16 sfxPon;29uint16 sfxDrop;30uint16 sfxImpact2;31uint16 sfxHit;32uint16 sfxExplosion;33uint16 sfxPoof;34uint16 sfxTwinkle;35uint16 sfxHat;36uint16 sfxHatNode;37uint16 sfxBleeps;38uint16 sfxTransform;39uint16 sfxAppear1;40uint16 aniFrames;41uint16 roguesFrames;42};4344// Entity Class45struct EntityHeavyMystic {46RSDK_ENTITY47StateMachine(state);48StateMachine(stateDraw);49int32 type;50int32 timer;51int32 invincibilityTimer;52int32 health;53int32 rogueHealth;54int32 particleFXTimer;55int32 unused;56int32 attackID;57int32 rogueID;58Vector2 targetPos;59Animator animator;60Hitbox hitbox;61};6263// Object Struct64extern ObjectHeavyMystic *HeavyMystic;6566// Standard Entity Events67void HeavyMystic_Update(void);68void HeavyMystic_LateUpdate(void);69void HeavyMystic_StaticUpdate(void);70void HeavyMystic_Draw(void);71void HeavyMystic_Create(void *data);72void HeavyMystic_StageLoad(void);73#if GAME_INCLUDE_EDITOR74void HeavyMystic_EditorDraw(void);75void HeavyMystic_EditorLoad(void);76#endif77void HeavyMystic_Serialize(void);7879// Extra Entity Functions80void HeavyMystic_SpawnParticleFX(int32 x, int32 y);81void HeavyMystic_HandleParticleFX(void);8283void HeavyMystic_CheckPlayerCollisions(void);84void HeavyMystic_Hit(void);85void HeavyMystic_CheckPlayerCollisions_Fang(void);86void HeavyMystic_CheckPlayerCollisions_Bark(void);87void HeavyMystic_CheckPlayerCollisions_Bean(void);88void HeavyMystic_Explode(void);8990void HeavyMystic_Scanline_Curtains(ScanlineInfo *scanlines);9192void HeavyMystic_StateMischief_Setup(void);93void HeavyMystic_StateBoss_SetupArena(void);94void HeavyMystic_StateBoss_AwaitPlayer(void);95void HeavyMystic_StateMischief_EnterMystic(void);96void HeavyMystic_StateMischief_HandleAppearArc(void);97void HeavyMystic_StateBoss_BeginShow(void);98void HeavyMystic_StateMischief_Idle(void);99void HeavyMystic_StateMischief_MoveIntoPlace(void);100void HeavyMystic_StateMischief_FinishedMagicTrick(void);101void HeavyMystic_StateMischief_PrepareMagicTrick(void);102void HeavyMystic_StateMischief_GoodDay(void);103void HeavyMystic_StateMischief_ConjureHatterkiller(void);104void HeavyMystic_StateMischief_Disappear(void);105106void HeavyMystic_StateBoss_Destroyed(void);107void HeavyMystic_StateBoss_Finish(void);108void HeavyMystic_StateBoss_CloseCurtains(void);109void HeavyMystic_StateBoss_AwaitBoxOpened(void);110void HeavyMystic_StateBoss_EnterMystic(void);111void HeavyMystic_StateBoss_GoodDay(void);112void HeavyMystic_StateBoss_BoxCloseDelay(void);113void HeavyMystic_StateBoss_AwaitBoxClosing(void);114void HeavyMystic_StateBoss_AwaitBoxClosed(void);115void HeavyMystic_StateBoss_Transforming(void);116void HeavyMystic_StateBoss_ShowRogue(void);117void HeavyMystic_StateBoss_MysticReveal(void);118void HeavyMystic_StateBoss_MoveToBoxY(void);119void HeavyMystic_StateBoss_MoveToBoxX(void);120void HeavyMystic_StateBoss_TransformBackIntoRogue(void);121void HeavyMystic_StateBoss_FangIdle(void);122void HeavyMystic_StateBoss_FangTell(void);123void HeavyMystic_StateBoss_FangHop(void);124void HeavyMystic_StateBoss_RogueHit(void);125void HeavyMystic_StateBoss_BarkIdle(void);126void HeavyMystic_StateBoss_BarkPounding(void);127void HeavyMystic_StateBoss_BarkJump(void);128void HeavyMystic_StateBoss_BeanIdle(void);129void HeavyMystic_StateBoss_BeanBomb1Throw(void);130void HeavyMystic_StateBoss_BeanBomb2Throw(void);131void HeavyMystic_StateBoss_BeanJump(void);132133void HeavyMystic_StateCork_Fired(void);134#if MANIA_USE_PLUS135void HeavyMystic_StateCork_MightyRebound(void);136#endif137138void HeavyMystic_State_Bomb(void);139140void HeavyMystic_State_BarkDebris(void);141142void HeavyMystic_StateBox_AwaitCurtainRise(void);143void HeavyMystic_StateBox_Idle(void);144void HeavyMystic_StateBox_CloseDoors(void);145void HeavyMystic_StateBox_OpenDoors(void);146void HeavyMystic_StateBox_Transforming(void);147void HeavyMystic_StateBox_TransformFinish(void);148void HeavyMystic_StateBox_Dropping(void);149void HeavyMystic_StateBox_ShowContents(void);150void HeavyMystic_StateBox_Reappear(void);151152void HeavyMystic_Draw_BoxOpened(void);153void HeavyMystic_Draw_BoxTransforming(void);154void HeavyMystic_Draw_BoxClosed(void);155156#endif //! OBJ_HEAVYMYSTIC_H157158159