Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Aerialist
- #In target, add these lines
- # Aromatic Mist, Helping Hand, Hold Hands
- GameData::Target.register({
- :id => :Ally,
- :name => _INTL("Ally"),
- :num_targets => 1,
- :long_range => true
- })
- # Acupressure
- GameData::Target.register({
- :id => :UserOrAlly,
- :name => _INTL("User or Ally"),
- :num_targets => 1,
- :long_range => true
- })
- # Petal Dance, Outrage, Struggle, Thrash, Uproar
- GameData::Target.register({
- :id => :RandomFoe,
- :name => _INTL("Random Foe"),
- :num_targets => 1,
- :targets_foe => true,
- :long_range => true
- })
- GameData::Target.register({
- :id => :AllOthers,
- :name => _INTL("All Others"),
- :num_targets => 2,
- :targets_foe => true,
- :long_range => true
- })
- #In Battle_ActionAttacksPriority, find this line:
- case target_data.id
- #and change it to:
- target = target_data.id
- #It's unintuitive, but this is checked with idxTarget rather than idxUser?
- if @battlers[idxTarget].hasActiveAbility?(:AERIALIST)
- target = target.to_s
- target.slice!("Near")
- target = target.to_sym
- end
- case target
- #In Battler_UseMoveTargeting, find this line
- case move.pbTarget(user).id # Curse can change its target type
- #and change it to:
- target = move.pbTarget(user).id # Curse can change its target type
- if user.hasActiveAbility?(:AERIALIST)
- target = target.to_s
- target.slice!("Near")
- target = target.to_sym
- end
- case target
- #In Scene_ChooseCommands, find BOTH instances of this line:
- case target_data.id
- #and in both locations, replace it with this
- target = target_data.id
- if @battle.battlers[idxBattler].hasActiveAbility?(:AERIALIST)
- target = target.to_s
- target.slice!("Near")
- target = target.to_sym
- end
- case target
- #Frozen Armor
- #In script section Battle_Battler, find this line:
- return false if hasActiveAbility?([:OVERCOAT, :ICEBODY, :SNOWCLOAK])
- #Add :FROZENARMOR to the list, like so
- return false if hasActiveAbility?([:OVERCOAT, :ICEBODY, :SNOWCLOAK, :FROZENARMOR])
- #In script section AI_Move_Utilities, under this line
- when :GRASS
- return true if target.hasActiveAbility?(:SAPSIPPER)
- #Add
- when :ICE
- return true if target.hasActiveAbility?(:FROZENARMOR)
- #Sidestep - Avoids traps and hazards when entering battle.
- #Go to this line in Battle_ActionSwitching
- pbEntryHazards(b)
- #And change it to
- pbEntryHazards(b) unless b.hasActiveAbility?(:SIDESTEP)
- #Spirit Call
- #In Battler_UseMoveTargeting, under this line
- targets = pbChangeTargetByAbility(:STORMDRAIN, :WATER, move, user, targets, priority, nearOnly)
- add
- targets = pbChangeTargetByAbility(:SPIRITCALL, :GHOST, move, user, targets, priority, nearOnly)
- #In AI_Move_Utilities, under this section
- when :FIRE
- return true if target.hasActiveAbility?(:FLASHFIRE)
- #Add
- when :GHOST
- return true if target.hasActiveAbility?(:SPIRITCALL)
- #In AI_Move_EffectScores_3, under this line
- (b.hasActiveAbility?(:LIGHTNINGROD) && move.pbCalcType == :ELECTRIC) ||
- #add
- (b.hasActiveAbility?(:SPIRITCALL) && move.pbCalcType == :GHOST) ||
- #Tough Hide - Thick skin prevents extra side-effects on contact.
- #In Battle_Battler
- def affectedByContactEffect?(showMsg = false)
- return false if fainted?
- if hasActiveItem?(:PROTECTIVEPADS)
- @battle.pbDisplay(_INTL("{1} protected itself with the {2}!", pbThis, itemName)) if showMsg
- return false
- end
- return true
- end
- #Change it to
- def affectedByContactEffect?(showMsg = false)
- return false if fainted?
- if hasActiveItem?(:PROTECTIVEPADS)
- @battle.pbDisplay(_INTL("{1} protected itself with the {2}!", pbThis, itemName)) if showMsg
- return false
- end
- if hasActiveAbility?(:TOUGHHIDE)
- if showMsg
- @battle.pbShowAbilitySplash(self)
- if Battle::Scene::USE_ABILITY_SPLASH
- @battle.pbDisplay(_INTL("{1} is unaffected!", pbThis))
- else
- @battle.pbDisplay(_INTL("{1} is unaffected because of its {2}!", pbThis, abilityName))
- end
- @battle.pbHideAbilitySplash(self)
- end
- @battle.pbDisplay(_INTL("{1} protected itself with its {2}!", pbThis, abilityName)) if showMsg
- return false
- end
- return true
- end
- #All the overworld encounter abilities
- #Script section Overworld_WildEncounters, find this line:
- when :STENCH, :WHITESMOKE, :QUICKFEET
- #Add :ECLIPSEVEIL to the list, like so
- when :STENCH, :WHITESMOKE, :QUICKFEET, :ECLIPSEVEIL
- #Script section Overworld_WildEncounters, under
- when :SANDVEIL
- if GameData::Weather.get($game_screen.weather_type).category == :Sandstorm
- encounter_chance /= 2
- min_steps_needed *= 2
- end
- #Add:
- when :GRASSCLOAK
- terrain = $game_map.terrain_tag($game_player.x, $game_player.y)
- if terrain.land_wild_encounters || terrain.shows_grass_rustle
- encounter_chance /= 2
- min_steps_needed *= 2
- end
- #Under this section
- when :STORMDRAIN
- favored_type = :WATER if Settings::MORE_ABILITIES_AFFECT_WILD_ENCOUNTERS &&
- GameData::Type.exists?(:WATER) && rand(100) < 50
- #add
- when :SPIRITCALL
- favored_type = :GHOST if GameData::Type.exists?(:GHOST) && rand(100) < 50
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement