Spellpack Cleric Hero

Sirroelivan

Gunnerkrigg Court
Reaction score
95
Hi all

Here's the cleric hero I've been making for my dungeon map.

For Mark of Righeousness and Astral Shield, the dummy spell has a different buff for each level. These buffs have been put in an array.

Abilities:

Regular Ability:

Healing Word - 1 Level

You whisper a brief prayer causing divine light to wash over the target, healing 8 x Intelligence damage.

HealingWord.jpg


Code:
Healing Word
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Healing Word 
    Actions
        Set Real_Temp = (8.00 x (Real((Intelligence of (Casting unit) (Include bonuses)))))
        Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + Real_Temp)

Hero Abilities:

Mark of Rigtheousness - 6 Levels

Burning light damages the target for (Level x 80) + Intelligence damage and gives the target the Symbol of Righteousness buff that lasts 20 seconds. While under the effect of this buff, the unit takes (level x 4) extra damage from attacks.

MarkofRighteousness.jpg


Code:
Mark of Righteousness
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Mark of Righteousness 
    Actions
        Set Real_Temp = ((80.00 x (Real((Level of Mark of Righteousness  for (Casting unit))))) + (Real((Intelligence of (Casting unit) (Include bonuses)))))
        Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing Real_Temp damage of attack type Spells and damage type Normal
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Target unit of ability being cast) is alive) Equal to True
            Then - Actions
                Set Point = (Position of (Target unit of ability being cast))
                Unit - Create 1 Dummy Caster for (Owner of (Casting unit)) at Point facing Default building facing degrees
                Custom script:   call RemoveLocation(udg_Point)
                Unit - Add Symbol of Righteousness  to (Last created unit)
                Unit - Set level of Symbol of Righteousness  for (Last created unit) to (Level of Mark of Righteousness  for (Casting unit))
                Unit - Order (Last created unit) to Human Sorceress - Slow (Target unit of ability being cast)
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
            Else - Actions
                Do nothing

Code:
Symbol of Righteousness
    Events
        Unit - A unit Is attacked
    Conditions
    Actions
        For each (Integer A) from 1 to 6, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Attacked unit) has buff Symbol_of_Righteousness[(Integer A)]) Equal to True
                    Then - Actions
                        Unit - Cause (Attacking unit) to damage (Attacked unit), dealing ((Real((Integer A))) x 4.00) damage of attack type Spells and damage type Normal
                        Set Point = (Position of (Attacked unit))
                        Special Effect - Create a special effect at Point using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                        Custom script:   call RemoveLocation(udg_Point)
                    Else - Actions
                        Do nothing

Astral Shield - 6 Levels

Protects the target with a glimmering shield that adds (level x 2) + 1 armor and deals (level x 4) damage to attackers. The shield lasts 45 seconds.

AstralShield.jpg


Code:
Astral Shield Cast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Astral Shield 
    Actions
        Set Point = (Position of (Target unit of ability being cast))
        Unit - Create 1 Dummy Caster for (Owner of (Casting unit)) at Point facing Default building facing degrees
        Custom script:   call RemoveLocation(udg_Point)
        Unit - Add Astral Shield (Buff)  to (Last created unit)
        Unit - Set level of Astral Shield (Buff)  for (Last created unit) to (Level of Astral Shield  for (Casting unit))
        Unit - Order (Last created unit) to Human Priest - Inner Fire (Target unit of ability being cast)
        Unit - Add a 2.00 second Generic expiration timer to (Last created unit)

Code:
Astral Shield Buff
    Events
        Unit - A unit Is attacked
    Conditions
    Actions
        For each (Integer A) from 1 to 6, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Attacked unit) has buff Astral_Shield[(Integer A)]) Equal to True
                    Then - Actions
                        Unit - Cause (Attacked unit) to damage (Attacking unit), dealing ((Real((Integer A))) x 4.00) damage of attack type Spells and damage type Normal
                    Else - Actions
                        Do nothing

Healing Strike - 6 Levels

Whenever you kill a unit, nearby allies are healed for (level x 30) damage (except for kills by Channel Divinity).

