mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-11-03 08:15:47 +00:00
Release 6.9.0
This commit is contained in:
@@ -48,6 +48,7 @@ class BattledTrainer
|
||||
attr_accessor :friendship_level
|
||||
|
||||
attr_accessor :overworld_sprite
|
||||
attr_accessor :location_map_id
|
||||
|
||||
attr_reader :favorite
|
||||
|
||||
@@ -146,8 +147,9 @@ class BattledTrainer
|
||||
while @friendship_level < thresholds.length && @friendship >= thresholds[@friendship_level]
|
||||
@friendship_level += 1
|
||||
|
||||
trainerClassName = GameData::TrainerType.get(@trainerType).real_name
|
||||
pbMessage(_INTL("\\C[3]Friendship increased with {1} {2}!", trainerClassName, @trainerName))
|
||||
trainerClassName = GameData::TrainerType.get(@trainerType).name
|
||||
trainerName = pbGetMessageFromHash(MessageTypes::TrainerNames, @trainerName)
|
||||
pbMessage(_INTL("\\C[3]Friendship increased with {1} {2}!", trainerClassName, trainerName))
|
||||
case @friendship_level
|
||||
when 1
|
||||
pbMessage(_INTL("You can now trade with each other!"))
|
||||
@@ -172,7 +174,7 @@ class BattledTrainer
|
||||
store_usable_item_chance = 80
|
||||
|
||||
chance_to_give_item = 60
|
||||
|
||||
@inventory = [] unless @inventory
|
||||
#Move pokemon held items to inventory
|
||||
@currentTeam.each do |pokemon|
|
||||
next unless pokemon.item
|
||||
@@ -289,8 +291,17 @@ class BattledTrainer
|
||||
pbMessage(_INTL("Don't say anything... I know you want this."))
|
||||
obtainClothes(CLOTHES_PSYSHAMAN_F)
|
||||
end
|
||||
|
||||
when :TRIATHLETE_BIKE_M, :TRIATHLETE_BIKE_F
|
||||
if !hasClothes?(CLOTHES_BIKE)
|
||||
pbCallBub(2, event.id)
|
||||
pbMessage(_INTL("The best athletes need the best gear! This should help improve your performance even more."))
|
||||
obtainClothes(CLOTHES_BIKE)
|
||||
obtainHat(HAT_BIKE)
|
||||
end
|
||||
when :POKEFAN_M, :POKEFAN_F
|
||||
possible_masks = [HAT_POOCHYENA_MASK, HAT_LOTAD_MASK, HAT_ZIGZAGOON_MASK, HAT_WURMPLE_MASK]
|
||||
possible_masks = [HAT_POOCHYENA_MASK, HAT_LOTAD_MASK, HAT_ZIGZAGOON_MASK, HAT_WURMPLE_MASK,
|
||||
HAT_SEEDOT_MASK, HAT_TAILLOW_MASK, HAT_TREECKO_MASK, HAT_MUDKIP_MASK]
|
||||
unobtained_masks = possible_masks.reject { |hatID| hasHat?(hatID) }
|
||||
unless unobtained_masks.empty?
|
||||
pbCallBub(2, event.id)
|
||||
@@ -427,4 +438,4 @@ class BattledTrainer
|
||||
end
|
||||
return list
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -127,6 +127,7 @@ def registerBattledTrainer(event_id, mapId, trainerType, trainerName, trainerVer
|
||||
trainer.setLinkedTrainer(linked_event) if linked_event
|
||||
trainer.setOverworldSprite(getOverworldSprite(event_id,mapId))
|
||||
trainer.setLocation(getMapName(mapId))
|
||||
trainer.location_map_id = mapId
|
||||
$PokemonGlobal.battledTrainers[key] = trainer
|
||||
echoln "Registered rematchable trainer #{key}"
|
||||
return trainer
|
||||
|
||||
@@ -54,7 +54,7 @@ TRAINER_REMATCH_SPECIFIC_GIFTS = {
|
||||
:LADY => [[:LUXURYBALL], [:NUGGET]],
|
||||
:GENTLEMAN => [[:LUXURYBALL], [:NUGGET]],
|
||||
|
||||
:HIKER => [[:TINYMUSHROOM, :REPEL], [:BIGMUSHROOM]],
|
||||
:HIKER => [[:TINYMUSHROOM, :REPEL, :ESCAPEROPE, :FRESHWATER], [:BIGMUSHROOM]],
|
||||
:CRUSHGIRL => [[:XSPEED], [:CARBOS]],
|
||||
:BLACKBELT => [[:XATTACK], [:PROTEIN]],
|
||||
:NURSE => [[:HEALBALL, :SUPERPOTION], [:FULLRESTORE]],
|
||||
@@ -65,6 +65,9 @@ TRAINER_REMATCH_SPECIFIC_GIFTS = {
|
||||
:AROMALADY => [[:PINKNECTAR, :REDNECTAR, :YELLOWNECTAR, :BLUENECTAR], [:LEAFSTONE]],
|
||||
:TRIATHLETE_BIKE_F => [[:FRESHWATER], [:FRESHWATER]],
|
||||
:TRIATHLETE_BIKE_M => [[:FRESHWATER], [:FRESHWATER]],
|
||||
|
||||
:NINJABOY => [[:SMOKEBALL], [:SMOKEBALL]],
|
||||
|
||||
}
|
||||
|
||||
def should_find_item(trainer)
|
||||
|
||||
@@ -7,7 +7,8 @@ class Trainer
|
||||
end
|
||||
def partnerWithTrainer(eventId, mapID, trainer,trainer_key=nil ,common_event=nil)
|
||||
common_event = COMMON_EVENT_TRAINER_REMATCH_PARTNER if !common_event
|
||||
Kernel.pbAddDependency2(eventId,trainer.trainerName,common_event)
|
||||
trainer_key = getRebattledTrainerKey(eventId,mapID) if !trainer_key
|
||||
Kernel.pbAddDependency2(eventId,trainer_key,common_event)
|
||||
pbCancelVehicles
|
||||
originalTrainer = pbLoadTrainer(trainer.trainerType, trainer.trainerName, 0)
|
||||
Events.onTrainerPartyLoad.trigger(nil, originalTrainer)
|
||||
|
||||
@@ -200,16 +200,18 @@ def generateTrainerTradeOffer(trainer)
|
||||
pbChoosePokemon(1, 2)
|
||||
else
|
||||
wanted_types_string = wanted_types.map { |type|
|
||||
type_name = GameData::Type.get(type).real_name
|
||||
type_name = GameData::Type.get(type).name
|
||||
"\\C[1]#{type_name}\\C[0]"
|
||||
}.join(", ")
|
||||
|
||||
trainerClassName = GameData::TrainerType.get(trainer.trainerType).real_name
|
||||
trainerClassName = GameData::TrainerType.get(trainer.trainerType).name
|
||||
trainerName = pbGetMessageFromHash(MessageTypes::TrainerNames, trainer.trainerName)
|
||||
pbMessage(_INTL("{1} {2} is looking for Pokémon of the following type(s):\\n{3}\\nWhich Pokémon do you want to trade?",
|
||||
trainerClassName, trainer.trainerName, wanted_types_string))
|
||||
trainerClassName, trainerName, wanted_types_string))
|
||||
pbChoosePokemon(1, 2,
|
||||
proc { |pokemon|
|
||||
pokemon.hasOneOfTheseTypes?(wanted_types)
|
||||
pokemon.hasOneOfTheseTypes?(wanted_types) &&
|
||||
!pokemon.egg?
|
||||
})
|
||||
end
|
||||
chosen_index = pbGet(1)
|
||||
@@ -217,15 +219,15 @@ def generateTrainerTradeOffer(trainer)
|
||||
chosen_pokemon = $Trainer.party[chosen_index]
|
||||
offered_pokemon = offerPokemonForTrade(chosen_pokemon, trainer.currentTeam, trainer.trainerType, trainer.favorite_type)
|
||||
if !offered_pokemon
|
||||
pbMessage(_INTL("{1} {2} does not want to trade...", trainerClassName, trainer.trainerName))
|
||||
pbMessage(_INTL("{1} {2} does not want to trade...", trainerClassName, trainerName))
|
||||
return trainer
|
||||
end
|
||||
|
||||
pif_sprite = BattleSpriteLoader.new.get_pif_sprite_from_species(offered_pokemon.species)
|
||||
message = _INTL("{1} {2} is offering {3} (Level {4}) for your {5}.", trainerClassName, trainer.trainerName, offered_pokemon.name, offered_pokemon.level, chosen_pokemon.name)
|
||||
message = _INTL("{1} {2} is offering {3} (Level {4}) for your {5}.", trainerClassName, trainerName, offered_pokemon.name, offered_pokemon.level, chosen_pokemon.name)
|
||||
showPokemonInPokeballWithMessage(pif_sprite, message)
|
||||
|
||||
if pbConfirmMessage(_INTL("Trade away {1} for {2} {3}'s {4}?", chosen_pokemon.name, trainerClassName, trainer.trainerName, offered_pokemon.name))
|
||||
if pbConfirmMessage(_INTL("Trade away {1} for {2} {3}'s {4}?", chosen_pokemon.name, trainerClassName, trainerName, offered_pokemon.name))
|
||||
pbStartTrade(chosen_index, offered_pokemon, offered_pokemon.name, trainer.trainerName, 0)
|
||||
updated_party = trainer.currentTeam
|
||||
trainer.increase_friendship(10) if GameData::Type.exists?(trainer.favorite_type) && offered_pokemon.hasType?(trainer.favorite_type)
|
||||
|
||||
Reference in New Issue
Block a user