- Joined
- Feb 13, 2019
- Messages
- 128
Hellllllo again. I'm trying to figure out a way to implement "stat checks", and "spell combos", to start I figure I want to take the standard Warcraft 3 spell Breath of Frost and make it "check" the unit it is damaging stats (by stats I mean Hero Attributes), to see if they pass a "stat check", and if it fails, it is frozen solid instead of just damaged, slowed, etc.
What I'm imagining is lets say we compare the Strength of the unit with the spell being cast on it, to the Intelligence of the unit casting the spell, and if the Intelligence of said unit is higher than the Strength of the other unit, it "fails the skill/stat check", so it ends up frozen solid. (stunned)
But I want to make it so if you use a spell that could "shatter" the frozen unit, (like lets say there's an ability where you ummmmm, shoot an empowered shot from, lets say a ranged unit with a crossbow, and the ability "combos" where if you shoot this at a unit that is "frozen", and they react together, making it "shatter", ( Like an ability is used on a unit already under the effect of, another ability I guess? and an effect happens, in this case death) AND/OR you just do enough damage to pass a damage threshold", (lets say, 1/4 of the units HP)) it "shatters" and is instantly killed.
This is what I have so far:
and wrapping up the actual shatter effect is a little tricky I feel like, I have Bribe's Damage Engine so I imagine I could use the DamageEventAmout variable to create some kind of equation/code? where if a unit takes the 25% of it's current/or max hp (something of the like) it triggers some kind of effect (I don't know the first thing that comes to mind is it takes lets say it's current Health Points and deal damage equal to that amount to 100% kill it and create some special effect where ice chunk looking particles fall.
Please forgive my noob-ness if this is a stupid question.
What I'm imagining is lets say we compare the Strength of the unit with the spell being cast on it, to the Intelligence of the unit casting the spell, and if the Intelligence of said unit is higher than the Strength of the other unit, it "fails the skill/stat check", so it ends up frozen solid. (stunned)
But I want to make it so if you use a spell that could "shatter" the frozen unit, (like lets say there's an ability where you ummmmm, shoot an empowered shot from, lets say a ranged unit with a crossbow, and the ability "combos" where if you shoot this at a unit that is "frozen", and they react together, making it "shatter", ( Like an ability is used on a unit already under the effect of, another ability I guess? and an effect happens, in this case death) AND/OR you just do enough damage to pass a damage threshold", (lets say, 1/4 of the units HP)) it "shatters" and is instantly killed.
This is what I have so far:
-
Cone of cold stat check
-
Events
- Game - DamageEvent becomes Equal to 1.00
-
Conditions
- (Ability being cast) Equal to Breath of Frost 1
-
Actions
- Set AttackingUnit = DamageEventSource
- Set AttackingUnit = DamageEventSource
- Set HeroINT[1] = (Intelligence of AttackingUnit (Include bonuses))
- Set HeroIntReal[1] = (Real(HeroINT[1]))
- Set HeroSTR[1] = (Strength of AttackedUnit (Include bonuses))
- Set HeroStrReal[1] = (Real(HeroSTR[1]))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HeroIntReal[1] Greater than HeroStrReal[1]
- Then - Actions
- Else - Actions
-
If - Conditions
-
Events
and wrapping up the actual shatter effect is a little tricky I feel like, I have Bribe's Damage Engine so I imagine I could use the DamageEventAmout variable to create some kind of equation/code? where if a unit takes the 25% of it's current/or max hp (something of the like) it triggers some kind of effect (I don't know the first thing that comes to mind is it takes lets say it's current Health Points and deal damage equal to that amount to 100% kill it and create some special effect where ice chunk looking particles fall.
Please forgive my noob-ness if this is a stupid question.
Last edited: