- Pokémon Essentials Version
- v17.2 ➖
I made a script that allows wild Pokémon to drop their hold items when fainted.
Copy and paste wherever.
todo:
- separate hold items with drop items
Copy and paste wherever.
Code:
class PokeBattle_Battler
def pbFaint(showMessage=true)
unless fainted?
PBDebug.log("!!!***Can't faint with HP greater than 0")
return true
end
if @fainted
# PBDebug.log("!!!***Can't faint if already fainted")
return true
end
@battle.scene.pbFainted(self)
pbInitEffects(false)
# Reset status
self.status=0
self.statusCount=0
if @pokemon && @battle.internalbattle
@pokemon.changeHappiness("faint")
end
@pokemon.makeUnmega if self.isMega?
@pokemon.makeUnprimal if self.isPrimal?
@fainted=true
# reset choice
@battle.choices[@index]=[0,0,nil,-1]
pbOwnSide.effects[PBEffects::LastRoundFainted]=@battle.turncount
@battle.pbDisplayPaused(_INTL("{1} fainted!",pbThis)) if showMessage
if !@opponent && @pokemon.item >0 && showMessage
$PokemonBag.pbStoreItem(@pokemon.item,1)
itemname=PBItems.getName(@pokemon.item)
pocket=pbGetPocket(@pokemon.item)
@battle.pbDisplayPaused(_INTL("The wild {1} dropped\n{2} <icon=bagPocket#{pocket}> x 1!",@pokemon.name,itemname,@pokemon.item))
end
PBDebug.log("[Pokémon fainted] #{pbThis}")
return true
end
end
todo:
- separate hold items with drop items
- Credits
- N/A