feely_pona/feely_pona_entity.h

142 lines
3.1 KiB
C

#if defined(__clang__)
#pragma once
#include "feely_pona_unity.h"
#endif
enum FP_EntityType
{
FP_EntityType_Nil,
FP_EntityType_AirportTerry,
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_Smoochie,
FP_EntityType_Terry,
FP_EntityType_PhoneMessageProjectile,
FP_EntityType_Count,
};
enum FP_EntityTerryState
{
FP_EntityTerryState_Nil,
FP_EntityTerryState_Idle,
FP_EntityTerryState_Attack,
FP_EntityTerryState_RangeAttack,
FP_EntityTerryState_Run,
FP_EntityTerryState_Dash,
};
enum FP_EntitySmoochieState
{
FP_EntitySmoochieState_Nil,
FP_EntitySmoochieState_Idle,
FP_EntitySmoochieState_Attack,
FP_EntitySmoochieState_HurtSide,
FP_EntitySmoochieState_Death,
FP_EntitySmoochieState_Run,
};
enum FP_EntityCatfishState
{
FP_EntityCatfishState_Nil,
FP_EntityCatfishState_Idle,
FP_EntityCatfishState_Attack,
FP_EntityCatfishState_Death,
FP_EntityCatfishState_Run,
};
enum FP_EntityClingerState
{
FP_EntityClingerState_Nil,
FP_EntityClingerState_Idle,
FP_EntityClingerState_Attack,
FP_EntityClingerState_Death,
FP_EntityClingerState_Run,
};
enum FP_EntityMerchantTerryState
{
FP_EntityMerchantTerryState_Nil,
FP_EntityMerchantTerryState_Idle,
};
enum FP_EntityMerchantGymState
{
FP_EntityMerchantGymState_Nil,
FP_EntityMerchantGymState_Idle,
};
enum FP_EntityMerchantPhoneCompanyState
{
FP_EntityMerchantPhoneCompanyState_Nil,
FP_EntityMerchantPhoneCompanyState_Idle,
};
enum FP_EntityMerchantGraveyardState
{
FP_EntityMerchantGraveyardState_Nil,
FP_EntityMerchantGraveyardState_Idle,
};
enum FP_EntityClubTerryState
{
FP_EntityClubTerryState_Nil,
FP_EntityClubTerryState_Idle,
FP_EntityClubTerryState_PartyTime,
};
enum FP_EntityAirportTerryState
{
FP_EntityAirportTerryState_Nil,
FP_EntityAirportTerryState_Idle,
FP_EntityAirportTerryState_FlyPassenger,
};
enum FP_EntityChurchTerryState
{
FP_EntityChurchTerryState_Nil,
FP_EntityChurchTerryState_Idle,
FP_EntityChurchTerryState_ConvertPatron,
};
enum FP_EntityKennelTerryState
{
FP_EntityKennelTerryState_Nil,
FP_EntityKennelTerryState_Idle,
};
enum FP_EntityMapState
{
FP_EntityMapState_Nil,
FP_EntityMapState_Idle,
};
enum FP_EntityHeartState
{
FP_EntityHeartState_Nil,
FP_EntityHeartState_Idle,
};
struct FP_EntityRenderData
{
FP_Meters height;
TELY_AssetFlip flip;
Dqn_String8 anim_name;
TELY_AssetSpriteSheet *sheet;
Dqn_Rect sheet_rect;
Dqn_V2 render_size;
TELY_AssetAnimatedSprite sprite;
};
Dqn_usize const FP_TERRY_MOBILE_DATA_PER_RANGE_ATTACK = DQN_KILOBYTES(1);
uint16_t const FP_TERRY_DASH_STAMINA_COST = 33;
uint16_t const FP_DEFAULT_DAMAGE = 30;