1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Choose your ride to damnation in the 5th Special Effect Contest Poll.
    Dismiss Notice
  6. The winners of the 13th Techtree Contest have been announced!
    Dismiss Notice
  7. The 13th Music Contest Poll is up! Vote for the best tracks in this symphony of frost and flame.
    Dismiss Notice
  8. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

baassee H&L SP preview v1.2 [MUI].w3x
Variables
Spells
README
Holy Light
HL Cast
HL SP Dies
Map Stuff, You dont need?
Ini
Restore
Rezz
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.

		
Name Type Is Array Initial Value
HL_AttackType attacktype No
HL_Damage real No
HL_DamageType damagetype No
HL_DestroyTrees boolean No
HL_Heal real No
HL_Level integer No
HL_Loop integer No
HL_Range real No
HL_TargetPoint location No
HL_TempGroup group No
HL_TempPoint location No
YOUDONTNEEDTHIS location No
Hello again

This preview is made by baassee for you spellmakers who are expecting this spellpack or the rest of you who need to learn some triggering.

Very basic preview containing one spell. Not to original but it was made by an idea of doom sheep in my request thread of spell ideas.

How to import:

1. import the 2 dummies, the buff, the 2 spells

2. import the spells category to your map

3. check the dummy slow spell buff and change it to the new one

4. check the condition field of the ability being cast and also check the create 1 dummy lines and fix those by adding the dummies right as they might bug up.

5. change the values for your needs.

6. give it to a unit

7. credit me and doom sheep

8. have fun! :)

Changelog

v1.0 Released 25/5 - 09

v1.1 Forgot to remove one location 25/5 - 09

v1.2 Changed dummy unit movement type, removed the bj destroy and added the normal destroy group call, added a temporary unit group variable and also made a loop integer for the loop instead of integer A
Idea from doom sheep, credits for both of us if used ;)

Really simple spell
Well documented spell, not so hard to understand cause it's a very simple spell. Just read this for a start if you don't know alot of triggering.

