include/player.h file

Classes

struct PlayerEntity
struct ChargeState
struct PlayerMacroEntry
struct PlayerInput
struct PlayerState
struct Stats
struct ItemBehavior
struct Wallet

Enums

enum PlayerActions { PLAYER_INIT, PLAYER_NORMAL, PLAYER_DUMMY, PLAYER_FALL, PLAYER_JUMP, PLAYER_PUSH, PLAYER_BOUNCE, PLAYER_08070E9C, PLAYER_ITEMGET, PLAYER_MINISH, PLAYER_MINISHDIE, PLAYER_08071DB8, PLAYER_EMPTYBOTTLE, PLAYER_FROZEN, PLAYER_0807204C, PLAYER_ROOM_EXIT, PLAYER_PULL, PLAYER_LAVA, PLAYER_WARP, PLAYER_08072454, PLAYER_DROWN, PLAYER_USEPORTAL, PLAYER_TALKEZLO, PLAYER_ROOMTRANSITION, PLAYER_ROLL, PLAYER_080728AC, PLAYER_INHOLE, PLAYER_08072C9C, PLAYER_SLEEP, PLAYER_CLIMB, PLAYER_USEENTRANCE, PLAYER_PARACHUTE }
enum PlayerFrameState { PL_STATE_IDLE, PL_STATE_WALK, PL_STATE_SWORD, PL_STATE_GUSTJAR, PL_STATE_HOLD, PL_STATE_THROW, PL_STATE_6, PL_STATE_SWIM, PL_STATE_PARACHUTE, PL_STATE_ROLL, PL_STATE_FALL, PL_STATE_JUMP, PL_STATE_C, PL_STATE_D, PL_STATE_USEPORTAL, PL_STATE_F, PL_STATE_TRAPPED, PL_STATE_11, PL_STATE_DIE, PL_STATE_TALKEZLO, PL_STATE_CAPE, PL_STATE_ITEMGET, PL_STATE_DROWN, PL_STATE_HOLE, PL_STATE_CLIMB, PL_STATE_PUSH, PL_STATE_PULL, PL_STATE_SINKING, PL_STATE_STAIRS, PL_STATE_1D }
enum PlayerSpawnType { PL_SPAWN_DEFAULT, PL_SPAWN_MINISH, PL_SPAWN_DROP, PL_SPAWN_WALKING, PL_SPAWN_STEP_IN, PL_SPAWN_SLEEPING, PL_SPAWN_DROP_MINISH, PL_SPAWN_STAIRS_ASCEND, PL_SPAWN_STAIRS_DESCEND, PL_SPAWN_9, PL_SPAWN_PARACHUTE_FORWARD, PL_SPAWN_PARACHUTE_UP, PL_SPAWN_FAST_TRAVEL }
enum PlayerControlMode { CONTROL_ENABLED, CONTROL_1, CONTROL_2, CONTROL_DISABLED }
enum PlayerDirections { DIR_DIAGONAL = 0x4, DIR_NOT_MOVING_CHECK = 0x80, DIR_NONE = 0xff }
enum PlayerFlags { PL_BUSY = 0x1, PL_FLAGS2 = 0x2, PL_DROWNING = 0x4, PL_NO_CAP = 0x8, PL_CAPTURED = 0x10, PL_USE_PORTAL = 0x20, PL_HIDDEN = 0x40, PL_MINISH = 0x80, PL_DISABLE_ITEMS = 0x100, PL_FALLING = 0x200, PL_BURNING = 0x400, PL_FROZEN = 0x800, PL_IN_MINECART = 0x1000, PL_DRUGGED = 0x4000, PL_PIT_IS_EXIT = 0x8000, PL_FLAGS10000 = 0x10000, PL_GYORG_FIGHT = 0x20000, PL_ROLLING = 0x40000, PL_MOLDWORM_CAPTURED = 0x80000, PL_IN_HOLE = 0x100000, PL_MOLDWORM_RELEASED = 0x200000, PL_CLONING = 0x400000, PL_USE_LANTERN = 0x800000, PL_PARACHUTE = 0x1000000, PL_CONVEYOR_PUSHED = 0x2000000, PL_ENTER_MINECART = 0x4000000, PL_SWORD_THRUST = 0x8000000, PL_USE_OCARINA = 0x10000000, PL_CLIMBING = 0x20000000, PL_FLAGS40000000 = 0x40000000, PL_FLAGS80000000 = 0x80000000 }
enum PlayerItemId { PL_ITEM_NONE, PL_ITEM_SWORD, PL_ITEM_BOMB, PL_ITEM_BOOMERANG, PL_ITEM_BOW, PL_ITEM_SHIELD, PL_ITEM_LANTERN, PL_ITEM_NULLED, PL_ITEM_GUSTJAR, PL_ITEM_PACCI_CANE, PL_ITEM_A, PL_ITEM_B, PL_ITEM_DASH_SWORD, PL_ITEM_CELL_OVERWRITE_SET, PL_ITEM_BOTTLE, PL_ITEM_SWORDBEAM, PL_ITEM_GUST, PL_ITEM_GUSTBIG, PL_ITEM_PACCI_CANE_PROJECTILE, PL_ITEM_HELD_OBJECT, PL_ITEM_SPIRAL_BEAM, PL_ITEM_FIREROD_PROJECTILE, PL_ITEM_SWORDBEAM2, PL_ITEM_NULLED2, PL_ITEM_CELL_OVERWRITE_SET2 }
enum SurfaceType { SURFACE_NORMAL, SURFACE_PIT, SURFACE_2, SURFACE_3, SURFACE_SLOPE_GNDGND_V, SURFACE_SLOPE_GNDGND_H, SURFACE_6, SURFACE_7, SURFACE_MINISH_DOOR_FRONT, SURFACE_MINISH_DOOR_BACK, SURFACE_A, SURFACE_B, SURFACE_SLOPE_GNDWATER, SURFACE_D, SURFACE_E, SURFACE_F, SURFACE_10, SURFACE_SWAMP, SURFACE_DOOR, SURFACE_DOOR_13, SURFACE_14, SURFACE_CLONE_TILE, SURFACE_16, SURFACE_ICE, SURFACE_SHALLOW_WATER, SURFACE_WATER, SURFACE_BUTTON, SURFACE_1B, SURFACE_1C, SURFACE_1D, SURFACE_LADDER, SURFACE_1F, SURFACE_20, SURFACE_21, SURFACE_22, SURFACE_EDGE, SURFACE_24, SURFACE_DUST, SURFACE_26, SURFACE_HOLE, SURFACE_LIGHT_GRADE, SURFACE_29, SURFACE_AUTO_LADDER, SURFACE_CLIMB_WALL, SURFACE_2C, SURFACE_2D, SURFACE_FF = 0xff }
enum PlayerSkill { SKILL_NONE = 0, SKILL_SPIN_ATTACK = 1, SKILL_ROLL_ATTACK = 2, SKILL_DASH_ATTACK = 4, SKILL_ROCK_BREAKER = 8, SKILL_SWORD_BEAM = 0x10, SKILL_GREAT_SPIN = 0x20, SKILL_DOWN_THRUST = 0x40, SKILL_PERIL_BEAM = 0x80, SKILL_FOURSWORD = 0x100, SKILL_FAST_SPIN = 0x200, SKILL_FAST_SPLIT = 0x400, SKILL_LONG_SPIN = 0x800 }
enum PlayerInputState { INPUT_USE_ITEM1 = 0x1, INPUT_USE_ITEM2 = 0x2, INPUT_INTERACT = 0x8, INPUT_CANCEL = 0x10, INPUT_CONTEXT = 0x20, INPUT_40 = 0x40, INPUT_ACTION = 0x80, INPUT_RIGHT = 0x100, INPUT_LEFT = 0x200, INPUT_UP = 0x400, INPUT_DOWN = 0x800, INPUT_ANY_DIRECTION = 0xf00, INPUT_FUSE = 0x1000, INPUT_LIFT_THROW = 0x8000 }
enum SwordMove { SWORD_MOVE_NONE, SWORD_MOVE_SPIN, SWORD_MOVE_ROLL, SWORD_MOVE_DASH, SWORD_MOVE_BREAK_POT, SWORD_MOVE_FULL_BEAM, SWORD_MOVE_GREAT_SPIN, SWORD_MOVE_DOWN_THRUST, SWORD_MOVE_LOW_BEAM }
enum GustJarState { PL_JAR_NONE = 0x0, PL_JAR_SUCK = 0x1, PL_JAR_2 = 0x2, PL_JAR_3 = 0x3, PL_JAR_BLAST_INIT = 0x4, PL_JAR_BLAST_UPDATE = 0x5, PL_JAR_BLAST_DONE = 0x6, PL_JAR_ENT_ATTACHED = 0x7 }
enum GustJarCharge { JAR_CHARGE_NONE = 0, JAR_CHARGE_SMALL = 1, JAR_CHARGE_MID = 2, JAR_CHARGE_BIG = 3 }
enum PlayerAnimation { ANIM_DEFAULT = 0x100, ANIM_WALK = 0x104, ANIM_SWORD = 0x108, ANIM_BOUNCE = 0x114, ANIM_SPINATTACK = 0x124, ANIM_GREATSPIN = 0x128, ANIM_ROLLATTACK_SPIN = 0x12c, ANIM_ROLLATTACK_SLIDE = 0x130, ANIM_ROLLATTACK_END = 0x134, ANIM_SHIELD_PULLOUT = 0x158, ANIM_SHIELD_WALK = 0x160, ANIM_SHIELD = 0x164, ANIM_SWORD_CHARGE = 0x168, ANIM_SWORD_CHARGE_WALK = 0x16c, ANIM_SWORD_CHARGE_BUMP = 0x170, ANIM_DOWN_THRUST = 0x174, ANIM_FALL = 0x1b8, ANIM_GET_ITEM_BIG = 0x1b9, ANIM_FALL_MINISH = 0x1ba, ANIM_DIE1 = 0x1bc, ANIM_GET_WHITE_SWORD = 0x1e2, ANIM_BOW_PULLOUT = 0x21c, ANIM_TRAPPED = 0x25c, ANIM_BOW_SHOOT = 0x27c, ANIM_BOW_CHARGE = 0x280, ANIM_BOW_WALK = 0x284, ANIM_ROCS_CAPE = 0x288, ANIM_SWIM_STILL = 0x28c, ANIM_SWIM_MOVE = 0x290, ANIM_FROZEN = 0x294, ANIM_DASH = 0x298, ANIM_ELECTROCUTED = 0x29c, ANIM_ROLL = 0x2ac, ANIM_DIE2 = 0x2bd, ANIM_DIVE = 0x2be, ANIM_IN_LAVA = 0x2c1, ANIM_PORTAL = 0x2c2, ANIM_PORTAL_SHRINK = 0x2c3, ANIM_DROWN_RESPAWN = 0x2ce, ANIM_CLIMB1_UP = 0x2cf, ANIM_CLIMB2_UP = 0x2d0, ANIM_CLIMB1_DOWN = 0x2d1, ANIM_CLIMB2_DOWN = 0x2d2, ANIM_CLIMB_FROM_TOP = 0x2d3, ANIM_CLIMB_LEFT = 0x2d4, ANIM_CLIMB_RIGHT = 0x2d5, ANIM_CLIMB_TO_TOP = 0x2d6, ANIM_BOTTLE_DRINK = 0x2df, ANIM_GET_ITEM_SMALL = 0x2e0, ANIM_PICKUP = 0x338, ANIM_PUSH = 0x33c, ANIM_PULL = 0x340, ANIM_THROW = 0x344, ANIM_CARRY = 0x348, ANIM_PULL2 = 0x34c, ANIM_CARRY_STAND = 0x350, ANIM_GRAB = 0x378, ANIM_FALL_ON_BACK = 0x3a0, ANIM_LAUNCHED = 0x3c0, ANIM_EZLO_SEARCH = 0x3c5, ANIM_EZLO_APPEAR_LEFT = 0x3c6, ANIM_EZLO_EYES_UP = 0x3c7, ANIM_EZLO_HEAD_DOWN = 0x3c8, ANIM_EZLO_LEAVE_LEFT = 0x3c9, ANIM_EZLO_APPEAR_RIGHT = 0x3ca, ANIM_EZLO_EYES_MIDDLE = 0x3cc, ANIM_EZLO_LEAVE_RIGHT = 0x3cd, ANIM_DEFAULT_NOCAP = 0x400, ANIM_WALK_NOCAP = 0x404, ANIM_SWORD_NOCAP = 0x408, ANIM_SHIELD_PULLOUT_NOCAP = 0x40c, ANIM_SHIELD_WALK_NOCAP = 0x410, ANIM_SHIELD_NOCAP = 0x414, ANIM_BOUNCE_NOCAP = 0x418, ANIM_HOP_NOCAP = 0x41c, ANIM_JUMP_NOCAP = 0x420, ANIM_LAND_NOCAP = 0x424, ANIM_ROLL_NOCAP = 0x438, ANIM_DROWN_NOCAP = 0x44c, ANIM_FALL_NOCAP = 0x458, ANIM_DIE1_NOCAP = 0x459, ANIM_DIE2_NOCAP = 0x45a, ANIM_GET_ITEM_BIG_NOCAP = 0x45b, ANIM_GET_ITEM_SMALL_NOCAP = 0x45e, ANIM_GET_ITEM_SWORD = 0x45f, ANIM_GUSTJAR_PULLOUT = 0x500, ANIM_GUSTJAR_SUCK = 0x504, ANIM_MOLEMITTS_FLOOR = 0x508, ANIM_MOLEMITTS_DIG = 0x50c, ANIM_GUSTJAR_END = 0x510, ANIM_GUSTJAR_BLOW = 0x514, ANIM_GUSTJAR_WALK = 0x518, ANIM_MOLEMITTS_CLANG = 0x51c, ANIM_MOLEMITTS_MISS = 0x520, ANIM_GUSTJAR_524 = 0x524, ANIM_ENTER_POT = 0x52c, ANIM_IN_POT = 0x530, ANIM_LANTERN_LIGHT = 0x600, ANIM_LANTERN_ON = 0x604, ANIM_LANTERN = 0x608, ANIM_LANTERN_BURN = 0x60c, ANIM_BOTTLE_POUR = 0x610, ANIM_BOTTLE_SWING = 0x614, ANIM_BOTTLE_SWING_END = 0x618, ANIM_FALL_IN_HOLE = 0x61c, ANIM_IN_HOLE = 0x620, ANIM_SPRING_JUMP = 0x624, ANIM_CANE = 0x628, ANIM_PARACHUTE_ACTIVATE = 0x700, ANIM_BOOMERANG_MAGIC = 0x704, ANIM_PARACHUTE = 0x708, ANIM_MINECART_PAUSE = 0x70c, ANIM_MINECART = 0x710, ANIM_PARACHUTE_TURN_RIGHT = 0x714, ANIM_PARACHUTE_TURN_OPPOSITE = 0x718, ANIM_PARACHUTE_TURN_LEFT = 0x71c, ANIM_PARACHUTE_TURN2_RIGHT = 0x720, ANIM_PARACHUTE_TURN2_OPPOSITE = 0x724, ANIM_PARACHUTE_TURN2_LEFT = 0x728, ANIM_DROWN = 0x72c, ANIM_PARACHUTE_FALL = 0x730, ANIM_PUT_ON_EZLO = 0x734, ANIM_SLEEP = 0x736, ANIM_WAKEUP = 0x737, ANIM_PORTAL_ACTIVATE = 0x738, ANIM_SLEEP_NOCAP = 0x73a, ANIM_WAKEUP_NOCAP = 0x73b, ANIM_GROW = 0x73c, ANIM_HOP = 0x80c, ANIM_JUMP = 0x810, ANIM_BOOMERANG = 0x818, ANIM_LAND = 0x820, ANIM_MOLDWORM_CAPTURED = 0x8b0, ANIM_GET_NEW_SWORD = 0x8bf, ANIM_OCARINA = 0x8e1, ANIM_GET_LAST_SWORD = 0x8e3, ANIM_GET_NEWCAP = 0x8e4, ANIM_PICKUP_NOCAP = 0x928, ANIM_CARRY_STAND_NOCAP = 0x92c, ANIM_THROW_NOCAP = 0x930, ANIM_CARRY_NOCAP = 0x934, ANIM_PUSH_NOCAP = 0x93c, ANIM_PULL_START_NOCAP = 0x940, ANIM_PULL_NOCAP = 0x944, ANIM_GRAB_NOCAP = 0x948, ANIM_FALL_IN_HOLE_NOCAP = 0x950, ANIM_IN_HOLE_NOCAP = 0x954, ANIM_SWORD_MINISH = 0xc00, ANIM_WALK_MINISH = 0xc04, ANIM_ROLL_MINISH = 0xc08, ANIM_SWIM_MINISH = 0xc0c, ANIM_DASH_MINISH = 0xc10, ANIM_DASH_CHARGE_MINISH = 0xc14, ANIM_BOUNCE_MINISH = 0xc18, ANIM_DROWN_MINISH = 0xc19, ANIM_DIE1_MINISH = 0xc1a, ANIM_DIE2_MINISH = 0xc1b, ANIM_DIVE_MINISH = 0xc1c }
enum PlayerAnimationState { PAS_NORTH, PAS_EAST, PAS_SOUTH, PAS_WEST }
enum InteractionType { INTERACTION_NONE, INTERACTION_TALK, INTERACTION_FUSE, INTERACTION_OPEN_CHEST, INTERACTION_UNUSED, INTERACTION_USE_SMALL_KEY, INTERACTION_USE_BIG_KEY, INTERACTION_TALK_MINISH, INTERACTION_LIFT_SHOP_ITEM, INTERACTION_CHECK, INTERACTION_DROP_PEDESTAL, INTERACTION_NULL = 0xFF }
enum ActionRButton { R_ACTION_NONE, R_ACTION_CANCEL, R_ACTION_DROP, R_ACTION_THROW, R_ACTION_READ, R_ACTION_CHECK, R_ACTION_OPEN, R_ACTION_SPEAK, R_ACTION_GRAB, R_ACTION_LIFT, R_ACTION_GROW, R_ACTION_SHRINK, R_ACTION_ROLL }

