Authors: game_guy
Version: 1.1
Type: Adds Realism
Key Term: Battle Add-on
Introduction
Script was created completely from inspiration.
Flying Enemies adds some realism to your game. It basically gives the appearance and feel that enemies are floating off the ground. Only weapons with the "flying" element can attack enemies that aren't on the ground. e.g. a gun or a bow. A guy with a sword couldn't very well jump 20 feet and kill something could they? (maybe, it is just a game)
Features
- Flying Enemies
- Specific Spells and Weapons can hurt
- Floating animation for enemies
Screenshots

Demo
N/A
Script
Code:
#===============================================================================
# Flying Enemies
# Version 1.1
# Author game_guy
#-------------------------------------------------------------------------------
# Intro:
# Flying Enemies adds some realism to your game. It basically gives the
# appearance and feel that enemies are floating off the ground. Only weapons
# with the "flying" element can attack enemies that aren't on the ground. e.g.
# a gun or a bow. A guy with a sword couldn't very well jump 20 feet and kill
# something could they? (maybe, it is just a game)
#
# Features:
# -Flying Enemies
# -Specific Spells and Weapons can hurt
# -Floating animation for enemies
#
# Instructions:
# -Go to the config, set the following data there. To make a weapon hit a flying
# enemy, you must give it the flying element you specified below. The same for
# skills, except some skills get exceptions. Read Notes.
#
# Notes:
# -Only weapons marked with the Flying_Element can hit a flying enemy.
# -Only skills with the flying element can hit flying enemies.
#
# Compatibility:
# -Not tested with SDK.
# -Not tested with any custom battle systems.
# -Attacking flying enemies (and missing) will most likely work throughout all
# custom battle systems.
# -Animating enemy up and down may or may not work in any custom battle system.
#
# Credits:
# -game_guy ~ For creating it.
# -Final Fantasy X ~ Started playing this game again and Tidus was unable to
# hit any flying enemies. ;_; Hence inspiration. :3
#===============================================================================
module GG_Fly
#---------------------------------------------
# Weapons and skill must have this element
# in order to attack flying enemies.
#---------------------------------------------
Flying_Element = 17
#---------------------------------------------
# Place enemy ids in the array below to mark
# them as flying enemies.
#---------------------------------------------
Flying_Enemies = [1, 2]
#---------------------------------------------
# The 'miss' message displayed when an out of
# reach attacker attempts to hit a flying
# enemy.
#---------------------------------------------
Miss_Message = "Out of reach!"
#---------------------------------------------
# Moves flying enemies up and down to give
# the "floating" feeling.
#---------------------------------------------
Animate_Enemy = true
end
class Game_Enemy
def flying?
return GG_Fly::Flying_Enemies.include?(self.id)
end
end
class Game_Battler
alias gg_fly_attack_effect_lat attack_effect
def attack_effect(attacker)
if self.is_a?(Game_Enemy) && attacker.is_a?(Game_Actor)
if self.flying? && !attacker.element_set.include?(GG_Fly::Flying_Element)
self.damage = GG_Fly::Miss_Message
return true
end
end
return gg_fly_attack_effect_lat(attacker)
end
alias gg_fly_skill_effect_lat skill_effect
def skill_effect(user, skill)
if self.is_a?(Game_Enemy) && user.is_a?(Game_Actor)
if self.flying? && !skill.element_set.include?(GG_Fly::Flying_Element)
self.damage = GG_Fly::Miss_Message
return true
end
end
return gg_fly_skill_effect_lat(user, skill)
end
end
class Sprite_Battler < RPG::Sprite
alias gg_init_flying_enemy_lat initialize
def initialize(viewport, battler = nil)
gg_init_flying_enemy_lat(viewport, battler)
if battler != nil && battler.is_a?(Game_Enemy)
@update_frame = 0
@speed = 2
@new_y = battler.screen_y
end
end
alias gg_animate_flying_enemy_lat update
def update
gg_animate_flying_enemy_lat
if GG_Fly::Animate_Enemy && @battler.is_a?(Game_Enemy) && @battler.flying?
@update_frame += 1
if @update_frame == 2
@update_frame = 0
@new_y += @speed
if @new_y == @battler.screen_y
@speed = 1
elsif @new_y == @battler.screen_y + 16
@speed = -1
end
end
self.y = @new_y
end
end
end
Instructions
In the script. In fact there is even a small notes section you should read.
Any weapon you want to hit flying enemies with must have the Flying element. Same thing for skills.
Compatibility
- Not tested with SDK.
- Not tested with any custom battle systems.
- Attacking flying enemies (and missing) will most likely work throughout all custom battle systems.
- Animating enemy up and down may or may not work in any custom battle system.
Credits and Thanks
- game_guy ~ For creating it.
- Final Fantasy X ~ Started playing this game again and Tidus was unable to hit any flying enemies. ;_; Hence inspiration. :3
Author's Notes
Enjoy!