|
shdwlink1993
|
 |
« on: January 12, 2009, 06:02:09 AM » |
|
HoT DoT Authors: shdwlink1993, KK20 Version: 1.04 Type: Poison Control Key Term: Player / Party / Troop Add-on IntroductionHoT DoT (Apparantly WoW-speak for Healing/Damage over Time), or Poison Control, is a system designed to let you make poison do more than what it always does. In RMXP and RMVX, poison does one thing only. That can be annoying after a while, like having a recharging health stat, or draining your magic. Features- Allows for many kinds of poison.
- Poisons that can heal you can easily be made.
- Lets poisons affect other stats besides health.
- More than one poison affects you at a time.
ScreenshotsThese would be completely useless. DemoThe script is pretty plug-and-play, so I don't think this is needed. Script1.04 by KK20#============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.04 # Type: Poison Control # # Editted by KK20 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 # HT Date 1.02: 2/19/2012 # HT Date 1.03: 3/20/2012 # HT Date 1.04: 4/08/2012 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # Version 1.02 ---------------------------------------------------- [2/19/2012] # Version 1.03 ---------------------------------------------------- [3/20/2012] # Version 1.04 ---------------------------------------------------- [4/08/2012] # # V 1.04 Changes: # - DoT that heals will make the screen flash green instead of red # - Damage values that were displayed in battle were inaccurate # - Percentage based damage was written incorrectly # # V 1.03 Changes: # - Percentage-based DoT healed when damage values were positive and visa-versa # - Modified how variance was calculated (added explanation in config) # - Organized script to be easier on the eyes and added comment lines # # V 1.02 Changes: # - Negative damage values damaged instead of healed and visa-versa # - Limit_Drain was bugged and has now been fixed # - HP and SP damage was being calculated twice (thus actual damage/healing # was twice the value the user configured) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if TYPE was positive or negative. # # Example A: TYPE is positive. VARIANCE is 15. # Damage/Heal amount can do up to 15 more or 15 less. # # Example B: TYPE is negative. VARIANCE is 15. # Damage/Heal amount can do up to 15% more or 15% less. # # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 100, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] sp_damage = 0 self.damage = 0 # Get the HoT/DoT states applied to the character for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids # If the state damages/heals by a literal number if SL93.hotdot(i)[0] > 0 damage = SL93.hotdot(i)[1] # If the state damages/heals HP by a percent elsif SL93.hotdot(i)[0] == -1 damage = self.maxhp * SL93.hotdot(i)[1] / 100 # If the state damages/heals SP by a percent elsif SL93.hotdot(i)[0] == -2 damage = self.maxsp * SL93.hotdot(i)[1] / 100 end # If damage/heal amount is not zero and variance exists if damage != 0 && SL93.hotdot(i)[2] > 0 # Variance based on literal numbers amp = (damage.abs < SL93.hotdot(i)[2] ? damage.abs - 1 : SL93.hotdot(i)[2]) if SL93.hotdot(i)[0] > 0 # Variance based on percentages amp = [damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 # Apply variance amounts to damage/heal amount damage += rand(amp+1) + rand(amp+1) - amp end # If HP damage/heal if SL93.hotdot(i)[0].abs == 1 hp = @hp # If limit_drain and actual HP damage being done (not healing) if SL93.hotdot(i)[3] and damage > 0 self.hp = [hp - damage,1].max # Leave 1 HP else self.hp -= damage end # Add total damage to variable self.damage += damage # If SP damage/heal elsif SL93.hotdot(i)[0].abs == 2 sp = @sp # If limit_drain and actual SP damage being done (not healing) if SL93.hotdot(i)[3] and damage > 0 self.sp = [sp - damage,1].max # Leave 1 SP else self.sp -= damage end # Add total SP damage to variable sp_damage += damage end end # Modify @damage to be SP damage if no changes to HP were made self.damage = sp_damage if self.damage == 0 end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect if actor.damage <= 0 # Positive DoT makes green screen $game_screen.start_flash(Color.new(0, 255, 0, 128), 4) else # Negative DoT makes red screen $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) end $game_temp.gameover = $game_party.all_dead? end } end end
1.01b by shdwlink (has a few bugs)#============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.01b # Type: Poison Control #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # - A simple math error was fixed (+ instead of -) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if the type was positive (~5 HP difference) # or negative (~5% HP difference). # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 10, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids self.damage = SL93.hotdot(i)[1] if SL93.hotdot(i)[0] > 0 self.damage = self.maxhp / SL93.hotdot(i)[1] if SL93.hotdot(i)[0] == -1 self.damage = self.maxsp / SL93.hotdot(i)[1] if SL93.hotdot(i)[0] == -2 if self.damage.abs > 0 && SL93.hotdot(i)[2] > 0 amp = [self.damage.abs - SL93.hotdot(i)[2], 1].max if SL93.hotdot(i)[0] > 0 amp = [self.damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 self.damage += rand(amp+1) + rand(amp+1) - amp end self.damage = self.damage * -1 if SL93.hotdot(i)[0] < 0 if SL93.hotdot(i)[0] == 1 || SL93.hotdot(i)[0] == -1 self.damage = self.hp - 1 if !SL93.hotdot(i)[3] && (0 > self.hp += self.damage) self.hp += self.damage elsif SL93.hotdot(i)[0] == 2 || SL93.hotdot(i)[0] == -2 self.damage = self.sp - 1 if !SL93.hotdot(i)[3] && (0 > self.sp += self.damage) self.sp += self.damage end end return true end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) $game_temp.gameover = $game_party.all_dead? end } end end
InstructionsFound within the script. Compatibility- Low probability of working with the SDK.
- Will not work with other Poison-editing scripts.
- Must be placed above Tons of Addons.
Credits and Thanks- Arxur for the script idea.
Author's NotesA VX version is available here.EDIT: Fixed a very stupid problem in the documentation (And a very stupid error in the script itself - I fixed it in time for VX though.). xD
|
|
|
|
« Last Edit: October 20, 2012, 08:43:37 AM by Ezel Berbier »
|
Logged
|
Stuff I've made: "Never think you're perfect or else you'll stop improving yourself." "Some people say the glass is half full... some half empty... I just wanna know who's been drinking my beer."
|
|
|
|
winkio
Epiq
Administrator
Guardian of Chaos
   
