Introduction
Applies a simple damage cap like in most rpg's. You can only do 9999 damage at the max for example. But in most rpg's you can also break that damage cap with certain skills, weapons, or armors.
Features
Screenshots
N/A
Demo
N/A
Script
Instructions
In script.
Place below your custom battle system, unless its blizz-abs because I know it works.
Compatibility
Not tested with SDK.
Should work with any battle system.
Credits and Thanks
Author's Notes
Enjoy!
เกิดอะไรขึ้นอย่ามาถามผมนะ ผมไปจิ๊กจากบอร์ดของ Blizzard
Applies a simple damage cap like in most rpg's. You can only do 9999 damage at the max for example. But in most rpg's you can also break that damage cap with certain skills, weapons, or armors.
Features
- Set damage cap to whatever
- Change damage cap in game
- Toggle damage cap in game
- Excluded weapons, items, armors, and skills and enemies
Screenshots
N/A
Demo
N/A
Script
#===============================================================================
# Proto Damage Cap
# Author game_guy
# Version 1.0
#-------------------------------------------------------------------------------
# Intro:
# Applies a simple damage cap like in most rpg's. You can only do 9999 damage
# at the max for example. But in most rpg's you can also break that damage
# cap with certain skills, weapons, or armors.
#
# Features:
# Set damage cap to whatever
# Change damage cap in game
# Toggle damage cap in game
# Excluded weapons, items, armors, and skills and enemies
#
# Instructions:
# Go down to the config below and configure everything there.
#
# Script Calls:
# This can turn the damage cap on or off
# $game_system.cap_on = true/false : true = on, false = off
# This can change the damage cap in game
# $game_system.damage_cap = x : x = a number
#
# Compatibility:
# Not tested with SDK.
# Should work with about every battle system.
#
# Credits:
# game_guy ~ For making it
# GAX72 ~ For requesting it
# anagura.raziel ~ For requesting more features
#===============================================================================
module GG_Cap
#===========================================
# This is the max damage cap set for
# anything. Items, skills, attacks, etc.
#===========================================
Damage_Cap = 9999
#===========================================
# Any weapon placed in the array below is
# equipped, the damage cap won't apply to
# that actor.
#===========================================
Exclude_Weapons = [2, 3, 4]
#===========================================
# Any armor placed in the array below is
# equipped, the damage cap won't apply to
# that actor.
#===========================================
Exclude_Armors = [1, 2, 3]
#===========================================
# Any skill placed in the array below is
# used, the damage cap won't apply to
# that skill.
#===========================================
Exclude_Skills = [7, 8, 9, 57]
#===========================================
# Any skill placed in the array below is
# used, the damage cap won't apply to
# that skill.
#===========================================
Exclude_Items = [1, 2, 3]
#===========================================
# Any enemy placed in the array below,
# the damage cap won't apply to
# that enemy. This also means
# the cap will not apply to any skill
# that enemy uses.
#===========================================
Exclude_Enemies = [29, 30]
end
class Game_System
attr_accessor :damage_cap
attr_accessor :cap_on
alias gg_init_damage_cap_lat initialize
def initialize
@damage_cap = GG_Cap::Damage_Cap
@cap_on = true
gg_init_damage_cap_lat
end
end
class Game_Battler
include GG_Cap
alias gg_dmg_cap_atk_effect_lat attack_effect
def attack_effect(attacker)
return if !$game_system.cap_on
dmg = $game_system.damage_cap
last_hp = self.hp
result = gg_dmg_cap_atk_effect_lat(attacker)
if result && self.damage.is_a?(Integer)
if attacker.is_a?(Game_Actor)
flag = false
actor = attacker
Exclude_Armors.each{|a|
flag = (actor.armor1_id == a or
actor.armor2_id == a or
actor.armor3_id == a or
actor.armor4_id == a)
break if flag == true}
if Exclude_Weapons.include?(attacker.weapon_id)
flag = true
end
unless flag
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, dmg].min
self.hp -= Integer(self.damage)
end
elsif attacker.is_a?(Game_Enemy)
unless Exclude_Enemies.include?(self.id)
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, dmg].min
self.hp -= Integer(self.damage)
end
end
end
return result
end
alias gg_dmg_cap_skil_effect_lat skill_effect
def skill_effect(user, skill)
return if !$game_system.cap_on
dmg = $game_system.damage_cap
last_hp = self.hp
result = gg_dmg_cap_skil_effect_lat(user, skill)
if result && self.damage.is_a?(Integer)
if user.is_a?(Game_Actor)
if !Exclude_Skills.include?(skill.id)
if self.damage < 0
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, -dmg].max
self.hp -= Integer(self.damage)
else
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, dmg].min
self.hp -= Integer(self.damage)
end
end
elsif user.is_a?(Game_Enemy)
if !Exclude_Enemies.include?(self.id) ||
!Exclude_Skills.include?(skill.id)
if self.damage < 0
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, -dmg].max
self.hp -= Integer(self.damage)
else
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, dmg].min
self.hp -= Integer(self.damage)
end
end
end
end
return result
end
alias gg_dmg_cap_item_effect_lat item_effect
def item_effect(item)
return if !$game_system.cap_on
dmg = $game_system.damage_cap
result = gg_dmg_cap_item_effect(item)
if result && self.damamge.is_a?(Integer)
if !Exclude_Items.include?(item.id)
if self.damage < 0
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, -dmg].max
self.hp -= Integer(self.damage)
else
self.hp = last_hp
self.hp = self.hp
self.damage = [self.damage, dmg].min
self.hp -= Integer(self.damage)
end
end
end
end
end
Instructions
In script.
Place below your custom battle system, unless its blizz-abs because I know it works.
Compatibility
Not tested with SDK.
Should work with any battle system.
Credits and Thanks
- game_guy ~ For making it
- GAX72 ~ For requesting it
- anagura.raziel ~ For requesting more features
Author's Notes
Enjoy!
เกิดอะไรขึ้นอย่ามาถามผมนะ ผมไปจิ๊กจากบอร์ดของ Blizzard
[สคริปต์] Proto Damage Cap