- Current Learning level: Easy
HL Cast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Holy Light
  Actions
    -------- -------------------------------------- --------
    -------- The targeted point aka in the middle of the circle you target with. --------
    Set VariableSet HL_TargetPoint = (Target point of ability being cast)
    -------- -------------------------------------- --------
    -------- The level of the ability of being cast, used for other variables below. --------
    Set VariableSet HL_Level = (Level of (Ability being cast) for (Triggering unit))
    -------- -------------------------------------- --------
    -------- Well this can you adjust to anything but I set it like this --------
    -------- an integer only used for the loop cause sometimes integer A fucks up blaah :) --------
    Set VariableSet HL_Loop = (HL_Loop + 1)
    -------- -------------------------------------- --------
    -------- SETTINGS --------
    -------- -------------------------------------- --------
    -------- Here is the AoE of the spell --------
    -------- I've made it with a formula so it will be as the aoe of the spell in object editor --------
    Set VariableSet HL_Range = (175.00 + (25.00 x (Real(HL_Level))))
    -------- -------------------------------------- --------
    -------- Here we set the heal to our value --------
    -------- I've made it as a formula cause it's multi-leveled right? ^^ --------
    Set VariableSet HL_Heal = (100.00 + (50.00 x (Real(HL_Level))))
    -------- -------------------------------------- --------
    -------- The damage we will do to our enemies --------
    -------- As we dont wanna count the heal again we just use the heal variable --------
    -------- and do it x0.75 so it will be 75% of the total heal. --------
    Set VariableSet HL_Damage = (HL_Heal x 0.75)
    -------- -------------------------------------- --------
    -------- Here we set the current attack type we're going to use --------
    -------- As this is a spell, and sometimes we need to count in spell reduction --------
    -------- So I've set it to spells --------
    Set VariableSet HL_AttackType = Spells
    -------- -------------------------------------- --------
    -------- Here we set the current damage type. --------
    -------- Have actually no idea what they mean --------
    -------- But as this is a holy spell I thought divine fits it perfectly --------
    Set VariableSet HL_DamageType = Divine
    -------- -------------------------------------- --------
    -------- Here is a variable that isnt used by the spell but I thought it might come up useful to somebody --------
    -------- So basiclly --------
    -------- If you set it to true. All trees in the AoE will be destroyed. --------
    Set VariableSet HL_DestroyTrees = False
    -------- -------------------------------------- --------
    -------- END SETTINGS --------
    -------- -------------------------------------- --------
    -------- Here I set a temp group with the AoE in as range and target point variable as the point --------
    -------- The matching conditions will be up in the unit group loop but I made it like this --------
    -------- As a start --------
    Set VariableSet HL_TempGroup = (Units within HL_Range of HL_TargetPoint matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
    -------- -------------------------------------- --------
    -------- We pick units with in the AoE range of the target point so it will have the current aoe of the total spell. --------
    -------- Also here we got some conditions --------
    -------- So it wont damage structures --------
    -------- And wont hit dead units --------
    -------- -------------------------------------- --------
    Unit Group - Pick every unit in HL_TempGroup and do (Actions)
      Loop - Actions
        -------- When we pick the group we want two different things right? --------
        -------- Heal our allies and damage our enemies. --------
        -------- So we make an if/then/else --------
        -------- As in the first, we check if the picked unit is magic immune and is an enemy. --------
        -------- Cause we dont want it to hit magic immune units cause that will be OP --------
        -------- -------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is Magic Immune) Equal to False) and (((Picked unit) belongs to an enemy of (Owner of (Triggering unit)).) Equal to True)
          Then - Actions
            -------- -------------------------------------- --------
            -------- If they match the conditon --------
            -------- We damage them with the damage we set in the damage variable. --------
            Unit - Cause (Triggering unit) to damage (Picked unit), dealing HL_Damage damage of attack type HL_AttackType and damage type HL_DamageType
            -------- -------------------------------------- --------
            -------- Here we set a temp point --------
            -------- with that I mean that it's temporary --------
            -------- and I will only use it very quickly --------
            Set VariableSet HL_TempPoint = (Position of (Picked unit))
            -------- cause we use it to create a dummy unit --------
            -------- which will have the slow ability which we'll add later --------
            Unit - Create 1.Dummy for (Owner of (Triggering unit)) at HL_TempPoint facing Default building facing degrees
            -------- but first a timer which will make the units get lost cause we wont use them anymore --------
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
            -------- add the slow ability --------
            Unit - Add HL Slow Dummy to (Last created unit)
            -------- set the level of the slow ability to the level of the real ability --------
            Unit - Set level of HL Slow Dummy for (Last created unit) to HL_Level
            -------- and then we cast the ability --------
            -------- on the picked units --------
            Unit - Order (Last created unit) to Human Sorceress - Slow.(Picked unit)
            -------- -------------------------------------- --------
            -------- Leak removing --------
            Custom script: call RemoveLocation(udg_HL_TempPoint)
            -------- -------------------------------------- --------
          Else - Actions
            -------- -------------------------------------- --------
        -------- -------------------------------------- --------
        -------- If they are our allies we do like this --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Picked unit) belongs to an ally of (Owner of (Triggering unit)).) Equal to True
          Then - Actions
            -------- Just set their current life + our healing amount that we put in the variable --------
            Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + HL_Heal)
            -------- -------------------------------------- --------
          Else - Actions
            -------- -------------------------------------- --------
    -------- And if our boolean to destroy trees equal to true we destroy all the trees in a small aoe --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        HL_DestroyTrees Equal to True
      Then - Actions
        -------- Basic we pick all the trees in our "AoE" --------
        -------- And we kill them --------
        -------- Also remember that this also kills any desructible --------
        Destructible - Pick every destructible within HL_Range of HL_TargetPoint and do (Actions)
          Loop - Actions
            Destructible - Kill (Picked destructible)
      Else - Actions
    -------- Here we create the special effects --------
    -------- By creating 32 units --------
    -------- that moves in different directions cause of the loop --------
    -------- remember if you want to change this --------
    -------- change number --------
    -------- and angle if there will be less units or more units cause else it will look weird ;) --------
    For each (Integer HL_Loop) from 1 to 32, do (Actions)
      Loop - Actions
        -------- we set the temporary point once again --------
        -------- as this is a loop --------
        -------- it will create 32 locations aka points --------
        -------- in a circle --------
        -------- around the targeted point --------
        Set VariableSet HL_TempPoint = (HL_TargetPoint offset by HL_Range towards (11.25 x (Real(HL_Loop))) degrees.)
        -------- we create a new dummy --------
        -------- this will have the ability aka the special effect --------
        Unit - Create 1.Dummy SP for (Owner of (Triggering unit)) at HL_TargetPoint facing (11.25 x (Real(HL_Loop))) degrees
        -------- turn the collision off for smooth moving --------
        Unit - Turn collision for (Last created unit) Off.
        -------- as the dummy size is 0.10 scaling value from the start, we increase it to the normal size and then we make it a little bigger --------
        Animation - Change (Last created unit)'s size to (200.00%, 200.00%, 200.00%) of its original size
        -------- a timer so the unit will be removed --------
        Unit - Add a (0.35 + (0.25 x (Real(HL_Level)))) second Generic expiration timer to (Last created unit)
        -------- here we add the dummy ability --------
        -------- as have the special effect attached with the ability --------
        -------- to change this --------
        -------- go to the object editor and change art - target field in the HL SP dummy ability --------
        Unit - Add HL SP Dummy to (Last created unit)
        -------- and then we order the dummies to move --------
        -------- to our points --------
        Unit - Order (Last created unit) to Move To.HL_TempPoint
        -------- as we created 32 points we need to remove them too before they set the next ones --------
        -------- leak removing .... --------
        Custom script: call RemoveLocation(udg_HL_TempPoint)
    -------- And last we remove the target point --------
    Custom script: call RemoveLocation(udg_HL_TargetPoint)
    -------- as I changed the spell I will make it like thsi instead --------
    -------- and remove the temporary unit group --------
    Custom script: call DestroyGroup(udg_HL_TempGroup)
    -------- -------------------------------------- --------
    -------- Now we're clear --------
    -------- what we've done are --------
    -------- created 32 units that will move to the outer lines of the aoe --------
    -------- they have the special effect --------
    -------- and when they die they create a new special effect --------
    -------- look at the next trigger to see more about that --------
    -------- also we damage and heal our own units --------
    -------- slowing enemies down --------
    -------- Hope you learned something new --------
    -------- Have fun triggering ;) --------
    -------- regards --------
    -------- baassee --------