Level: 174
Offline
Gender: 
Posts: 4067
I am lying.
|
 |
« Reply #1 on: January 12, 2009, 06:09:23 AM » |
|
Nice job and this looks compatible with BABS too! i'll test it out to make sure. Definitely a useful script:)
|
|
|
|
|
Logged
|
|
|
|
|
|
Kagutsuchi
|
 |
« Reply #2 on: January 12, 2009, 08:14:46 PM » |
|
yay! Awesome stuff *power up*
|
|
|
|
|
Logged
|
|
|
|
|
gameus
Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
Global Moderator
Chaos Ultimate
  
Level: 349
Offline
Gender: 
Posts: 5791
Bulbasaur!
|
 |
« Reply #3 on: January 20, 2009, 01:34:33 AM » |
|
So is this compatible with BABS?
I wanted to know before using it.
|
|
|
|
|
Logged
|
|
|
|
|
|
shdwlink1993
|
 |
« Reply #4 on: January 20, 2009, 01:58:37 AM » |
|
@game_guy: It really should be compatible with Blizz-ABS. @Kagutsuchi + Winkio: Thanks! 
|
|
|
|
|
Logged
|
Stuff I've made: "Never think you're perfect or else you'll stop improving yourself." "Some people say the glass is half full... some half empty... I just wanna know who's been drinking my beer."
|
|
|
|
|
mroedesigns
|
 |
« Reply #5 on: June 18, 2011, 10:07:22 AM » |
|
Would this need a plugin for RMX-OS to make the effects 'global' or not?
|
|
|
|
|
Logged
|
|
|
|
|
Fenriswolf
Awakened Visionist

Level: 2
Offline
Gender: 
Posts: 79
|
 |
« Reply #6 on: February 19, 2012, 06:55:42 PM » |
|
I've been having a small problem with this script.
As mentioned in the script, a "-" in front of the second value, will cause the amount to be healing in stead of damage.
But when I made a state that is supposed to heal (ofcourse using the "-"), it does damage anyway.
The odd thing about it, is that the damage appears as green (which is normally healing).
I guess it's just a simple math error, but I couldn't figure out the cause myself.
Anybody mind giving me a hand? It's a small script, so spotting the issue shouldn't be hard for someone with experience with ruby.
|
|
|
|
|
Logged
|
|
|
|
|
KK20
Advance Wars Nut
Moderator
Astral Trancist
Level: 128
Offline
Gender: 
Posts: 771
"The key to victory is knowing what lies ahead."
|
 |
