mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fixed using pkmn.species= with a form's internal name not setting the actual species. Fixed Shadow Pokémon not being able to have different Shadow Moves for particular forms.
This commit is contained in:
@@ -629,7 +629,7 @@ class PokeBattle_Pokemon
|
||||
#=============================================================================
|
||||
def species=(value)
|
||||
hasNickname = nicknamed?
|
||||
@species = value
|
||||
@species, @form = pbGetSpeciesFromFSpecies(value)
|
||||
@name = PBSpecies.getName(@species) unless hasNickname
|
||||
@level = nil # In case growth rate is different for the new species
|
||||
@forcedForm = nil
|
||||
|
||||
@@ -290,12 +290,14 @@ class PokeBattle_Pokemon
|
||||
self.savedev = [0,0,0,0,0,0]
|
||||
self.shadowmoves = [0,0,0,0,0,0,0,0]
|
||||
# Retrieve shadow moves
|
||||
moves = pbLoadShadowMovesets
|
||||
if moves[self.species] && moves[self.species].length>0
|
||||
for i in 0...[4,moves[self.species].length].min
|
||||
self.shadowmoves[i] = moves[self.species][i]
|
||||
shadow_movesets = pbLoadShadowMovesets
|
||||
shadow_moves = shadow_movesets[self.fSpecies]
|
||||
shadow_moves = shadow_movesets[self.species] if !shadow_moves || shadow_moves.length == 0
|
||||
if shadow_moves && shadow_moves.length > 0
|
||||
for i in 0...[4,shadow_moves.length].min
|
||||
self.shadowmoves[i] = shadow_moves[i]
|
||||
end
|
||||
self.shadowmovenum = moves[self.species].length
|
||||
self.shadowmovenum = shadow_moves.length
|
||||
else
|
||||
# No special shadow moves
|
||||
self.shadowmoves[0] = getConst(PBMoves,:SHADOWRUSH) || 0
|
||||
|
||||
@@ -1336,7 +1336,7 @@ end
|
||||
# Save Shadow move data to PBS file
|
||||
#===============================================================================
|
||||
def pbSaveShadowMoves
|
||||
moves = pbLoadShadowMovesets
|
||||
shadow_movesets = pbLoadShadowMovesets
|
||||
File.open("PBS/shadowmoves.txt","wb") { |f|
|
||||
f.write(0xEF.chr)
|
||||
f.write(0xBB.chr)
|
||||
@@ -1344,14 +1344,14 @@ def pbSaveShadowMoves
|
||||
f.write("\# "+_INTL("See the documentation on the wiki to learn how to edit this file."))
|
||||
f.write("\r\n")
|
||||
f.write("\#-------------------------------\r\n")
|
||||
for i in 0...moves.length
|
||||
move = moves[i]
|
||||
next if !move || moves.length==0
|
||||
for i in 0...shadow_movesets.length
|
||||
moveset = shadow_movesets[i]
|
||||
next if !moveset || moveset.length==0
|
||||
constname = (getConstantName(PBSpecies,i) rescue pbGetSpeciesConst(i) rescue nil)
|
||||
next if !constname
|
||||
f.write(sprintf("%s = ",constname))
|
||||
movenames = []
|
||||
for m in move
|
||||
for m in moveset
|
||||
movenames.push((getConstantName(PBMoves,m) rescue pbGetMoveConst(m) rescue nil))
|
||||
end
|
||||
f.write(sprintf("%s\r\n",movenames.compact.join(",")))
|
||||
|
||||
Reference in New Issue
Block a user