Paladin Spell Request 3 spells.

Bogrim

y hello thar
Reaction score
154
What BlueMirage is suggesting is to use units as a way to keep track of how many seals you have stacked up. You don't really need a custom indexing system for this, though.

Create a unit based on locust and set its art path to ".mdl" as well as remove its attack, shadow and anything that might indicate its presence. Basically you want a unit that only exists, but cannot be seen, selected, used or move. Then whenever you create a seal, create one of these units:
Trigger:
  • Divine Punishment
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Divine Punishment
    • Actions
      • Set Temp_Point = (Position of (Triggering unit))
      • Unit - Create 1 Seal Dummy for (Owner of (Triggering unit)) at Temp_Point facing Default building facing degrees
      • Unit - Add a (5.00 + (5.00 x (Real((Level of Divine Punishment for (Triggering unit)))))) second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation( udg_Temp_Point )

Then when you wish to use the "charges", simply use the number of units currently alive:
Trigger:
  • Untitled Trigger 002
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Heaven's Mercy
    • Actions
      • Set Temp_Group = (Units in (Playable map area) matching (((Unit-type of (Matching unit)) Equal to Seal Dummy) and (((Owner of (Matching unit)) Equal to (Owner of (Triggering unit))) and (((Matching unit) is alive) Equal to True))))
      • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing ((20.00 + (20.00 x (Real((Level of Heaven's Mercy for (Triggering unit)))))) x (Real((Number of units in Temp_Group)))) damage of attack type Spells and damage type Normal
      • Unit Group - Pick every unit in Temp_Group and do (Unit - Remove (Picked unit) from the game)
      • Custom script: call DestroyGroup( udg_Temp_Group )

I suggested using custom value as a way to count, but this method is just as effecient (and works better as well). Only I'm not sure why you would want to start tinkering with custom values for this system (@ BlueMirage).
 

BlueMirage

Trust, but doubt.
Reaction score
39
The system you suggested Bogrim will assume that you put all seals on one unit.
If you put 5 seals on one target, and 5 seals on another, that system will think there's 10 on each.

I think the indexing is required because without it, you can't associate a specific dummy with a unit.

Here's how I imagined it.
Trigger:
  • Divine Punishment Seal
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Divine Punishment
    • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions[
        • (Number of units in (Units in (Playable map area))) Equal to 1000
      • Then - Actions
        • Set Index = 1
      • Else - Actions
        • Set Index = (Index + 1)
      • Unit - Create 1 Dummy Caster for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
      • Set LCU = (Last created unit)
      • Unit - Set the custom value of LCU to Index
      • Unit Group - Add LCU to DummyUnitGroup (This does not need an index)
      • Unit - Add Dummy Slow to LCU
      • Unit - Order LCU to Human Sorceress - Slow (Target unit of ability being cast)
      • Unit - Add a (5 + (5 * Level of ability being cast)) second Generic expiration timer to LCU
      • Set IDUnit[Index] = Target unit of ability being cast
      • Unit - Set the custom value of (Target unit of ability being cast) to (((Custom value of (Target unit of ability being cast) + 1))

This is the first trigger.

2nd:
Trigger:
  • Seal Removal
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in DummyUnitGroup) Equal to True
    • Actions
      • Unit - Set the custom value of IDUnit[(Custom value of (Triggering unit))] to ((Custom value of IDUnit[(Custom value of (Triggering unit))]) - 1)

3rd:
Trigger:
  • Heaven's Mercy
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Heaven's Mercy
    • Actions
      • Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing ((20.00 + (20.00 x (Real((Level of Heaven's Mercy for (Triggering unit)))))) x (Custom value of (Targer unit of ability being cast))) damage of attack type Spells and damage type Normal
 

Bogrim

y hello thar
Reaction score
154
The system you suggested Bogrim will assume that you put all seals on one unit.
If you put 5 seals on one target, and 5 seals on another, that system will think there's 10 on each.

I think the indexing is required because without it, you can't associate a specific dummy with a unit.
It's a hero and unless he plans to let players have multiple heroes of the same type, there's no benefit in creating an indexing system. ;-)
 

BlueMirage

Trust, but doubt.
Reaction score
39
I think I know why you think it's not required. You think the seals are added onto the casting hero.

Read the skills again. Seals are added onto the TARGET.
 

adeoin

Member
Reaction score
11
Blue Mirage with your custom values trigger is it possible to make another spell like Angel Bash because I remember you saying that this will only work once.
And i need it for Angel Bash as well.
 

BlueMirage

Trust, but doubt.
Reaction score
39
I said that you will be unable to use custom values for systems other than the seals.
If Angel Bash triggers, do exactly the same thing.
 

BlueMirage

Trust, but doubt.
Reaction score
39
Since Custom Value represents the amount of seals on a unit, simply set the custom value of said unit to 0.

If we do that, we'll have to add one small thing to the main trigger that REMOVES seals, which is the second trigger I posted.

This:
Trigger:
  • Unit - Set the custom value of IDUnit[(Custom value of (Triggering unit))] to ((Custom value of IDUnit[(Custom value of (Triggering unit))]) - 1)


What you will have to do is add an If/Then/Else before this. The condition: Custom value of IDUnit[(Custom value of (Triggering unit))] is greater than 0.
 

adeoin

Member
Reaction score
11
any ideas why this isn't working? heavens mercy isn't doing damage. And the seals aren't disappearing after Heavens Mercy is used.

Trigger:
  • Divine Punishment Seal
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Divine Punishment
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Index Equal to 1000
        • Then - Actions
          • Set Index = 1
        • Else - Actions
          • Set Index = (Index + 1)
      • Set Caster[2] = (Casting unit)
      • Unit - Create 1 Dummy Caster for (Owner of Caster[2]) at (Position of (Triggering unit)) facing Default building facing degrees
      • Set LCU = (Last created unit)
      • Unit - Set the custom value of LCU to Index
      • Unit Group - Add LCU to DummyUnitGroup[1]
      • Unit - Add Dummy Slow to LCU
      • Unit - Order LCU to Human Sorceress - Slow (Target unit of ability being cast)
      • Unit - Add a (5.00 + (5.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))) second Generic expiration timer to LCU
      • Set TargetUnit[Index] = (Target unit of ability being cast)
      • Unit - Set the custom value of (Target unit of ability being cast) to ((Custom value of (Target unit of ability being cast)) + 1)


Trigger:
  • Seal Removal
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in DummyUnitGroup[1]) Equal to True
    • Actions
      • Unit - Set the custom value of TargetUnit[(Custom value of (Triggering unit))] to (Custom value of TargetUnit[((Custom value of (Triggering unit)) - 1)])


Trigger:
  • Heaven Mercy
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Heavens Mercy
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (20.00 + (20.00 x ((Real((Level of Heavens Mercy for (Casting unit)))) x (Real((Custom value of (Target unit of ability being cast))))))) damage of attack type Spells and damage type Normal


Thanks
 

BlueMirage

Trust, but doubt.
Reaction score
39
No idea why it would not work, but I can see one flaw though.

Trigger:
  • Heaven Mercy
    • Events
    • Unit - A unit Begins casting an ability

Use "Starts the effect of an ability" instead.

Anyway, double check everything. Make sure you're using the right spells, the triggers are enabled etc.
 

Dinowc

don't expect anything, prepare for everything
Reaction score
223
I've made all 3 spells if you still want them (it's in vJass)

you only need TimerUtils
 

leebingate

New Member
Reaction score
0
Well, I'm kind of new with this, but one thing you might want to try is looking into is the Firelord's incinerate skill. It also has a stacking status effect.

As far as activating the stacked buff, you'd need some kind of trigger.

the seal is just a buff and when u use Heaven's Mercy you remove the seals but do damage per seal.

And thanks Jotaro I check incernerate out.


__________________
Watch Repo Men Online Free
 

SaintMorose

New Member
Reaction score
26
the seals aren't disappearing after Heavens Mercy is used.

Trigger:
  • Heaven Mercy
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Heavens Mercy
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (20.00 + (20.00 x ((Real((Level of Heavens Mercy for (Casting unit)))) x (Real((Custom value of (Target unit of ability being cast))))))) damage of attack type Spells and damage type Normal


Thanks

You'll need to kill off all dummy's that are linked to this unit to get it's custom value back to zero.
 

HeX.16

Isn't Trollin You Right Now
Reaction score
131
I've made all 3 spells if you still want them (it's in vJass)

you only need TimerUtils

Just use these they all work perfectly and if you dont have vJass your map isnt going to get anywhere.
 
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