HealingStrike.jpg


Code:
Healing Strike
    Events
        Unit - A unit Dies
    Conditions
        (Unit-type of (Killing unit)) Equal to Cleric
        (Level of Healing Strike  for (Killing unit)) Greater than or equal to 1
    Actions
        Set Real_Temp = (30.00 x (Real((Level of Healing Strike  for (Killing unit)))))
        Set Point = (Position of (Killing unit))
        Set UnitGroup = (Units within 600.00 of Point matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an ally of (Owner of (Killing unit))) Equal to True)))
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Set Point = (Position of (Picked unit))
                Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + Real_Temp)
                Special Effect - Create a special effect at Point using Abilities\Spells\Items\AIvi\AIviTarget.mdl
                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation(udg_Point)

Channel Divinity - 2 Levels - Ultimate

You let powerful astral energies rain down around you, damaging enemies and healing allies. You deal (level x 10) + 10 damage per second to enemies and heal (level x 10) + 5 damage per second from allies. Lasts 30 seconds.

ChannelDivinity.jpg


Code:
Start Channel Divinity
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Channel Divinity 
    Actions
        Set CD_Point = (Position of (Casting unit))
        Set CD_Caster = (Casting unit)
        Set CD_Level = (Level of Channel Divinity  for (Casting unit))
        Trigger - Turn on Channel Divinity <gen>
        Trigger - Turn off Healing Strike <gen>

Code:
End Channel Divinity
    Events
        Unit - A unit Stops casting an ability
        Unit - A unit Finishes casting an ability
    Conditions
        (Ability being cast) Equal to Channel Divinity 
    Actions
        Trigger - Turn off Channel Divinity <gen>
        Trigger - Turn on Healing Strike <gen>

Code:
Channel Divinity
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (CD_Caster is alive) Equal to True
            Then - Actions
                Set Real_Temp = (((Real(CD_Level)) x 10.00) + 10.00)
                Set UnitGroup = (Units within 700.00 of CD_Point matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of CD_Caster)) Equal to True)))
                Unit Group - Pick every unit in UnitGroup and do (Actions)
                    Loop - Actions
                        Unit - Cause CD_Caster to damage (Picked unit), dealing Real_Temp damage of attack type Spells and damage type Normal
                        Set Point = (Position of (Picked unit))
                        Special Effect - Create a special effect at Point using Units\NightElf\Wisp\WispExplode.mdl
                        Special Effect - Destroy (Last created special effect)
                        Custom script:   call RemoveLocation(udg_Point)
                Custom script:   call DestroyGroup(udg_UnitGroup)
                Set Real_Temp = (((Real(CD_Level)) x 10.00) + 5.00)
                Set UnitGroup = (Units within 700.00 of CD_Point matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an ally of (Owner of CD_Caster)) Equal to True)))
                Unit Group - Pick every unit in UnitGroup and do (Actions)
                    Loop - Actions
                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + Real_Temp)
                        Set Point = (Position of (Picked unit))
                        Special Effect - Create a special effect at Point using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                        Special Effect - Destroy (Last created special effect)
                        Custom script:   call RemoveLocation(udg_Point)
                Custom script:   call DestroyGroup(udg_UnitGroup)
            Else - Actions
                Trigger - Turn off (This trigger)

What do you think?
 

Attachments

  • Hero Cleric.w3x
    185.7 KB · Views: 263

Romek

Super Moderator
Reaction score
963
You should post weather its MUI or MPI, and GUI or Jass, etc.

At a quick glance they look quite good. I think the first spell was made just to finish the spellpack :p
 

Sirroelivan

Gunnerkrigg Court
Reaction score
95
Why do you think that? It's just a regular, non-hero ability I'm planning all my heroes to have (not the same ability, but a non-hero ability.)
 

Draphoelix

It's not the wintercold that's killing me
Reaction score
132
Code:
                        Do nothing

Remove that line, it does as it sounds like, nothing.

The first one is probably MUI, but the last ones are not.
 
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