• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Holopsicon 1.2

This bundle is marked as awaiting update. A staff member has requested changes to it before it can be approved.
First submission, decided to make Altair from Re:creators some of her Holopsicon Abilities, skill icons are screenshots from the anime, If there's any mistakes or needs improvement please tell, I'm open for improvements and I've been wanting to learn triggering for some time now

Holopsicon Spells

Gains a Buff called casualty reversal, while having the buff, she deals (Number of Stacks * Level of this Skill) damage, if the damage amount is above 100, stuns the target, else will slow the attacker's attack speed and movement speed by 40%

Creates an exact copy of a target, regardless if the target is a hero or not, and if the target is a hero, also copy their current level, ability and experience, that last until they die, mimicked Heroes disappears permanently after they die

Altair gains 1 saber stack per second (40 Maximum) and gains 5 whenever she kills a unit (20 if the unit killed is a hero). Sabers act as her secondary mana. When the number of sabers is insufficient, she will not be able to perform or cast some her skills.

Altair switches to Defensive Stance, while in defensive stance, Altair's Armor increases by (Armor of Altair) + 20.00) x (Current Level of this ability), While in Offensive Stance, Altair will passively damage all enemies nearby when Saber stack is over 30, every burst of damage reduces 5 Saber Stacks and the ability Outline Origin is switched to The Vicissitudes of Fortune

Altair Switches to Offensive Stance, Losing the extra Armor, but regains her ability to passively damage all units around her and the ability Vicissitudes of Fortune is switched to Outline Origin, the switching abilities shares the same level

Unleashes a sonic wave around Altair, dealing continuous Number Of Stacks * [Lvl of this ability] damage to all enemies hit, knocking them back and reducing their Movement Speed by 80%. for 5 seconds

1.0 - Uploaded
1.1 - Updated skill descriptions and added levels to all skills except for Factor Mimic and Outline Origin
1.2 - Reworked 80% of the skills and removed Representation Exposition and Fate Restoration and replaced it with Military Uniformed Princess Passive and Cause and Effect Skill, changed The Vicissitudes of Fortune effects and added Initialization to all skill triggers and tp new ones

credits: Altair, slash and Holopsicon model ripped by killerwats from 300 Heroes in Chaosrealm.co
Heaven's Gate - @Vinz
AnimatedFlower - @kellym0
Previews
Contents

Altair Set (Map)

Reviews
Wrda
Factor Mimic folder: The Twentieth Movement of the Cosmos Factor Mimic trigger: The condition "Target unit is alive" is useless, you can't cast this ability on dead units ;) Special Effect - Create a special effect attached to the origin of TempClone...
Hello~

Please provide a description for every spell so that we know what each of them does and a proper in-game screenshot.
Screenshots finished, I also posted a video for the skill previews for skills that I didn't managed to create some visuals like The Vicissitude of Fortune and the Fate restoration, and changed the title to Holopsicon :grin: :grin:
 
Hello~

Interesting spells!

I'm not a moderator nor a spell reviewer so I'm not going to comment on whether or not your resource will get approved but typically, approved spells have a configuration trigger where users can modify some values on your spells without digging through your triggers. Also, your spell submission must support levels.

Here is an example:
  • Representation Exposition Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set VariableSet RE_AreaOfEffect[1] = 400.00
      • Set VariableSet RE_AreaOfEffect[2] = 400.00
      • Set VariableSet RE_AreaOfEffect[3] = 400.00
      • Set VariableSet RE_AreaOfEffect[4] = 400.00
Do that for all the values which are hardcoded in your triggers and make your triggers as flexible as possible. I suspect that this section may still not be the correct section for your submission. Maybe a moderator can help us.
 
Hello~

Interesting spells!

I'm not a moderator nor a spell reviewer so I'm not going to comment on whether or not your resource will get approved but typically, approved spells have a configuration trigger where users can modify some values on your spells without digging through your triggers. Also, your spell submission must support levels.

Here is an example:
  • Representation Exposition Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set VariableSet RE_AreaOfEffect[1] = 400.00
      • Set VariableSet RE_AreaOfEffect[2] = 400.00
      • Set VariableSet RE_AreaOfEffect[3] = 400.00
      • Set VariableSet RE_AreaOfEffect[4] = 400.00
Do that for all the values which are hardcoded in your triggers and make your triggers as flexible as possible. I suspect that this section may still not be the correct section for your submission. Maybe a moderator can help us.
Hello! I still don't know some stuff around array variables, but I'm learning to it, but I still updated the skill descriptions and the triggers and placed comments explaining the formulas used for each skills and whats configurable and whats not, also added levels to all except for Outline Origin since its value already increases per hero level of the caster and the Factor Mimic is gonna be like the ultimate ability
 

Wrda

Spell Reviewer
Level 28
Joined
Nov 18, 2012
Messages
2,010
Needs the "Contains External Material" tag since you're using.
All all need a configuration trigger with the event "map initialization", the user shouldn't be bothered to be looking elsewhere in your code. Configuration contains things like AOE range, damage, duration, special effect model, to name a few.
Follow GPAG for better variable naming, TempPoint and TempTarget are very common names and may clash with the users' maps. Use the spell prefix like TMC_TempTarget (The Twentieth Movement of the Cosmos Factor Mimic) for that spell

Representation Exposition folder:
Dummy Copy trigger looks useless, delete it please.
Representation Exposition Copy trigger, remove " Copy", it's just weird.
Replacing unit with a new unit type and then "expire" after a while doesn't give bounty nor experience.
You'll need to make a dummy unit (no model, no movement speed, have locust ability, 0 food, no "worker" classification, cast backswing 0, cast point 0, no attacks enabled) and then you're able to cast "hex" which is basically what you're doing. All of this with just 1 dummy unit. The dummy unit is created at map initialization for each of your spells. The dummy abilities the dummy cast must have infinite range, no requirements, 0 mana, 0 cooldown, and the appropriate targets allowed.

The Twentieth Movement of the Cosmos - Factor Mimic Folder:
First trigger:
  • -------- This is the only configurable in this trigger, which calculates how many clones the skill will make --------
  • Unit - Create 1 (Unit-type of TempTarget) for (Owner of TempCaster) at TempPoint facing Default building facing degrees
Make a loop and use a variable to control the amount in itself, use your own integer loop variables instead of Integer A and B (in this trigger you only need one).
A reminder of the configurables here, like the special effect model.
  • why only heroes get added to the CloneGroup variable?
  • Hero
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in CloneHeroesGroup.) Equal to True
    • Actions
      • Unit Group - Remove (Triggering unit) from CloneHeroesGroup.
      • Unit - Remove (Triggering unit) from the game
How about an effect when it disappears?

The Fourteenth Movement of the Cosmos The Vicissitude of Fortune Copy trigger:
Reminds me of Trigger Untitled Copy Copy Copy Copy Copy ;)
Never use
  • Unit - A unit Is attacked event
use
  • Unit - A unit Takes damage
Instead, it's somewhat recently since 1.30+ patch or something. "A unit is attacked event" happens before the unit actually deals damage to the other one.
Also isn't this spell is very similar to thorns aura, just more powerful.

The Ninth Movement of the Cosmos Fate Restoration Trigger:
This is quite simple. It will also need configuration, such as the mana scaling factor, and max item destroyed in a seperate trigger.

The Thirteenth Movement of the Cosmos Outline Origin:
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Set VariableSet TempItemType = Tome of Retraining
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (TempTarget is A Hero) Equal to True
        • Then - Actions
          • Hero - Create TempItemType and give it to TempTarget
          • Hero - Order TempTarget to use (Last created item)
          • Item - Remove (Last created item)
        • Else - Actions
Why is this happening 4 times? Even if you do it once, it won't work if the hero has inventory full of items.
  • (Real((Level of TempCaster))) Less than (Real((Level of TempTarget)))
You want integer comparison, it is pointless to do this conversion. And you're using Unit Level, not Hero Level, however, it's working in game as intended.

All in all, the spells are simple, some quite even overpowered, lowering levels and dispelling all buffs.
It needs fix.
Not bad at all for a first spell pack, keep practicing!
 
