mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
[wip] generate fusions dynamically
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -24,12 +24,28 @@ module GameData
|
|||||||
# @return [self]
|
# @return [self]
|
||||||
def get(other)
|
def get(other)
|
||||||
validate other => [Symbol, self, String, Integer]
|
validate other => [Symbol, self, String, Integer]
|
||||||
|
|
||||||
return other if other.is_a?(self)
|
return other if other.is_a?(self)
|
||||||
other = other.to_sym if other.is_a?(String)
|
other = other.to_sym if other.is_a?(String)
|
||||||
# if other.is_a?(Integer)
|
|
||||||
# p "Please switch to symbols, thanks."
|
if other.to_s.match?(/\AB\d+H\d+\z/)
|
||||||
# end
|
species = GameData::FusedSpecies.new(other)
|
||||||
|
return species
|
||||||
|
end
|
||||||
|
if other.is_a?(Integer) #assume it's a species
|
||||||
|
if other > NB_POKEMON
|
||||||
|
body_id = getBodyID(other)
|
||||||
|
head_id = getHeadID(other,body_id)
|
||||||
|
pokemon_id = getFusedPokemonIdFromDexNum(body_id,head_id)
|
||||||
|
return GameData::FusedSpecies.new(pokemon_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
raise "Unknown ID #{other}." unless self::DATA.has_key?(other)
|
raise "Unknown ID #{other}." unless self::DATA.has_key?(other)
|
||||||
|
|
||||||
|
#if other == :Species
|
||||||
|
|
||||||
|
# end
|
||||||
|
|
||||||
return self::DATA[other]
|
return self::DATA[other]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -59,18 +59,19 @@ module GameData
|
|||||||
# @param form [Integer]
|
# @param form [Integer]
|
||||||
# @return [self, nil]
|
# @return [self, nil]
|
||||||
def self.get_species_form(species, form)
|
def self.get_species_form(species, form)
|
||||||
return nil if !species || !form
|
return GameData::Species.get(species) rescue nil
|
||||||
validate species => [Symbol, self, String, Integer]
|
# return nil if !species || !form
|
||||||
validate form => Integer
|
# validate species => [Symbol, self, String, Integer]
|
||||||
# if other.is_a?(Integer)
|
# validate form => Integer
|
||||||
# p "Please switch to symbols, thanks."
|
# # if other.is_a?(Integer)
|
||||||
# end
|
# # p "Please switch to symbols, thanks."
|
||||||
species = species.species if species.is_a?(self)
|
# # end
|
||||||
species = DATA[species].species if species.is_a?(Integer)
|
# species = species.species if species.is_a?(self)
|
||||||
species = species.to_sym if species.is_a?(String)
|
# species = DATA[species].species if species.is_a?(Integer)
|
||||||
trial = sprintf("%s_%d", species, form).to_sym
|
# species = species.to_sym if species.is_a?(String)
|
||||||
species_form = (DATA[trial].nil?) ? species : trial
|
# trial = sprintf("%s_%d", species, form).to_sym
|
||||||
return (DATA.has_key?(species_form)) ? DATA[species_form] : nil
|
# species_form = (DATA[trial].nil?) ? species : trial
|
||||||
|
# return (DATA.has_key?(species_form)) ? DATA[species_form] : nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.schema(compiling_forms = false)
|
def self.schema(compiling_forms = false)
|
||||||
@@ -191,22 +192,26 @@ module GameData
|
|||||||
end
|
end
|
||||||
# @return [String] the translated name of this species
|
# @return [String] the translated name of this species
|
||||||
def name
|
def name
|
||||||
return pbGetMessage(MessageTypes::Species, @id_number)
|
return @real_name
|
||||||
|
#return pbGetMessage(MessageTypes::Species, @id_number)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [String] the translated name of this form of this species
|
# @return [String] the translated name of this form of this species
|
||||||
def form_name
|
def form_name
|
||||||
return pbGetMessage(MessageTypes::FormNames, @id_number)
|
return @real_form_name
|
||||||
|
#return pbGetMessage(MessageTypes::FormNames, @id_number)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [String] the translated Pokédex category of this species
|
# @return [String] the translated Pokédex category of this species
|
||||||
def category
|
def category
|
||||||
return pbGetMessage(MessageTypes::Kinds, @id_number)
|
return @real_category
|
||||||
|
#return pbGetMessage(MessageTypes::Kinds, @id_number)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [String] the translated Pokédex entry of this species
|
# @return [String] the translated Pokédex entry of this species
|
||||||
def pokedex_entry
|
def pokedex_entry
|
||||||
return pbGetMessage(MessageTypes::Entries, @id_number)
|
return @real_pokedex_entry
|
||||||
|
#return pbGetMessage(MessageTypes::Entries, @id_number)
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_fusion
|
def is_fusion
|
||||||
|
|||||||
@@ -210,10 +210,10 @@ module GameData
|
|||||||
species_data = GameData::Species.get(getHeadID(species_data))
|
species_data = GameData::Species.get(getHeadID(species_data))
|
||||||
end
|
end
|
||||||
|
|
||||||
if form > 0
|
# if form > 0
|
||||||
ret = sprintf("Cries/%s_%d", species_data.species, form)
|
# ret = sprintf("Cries/%s_%d", species_data.species, form)
|
||||||
return ret if pbResolveAudioSE(ret)
|
# return ret if pbResolveAudioSE(ret)
|
||||||
end
|
# end
|
||||||
ret = sprintf("Cries/%s", species_data.species)
|
ret = sprintf("Cries/%s", species_data.species)
|
||||||
return (pbResolveAudioSE(ret)) ? ret : nil
|
return (pbResolveAudioSE(ret)) ? ret : nil
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -126,7 +126,8 @@ class Pokemon
|
|||||||
end
|
end
|
||||||
|
|
||||||
def species_data
|
def species_data
|
||||||
return GameData::Species.get_species_form(@species, form_simple)
|
@species_data = GameData::Species.get(@species) if ! @species_data
|
||||||
|
return @species_data #GameData::Species.get(@species)
|
||||||
end
|
end
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
@@ -142,6 +143,7 @@ class Pokemon
|
|||||||
new_species_data = GameData::Species.get(species_id)
|
new_species_data = GameData::Species.get(species_id)
|
||||||
return if @species == new_species_data.species
|
return if @species == new_species_data.species
|
||||||
@species = new_species_data.species
|
@species = new_species_data.species
|
||||||
|
p @species.name
|
||||||
@form = new_species_data.form if new_species_data.form != 0
|
@form = new_species_data.form if new_species_data.form != 0
|
||||||
@forced_form = nil
|
@forced_form = nil
|
||||||
@level = nil # In case growth rate is different for the new species
|
@level = nil # In case growth rate is different for the new species
|
||||||
@@ -1221,9 +1223,9 @@ class Pokemon
|
|||||||
# @param withMoves [TrueClass, FalseClass] whether the Pokémon should have moves
|
# @param withMoves [TrueClass, FalseClass] whether the Pokémon should have moves
|
||||||
# @param rechech_form [TrueClass, FalseClass] whether to auto-check the form
|
# @param rechech_form [TrueClass, FalseClass] whether to auto-check the form
|
||||||
def initialize(species, level, owner = $Trainer, withMoves = true, recheck_form = true)
|
def initialize(species, level, owner = $Trainer, withMoves = true, recheck_form = true)
|
||||||
species_data = GameData::Species.get(species)
|
@species_data = GameData::Species.get(species)
|
||||||
@species = species_data.species
|
@species = @species_data.species
|
||||||
@form = species_data.form
|
@form = @species_data.form
|
||||||
@forced_form = nil
|
@forced_form = nil
|
||||||
@time_form_set = nil
|
@time_form_set = nil
|
||||||
self.level = level
|
self.level = level
|
||||||
@@ -1253,7 +1255,7 @@ class Pokemon
|
|||||||
@sheen = 0
|
@sheen = 0
|
||||||
@pokerus = 0
|
@pokerus = 0
|
||||||
@name = nil
|
@name = nil
|
||||||
@happiness = species_data.happiness
|
@happiness = @species_data.happiness
|
||||||
@poke_ball = :POKEBALL
|
@poke_ball = :POKEBALL
|
||||||
@markings = 0
|
@markings = 0
|
||||||
@iv = {}
|
@iv = {}
|
||||||
|
|||||||
@@ -80,12 +80,16 @@ class Player < Trainer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def set_seen_fusion(species)
|
def set_seen_fusion(species)
|
||||||
|
initFusionDexArray() if @seen_fusion.length < NB_POKEMON+2
|
||||||
|
|
||||||
bodyId = getBodyID(species)
|
bodyId = getBodyID(species)
|
||||||
headId = getHeadID(species, bodyId)
|
headId = getHeadID(species, bodyId)
|
||||||
@seen_fusion[headId][bodyId] = true
|
@seen_fusion[headId][bodyId] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_seen_normalDex(species)
|
def set_seen_normalDex(species)
|
||||||
|
initStandardDexArray() if @seen_standard.length < NB_POKEMON
|
||||||
|
|
||||||
dex_num = getDexNumberForSpecies(species)
|
dex_num = getDexNumberForSpecies(species)
|
||||||
@seen_standard[dex_num] = true
|
@seen_standard[dex_num] = true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -328,7 +328,9 @@ module Compiler
|
|||||||
enumer = GameData.const_get(enumer.to_sym)
|
enumer = GameData.const_get(enumer.to_sym)
|
||||||
begin
|
begin
|
||||||
if nil_or_empty?(ret) || !enumer.exists?(ret.to_sym)
|
if nil_or_empty?(ret) || !enumer.exists?(ret.to_sym)
|
||||||
raise _INTL("Undefined value {1} in {2}\r\n{3}", ret, enumer.name, FileLineData.linereport)
|
if enumer != GameData::Species
|
||||||
|
raise _INTL("Undefined value {1} in {2}\r\n{3}", ret, enumer.name, FileLineData.linereport)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
rescue NameError
|
rescue NameError
|
||||||
raise _INTL("Incorrect value {1} in {2}\r\n{3}", ret, enumer.name, FileLineData.linereport)
|
raise _INTL("Incorrect value {1} in {2}\r\n{3}", ret, enumer.name, FileLineData.linereport)
|
||||||
|
|||||||
@@ -458,7 +458,7 @@ def getDexNumFromFilename(filename)
|
|||||||
head = splitPoke[0].to_i
|
head = splitPoke[0].to_i
|
||||||
body = splitPoke[1].to_i
|
body = splitPoke[1].to_i
|
||||||
|
|
||||||
return nil if (body * NB_POKEMON) + head > (NB_POKEMON * NB_POKEMON) + 420
|
return nil if (body * NB_POKEMON) + head > (NB_POKEMON * NB_POKEMON) + NB_POKEMON
|
||||||
return (body * NB_POKEMON) + head
|
return (body * NB_POKEMON) + head
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
188
Data/Scripts/048_Fusion/FusedSpecies.rb
Normal file
188
Data/Scripts/048_Fusion/FusedSpecies.rb
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
module GameData
|
||||||
|
class FusedSpecies < GameData::Species
|
||||||
|
attr_reader :growth_rate
|
||||||
|
|
||||||
|
def initialize(id)
|
||||||
|
if id.is_a?(Integer)
|
||||||
|
body_id = getBodyID(id)
|
||||||
|
head_id = getHeadID(id,body_id)
|
||||||
|
pokemon_id = getFusedPokemonIdFromDexNum(body_id,head_id)
|
||||||
|
return GameData::FusedSpecies.new(pokemon_id)
|
||||||
|
end
|
||||||
|
head_id = get_head_id_from_symbol(id)
|
||||||
|
body_id = get_body_id_from_symbol(id)
|
||||||
|
|
||||||
|
@body_pokemon = GameData::Species.get(head_id)
|
||||||
|
@head_pokemon = GameData::Species.get(body_id)
|
||||||
|
|
||||||
|
@id = id
|
||||||
|
@id_number = calculate_dex_number()
|
||||||
|
@species = @id
|
||||||
|
@form = 0
|
||||||
|
@real_name = calculate_name() #todo
|
||||||
|
@real_form_name = nil
|
||||||
|
@real_category = "???" #todo
|
||||||
|
@real_pokedex_entry = calculate_dex_entry() #todo
|
||||||
|
@pokedex_form = @form
|
||||||
|
#todo type exceptions
|
||||||
|
@type1 = @head_pokemon.type1
|
||||||
|
@type2 = @body_pokemon.type2
|
||||||
|
|
||||||
|
#Stats
|
||||||
|
@base_stats = calculate_base_stats()
|
||||||
|
@evs = calculate_evs() #todo
|
||||||
|
adjust_stats_with_evs()
|
||||||
|
|
||||||
|
@base_exp = calculate_base_exp()
|
||||||
|
@growth_rate = calculate_growth_rate() #todo
|
||||||
|
@gender_ratio = calculate_gender() #todo
|
||||||
|
@catch_rate = calculate_catch_rate()
|
||||||
|
@happiness = calculate_base_happiness()
|
||||||
|
@moves = calculate_moveset()
|
||||||
|
|
||||||
|
#todo : all below
|
||||||
|
@tutor_moves = [] # hash[:tutor_moves] || []
|
||||||
|
@egg_moves = [] # hash[:egg_moves] || []
|
||||||
|
@abilities = [] # hash[:abilities] || []
|
||||||
|
@hidden_abilities = [] # hash[:hidden_abilities] || []
|
||||||
|
@wild_item_common = [] # hash[:wild_item_common]
|
||||||
|
@wild_item_uncommon = [] # hash[:wild_item_uncommon]
|
||||||
|
@wild_item_rare = [] # hash[:wild_item_rare]
|
||||||
|
@egg_groups = [:Undiscovered] # hash[:egg_groups] || [:Undiscovered]
|
||||||
|
@hatch_steps = 1 # hash[:hatch_steps] || 1
|
||||||
|
@incense = nil #hash[:incense]
|
||||||
|
@evolutions = [] # hash[:evolutions] || []
|
||||||
|
@height = 1 # hash[:height] || 1
|
||||||
|
@weight = 1 #hash[:weight] || 1
|
||||||
|
@color = :Red #hash[:color] || :Red
|
||||||
|
@shape = :Head #hash[:shape] || :Head
|
||||||
|
@habitat = :None #hash[:habitat] || :None
|
||||||
|
@generation = 0 #hash[:generation] || 0
|
||||||
|
@mega_stone = nil
|
||||||
|
@mega_move = nil
|
||||||
|
@unmega_form = 0
|
||||||
|
@mega_message = 0
|
||||||
|
@back_sprite_x = 0 # hash[:back_sprite_x] || 0
|
||||||
|
@back_sprite_y = 0 # hash[:back_sprite_y] || 0
|
||||||
|
@front_sprite_x = 0 # hash[:front_sprite_x] || 0
|
||||||
|
@front_sprite_y = 0 # hash[:front_sprite_y] || 0
|
||||||
|
@front_sprite_altitude = 0 # hash[:front_sprite_altitude] || 0
|
||||||
|
@shadow_x = 0 # hash[:shadow_x] || 0
|
||||||
|
@shadow_size = 2 # hash[:shadow_size] || 2
|
||||||
|
@alwaysUseGeneratedSprite = false
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_body_id_from_symbol(id)
|
||||||
|
return id.to_s.match(/\d+/)[0].to_i
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_head_id_from_symbol(id)
|
||||||
|
return id.to_s.match(/(?<=H)\d+/)[0].to_i
|
||||||
|
end
|
||||||
|
|
||||||
|
def adjust_stats_with_evs
|
||||||
|
GameData::Stat.each_main do |s|
|
||||||
|
@base_stats[s.id] = 1 if !@base_stats[s.id] || @base_stats[s.id] <= 0
|
||||||
|
@evs[s.id] = 0 if !@evs[s.id] || @evs[s.id] < 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#FUSION CALCULATIONS
|
||||||
|
|
||||||
|
def calculate_dex_number()
|
||||||
|
return (@head_pokemon.id_number * NB_POKEMON) + @body_pokemon.id_number
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_base_stats()
|
||||||
|
head_stats = @head_pokemon.base_stats
|
||||||
|
body_stats = @body_pokemon.base_stats
|
||||||
|
|
||||||
|
fused_stats = {}
|
||||||
|
|
||||||
|
#Head dominant stats
|
||||||
|
fused_stats[:HP] = calculate_fused_stats(head_stats[:HP], body_stats[:HP])
|
||||||
|
fused_stats[:SPECIAL_DEFENSE] = calculate_fused_stats(head_stats[:SPECIAL_DEFENSE], body_stats[:SPECIAL_DEFENSE])
|
||||||
|
fused_stats[:SPECIAL_ATTACK] = calculate_fused_stats(head_stats[:SPECIAL_ATTACK], body_stats[:SPECIAL_ATTACK])
|
||||||
|
|
||||||
|
#Body dominant stats
|
||||||
|
fused_stats[:ATTACK] = calculate_fused_stats(body_stats[:ATTACK], head_stats[:ATTACK])
|
||||||
|
fused_stats[:DEFENSE] = calculate_fused_stats(body_stats[:DEFENSE], head_stats[:DEFENSE])
|
||||||
|
fused_stats[:SPEED] = calculate_fused_stats(body_stats[:SPEED], head_stats[:SPEED])
|
||||||
|
|
||||||
|
return fused_stats
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_base_exp()
|
||||||
|
head_exp = @head_pokemon.base_exp
|
||||||
|
body_exp = @body_pokemon.base_exp
|
||||||
|
return average_values(head_exp, body_exp)
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_catch_rate
|
||||||
|
return get_lowest_value(@body_pokemon.catch_rate, @head_pokemon.catch_rate)
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_base_happiness
|
||||||
|
return @head_pokemon.happiness
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_moveset
|
||||||
|
return combine_arrays(@body_pokemon.moves, @head_pokemon.moves)
|
||||||
|
end
|
||||||
|
|
||||||
|
#todo
|
||||||
|
def calculate_name()
|
||||||
|
return @body_pokemon.name + "/" + @head_pokemon.name
|
||||||
|
end
|
||||||
|
|
||||||
|
#todo
|
||||||
|
def calculate_evs()
|
||||||
|
return {}
|
||||||
|
end
|
||||||
|
|
||||||
|
#todo
|
||||||
|
def calculate_growth_rate
|
||||||
|
return :Medium
|
||||||
|
end
|
||||||
|
|
||||||
|
#todo
|
||||||
|
def calculate_dex_entry
|
||||||
|
return "this is a fused pokemon bro"
|
||||||
|
end
|
||||||
|
|
||||||
|
#todo
|
||||||
|
def calculate_gender
|
||||||
|
return :Genderless
|
||||||
|
end
|
||||||
|
|
||||||
|
#UTILS
|
||||||
|
#
|
||||||
|
def calculate_fused_stats(dominantStat, otherStat)
|
||||||
|
return ((2 * dominantStat) / 3) + (otherStat / 3).floor
|
||||||
|
end
|
||||||
|
|
||||||
|
def average_values(value1, value2)
|
||||||
|
return ((value1 + value2) / 2).floor
|
||||||
|
end
|
||||||
|
|
||||||
|
def average_map_values(map1, map2)
|
||||||
|
averaged_map = map1.merge(map2) do |key, value1, value2|
|
||||||
|
((value1 + value2) / 2.0).floor
|
||||||
|
end
|
||||||
|
return averaged_map
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_highest_value(value1, value2)
|
||||||
|
return value1 > value2 ? value1 : value2
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_lowest_value(value1, value2)
|
||||||
|
return value1 < value2 ? value1 : value2
|
||||||
|
end
|
||||||
|
|
||||||
|
def combine_arrays(array1, array2)
|
||||||
|
return array1 + array2
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
# PokemonFusion
|
# PokemonFusion
|
||||||
#
|
#
|
||||||
|
|
||||||
NB_POKEMON = 420 #351 #aussi CONST_NB_POKE
|
NB_POKEMON = 809#420 #351 #aussi CONST_NB_POKE
|
||||||
|
CONST_NB_POKE = NB_POKEMON
|
||||||
def pbPokemonBitmapFile(species)
|
def pbPokemonBitmapFile(species)
|
||||||
# Used by the Pokédex
|
# Used by the Pokédex
|
||||||
# Load normal bitmap
|
# Load normal bitmap
|
||||||
|
|||||||
@@ -146,8 +146,24 @@ def getDexNumberForSpecies(species)
|
|||||||
return dexNum
|
return dexNum
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def getFusedPokemonIdFromDexNum(body_dex, head_dex)
|
||||||
|
return ("B" + body_dex.to_s + "H" + head_dex.to_s).to_sym
|
||||||
|
end
|
||||||
|
|
||||||
def getPokemon(dexNum)
|
def getPokemon(dexNum)
|
||||||
return GameData::Species.get(dexNum)
|
if dexNum.is_a?(Integer)
|
||||||
|
if dexNum > NB_POKEMON
|
||||||
|
body_id = getBodyID(dexNum)
|
||||||
|
head_id = getHeadID(dexNum,body_id)
|
||||||
|
pokemon_id = getFusedPokemonIdFromDexNum(body_id,head_id)
|
||||||
|
else
|
||||||
|
pokemon_id = dexNum
|
||||||
|
end
|
||||||
|
else
|
||||||
|
pokemon_id = dexNum
|
||||||
|
end
|
||||||
|
|
||||||
|
return GameData::Species.get(pokemon_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def getSpecies(dexnum)
|
def getSpecies(dexnum)
|
||||||
@@ -238,19 +254,30 @@ def getRandomCustomFusion(returnRandomPokemonIfNoneFound = true, customPokeList
|
|||||||
return randPoke
|
return randPoke
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getBodyID(species)
|
def getBodyID(species)
|
||||||
dexNum = getDexNumberForSpecies(species)
|
if species.is_a?(Integer)
|
||||||
|
dexNum = species
|
||||||
|
else
|
||||||
|
dexNum = getDexNumberForSpecies(species)
|
||||||
|
end
|
||||||
if dexNum % NB_POKEMON == 0
|
if dexNum % NB_POKEMON == 0
|
||||||
return (dexNum / NB_POKEMON) - 1
|
return (dexNum / NB_POKEMON) - 1
|
||||||
end
|
end
|
||||||
return (dexNum / NB_POKEMON).round
|
return (dexNum / NB_POKEMON).round
|
||||||
end
|
end
|
||||||
|
|
||||||
def getHeadID(species, bodyId = nil)
|
def getHeadID(species, bodyId = nil)
|
||||||
|
if species.is_a?(Integer)
|
||||||
|
fused_dexNum = species
|
||||||
|
else
|
||||||
|
fused_dexNum = getDexNumberForSpecies(species)
|
||||||
|
end
|
||||||
|
|
||||||
if bodyId == nil
|
if bodyId == nil
|
||||||
bodyId = getBodyID(species)
|
bodyId = getBodyID(species)
|
||||||
end
|
end
|
||||||
fused_dexNum = getDexNumberForSpecies(species)
|
|
||||||
body_dexNum = getDexNumberForSpecies(bodyId)
|
body_dexNum = getDexNumberForSpecies(bodyId)
|
||||||
|
|
||||||
calculated_number = (fused_dexNum - (body_dexNum * NB_POKEMON)).round
|
calculated_number = (fused_dexNum - (body_dexNum * NB_POKEMON)).round
|
||||||
|
|||||||
@@ -1393,6 +1393,9 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def selectFusion(pokemon, poke2, supersplicers = false)
|
def selectFusion(pokemon, poke2, supersplicers = false)
|
||||||
|
p pokemon
|
||||||
|
p poke2
|
||||||
|
|
||||||
return nil if !pokemon.is_a?(Pokemon) || !poke2.is_a?(Pokemon)
|
return nil if !pokemon.is_a?(Pokemon) || !poke2.is_a?(Pokemon)
|
||||||
return nil if pokemon.egg? || poke2.egg?
|
return nil if pokemon.egg? || poke2.egg?
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Data/items.dat
BIN
Data/items.dat
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user