I love you guys.
I've gotten over a few hoops & hurdles with the help of the people here, and now I'm asking for help again.
In developing a combat system for my map, I've now come to the most important part, which uses Bribe's damage engine.
I'm using abilities to dictate what is going on. In the following Array, you can see what these abilities are and what they should do for the person who has that ability, when they try to swing at an enemy.
I realize the name "Weapons Array" might be a bit misleading. I basically suck at naming things, sorry.
The idea is any unit would have an ability that dictates what their "Chance to hit" is based on, what their "Damage if hit" is based on, and "Chance for critical" is based on. Can be either Str, Agi, Int. My non hero units have artificial Str/Agi/Int scores.
Player's characters, which are heroes, obviously already have these. What I'm doing it, depending on an item they pick up, say a hero finds a sword, that sword should give the hero 3 abilities. Those abilities would be the same three as above, where it dictates what will influence to hit, dmg, and crit chance.
I kind of had a system. It is a long, ugly, beast of a trigger that I'm positive can be condensed and optimized, but I don't know how to go about doing it. What I have now works - sort of. It seems to register the "chance to hit" and I even saw "critical" work once, but when damage is based on strength, it is supposed to do base damage + number from 1 to Damagesource Strength.
I have not been able to make this succeed once. I dumped a bunch of if/then/else statements, and it is a real eyesore, so sorry in advance, but I hope someone can help set me straight here. I expect some harsh criticism, I'm cool with that.
I have here a system supposed to account for each stat, but for sake of ease to anyone trying to help, we can focus on just the stats based on Strength and I can replicate that for the other stats.
I've gotten over a few hoops & hurdles with the help of the people here, and now I'm asking for help again.
In developing a combat system for my map, I've now come to the most important part, which uses Bribe's damage engine.
I'm using abilities to dictate what is going on. In the following Array, you can see what these abilities are and what they should do for the person who has that ability, when they try to swing at an enemy.
-
Weapons Array
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
Set WeaponsArray[1] = Weapon Accuracy Base/Strength
-
Set WeaponsArray[2] = Weapon Damage Base/Strength
-
Set WeaponsArray[3] = Weapon Accuracy Base/Agility
-
Set WeaponsArray[4] = Weapon Damage Base/Agility
-
Set WeaponsArray[5] = Weapon Accuracy Base/Intelligence
-
Set WeaponsArray[6] = Weapon Damage Base/Intelligence
-
-
I realize the name "Weapons Array" might be a bit misleading. I basically suck at naming things, sorry.
The idea is any unit would have an ability that dictates what their "Chance to hit" is based on, what their "Damage if hit" is based on, and "Chance for critical" is based on. Can be either Str, Agi, Int. My non hero units have artificial Str/Agi/Int scores.
Player's characters, which are heroes, obviously already have these. What I'm doing it, depending on an item they pick up, say a hero finds a sword, that sword should give the hero 3 abilities. Those abilities would be the same three as above, where it dictates what will influence to hit, dmg, and crit chance.
I kind of had a system. It is a long, ugly, beast of a trigger that I'm positive can be condensed and optimized, but I don't know how to go about doing it. What I have now works - sort of. It seems to register the "chance to hit" and I even saw "critical" work once, but when damage is based on strength, it is supposed to do base damage + number from 1 to Damagesource Strength.
I have not been able to make this succeed once. I dumped a bunch of if/then/else statements, and it is a real eyesore, so sorry in advance, but I hope someone can help set me straight here. I expect some harsh criticism, I'm cool with that.
I have here a system supposed to account for each stat, but for sake of ease to anyone trying to help, we can focus on just the stats based on Strength and I can replicate that for the other stats.
-
Set DamageRefine Weapons Array Copy
-
Events
-
Game - DamageModifierEvent becomes Equal to 1.00
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(DamageEventSource is A Hero) Equal to True
-
(DamageEventTarget is A Hero) Equal to True
-
-
Then - Actions
-
Set TempNonHeroDamageSourceStr = (Strength of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageSourceAgi = (Agility of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageSourceInt = (Intelligence of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageTargetStr = (Strength of DamageEventTarget (Include bonuses))
-
Set TempNonHeroDamageTargetAgi = (Agility of DamageEventTarget (Include bonuses))
-
Set TempNonHeroDamageTargetInt = (Intelligence of DamageEventTarget (Include bonuses))
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(DamageEventSource is A Hero) Equal to True
-
(DamageEventTarget is A Hero) Equal to False
-
-
Then - Actions
-
Set TempNonHeroDamageSourceStr = (Strength of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageSourceAgi = (Agility of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageSourceInt = (Intelligence of DamageEventSource (Include bonuses))
-
Set TempNonHeroDamageTargetStr = NonHeroStr[(Custom value of DamageEventTarget)]
-
Set TempNonHeroDamageTargetAgi = NonHeroAgi[(Custom value of DamageEventTarget)]
-
Set TempNonHeroDamageTargetInt = NonHeroInt[(Custom value of DamageEventTarget)]
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(DamageEventSource is A Hero) Equal to False
-
(DamageEventTarget is A Hero) Equal to False
-
-
Then - Actions
-
Set TempNonHeroDamageSourceStr = NonHeroStr[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageSourceAgi = NonHeroAgi[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageSourceInt = NonHeroInt[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageTargetStr = NonHeroStr[(Custom value of DamageEventTarget)]
-
Set TempNonHeroDamageTargetAgi = NonHeroAgi[(Custom value of DamageEventTarget)]
-
Set TempNonHeroDamageTargetInt = NonHeroInt[(Custom value of DamageEventTarget)]
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(DamageEventSource is A Hero) Equal to False
-
(DamageEventTarget is A Hero) Equal to True
-
-
Then - Actions
-
Set TempNonHeroDamageSourceStr = NonHeroStr[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageSourceAgi = NonHeroAgi[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageSourceInt = NonHeroInt[(Custom value of DamageEventSource)]
-
Set TempNonHeroDamageTargetStr = (Strength of DamageEventTarget (Include bonuses))
-
Set TempNonHeroDamageTargetAgi = (Agility of DamageEventTarget (Include bonuses))
-
Set TempNonHeroDamageTargetInt = (Intelligence of DamageEventTarget (Include bonuses))
-
-
Else - Actions
-
-
-
-
-
-
-
-
-------- Swing based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[1] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageSourceStr)) Greater than or equal to ((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageTargetStr))
-
-
Then - Actions
-
-------- Damage based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[2] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[4] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[6] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
Set DamageEventType = DamageTypeMiss
-
Set DamageEventAmount = 0.00
-
-
-
-
Else - Actions
-
-
-------- Swing based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[3] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageSourceAgi)) Greater than or equal to ((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageTargetAgi))
-
-
Then - Actions
-
-------- Damage based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[2] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[4] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[6] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
Set DamageEventType = DamageTypeMiss
-
Set DamageEventAmount = 0.00
-
-
-
-
Else - Actions
-
-
-------- Swing based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[3] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageSourceInt)) Greater than or equal to ((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageTargetInt))
-
-
Then - Actions
-
-------- Damage based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[2] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[4] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[6] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
Set DamageEventType = DamageTypeMiss
-
Set DamageEventAmount = 0.00
-
-
-
-
Else - Actions
-
-
-------- Swing based on Fist --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[1] for DamageEventSource) Less than or equal to 0
-
(Level of WeaponsArray[3] for DamageEventSource) Less than or equal to 0
-
(Level of WeaponsArray[5] for DamageEventSource) Less than or equal to 0
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageSourceInt)) Greater than or equal to ((Random integer number between 0 and 20) + (Random integer number between 0 and TempNonHeroDamageTargetInt))
-
-
Then - Actions
-
-------- Damage based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[2] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceStr))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[4] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceAgi))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-------- Damage based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of WeaponsArray[6] for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical Based on Strength --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Critical Base/Strength for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceStr
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Agility --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Agility for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceAgi
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-------- Critical Based on Intelligence --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Weapon Damage Base/Intelligence for DamageEventSource) Greater than 0
-
-
Then - Actions
-
-------- Critical? --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Random integer number between 1 and 100) Less than or equal to TempNonHeroDamageSourceInt
-
-
Then - Actions
-
-------- Critical! --------
-
Set DamageEventType = DamageTypeCriticalStrike
-
Set DamageEventAmount = (DamageEventAmount + ((Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))) x 2.00))
-
-
Else - Actions
-
-------- Regular --------
-
Set DamageEventAmount = (DamageEventAmount + (Random real number between 1.00 and (Real(TempNonHeroDamageSourceInt))))
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
Set DamageEventType = DamageTypeMiss
-
Set DamageEventAmount = 0.00
-
-
-
-
Else - Actions
-
-
-------- Swing based on Fist --------
-
-