feely_pona/feely_pona_entity.h

158 lines
3.4 KiB
C

#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;