mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-24 06:50:43 -04:00
Foolish items
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
bool checkBoomWindTgTimer() { return mBoomWindTgTimer == 0; }
|
||||
|
||||
#if TARGET_PC
|
||||
void setRandomizerItem();
|
||||
void setRandomizerItem(bool setFoolishItemModel = false);
|
||||
#endif
|
||||
|
||||
static procFunc mFuncPtr[];
|
||||
|
||||
@@ -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
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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(¤t.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(¤t.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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user