-extern bool set_mimic(int v, int p, bool do_dec);
-extern bool set_blind(int v);
-extern bool set_confused(int v);
-extern bool set_poisoned(int v);
-extern bool set_afraid(int v);
-extern bool set_paralyzed(int v);
-extern bool set_image(int v);
-extern bool set_fast(int v, bool do_dec);
-extern bool set_slow(int v, bool do_dec);
-extern bool set_shield(int v, bool do_dec);
-extern bool set_tsubureru(int v, bool do_dec);
-extern bool set_magicdef(int v, bool do_dec);
-extern bool set_blessed(int v, bool do_dec);
-extern bool set_hero(int v, bool do_dec);
-extern bool set_shero(int v, bool do_dec);
-extern bool set_protevil(int v, bool do_dec);
-extern bool set_invuln(int v, bool do_dec);
-extern bool set_tim_invis(int v, bool do_dec);
-extern bool set_tim_infra(int v, bool do_dec);
-extern bool set_tim_regen(int v, bool do_dec);
-extern bool set_tim_stealth(int v, bool do_dec);
-extern bool set_lightspeed(int v, bool do_dec);
-extern bool set_tim_levitation(int v, bool do_dec);
-extern bool set_tim_sh_touki(int v, bool do_dec);
-extern bool set_tim_sh_fire(int v, bool do_dec);
-extern bool set_tim_sh_holy(int v, bool do_dec);
-extern bool set_tim_eyeeye(int v, bool do_dec);
-extern bool set_resist_magic(int v, bool do_dec);
-extern bool set_tim_reflect(int v, bool do_dec);
-extern bool set_multishadow(int v, bool do_dec);
-extern bool set_dustrobe(int v, bool do_dec);
-extern bool set_kabenuke(int v, bool do_dec);
-extern bool set_tsuyoshi(int v, bool do_dec);
-extern bool set_ele_attack(u32b attack_type, int v);
-extern bool set_ele_immune(u32b immune_type, int v);
-extern bool set_oppose_acid(int v, bool do_dec);
-extern bool set_oppose_elec(int v, bool do_dec);
-extern bool set_oppose_fire(int v, bool do_dec);
-extern bool set_oppose_cold(int v, bool do_dec);
-extern bool set_oppose_pois(int v, bool do_dec);
-extern bool set_stun(int v);
-extern bool set_cut(int v);
-extern bool set_food(int v);
+extern bool set_mimic(TIME_EFFECT v, IDX p, bool do_dec);
+extern bool set_blind(TIME_EFFECT v);
+extern bool set_confused(TIME_EFFECT v);
+extern bool set_poisoned(TIME_EFFECT v);
+extern bool set_afraid(TIME_EFFECT v);
+extern bool set_paralyzed(TIME_EFFECT v);
+extern bool set_image(TIME_EFFECT v);
+extern bool set_fast(TIME_EFFECT v, bool do_dec);
+extern bool set_slow(TIME_EFFECT v, bool do_dec);
+extern bool set_shield(TIME_EFFECT v, bool do_dec);
+extern bool set_tsubureru(TIME_EFFECT v, bool do_dec);
+extern bool set_magicdef(TIME_EFFECT v, bool do_dec);
+extern bool set_blessed(TIME_EFFECT v, bool do_dec);
+extern bool set_hero(TIME_EFFECT v, bool do_dec);
+extern bool set_shero(TIME_EFFECT v, bool do_dec);
+extern bool set_protevil(TIME_EFFECT v, bool do_dec);
+extern bool set_invuln(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_invis(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_infra(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_regen(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_stealth(TIME_EFFECT v, bool do_dec);
+extern bool set_lightspeed(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_levitation(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_sh_touki(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_sh_fire(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_sh_holy(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_eyeeye(TIME_EFFECT v, bool do_dec);
+extern bool set_resist_magic(TIME_EFFECT v, bool do_dec);
+extern bool set_tim_reflect(TIME_EFFECT v, bool do_dec);
+extern bool set_multishadow(TIME_EFFECT v, bool do_dec);
+extern bool set_dustrobe(TIME_EFFECT v, bool do_dec);
+extern bool set_kabenuke(TIME_EFFECT v, bool do_dec);
+extern bool set_tsuyoshi(TIME_EFFECT v, bool do_dec);
+extern bool set_ele_attack(u32b attack_type, TIME_EFFECT v);
+extern bool set_ele_immune(u32b immune_type, TIME_EFFECT v);
+extern bool set_oppose_acid(TIME_EFFECT v, bool do_dec);
+extern bool set_oppose_elec(TIME_EFFECT v, bool do_dec);
+extern bool set_oppose_fire(TIME_EFFECT v, bool do_dec);
+extern bool set_oppose_cold(TIME_EFFECT v, bool do_dec);
+extern bool set_oppose_pois(TIME_EFFECT v, bool do_dec);
+extern bool set_stun(TIME_EFFECT v);
+extern bool set_cut(TIME_EFFECT v);
+extern bool set_food(TIME_EFFECT v);