• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Triggers][System] Custom Unit Stats System

Status
Not open for further replies.
Level 9
Joined
Aug 7, 2009
Messages
380
Hello,
I was trying to make a custom stat system myself, but for some unknown reasons, things doesn't work so well. It's somehow being complicated to me on detecting the problem as it appears to turn out differently everytime i test it.
Sometimes floating text that shows damage dealt and damage type (blue = spell, red = physical) doesn't work so well as it should be spell but it shows red text. Sometimes, the floating text goes like 5200000000000000 spell damage above the unit, etc... or even the spell damage doesn't get applied

So, that's why i'm here, hoping to get improved and help. Here is my system as well as some damage modify triggers (i think this is the problem)



  • CS Setup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Custom script: set udg_CS_Hashtable = InitHashtable()
      • -------- CS_SpellResistance ========= Percent --------
      • -------- ITEM #1 --------
      • Set CS_ItemType = Claws of Attack +15
      • Set CS_SpellPower = 0.00
      • Set CS_SpellCritChance = 0.00
      • Set CS_SpellCritDamage = 0.00
      • Set CS_CritDamage = 2.00
      • Set CS_CritChance = 100.00
      • Set CS_BlockChance = 100.00
      • Set CS_EvasionChance = 0.00
      • Set CS_BlockDamage = 80.00
      • Set CS_SpellResistance = 0.00
      • Trigger - Run CS Save <gen> (ignoring conditions)
      • -------- ITEM #2 --------
      • Set CS_ItemType = Cheese
      • Set CS_SpellPower = 100.00
      • Set CS_SpellCritChance = 100.00
      • Set CS_SpellCritDamage = 2.00
      • Set CS_EvasionChance = 100.00
      • Trigger - Run CS Save <gen> (ignoring conditions)
      • -------- ITEM #3 --------
      • Set CS_ItemType = Crown of Kings +5
      • Set CS_CritDamage = 0.00
      • Set CS_BlockChance = 100.00
      • Set CS_EvasionChance = 0.00
      • Set CS_BlockDamage = 3.00
      • Trigger - Run CS Save <gen> (ignoring conditions)
      • -------- END OF CONFIGURABLES --------
      • Set PlayerColor[1] = |CFFFF0303
      • Set PlayerColor[2] = |CFF0042FF
      • Set PlayerColor[3] = |CFF1CB619
      • Set PlayerColor[4] = |CFF540081
      • Set PlayerColor[5] = |CFFFFFF01
      • Set PlayerColor[6] = |CFFFE8A0E
      • Set PlayerColor[7] = |CFF20C000
      • Set PlayerColor[8] = |CFFE55BB0
      • Set PlayerColor[9] = |CFF959697
      • Set PlayerColor[10] = |CFF7EBFF1
      • Set PlayerColor[11] = |CFF106246
      • Set PlayerColor[12] = |CFF4E2A04
  • CS Acquire
    • Events
      • Unit - A unit Acquires an item
    • Conditions
    • Actions
      • Set CS_PlusUp = 0
      • -------- =======LOAD========= --------
      • Set CS_ItemType = (Item-type of (Item being manipulated))
      • Custom script: set udg_CS_ItemKey = udg_CS_ItemType
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_EvasionChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_BlockDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_BlockChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_CritChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_CritDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellPower = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellCritChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellResistance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellCritDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = 0
      • -------- =======SET========= --------
      • Set CS_Unit = (Triggering unit)
      • Custom script: set udg_CS_UnitKey = GetHandleId(udg_CS_Unit)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_EvasionChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_EvasionChance = (CSC_EvasionChance + CS_EvasionChance)
      • Hashtable - Save CSC_EvasionChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_BlockDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_BlockDamage = (CSC_BlockDamage + CS_BlockDamage)
      • Hashtable - Save CSC_BlockDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_BlockChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_BlockChance = (CSC_BlockChance + CS_BlockChance)
      • Hashtable - Save CSC_BlockChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_CritChance = (CSC_CritChance + CS_CritChance)
      • Hashtable - Save CSC_CritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_CritDamage = (CSC_CritDamage + CS_CritDamage)
      • Hashtable - Save CSC_CritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellPower = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellPower = (CSC_SpellPower + CS_SpellPower)
      • Hashtable - Save CSC_SpellPower as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellCritChance = (CSC_SpellCritChance + CS_SpellCritChance)
      • Hashtable - Save CSC_SpellCritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellResistance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellResistance = (CSC_SpellResistance + CS_SpellResistance)
      • Hashtable - Save CSC_SpellResistance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellCritDamage = (CSC_SpellCritDamage + CS_SpellCritDamage)
      • Hashtable - Save CSC_SpellCritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = 0
  • CS Save Unit
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_CS_UnitKey = GetHandleId(udg_CS_Unit)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_EvasionChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_BlockDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_BlockChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_CritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_CritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellPower as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellCritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellCritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = 0
  • CS Lose
    • Events
      • Unit - A unit Loses an item
    • Conditions
    • Actions
      • Set CS_PlusUp = 0
      • Set CS_ItemType = (Item-type of (Item being manipulated))
      • Custom script: set udg_CS_ItemKey = udg_CS_ItemType
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_EvasionChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_BlockDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_BlockChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_CritChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_CritDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellPower = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellCritChance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellResistance = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_SpellCritDamage = (Load CS_PlusUp of CS_ItemKey from CS_Hashtable)
      • Set CS_PlusUp = 0
      • Set CS_Unit = (Triggering unit)
      • Custom script: set udg_CS_UnitKey = GetHandleId(udg_CS_Unit)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_EvasionChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_EvasionChance = (CSC_EvasionChance - CS_EvasionChance)
      • Hashtable - Save CSC_EvasionChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CS_BlockDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_BlockDamage = (CSC_BlockDamage - CS_BlockDamage)
      • Hashtable - Save CSC_BlockDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_BlockChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_BlockChance = (CSC_BlockChance - CS_BlockChance)
      • Hashtable - Save CSC_BlockChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_CritChance = (CSC_CritChance - CS_CritChance)
      • Hashtable - Save CSC_CritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_CritDamage = (CSC_CritDamage - CS_CritDamage)
      • Hashtable - Save CSC_CritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellPower = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellPower = (CSC_SpellPower - CS_SpellPower)
      • Hashtable - Save CSC_SpellPower as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellCritChance = (CSC_SpellCritChance - CS_SpellCritChance)
      • Hashtable - Save CSC_SpellCritChance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellResistance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellResistance = (CSC_SpellResistance - CS_SpellResistance)
      • Hashtable - Save CSC_SpellResistance as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CSC_SpellCritDamage = (CSC_SpellCritDamage - CS_SpellCritDamage)
      • Hashtable - Save CSC_SpellCritDamage as CS_PlusUp of CS_UnitKey in CS_Hashtable
      • Set CS_PlusUp = 0
  • CS Save
    • Events
    • Conditions
    • Actions
      • Set CS_PlusUp = 0
      • Custom script: set udg_CS_ItemKey = udg_CS_ItemType
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_EvasionChance as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_BlockDamage as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_BlockChance as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_CritChance as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_CritDamage as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellPower as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellCritChance as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Hashtable - Save CS_SpellCritDamage as CS_PlusUp of CS_ItemKey in CS_Hashtable
      • Set CS_PlusUp = 0
      • Set CS_SpellPower = 0.00
      • Set CS_SpellCritChance = 0.00
      • Set CS_SpellCritDamage = 0.00
      • Set CS_CritDamage = 0.00
      • Set CS_CritChance = 0.00
      • Set CS_BlockChance = 0.00
      • Set CS_EvasionChance = 0.00
      • Set CS_BlockDamage = 0.00
      • Set CS_SpellResistance = 0.00
  • CS Get
    • Events
    • Conditions
    • Actions
      • Set CS_PlusUp = 0
      • Custom script: set udg_CS_UnitKey = GetHandleId(udg_CS_Unit)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_EvasionChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_BlockDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_BlockChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_CritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellPower = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritChance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellResistance = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = (CS_PlusUp + 1)
      • Set CSC_SpellCritDamage = (Load CS_PlusUp of CS_UnitKey from CS_Hashtable)
      • Set CS_PlusUp = 0



  • DMGS Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- -------------------------------------------------------- --------
      • -------- Damage Modification --------
      • -------- -------------------------------------------------------- --------
      • -------- Set the system triggers --------
      • -------- Set the "reset" ability - this can be anything, but mustnt be something being used in the map --------
      • Set DMGS_ResetAbility = Watery Minion (item)
      • -------- -------------------------------------------------------- --------
      • -------- Display --------
      • -------- -------------------------------------------------------- --------
      • -------- Attack damage colour --------
      • Set DMGS_Colour[0] = |cffff0000
      • -------- Spell damage colour --------
      • Set DMGS_Colour[1] = |c006969FF
      • -------- Text size change --------
      • Set DMGS_TextSizeIncrease = 1.25
      • Set DMGS_TextSizeDecreaseBase = 0.25
      • -------- Size start min/max --------
      • Set DMGS_SizeMax = 14.00
      • Set DMGS_SizeMin = 3.80
      • -------- How much the CURRENT/MAX health ratio affects the size of the text --------
      • Set DMGS_SizeHealthFactor = 100.00
      • -------- Default text size. If set to zero, size is based on current/max health as above --------
      • -------- If not set to 0, all texts will be this size (excluding critical strike) --------
      • Set DMGS_SizeDefault = 0.00
      • -------- Crit SFX and attach point --------
      • Set DMGS_CritSFX = SmallBloodEX.mdx
      • Set DMGS_CritAttach = origin
  • Crit Evade Block
    • Events
      • Game - DamageModifierEvent becomes Equal to 1.00
    • Conditions
    • Actions
      • Set CS_Unit = DamageEventSource
      • Trigger - Run CS Get <gen> (ignoring conditions)
      • Set DMGS_CriticalChance = CSC_CritChance
      • Set DMGS_CriticalPercent = CSC_CritDamage
      • Set DMGS_CriticalBonus = 0.00
      • Set CS_Unit = DamageEventTarget
      • Trigger - Run CS Get <gen> (ignoring conditions)
      • Set DMGS_BlockChance = CSC_BlockChance
      • Set DMGS_BlockDamage = CSC_BlockDamage
      • Set DMGS_Evasion = CSC_EvasionChance
      • -------- Get Data --------
      • -------- Evasion --------
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Random percentage) Greater than (>) DMGS_Evasion
          • Then - Actions
            • Set DMGS_EvasionEvent = 3.00
            • -------- Critical --------
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random percentage) Less than or equal to (<=) DMGS_CriticalChance
                • Then - Actions
                  • Set DMGS_CriticalEvent = 0.00
                  • Set DMGS_CriticalEvent = 1.00
                  • Set DamageEventAmount = (DamageEventAmount + DMGS_CriticalBonus)
                  • Set DamageEventAmount = (DamageEventAmount x DMGS_CriticalPercent)
                  • Set DamageEventCritical = True
                  • Set DMGS_CriticalEvent = 2.00
                • Else - Actions
            • -------- Block --------
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random percentage) Less than or equal to (<=) DMGS_BlockChance
                • Then - Actions
                  • -------- Reduction --------
                    • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • DMGS_BlockDamage Less than (<) DamageEventAmount
                      • Then - Actions
                        • Set DMGS_BlockEvent = 1.00
                        • Set DamageEventAmount = (DamageEventAmount - DMGS_BlockDamage)
                      • Else - Actions
                        • Set DamageEventAmount = 0.00
                  • Set DMGS_BlockEvent = 2.00
                • Else - Actions
          • Else - Actions
            • Set DMGS_EvasionEvent = 0.00
            • Set DMGS_EvasionEvent = 1.00
            • -------- Evaded --------
            • Set amount = 0.00
            • Set DMGS_EvasionEvent = 2.00
      • Set DMGS_Evasion = 0.00
      • Set DMGS_BlockDamage = 0.00
      • Set DMGS_BlockChance = 0.00
      • Set DMGS_Reduction = 0.00
      • Set DMGS_CriticalBonus = 0.00
      • Set DMGS_CriticalPercent = 0.00
      • Set DMGS_CriticalChance = 0.00
      • Set DamageEventCriticalOverride = False
      • Set DMGS_Ability = DMGS_ResetAbility
  • Spell Crit n Resistance
    • Events
      • Game - damageEventTrigger becomes Equal to 1.00
    • Conditions
      • damageType Equal to (==) SPELL
    • Actions
      • Set CS_Unit = source
      • Trigger - Run CS Get <gen> (ignoring conditions)
      • Set DMGS_SpellCritChance = CSC_SpellCritChance
      • Set DMGS_SpellCritDamage = CSC_SpellCritDamage
      • Set DMGS_SpellPower = CSC_SpellPower
      • Set CS_Unit = target
      • Trigger - Run CS Get <gen> (ignoring conditions)
      • Set DMGS_SpellResistance = CSC_SpellResistance
      • Game - Display to (All players) the text: (String(CSC_SpellPower))
      • Set amount = (amount + DMGS_SpellPower)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Random percentage) Less than or equal to (<=) DMGS_SpellCritChance
          • Then - Actions
            • Set DamageEventCritical = True
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DMGS_SpellResistance Greater than (>) 0.00
                • Then - Actions
                  • Set amount = (amount x (DMGS_SpellResistance / 100.00))
                • Else - Actions
          • Else - Actions
            • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • DMGS_SpellResistance Greater than (>) 0.00
              • Then - Actions
                • Set amount = (amount x (DMGS_SpellResistance / 100.00))
              • Else - Actions
      • Set DMGS_SpellCritChance = 0.00
      • Set DMGS_SpellCritDamage = 0.00
      • Set DMGS_SpellPower = 0.00
      • Set DMGS_SpellResistance = 0.00
  • Damage Type
    • Events
      • Game - damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Set DamageEventType = damageType

Credits and Rep. Thanks in advance
EDIT: Forgot to mention i used Bribe's Damage Engine and eey's Damage Library - Damage Event
 
Status
Not open for further replies.
Top