shithub: pokecrystal

Download patch

ref: 96c058f0a7c6864924a3aac7eed667a450c1dd71
parent: f8f32941306615879b42b2af8894e65d82ee4a16
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Mon Feb 5 08:03:05 EST 2018

No redundant item effect labels

--- a/data/items/attributes.asm
+++ b/data/items/attributes.asm
@@ -6,7 +6,7 @@
 ENDM
 
 ItemAttributes: ; 67c1
-; entries correspond to constants/item_constants.asm
+; entries correspond to item ids
 ; MASTER_BALL
 	item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
 ; ULTRA_BALL
--- a/data/items/descriptions.asm
+++ b/data/items/descriptions.asm
@@ -1,4 +1,5 @@
 ItemDescriptions:
+; entries correspond to item ids
 	dw MasterBallDesc
 	dw UltraBallDesc
 	dw BrightpowderDesc
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -587,7 +587,7 @@
 
 ## BRN/PSN/PAR do not affect catch rate
 
-This is a bug with `PokeBall` in [engine/item_effects.asm](/engine/item_effects.asm):
+This is a bug with `PokeBallEffect` in [engine/item_effects.asm](/engine/item_effects.asm):
 
 ```asm
 ; This routine is buggy. It was intended that SLP and FRZ provide a higher
@@ -1135,7 +1135,7 @@
 
 This bug can affect Mew or Pokémon other than Ditto that used Transform via Mirror Move or Sketch.
 
-This is a bug with `PokeBall` in [engine/item_effects.asm](/engine/item_effects.asm):
+This is a bug with `PokeBallEffect` in [engine/item_effects.asm](/engine/item_effects.asm):
 
 ```asm
 	ld hl, wEnemySubStatus5
