RPG Maker Forums

Critical Effects/Modifier v1.0
By V.M.
Introduction
Simple script that allows you to change how much damage a critical hit does for each skill, weapon, actor, class, or enemy (multiplicative) and allow you to add states on the target when dealing a critical hit. (i.e instant kill on crit hit)

Features
- Modify critical damage based on class, actor, weapon, skill, and monster specifically (all adds up)
- Add states to target based on class, actor, weapon, skill, and monster specifically (all adds up)

Screenshots
Not available (Again tempted to post useless yet relevant screenshot, this time of hero doing 700billion+ damage)

How to Use
Install script (below any that modify the battle system, should be compatible with any)
Use the noteboxes of classes, actors, skills, weapons, and enemies with the phrases:
<crit multiplier [number]> and <crit state# [state id]>

Examples (also in script itself):
<crit multiplier 1000>
<crit state1 2>

Script
Code:
#Critical Effects and Multipliers#----------##Features: Provides the ability to tweak the damage modifier of critical hits for#   skills, weapons, classes, actors, and monsters, as well as determining#   if they apply specific states (i.e critical hit means instant death)##Usage: Place any of the following into the note boxes of skills, weapons#   classes, actors, or monsters:#   <crit multiplier [multiplier]>  # - [multiplier] is the percent difference in damage, can be any number#   <crit state[#] [state id]># - [#] is 1-4, allowing one notebox to apply 4 states# - [state id] is the id# of the state to be applied##Examples: <crit multiplier 1000>#   <crit state1 2>#   <crit state2 6>##Game hangs or freezes up? Check the noteboxes related to last used skill for# a missing ">"#----------##-- Script by: V.M of D.T#--- Free to use in any project with credit given class Game_Battler  alias crit_effect_make_damage_value make_damage_value  alias crit_effect_execute_damage execute_damage  alias crit_apply_critical apply_critical  def make_damage_value(user, item)@crit_item = item@crit_target = usercrit_effect_make_damage_value(user, item)  end  def apply_critical(damage)damage = crit_apply_critical(damage)damage = apply_actor_multiplier(damage)damage = apply_class_multiplier(damage)damage = apply_weapon_multiplier(damage) if @crit_item.physical?damage = apply_skill_multiplier(damage)  end  def execute_damage(user)crit_effect_execute_damage(user)crit_apply_state if @result.critical  end  def apply_multiplier(note, start, damage)ends = startwhile ends != "banana" if note[ends] == ">" or note[ends] == '\n' then break end ends += 1endends -= 1damage * (1 + (note[start..ends].to_f / 100.0))  end  def apply_skill_multiplier(damage)note = $data_skills[self.attack_skill_id].noteif note.index('<crit multiplier') == nil then return damage endstart = note.index('<crit multiplier') + 17apply_multiplier(note, start, damage)  end  def apply_actor_multiplier(damage)if @crit_target.is_a?(Game_Actor) note = $data_actors[@crit_target.id].noteelse note = $data_enemies[@crit_target.enemy_id].noteendif note.index('<crit multiplier') == nil then return damage endstart = note.index('<crit multiplier') + 17apply_multiplier(note, start, damage)  end  def apply_class_multiplier(damage)if @crit_target.is_a?(Game_Actor) note = $data_classes[@crit_target.class_id].note if note.index('<crit multiplier') == nil then return damage end start = note.index('<crit multiplier') + 17 apply_multiplier(note, start, damage)else damageend  end  def apply_weapon_multiplier(damage)if @crit_target.is_a?(Game_Actor) if @crit_target.equips[0] != nil      note = $data_weapons[@crit_target.equips[0].id].note    else      note = ""    end if note.index('<crit multiplier') == nil then return damage end start = note.index('<crit multiplier') + 17 apply_multiplier(note, start, damage)else damageend  end  def crit_apply_state@states_apply = []note = $data_skills[self.attack_skill_id].notepush_apply_states(note)if @crit_target.is_a?(Game_Actor) note = $data_actors[@crit_target.id].noteelse note = $data_enemies[@crit_target.enemy_id].noteendpush_apply_states(note)if @crit_target.is_a?(Game_Actor) note = $data_classes[@crit_target.class_id].note push_apply_states(note)endif @crit_target.is_a?(Game_Actor)    if @crit_target.equips[0] != nil      note = $data_weapons[@crit_target.equips[0].id].note    else      note = ""    end push_apply_states(note)endfor i in @states_apply self.add_state(i)end  end  def push_apply_states(note)for i in Range.new(1,5) if note.index('<crit state' + i.to_s) != nilget_start_end(note, i)@states_apply.push(note[@start..@ends].to_i) endend  end  def get_start_end(note, i)start = note.index('<crit state' + i.to_s) + 13ends = startwhile ends != "banana" if note[ends] == ">" or note[ends] == "\n" then break end ends += 1end@start = start@ends = ends - 1  endend
FAQ
Game hangs or freezes up? Look for a missing ">" in your noteboxes

Credit and Thanks
- By V.M. of D.T.
- Free to use in any project with credit given


Author's Notes
Done while raiding (As in if there's a mistake uh... that would be why)

Latest Threads

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,034
Messages
1,018,446
Members
137,820
Latest member
georg09byron
Top