Needs the "Contains External Material" tag since you're using.
All all need a configuration trigger with the event "map initialization", the user shouldn't be bothered to be looking elsewhere in your code. Configuration contains things like AOE range, damage, duration, special effect model, to name a few.
Follow GPAG for better variable naming, TempPoint and TempTarget are very common names and may clash with the users' maps. Use the spell prefix like TMC_TempTarget (The Twentieth Movement of the Cosmos Factor Mimic) for that spell

Representation Exposition folder:
Dummy Copy trigger looks useless, delete it please.
Representation Exposition Copy trigger, remove " Copy", it's just weird.
Replacing unit with a new unit type and then "expire" after a while doesn't give bounty nor experience.
You'll need to make a dummy unit (no model, no movement speed, have locust ability, 0 food, no "worker" classification, cast backswing 0, cast point 0, no attacks enabled) and then you're able to cast "hex" which is basically what you're doing. All of this with just 1 dummy unit. The dummy unit is created at map initialization for each of your spells. The dummy abilities the dummy cast must have infinite range, no requirements, 0 mana, 0 cooldown, and the appropriate targets allowed.

The Twentieth Movement of the Cosmos - Factor Mimic Folder:
First trigger:
  • -------- This is the only configurable in this trigger, which calculates how many clones the skill will make --------
  • Unit - Create 1 (Unit-type of TempTarget) for (Owner of TempCaster) at TempPoint facing Default building facing degrees
Make a loop and use a variable to control the amount in itself, use your own integer loop variables instead of Integer A and B (in this trigger you only need one).
A reminder of the configurables here, like the special effect model.
  • why only heroes get added to the CloneGroup variable?
  • Hero
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in CloneHeroesGroup.) Equal to True
    • Actions
      • Unit Group - Remove (Triggering unit) from CloneHeroesGroup.
      • Unit - Remove (Triggering unit) from the game
How about an effect when it disappears?

The Fourteenth Movement of the Cosmos The Vicissitude of Fortune Copy trigger:
Reminds me of Trigger Untitled Copy Copy Copy Copy Copy ;)
Never use
  • Unit - A unit Is attacked event
use
  • Unit - A unit Takes damage
Instead, it's somewhat recently since 1.30+ patch or something. "A unit is attacked event" happens before the unit actually deals damage to the other one.
Also isn't this spell is very similar to thorns aura, just more powerful.

The Ninth Movement of the Cosmos Fate Restoration Trigger:
This is quite simple. It will also need configuration, such as the mana scaling factor, and max item destroyed in a seperate trigger.

The Thirteenth Movement of the Cosmos Outline Origin:
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Set VariableSet TempItemType = Tome of Retraining
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (TempTarget is A Hero) Equal to True
        • Then - Actions
          • Hero - Create TempItemType and give it to TempTarget
          • Hero - Order TempTarget to use (Last created item)
          • Item - Remove (Last created item)
        • Else - Actions
Why is this happening 4 times? Even if you do it once, it won't work if the hero has inventory full of items.
  • (Real((Level of TempCaster))) Less than (Real((Level of TempTarget)))
You want integer comparison, it is pointless to do this conversion. And you're using Unit Level, not Hero Level, however, it's working in game as intended.

All in all, the spells are simple, some quite even overpowered, lowering levels and dispelling all buffs.
It needs fix.
Not bad at all for a first spell pack, keep practicing!
Thanks for the review, I'll take note of that, Apologies in advance if I wouldn't be able to update it in some days, studies wrecking me hard lol, but I'll make an update once I got some free days to practice and fiddle with triggers:thumbs_up::thumbs_up:

Edits:
  • why only heroes get added to the CloneGroup variable?
I did to remove the heroes only from the game when killed, I noticed they can be revived in the altar, which I thought can get messy or chaotic, and I did planned to add the special effects once the triggers are fully fixed and good to go

some quite even overpowered, lowering levels and dispelling all buffs
My fault for not mentioning but some effects of her kit like the lowering levels is for when her when she's used like a boss unit, because my initial plan is to make her a boss unit

