Attack Damage Detection

Arcane

You can change this now in User CP.
Reaction score
87
I was just wondering if it is possible to detect how much a unit hits for (without counting armor reduction or anything else), and add attack bonuses based on that number. (And if so how of course.)

Edit: Sort of like a triggered critical strike.
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
make a trigger like
Init trigg:
map init
pick every unit in map and do add to (damage trigg) the event picked unit takes damage

New unit trigg:
unit enters playable map area
add to (damage trigg) the event triggering unit takes damage

then the damage trigg:
Event: None
Condition: None
Action: disply to all players the text string(damage taken)
and so on
 

Arcane

You can change this now in User CP.
Reaction score
87
But that would give me the damage AFTER it's been reduced by armor/abilities etc... And it would be impossible to perform a "critical strike" animation.
 

Slapshot136

Divide et impera
Reaction score
471
this might work.. but it's tedious: make a clone of a unit (wand of illusion), teleport the clone to a far-off area, and make it attack a target that has 0 armor and an armor type that takes 100% from all damage types, etc. and then take an average of that damage or something
 

Arcane

You can change this now in User CP.
Reaction score
87
@Chocobo: Is that how other people do it? I'm sure somebody has triggered a critical strike before.

@Slapshot136: Er... I'd rather not resort to that method. I definitely thought about it though. The clone might not attack the same as the original. (Say the hero's attack damage was 1-99)
 

Chocobo

White-Flower
Reaction score
409
@Chocobo: Is that how other people do it? I'm sure somebody has triggered a critical strike before.

A real triggered critical strike? Not possible. Only a one that simulate a critical strike.

for instance :

Code:
Show Damages
    Events
    Conditions
    Actions
        Set loc = (Position of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Damage source) has buff Evasion ) Equal to True
            Then - Actions
                Set RandomInt = (Random real number between 2.00 and 4.00)
                -------- Damage Multiplier --------
                Set CriticalMultiplier = RandomInt
                -------- Random Percentage --------
                Set RandomReal = (Random real number between 0.00 and 100.00)
                -------- Critical Percentage --------
                Set CriticalPercentage = 15.00
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                RandomReal Less than CriticalPercentage
            Then - Actions
                -------- DamageDealt is a real which handles the whole damage dealt --------
                Set DamageDealt = ((Damage taken) x CriticalMultiplier)
                -------- Anti-Infinite Loop --------
                Trigger - Turn off (This trigger)
                Unit - Cause (Damage source) to damage (Triggering unit), dealing (DamageDealt - (Damage taken)) damage of attack type Chaos and damage type Universal
                Trigger - Turn on (This trigger)
                -------- Shows a Red Floating Text --------
                Floating Text - Create floating text that reads ((String((Integer(DamageDealt)))) + !) at loc with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
            Else - Actions
                -------- If No Critical it does a white message --------
                Floating Text - Create floating text that reads ((String((Integer(DamageDealt)))) + !) at loc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
        Floating Text - Change (Last created floating text): Disable permanence
        Floating Text - Set the velocity of (Last created floating text) to 15.00 towards 90.00 degrees
        Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
        Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds

http://www.thehelper.net/forums/showthread.php?t=57736
http://www.thehelper.net/forums/showthread.php?t=40355
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top