« Reply #7 on: February 19, 2012, 08:51:25 PM » |
|
Actually, there were a few more bugs with this script than what you said. I went ahead and fixed them. The following is updated to Version 1.02.#============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.02 # Type: Poison Control # # Editted by KK20 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 # HT Date 1.02: 2/19/2012 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # Version 1.02 ---------------------------------------------------- [2/19/2012] # Fixed: # - Negative damage values damaged instead of healed and visa-versa # - Limit_Drain was bugged and has now been fixed # - HP and SP damage was being calculated twice (thus actual damage/healing # was twice the value the user configured) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if the type was positive (~5 HP difference) # or negative (~5% HP difference). # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 10, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids self.damage = SL93.hotdot(i)[1] if SL93.hotdot(i)[0] > 0 self.damage = self.maxhp / SL93.hotdot(i)[1] if SL93.hotdot(i)[0] == -1 self.damage = self.maxsp / SL93.hotdot(i)[1] if SL93.hotdot(i)[0] == -2 if self.damage.abs > 0 && SL93.hotdot(i)[2] > 0 amp = [self.damage.abs - SL93.hotdot(i)[2], 1].max if SL93.hotdot(i)[0] > 0 amp = [self.damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 self.damage += rand(amp+1) + rand(amp+1) - amp end self.damage = self.damage * -1 if SL93.hotdot(i)[0] < 0 if SL93.hotdot(i)[0] == 1 || SL93.hotdot(i)[0] == -1 hp = @hp # If limit_drain and actual damage being done (not healing) if SL93.hotdot(i)[3] and self.damage > 0 self.hp = [hp - self.damage,1].max else self.hp -= self.damage end elsif SL93.hotdot(i)[0] == 2 || SL93.hotdot(i)[0] == -2 sp = @sp if SL93.hotdot(i)[3] and self.damage > 0 self.sp = [sp - self.damage,1].max else self.sp -= self.damage end end end end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) $game_temp.gameover = $game_party.all_dead? end } end end
|
|
|
|
|
Logged
|
I'm currently working on making an Advance Wars engine in RMXP. I also help people with their scripts on my free time. Feel free to send me an e-mail. Know much about Advance Wars? Then I may require your input or services later in the future. 
|
|
|
|
Fenriswolf
Awakened Visionist

Level: 2
Offline
Gender: 
Posts: 79
|
 |