Functions

void DoPlayerAction(PlayerEntity* this)
auto CheckInitPauseMenu(void) -> bool32
void SetPlayerControl(PlayerControlMode mode)
void ResetActiveItems(void)
void ResetPlayerVelocity(void)
void ResetPlayerAnimationAndAction(void)
void SetPlayerActionNormal(void)
void RespawnAsMinish(void)
auto CreatePlayerItem(u32 id, u32 type, u32 type2, u32 unk) -> Entity*
void ResolvePlayerAnimation(void)
void RegisterPlayerHitbox(void)
void UpdateFloorType(void)
void CreateEzloHint(u32 hintId, u32 hintHeight)
auto IsItemEquipped(u32 itemId) -> u32
Returns the slot the item is equipped in.
auto GetInventoryValue(u32 item) -> u32
auto SetInventoryValue(u32 item, u32 value) -> u32
auto ModHealth(s32 delta) -> s32
void ModRupees(s32 delta)
void ModBombs(s32 delta)
void DeleteClones(void)
void CreateItemEquippedAtSlot(u32 equipSlot)
void PutAwayItems(void)
void sub_08079E58(s32 speed, u32 direction)
void RespawnPlayer(void)
auto GetSurfaceCalcType(Entity* param_1, s32 x, s32 y) -> SurfaceType
void UpdatePlayerMovement(void)
void EnablePlayerDraw(Entity* this)
void sub_080797EC(void)
void PlayerMinishSetNormalAndCollide(void)
auto sub_08079B24(void) -> u32
void sub_08079708(Entity* this)
void sub_08079744(Entity* this)
void PlayerUpdateSwimming(Entity* this)
auto GetActTileInFront(Entity* player) -> u32
auto sub_080797C4(void) -> u32
void CheckPlayerVelocity(void)
void sub_0807B068(Entity* entity)
auto sub_0807A2F8(u32 param_1) -> u32
void UpdateActiveItems()
auto sub_0807A2B8(void) -> bool32
auto sub_08079550(void) -> u32
auto sub_080782C0(void) -> u32
auto sub_080793E4(u32 param_1) -> bool32
auto sub_08079C30(Entity* player) -> bool32
void ResetLantern(void)
auto CheckQueuedAction(void) -> bool32
void UpdatePlayerSkills(void)
auto sub_0807AC54(Entity* this) -> u32
void sub_080792D8(void)
auto sub_08078F74(Entity* this) -> u32
void AddInteractableAsMinishObject(Entity* ent)
void sub_08078D60(void)
void PlayerSetNormalAndCollide(void)
auto PlayerTryDropObject(ItemBehavior* arg0, u32 unk) -> bool32
Check if player state believes the held item is valid? If it's not delete the item?
void InitItemGetSequence(u32 type, u32 type2, u32 delay)
void sub_0807B7D8(u32 tileType, u32 tilePos, u32 layer)
void SetInteractableObjectCollision(Entity* arg0, u32 ignoreLayer, u32 interactDirections, const void* customHitbox)
void sub_08079D84(void)
auto sub_0807953C(void) -> u32
void sub_0807BB68(const s16* param_1, u32 basePosition, u32 layer)
void SetTileByIndex(u32 tileIndex, u32 tilePos, u32 layer)
void RestorePrevTileEntity(u32 tilePos, u32 layer)
void UpdateItemAnim(ItemBehavior* this)
void PlayerCancelHoldItem(ItemBehavior* this, u32 index)
void RegisterCarryEntity(Entity* this)
void FreeCarryEntity(Entity* this)
void PlayerDropHeldObject()
void PlayerResetStateFromFusion()
void DeleteItemBehavior(ItemBehavior* this, u32 index)
void sub_08077D38(ItemBehavior* this, u32 index)
void SetItemAnim(ItemBehavior* this, u32 animIndex)
void sub_08077E3C(ItemBehavior* this, u32 index)
void sub_080751E8(u32 a1, u32 a2, void* script)
void sub_08077B98(ItemBehavior* unk)
void sub_08077BB8(ItemBehavior* beh)
auto CreatePlayerItemIfNotExists(ItemBehavior* this, u32 index) -> Entity*
auto FindPlayerItemForItem(ItemBehavior* this, u32 index) -> Entity*
auto PlayerCanBeMoved(void) -> bool32
auto sub_08077EC8(ItemBehavior* this) -> bool32
auto IsItemActive(ItemBehavior* this) -> bool32
auto IsItemActivatedThisFrame(ItemBehavior* this) -> bool32
auto IsItemActiveByInput(ItemBehavior* this, PlayerInputState input) -> bool32
auto sub_08077FEC(u32 action) -> bool32
void DetermineRButtonInteraction(void)
void ResetPossibleInteraction()
void AddInteractableFuser(Entity*, u32)
void AddInteractableSmallKeyLock(Entity* ent)
auto AddInteractableBossDoor(Entity* ent) -> s32
auto AddInteractableObject(Entity*, u32, u32) -> s32
void RemoveInteractableObject(Entity* entity)
Clear entry for Entity.
auto GetInteractableObjectIndex() -> s32
void sub_08078AC0(u32 param_1, u32 param_2, u32 param_3)
void PausePlayer(void)
void sub_08078E84(Entity* param_1, Entity* param_2)
void sub_08078FB0(Entity* this)
void sub_080792BC(s32 speed, u32 direction, u32 field_0x38)
void sub_08079BD8(Entity* this)
auto sub_08079D48() -> u32
auto sub_08079FC4(u32 param_1) -> u32
void UpdatePlayerPalette(void)
void sub_0807A5B8(u32 direction)
void sub_0807A8D8(Entity* this)
void sub_0807AA80(Entity* this)
void sub_0807AABC(Entity* this)
void PlayerSwimming(Entity* this)
auto GetSwordBeam() -> u32
Returns which kind of sword projectile is created.
void sub_0807B0C8(void)
auto sub_0807BD14(Entity* this, u32 scrollDirection) -> bool32
auto CreatePlayerItemWithParent(ItemBehavior* this, u32 id) -> Entity*
auto HasSwordEquipped() -> bool32
auto GetPlayerPalette(bool32 use) -> u32
void PlayerShrinkByRay(void)
auto PlayerCheckNEastTile() -> u32
auto DoTileInteractionHere(Entity*, u32) -> u32*
void UpdateIcePlayerVelocity(Entity*)
void sub_08008AC6(Entity*)
void sub_08008926(Entity*)
void sub_08008AA0(Entity*)
void SetZeldaFollowTarget(Entity* target)

Variables

void(*const gPlayerItemFunctions
const Wallet gWalletSizes
const u8 gBombBagSizes
const u8 gQuiverSizes
Entity* gPlayerClones
PlayerState gPlayerState
PlayerEntity gPlayerEntity

Defines

#define SLOT_A
#define SLOT_B
#define COPY_FLAG_FROM_TO(base, src, dest)

Function documentation

u32 IsItemEquipped(u32 itemId)

Returns the slot the item is equipped in.

0: A 1: B 2: Not equipped

u32 GetInventoryValue(u32 item)

u32 SetInventoryValue(u32 item, u32 value)