Foolish items

This commit is contained in:
gymnast86
2026-05-11 13:47:17 -07:00
parent 5e69c7bdce
commit ba5a59eee2
16 changed files with 507 additions and 367 deletions
+5
View File
@@ -46,6 +46,11 @@ public:
s32 getSeLoadStatus(u32 wave) { return getWaveLoadStatus(wave, 0); }
s32 getBgmLoadStatus(u32 wave) { return getWaveLoadStatus(wave, 1); }
u8 getDemoSeWaveNum() { return loadedDemoWave; }
#if TARGET_PC
u8 getLoadedSeWave_1() { return loadedSeWave_1;}
u8 getLoadedSeWave_2() { return loadedSeWave_2;}
#endif
private:
/* 0x00 */ JAISoundID BGM_ID;
+1 -1
View File
@@ -115,7 +115,7 @@ public:
bool checkBoomWindTgTimer() { return mBoomWindTgTimer == 0; }
#if TARGET_PC
void setRandomizerItem();
void setRandomizerItem(bool setFoolishItemModel = false);
#endif
static procFunc mFuncPtr[];
+5
View File
@@ -7,4 +7,9 @@ class fopAc_ac_c;
int CheckFieldItemCreateHeap(fopAc_ac_c* actor);
int CheckItemCreateHeap(fopAc_ac_c* i_this);
#if TARGET_PC
// Used for foolish items in rando. Foolish item model id is saved to home.angle.z
#define M_ITEMNO_MODEL_ITEM_ID (IF_DUSK(randomizer_IsActive() && m_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e && home.angle.z != 0 ? home.angle.z :) m_itemNo)
#endif
#endif /* D_A_D_A_ITEMBASE_STATIC_H */
+256 -256
View File
@@ -2234,261 +2234,261 @@ void daAlink_c::setGetSubBgm(int i_itemNo) {
#if TARGET_PC
// Randomizer SeType changes
static const u8 getSeTypeRandomizer[255] = {
/* fpcNm_ITEM_HEART */ SETYPE_NONE,
/* fpcNm_ITEM_GREEN_RUPEE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BLUE_RUPEE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_YELLOW_RUPEE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_RED_RUPEE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_PURPLE_RUPEE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_ORANGE_RUPEE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_SILVER_RUPEE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_S_MAGIC */ SETYPE_NONE,
/* fpcNm_ITEM_L_MAGIC */ SETYPE_NONE,
/* fpcNm_ITEM_BOMB_5 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_10 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_20 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_30 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_ARROW_10 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_ARROW_20 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_ARROW_30 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_ARROW_1 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_PACHINKO_SHOT */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_NOENTRY_19 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_20 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_21 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WATER_BOMB_5 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_WATER_BOMB_10 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_WATER_BOMB_20 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_WATER_BOMB_30 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_INSECT_5 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_INSECT_10 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_INSECT_20 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_BOMB_INSECT_30 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_RECOVERY_FAILY */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_TRIPLE_HEART */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_SMALL_KEY */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_KAKERA_HEART */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_UTAWA_HEART */ SETYPE_HEART,
/* fpcNm_ITEM_MAP */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_COMPUS */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_DUNGEON_EXIT */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BOSS_KEY */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_DUNGEON_BACK */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_SWORD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_MASTER_SWORD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_WOOD_SHIELD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_SHIELD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_HYLIA_SHIELD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_TKS_LETTER */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WEAR_CASUAL */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WEAR_KOKIRI */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ARMOR */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_WEAR_ZORA */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_MAGIC_LV1 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_DUNGEON_EXIT_2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WALLET_LV1 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WALLET_LV2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_WALLET_LV3 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_55 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_56 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_57 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_58 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_59 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_60 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ZORAS_JEWEL */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_HAWK_EYE */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_WOOD_STICK */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BOOMERANG */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_SPINNER */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_IRONBALL */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_BOW */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_HOOKSHOT */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_HVY_BOOTS */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_COPY_ROD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_W_HOOKSHOT */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_KANTERA */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_LIGHT_SWORD */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_FISHING_ROD_1 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_PACHINKO */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_COPY_ROD_2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_77 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_78 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BOMB_BAG_LV2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_BOMB_BAG_LV1 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_BOMB_IN_BAG */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_82 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LIGHT_ARROW */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ARROW_LV1 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ARROW_LV2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_ARROW_LV3 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_87 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LURE_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BOMB_ARROW */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_HAWK_ARROW */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BEE_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_JEWEL_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WORM_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_JEWEL_BEE_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_JEWEL_WORM_ROD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_EMPTY_BOTTLE */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_RED_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_GREEN_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BLUE_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_MILK_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_HALF_MILK_BOTTLE */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_OIL_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WATER_BOTTLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_OIL_BOTTLE_2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_RED_BOTTLE_2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_UGLY_SOUP */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_HOT_SPRING */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_FAIRY */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_HOT_SPRING_2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_OIL2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_OIL */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NORMAL_BOMB */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WATER_BOMB */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_POKE_BOMB */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_FAIRY_DROP */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_WORM */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_DROP_BOTTLE */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_BEE_CHILD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_RARE */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_CHUCHU_RED */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_BLUE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_GREEN */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_YELLOW */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_PURPLE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LV1_SOUP */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LV2_SOUP */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LV3_SOUP */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LETTER */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_BILL */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_WOOD_STATUE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_IRIAS_PENDANT */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_HORSE_FLUTE */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_133 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_134 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_135 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_136 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_137 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_138 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_139 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_140 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_141 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_142 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_143 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_RAFRELS_MEMO */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ASHS_SCRIBBLING */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_146 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_147 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_148 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_149 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_150 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_151 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_152 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_153 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_154 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_155 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_YELLOW2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_OIL_BOTTLE3 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_SHOP_BEE_CHILD */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_CHUCHU_BLACK */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LIGHT_DROP */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_DROP_CONTAINER */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_DROP_CONTAINER02 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_DROP_CONTAINER03 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_FILLED_CONTAINER */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_MIRROR_PIECE_2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_MIRROR_PIECE_3 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_MIRROR_PIECE_4 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_168 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_169 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_170 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_171 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_172 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_173 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_174 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_175 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_SMELL_YELIA_POUCH */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_SMELL_PUMPKIN */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_SMELL_POH */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_SMELL_FISH */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_SMELL_CHILDREN */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_SMELL_MEDICINE */ SETYPE_ITEM_GET_SMELL,
/* fpcNm_ITEM_NOENTRY_182 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_183 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_184 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_185 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_186 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_187 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_188 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_189 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_190 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_NOENTRY_191 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_M_BEETLE */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_BEETLE */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_BUTTERFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_BUTTERFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_STAG_BEETLE */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_STAG_BEETLE */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_GRASSHOPPER */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_GRASSHOPPER */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_NANAFUSHI */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_NANAFUSHI */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_DANGOMUSHI */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_DANGOMUSHI */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_MANTIS */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_MANTIS */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_LADYBUG */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_LADYBUG */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_SNAIL */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_SNAIL */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_DRAGONFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_DRAGONFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_ANT */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_ANT */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_M_MAYFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_F_MAYFLY */ SETYPE_ITEM_GET_INSECT,
/* fpcNm_ITEM_NOENTRY_216 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_217 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_218 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_219 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_220 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_221 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_222 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_223 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_POU_SPIRIT */ SETYPE_ITEM_GET_POU,
/* fpcNm_ITEM_NOENTRY_225 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_226 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_227 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_228 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_229 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_230 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_231 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_NOENTRY_232 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_ANCIENT_DOCUMENT */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_AIR_LETTER */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_ANCIENT_DOCUMENT2 */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_LV7_DUNGEON_EXIT */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LINKS_SAVINGS */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_SMALL_KEY2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_POU_FIRE1 */ SETYPE_NONE,
/* fpcNm_ITEM_POU_FIRE2 */ SETYPE_NONE,
/* fpcNm_ITEM_POU_FIRE3 */ SETYPE_NONE,
/* fpcNm_ITEM_POU_FIRE4 */ SETYPE_NONE,
/* fpcNm_ITEM_BOSSRIDER_KEY */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_TOMATO_PUREE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_TASTE */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_LV5_BOSS_KEY */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_SURFBOARD */ SETYPE_NONE,
/* fpcNm_ITEM_KANTERA2 */ SETYPE_ITEM_GET_ME,
/* fpcNm_ITEM_L2_KEY_PIECES1 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_L2_KEY_PIECES2 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_L2_KEY_PIECES3 */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_KEY_OF_CARAVAN */ SETYPE_ITEM_GET_MINI,
/* fpcNm_ITEM_LV2_BOSS_KEY */ SETYPE_ITEM_GET,
/* fpcNm_ITEM_KEY_OF_FILONE */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HEART_e */ SETYPE_NONE,
/* dItemNo_Randomizer_GREEN_RUPEE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BLUE_RUPEE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_YELLOW_RUPEE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_RED_RUPEE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_PURPLE_RUPEE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_ORANGE_RUPEE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_SILVER_RUPEE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_S_MAGIC_e */ SETYPE_NONE,
/* dItemNo_Randomizer_L_MAGIC_e */ SETYPE_NONE,
/* dItemNo_Randomizer_BOMB_5_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_10_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_20_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_30_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_ARROW_10_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_ARROW_20_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_ARROW_30_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_ARROW_1_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_PACHINKO_SHOT_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_FOOLISH_ITEM_e_e */ SETYPE_NONE,
/* dItemNo_Randomizer_NOENTRY_20_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_21_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WATER_BOMB_5_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_WATER_BOMB_10_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_WATER_BOMB_20_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_WATER_BOMB_30_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_INSECT_5_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_INSECT_10_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_INSECT_20_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_BOMB_INSECT_30_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_RECOVERY_FAILY_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_TRIPLE_HEART_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_SMALL_KEY_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_KAKERA_HEART_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_UTAWA_HEART_e */ SETYPE_HEART,
/* dItemNo_Randomizer_MAP_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_COMPUS_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_DUNGEON_EXIT_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BOSS_KEY_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_DUNGEON_BACK_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_SWORD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_MASTER_SWORD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_WOOD_SHIELD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_SHIELD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_HYLIA_SHIELD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_TKS_LETTER_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WEAR_CASUAL_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WEAR_KOKIRI_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ARMOR_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_WEAR_ZORA_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_MAGIC_LV1_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_DUNGEON_EXIT_2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WALLET_LV1_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WALLET_LV2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_WALLET_LV3_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_55_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_56_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_57_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_58_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_59_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_60_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ZORAS_JEWEL_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_HAWK_EYE_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_WOOD_STICK_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BOOMERANG_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_SPINNER_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_IRONBALL_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_BOW_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_HOOKSHOT_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_HVY_BOOTS_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_COPY_ROD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_W_HOOKSHOT_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_KANTERA_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_LIGHT_SWORD_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_FISHING_ROD_1_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_PACHINKO_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_COPY_ROD_2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_77_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_78_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BOMB_BAG_LV2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_BOMB_BAG_LV1_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_BOMB_IN_BAG_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_82_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LIGHT_ARROW_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ARROW_LV1_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ARROW_LV2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_ARROW_LV3_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_87_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LURE_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BOMB_ARROW_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HAWK_ARROW_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BEE_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_JEWEL_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WORM_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_JEWEL_BEE_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_JEWEL_WORM_ROD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_EMPTY_BOTTLE_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_RED_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_GREEN_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BLUE_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_MILK_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HALF_MILK_BOTTLE_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_OIL_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WATER_BOTTLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_OIL_BOTTLE_2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_RED_BOTTLE_2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_UGLY_SOUP_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HOT_SPRING_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_FAIRY_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HOT_SPRING_2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_OIL2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_OIL_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NORMAL_BOMB_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WATER_BOMB_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_POKE_BOMB_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_FAIRY_DROP_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_WORM_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_DROP_BOTTLE_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_BEE_CHILD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_RARE_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_CHUCHU_RED_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_BLUE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_GREEN_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_YELLOW_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_PURPLE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LV1_SOUP_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LV2_SOUP_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LV3_SOUP_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LETTER_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_BILL_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_WOOD_STATUE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_IRIAS_PENDANT_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_HORSE_FLUTE_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_133_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_134_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_135_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_136_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_137_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_138_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_139_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_140_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_141_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_142_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_143_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_RAFRELS_MEMO_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ASHS_SCRIBBLING_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_146_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_147_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_148_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_149_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_150_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_151_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_152_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_153_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_154_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_155_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_YELLOW2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_OIL_BOTTLE3_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_SHOP_BEE_CHILD_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_CHUCHU_BLACK_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LIGHT_DROP_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_DROP_CONTAINER_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_DROP_CONTAINER02_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_DROP_CONTAINER03_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_FILLED_CONTAINER_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_MIRROR_PIECE_2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_MIRROR_PIECE_3_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_MIRROR_PIECE_4_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_168_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_169_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_170_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_171_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_172_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_173_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_174_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_175_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_SMELL_YELIA_POUCH_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_SMELL_PUMPKIN_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_SMELL_POH_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_SMELL_FISH_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_SMELL_CHILDREN_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_SMELL_MEDICINE_e */ SETYPE_ITEM_GET_SMELL,
/* dItemNo_Randomizer_NOENTRY_182_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_183_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_184_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_185_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_186_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_187_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_188_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_189_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_190_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_NOENTRY_191_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_M_BEETLE_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_BEETLE_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_BUTTERFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_BUTTERFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_STAG_BEETLE_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_STAG_BEETLE_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_GRASSHOPPER_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_GRASSHOPPER_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_NANAFUSHI_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_NANAFUSHI_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_DANGOMUSHI_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_DANGOMUSHI_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_MANTIS_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_MANTIS_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_LADYBUG_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_LADYBUG_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_SNAIL_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_SNAIL_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_DRAGONFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_DRAGONFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_ANT_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_ANT_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_M_MAYFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_F_MAYFLY_e */ SETYPE_ITEM_GET_INSECT,
/* dItemNo_Randomizer_NOENTRY_216_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_217_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_218_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_219_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_220_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_221_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_222_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_223_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_POU_SPIRIT_e */ SETYPE_ITEM_GET_POU,
/* dItemNo_Randomizer_NOENTRY_225_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_226_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_227_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_228_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_229_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_230_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_231_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_NOENTRY_232_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_ANCIENT_DOCUMENT_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_AIR_LETTER_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_ANCIENT_DOCUMENT2_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_LV7_DUNGEON_EXIT_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LINKS_SAVINGS_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_SMALL_KEY2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_POU_FIRE1_e */ SETYPE_NONE,
/* dItemNo_Randomizer_POU_FIRE2_e */ SETYPE_NONE,
/* dItemNo_Randomizer_POU_FIRE3_e */ SETYPE_NONE,
/* dItemNo_Randomizer_POU_FIRE4_e */ SETYPE_NONE,
/* dItemNo_Randomizer_BOSSRIDER_KEY_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_TOMATO_PUREE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_TASTE_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_LV5_BOSS_KEY_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_SURFBOARD_e */ SETYPE_NONE,
/* dItemNo_Randomizer_KANTERA2_e */ SETYPE_ITEM_GET_ME,
/* dItemNo_Randomizer_L2_KEY_PIECES1_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_L2_KEY_PIECES2_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_L2_KEY_PIECES3_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_KEY_OF_CARAVAN_e */ SETYPE_ITEM_GET_MINI,
/* dItemNo_Randomizer_LV2_BOSS_KEY_e */ SETYPE_ITEM_GET,
/* dItemNo_Randomizer_KEY_OF_FILONE_e */ SETYPE_ITEM_GET_MINI,
};
#endif
@@ -2507,7 +2507,7 @@ void daAlink_c::setGetSubBgm(int i_itemNo) {
se_type = SETYPE_ITEM_GET_ME_S;
}
if (se_type != SETYPE_NONE) {
if (se_type != SETYPE_NONE IF_DUSK(|| i_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e)) {
mDoAud_subBgmStart(bgmLabel[se_type]);
dComIfGp_setMesgBgmOn();
}
+36 -18
View File
@@ -75,7 +75,7 @@ void daItem_c::setBaseMtx() {
if (mpModel != NULL) {
mpModel->setBaseScale(scale);
switch (m_itemNo) {
switch (M_ITEMNO_MODEL_ITEM_ID) {
case dItemNo_GREEN_RUPEE_e:
case dItemNo_BLUE_RUPEE_e:
case dItemNo_YELLOW_RUPEE_e:
@@ -162,8 +162,8 @@ void daItem_c::CreateInit() {
mCcCyl.SetCoHitCallback(itemGetCoCallBack);
mCcCyl.SetTgHitCallback(itemGetTgCallBack);
f32 cylHeight = dItem_data::getH(m_itemNo);
f32 cylRadius = dItem_data::getR(m_itemNo);
f32 cylHeight = dItem_data::getH(M_ITEMNO_MODEL_ITEM_ID);
f32 cylRadius = dItem_data::getR(M_ITEMNO_MODEL_ITEM_ID);
if (scale.x > 1.0f) {
cylHeight *= scale.x;
@@ -184,7 +184,7 @@ void daItem_c::CreateInit() {
#if TARGET_PC
if (randomizer_IsActive()) {
// Adjust item scale based on item ID
switch(m_itemNo)
switch(M_ITEMNO_MODEL_ITEM_ID)
{
case dItemNo_Randomizer_KAKERA_HEART_e:
case dItemNo_Randomizer_UTAWA_HEART_e:
@@ -260,7 +260,7 @@ void daItem_c::CreateInit() {
if (m_itemNo == dItemNo_BOOMERANG_e IF_DUSK(&& !randomizer_IsActive())) {
itemGetNextExecute();
} else if ((m_itemNo == dItemNo_ORANGE_RUPEE_e || m_itemNo == dItemNo_SILVER_RUPEE_e) &&
} else if ((M_ITEMNO_MODEL_ITEM_ID == dItemNo_ORANGE_RUPEE_e || M_ITEMNO_MODEL_ITEM_ID == dItemNo_SILVER_RUPEE_e) &&
mSparkleEmtr.getEmitter() == NULL)
{
dComIfGp_particle_set(0x0C14, &mSparklePos, NULL, NULL, -1, &mSparkleEmtr, -1, NULL, NULL,
@@ -316,7 +316,7 @@ int daItem_c::_daItem_create() {
shape_angle.z = 0;
shape_angle.x = 0;
#if TARGET_PC
setRandomizerItem();
setRandomizerItem(/*setFoolishItemModel = */true);
#endif
field_0x95d = true;
}
@@ -359,10 +359,12 @@ int daItem_c::_daItem_create() {
if (flag) {
CreateInit();
} else {
phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
#if TARGET_PC
#endif
phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap,
dItem_data::getFieldHeapSize(m_itemNo)))
dItem_data::getFieldHeapSize(M_ITEMNO_MODEL_ITEM_ID)))
{
return cPhs_ERROR_e;
}
@@ -379,7 +381,7 @@ int daItem_c::_daItem_execute() {
CountTimer();
eyePos = current.pos;
eyePos.y += (f32)dItem_data::getH(m_itemNo) / 2;
eyePos.y += (f32)dItem_data::getH(M_ITEMNO_MODEL_ITEM_ID) / 2;
attention_info.position = current.pos;
@@ -421,7 +423,7 @@ int daItem_c::_daItem_execute() {
mLastPos = current.pos;
field_0x95f = (fopAcM_checkHookCarryNow(this) >> 0x14) & 1;
if (m_itemNo == dItemNo_ORANGE_RUPEE_e || m_itemNo == dItemNo_SILVER_RUPEE_e) {
if (M_ITEMNO_MODEL_ITEM_ID == dItemNo_ORANGE_RUPEE_e || M_ITEMNO_MODEL_ITEM_ID == dItemNo_SILVER_RUPEE_e) {
mSparklePos = current.pos;
mSparklePos.y += 18.0f;
}
@@ -448,11 +450,11 @@ int daItem_c::_daItem_draw() {
int daItem_c::_daItem_delete() {
mSound.deleteObject();
if (m_itemNo == dItemNo_ORANGE_RUPEE_e || m_itemNo == dItemNo_SILVER_RUPEE_e) {
if (M_ITEMNO_MODEL_ITEM_ID == dItemNo_ORANGE_RUPEE_e || M_ITEMNO_MODEL_ITEM_ID == dItemNo_SILVER_RUPEE_e) {
mSparkleEmtr.remove();
}
DeleteBase(dItem_data::getFieldArc(m_itemNo));
DeleteBase(dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
return 1;
}
@@ -550,7 +552,7 @@ void daItem_c::procMainSimpleGetDemo() {
void daItem_c::procInitGetDemoEvent() {
hide();
if (m_itemNo == dItemNo_ORANGE_RUPEE_e || m_itemNo == dItemNo_SILVER_RUPEE_e) {
if (M_ITEMNO_MODEL_ITEM_ID == dItemNo_ORANGE_RUPEE_e || M_ITEMNO_MODEL_ITEM_ID == dItemNo_SILVER_RUPEE_e) {
mSparkleEmtr.remove();
}
@@ -561,12 +563,19 @@ void daItem_c::procInitGetDemoEvent() {
#if TARGET_PC
// Set rando item again incase this item is progressive and
// player picked up another one before this one on the same stage
u8 oldItemNo = m_itemNo;
setRandomizerItem();
#endif
m_item_id = fopAcM_createItemForTrBoxDemo(&current.pos, m_itemNo, -1, fopAcM_GetRoomNo(this),
NULL, NULL);
JUT_ASSERT(0, m_item_id != fpcM_ERROR_PROCESS_ID_e);
#if TARGET_PC
// Set the itemNo back to the old one since the game relies on this
// to properly delete the arc it loaded
m_itemNo = oldItemNo;
#endif
setStatus(STATUS_WAIT_GET_DEMO_EVENT_e);
}
@@ -623,8 +632,8 @@ void daItem_c::procInitBoomerangCarry() {
scale = mItemScale;
mBoomerangMove.initOffset(&current.pos);
u8 height = dItem_data::getH(m_itemNo);
u8 radius = dItem_data::getR(m_itemNo);
u8 height = dItem_data::getH(M_ITEMNO_MODEL_ITEM_ID);
u8 radius = dItem_data::getR(M_ITEMNO_MODEL_ITEM_ID);
mCcCyl.SetR((f32)radius * 2.0f);
mCcCyl.SetH((f32)height * 2.0f);
mCcCyl.OnCoSPrmBit(1);
@@ -807,7 +816,7 @@ void daItem_c::mode_wait() {
mAcch.SetGrndNone();
}
switch (m_itemNo) {
switch (M_ITEMNO_MODEL_ITEM_ID) {
case dItemNo_HEART_e:
itemActionForHeart();
break;
@@ -851,7 +860,7 @@ void daItem_c::mode_water() {
}
f32 scale = 1.0f;
switch (m_itemNo) {
switch (M_ITEMNO_MODEL_ITEM_ID) {
case dItemNo_HEART_e:
scale = 0.5f;
break;
@@ -902,6 +911,7 @@ void daItem_c::itemGetNextExecute() {
case dItemNo_ARROW_1_e:
procInitSimpleGetDemo();
itemGet();
break;
case dItemNo_BLUE_RUPEE_e:
case dItemNo_YELLOW_RUPEE_e:
case dItemNo_RED_RUPEE_e:
@@ -994,6 +1004,7 @@ void daItem_c::itemGet() {
#if TARGET_PC
// Set rando item again incase this item is progressive and
// player picked up another one before this one on the same stage
u8 oldItemNo = m_itemNo;
setRandomizerItem();
#endif
switch (m_itemNo) {
@@ -1058,6 +1069,9 @@ void daItem_c::itemGet() {
OS_REPORT_ERROR("[daItem_c]ゲット処理が定義されていません[%d]\n", m_itemNo);
break;
}
#if TARGET_PC
m_itemNo = oldItemNo;
#endif
}
BOOL daItem_c::checkCountTimer() {
@@ -1221,7 +1235,7 @@ void daItem_c::set_bound_se() {
}
#if TARGET_PC
void daItem_c::setRandomizerItem() {
void daItem_c::setRandomizerItem(bool setFoolishItemModel) {
if (randomizer_IsActive()) {
u32 params = fopAcM_GetParam(this);
u8 flag = daItem_prm::getItemBitNo(this);
@@ -1236,6 +1250,10 @@ void daItem_c::setRandomizerItem() {
params |= verifyProgressiveItem(newItemId);
fopAcM_SetParam(this, params);
m_itemNo = daItem_prm::getItemNo(this);
// Set the ice trap model if this is an ice trap, and it isn't set
if (setFoolishItemModel && m_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e && home.angle.z == 0) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
}
}
}
}
+13 -9
View File
@@ -95,8 +95,8 @@ int daObjLife_c::Create() {
mCcCyl.SetStts(&mCcStts);
mCcCyl.SetCoHitCallback(lifeGetCoCallBack);
mCcCyl.SetTgHitCallback(lifeGetTgCallBack);
mCcCyl.SetR(dItem_data::getR(m_itemNo));
mCcCyl.SetH(dItem_data::getH(m_itemNo));
mCcCyl.SetR(dItem_data::getR(M_ITEMNO_MODEL_ITEM_ID));
mCcCyl.SetH(dItem_data::getH(M_ITEMNO_MODEL_ITEM_ID));
fopAcM_SetCullSize(this, fopAc_CULLSPHERE_0_e);
fopAcM_SetGravity(this, -3.2f);
@@ -145,7 +145,7 @@ void daObjLife_c::setEffect() {
#if TARGET_PC
if (randomizer_IsActive()) {
// In randomizer, we don't want rupees or poe souls to sparkle. They are bright enough.
switch(m_itemNo)
switch(M_ITEMNO_MODEL_ITEM_ID)
{
case dItemNo_Randomizer_GREEN_RUPEE_e:
case dItemNo_Randomizer_BLUE_RUPEE_e:
@@ -238,8 +238,12 @@ int daObjLife_c::create() {
params |= itemId;
fopAcM_SetParam(this, params);
if (itemId == dItemNo_Randomizer_FOOLISH_ITEM_e) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
}
// Also adjust the height of the object depending on the item
switch (itemId) {
switch (itemId == dItemNo_Randomizer_FOOLISH_ITEM_e ? home.angle.z : itemId) {
case dItemNo_Randomizer_MASTER_SWORD_e:
case dItemNo_Randomizer_LIGHT_SWORD_e:
case dItemNo_Randomizer_WOOD_SHIELD_e:
@@ -341,7 +345,7 @@ int daObjLife_c::create() {
return cPhs_ERROR_e;
}
int phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
int phase_state = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, 0x4000)) {
return cPhs_ERROR_e;
@@ -563,8 +567,8 @@ int daObjLife_c::actionInitBoomerangCarry() {
mCcCyl.OnTgSPrmBit(1);
mCcCyl.OnCoSPrmBit(1);
f32 height = dItem_data::getH(m_itemNo) * 4.0f;
f32 radius = dItem_data::getR(m_itemNo) * 4.0f;
f32 height = dItem_data::getH(M_ITEMNO_MODEL_ITEM_ID) * 4.0f;
f32 radius = dItem_data::getR(M_ITEMNO_MODEL_ITEM_ID) * 4.0f;
mCcCyl.SetR(radius);
mCcCyl.SetH(height);
@@ -603,7 +607,7 @@ void daObjLife_c::calcScale() {
f32 newScale = 1.0f;
if (randomizer_IsActive()) {
// Change scale for certain items
switch (m_itemNo) {
switch (M_ITEMNO_MODEL_ITEM_ID) {
case dItemNo_Randomizer_KAKERA_HEART_e:
case dItemNo_Randomizer_UTAWA_HEART_e:
case dItemNo_Randomizer_ARROW_10_e:
@@ -717,7 +721,7 @@ int daObjLife_c::_delete() {
endEffect00();
endEffect02();
DeleteBase(dItem_data::getFieldArc(m_itemNo));
DeleteBase(dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
return 1;
}
+10 -2
View File
@@ -109,6 +109,14 @@ int daItemShield_c::__CreateHeap() {
int daItemShield_c::create() {
fopAcM_ct(this, daItemShield_c);
m_itemNo = IF_DUSK(randomizer_IsActive() ? randomizer_getItemAtLocation("Ordon Shield") : ) dItemNo_WOOD_SHIELD_e;
#if TARGET_PC
// Use home.angle.x as a check to see if we've set the foolish item model or not
// Otherwise we end up setting it twice
if (randomizer_IsActive() && m_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e && home.angle.x != 0) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
home.angle.x = 0;
}
#endif
if (fopAcM_isSwitch(this, getSwBit2())) {
OS_REPORT("木の盾:もう取ったので出ません\n");
return cPhs_ERROR_e;
@@ -119,7 +127,7 @@ int daItemShield_c::create() {
if (getSwBit() == 0xff) {
OS_REPORT("[43;30m木の盾:スイッチビット指定がありません!\n\x1b[m");
}
int rv = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
int rv = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
if (rv == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, 0x820) == 0) {
return cPhs_ERROR_e;
@@ -338,7 +346,7 @@ int daItemShield_c::draw() {
}
int daItemShield_c::_delete() {
daItemBase_c::DeleteBase(dItem_data::getFieldArc(m_itemNo));
daItemBase_c::DeleteBase(dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
return 1;
}
+14 -3
View File
@@ -9,6 +9,9 @@
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "d/d_item_data.h"
#if TARGET_PC
#include "dusk/randomizer/game/verify_item_functions.h"
#endif
static cull_box l_cull_box = {{-200.0f, 0.0f, -200.0f}, {200.0f, 100.0f, 200.0f}};
@@ -36,12 +39,20 @@ int daObjSword_c::Create() {
cPhs_Step daObjSword_c::create() {
fopAcM_ct(this, daObjSword_c);
m_itemNo = IF_DUSK(randomizer_IsActive() ? static_cast<u8>(randomizer_getItemAtLocation("Ordon Sword")): ) 0x28;
m_itemNo = IF_DUSK(randomizer_IsActive() ? verifyProgressiveItem(randomizer_getItemAtLocation("Ordon Sword")): ) 0x28;
#if TARGET_PC
// Use home.angle.x as a check to see if we've set the foolish item model or not.
// Otherwise we end up setting it twice
if (randomizer_IsActive() && m_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e && home.angle.x != 0) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
home.angle.x = 0;
}
#endif
if (fopAcM_isItem(this, getItemBit())) {
return cPhs_ERROR_e;
}
cPhs_Step phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
cPhs_Step phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, CheckFieldItemCreateHeap, 0x4000)) {
return cPhs_ERROR_e;
@@ -120,7 +131,7 @@ int daObjSword_c::draw() {
}
int daObjSword_c::_delete() {
DeleteBase(dItem_data::getFieldArc(m_itemNo));
DeleteBase(dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
return 1;
}
+8 -2
View File
@@ -40,9 +40,15 @@ int daObjZCloth_c::create() {
// Override the item id in randomizer
if (randomizer_IsActive()) {
m_itemNo = verifyProgressiveItem(randomizer_getItemAtLocation("Rutelas Blessing"));
// Use home.angle.x as a check to see if we've set the foolish item model or not
// Otherwise we end up setting it twice
if (m_itemNo == dItemNo_Randomizer_FOOLISH_ITEM_e && home.angle.x != 0) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
home.angle.x = 0;
}
// TODO: Set rotation/height/scale depending on the item (low prio, can figure this out later)
scale.setall(1.5f);
switch (m_itemNo) {
switch (M_ITEMNO_MODEL_ITEM_ID) {
case dItemNo_Randomizer_WOOD_STICK_e:
shape_angle.x = 0x4000;
break;
@@ -57,7 +63,7 @@ int daObjZCloth_c::create() {
}
}
#endif
int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(M_ITEMNO_MODEL_ITEM_ID));
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, 0x2fb0)) {
return cPhs_ERROR_e;
+9
View File
@@ -102,6 +102,15 @@ const char* daShopItem_c::getShopArcname() {
u8 itemId = randomizer_GetContext().mShopOverrides.at(key);
itemId = verifyProgressiveItem(itemId);
if (itemId == dItemNo_Randomizer_FOOLISH_ITEM_e) {
if (home.angle.x != -1) {
home.angle.z = randomizer_getRandomFoolishItemModelID();
home.angle.x = -1;
}
itemId = home.angle.z;
}
// Replace the necessary index in daShopItem_c::mRandoData with the model data from dItem_data
auto& shopModel = mRandoData[mShopItemID];
shopModel.mArcName = dItem_data::getArcName(itemId);
+1 -1
View File
@@ -11,7 +11,7 @@
#include "d/d_item_data.h"
u8 daItemBase_c::getItemNo() {
return m_itemNo;
return M_ITEMNO_MODEL_ITEM_ID;
}
static void dummy(dItem_data* data) {
+4 -9
View File
@@ -1216,16 +1216,11 @@ void item_func_PACHINKO_SHOT() {
#if TARGET_PC
void item_func_FOOLISH_ITEM() {
/*
Pasting rando code until framework is implemented
// Failsafe: Make sure the count does not somehow exceed 100
rando::customItems::FoolishItems* foolishItemsPtr = rando::gRandomizer->getFoolishItemsPtr();
const uint32_t triggerCount = foolishItemsPtr->getTriggerCount();
if (triggerCount < 100)
{
foolishItemsPtr->setTriggerCount(static_cast<uint8_t>(triggerCount + 1));
}
*/
if (g_randomizerState.foolishItemCount < 100)
{
g_randomizerState.foolishItemCount += 1;
}
}
void item_func_ORDON_PORTAL() {
+131 -63
View File
@@ -322,6 +322,109 @@ int RandomizerState::_delete() {
return 1;
}
static bool checkFoolishItemEffectReady()
{
// Verify Link is loaded on the map.
if (!daAlink_getAlinkActorClass())
{
return false;
}
// Ensure Link is not in a cutscene
if (daAlink_getAlinkActorClass()->checkEventRun())
{
return false;
}
// Make sure Link isn't riding anything
if (daAlink_getAlinkActorClass()->checkRide())
{
return false;
}
// Ensure there are pointers to the mMeterClass and mpMeterDraw structs
if (!dMeter2Info_getMeterClass())
{
return false;
}
if (!dMeter2Info_getMeterClass()->getMeterDrawPtr())
{
return false;
}
// Make sure Z button isn't dimmed
if (dMeter2Info_getMeterClass()->getMeterDrawPtr()->getZButtonAlpha() != 1.f)
{
return false;
}
switch (daAlink_getAlinkActorClass()->mProcID)
{
case daAlink_c::PROC_TALK:
case daAlink_c::PROC_WOLF_SWIM_MOVE:
case daAlink_c::PROC_SWIM_MOVE:
case daAlink_c::PROC_SWIM_WAIT:
case daAlink_c::PROC_WOLF_SWIM_WAIT:
case daAlink_c::PROC_SWIM_UP:
case daAlink_c::PROC_SWIM_DIVE:
{
return false;
}
default:
{
break;
}
}
return true;
}
static void handleFoolishItem() {
u32 count = g_randomizerState.foolishItemCount;
if (count == 0) {
return;
}
if (!checkFoolishItemEffectReady())
{
return;
}
// Failsafe: Make sure the count does not somehow exceed 100
if (count > 100) {
count = 100;
}
// Reset count
g_randomizerState.foolishItemCount = 0;
/* Store the currently loaded sound wave to local variables as we will need to load them back later.
* We use this method because if we just loaded the sound waves every time the item was gotten, we'd
* eventually run out of memory so it is safer to unload everything and load it back in. */
auto sceneMgr = Z2GetSceneMgr();
const u32 seWave1 = sceneMgr->getLoadedSeWave_1();
const u32 seWave2 = sceneMgr->getLoadedSeWave_2();
sceneMgr->eraseSeWave(seWave1);
sceneMgr->eraseSeWave(seWave2);
sceneMgr->loadSeWave(0x46);
mDoAud_seStartLevel(0x10040, nullptr, 0, 0);
sceneMgr->loadSeWave(seWave1);
sceneMgr->loadSeWave(seWave2);
// Initiate the appropriate visual damage process
if (daAlink_getAlinkActorClass()->checkWolf())
{
daAlink_getAlinkActorClass()->procWolfDamageInit(nullptr);
}
else
{
daAlink_getAlinkActorClass()->procDamageInit(nullptr, 0);
}
daPy_py_c::setPlayerDamage(count, TRUE);
}
/*
* Updates flags for Hyrule Castle Barrier, Palace of Twilight Access,
* and Hyrule Castle Big Key chest. Maybe a bit overkill to check this every frame, but
@@ -441,11 +544,9 @@ int RandomizerState::execute() {
}
setRoomReloadingState(currentReloadingState);
// COpypasta old rando code until I build the framework out.
/*if (!libtp::tp::d_a_alink::checkStageName(libtp::data::stage::allStages[libtp::data::stage::StageIDs::Title_Screen]))
{
handleFoolishItem(randoPtr);
}*/
if (getStageID() != Title_Screen) {
handleFoolishItem();
}
return 1;
}
@@ -632,64 +733,6 @@ void RandomizerState::offLoad()
updateGoalFlags();
}
bool checkFoolishItemEffectReady()
{
// Verify Link is loaded on the map.
if (!daAlink_getAlinkActorClass())
{
return false;
}
// Ensure Link is not in a cutscene
if (daAlink_getAlinkActorClass()->checkEventRun())
{
return false;
}
// Make sure Link isn't riding anything
if (daAlink_getAlinkActorClass()->checkRide())
{
return false;
}
// Ensure there are pointers to the mMeterClass and mpMeterDraw structs
if (!dMeter2Info_getMeterClass())
{
return false;
}
if (!dMeter2Info_getMeterClass()->getMeterDrawPtr())
{
return false;
}
// Make sure Z button isn't dimmed
if (dMeter2Info_getMeterClass()->getMeterDrawPtr()->getZButtonAlpha() != 1.f)
{
return false;
}
switch (daAlink_getAlinkActorClass()->mProcID)
{
case daAlink_c::PROC_TALK:
case daAlink_c::PROC_WOLF_SWIM_MOVE:
case daAlink_c::PROC_SWIM_MOVE:
case daAlink_c::PROC_SWIM_WAIT:
case daAlink_c::PROC_WOLF_SWIM_WAIT:
case daAlink_c::PROC_SWIM_UP:
case daAlink_c::PROC_SWIM_DIVE:
{
return false;
}
default:
{
break;
}
}
return true;
}
RandomizerContext& randomizer_GetContext() {
static RandomizerContext instance;
return instance;
@@ -754,6 +797,31 @@ bool randomizer_checkTempleOfTimeRequirement() {
return false;
}
u8 randomizer_getRandomFoolishItemModelID() {
static constexpr auto foolishItemModels = std::to_array<u8>({
dItemNo_Randomizer_ARMOR_e,
dItemNo_Randomizer_WOOD_STICK_e,
dItemNo_Randomizer_SHIELD_e,
dItemNo_Randomizer_HYLIA_SHIELD_e,
dItemNo_Randomizer_MAGIC_LV1_e,
dItemNo_Randomizer_FISHING_ROD_1_e,
dItemNo_Randomizer_HAWK_EYE_e,
dItemNo_Randomizer_BOOMERANG_e,
dItemNo_Randomizer_SPINNER_e,
dItemNo_Randomizer_IRONBALL_e,
dItemNo_Randomizer_BOW_e,
dItemNo_Randomizer_COPY_ROD_e,
dItemNo_Randomizer_HOOKSHOT_e,
dItemNo_Randomizer_HVY_BOOTS_e,
dItemNo_Randomizer_PACHINKO_e,
dItemNo_Randomizer_BOMB_BAG_LV1_e,
dItemNo_Randomizer_ANCIENT_DOCUMENT_e,
});
u8 selectedModal = foolishItemModels[static_cast<int>(cM_rnd() * foolishItemModels.size()) % foolishItemModels.size()];
return verifyProgressiveItem(selectedModal);
}
u32 getActorPatchesCurrentStageKey(u8 roomNo) {
u32 actorPatchesStageKey{};
actorPatchesStageKey |= getStageID(dComIfGp_getStartStageName()) << 16;
@@ -162,6 +162,8 @@ public:
// more naturally with the timing of when the game normally gives items and affects
// things like the sound of the rupee counter going up.
u8 mFlowMessageItemId{0};
int foolishItemCount{0};
};
extern randomizer::Randomizer g_RandomizerGenerator;
@@ -175,6 +177,9 @@ bool randomizer_IsActive();
int randomizer_getItemAtLocation(const std::string& locationName);
bool randomizer_checkTempleOfTimeRequirement();
u8 randomizer_getRandomFoolishItemModelID();
/**
* Helper function to convert raw bytes of a container to a hex string
*/
@@ -1,3 +1,8 @@
Foolish Get Item Text:
Standard:
Text: |-
<fast>a <light blue>cold<white> wind blows...
Shadow Crystal Get Item Text:
Standard:
Text: |-
@@ -1,6 +1,7 @@
#- Name: Foolish Get Item Text
# Group: 0
# Message Id: 120
- Name: Foolish Get Item Text
Group: 0
Message Id: 120
#
#- Name: Ordon Spring Portal Get Item Text
# Group: 0