• 🏆 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!

Spell Damage

Status
Not open for further replies.
Level 4
Joined
Dec 15, 2007
Messages
108
hi guys,
i have a question again :p
last time u could help me i hope u can do it agian :p
how can i incrase spelldmg and how i do spells for example frost nove deals dmg with x3 times of your int. would it also be possible to combine both abilities?:eekani:
 
Level 6
Joined
Aug 15, 2007
Messages
209
Ok, and spells that are based on any value ingame has to be done with triggers. If by spelldmg you mean items that increase spell damage in WoW, then you have to trigger that in, with IfThenElses. If you just mean in the Object Editor, there should be a modifiable area in the spell stats that lets you change it. Tell me if this helps.
 
Level 10
Joined
Jan 21, 2007
Messages
576
  • Melee Initialization
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to <Your Ability>
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (100.00 + (3.00 x (Real((Intelligence of (Casting unit) (Include bonuses)))))) damage of attack type Spells and damage type Normal
This is an example of using int to affect the damage of an ability.
 
Level 10
Joined
Jan 21, 2007
Messages
576
I'm not really sure I understand your question about spelldmg, please restate that question ;]. What do you even mean by spell damage? The damage set in the Object Editor, armor reductions, ect.
 
Level 12
Joined
Aug 20, 2007
Messages
866
Gosts would work fine

Yeah, his method works just peachy

Except, it doesn't have levels, and you would need to set the damage of the level in the Object Editor to 0.00

After that, You could just add either If/Thens or change the equation in the trigger

By the way, if you have never used triggers before, you know about .4% of the World Editor's capabilities

_____________________________

For your first question, I *think* you mean when something happens in the game, how can I make the spell do more damage then before?

You need to use triggering, this one could be done in many ways

What I would do, is create a Real variable, and name whatever you want, next I would add it into your equation, *equation + Realvariable*

Leave it at 0.00 or default

Now, you need to learn more about triggers, but basically you will need to do the event/something happening, and just change the Real variable to whatever you want the new damage to be

Let's say a unit picks up an item:
  • Spell Damage
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to My Spell
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (40.00 + (((Real((Level of My Spell for (Casting unit)))) x (Real((Intelligence of (Casting unit) (Include bonuses))))) + ExtraDamage)) damage of attack type Spells and damage type Enhanced
  • Gets an Item
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to MyCustomItem
    • Actions
      • Set ExtraDamage = 100.00
  • Loses an Item
    • Events
      • Unit - A unit Loses an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to MyCustomItem
    • Actions
      • Set ExtraDamage = 0.00

This is an extremely crude and simple way to add the damage

If you'd like to do it with any hero, you would probably need to use arrays, and loops

I would use the item custom value instead of interger loops
 
Last edited:
Level 4
Joined
Dec 15, 2007
Messages
108
OO your oppinion iam working since a week on we with 10h per day :p (at week-ends more then 14 (>_<) i knwo its to less :p )

my quest is at ghost - when i get an items for example a staff and it give to my hero 50 spelldmg. then his frost nove deals 100dmg (basic) + 50 spelldmg to the unit.
its like to imprive your dmg of the spell
 
Level 10
Joined
Jan 21, 2007
Messages
576
I was just showing him how to use stats in damaging an enemy unit,
if you want me to go all out fine ;).

  • Arcane Shot
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Arcane Shot
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing ((75.00 x (Real((Level of Arcane Shot for (Casting unit))))) + ((Real((Intelligence of (Casting unit) (Include bonuses)))) x (1.00 + (0.25 x (Real((Level of Arcane Shot for (Casting unit)))))))) damage of attack type Spells and damage type Normal
 
Level 4
Joined
Dec 15, 2007
Messages
108
i dont understand the sense of the last post sry ghost (maybe me to stupid)
u already post that way, or iam wrong?


sry but i go sleep nowi will read/answer tomorrow gn8 all :p
 
Level 10
Joined
Jan 21, 2007
Messages
576
The second one is just longer and slightly more advanced, incorporating a change of power with the change of level of the ability. Basicaly what it does is (75 x level) + YourInt x (1.00 + (.25 x Level Of Arcane Shot)).
 
Level 12
Joined
Aug 20, 2007
Messages
866
Heh

Dangit, I changed my post too late

I answered your first question though??? [look up a few posts]
 
Level 6
Joined
May 13, 2005
Messages
164
Any damage done via trigger is physical, meaning that it is affected by armor. Even when you are able to choose Chaos, Normal, Spell, Piercing, Magic, etc. its all physical, with armor affecting the damage done to the damaged unit. So, i think its impossible to deal exact Spell damage to a unit via triggers.

To deal the extra 50 damage when the specific unit has the item which improves your spell damage, just use the If/Then/Else function to check whether the unit has the item, then deal damage accordingly.
 
Level 4
Joined
Dec 15, 2007
Messages
108
i also want that that the spelldmg didnt do 50. the armor must protect some dmg
its the system from ragos orpg and the black road maybe u can look it up how its work would be really nice for answer thx c u
 
Level 12
Joined
Aug 20, 2007
Messages
866
...

@Ger

Just change the number from 50 to whatever you want :hohum:

@Phoenix

You can use the set unit life function
 
Level 4
Joined
Dec 15, 2007
Messages
108
herman u missunderstood me i mean that the unit didnt get exatly 50dmg its more the amror must also can reduce the spelldmg
 
Level 12
Joined
Aug 20, 2007
Messages
866
You want the Armor to reduce it???

Ok, there are a bunch of ways to do it

If you want the damage to be reducible by armor, you use the "cause unit to damage"

If you don't want the damage to be reducible by the armor, you use the "Set Unit Life"