@@ -1207,7 +1207,7 @@
 
 ([Video](https://www.youtube.com/watch?v=v1ErZdLCIyU))
 
-This is a bug with `ParkBall` in [engine/item_effects.asm](/engine/item_effects.asm):
+This is a bug with `PokeBallEffect` in [engine/item_effects.asm](/engine/item_effects.asm):
 
 ```asm
 .room_in_party
@@ -1232,7 +1232,7 @@
 
 ## `HELD_CATCH_CHANCE` has no effect
 
-This is a bug with `PokeBall` in [engine/item_effects.asm](/engine/item_effects.asm):
+This is a bug with `PokeBallEffect` in [engine/item_effects.asm](/engine/item_effects.asm):
 
 ```asm
 	; BUG: farcall overwrites a, and GetItemHeldEffect takes b anyway.
--- a/engine/item_effects.asm
+++ b/engine/item_effects.asm
@@ -14,201 +14,190 @@
 
 
 ItemEffects: ; e73c
-; entries correspond to item ids (see constants/item_constants.asm)
-	dw MasterBall
-	dw UltraBall
-	dw Brightpowder
-	dw GreatBall
-	dw PokeBall
-	dw TownMap
-	dw Bicycle
-	dw MoonStone
-	dw Antidote
-	dw BurnHeal
-	dw IceHeal
-	dw Awakening
-	dw ParlyzHeal
-	dw FullRestore
-	dw MaxPotion
-	dw HyperPotion
-	dw SuperPotion
-	dw Potion
-	dw EscapeRope
-	dw Repel
-	dw MaxElixer
-	dw FireStone
-	dw Thunderstone
-	dw WaterStone
-	dw Item19
-	dw HPUp
-	dw Protein
-	dw Iron
-	dw Carbos
-	dw LuckyPunch
-	dw Calcium
-	dw RareCandy
-	dw XAccuracy
-	dw LeafStone
-	dw MetalPowder
-	dw Nugget
-	dw PokeDoll
-	dw FullHeal
-	dw Revive
-	dw MaxRevive
-	dw GuardSpec
-	dw SuperRepel
-	dw MaxRepel
-	dw DireHit
-	dw Item2D
-	dw FreshWater
-	dw SodaPop
-	dw Lemonade
-	dw XAttack
-	dw Item32
-	dw XDefend
-	dw XSpeed
-	dw XSpecial
-	dw CoinCase
-	dw Itemfinder
-	dw PokeFlute
-	dw ExpShare
-	dw OldRod
-	dw GoodRod
-	dw SilverLeaf
-	dw SuperRod
-	dw PPUp
-	dw Ether
-	dw MaxEther
-	dw Elixer
-	dw RedScale
-	dw Secretpotion
-	dw SSTicket
-	dw MysteryEgg
-	dw ClearBell
-	dw SilverWing
-	dw MoomooMilk
-	dw QuickClaw
-	dw Psncureberry
-	dw GoldLeaf
-	dw SoftSand
-	dw SharpBeak
-	dw Przcureberry
-	dw BurntBerry
-	dw IceBerry
-	dw PoisonBarb
-	dw KingsRock
-	dw BitterBerry
-	dw MintBerry
-	dw RedApricorn
-	dw Tinymushroom
-	dw BigMushroom
-	dw Silverpowder
-	dw BluApricorn
-	dw Item5A
-	dw AmuletCoin
-	dw YlwApricorn
-	dw GrnApricorn
-	dw CleanseTag
-	dw MysticWater
-	dw Twistedspoon
-	dw WhtApricorn
-	dw Blackbelt
-	dw BlkApricorn
-	dw Item64
-	dw PnkApricorn
-	dw Blackglasses
-	dw Slowpoketail
-	dw PinkBow
-	dw Stick
-	dw SmokeBall
-	dw Nevermeltice
-	dw Magnet
-	dw Miracleberry
-	dw Pearl
-	dw BigPearl
-	dw Everstone
-	dw SpellTag
-	dw Ragecandybar
-	dw GsBall
-	dw BlueCard
-	dw MiracleSeed
-	dw ThickClub
-	dw FocusBand
-	dw Item78
-	dw Energypowder
-	dw EnergyRoot
-	dw HealPowder
-	dw RevivalHerb
-	dw HardStone
-	dw LuckyEgg
-	dw CardKey
-	dw MachinePart
-	dw EggTicket
-	dw LostItem
-	dw Stardust
-	dw StarPiece
-	dw BasementKey
-	dw Pass
-	dw Item87
-	dw Item88
-	dw Item89
-	dw Charcoal
-	dw BerryJuice
-	dw ScopeLens
-	dw Item8D
-	dw Item8E
-	dw MetalCoat
-	dw DragonFang
-	dw Item91
-	dw Leftovers
-	dw Item93
-	dw Item94
-	dw Item95
-	dw Mysteryberry
-	dw DragonScale
-	dw BerserkGene
-	dw Item99
-	dw Item9A
-	dw Item9B
-	dw SacredAsh
-	dw HeavyBall
-	dw FlowerMail
-	dw LevelBall
-	dw LureBall
-	dw FastBall
-	dw ItemA2
-	dw LightBall
-	dw FriendBall
-	dw MoonBall
-	dw LoveBall
-	dw NormalBox
-	dw GorgeousBox
-	dw SunStone
-	dw PolkadotBow
-	dw ItemAB
-	dw UpGrade
-	dw Berry
-	dw GoldBerry
-	dw Squirtbottle
-	dw ItemB0
-	dw ParkBall
-	dw RainbowWing
-	dw ItemB3
+; entries correspond to item ids
+	dw PokeBallEffect        ; NO_ITEM
+	dw PokeBallEffect        ; MASTER_BALL
+	dw ItemDoesNothingEffect ; ULTRA_BALL
+	dw PokeBallEffect        ; BRIGHTPOWDER
+	dw PokeBallEffect        ; GREAT_BALL
+	dw TownMapEffect         ; POKE_BALL
+	dw BicycleEffect         ; TOWN_MAP
+	dw EvoStoneEffect        ; BICYCLE
+	dw StatusHealingEffect   ; MOON_STONE
+	dw StatusHealingEffect   ; ANTIDOTE
+	dw StatusHealingEffect   ; BURN_HEAL
+	dw StatusHealingEffect   ; ICE_HEAL
+	dw StatusHealingEffect   ; AWAKENING
+	dw FullRestoreEffect     ; PARLYZ_HEAL
+	dw RestoreHPEffect       ; FULL_RESTORE
+	dw RestoreHPEffect       ; MAX_POTION
+	dw RestoreHPEffect       ; HYPER_POTION
+	dw RestoreHPEffect       ; SUPER_POTION
+	dw EscapeRopeEffect      ; POTION
+	dw RepelEffect           ; ESCAPE_ROPE
+	dw RestorePPEffect       ; REPEL
+	dw EvoStoneEffect        ; MAX_ELIXER
+	dw EvoStoneEffect        ; FIRE_STONE
+	dw EvoStoneEffect        ; THUNDERSTONE
+	dw ItemDoesNothingEffect ; WATER_STONE
+	dw VitaminEffect         ; ITEM_19
+	dw VitaminEffect         ; HP_UP
+	dw VitaminEffect         ; PROTEIN
+	dw VitaminEffect         ; IRON
+	dw ItemDoesNothingEffect ; CARBOS
+	dw VitaminEffect         ; LUCKY_PUNCH
+	dw RareCandyEffect       ; CALCIUM
+	dw XAccuracyEffect       ; RARE_CANDY
+	dw EvoStoneEffect        ; X_ACCURACY
+	dw ItemDoesNothingEffect ; LEAF_STONE
+	dw ItemDoesNothingEffect ; METAL_POWDER
+	dw PokeDollEffect        ; NUGGET
+	dw StatusHealingEffect   ; POKE_DOLL
+	dw ReviveEffect          ; FULL_HEAL
+	dw ReviveEffect          ; REVIVE
+	dw GuardSpecEffect       ; MAX_REVIVE
+	dw SuperRepelEffect      ; GUARD_SPEC
+	dw MaxRepelEffect        ; SUPER_REPEL
+	dw DireHitEffect         ; MAX_REPEL
+	dw ItemDoesNothingEffect ; DIRE_HIT
+	dw RestoreHPEffect       ; ITEM_2D
+	dw RestoreHPEffect       ; FRESH_WATER
+	dw RestoreHPEffect       ; SODA_POP
+	dw XItemEffect           ; LEMONADE
+	dw ItemDoesNothingEffect ; X_ATTACK
+	dw XItemEffect           ; ITEM_32
+	dw XItemEffect           ; X_DEFEND
+	dw XItemEffect           ; X_SPEED
+	dw CoinCaseEffect        ; X_SPECIAL
+	dw ItemfinderEffect      ; COIN_CASE
+	dw PokeFluteEffect       ; ITEMFINDER
+	dw ItemDoesNothingEffect ; POKE_FLUTE
+	dw OldRodEffect          ; EXP_SHARE
+	dw GoodRodEffect         ; OLD_ROD
+	dw ItemDoesNothingEffect ; GOOD_ROD
+	dw SuperRodEffect        ; SILVER_LEAF
+	dw RestorePPEffect       ; SUPER_ROD
+	dw RestorePPEffect       ; PP_UP
+	dw RestorePPEffect       ; ETHER
+	dw RestorePPEffect       ; MAX_ETHER
+	dw ItemDoesNothingEffect ; ELIXER
+	dw ItemDoesNothingEffect ; RED_SCALE
+	dw ItemDoesNothingEffect ; SECRETPOTION
+	dw ItemDoesNothingEffect ; S_S_TICKET
+	dw ItemDoesNothingEffect ; MYSTERY_EGG
+	dw ItemDoesNothingEffect ; CLEAR_BELL
+	dw RestoreHPEffect       ; SILVER_WING
+	dw ItemDoesNothingEffect ; MOOMOO_MILK
+	dw StatusHealingEffect   ; QUICK_CLAW
+	dw ItemDoesNothingEffect ; PSNCUREBERRY
+	dw ItemDoesNothingEffect ; GOLD_LEAF
+	dw ItemDoesNothingEffect ; SOFT_SAND
+	dw StatusHealingEffect   ; SHARP_BEAK
+	dw StatusHealingEffect   ; PRZCUREBERRY
+	dw StatusHealingEffect   ; BURNT_BERRY
+	dw ItemDoesNothingEffect ; ICE_BERRY
+	dw ItemDoesNothingEffect ; POISON_BARB
+	dw BitterBerryEffect     ; KINGS_ROCK
+	dw StatusHealingEffect   ; BITTER_BERRY
+	dw ItemDoesNothingEffect ; MINT_BERRY
+	dw ItemDoesNothingEffect ; RED_APRICORN
+	dw ItemDoesNothingEffect ; TINYMUSHROOM
+	dw ItemDoesNothingEffect ; BIG_MUSHROOM
+	dw ItemDoesNothingEffect ; SILVERPOWDER
+	dw ItemDoesNothingEffect ; BLU_APRICORN
+	dw ItemDoesNothingEffect ; ITEM_5A
+	dw ItemDoesNothingEffect ; AMULET_COIN
+	dw ItemDoesNothingEffect ; YLW_APRICORN
+	dw ItemDoesNothingEffect ; GRN_APRICORN
+	dw ItemDoesNothingEffect ; CLEANSE_TAG
+	dw ItemDoesNothingEffect ; MYSTIC_WATER
+	dw ItemDoesNothingEffect ; TWISTEDSPOON
+	dw ItemDoesNothingEffect ; WHT_APRICORN
+	dw ItemDoesNothingEffect ; BLACKBELT
+	dw ItemDoesNothingEffect ; BLK_APRICORN
+	dw ItemDoesNothingEffect ; ITEM_64
+	dw ItemDoesNothingEffect ; PNK_APRICORN
+	dw ItemDoesNothingEffect ; BLACKGLASSES
+	dw ItemDoesNothingEffect ; SLOWPOKETAIL
+	dw ItemDoesNothingEffect ; PINK_BOW
+	dw ItemDoesNothingEffect ; STICK
+	dw ItemDoesNothingEffect ; SMOKE_BALL
+	dw ItemDoesNothingEffect ; NEVERMELTICE
+	dw StatusHealingEffect   ; MAGNET
+	dw ItemDoesNothingEffect ; MIRACLEBERRY
+	dw ItemDoesNothingEffect ; PEARL
+	dw ItemDoesNothingEffect ; BIG_PEARL
+	dw ItemDoesNothingEffect ; EVERSTONE
+	dw RestoreHPEffect       ; SPELL_TAG
+	dw ItemDoesNothingEffect ; RAGECANDYBAR
+	dw BlueCardEffect        ; GS_BALL
+	dw ItemDoesNothingEffect ; BLUE_CARD
+	dw ItemDoesNothingEffect ; MIRACLE_SEED
+	dw ItemDoesNothingEffect ; THICK_CLUB
+	dw ItemDoesNothingEffect ; FOCUS_BAND
+	dw EnergypowderEffect    ; ITEM_78
+	dw EnergyRootEffect      ; ENERGYPOWDER
+	dw HealPowderEffect      ; ENERGY_ROOT
+	dw RevivalHerbEffect     ; HEAL_POWDER
+	dw ItemDoesNothingEffect ; REVIVAL_HERB
+	dw ItemDoesNothingEffect ; HARD_STONE
+	dw CardKeyEffect         ; LUCKY_EGG
+	dw ItemDoesNothingEffect ; CARD_KEY
+	dw ItemDoesNothingEffect ; MACHINE_PART
+	dw ItemDoesNothingEffect ; EGG_TICKET
+	dw ItemDoesNothingEffect ; LOST_ITEM
+	dw ItemDoesNothingEffect ; STARDUST
+	dw BasementKeyEffect     ; STAR_PIECE
+	dw ItemDoesNothingEffect ; BASEMENT_KEY
+	dw ItemDoesNothingEffect ; PASS
+	dw ItemDoesNothingEffect ; ITEM_87
+	dw ItemDoesNothingEffect ; ITEM_88
+	dw ItemDoesNothingEffect ; ITEM_89
+	dw RestoreHPEffect       ; CHARCOAL
+	dw ItemDoesNothingEffect ; BERRY_JUICE
+	dw ItemDoesNothingEffect ; SCOPE_LENS
+	dw ItemDoesNothingEffect ; ITEM_8D
+	dw ItemDoesNothingEffect ; ITEM_8E
+	dw ItemDoesNothingEffect ; METAL_COAT
+	dw ItemDoesNothingEffect ; DRAGON_FANG
+	dw ItemDoesNothingEffect ; ITEM_91
+	dw ItemDoesNothingEffect ; LEFTOVERS
+	dw ItemDoesNothingEffect ; ITEM_93
+	dw ItemDoesNothingEffect ; ITEM_94
+	dw RestorePPEffect       ; ITEM_95
+	dw ItemDoesNothingEffect ; MYSTERYBERRY
+	dw ItemDoesNothingEffect ; DRAGON_SCALE
+	dw ItemDoesNothingEffect ; BERSERK_GENE
+	dw ItemDoesNothingEffect ; ITEM_99
+	dw ItemDoesNothingEffect ; ITEM_9A
+	dw SacredAshEffect       ; ITEM_9B
+	dw PokeBallEffect        ; SACRED_ASH
+	dw ItemDoesNothingEffect ; HEAVY_BALL
+	dw PokeBallEffect        ; FLOWER_MAIL
+	dw PokeBallEffect        ; LEVEL_BALL
+	dw PokeBallEffect        ; LURE_BALL
+	dw ItemDoesNothingEffect ; FAST_BALL
+	dw ItemDoesNothingEffect ; ITEM_A2
+	dw PokeBallEffect        ; LIGHT_BALL
+	dw PokeBallEffect        ; FRIEND_BALL
+	dw PokeBallEffect        ; MOON_BALL
+	dw NormalBoxEffect       ; LOVE_BALL
+	dw GorgeousBoxEffect     ; NORMAL_BOX
+	dw EvoStoneEffect        ; GORGEOUS_BOX
+	dw ItemDoesNothingEffect ; SUN_STONE
+	dw ItemDoesNothingEffect ; POLKADOT_BOW
+	dw ItemDoesNothingEffect ; ITEM_AB
+	dw RestoreHPEffect       ; UP_GRADE
+	dw RestoreHPEffect       ; BERRY
+	dw SquirtbottleEffect    ; GOLD_BERRY
+	dw ItemDoesNothingEffect ; SQUIRTBOTTLE
+	dw PokeBallEffect        ; ITEM_B0
+	dw ItemDoesNothingEffect ; PARK_BALL
+	dw ItemDoesNothingEffect ; RAINBOW_WING
 ; e8a2
 
 
-MasterBall:
-UltraBall:
-GreatBall:
-PokeBall:
-HeavyBall:
-LevelBall:
-LureBall:
-FastBall:
-FriendBall:
-MoonBall:
-LoveBall:
-ParkBall: ; e8a2
+PokeBallEffect: ; e8a2
 	ld a, [wBattleMode]
 	dec a
 	jp nz, UseBallInTrainerBattle
@@ -1158,24 +1147,19 @@
 	farcall _ReturnToBattle_UseBall
 	ret
 
-TownMap: ; ee01
+TownMapEffect: ; ee01
 	farcall PokegearMap
 	ret
 ; ee08
 
 
-Bicycle: ; ee08
+BicycleEffect: ; ee08
 	farcall BikeFunction
 	ret
 ; ee0f
 
 
-MoonStone:
-FireStone:
-Thunderstone:
-WaterStone:
-LeafStone:
-SunStone: ; ee0f
+EvoStoneEffect: ; ee0f
 	ld b, PARTYMENUACTION_EVO_STONE
 	call UseItem_SelectMon
 
@@ -1208,11 +1192,7 @@
 ; ee3d
 
 
-HPUp:
-Protein:
-Iron:
-Carbos:
-Calcium: ; ee3d
+VitaminEffect: ; ee3d
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 
@@ -1345,7 +1325,7 @@
 ; 0xef14
 
 
-RareCandy: ; ef14
+RareCandyEffect: ; ef14
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 
@@ -1437,7 +1417,7 @@
 ; efad
 
 
-HealPowder: ; efad
+HealPowderEffect: ; efad
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 
@@ -1459,18 +1439,7 @@
 ; efcc
 
 
-Antidote:
-BurnHeal:
-IceHeal:
-Awakening:
-ParlyzHeal:
-FullHeal:
-Psncureberry:
-Przcureberry:
-BurntBerry:
-IceBerry:
-MintBerry:
-Miracleberry: ; efcc
+StatusHealingEffect: ; efcc
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 	jp c, StatusHealer_ExitMenu
@@ -1590,7 +1559,7 @@
 	dw StatusHealer_ExitMenu
 
 
-RevivalHerb: ; f0a9
+RevivalHerbEffect: ; f0a9
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 	jp c, StatusHealer_ExitMenu
@@ -1609,8 +1578,7 @@
 ; f0c8
 
 
-Revive:
-MaxRevive: ; f0c8
+ReviveEffect: ; f0c8
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 	jp c, StatusHealer_ExitMenu
@@ -1668,7 +1636,7 @@
 ; f128
 
 
-FullRestore: ; f128
+FullRestoreEffect: ; f128
 	ld b, PARTYMENUACTION_HEALING_ITEM
 	call UseItem_SelectMon
 	jp c, StatusHealer_ExitMenu
@@ -1708,7 +1676,7 @@
 ; f16a
 
 
-BitterBerry: ; f16a
+BitterBerryEffect: ; f16a
 	ld hl, wPlayerSubStatus3
 	bit SUBSTATUS_CONFUSED, [hl]
 	ld a, 1
@@ -1729,29 +1697,18 @@
 ; f186
 
 
-MaxPotion:
-HyperPotion:
-SuperPotion:
-Potion:
-FreshWater:
-SodaPop:
-Lemonade:
-MoomooMilk:
-Ragecandybar:
-BerryJuice:
-Berry:
-GoldBerry: ; f186
+RestoreHPEffect: ; f186
 	call ItemRestoreHP
 	jp StatusHealer_Jumptable
 ; f18c
 
 
-Energypowder: ; f18c
+EnergypowderEffect: ; f18c
 	ld c, HAPPINESS_BITTERPOWDER
 	jr EnergypowderEnergyRootCommon
 ; f190
 
-EnergyRoot: ; f190
+EnergyRootEffect: ; f190
 	ld c, HAPPINESS_ENERGYROOT
 ; f192
 
@@ -2179,7 +2136,7 @@
 ; 0xf44f
 
 
-EscapeRope: ; f44f
+EscapeRopeEffect: ; f44f
 	xor a
 	ld [wItemEffectSucceeded], a
 	farcall EscapeRopeFunction
@@ -2191,17 +2148,17 @@
 ; f462
 
 
-SuperRepel: ; f462
+SuperRepelEffect: ; f462
 	ld b, 200
 	jr UseRepel
 ; f466
 
-MaxRepel: ; f466
+MaxRepelEffect: ; f466
 	ld b, 250
 	jr UseRepel
 ; f466
 
-Repel: ; f46a
+RepelEffect: ; f46a
 	ld b, 100
 ; f46c
 
@@ -2223,7 +2180,7 @@
 ; 0xf482
 
 
-XAccuracy: ; f482
+XAccuracyEffect: ; f482
 	ld hl, wPlayerSubStatus4
 	bit SUBSTATUS_X_ACCURACY, [hl]
 	jp nz, WontHaveAnyEffect_NotUsedMessage
@@ -2232,7 +2189,7 @@
 ; f48f
 
 
-PokeDoll: ; f48f
+PokeDollEffect: ; f48f
 	ld a, [wBattleMode]
 	dec a
 	jr nz, .asm_f4a6
@@ -2251,7 +2208,7 @@
 ; f4ab
 
 
-GuardSpec: ; f4ab
+GuardSpecEffect: ; f4ab
 	ld hl, wPlayerSubStatus4
 	bit SUBSTATUS_MIST, [hl]
 	jp nz, WontHaveAnyEffect_NotUsedMessage
@@ -2260,7 +2217,7 @@
 ; f4b8
 
 
-DireHit: ; f4b8
+DireHitEffect: ; f4b8
 	ld hl, wPlayerSubStatus4
 	bit SUBSTATUS_FOCUS_ENERGY, [hl]
 	jp nz, WontHaveAnyEffect_NotUsedMessage
@@ -2269,10 +2226,7 @@
 ; f4c5
 
 
-XAttack:
-XDefend:
-XSpeed:
-XSpecial: ; f4c5
+XItemEffect: ; f4c5
 	call UseItemText
 
 	ld a, [wCurItem]
@@ -2308,7 +2262,7 @@
 INCLUDE "data/items/x_stats.asm"
 
 
-PokeFlute: ; f50c
+PokeFluteEffect: ; f50c
 	ld a, [wBattleMode]
 	and a
 	jr nz, .dummy
@@ -2406,7 +2360,7 @@
 ; f58f
 
 
-BlueCard: ; f58f
+BlueCardEffect: ; f58f
 	ld hl, .bluecardtext
 	jp MenuTextBoxWaitButton
 
@@ -2416,7 +2370,7 @@
 ; f59a
 
 
-CoinCase: ; f59a
+CoinCaseEffect: ; f59a
 	ld hl, .coincasetext
 	jp MenuTextBoxWaitButton
 
@@ -2426,17 +2380,17 @@
 ; f5a5
 
 
-OldRod: ; f5a5
+OldRodEffect: ; f5a5
 	ld e, $0
 	jr UseRod
 ; f5a9
 
-GoodRod: ; f5a9
+GoodRodEffect: ; f5a9
 	ld e, $1
 	jr UseRod
 ; f5ad
 
-SuperRod: ; f5ad
+SuperRodEffect: ; f5ad
 	ld e, $2
 	jr UseRod
 ; f5b1
@@ -2447,18 +2401,13 @@
 ; f5b8
 
 
-Itemfinder: ; f5b8
+ItemfinderEffect: ; f5b8
 	farcall ItemFinder
 	ret
 ; f5bf
 
 
-MaxElixer:
-PPUp:
-Ether:
-MaxEther:
-Elixer:
-Mysteryberry: ; f5bf
+RestorePPEffect: ; f5bf
 	ld a, [wCurItem]
 	ld [wd002], a
 
@@ -2724,25 +2673,25 @@
 ; 0xf73e
 
 
-Squirtbottle: ; f73e
+SquirtbottleEffect: ; f73e
 	farcall _Squirtbottle
 	ret
 ; f745
 
 
-CardKey: ; f745
+CardKeyEffect: ; f745
 	farcall _CardKey
 	ret
 ; f74c
 
 
-BasementKey: ; f74c
+BasementKeyEffect: ; f74c
 	farcall _BasementKey
 	ret
 ; f753
 
 
-SacredAsh: ; f753
+SacredAshEffect: ; f753
 	farcall _SacredAsh
 	ld a, [wItemEffectSucceeded]
 	cp $1
@@ -2752,12 +2701,12 @@
 ; f763
 
 
-NormalBox: ; f763
+NormalBoxEffect: ; f763
 	ld c, DECOFLAG_SILVER_TROPHY_DOLL
 	jr OpenBox
 ; f767
 
-GorgeousBox: ; f767
+GorgeousBoxEffect: ; f767
 	ld c, DECOFLAG_GOLD_TROPHY_DOLL
 OpenBox: ; f769
 	farcall SetSpecificDecorationFlag
@@ -2774,97 +2723,7 @@
 	db "@"
 ; 0xf77d
 
-Brightpowder:
-Item19:
-LuckyPunch:
-MetalPowder:
-Nugget:
-Item2D:
-Item32:
-ExpShare:
-SilverLeaf:
-RedScale:
-Secretpotion:
-SSTicket:
-MysteryEgg:
-ClearBell:
-SilverWing:
-QuickClaw:
-GoldLeaf:
-SoftSand:
-SharpBeak:
-PoisonBarb:
-KingsRock:
-RedApricorn:
-Tinymushroom:
-BigMushroom:
-Silverpowder:
-BluApricorn:
-Item5A:
-AmuletCoin:
-YlwApricorn:
-GrnApricorn:
-CleanseTag:
-MysticWater:
-Twistedspoon:
-WhtApricorn:
-Blackbelt:
-BlkApricorn:
-Item64:
-PnkApricorn:
-Blackglasses:
-Slowpoketail:
-PinkBow:
-Stick:
-SmokeBall:
-Nevermeltice:
-Magnet:
-Pearl:
-BigPearl:
-Everstone:
-SpellTag:
-GsBall:
-MiracleSeed:
-ThickClub:
-FocusBand:
-Item78:
-HardStone:
-LuckyEgg:
-MachinePart:
-EggTicket:
-LostItem:
-Stardust:
-StarPiece:
-Pass:
-Item87:
-Item88:
-Item89:
-Charcoal:
-ScopeLens:
-Item8D:
-Item8E:
-MetalCoat:
-DragonFang:
-Item91:
-Leftovers:
-Item93:
-Item94:
-Item95:
-DragonScale:
-BerserkGene:
-Item99:
-Item9A:
-Item9B:
-FlowerMail:
-ItemA2:
-LightBall:
-PolkadotBow:
-ItemAB:
-UpGrade:
-ItemB0:
-RainbowWing:
-ItemB3:
-TeruSama: ; f77d
+ItemDoesNothingEffect: ; f77d
 	jp IsntTheTimeMessage
 ; f780