mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 05:34:58 +00:00
kin island club
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.
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.
Binary file not shown.
@@ -734,7 +734,7 @@ module Compiler
|
|||||||
end
|
end
|
||||||
|
|
||||||
def main
|
def main
|
||||||
return
|
#return
|
||||||
return if !$DEBUG
|
return if !$DEBUG
|
||||||
begin
|
begin
|
||||||
dataFiles = [
|
dataFiles = [
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
#Switches
|
#Switches
|
||||||
NEW_GAME_PLUS = 972
|
NEW_GAME_PLUS = 972
|
||||||
BEAT_THE_LEAGUE = 12
|
BEAT_THE_LEAGUE = 12
|
||||||
|
BEAT_MT_SILVER=918
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Variables
|
#Variables
|
||||||
DEFAULT_BATTLE_TYPE = 242
|
DEFAULT_BATTLE_TYPE = 242
|
||||||
BATTLE_FACTORY_TOKENS = 243
|
BATTLE_FACTORY_TOKENS = 243
|
||||||
|
NB_GYM_REMATCHES = 162
|
||||||
|
|
||||||
|
|
||||||
#Settings
|
#Settings
|
||||||
|
|||||||
@@ -4,49 +4,82 @@ end
|
|||||||
|
|
||||||
def get_egg_group_from_id(id)
|
def get_egg_group_from_id(id)
|
||||||
case id
|
case id
|
||||||
when 0 ;return nil
|
when 0;
|
||||||
when 1;return :Monster
|
return nil
|
||||||
when 2;return :Water1
|
when 1;
|
||||||
when 3;return :Bug
|
return :Monster
|
||||||
when 4;return :Flying
|
when 2;
|
||||||
when 5;return :Field
|
return :Water1
|
||||||
when 6;return :Fairy
|
when 3;
|
||||||
when 7;return :Grass
|
return :Bug
|
||||||
when 8;return :Humanlike
|
when 4;
|
||||||
when 9;return :Water3
|
return :Flying
|
||||||
when 10;return :Mineral
|
when 5;
|
||||||
when 11;return :Amorphous
|
return :Field
|
||||||
when 12;return :Water2
|
when 6;
|
||||||
when 13;return :Ditto
|
return :Fairy
|
||||||
when 14;return :Dragon
|
when 7;
|
||||||
when 15;return :Undiscovered
|
return :Grass
|
||||||
|
when 8;
|
||||||
|
return :Humanlike
|
||||||
|
when 9;
|
||||||
|
return :Water3
|
||||||
|
when 10;
|
||||||
|
return :Mineral
|
||||||
|
when 11;
|
||||||
|
return :Amorphous
|
||||||
|
when 12;
|
||||||
|
return :Water2
|
||||||
|
when 13;
|
||||||
|
return :Ditto
|
||||||
|
when 14;
|
||||||
|
return :Dragon
|
||||||
|
when 15;
|
||||||
|
return :Undiscovered
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_egg_group_name(id)
|
def get_egg_group_name(id)
|
||||||
case id
|
case id
|
||||||
when 0 ;return nil
|
when 0;
|
||||||
when 1;return "Monster Pokémon"
|
return nil
|
||||||
when 2;return :"Aquatic Pokémon"
|
when 1;
|
||||||
when 3;return :"Bug Pokémon"
|
return "Monster Pokémon"
|
||||||
when 4;return :"Bird Pokémon"
|
when 2;
|
||||||
when 5;return :"Land Pokémon"
|
return :"Aquatic Pokémon"
|
||||||
when 6;return :"Cute Pokémon"
|
when 3;
|
||||||
when 7;return :"Plant Pokémon"
|
return :"Bug Pokémon"
|
||||||
when 8;return :"Human-like Pokémon"
|
when 4;
|
||||||
when 9;return :"Aquatic Pokémon"
|
return :"Bird Pokémon"
|
||||||
when 10;return :"Mineral Pokémon"
|
when 5;
|
||||||
when 11;return :"Blob Pokémon"
|
return :"Land Pokémon"
|
||||||
when 12;return :"Fish Pokémon"
|
when 6;
|
||||||
when 13;return :"Ditto"
|
return :"Cute Pokémon"
|
||||||
when 14;return :"Dragon Pokémon"
|
when 7;
|
||||||
when 15;return :"Legendary Pokémon"
|
return :"Plant Pokémon"
|
||||||
|
when 8;
|
||||||
|
return :"Human-like Pokémon"
|
||||||
|
when 9;
|
||||||
|
return :"Aquatic Pokémon"
|
||||||
|
when 10;
|
||||||
|
return :"Mineral Pokémon"
|
||||||
|
when 11;
|
||||||
|
return :"Blob Pokémon"
|
||||||
|
when 12;
|
||||||
|
return :"Fish Pokémon"
|
||||||
|
when 13;
|
||||||
|
return :"Ditto"
|
||||||
|
when 14;
|
||||||
|
return :"Dragon Pokémon"
|
||||||
|
when 15;
|
||||||
|
return :"Legendary Pokémon"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_random_trainer_name(trainer_class) #0: male, 1: female
|
def get_random_trainer_name(trainer_class)
|
||||||
gender = GameData::TrainerType.get(trainer_class).gender
|
#0: male, 1: female
|
||||||
if(gender == 0)
|
gender = GameData::TrainerType.get(trainer_class).gender
|
||||||
|
if (gender == 0)
|
||||||
return RandTrainerNames_male[rand(RandTrainerNames_male.length)]
|
return RandTrainerNames_male[rand(RandTrainerNames_male.length)]
|
||||||
else
|
else
|
||||||
return RandTrainerNames_female[rand(RandTrainerNames_female.length)]
|
return RandTrainerNames_female[rand(RandTrainerNames_female.length)]
|
||||||
@@ -54,68 +87,78 @@ gender = GameData::TrainerType.get(trainer_class).gender
|
|||||||
end
|
end
|
||||||
|
|
||||||
def get_random_battle_lounge_egg_group
|
def get_random_battle_lounge_egg_group
|
||||||
_DISABLED_EGG_GROUPS = [0,13,15]
|
_DISABLED_EGG_GROUPS = [0, 13, 15]
|
||||||
group=0
|
group = 0
|
||||||
while _DISABLED_EGG_GROUPS.include?(group)
|
while _DISABLED_EGG_GROUPS.include?(group)
|
||||||
group = rand(0,15)
|
group = rand(0, 15)
|
||||||
end
|
end
|
||||||
return group
|
return group
|
||||||
end
|
end
|
||||||
|
|
||||||
GENERIC_PRIZES_MULTI = [:HEARTSCALE,:LEMONADE]
|
GENERIC_PRIZES_MULTI = [:HEARTSCALE, :LEMONADE]
|
||||||
GENERIC_PRIZES_SINGLE = [:RARECANDY,:RARECANDY,:PPUP,:EJECTBUTTON,:FOCUSBAND,:FOCUSSASH,:RESETURGE,:ABILITYURGE,:ITEMURGE,:ITEMDROP,:HPUP]
|
GENERIC_PRIZES_SINGLE = [:RARECANDY, :RARECANDY, :PPUP, :EJECTBUTTON, :FOCUSBAND, :FOCUSSASH, :RESETURGE, :ABILITYURGE, :ITEMURGE, :ITEMDROP, :HPUP]
|
||||||
MONSTER_PRIZES = [:RAREBONE,:LAGGINGTAIL,:RAZORFANG,:RAZORCLAW,:GRIPCLAW]
|
MONSTER_PRIZES = [:RAREBONE, :LAGGINGTAIL, :RAZORFANG, :RAZORCLAW, :GRIPCLAW]
|
||||||
WATER_PRIZES = [:MYSTICWATER,:BIGPEARL]
|
WATER_PRIZES = [:MYSTICWATER, :BIGPEARL]
|
||||||
BUG_PRIZES = [:SILVERPOWDER,:SHEDSHELL]
|
BUG_PRIZES = [:SILVERPOWDER, :SHEDSHELL]
|
||||||
FLYING_PRIZES = [:AIRBALLOON,:FLOATSTONE]
|
FLYING_PRIZES = [:AIRBALLOON, :FLOATSTONE]
|
||||||
FIELD_PRIZES = [:MOOMOOMILK,:IRONBALL,:RAREBONE]
|
FIELD_PRIZES = [:MOOMOOMILK, :IRONBALL, :RAREBONE]
|
||||||
FAIRY_PRIZES = [:STARPIECE,:DESTINYKNOT,:MAXELIXIR]
|
FAIRY_PRIZES = [:STARPIECE, :DESTINYKNOT, :MAXELIXIR]
|
||||||
HUMAN_PRIZES = [:BLACKBELT,:RINGTARGET,:EXPERTBELT]
|
HUMAN_PRIZES = [:BLACKBELT, :RINGTARGET, :EXPERTBELT]
|
||||||
GRASS_PRIZES = [:REVIVALHERB,:POWERHERB,:HEALPOWDER,:ABSORBBULB,:BIGMUSHROOM]
|
GRASS_PRIZES = [:REVIVALHERB, :POWERHERB, :HEALPOWDER, :ABSORBBULB, :BIGMUSHROOM]
|
||||||
MINERAL_PRIZES = [:CELLBATTERY,:SHINYSTONE,:BIGNUGGET,:RELICCOPPER,:RELICGOLD,:RELICSILVER]
|
MINERAL_PRIZES = [:CELLBATTERY, :SHINYSTONE, :BIGNUGGET, :RELICCOPPER, :RELICGOLD, :RELICSILVER]
|
||||||
AMORPHOUS_PRIZES = [:SPELLTAG,:WIDELENS,:ZOOMLENS,:SCOPELENS]
|
AMORPHOUS_PRIZES = [:SPELLTAG, :WIDELENS, :ZOOMLENS, :SCOPELENS]
|
||||||
DRAGON_PRIZES = [:DRAGONSCALE,:DRAGONFANG,:RARECANDY]
|
DRAGON_PRIZES = [:DRAGONSCALE, :DRAGONFANG, :RARECANDY]
|
||||||
UNDISCOVERED_PRIZES = [:MASTERBALL,:SACREDASH]
|
UNDISCOVERED_PRIZES = [:MASTERBALL, :SACREDASH]
|
||||||
#todo: prizes related to the group (ex: dragon fang for dragon types, TMs, etc. )
|
#todo: prizes related to the group (ex: dragon fang for dragon types, TMs, etc. )
|
||||||
# todo: if heartscale, give a random amount from 10-20
|
# todo: if heartscale, give a random amount from 10-20
|
||||||
def get_random_battle_lounge_prize(group_type)
|
def get_random_battle_lounge_prize(group_type)
|
||||||
generic_prizes = [GENERIC_PRIZES_MULTI, GENERIC_PRIZES_SINGLE]
|
generic_prizes = [GENERIC_PRIZES_MULTI, GENERIC_PRIZES_SINGLE]
|
||||||
is_generic_prize = rand(3)==1
|
is_generic_prize = rand(3) == 1
|
||||||
if is_generic_prize
|
if is_generic_prize
|
||||||
type = generic_prizes.sample
|
type = generic_prizes.sample
|
||||||
return type.sample
|
return type.sample
|
||||||
else
|
else
|
||||||
case get_egg_group_from_id(group_type)
|
case get_egg_group_from_id(group_type)
|
||||||
when :Monster ; return MONSTER_PRIZES.sample
|
when :Monster;
|
||||||
when :Water1,:Water2,:Water3 ; return WATER_PRIZES.sample
|
return MONSTER_PRIZES.sample
|
||||||
when :Bug ; return BUG_PRIZES.sample
|
when :Water1, :Water2, :Water3;
|
||||||
when :Flying ; return FLYING_PRIZES.sample
|
return WATER_PRIZES.sample
|
||||||
when :Field ; return FIELD_PRIZES.sample
|
when :Bug;
|
||||||
when :Fairy ; return FAIRY_PRIZES.sample
|
return BUG_PRIZES.sample
|
||||||
when :Grass ; return GRASS_PRIZES.sample
|
when :Flying;
|
||||||
when :Mineral ; return MINERAL_PRIZES.sample
|
return FLYING_PRIZES.sample
|
||||||
when :Humanlike ; return HUMAN_PRIZES.sample
|
when :Field;
|
||||||
when :Amorphous ; return AMORPHOUS_PRIZES.sample
|
return FIELD_PRIZES.sample
|
||||||
when :Dragon ; return DRAGON_PRIZES.sample
|
when :Fairy;
|
||||||
when :Undiscovered ; return UNDISCOVERED_PRIZES.sample
|
return FAIRY_PRIZES.sample
|
||||||
|
when :Grass;
|
||||||
|
return GRASS_PRIZES.sample
|
||||||
|
when :Mineral;
|
||||||
|
return MINERAL_PRIZES.sample
|
||||||
|
when :Humanlike;
|
||||||
|
return HUMAN_PRIZES.sample
|
||||||
|
when :Amorphous;
|
||||||
|
return AMORPHOUS_PRIZES.sample
|
||||||
|
when :Dragon;
|
||||||
|
return DRAGON_PRIZES.sample
|
||||||
|
when :Undiscovered;
|
||||||
|
return UNDISCOVERED_PRIZES.sample
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def generateSameEggGroupFusionsTeam(eggGroup_id)
|
def generateSameEggGroupFusionsTeam(eggGroup_id)
|
||||||
eggGroup = get_egg_group_from_id(eggGroup_id)
|
eggGroup = get_egg_group_from_id(eggGroup_id)
|
||||||
teamComplete = false
|
teamComplete = false
|
||||||
generatedTeam = []
|
generatedTeam = []
|
||||||
while !teamComplete
|
while !teamComplete
|
||||||
foundFusionPartner = false
|
foundFusionPartner = false
|
||||||
species1 = rand(Settings::NB_POKEMON)+1
|
species1 = rand(Settings::NB_POKEMON) + 1
|
||||||
if getPokemonEggGroups(species1).include?(eggGroup)
|
if getPokemonEggGroups(species1).include?(eggGroup)
|
||||||
foundFusionPartner = false
|
foundFusionPartner = false
|
||||||
while !foundFusionPartner
|
while !foundFusionPartner
|
||||||
species2 = rand(Settings::NB_POKEMON)+1
|
species2 = rand(Settings::NB_POKEMON) + 1
|
||||||
if getPokemonEggGroups(species2).include?(eggGroup)
|
if getPokemonEggGroups(species2).include?(eggGroup)
|
||||||
generatedTeam << getFusionSpecies(species1, species2)
|
generatedTeam << getFusionSpecies(species1, species2)
|
||||||
foundFusionPartner = true
|
foundFusionPartner = true
|
||||||
@@ -126,3 +169,52 @@ def generateSameEggGroupFusionsTeam(eggGroup_id)
|
|||||||
end
|
end
|
||||||
return generatedTeam
|
return generatedTeam
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def listLegendaryPokemonIds()
|
||||||
|
return [144, 145, 146, 150, 151, 245, 243, 244, 245, 249, 250, 251, 315, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 378, 379, 380, 381]
|
||||||
|
end
|
||||||
|
|
||||||
|
def generateRandomFusionFromPokemon(dexNum, onlyCustomSprites = false, allowLegendaries=true)
|
||||||
|
speciesList = onlyCustomSprites ? getCustomSpeciesListForPokemon(dexNum,allowLegendaries) : getAllPokemonWithBase(dexNum)
|
||||||
|
return speciesList.sample
|
||||||
|
end
|
||||||
|
|
||||||
|
def getRandomBasePokemon(includeLegendaries = false)
|
||||||
|
legendaries =listLegendaryPokemonIds()
|
||||||
|
poke = rand(NB_POKEMON + 1)
|
||||||
|
return poke if includeLegendaries
|
||||||
|
while legendaries.include?(poke)
|
||||||
|
poke = rand(NB_POKEMON + 1)
|
||||||
|
end
|
||||||
|
return poke
|
||||||
|
end
|
||||||
|
|
||||||
|
def getAllPokemonWithBase(dexNum)
|
||||||
|
#todo Unimplemented
|
||||||
|
return [25]
|
||||||
|
end
|
||||||
|
|
||||||
|
def getCustomSpeciesListForPokemon(dexNum,allowLegendaries=true)
|
||||||
|
excluded = allowLegendaries ? [] : listLegendaryPokemonIds()
|
||||||
|
filesList = Dir["./Graphics/CustomBattlers/*"]
|
||||||
|
speciesList = []
|
||||||
|
maxDexNumber = (NB_POKEMON * NB_POKEMON) + NB_POKEMON
|
||||||
|
maxVal = filesList.length - 1
|
||||||
|
for i in 0..maxVal
|
||||||
|
path = filesList[i]
|
||||||
|
file = File.basename(path, ".*")
|
||||||
|
splitPoke = file.split(".")
|
||||||
|
head = splitPoke[0].to_i
|
||||||
|
body = splitPoke[1].to_i
|
||||||
|
if (head == dexNum || body == dexNum) && !(excluded.include?(head) || excluded.include?(body))
|
||||||
|
fused = (body * NB_POKEMON) + head
|
||||||
|
if fused <= maxDexNumber && fused > 0
|
||||||
|
speciesList << fused
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if speciesList.length == 0
|
||||||
|
speciesList << dexNum
|
||||||
|
end
|
||||||
|
return speciesList
|
||||||
|
end
|
||||||
@@ -100,6 +100,10 @@ def getDexNumberForSpecies(species)
|
|||||||
return dexNum
|
return dexNum
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def getPokemon(dexNum)
|
||||||
|
return GameData::Species.get(dexNum)
|
||||||
|
end
|
||||||
|
|
||||||
#shortcut for using in game events because of script characters limit
|
#shortcut for using in game events because of script characters limit
|
||||||
def dexNum(species)
|
def dexNum(species)
|
||||||
return getDexNumberForSpecies(species)
|
return getDexNumberForSpecies(species)
|
||||||
@@ -279,3 +283,18 @@ def Kernel.setRocketPassword(variableNum)
|
|||||||
password = _INTL("{1}'s {2}",word1,word2)
|
password = _INTL("{1}'s {2}",word1,word2)
|
||||||
pbSet(variableNum,password)
|
pbSet(variableNum,password)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def getGenericPokemonCryText(pokemonSpecies)
|
||||||
|
case pokemonSpecies
|
||||||
|
when 25
|
||||||
|
return "Pika!"
|
||||||
|
when 16,17,18,21,22,144,145,146,227,417,418,372 #birds
|
||||||
|
return "Squawk!"
|
||||||
|
when 163,164
|
||||||
|
return "Hoot!" #owl
|
||||||
|
else
|
||||||
|
return "Guaugh!"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|||||||
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.
@@ -4639,3 +4639,6 @@ Pokemon = B130H149,79 #DRAGONDOS (w/extremespeed)
|
|||||||
Pokemon = DIALGA,25
|
Pokemon = DIALGA,25
|
||||||
Pokemon = PALKIA,25
|
Pokemon = PALKIA,25
|
||||||
Pokemon = GIRATINA,25
|
Pokemon = GIRATINA,25
|
||||||
|
|
||||||
|
[COOLTRAINER_F,lounge_member_single]
|
||||||
|
Pokemon = DIALGA,25
|
||||||
|
|||||||
Reference in New Issue
Block a user