I'll upload a few examples in abit, kinda busy at the moment ><
 
Level 10
Joined
Jan 21, 2007
Messages
576
Using the set life function doesn't give credit for killing a unit to anyone.
 
Level 12
Joined
Aug 20, 2007
Messages
866
If you really need credit

Just use an If/Then

If the life is low enough to be killed, then use the cause damage, and make it high enough to kill it, if it's not, then use the normal set life

That's not even something to be slightly deterred by

You could probably trigger the credit in anyways, using an integer array, and a floating text (if bounty is on)
 
Level 4
Joined
Dec 15, 2007
Messages
108
ok just 1 question to ghost :p
from your last picture u take aktion typ unit
and then "damage target"?

found it ^^


ok new question i do it with single target spells but now i want to use an aoe spell i take thunderclap and/or stomp so my trigger for single target was

holy smite
Ereignisse
Einheit - A unit Startet den Effekt einer Fähigkeit
Bedingungen
(Ability being cast) Gleich Holy Smite
Aktionen
Einheit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (2.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal

but when i cast it on aoe i get the dmg and the creeps get nothing coz target unit of ability beeing cast but what i have to change?
 
Last edited:
Level 10
Joined
Jan 21, 2007
Messages
576
So you're hero casts warstomp and you want it to damage the units around you with a formula via triggers.

For your action use the "Pick Every Unit within range" set the range to the aoe of your spell, in the actions of that do a If/Then/Else and check if 'Picked Unit' is an enemy of owner of casting unit(this is a boolean, you might want to also check if it is alive(boolean aswell) for depending on your spell this could cause problems.). Then for the 'Then' do your action except change it to "Einheit - Cause (Casting unit) to damage (Picked Unit), dealing (2.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal"

  • Melee Initialization
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to <YourAbility>
    • Actions
      • Set L = (Position of (Casting unit))
      • Unit Group - Pick every unit in (Units within 350.00 of L) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
              • ((Picked unit) is alive) Equal to True
            • Then - Actions
              • Unit - Cause (Casting Unit) to damage (Picked Unit), dealing <YourFormula> damage of attack type Spells and damage type Normal
            • Else - Actions
      • Custom script: call RemoveLocation(udg_L)
 
Level 4
Joined
Dec 15, 2007
Messages
108
ok i have what u have but not the last costum script

i just tipp it in we i hope it is right and we hasnt "unit in range" so i take units is inr egion of bla bla casting unit ( so it isnt a circle :/ )

ok i just did it with the spell monsun maybe its monsun coz i didnt work i will tes l8er with stomp sry but with monsun didnt work
 
Last edited:
Level 4
Joined
Dec 15, 2007
Messages
108
variable L is (variable typ: point ;initial value : -nothing-) i have to try if it will worx

so i try now both bud didnt work i get at stmop again my dmg and creeps get 0

holy burst test
Ereignisse
Einheit - A unit Startet den Effekt einer Fähigkeit
Bedingungen
(Ability being cast) Gleich Holy Burst
Aktionen
Set L = (Position of (Casting unit))
Einheitengruppe - Pick every unit in (Units in (Region centered at (Position of (Casting unit)) with size (250.00, 250.00))) and do (Actions)
Schleifen - Aktionen
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
((Picked unit) belongs to an ally of (Owner of (Casting unit))) Gleich True
((Picked unit) is alive) Gleich True
'THEN'-Aktionen
Einheit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (4.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
'ELSE'-Aktionen
Do nothing
Custom script: call RemoveLocation(udg_L)


and at monsun i get 0 and creeps get 0 too :O

monsun test
Ereignisse
Einheit - A unit Startet den Effekt einer Fähigkeit
Bedingungen
(Ability being cast) Gleich Monsun
Aktionen
Set L = (Position of (Casting unit))
Einheitengruppe - Pick every unit in (Units in (Region centered at (Position of (Casting unit)) with size (250.00, 250.00))) and do (Actions)
Schleifen - Aktionen
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
((Picked unit) belongs to an ally of (Owner of (Casting unit))) Gleich True
((Picked unit) is alive) Gleich True
'THEN'-Aktionen
Einheit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (6.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
'ELSE'-Aktionen
Do nothing
Custom script: call RemoveLocation(udg_L)
 
Level 4
Joined
Dec 15, 2007
Messages
108
real thx now it worx now

ok but next problem >_< for spells like blizzard if i take area he kills all units in caster area not there where i want to cast te spell >_<
[edit]
blizzard
Ereignisse
Einheit - A unit Beginnt, eine Fähigkeit zu wirken
Bedingungen
(Ability being cast) Gleich Blizzard
Aktionen
Set L = (Position of (Damage source))
Einheitengruppe - Pick every unit in (Units within 500.00 of L) and do (Actions)
Schleifen - Aktionen
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Gleich True
((Picked unit) is alive) Gleich True
'THEN'-Aktionen
Einheit - Cause (Casting unit) to damage (Picked unit), dealing (4.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
Wait 1.00 seconds
Einheit - Cause (Casting unit) to damage (Picked unit), dealing (4.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
Wait 1.00 seconds
Einheit - Cause (Casting unit) to damage (Picked unit), dealing (4.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
Wait 1.00 seconds
Einheit - Cause (Casting unit) to damage (Picked unit), dealing (4.00 x (Real((Intelligenz of (Casting unit) (Einschließen bonuses))))) damage of attack type Zaubersprüche and damage type Normal
'ELSE'-Aktionen
Do nothing
Custom script: call RemoveLocation(udg_L)


could u tell me why this dont work?
 
Last edited:
Status
Not open for further replies.
Top