The Fourteenth Movement of the Cosmos The Vicissitude of Fortune Copy trigger:
Reminds me of Trigger Untitled Copy Copy Copy Copy Copy ;)
My bad habit :pcry: especially when testing triggers, I set aside the original and fiddle with the copy and if the copy got a better result I just used that in and forgot to rename it

The Thirteenth Movement of the Cosmos Outline Origin:
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Set VariableSet TempItemType = Tome of Retraining
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (TempTarget is A Hero) Equal to True
        • Then - Actions
          • Hero - Create TempItemType and give it to TempTarget
          • Hero - Order TempTarget to use (Last created item)
          • Item - Remove (Last created item)
        • Else - Actions
Why is this happening 4 times? Even if you do it once, it won't work if the hero has inventory full of items.
I just added that in for extra effect when the hero's level is lowered which I'll probably just remove it as well, I ran out of ideas for what the effect should be for the thorns, but I'll probably just remove and replace it If I got a better effect for it
 
Last edited:
Needs the "Contains External Material" tag since you're using.
All all need a configuration trigger with the event "map initialization", the user shouldn't be bothered to be looking elsewhere in your code. Configuration contains things like AOE range, damage, duration, special effect model, to name a few.
Follow GPAG for better variable naming, TempPoint and TempTarget are very common names and may clash with the users' maps. Use the spell prefix like TMC_TempTarget (The Twentieth Movement of the Cosmos Factor Mimic) for that spell

Representation Exposition folder:
Dummy Copy trigger looks useless, delete it please.
Representation Exposition Copy trigger, remove " Copy", it's just weird.
Replacing unit with a new unit type and then "expire" after a while doesn't give bounty nor experience.
You'll need to make a dummy unit (no model, no movement speed, have locust ability, 0 food, no "worker" classification, cast backswing 0, cast point 0, no attacks enabled) and then you're able to cast "hex" which is basically what you're doing. All of this with just 1 dummy unit. The dummy unit is created at map initialization for each of your spells. The dummy abilities the dummy cast must have infinite range, no requirements, 0 mana, 0 cooldown, and the appropriate targets allowed.

The Twentieth Movement of the Cosmos - Factor Mimic Folder:
First trigger:
  • -------- This is the only configurable in this trigger, which calculates how many clones the skill will make --------
  • Unit - Create 1 (Unit-type of TempTarget) for (Owner of TempCaster) at TempPoint facing Default building facing degrees
Make a loop and use a variable to control the amount in itself, use your own integer loop variables instead of Integer A and B (in this trigger you only need one).
A reminder of the configurables here, like the special effect model.
  • why only heroes get added to the CloneGroup variable?
  • Hero
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in CloneHeroesGroup.) Equal to True
    • Actions
      • Unit Group - Remove (Triggering unit) from CloneHeroesGroup.
      • Unit - Remove (Triggering unit) from the game
How about an effect when it disappears?

The Fourteenth Movement of the Cosmos The Vicissitude of Fortune Copy trigger:
Reminds me of Trigger Untitled Copy Copy Copy Copy Copy ;)
Never use
  • Unit - A unit Is attacked event
use
  • Unit - A unit Takes damage
Instead, it's somewhat recently since 1.30+ patch or something. "A unit is attacked event" happens before the unit actually deals damage to the other one.
Also isn't this spell is very similar to thorns aura, just more powerful.

The Ninth Movement of the Cosmos Fate Restoration Trigger:
This is quite simple. It will also need configuration, such as the mana scaling factor, and max item destroyed in a seperate trigger.

The Thirteenth Movement of the Cosmos Outline Origin:
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Set VariableSet TempItemType = Tome of Retraining
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (TempTarget is A Hero) Equal to True
        • Then - Actions
          • Hero - Create TempItemType and give it to TempTarget
          • Hero - Order TempTarget to use (Last created item)
          • Item - Remove (Last created item)
        • Else - Actions
Why is this happening 4 times? Even if you do it once, it won't work if the hero has inventory full of items.
  • (Real((Level of TempCaster))) Less than (Real((Level of TempTarget)))
You want integer comparison, it is pointless to do this conversion. And you're using Unit Level, not Hero Level, however, it's working in game as intended.

