mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-10 14:44:58 +00:00
Added "airborne" event name tag, can have Safari battles with no party, fixed Micle Berry, fixed data box not refreshing when Illusion is broken, added triggers for more EoR animations
This commit is contained in:
@@ -206,11 +206,12 @@ class Game_Character
|
|||||||
end
|
end
|
||||||
|
|
||||||
def bush_depth
|
def bush_depth
|
||||||
|
return 0 if respond_to?("name") && name[/airborne/i]
|
||||||
return @bush_depth || 0
|
return @bush_depth || 0
|
||||||
end
|
end
|
||||||
|
|
||||||
def calculate_bush_depth
|
def calculate_bush_depth
|
||||||
if @tile_id > 0 || @always_on_top || jumping?
|
if @tile_id > 0 || @always_on_top || jumping? || (respond_to?("name") && name[/airborne/i])
|
||||||
@bush_depth = 0
|
@bush_depth = 0
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ class Battle
|
|||||||
priority.each do |battler|
|
priority.each do |battler|
|
||||||
next if !battler.effects[PBEffects::AquaRing]
|
next if !battler.effects[PBEffects::AquaRing]
|
||||||
next if !battler.canHeal?
|
next if !battler.canHeal?
|
||||||
|
pbCommonAnimation("AquaRing", battler)
|
||||||
hpGain = battler.totalhp / 16
|
hpGain = battler.totalhp / 16
|
||||||
hpGain = (hpGain * 1.3).floor if battler.hasActiveItem?(:BIGROOT)
|
hpGain = (hpGain * 1.3).floor if battler.hasActiveItem?(:BIGROOT)
|
||||||
battler.pbRecoverHP(hpGain)
|
battler.pbRecoverHP(hpGain)
|
||||||
@@ -180,6 +181,7 @@ class Battle
|
|||||||
priority.each do |battler|
|
priority.each do |battler|
|
||||||
next if !battler.effects[PBEffects::Ingrain]
|
next if !battler.effects[PBEffects::Ingrain]
|
||||||
next if !battler.canHeal?
|
next if !battler.canHeal?
|
||||||
|
pbCommonAnimation("Ingrain", battler)
|
||||||
hpGain = battler.totalhp / 16
|
hpGain = battler.totalhp / 16
|
||||||
hpGain = (hpGain * 1.3).floor if battler.hasActiveItem?(:BIGROOT)
|
hpGain = (hpGain * 1.3).floor if battler.hasActiveItem?(:BIGROOT)
|
||||||
battler.pbRecoverHP(hpGain)
|
battler.pbRecoverHP(hpGain)
|
||||||
@@ -259,6 +261,7 @@ class Battle
|
|||||||
priority.each do |battler|
|
priority.each do |battler|
|
||||||
battler.effects[PBEffects::Nightmare] = false if !battler.asleep?
|
battler.effects[PBEffects::Nightmare] = false if !battler.asleep?
|
||||||
next if !battler.effects[PBEffects::Nightmare] || !battler.takesIndirectDamage?
|
next if !battler.effects[PBEffects::Nightmare] || !battler.takesIndirectDamage?
|
||||||
|
pbCommonAnimation("Nightmare", battler)
|
||||||
battler.pbTakeEffectDamage(battler.totalhp / 4) do |hp_lost|
|
battler.pbTakeEffectDamage(battler.totalhp / 4) do |hp_lost|
|
||||||
pbDisplay(_INTL("{1} is locked in a nightmare!", battler.pbThis))
|
pbDisplay(_INTL("{1} is locked in a nightmare!", battler.pbThis))
|
||||||
end
|
end
|
||||||
@@ -266,6 +269,7 @@ class Battle
|
|||||||
# Curse
|
# Curse
|
||||||
priority.each do |battler|
|
priority.each do |battler|
|
||||||
next if !battler.effects[PBEffects::Curse] || !battler.takesIndirectDamage?
|
next if !battler.effects[PBEffects::Curse] || !battler.takesIndirectDamage?
|
||||||
|
pbCommonAnimation("Curse", battler)
|
||||||
battler.pbTakeEffectDamage(battler.totalhp / 4) do |hp_lost|
|
battler.pbTakeEffectDamage(battler.totalhp / 4) do |hp_lost|
|
||||||
pbDisplay(_INTL("{1} is afflicted by the curse!", battler.pbThis))
|
pbDisplay(_INTL("{1} is afflicted by the curse!", battler.pbThis))
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -393,6 +393,7 @@ class Battle::Scene
|
|||||||
shadowSprite.setPokemonBitmap(pkmn)
|
shadowSprite.setPokemonBitmap(pkmn)
|
||||||
# Set visibility of battler's shadow
|
# Set visibility of battler's shadow
|
||||||
shadowSprite.visible = pkmn.species_data.shows_shadow? if shadowSprite && !back
|
shadowSprite.visible = pkmn.species_data.shows_shadow? if shadowSprite && !back
|
||||||
|
@sprites["dataBox_#{idxBattler}"].refresh
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbResetCommandsIndex(idxBattler)
|
def pbResetCommandsIndex(idxBattler)
|
||||||
|
|||||||
@@ -499,7 +499,7 @@ class Battle::AI::AIBattler
|
|||||||
when :ASPEARBERRY, :CHERIBERRY, :CHESTOBERRY, :PECHABERRY, :RAWSTBERRY
|
when :ASPEARBERRY, :CHERIBERRY, :CHESTOBERRY, :PECHABERRY, :RAWSTBERRY
|
||||||
# Status cure
|
# Status cure
|
||||||
cured_status = {
|
cured_status = {
|
||||||
:ASPEAR => :FROZEN,
|
:ASPEARBERRY => :FROZEN,
|
||||||
:CHERIBERRY => :PARALYSIS,
|
:CHERIBERRY => :PARALYSIS,
|
||||||
:CHESTOBERRY => :SLEEP,
|
:CHESTOBERRY => :SLEEP,
|
||||||
:PECHABERRY => :POISON,
|
:PECHABERRY => :POISON,
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ Battle::ItemEffects::HPHeal.add(:MAGOBERRY,
|
|||||||
Battle::ItemEffects::HPHeal.add(:MICLEBERRY,
|
Battle::ItemEffects::HPHeal.add(:MICLEBERRY,
|
||||||
proc { |item, battler, battle, forced|
|
proc { |item, battler, battle, forced|
|
||||||
next false if !forced && !battler.canConsumePinchBerry?
|
next false if !forced && !battler.canConsumePinchBerry?
|
||||||
next false if !battler.effects[PBEffects::MicleBerry]
|
next false if battler.effects[PBEffects::MicleBerry]
|
||||||
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
battler.effects[PBEffects::MicleBerry] = true
|
battler.effects[PBEffects::MicleBerry] = true
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ EventHandlers.add(:on_step_taken, :pick_up_soot,
|
|||||||
EventHandlers.add(:on_step_taken, :grass_rustling,
|
EventHandlers.add(:on_step_taken, :grass_rustling,
|
||||||
proc { |event|
|
proc { |event|
|
||||||
next if !$scene.is_a?(Scene_Map)
|
next if !$scene.is_a?(Scene_Map)
|
||||||
|
next if event.respond_to?("name") && event.name[/airborne/i]
|
||||||
event.each_occupied_tile do |x, y|
|
event.each_occupied_tile do |x, y|
|
||||||
next if !$map_factory.getTerrainTagFromCoords(event.map.map_id, x, y, true).shows_grass_rustle
|
next if !$map_factory.getTerrainTagFromCoords(event.map.map_id, x, y, true).shows_grass_rustle
|
||||||
spriteset = $scene.spriteset(event.map_id)
|
spriteset = $scene.spriteset(event.map_id)
|
||||||
@@ -158,6 +159,7 @@ EventHandlers.add(:on_step_taken, :grass_rustling,
|
|||||||
EventHandlers.add(:on_step_taken, :still_water_ripple,
|
EventHandlers.add(:on_step_taken, :still_water_ripple,
|
||||||
proc { |event|
|
proc { |event|
|
||||||
next if !$scene.is_a?(Scene_Map)
|
next if !$scene.is_a?(Scene_Map)
|
||||||
|
next if event.respond_to?("name") && event.name[/airborne/i]
|
||||||
event.each_occupied_tile do |x, y|
|
event.each_occupied_tile do |x, y|
|
||||||
next if !$map_factory.getTerrainTagFromCoords(event.map.map_id, x, y, true).shows_water_ripple
|
next if !$map_factory.getTerrainTagFromCoords(event.map.map_id, x, y, true).shows_water_ripple
|
||||||
spriteset = $scene.spriteset(event.map_id)
|
spriteset = $scene.spriteset(event.map_id)
|
||||||
@@ -207,7 +209,7 @@ EventHandlers.add(:on_player_change_direction, :trigger_encounter,
|
|||||||
)
|
)
|
||||||
|
|
||||||
def pbBattleOnStepTaken(repel_active)
|
def pbBattleOnStepTaken(repel_active)
|
||||||
return if $player.able_pokemon_count == 0
|
return if $player.able_pokemon_count == 0 && !pbInSafari?
|
||||||
return if !$PokemonEncounters.encounter_possible_here?
|
return if !$PokemonEncounters.encounter_possible_here?
|
||||||
encounter_type = $PokemonEncounters.encounter_type
|
encounter_type = $PokemonEncounters.encounter_type
|
||||||
return if !encounter_type
|
return if !encounter_type
|
||||||
|
|||||||
@@ -759,7 +759,6 @@ module BattleAnimationEditor
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if usealpha
|
if usealpha
|
||||||
# TODO: This should account for sprite.angle as well.
|
|
||||||
bitmapX = sprite.src_rect.x
|
bitmapX = sprite.src_rect.x
|
||||||
bitmapY = sprite.src_rect.y
|
bitmapY = sprite.src_rect.y
|
||||||
bitmapX += sprite.ox
|
bitmapX += sprite.ox
|
||||||
|
|||||||
Reference in New Issue
Block a user