#if defined(_CLANGD) #pragma once #include "feely_pona_unity.h" #endif enum FP_EntityType { FP_EntityType_Nil, FP_EntityType_AirportTerry, FP_EntityType_AirportTerryPlane, FP_EntityType_Catfish, FP_EntityType_ChurchTerry, FP_EntityType_Clinger, FP_EntityType_ClubTerry, FP_EntityType_Heart, FP_EntityType_KennelTerry, FP_EntityType_Map, FP_EntityType_MerchantGraveyard, FP_EntityType_MerchantGym, FP_EntityType_MerchantPhoneCompany, FP_EntityType_MerchantTerry, FP_EntityType_MobSpawner, FP_EntityType_PortalMonkey, FP_EntityType_Smoochie, FP_EntityType_Terry, FP_EntityType_Perry, FP_EntityType_PhoneMessageProjectile, FP_EntityType_Billboard, FP_EntityType_Count, }; enum FP_EntityTerryState { FP_EntityTerryState_Idle, FP_EntityTerryState_Attack, FP_EntityTerryState_RangeAttack, FP_EntityTerryState_Run, FP_EntityTerryState_Dash, FP_EntityTerryState_DeadGhost, }; typedef FP_EntityTerryState FP_EntityPerryState; enum FP_EntityMobSpawnerState { FP_EntityMobSpawnerState_Idle, FP_EntityMobSpawnerState_Shutdown, }; enum FP_EntitySmoochieState { FP_EntitySmoochieState_Idle, FP_EntitySmoochieState_Attack, FP_EntitySmoochieState_HurtSide, FP_EntitySmoochieState_Death, FP_EntitySmoochieState_Run, }; enum FP_EntityCatfishState { FP_EntityCatfishState_Idle, FP_EntityCatfishState_Attack, FP_EntityCatfishState_Death, FP_EntityCatfishState_Run, }; enum FP_EntityClingerState { FP_EntityClingerState_Idle, FP_EntityClingerState_Attack, FP_EntityClingerState_Death, FP_EntityClingerState_Run, }; enum FP_EntityMerchantTerryState { FP_EntityMerchantTerryState_Idle, }; enum FP_EntityMerchantGymState { FP_EntityMerchantGymState_Idle, }; enum FP_EntityMerchantPhoneCompanyState { FP_EntityMerchantPhoneCompanyState_Idle, }; enum FP_EntityMerchantGraveyardState { FP_EntityMerchantGraveyardState_Idle, }; enum FP_EntityClubTerryState { FP_EntityClubTerryState_Idle, FP_EntityClubTerryState_PartyTime, }; enum FP_EntityAirportTerryState { FP_EntityAirportTerryState_Idle, FP_EntityAirportTerryState_FlyPassenger, }; enum FP_EntityAirportTerryPlaneState { FP_EntityAirportTerryPlaneState_Idle, FP_EntityAirportTerryPlaneState_FlyPassenger, }; enum FP_EntityChurchTerryState { FP_EntityChurchTerryState_Idle, FP_EntityChurchTerryState_ConvertPatron, }; enum FP_EntityKennelTerryState { FP_EntityKennelTerryState_Idle, }; enum FP_EntityMapState { FP_EntityMapState_Idle, }; enum FP_EntityHeartState { FP_EntityHeartState_Idle, }; enum FP_EntityBillboardState { FP_EntityBillboardState_Attack, FP_EntityBillboardState_Dash, FP_EntityBillboardState_Monkey, FP_EntityBillboardState_RangeAttack, FP_EntityBillboardState_Strafe, FP_EntityBillboardState_Build, }; struct FP_EntityRenderData { FP_Meters height; TELY_AssetFlip flip; Dqn_Str8 anim_name; TELY_AssetSpriteSheet *sheet; Dqn_Rect sheet_rect; Dqn_V2 render_size; TELY_AssetAnimatedSprite sprite; Dqn_V2 offset; }; Dqn_usize const FP_TERRY_MOBILE_DATA_PER_RANGE_ATTACK = DQN_KILOBYTES(5); uint16_t const FP_TERRY_DASH_STAMINA_COST = 33; uint16_t const FP_DEFAULT_DAMAGE = 30;