All in all, the spells are simple, some quite even overpowered, lowering levels and dispelling all buffs.
It needs fix.
Not bad at all for a first spell pack, keep practicing!
Done Updating, had some reworks here and there, fiddling with triggers and some trial and errors, sorry if it took some time, I only got to edit the map out on free times
 
Hello, you have location leaks on your TFV Start trigger. You might also consider storing level, player, and last created unit into variables
  • Special Effect - Create a special effect at (Position of TempUnit) using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
and
  • Unit - Create 1 . Dummy for (Owner of (Attacked unit)) at (Position of (Attacked unit)) facing Default building facing degrees
...And another one on CAEOffDmg
  • Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
 
Last edited:
Hello, you have location leaks on your TFV Start trigger. You might also consider storing level, player, and last created unit into variables
  • Special Effect - Create a special effect at (Position of TempUnit) using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
and
  • Unit - Create 1 . Dummy for (Owner of (Attacked unit)) at (Position of (Attacked unit)) facing Default building facing degrees
...And another one on CAEOffDmg
  • Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
Thanks for pointing it out, mustve missed that but i updated it and stored dummies and locations in variables, also took care of the leaks now:thumbs_up: :thumbs_up:
 

Wrda

Spell Reviewer
Level 28
Joined
Nov 18, 2012
Messages
2,010
Factor Mimic folder:
The Twentieth Movement of the Cosmos Factor Mimic trigger:
The condition "Target unit is alive" is useless, you can't cast this ability on dead units ;)
Special Effect - Create a special effect attached to the origin of TempClone using Heaven's Gate Channel.mdx
This is another opportunity to make the special effect model configurable, so add a variable and set it on your Init trigger (you already know this, but just me reiterating).

The Vicissitude of Fortune folder:
TVF Ini trigger:
This is where you should create the dummy unit instead on the cast trigger, so you use 1 dummy for the whole spell.
I checked your dummy and it needs 0 movement speed; art - animation - backswing = 0; art - animation - cast point = 0. Then he can cast immediately.
Dummy abilities should also be configurable so the user doesn't have to go to the non-configuration triggers to look for the places to change the ability.
TVFStart trigger:
Before ordering the dummy unit to cast the spells, set its position to the attacked unit, it guarantees the missiles like firebolt to be "instant".
Special effect model should be configurable too.

Outline Origin folder:
OOStart & OOStuff trigger:
This spell isn't MUI, as in, able to be cast by multiple units. The wait there isn't good for this case, and you have a potential leak on the first trigger, and more leaks on the second one (Position of Picked unit).
https://www.hiveworkshop.com/threads/visualize-dynamic-indexing.241896/
This tutorial should help you understand how you have to rework this spell.

Military Uniform Princess folder:
MUPLearn & MUISaberGain trigger:
This isn't MUI. Create a unit group variable on your configuration trigger and on the Learn trigger add the unit who learned the skill to it, then on the SaberGain trigger you just need to use "pick every unit" action, use the group variable, and do the rest.
Needs to be updated on hero death of course, by checking if the hero is in the unit group. Don't forget updating on revive too.
I assume you'll remove that left over "display text message", such things are most likely unwanted by the user.

Cause And Effect folder:
CAEStances & CAEOffDmg triggers:
This isn't MUI either, if another hero casts the same spell, it will overwrite the unit variable and create unintentional behavior. The second trigger has quite a few leaks, the unit groups don't get destroyed and "Position of Unit" leaking. setting a custom script "bj_wantDestroyGroup = true" before "pick every unit" in the 2nd trigger solves it.
The best solution to deal with this stack idea is to use a Unit Indexer system, I recommend Bribe's, it's super easy to implement. Then you can use unit custom value in variable arrays to access the unit's unique "id". Combined with adding the caster to a group and periodically picking them all in the second trigger is the most efficient way. Your periodic timer has a 0~1.99s margin of error, better use 0.03s and create artificial wait. Artificial Waits

If you can grasp the key concepts of dynamic indexing, unit indexer (when necessary), artificial waits, your spells will instantly become more valuable! :)
 
Top