« Reply #8 on: February 19, 2012, 08:57:22 PM » |
|
Great, thanks a lot for the fixes. Noticed the third bug as well, but I just ignored it by halving the values, but this is better  EDIT: I noticed another bug, or new bug actually. This is the configuration part of the script: #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if the type was positive (~5 HP difference) # or negative (~5% HP difference). # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 10, 15, false] # Standard Poison
As mentioned in the instructions, when the first value is negative the second value will be used as a percentage, while when positive, it will be used as a literal number. But, since the update, when making the first value negative, it turns the damage into healing (which isn't supposed to happen, but only when the SECOND value is negative). Not an issue that is a big bother on my part, but I figured I'd mention it.
|
|
|
|
« Last Edit: February 20, 2012, 10:02:17 PM by Fenriswolf »
|
Logged
|
|
|
|
|
KK20
Advance Wars Nut
Moderator
Astral Trancist
Level: 128
Offline
Gender: 
Posts: 771
"The key to victory is knowing what lies ahead."
|
 |
« Reply #9 on: March 21, 2012, 07:59:01 AM » |
|
Hah, didn't see that edit until now. Changes listed in log. #============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.03 # Type: Poison Control # # Editted by KK20 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 # HT Date 1.02: 2/19/2012 # HT Date 1.03: 3/20/2012 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # Version 1.02 ---------------------------------------------------- [2/19/2012] # Version 1.03 ---------------------------------------------------- [3/20/2012] # # V 1.03 Changes: # - Percentage-based DoT healed when damage values were positive and visa-versa # - Modified how variance was calculated (added explanation in config) # - Organized script to be easier on the eyes and added comment lines # # V 1.02 Changes: # - Negative damage values damaged instead of healed and visa-versa # - Limit_Drain was bugged and has now been fixed # - HP and SP damage was being calculated twice (thus actual damage/healing # was twice the value the user configured) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if TYPE was positive or negative. # # Example A: TYPE is positive. VARIANCE is 15. # Damage/Heal amount can do up to 15 more or 15 less. # [** NOTE **] # If VARIANCE > DAMAGE, the script will change VARIANCE to 1. # # Example B: TYPE is negative. VARIANCE is 15. # Damage/Heal amount can do up to 15% more or 15% less. # # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 10, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] # Get the HoT/DoT states applied to the character for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids # If the state damages/heals by a literal number if SL93.hotdot(i)[0] > 0 self.damage = SL93.hotdot(i)[1] # If the state damages/heals HP by a percent elsif SL93.hotdot(i)[0] == -1 self.damage = self.maxhp / SL93.hotdot(i)[1] # If the state damages/heals SP by a percent elsif SL93.hotdot(i)[0] == -2 self.damage = self.maxsp / SL93.hotdot(i)[1] end # If damage/heal amount is not zero and variance exists if self.damage != 0 && SL93.hotdot(i)[2] > 0 # Variance based on literal numbers amp = (self.damage.abs < SL93.hotdot(i)[2] ? 1 : SL93.hotdot(i)[2]) if SL93.hotdot(i)[0] > 0 # Variance based on percentages amp = [self.damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 # Apply variance amounts to damage/heal amount self.damage += rand(amp+1) + rand(amp+1) - amp end # If HP damage/heal if SL93.hotdot(i)[0].abs == 1 hp = @hp # If limit_drain and actual HP damage being done (not healing) if SL93.hotdot(i)[3] and self.damage > 0 self.hp = [hp - self.damage,1].max # Leave 1 HP else self.hp -= self.damage end # If SP damage/heal elsif SL93.hotdot(i)[0].abs == 2 sp = @sp # If limit_drain and actual SP damage being done (not healing) if SL93.hotdot(i)[3] and self.damage > 0 self.sp = [sp - self.damage,1].max # Leave 1 SP else self.sp -= self.damage end end end end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) $game_temp.gameover = $game_party.all_dead? end } end end
|
|
|
|
|
Logged
|
I'm currently working on making an Advance Wars engine in RMXP. I also help people with their scripts on my free time. Feel free to send me an e-mail. Know much about Advance Wars? Then I may require your input or services later in the future. 
|
|
|
|
gameus
Green Gmod Game_Guy AKA G4 AKA hyper-G AKA G-force
Global Moderator
Chaos Ultimate
  
Level: 349
Offline
Gender: 
Posts: 5791
Bulbasaur!
|
 |
« Reply #10 on: March 21, 2012, 08:52:03 AM » |
|
Hah, didn't see that edit until now. Changes listed in log. #============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.03 # Type: Poison Control # # Editted by KK20 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 # HT Date 1.02: 2/19/2012 # HT Date 1.03: 3/20/2012 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # Version 1.02 ---------------------------------------------------- [2/19/2012] # Version 1.03 ---------------------------------------------------- [3/20/2012] # # V 1.03 Changes: # - Percentage-based DoT healed when damage values were positive and visa-versa # - Modified how variance was calculated (added explanation in config) # - Organized script to be easier on the eyes and added comment lines # # V 1.02 Changes: # - Negative damage values damaged instead of healed and visa-versa # - Limit_Drain was bugged and has now been fixed # - HP and SP damage was being calculated twice (thus actual damage/healing # was twice the value the user configured) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if TYPE was positive or negative. # # Example A: TYPE is positive. VARIANCE is 15. # Damage/Heal amount can do up to 15 more or 15 less. # [** NOTE **] # If VARIANCE > DAMAGE, the script will change VARIANCE to 1. # # Example B: TYPE is negative. VARIANCE is 15. # Damage/Heal amount can do up to 15% more or 15% less. # # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 10, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] # Get the HoT/DoT states applied to the character for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids # If the state damages/heals by a literal number if SL93.hotdot(i)[0] > 0 self.damage = SL93.hotdot(i)[1] # If the state damages/heals HP by a percent elsif SL93.hotdot(i)[0] == -1 self.damage = self.maxhp / SL93.hotdot(i)[1] # If the state damages/heals SP by a percent elsif SL93.hotdot(i)[0] == -2 self.damage = self.maxsp / SL93.hotdot(i)[1] end # If damage/heal amount is not zero and variance exists if self.damage != 0 && SL93.hotdot(i)[2] > 0 # Variance based on literal numbers amp = (self.damage.abs < SL93.hotdot(i)[2] ? 1 : SL93.hotdot(i)[2]) if SL93.hotdot(i)[0] > 0 # Variance based on percentages amp = [self.damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 # Apply variance amounts to damage/heal amount self.damage += rand(amp+1) + rand(amp+1) - amp end # If HP damage/heal if SL93.hotdot(i)[0].abs == 1 hp = @hp # If limit_drain and actual HP damage being done (not healing) if SL93.hotdot(i)[3] and self.damage > 0 self.hp = [hp - self.damage,1].max # Leave 1 HP else self.hp -= self.damage end # If SP damage/heal elsif SL93.hotdot(i)[0].abs == 2 sp = @sp # If limit_drain and actual SP damage being done (not healing) if SL93.hotdot(i)[3] and self.damage > 0 self.sp = [sp - self.damage,1].max # Leave 1 SP else self.sp -= self.damage end end end end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) $game_temp.gameover = $game_party.all_dead? end } end end
Nice job, I modified the first post and put your edit in there. :3
|
|
|
|
|
Logged
|
|
|
|
|
vvalkingman
Awakened Visionist

Level: 1
Offline
Gender: 
Posts: 50
Take pride in yourself, your dreams, & what you do
|
 |
« Reply #11 on: April 08, 2012, 06:10:34 PM » |
|
Thanks for the bug fixes  I know this is kind of cosmetic...but is there a way that negative states that actually cause damage will have a red screen flash while those that are positive(healing) have a blue or green screen flash? Currently, all states that are affected by HoT DoT put out a red flash while walking. Just curious
|
|
|
|
|
Logged
|
|
|
|
|
KK20
Advance Wars Nut
Moderator
Astral Trancist
Level: 128
Offline
Gender: 
Posts: 771
"The key to victory is knowing what lies ahead."
|
 |
« Reply #12 on: April 08, 2012, 08:04:00 PM » |
|
Noticed a couple more things I missed. Updated to Version 1.04: #============================================================================== # HoT DoT # Author: Shdwlink1993 # Version: 1.04 # Type: Poison Control # # Editted by KK20 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # HT Date 1.0b: 1/11/2009 # HT Date 1.01b: 1/12/2009 # HT Date 1.02: 2/19/2012 # HT Date 1.03: 3/20/2012 # HT Date 1.04: 4/08/2012 #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # # This work is protected by the following license: # #---------------------------------------------------------------------------- # # # # Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported # # ( http://creativecommons.org/licenses/by-nc-sa/3.0/ ) # # # # You are free: # # # # to Share - to copy, distribute and transmit the work # # to Remix - to adapt the work # # # # Under the following conditions: # # # # Attribution. You must attribute the work in the manner specified by the # # author or licensor (but not in any way that suggests that they endorse you # # or your use of the work). # # # # Noncommercial. You may not use this work for commercial purposes. # # # # Share alike. If you alter, transform, or build upon this work, you may # # distribute the resulting work only under the same or similar license to # # this one. # # # # - For any reuse or distribution, you must make clear to others the license # # terms of this work. The best way to do this is with a link to this web # # page. # # # # - Any of the above conditions can be waived if you get permission from the # # copyright holder. # # # # - Nothing in this license impairs or restricts the author's moral rights. # # # #---------------------------------------------------------------------------- # # # # Note that if you share this file, even after editing it, you must still # # give proper credit to shdwlink1993. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Function =~ # # This script is designed to allow you to expand what poison does to your # character. Poison now is able to affect HP or SP, and take off a fraction or # a set amount of HP/SP. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Version History =~ # # Version 1.0b ---------------------------------------------------- [1/11/2009] # Version 1.01b --------------------------------------------------- [1/12/2009] # Version 1.02 ---------------------------------------------------- [2/19/2012] # Version 1.03 ---------------------------------------------------- [3/20/2012] # Version 1.04 ---------------------------------------------------- [4/08/2012] # # V 1.04 Changes: # - DoT that heals will make the screen flash green instead of red # - Damage values that were displayed in battle were inaccurate # - Percentage based damage was written incorrectly # # V 1.03 Changes: # - Percentage-based DoT healed when damage values were positive and visa-versa # - Modified how variance was calculated (added explanation in config) # - Organized script to be easier on the eyes and added comment lines # # V 1.02 Changes: # - Negative damage values damaged instead of healed and visa-versa # - Limit_Drain was bugged and has now been fixed # - HP and SP damage was being calculated twice (thus actual damage/healing # was twice the value the user configured) # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Customization =~ # # Customization can be found right under where the Poison Database begins. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= # # ~= Compatability =~ # # - Low probability of working with the SDK. # - Will not work with other Poison-editing scripts. # - Must be placed above Tons of Addons. # #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module SL93 def self.hotdot(id) case id #------------------------------------------------------------------------ # Poison Database Begins #------------------------------------------------------------------------ # when STATE_NUMBER then return [TYPE, DAMAGE, VARIANCE, LIMIT_DRAIN] # * STATE_NUMBER is the state you want to be affected by this. # * TYPE refers to the thing sustaining damage. # 1 = HP, 2 = SP. If the type is positive, the amount is a literal # number (eg. You lose about 50 HP). If the type is negative, then # the amount is a fraction of the maximum (eg. You lose about 50% of # your HP). # * DAMAGE refers to how much damage is healed/taken. # A Positive amount hurts you and a negative amount heals you. # * VARIANCE refers to how much the damage varies. Positive only. # This depends in part on if TYPE was positive or negative. # # Example A: TYPE is positive. VARIANCE is 15. # Damage/Heal amount can do up to 15 more or 15 less. # # Example B: TYPE is negative. VARIANCE is 15. # Damage/Heal amount can do up to 15% more or 15% less. # # * LIMIT_DRAIN refers to if the poison can leave you with 0 HP/SP. # If true, then it is limited, and stops at 1. If false, then it # isn't. #------------------------------------------------------------------------ when 3 then return [-1, 100, 15, false] # Standard Poison #------------------------------------------------------------------------ # Poison Database Ends #------------------------------------------------------------------------ end return false end end
class Game_Battler def slip_damage? return @states.any? {|i| SL93.hotdot(i) != false } end def slip_damage_effect ids = [] sp_damage = 0 self.damage = 0 # Get the HoT/DoT states applied to the character for i in @states ids.push(i) if SL93.hotdot(i) != false end for i in ids # If the state damages/heals by a literal number if SL93.hotdot(i)[0] > 0 damage = SL93.hotdot(i)[1] # If the state damages/heals HP by a percent elsif SL93.hotdot(i)[0] == -1 damage = self.maxhp * SL93.hotdot(i)[1] / 100 # If the state damages/heals SP by a percent elsif SL93.hotdot(i)[0] == -2 damage = self.maxsp * SL93.hotdot(i)[1] / 100 end # If damage/heal amount is not zero and variance exists if damage != 0 && SL93.hotdot(i)[2] > 0 # Variance based on literal numbers amp = (damage.abs < SL93.hotdot(i)[2] ? damage.abs - 1 : SL93.hotdot(i)[2]) if SL93.hotdot(i)[0] > 0 # Variance based on percentages amp = [damage.abs * SL93.hotdot(i)[2] / 100, 1].max if SL93.hotdot(i)[0] < 0 # Apply variance amounts to damage/heal amount damage += rand(amp+1) + rand(amp+1) - amp end # If HP damage/heal if SL93.hotdot(i)[0].abs == 1 hp = @hp # If limit_drain and actual HP damage being done (not healing) if SL93.hotdot(i)[3] and damage > 0 self.hp = [hp - damage,1].max # Leave 1 HP else self.hp -= damage end # Add total damage to variable self.damage += damage # If SP damage/heal elsif SL93.hotdot(i)[0].abs == 2 sp = @sp # If limit_drain and actual SP damage being done (not healing) if SL93.hotdot(i)[3] and damage > 0 self.sp = [sp - damage,1].max # Leave 1 SP else self.sp -= damage end # Add total SP damage to variable sp_damage += damage end end # Modify @damage to be SP damage if no changes to HP were made self.damage = sp_damage if self.damage == 0 end end
class Game_Party def check_map_slip_damage @actors.each {|actor| if actor.hp > 0 && actor.slip_damage? actor.slip_damage_effect if actor.damage <= 0 # Positive DoT makes green screen $game_screen.start_flash(Color.new(0, 255, 0, 128), 4) else # Negative DoT makes red screen $game_screen.start_flash(Color.new(255, 0, 0, 128), 4) end $game_temp.gameover = $game_party.all_dead? end } end end
|
|
|
|
|
Logged
|
I'm currently working on making an Advance Wars engine in RMXP. I also help people with their scripts on my free time. Feel free to send me an e-mail. Know much about Advance Wars? Then I may require your input or services later in the future. 
|
|
|
|