FANDOM


Form change depending on real-world location
This tutorial was written by Rigbycwts. Please give credit.
Click here for more tutorials!


Event

This implements a form change that depends on the player's real-world location. Currently this version requires an internet connection.

In this example, this uses the real-world location detector used by the example maps, specifically the one from the player's room. Modify that specific event so it looks like this:

This makes the event only get the two-digit country code, and store it in global variable 51 in this example.

Next, add this to Pokemon_MultipleForms (in this case, I used Scatterbug's evolution line):

MultipleForms.register(:SCATTERBUG,{
"getFormOnCreation"=>proc{|pokemon|
   monsoonCountries = ["HK","IN"] # Countries where this form can be obtained
   jungleCountries = ["PH","MY"]
   oceanCountries = []
   sunCountries = ["MX"]
   savannaCountries = ["BR","PE"]
   riverCountries = ["AU"]
   sandstormCountries = ["SO","AE"]
   highPlainsCountries = []
   archipelagoCountries = []
   marineCountries = ["FR"]
   modernCountries = ["CA"]
   icySnowCountries = []
   elegantCountries = []
   gardenCountries = ["GB","UK"]
   continentalCountries = ["KR", "KP", "DE"]
   tundraCountries = []
   polarCountries = ["FI","NO"]
   if monsoonCountries.include?($game_variables[51])
     next 17
   elsif jungleCountries.include?($game_variables[51])
     next 16
   elsif oceanCountries.include?($game_variables[51])
     next 15
   elsif sunCountries.include?($game_variables[51])
     next 14
   elsif savannaCountries.include?($game_variables[51])
     next 13
   elsif riverCountries.include?($game_variables[51])
     next 12
   elsif sandstormCountries.include?($game_variables[51])
     next 11
   elsif highPlainsCountries.include?($game_variables[51])
     next 10
   elsif archipelagoCountries.include?($game_variables[51])
     next 9
   elsif marineCountries.include?($game_variables[51])
     next 8
   elsif modernCountries.include?($game_variables[51])
     next 7
   elsif icySnowCountries.include?($game_variables[51])
     next 6
   elsif elegantCountries.include?($game_variables[51])
     next 5
   elsif gardenCountries.include?($game_variables[51])
     next 4
   elsif continentalCountries.include?($game_variables[51])
     next 3
   elsif tundraCountries.include?($game_variables[51])
     next 2
   elsif polarCountries.include?($game_variables[51])
     next 1
   else # Meadow - Default
     next 0
   end
}
})

MultipleForms.copy(:SCATTERBUG,:SPEWPA)

MultipleForms.copy(:SCATTERBUG,:VIVILLON)

Suggestions

  • Make this script check for a specific country's state (e.g. US states, Canadian states) or specific cities.
  • Make this script allow two different patterns to share the same country without identifying a specific state, province, city, etc.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.