bf8b09b1b6
* Emptied out item_ball_scripts Added GetObjectEventTrainerRangeFromTemplate Added Common_EventScript_FindItem * Replaced trainer_sight_or_berry_tree_id with item constant Replaced scripts with Common_EventScript_FindItem * Renamed to GetItemBallIdAndAmountFromTemplate Moved to item_ball.c * Updated ObjectEventTemplate * Updated inc files to support plural item names * Refactored CopyItemNameHandlePlural to handle all items * Change failsafe in GetItemBallIdFromTemplate to be ITEM_NONE + 1 instead of ITEMS_COUNT * Converted spaces to tabs https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415663 https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415525 https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415409 https://github.com/rh-hideout/pokeemerald-expansion/pull/3942\#discussion_r1446415130 * Added warning on object_event macro to prevent silent failure Reverted global.fieldmap to original state, per feedback --------- Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
32 lines
925 B
C
32 lines
925 B
C
#include "global.h"
|
|
#include "item_ball.h"
|
|
#include "event_data.h"
|
|
#include "constants/event_objects.h"
|
|
#include "constants/items.h"
|
|
|
|
static u32 GetItemBallAmountFromTemplate(u32);
|
|
static u32 GetItemBallIdFromTemplate(u32);
|
|
|
|
static u32 GetItemBallAmountFromTemplate(u32 itemBallId)
|
|
{
|
|
u32 amount = gMapHeader.events->objectEvents[itemBallId].movementRangeX;
|
|
|
|
if (amount > MAX_BAG_ITEM_CAPACITY)
|
|
return MAX_BAG_ITEM_CAPACITY;
|
|
|
|
return (amount == 0) ? 1 : amount;
|
|
}
|
|
|
|
static u32 GetItemBallIdFromTemplate(u32 itemBallId)
|
|
{
|
|
u32 itemId = gMapHeader.events->objectEvents[itemBallId].trainerRange_berryTreeId;
|
|
|
|
return (itemId >= ITEMS_COUNT) ? (ITEM_NONE + 1) : itemId;
|
|
}
|
|
|
|
void GetItemBallIdAndAmountFromTemplate(void)
|
|
{
|
|
u32 itemBallId = (gSpecialVar_LastTalked - 1);
|
|
gSpecialVar_Result = GetItemBallIdFromTemplate(itemBallId);
|
|
gSpecialVar_0x8009 = GetItemBallAmountFromTemplate(itemBallId);
|
|
}
|