Armor Doesn't Affect Mana Shield

WolfieeifloW

WEHZ Helper
Reaction score
372
As some of you may know, I have a map called Feedback TD.
The game revolves around creeps using mana as HP.

Now, the problem is that armor doesn't affect the attacks made on the unit with Mana Shield.
Example:
PeasantOne has 5 armor.
PeasantTwo has 10 armor.
I place a tower with multishot, and 5-5 damage.
The towers attacks both units evenly.
Both units die at the same time.

So, my question for you?
How can I make armor play a factor in Mana Shield?
And if I can't do it with triggering;
How would I trigger it?

Thanks in advance TH.net!
 

Ghostwind

o________o
Reaction score
172
How about making the units have a different version of mana shield, peasant #1 has one that drains 1 mana per 1 point of damage, and peasant #2 has another that drains 0.5 mana per 1 point of damage?
 

WolfieeifloW

WEHZ Helper
Reaction score
372
That would work if there was only two units in my TD :p .
As it is now, I have 50 waves, with a lot more to come in the future.
50 waves with about ~25 different values of armor;
Which would mean 25 different mana shields ;) .
Also, units have 1HP, so they have to take all damage to their mana.
 
Reaction score
107
Just have one mana shield with multiple levels. Set the point value of the unit in object editor to the level of mana shield that it needs, so when you spawn the unit, you just need an extra line to the set the level of mana shield to the point value of the unit so that it takes the appropriate damage.

This is provided you don't use the point value of the creep for something else. And technically you could have 99 varying levels of mana shield with an increment of 0.01.
 
Reaction score
107
That's pretty much all there is to it. You just need that extra line to set the level of mana shield for that creep to the appropriate level, which is indicated by the point value.

Trigger:
  • Unit - Set level of Mana Shield for (Last created unit) to (Point-value of (Last created unit))


Just slot it in under the create 1 ~~~ line.
 

WolfieeifloW

WEHZ Helper
Reaction score
372
So, if the level 1 mana shield absorbed 1 damage to 1 point of mana.
That would recreate the creep having 0 armor, AKA 0 reduction.
So then for the creeps with 0 armor, I'd set their point value to 1, so they'd get the level 1 mana shield?
 

Ghostwind

o________o
Reaction score
172
Yes. But you can't think of it as Armor really, that would throw off the numbers. If a unit has 5% damage reduction, it would be .95 mana per point of damage. If they have 99% damage reduction, it would be .01 mana per point of damage. If they have a 50% damage INCREASE, it would be 1.5 mana per point of damage. Catch my drift?
 
Reaction score
107
Oh the fields are slightly different from what I remember.

In this case its a lot easier to configure as desired. The example you gave is correct, if your unit had 0 armour then you would want it to do full damage, so 1 hp per mp. if you set it to 2 hp per mp, that's essentially 50% reduction in damage since you're only taking half the damage dealt, if you set it to 3 hp per mp then you're towers will only do 33%, if it's 4 hp per mp then 25% so on and so forth.

You just need to set it accordingly with a little math to get it the way you want it.
 

WolfieeifloW

WEHZ Helper
Reaction score
372
Yepp, I know ;) .
I'll just have to check the damage reduction of each point of armor.

Wait though.
If the unit takes, say 0.95 damage to mana, where does the other 0.05 go?
The unit can't take any damage to its HP.
 
Reaction score
107
Leave the damage absorbed field as 1 because you want it to deal all damage to mp. Just change the hp per mp fields.
 

Nerfpl

New Member
Reaction score
53
here is cheap mana shield i used for tests on my map.
Trigger:
  • Level Set
    • Events
      • Unit - A unit owned by Player 1 (Red) Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to (==) Arcane Shield
    • Actions
      • Set ManaShieldLevel = (Real((Level of Arcane Shield for (Learning Hero))))
      • Trigger - Add to Main <gen> the event (Unit - (Learning Hero) Takes damage)

Trigger:
  • Main
    • Events
    • Conditions
    • Actions
      • Set ManaShieldValue = ((Damage taken) x (ManaShieldLevel / 10.00))
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Mana of (Triggering unit)) Greater than or equal to (>=) ManaShieldValue
          • Then - Actions
            • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + ManaShieldValue)
            • Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) - ManaShieldValue)
          • Else - Actions

In such state it will reduce dmg by 10% for each lvl of ability so lvl 10 = 100% dmg goes to mana. if you want it to redirect 100% at lvl 1 - change "/10" to "/1" or remove it. its cheap version because it wont redirect dmg if you dont have enough mana.
 

WolfieeifloW

WEHZ Helper
Reaction score
372
I just changed all the properties in Object Editor.

A note for others, when trying to decrease the mana that gets taken away, you actually increase the MP per point of HP number.
So "1.50" would be "50% Damage Reduction" ;) .
 

jaspergeli

New Member
Reaction score
0
Oh the fields are slightly different from what I remember.

In this case its a lot easier to configure as desired. The example you gave is correct, if your unit had 0 armour then you would want it to do full damage, so 1 hp per mp. if you set it to 2 hp per mp, that's essentially 50% reduction in damage since you're only taking half the damage dealt, if you set it to 3 hp per mp then you're towers will only do 33%, if it's 4 hp per mp then 25% so on and so forth.

You just need to set it accordingly with a little math to get it the way you want it.
Damage taken*
 

jaspergeli

New Member
Reaction score
0
Are you saying that you will only get 25% damage reduction if 4 damage is absorbed by 1 mp? So it's damage taken.
 

jaspergeli

New Member
Reaction score
0
Yes. But you can't think of it as Armor really, that would throw off the numbers. If a unit has 5% damage reduction, it would be .95 mana per point of damage. If they have 99% damage reduction, it would be .01 mana per point of damage. If they have a 50% damage INCREASE, it would be 1.5 mana per point of damage. Catch my drift?
Correction: if a unit as 50% reduction, that would be a 2 damage per point of mana!
Yepp, I know ;) .
I'll just have to check the damage reduction of each point of armor.

Wait though.
If the unit takes, say 0.95 damage to mana, where does the other 0.05 go?
The unit can't take any damage to its HP.
It just says that 0.95 damage, there's no 0.05 damage anymore, but 0.95 damage alone. It's like 95 damage that is being absorbed by 100 mana and that 100 mana is lost when it absorbs that amount of damage. Back to reality, 1 mp is lost when it absorbs 0.95 damage.
 
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