Simple Trigger

when the dummies die, we set a point and then we create a special effect on that point, then we destroy the sp and removes the location
HL SP Dies
  Events
    Unit - A unit Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Dummy SP
  Actions
    Set VariableSet HL_TempPoint = (Position of (Dying unit))
    Special Effect - Create a special effect at HL_TempPoint using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation(udg_HL_TempPoint)
Ini
  Events
    Map initialization
  Conditions
  Actions
    Visibility - Disable fog of war
    Visibility - Disable black mask
    Game - Display to (All players) the text: Press -esc- to level up one level!
Restore
  Events
    Player - Player 1 (Red) skips a cinematic sequence
  Conditions
  Actions
    Unit - Set life of Test Hero Chieftain 0178 <gen> to 100%
    Unit - Set mana of Test Hero Chieftain 0178 <gen> to 100%
    Unit - Reset ability cooldowns for Test Hero Chieftain 0178 <gen>.
    Unit - Remove Negative buffs from Test Hero Chieftain 0178 <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Hero level of Test Hero Chieftain 0178 <gen>) Less than 10
      Then - Actions
        Hero - Set Test Hero Chieftain 0178 <gen> Hero-level to ((Hero level of Test Hero Chieftain 0178 <gen>) + 1), Hide level-up graphics
      Else - Actions
Rezz
  Events
    Unit - A unit Dies
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Triggering unit) is A Hero) Equal to True
      Then - Actions
        Set VariableSet YOUDONTNEEDTHIS = (Player 1 (Red) start location)
        Hero - Instantly revive (Triggering unit) at YOUDONTNEEDTHIS, Hide revival graphics
        Camera - Pan camera for Player 1 (Red) to YOUDONTNEEDTHIS over 3.00 seconds
        Custom script: call RemoveLocation (udg_YOUDONTNEEDTHIS)
      Else - Actions