mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
spriter fight in gallery
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.
@@ -10098,11 +10098,10 @@
|
|||||||
166.334,Lora-mun#5661
|
166.334,Lora-mun#5661
|
||||||
166.338,Pokeapache#7582
|
166.338,Pokeapache#7582
|
||||||
166.342,Retrogamer#9934
|
166.342,Retrogamer#9934
|
||||||
166.346,
|
|
||||||
166.352,Xenophacilus#7867
|
166.352,Xenophacilus#7867
|
||||||
166.354,Moonabloom#2081
|
166.354,Moonabloom#2081
|
||||||
166.356,gupaulino#2624
|
166.356,gupaulino#2624
|
||||||
166.36,NPC-ARTS#8564
|
166.36,NPC-ARTS#8564S
|
||||||
166.369,Moon_Tah#2688
|
166.369,Moon_Tah#2688
|
||||||
166.37,Ashbright#6398
|
166.37,Ashbright#6398
|
||||||
166.375,Lord Ca_Club#9654
|
166.375,Lord Ca_Club#9654
|
||||||
@@ -13353,7 +13352,6 @@
|
|||||||
188.131,Zergla#9945
|
188.131,Zergla#9945
|
||||||
188.133,CarbonGames75#9231
|
188.133,CarbonGames75#9231
|
||||||
188.14,Koroblin#4006
|
188.14,Koroblin#4006
|
||||||
188.142,
|
|
||||||
188.142a,BHP Obrut#0341
|
188.142a,BHP Obrut#0341
|
||||||
188.147,Milchik#6233
|
188.147,Milchik#6233
|
||||||
188.148,Milchik#6233
|
188.148,Milchik#6233
|
||||||
@@ -14895,7 +14893,6 @@
|
|||||||
197.334,mammuth use ursaluna#3114
|
197.334,mammuth use ursaluna#3114
|
||||||
197.336,thornsoflight
|
197.336,thornsoflight
|
||||||
197.336a,TysonTurnpike#9909
|
197.336a,TysonTurnpike#9909
|
||||||
197.336b,
|
|
||||||
197.337,MetalXLemmy#7970
|
197.337,MetalXLemmy#7970
|
||||||
197.339,AkumaDelta#2364
|
197.339,AkumaDelta#2364
|
||||||
197.34,Dynte#0539
|
197.34,Dynte#0539
|
||||||
@@ -19524,7 +19521,6 @@
|
|||||||
229.244a,Aiytee#2046
|
229.244a,Aiytee#2046
|
||||||
229.249,JezusOfJordanTTV#1796
|
229.249,JezusOfJordanTTV#1796
|
||||||
229.25,Tooby_Two#2536
|
229.25,Tooby_Two#2536
|
||||||
229.253a,
|
|
||||||
229.256,mammuth use ursaluna#3114
|
229.256,mammuth use ursaluna#3114
|
||||||
229.26,Lunar#0258
|
229.26,Lunar#0258
|
||||||
229.262a,Quote.lass#3684
|
229.262a,Quote.lass#3684
|
||||||
@@ -26122,7 +26118,6 @@
|
|||||||
275.282,mud#4550
|
275.282,mud#4550
|
||||||
275.284,theeastgamer0#4466
|
275.284,theeastgamer0#4466
|
||||||
275.287,mammuth use ursaluna#3114
|
275.287,mammuth use ursaluna#3114
|
||||||
275.287a,
|
|
||||||
275.287b,Head Empty#7054
|
275.287b,Head Empty#7054
|
||||||
275.287c,mud#4550
|
275.287c,mud#4550
|
||||||
275.287f,YourSupraSugarDaddy#7825
|
275.287f,YourSupraSugarDaddy#7825
|
||||||
@@ -27020,7 +27015,6 @@
|
|||||||
282.218,Shayzisᴼᶻᵃᵏᶦ ¯\_(ツ)_/¯#0270
|
282.218,Shayzisᴼᶻᵃᵏᶦ ¯\_(ツ)_/¯#0270
|
||||||
282.22,Jaters#2779
|
282.22,Jaters#2779
|
||||||
282.220,Knuckles3&Knuckles#7559
|
282.220,Knuckles3&Knuckles#7559
|
||||||
282.222,
|
|
||||||
282.223,kiwikelly
|
282.223,kiwikelly
|
||||||
282.224,MJxPimouss#7015
|
282.224,MJxPimouss#7015
|
||||||
282.23,Jaters#2779
|
282.23,Jaters#2779
|
||||||
@@ -32961,7 +32955,6 @@
|
|||||||
327.9,IridescentMirage#2413
|
327.9,IridescentMirage#2413
|
||||||
327.92,DanonZer#6110
|
327.92,DanonZer#6110
|
||||||
327.94,Skyboy#9244
|
327.94,Skyboy#9244
|
||||||
327.99,
|
|
||||||
328.100,Maelmc#9965
|
328.100,Maelmc#9965
|
||||||
328.101,Maelmc#9965
|
328.101,Maelmc#9965
|
||||||
328.102,Spagalapof#5624
|
328.102,Spagalapof#5624
|
||||||
@@ -35779,8 +35772,6 @@
|
|||||||
346.23,Sonic11110#6073
|
346.23,Sonic11110#6073
|
||||||
346.234,camiska#5369
|
346.234,camiska#5369
|
||||||
346.234a,camiska#5369
|
346.234a,camiska#5369
|
||||||
346.234b,
|
|
||||||
346.234c,
|
|
||||||
346.235,Hypest Avid#2240
|
346.235,Hypest Avid#2240
|
||||||
346.239,AussieJo#6727
|
346.239,AussieJo#6727
|
||||||
346.25,Count Scabula#9527
|
346.25,Count Scabula#9527
|
||||||
@@ -45506,7 +45497,6 @@
|
|||||||
406.100,TeeOhEss#4617
|
406.100,TeeOhEss#4617
|
||||||
406.101,War#0084
|
406.101,War#0084
|
||||||
406.101a,War#0084
|
406.101a,War#0084
|
||||||
406.102a,
|
|
||||||
406.103,Elitay#5331
|
406.103,Elitay#5331
|
||||||
406.104,Charred Lizard#8595
|
406.104,Charred Lizard#8595
|
||||||
406.105,DaTorre#4703
|
406.105,DaTorre#4703
|
||||||
@@ -45856,7 +45846,6 @@
|
|||||||
407.278,jojo97#3521
|
407.278,jojo97#3521
|
||||||
407.279,Fish Games#4056
|
407.279,Fish Games#4056
|
||||||
407.28,xigzagoon#9354
|
407.28,xigzagoon#9354
|
||||||
407.280,
|
|
||||||
407.281,Fish Games#4056
|
407.281,Fish Games#4056
|
||||||
407.292,Sensei Farm#6760
|
407.292,Sensei Farm#6760
|
||||||
407.294,ClawsHDi#9101
|
407.294,ClawsHDi#9101
|
||||||
@@ -47121,7 +47110,6 @@
|
|||||||
418.160,Holgast#1562
|
418.160,Holgast#1562
|
||||||
418.17,Retrogamer#9934
|
418.17,Retrogamer#9934
|
||||||
418.177,Riviera#0906
|
418.177,Riviera#0906
|
||||||
418.17a,
|
|
||||||
418.194,ZeroCipher#2416
|
418.194,ZeroCipher#2416
|
||||||
418.198,Quote.lass#3684
|
418.198,Quote.lass#3684
|
||||||
418.220,Mr. Person (Prinplup enjoyer)#2491
|
418.220,Mr. Person (Prinplup enjoyer)#2491
|
||||||
@@ -54696,7 +54684,6 @@
|
|||||||
94.335a,PinkPoffin#6403
|
94.335a,PinkPoffin#6403
|
||||||
94.337,Baltes#3911
|
94.337,Baltes#3911
|
||||||
94.338a,Blackboots#7369
|
94.338a,Blackboots#7369
|
||||||
mammuth use ursaluna#3114
|
|
||||||
94.339,Sunset Sailor Fox#8957
|
94.339,Sunset Sailor Fox#8957
|
||||||
94.34b,Universez#0767
|
94.34b,Universez#0767
|
||||||
94.34,mammuth use ursaluna#3114
|
94.34,mammuth use ursaluna#3114
|
||||||
|
|||||||
@@ -424,10 +424,9 @@ def pbDisplayBattleFactoryPointsWindow(msgwindow)
|
|||||||
pbDisplayVariableWindow(msgwindow, "Tokens", VAR_BATTLE_FACTORY_TOKENS)
|
pbDisplayVariableWindow(msgwindow, "Tokens", VAR_BATTLE_FACTORY_TOKENS)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def pbDisplayVariableWindow(msgwindow, name, variable_id)
|
||||||
def pbDisplayVariableWindow(msgwindow,name,variable_id)
|
|
||||||
pointsString = $game_variables[variable_id].to_s
|
pointsString = $game_variables[variable_id].to_s
|
||||||
pointswindow = Window_AdvancedTextPokemon.new(_INTL("{1}:\n<ar>{2}</ar>",name, pointsString))
|
pointswindow = Window_AdvancedTextPokemon.new(_INTL("{1}:\n<ar>{2}</ar>", name, pointsString))
|
||||||
pointswindow.setSkin("Graphics/Windowskins/goldskin")
|
pointswindow.setSkin("Graphics/Windowskins/goldskin")
|
||||||
pointswindow.resizeToFit(pointswindow.text, Graphics.width)
|
pointswindow.resizeToFit(pointswindow.text, Graphics.width)
|
||||||
pointswindow.width = 160 if pointswindow.width <= 160
|
pointswindow.width = 160 if pointswindow.width <= 160
|
||||||
@@ -441,11 +440,11 @@ def pbDisplayVariableWindow(msgwindow,name,variable_id)
|
|||||||
return pointswindow
|
return pointswindow
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbDisplayTwoVariableWindow(msgwindow,name1,variable1_id,name2, variable2_id)
|
def pbDisplayTwoVariableWindow(msgwindow, name1, variable1_id, name2, variable2_id)
|
||||||
pointsString1 = $game_variables[variable1_id].to_s
|
pointsString1 = $game_variables[variable1_id].to_s
|
||||||
pointsString2 = $game_variables[variable2_id].to_s
|
pointsString2 = $game_variables[variable2_id].to_s
|
||||||
|
|
||||||
pointswindow = Window_AdvancedTextPokemon.new(_INTL("{1}:<ar>{2}</ar>\n{3}:<ar>{4}</ar>",name1, pointsString1,name2,pointsString2))
|
pointswindow = Window_AdvancedTextPokemon.new(_INTL("{1}:<ar>{2}</ar>\n{3}:<ar>{4}</ar>", name1, pointsString1, name2, pointsString2))
|
||||||
pointswindow.setSkin("Graphics/Windowskins/goldskin")
|
pointswindow.setSkin("Graphics/Windowskins/goldskin")
|
||||||
pointswindow.resizeToFit(pointswindow.text, Graphics.width)
|
pointswindow.resizeToFit(pointswindow.text, Graphics.width)
|
||||||
pointswindow.width = 160 if pointswindow.width <= 160
|
pointswindow.width = 160 if pointswindow.width <= 160
|
||||||
@@ -551,10 +550,10 @@ end
|
|||||||
# Main message-displaying function
|
# Main message-displaying function
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
def pbMessageDisplayNoSound(msgwindow, message, letterbyletter = true, commandProc = nil)
|
def pbMessageDisplayNoSound(msgwindow, message, letterbyletter = true, commandProc = nil)
|
||||||
pbMessageDisplay(msgwindow,message,letterbyletter,commandProc,false)
|
pbMessageDisplay(msgwindow, message, letterbyletter, commandProc, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbMessageDisplay(msgwindow, message, letterbyletter = true, commandProc = nil,withSound=true)
|
def pbMessageDisplay(msgwindow, message, letterbyletter = true, commandProc = nil, withSound = true)
|
||||||
return if !msgwindow
|
return if !msgwindow
|
||||||
oldletterbyletter = msgwindow.letterbyletter
|
oldletterbyletter = msgwindow.letterbyletter
|
||||||
msgwindow.letterbyletter = (letterbyletter) ? true : false
|
msgwindow.letterbyletter = (letterbyletter) ? true : false
|
||||||
@@ -730,15 +729,17 @@ def pbMessageDisplay(msgwindow, message, letterbyletter = true, commandProc = ni
|
|||||||
param = controls[i][1]
|
param = controls[i][1]
|
||||||
case control
|
case control
|
||||||
when "f"
|
when "f"
|
||||||
isFusion = param.to_i > NB_POKEMON
|
if param.to_i > 0
|
||||||
head = getBasePokemonID(param.to_i, false)
|
isFusion = param.to_i > NB_POKEMON
|
||||||
body = getBasePokemonID(param.to_i, true)
|
head = getBasePokemonID(param.to_i, false)
|
||||||
facewindow.dispose if facewindow
|
body = getBasePokemonID(param.to_i, true)
|
||||||
path = obtainPokemonSpritePath(body, head, $game_variables[VAR_CUSTOM_SPRITES_ENABLED] == 0)
|
facewindow.dispose if facewindow
|
||||||
facewindow = isFusion ? PictureWindow.new(path) : PictureWindow.new("Graphics/Battlers/#{head}/#{head}.png")
|
path = obtainPokemonSpritePath(body, head, $game_variables[VAR_CUSTOM_SPRITES_ENABLED] == 0)
|
||||||
pbPositionNearMsgWindow(facewindow, msgwindow, :left)
|
facewindow = isFusion ? PictureWindow.new(path) : PictureWindow.new("Graphics/Battlers/#{head}/#{head}.png")
|
||||||
facewindow.viewport = msgwindow.viewport
|
pbPositionNearMsgWindow(facewindow, msgwindow, :left)
|
||||||
facewindow.z = msgwindow.z
|
facewindow.viewport = msgwindow.viewport
|
||||||
|
facewindow.z = msgwindow.z
|
||||||
|
end
|
||||||
when "ff"
|
when "ff"
|
||||||
facewindow.dispose if facewindow
|
facewindow.dispose if facewindow
|
||||||
facewindow = FaceWindowVX.new(param)
|
facewindow = FaceWindowVX.new(param)
|
||||||
@@ -876,9 +877,9 @@ def pbMessageNoSound(message, commands = nil, cmdIfCancel = 0, skin = nil, defau
|
|||||||
msgwindow = pbCreateMessageWindow(nil, skin)
|
msgwindow = pbCreateMessageWindow(nil, skin)
|
||||||
if commands
|
if commands
|
||||||
ret = pbMessageDisplayNoSound(msgwindow, message, true,
|
ret = pbMessageDisplayNoSound(msgwindow, message, true,
|
||||||
proc { |msgwindow|
|
proc { |msgwindow|
|
||||||
next Kernel.pbShowCommands(msgwindow, commands, cmdIfCancel, defaultCmd, &block)
|
next Kernel.pbShowCommands(msgwindow, commands, cmdIfCancel, defaultCmd, &block)
|
||||||
}, &block)
|
}, &block)
|
||||||
else
|
else
|
||||||
pbMessageDisplay(msgwindow, message, &block)
|
pbMessageDisplay(msgwindow, message, &block)
|
||||||
end
|
end
|
||||||
@@ -887,7 +888,6 @@ def pbMessageNoSound(message, commands = nil, cmdIfCancel = 0, skin = nil, defau
|
|||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def pbConfirmMessage(message, &block)
|
def pbConfirmMessage(message, &block)
|
||||||
return (pbMessage(message, [_INTL("Yes"), _INTL("No")], 2, &block) == 0)
|
return (pbMessage(message, [_INTL("Yes"), _INTL("No")], 2, &block) == 0)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class PokeBattle_Scene
|
|||||||
# Opposing trainer(s) sprites
|
# Opposing trainer(s) sprites
|
||||||
if @battle.trainerBattle?
|
if @battle.trainerBattle?
|
||||||
@battle.opponent.each_with_index do |p,i|
|
@battle.opponent.each_with_index do |p,i|
|
||||||
pbCreateTrainerFrontSprite(i,p.trainer_type,@battle.opponent.length)
|
pbCreateTrainerFrontSprite(i,p.trainer_type,@battle.opponent.length,p.sprite_override)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Data boxes and Pokémon sprites
|
# Data boxes and Pokémon sprites
|
||||||
@@ -181,8 +181,10 @@ class PokeBattle_Scene
|
|||||||
trainer.oy = trainer.bitmap.height
|
trainer.oy = trainer.bitmap.height
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbCreateTrainerFrontSprite(idxTrainer,trainerType,numTrainers=1)
|
def pbCreateTrainerFrontSprite(idxTrainer,trainerType,numTrainers=1,sprite_override=nil)
|
||||||
trainerFile = GameData::TrainerType.front_sprite_filename(trainerType)
|
trainerFile = GameData::TrainerType.front_sprite_filename(trainerType)
|
||||||
|
trainerFile = sprite_override if sprite_override
|
||||||
|
|
||||||
spriteX, spriteY = PokeBattle_SceneConstants.pbTrainerPosition(1,idxTrainer,numTrainers)
|
spriteX, spriteY = PokeBattle_SceneConstants.pbTrainerPosition(1,idxTrainer,numTrainers)
|
||||||
trainer = pbAddSprite("trainer_#{idxTrainer+1}",spriteX,spriteY,trainerFile,@viewport)
|
trainer = pbAddSprite("trainer_#{idxTrainer+1}",spriteX,spriteY,trainerFile,@viewport)
|
||||||
return if !trainer.bitmap
|
return if !trainer.bitmap
|
||||||
|
|||||||
@@ -515,6 +515,53 @@ def pbTrainerBattleCore(*args)
|
|||||||
return decision
|
return decision
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def convert_pokemon_to_pokemon_hash(pokemon)
|
||||||
|
pokemon_hash = Hash.new
|
||||||
|
pokemon_hash[:species] = pokemon.species
|
||||||
|
pokemon_hash[:level] = pokemon.level
|
||||||
|
return pokemon_hash
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#party: array of pokemon team
|
||||||
|
# [[:SPECIES,level], ... ]
|
||||||
|
#
|
||||||
|
def customTrainerBattle(trainerName, trainerType, party_array, default_level=50, endSpeech="", sprite_override=nil)
|
||||||
|
|
||||||
|
|
||||||
|
# trainerID= "customTrainer"
|
||||||
|
#
|
||||||
|
# trainer_info_hash = {}
|
||||||
|
# trainer_info_hash[:id] = trainerID
|
||||||
|
# trainer_info_hash[:id_number] = 0
|
||||||
|
# trainer_info_hash[:name] = trainerName
|
||||||
|
# trainer_info_hash[:version] = 0
|
||||||
|
# trainer_info_hash[:items] = []
|
||||||
|
# trainer_info_hash[:lose_text] = endSpeech
|
||||||
|
# trainer_info_hash[:pokemon] = party
|
||||||
|
|
||||||
|
#trainer = GameData::Trainer.new(trainer_info_hash)
|
||||||
|
trainer = NPCTrainer.new(trainerName,trainerType,sprite_override)
|
||||||
|
trainer.lose_text=endSpeech
|
||||||
|
party = []
|
||||||
|
party_array.each { |pokemon|
|
||||||
|
if pokemon.is_a?(Pokemon)
|
||||||
|
party << pokemon
|
||||||
|
elsif pokemon.is_a?(Symbol)
|
||||||
|
party << Pokemon.new(pokemon,default_level,trainer)
|
||||||
|
end
|
||||||
|
}
|
||||||
|
trainer.party=party
|
||||||
|
Events.onTrainerPartyLoad.trigger(nil,trainer)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
decision = pbTrainerBattleCore(trainer)
|
||||||
|
# Return true if the player won the battle, and false if any other result
|
||||||
|
return (decision==1)
|
||||||
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Standard methods that start a trainer battle of various sizes
|
# Standard methods that start a trainer battle of various sizes
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class Trainer
|
|||||||
attr_accessor :language
|
attr_accessor :language
|
||||||
attr_accessor :party
|
attr_accessor :party
|
||||||
attr_accessor :quests
|
attr_accessor :quests
|
||||||
|
attr_accessor :sprite_override
|
||||||
|
|
||||||
def inspect
|
def inspect
|
||||||
str = super.chop
|
str = super.chop
|
||||||
@@ -204,12 +205,13 @@ class Trainer
|
|||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
|
||||||
def initialize(name, trainer_type)
|
def initialize(name, trainer_type, sprite_override=nil)
|
||||||
@trainer_type = GameData::TrainerType.get(trainer_type).id
|
@trainer_type = GameData::TrainerType.get(trainer_type).id
|
||||||
@name = name
|
@name = name
|
||||||
@id = rand(2 ** 16) | rand(2 ** 16) << 16
|
@id = rand(2 ** 16) | rand(2 ** 16) << 16
|
||||||
@language = pbGetLanguage
|
@language = pbGetLanguage
|
||||||
@party = []
|
@party = []
|
||||||
|
@sprite_override = sprite_override
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -220,7 +222,7 @@ class NPCTrainer < Trainer
|
|||||||
attr_accessor :items
|
attr_accessor :items
|
||||||
attr_accessor :lose_text
|
attr_accessor :lose_text
|
||||||
|
|
||||||
def initialize(name, trainer_type)
|
def initialize(name, trainer_type, sprite_override=nil)
|
||||||
super
|
super
|
||||||
@items = []
|
@items = []
|
||||||
@lose_text = nil
|
@lose_text = nil
|
||||||
|
|||||||
@@ -1155,7 +1155,7 @@ class PokemonPartyScreen
|
|||||||
def pbPokemonRename(pkmn, pkmnid)
|
def pbPokemonRename(pkmn, pkmnid)
|
||||||
cmd = 0
|
cmd = 0
|
||||||
loop do
|
loop do
|
||||||
speciesname = PBSpecies.getName(pkmn.species)
|
speciesname = pkmn.speciesName
|
||||||
msg = [_INTL("{1} has the nickname {2}.", speciesname, pkmn.name),
|
msg = [_INTL("{1} has the nickname {2}.", speciesname, pkmn.name),
|
||||||
_INTL("{1} has no nickname.", speciesname)][pkmn.name == speciesname ? 1 : 0]
|
_INTL("{1} has no nickname.", speciesname)][pkmn.name == speciesname ? 1 : 0]
|
||||||
cmd = @scene.pbShowCommands(msg, [
|
cmd = @scene.pbShowCommands(msg, [
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ end
|
|||||||
#param2 = true pour body, false pour head
|
#param2 = true pour body, false pour head
|
||||||
#return int du pokemon de base
|
#return int du pokemon de base
|
||||||
def getBasePokemonID(pokemon, body = true)
|
def getBasePokemonID(pokemon, body = true)
|
||||||
|
return nil if pokemon <= 0
|
||||||
if pokemon.is_a?(Symbol)
|
if pokemon.is_a?(Symbol)
|
||||||
dex_number = GameData::Species.get(pokemon).id_number
|
dex_number = GameData::Species.get(pokemon).id_number
|
||||||
pokemon = dex_number
|
pokemon = dex_number
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ def addNewTripleFusion(pokemon1,pokemon2,pokemon3,level = 1)
|
|||||||
end
|
end
|
||||||
|
|
||||||
pokemon = TripleFusion.new(pokemon1,pokemon2,pokemon3,level)
|
pokemon = TripleFusion.new(pokemon1,pokemon2,pokemon3,level)
|
||||||
|
pokemon.calc_stats
|
||||||
pbMessage(_INTL("{1} obtained {2}!\\me[Pkmn get]\\wtnp[80]\1", $Trainer.name, pokemon.name))
|
pbMessage(_INTL("{1} obtained {2}!\\me[Pkmn get]\\wtnp[80]\1", $Trainer.name, pokemon.name))
|
||||||
pbNicknameAndStore(pokemon)
|
pbNicknameAndStore(pokemon)
|
||||||
#$Trainer.pokedex.register(pokemon)
|
#$Trainer.pokedex.register(pokemon)
|
||||||
|
|||||||
@@ -125,11 +125,42 @@ def list_all_spriters()
|
|||||||
return names_list
|
return names_list
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def generateCurrentGalleryBattle(level = nil, number_of_pokemon = 3)
|
||||||
|
spriter_name = pbGet(259)
|
||||||
|
#set highest level in party if nil
|
||||||
|
if !level
|
||||||
|
level = $Trainer.highest_level_pokemon_in_party
|
||||||
|
end
|
||||||
|
possible_battlers = []
|
||||||
|
for i in 0..5
|
||||||
|
sprite = pbGet(VAR_GALLERY_FEATURED_SPRITES)[i]
|
||||||
|
species = getPokemonSpeciesFromSprite(sprite)
|
||||||
|
possible_battlers << species if species
|
||||||
|
end
|
||||||
|
|
||||||
|
selected_battlers_idx = possible_battlers.sample(number_of_pokemon)
|
||||||
|
party = []
|
||||||
|
selected_battlers_idx.each { |species|
|
||||||
|
party << Pokemon.new(species, level)
|
||||||
|
}
|
||||||
|
customTrainerBattle(spriter_name,
|
||||||
|
:PAINTER,
|
||||||
|
party,
|
||||||
|
level,
|
||||||
|
pick_spriter_losing_dialog(spriter_name),
|
||||||
|
pick_trainer_sprite(spriter_name)
|
||||||
|
)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
def generateArtGallery(nbSpritesDisplayed = 6, saveArtistNameInVariable = 1, saveSpritesInVariable = 2, saveAllArtistSpritesInVariable = 3, artistName = nil)
|
def generateArtGallery(nbSpritesDisplayed = 6, saveArtistNameInVariable = 1, saveSpritesInVariable = 2, saveAllArtistSpritesInVariable = 3, artistName = nil)
|
||||||
artistName = nil if artistName == 0
|
artistName = nil if artistName == 0
|
||||||
creditsMap = map_sprites_by_artist
|
creditsMap = map_sprites_by_artist
|
||||||
featuredArtist = artistName ? artistName : getRandomSpriteArtist(creditsMap, nbSpritesDisplayed)
|
featuredArtist = artistName ? artistName : getRandomSpriteArtist(creditsMap, nbSpritesDisplayed)
|
||||||
if featuredArtist
|
if featuredArtist
|
||||||
|
if !creditsMap[featuredArtist] #try again if issue
|
||||||
|
return generateArtGallery(nbSpritesDisplayed,saveSpritesInVariable,saveSpritesInVariable,saveSpritesInVariable,artistName)
|
||||||
|
end
|
||||||
featuredSprites = creditsMap[featuredArtist].shuffle.take(nbSpritesDisplayed)
|
featuredSprites = creditsMap[featuredArtist].shuffle.take(nbSpritesDisplayed)
|
||||||
pbSet(saveArtistNameInVariable, File.basename(featuredArtist, '#*'))
|
pbSet(saveArtistNameInVariable, File.basename(featuredArtist, '#*'))
|
||||||
pbSet(saveSpritesInVariable, featuredSprites)
|
pbSet(saveSpritesInVariable, featuredSprites)
|
||||||
@@ -143,7 +174,7 @@ def format_artist_name(full_name)
|
|||||||
return File.basename(full_name, '#*')
|
return File.basename(full_name, '#*')
|
||||||
end
|
end
|
||||||
|
|
||||||
def getRandomSpriteArtist(creditsMap = nil, minimumNumberOfSprites = 1, giveUpAfterX = 50)
|
def getRandomSpriteArtist(creditsMap = nil, minimumNumberOfSprites = 10, giveUpAfterX = 50)
|
||||||
creditsMap = map_sprites_by_artist if !creditsMap
|
creditsMap = map_sprites_by_artist if !creditsMap
|
||||||
i = 0
|
i = 0
|
||||||
while i < giveUpAfterX
|
while i < giveUpAfterX
|
||||||
|
|||||||
36
Data/Scripts/050_AddOns/TrainerGeneratorUtils.rb
Normal file
36
Data/Scripts/050_AddOns/TrainerGeneratorUtils.rb
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
def pick_trainer_sprite(spriter_name)
|
||||||
|
possible_types = "abcd"
|
||||||
|
trainer_type_index = select_number_from_seed(spriter_name,0,3)
|
||||||
|
path = _INTL("Graphics/Trainers/trainer116{1}",possible_types[trainer_type_index].to_s)
|
||||||
|
return path
|
||||||
|
end
|
||||||
|
|
||||||
|
def select_number_from_seed(seed, min_value, max_value)
|
||||||
|
hash = 137
|
||||||
|
seed.each_byte do |byte|
|
||||||
|
hash = ((hash << 5) + hash) + byte
|
||||||
|
end
|
||||||
|
srand(hash)
|
||||||
|
selected_number = rand(min_value..max_value)
|
||||||
|
selected_number
|
||||||
|
end
|
||||||
|
|
||||||
|
def pick_spriter_losing_dialog(spriter_name)
|
||||||
|
possible_dialogs = [
|
||||||
|
"Oh... I lost...",
|
||||||
|
"I did my best!",
|
||||||
|
"You're too strong!",
|
||||||
|
"You win!",
|
||||||
|
"What a fight!",
|
||||||
|
"That was fun!",
|
||||||
|
"Ohh, that's too bad",
|
||||||
|
"I should've sprited some stronger Pokémon!",
|
||||||
|
"So much for that!",
|
||||||
|
"Should've seen that coming!",
|
||||||
|
"I can't believe it!",
|
||||||
|
"What a surprise!"
|
||||||
|
]
|
||||||
|
index = select_number_from_seed(spriter_name,0,possible_dialogs.size-1)
|
||||||
|
return possible_dialogs[index]
|
||||||
|
end
|
||||||
@@ -17,6 +17,12 @@ class TripleFusion < Pokemon
|
|||||||
super(:ZAPMOLTICUNO,level,owner,withMoves,recheck_form)
|
super(:ZAPMOLTICUNO,level,owner,withMoves,recheck_form)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def types
|
||||||
|
return [@species1_data.type1, @species2_data.type1,@species3_data.type1]
|
||||||
|
end
|
||||||
|
|
||||||
def baseStats
|
def baseStats
|
||||||
ret = {}
|
ret = {}
|
||||||
GameData::Stat.each_main do |s|
|
GameData::Stat.each_main do |s|
|
||||||
@@ -33,6 +39,9 @@ class TripleFusion < Pokemon
|
|||||||
return (nicknamed?) ? @name : @species_name
|
return (nicknamed?) ? @name : @species_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def speciesName
|
||||||
|
return @species_name
|
||||||
|
end
|
||||||
|
|
||||||
def generate_triple_fusion_name()
|
def generate_triple_fusion_name()
|
||||||
part1 = split_string_with_syllables(@species1_data.name)[0]
|
part1 = split_string_with_syllables(@species1_data.name)[0]
|
||||||
@@ -58,6 +67,23 @@ class TripleFusion < Pokemon
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ability_id
|
||||||
|
if !@ability
|
||||||
|
abil_index = ability_index
|
||||||
|
if !@ability # Natural ability or no hidden ability defined
|
||||||
|
chosen_poke_for_ability= rand(1..3)
|
||||||
|
if chosen_poke_for_ability == 1
|
||||||
|
@ability = @species1_data.abilities[abil_index] || @species1_data.abilities[0]
|
||||||
|
elsif chosen_poke_for_ability == 2
|
||||||
|
@ability = @species2_data.abilities[abil_index] || @species2_data.abilities[0]
|
||||||
|
else
|
||||||
|
@ability = @species3_data.abilities[abil_index] || @species3_data.abilities[0]
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return @ability
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user