kin island club

This commit is contained in:
infinitefusion
2021-12-18 22:08:50 -05:00
parent f29e2bbf1a
commit f1010cb4a6
33 changed files with 187 additions and 72 deletions

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.

View File

@@ -734,7 +734,7 @@ module Compiler
end
def main
return
#return
return if !$DEBUG
begin
dataFiles = [

View File

@@ -1,13 +1,14 @@
#Switches
NEW_GAME_PLUS = 972
BEAT_THE_LEAGUE = 12
BEAT_MT_SILVER=918
#Variables
DEFAULT_BATTLE_TYPE = 242
BATTLE_FACTORY_TOKENS = 243
NB_GYM_REMATCHES = 162
#Settings

View File

@@ -4,49 +4,82 @@ end
def get_egg_group_from_id(id)
case id
when 0 ;return nil
when 1;return :Monster
when 2;return :Water1
when 3;return :Bug
when 4;return :Flying
when 5;return :Field
when 6;return :Fairy
when 7;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
when 0;
return nil
when 1;
return :Monster
when 2;
return :Water1
when 3;
return :Bug
when 4;
return :Flying
when 5;
return :Field
when 6;
return :Fairy
when 7;
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
def get_egg_group_name(id)
case id
when 0 ;return nil
when 1;return "Monster Pokémon"
when 2;return :"Aquatic Pokémon"
when 3;return :"Bug Pokémon"
when 4;return :"Bird Pokémon"
when 5;return :"Land Pokémon"
when 6;return :"Cute Pokémon"
when 7;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"
when 0;
return nil
when 1;
return "Monster Pokémon"
when 2;
return :"Aquatic Pokémon"
when 3;
return :"Bug Pokémon"
when 4;
return :"Bird Pokémon"
when 5;
return :"Land Pokémon"
when 6;
return :"Cute Pokémon"
when 7;
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
def get_random_trainer_name(trainer_class) #0: male, 1: female
gender = GameData::TrainerType.get(trainer_class).gender
if(gender == 0)
def get_random_trainer_name(trainer_class)
#0: male, 1: female
gender = GameData::TrainerType.get(trainer_class).gender
if (gender == 0)
return RandTrainerNames_male[rand(RandTrainerNames_male.length)]
else
return RandTrainerNames_female[rand(RandTrainerNames_female.length)]
@@ -54,68 +87,78 @@ gender = GameData::TrainerType.get(trainer_class).gender
end
def get_random_battle_lounge_egg_group
_DISABLED_EGG_GROUPS = [0,13,15]
group=0
_DISABLED_EGG_GROUPS = [0, 13, 15]
group = 0
while _DISABLED_EGG_GROUPS.include?(group)
group = rand(0,15)
group = rand(0, 15)
end
return group
end
GENERIC_PRIZES_MULTI = [:HEARTSCALE,:LEMONADE]
GENERIC_PRIZES_SINGLE = [:RARECANDY,:RARECANDY,:PPUP,:EJECTBUTTON,:FOCUSBAND,:FOCUSSASH,:RESETURGE,:ABILITYURGE,:ITEMURGE,:ITEMDROP,:HPUP]
MONSTER_PRIZES = [:RAREBONE,:LAGGINGTAIL,:RAZORFANG,:RAZORCLAW,:GRIPCLAW]
WATER_PRIZES = [:MYSTICWATER,:BIGPEARL]
BUG_PRIZES = [:SILVERPOWDER,:SHEDSHELL]
FLYING_PRIZES = [:AIRBALLOON,:FLOATSTONE]
FIELD_PRIZES = [:MOOMOOMILK,:IRONBALL,:RAREBONE]
FAIRY_PRIZES = [:STARPIECE,:DESTINYKNOT,:MAXELIXIR]
HUMAN_PRIZES = [:BLACKBELT,:RINGTARGET,:EXPERTBELT]
GRASS_PRIZES = [:REVIVALHERB,:POWERHERB,:HEALPOWDER,:ABSORBBULB,:BIGMUSHROOM]
MINERAL_PRIZES = [:CELLBATTERY,:SHINYSTONE,:BIGNUGGET,:RELICCOPPER,:RELICGOLD,:RELICSILVER]
AMORPHOUS_PRIZES = [:SPELLTAG,:WIDELENS,:ZOOMLENS,:SCOPELENS]
DRAGON_PRIZES = [:DRAGONSCALE,:DRAGONFANG,:RARECANDY]
UNDISCOVERED_PRIZES = [:MASTERBALL,:SACREDASH]
GENERIC_PRIZES_MULTI = [:HEARTSCALE, :LEMONADE]
GENERIC_PRIZES_SINGLE = [:RARECANDY, :RARECANDY, :PPUP, :EJECTBUTTON, :FOCUSBAND, :FOCUSSASH, :RESETURGE, :ABILITYURGE, :ITEMURGE, :ITEMDROP, :HPUP]
MONSTER_PRIZES = [:RAREBONE, :LAGGINGTAIL, :RAZORFANG, :RAZORCLAW, :GRIPCLAW]
WATER_PRIZES = [:MYSTICWATER, :BIGPEARL]
BUG_PRIZES = [:SILVERPOWDER, :SHEDSHELL]
FLYING_PRIZES = [:AIRBALLOON, :FLOATSTONE]
FIELD_PRIZES = [:MOOMOOMILK, :IRONBALL, :RAREBONE]
FAIRY_PRIZES = [:STARPIECE, :DESTINYKNOT, :MAXELIXIR]
HUMAN_PRIZES = [:BLACKBELT, :RINGTARGET, :EXPERTBELT]
GRASS_PRIZES = [:REVIVALHERB, :POWERHERB, :HEALPOWDER, :ABSORBBULB, :BIGMUSHROOM]
MINERAL_PRIZES = [:CELLBATTERY, :SHINYSTONE, :BIGNUGGET, :RELICCOPPER, :RELICGOLD, :RELICSILVER]
AMORPHOUS_PRIZES = [:SPELLTAG, :WIDELENS, :ZOOMLENS, :SCOPELENS]
DRAGON_PRIZES = [:DRAGONSCALE, :DRAGONFANG, :RARECANDY]
UNDISCOVERED_PRIZES = [:MASTERBALL, :SACREDASH]
#todo: prizes related to the group (ex: dragon fang for dragon types, TMs, etc. )
# todo: if heartscale, give a random amount from 10-20
def get_random_battle_lounge_prize(group_type)
generic_prizes = [GENERIC_PRIZES_MULTI, GENERIC_PRIZES_SINGLE]
is_generic_prize = rand(3)==1
is_generic_prize = rand(3) == 1
if is_generic_prize
type = generic_prizes.sample
return type.sample
else
case get_egg_group_from_id(group_type)
when :Monster ; return MONSTER_PRIZES.sample
when :Water1,:Water2,:Water3 ; return WATER_PRIZES.sample
when :Bug ; return BUG_PRIZES.sample
when :Flying ; return FLYING_PRIZES.sample
when :Field ; return FIELD_PRIZES.sample
when :Fairy ; 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
when :Monster;
return MONSTER_PRIZES.sample
when :Water1, :Water2, :Water3;
return WATER_PRIZES.sample
when :Bug;
return BUG_PRIZES.sample
when :Flying;
return FLYING_PRIZES.sample
when :Field;
return FIELD_PRIZES.sample
when :Fairy;
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
def generateSameEggGroupFusionsTeam(eggGroup_id)
eggGroup = get_egg_group_from_id(eggGroup_id)
teamComplete = false
generatedTeam = []
while !teamComplete
foundFusionPartner = false
species1 = rand(Settings::NB_POKEMON)+1
species1 = rand(Settings::NB_POKEMON) + 1
if getPokemonEggGroups(species1).include?(eggGroup)
foundFusionPartner = false
while !foundFusionPartner
species2 = rand(Settings::NB_POKEMON)+1
species2 = rand(Settings::NB_POKEMON) + 1
if getPokemonEggGroups(species2).include?(eggGroup)
generatedTeam << getFusionSpecies(species1, species2)
foundFusionPartner = true
@@ -125,4 +168,53 @@ def generateSameEggGroupFusionsTeam(eggGroup_id)
teamComplete = generatedTeam.length == 3
end
return generatedTeam
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

View File

@@ -100,6 +100,10 @@ def getDexNumberForSpecies(species)
return dexNum
end
def getPokemon(dexNum)
return GameData::Species.get(dexNum)
end
#shortcut for using in game events because of script characters limit
def dexNum(species)
return getDexNumberForSpecies(species)
@@ -279,3 +283,18 @@ def Kernel.setRocketPassword(variableNum)
password = _INTL("{1}'s {2}",word1,word2)
pbSet(variableNum,password)
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.

View File

@@ -4638,4 +4638,7 @@ Pokemon = B130H149,79 #DRAGONDOS (w/extremespeed)
[COOLTRAINER_F,lounge_member]
Pokemon = DIALGA,25
Pokemon = PALKIA,25
Pokemon = GIRATINA,25
Pokemon = GIRATINA,25
[COOLTRAINER_F,lounge_member_single]
Pokemon = DIALGA,25