#===============================================================================
# Lucky 7777 Damage
# Version 1.2
# Author game_guy
#-------------------------------------------------------------------------------
# Intro:
# Remember in some of the rpg's (I cant remember which ones) but if yod had 7777
# Hp then you would deal 7777 damage. This script does that.
#
# Features:
# Deals custom damage if hp is defined number
# Enemies can deal the 7777 (set on or off)
# Specific enemies and actors cant do it (customizable)
# Customizable font, font size, and font color
# Change the lucky message to whatever you want
#
# Instructions:
# Go down to Begin Config and look at the options there.
#
# Credits:
# game_guy ~ for making it
# Blizzard ~ teaching me a few things I used in here.
#===============================================================================
module GameGuy
#=====================================================
# Begin Config
#=====================================================
#--------------------------------------------------------------------
# The background color of the font.
#--------------------------------------------------------------------
BackFontColor = Color.new(0, 0, 0) # (red, green, blue)
#--------------------------------------------------------------------
# The foreground color of the font.
#--------------------------------------------------------------------
ForeFontColor = Color.new(0, 255, 0) # (red, green, blue)
#--------------------------------------------------------------------
# The name of the font you want to use.
#--------------------------------------------------------------------
FontName = "Arial"
#--------------------------------------------------------------------
# The size of the font you want to use.
#--------------------------------------------------------------------
FontSize = 32
#--------------------------------------------------------------------
# The message you want to pop up when 7777 is dealt.
#--------------------------------------------------------------------
LuckyMessage = "Lucky!"
#--------------------------------------------------------------------
# Number that deals that much damage when hp is equal to that number.
#--------------------------------------------------------------------
LuckyNumber = 7777
#--------------------------------------------------------------------
# Actors that cant use the lucky 7777.
#--------------------------------------------------------------------
CantUseActors = [8, 9, 10]
#--------------------------------------------------------------------
# If true the enemies can use the lucky 7777.
#--------------------------------------------------------------------
EnemiesUse = false
#--------------------------------------------------------------------
# Enemies that cant use the lucky 7777.
#--------------------------------------------------------------------
CantUseEnemies = [1, 2, 3, 4]
#=====================================================
# End Config
#=====================================================
end
module RPG
class Sprite < ::Sprite
alias use_7777_text damage
def damage(value, critical)
if critical != GameGuy::LuckyNumber
return use_7777_text(value, critical)
end
dispose_damage
if value.is_a?(Numeric)
damage_string = value.abs.to_s
else
damage_string = value.to_s
end
bitmap = Bitmap.new(160, 64)
bitmap.font.name = GameGuy::FontName
bitmap.font.size = GameGuy::FontSize
bitmap.font.color = GameGuy::BackFontColor
bitmap.draw_text(-1, 22-1, 160, 36, damage_string, 1)
bitmap.draw_text(+1, 22-1, 160, 36, damage_string, 1)
bitmap.draw_text(-1, 22+1, 160, 36, damage_string, 1)
bitmap.draw_text(+1, 22+1, 160, 36, damage_string, 1)
bitmap.font.color = GameGuy::ForeFontColor
bitmap.draw_text(0, 22, 160, 36, damage_string, 1)
bitmap.font.size = GameGuy::FontSize
bitmap.font.color = GameGuy::BackFontColor
bitmap.draw_text(-1, -1, 160, 32, GameGuy::LuckyMessage, 1)
bitmap.draw_text(+1, -1, 160, 32, GameGuy::LuckyMessage, 1)
bitmap.draw_text(-1, +1, 160, 32, GameGuy::LuckyMessage, 1)
bitmap.draw_text(+1, +1, 160, 32, GameGuy::LuckyMessage, 1)
bitmap.font.color = GameGuy::ForeFontColor
bitmap.draw_text(0, 0, 160, 32, GameGuy::LuckyMessage, 1)
@_damage_sprite = ::Sprite.new(self.viewport)
@_damage_sprite.bitmap = bitmap
@_damage_sprite.ox = 80
@_damage_sprite.oy = 20
@_damage_sprite.x = self.x
@_damage_sprite.y = self.y - self.oy / 2
@_damage_sprite.z = 3000
@_damage_duration = 40
end
end
end
class Game_Battler
alias deal_7777_attack attack_effect
def attack_effect(attacker)
if attacker.is_a?(Game_Enemy)
if GameGuy::EnemiesUse != true
return deal_7777_attack(attacker)
elsif GameGuy::CantUseEnemies.include?(attacker.id)
return deal_7777_attack(attacker)
elsif attacker.hp == GameGuy::LuckyNumber
result = deal_7777_attack(attacker)
if result
self.critical = GameGuy::LuckyNumber
self.damage = GameGuy::LuckyNumber
last_hp = self.hp
self.hp -= self.damage
else
self.critical = false
self.damage = "Miss"
end
else
return deal_7777_attack(attacker)
end
end
if attacker.is_a?(Game_Actor)
if GameGuy::CantUseActors.include?(attacker.id)
return deal_7777_attack(attacker)
elsif attacker.hp == GameGuy::LuckyNumber
result = deal_7777_attack(attacker)
if result
self.critical = GameGuy::LuckyNumber
self.damage = GameGuy::LuckyNumber
last_hp = self.hp
self.hp -= self.damage
else
self.critical = false
self.damage = miss
end
else
return deal_7777_attack(attacker)
end
end
end
end