11-21-2019, 12:10 AM
KNegate XP
by Kyonides
Introduction
This time the explanation is quite simple indeed


XP Script
Code:
# * KNegate XP
# Scripter : Kyonides Arkanthes
# 2019-11-20
# This scriptlet will let battlers negate damage if it is lower than a percent
# of their MAXHP. It will not interfere with healing spells.
module KNegate
DAMAGE_BATTLER_IDS = {} # Do Not Edit This Line!
# BattlerID => MAXHP Percent, etc.
DAMAGE_BATTLER_IDS[:actor] = { 1 => 20 }
DAMAGE_BATTLER_IDS[:enemy] = {}
end
class Game_Battler
alias :kyon_negate_gm_battler_ae :attack_effect
alias :kyon_negate_gm_battler_se :skill_effect
def attack_effect(user)
result = kyon_negate_gm_battler_ae(user)
result |= check_damage_negation(result)
result
end
def skill_effect(user, skill)
result = kyon_negate_gm_battler_se(user, skill)
result |= check_damage_negation(result)
result
end
def check_damage_negation(result)
no_dmg = KNegate::DAMAGE_BATTLER_IDS[self.kind][self.id]
return result if !no_dmg or !@damage.between?(1, maxhp * no_dmg / 100)
self.hp += @damage
@damage = 0
false
end
end
class Game_Actor
def kind() :actor end
end
class Game_Enemy
def kind() :enemy end
end
Terms & Conditions
You must include my nickname and the current website's URL in your game credits.
Do not repost it anywhere else!
Free for non commercial games.
Give me a free copy of your completed game if you include at least 2 of my scripts!
