Exide
I am amazingly focused right now!
- Reaction score
- 448
Shadowmeld during day
- Pre-words.
- How to.
- Final words.
*Pre-words.
Welcome to my Shadowmeld System.
As the threadname says, this is a system on how to make shadowmeld work during day. I've noticed that a lot of people has been asking this question, but I never found a proper answer to it. The idea is pretty simple, and there isn't much to it, so this System will be a short one.
*How to.
First of all, the whole concept of making your shadowmeld work during day is to check if the unit has moved or not. If the unit didn't move, add permanent invisibility to the unit, else remove permanent invisibility from the unit.
What do we need for this?
Well, first of all the unit, obviously, then the custom spell (based on shadowmeld).
If you want to, you can also add a new ability, based on the permanent invisibility ability, for good measures.
This is the easy part, just create a new custom ability, base it on Shadowmeld and change the fields to suit the way you want it.
I suggest you set the 'Data - Fade Duration' field to 0.50 (a half second).
-This is nothing important, as it will only act during night time.
I also suggest that you make it so that your custom made Permanent Invisibility ability (if you choose to make one) doesn't show on your unit. (The standard Permanent Invisibility (Neutral Hostile) does not show.)
Once you've set your abilities correctly, you will need two triggers.
The first one will register if your unit learns your "shadowmeld" spell:
Code:
*Trigger1*
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to [B]*Your_Skill*[/B]
Actions
Set MeldUnit = (Triggering unit)
Trigger - Turn on *Trigger2* <gen>
Nothing special about this, except, the spell can't be MUI (It will only work on one unit per map and game).
MeldUnit is a Unit variable.
After that you will need the actual invisibility trigger:
Code:
Trigger2
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
Set TempPoint = (Position of MeldUnit)
Wait 0.50 seconds
Set [B]TempPoint2[/B] = (Position of MeldUnit)
If ((Distance between TempPoint and [B]TempPoint2[/B]) Greater than or equal to 1.00) then do (Unit - Remove Permanent Invisibility from MeldUnit) else do (Unit - Add Permanent Invisibility to MeldUnit)
Custom script: call RemoveLocation(udg_TempPoint)
Custom script: call RemoveLocation(udg_TempPoint2)
This is simple. The first trigger turns on the second, which checks, every 0.50 (half second) where your unit with your ability is. If the unit has moved since the last check, the trigger will remove Permanent Invisibility from the unit, if not the trigger will add Permanent Invisibility to your unit.
Also, Permanent Invisibility will break if your unit is attacking another, so technically your unit should be invisible whenever it's not moving, at both day and night, except during combat.
The event and the wait function sets your fade duration time. (If you have the same event with every 0.8 second instead, and put a 0.4 second wait, the fade time SHOULD be 0.4 seconds. -Notice how I suggested that you should set a 0.50 Fade Duration on your shadowmeld ability, earlier.)
TempPoint, and TempPoint2 are point variables.
Distance between ... is a real comparison. 'Real Comparison -> Math - Distance between Points'.
*Final words.
I realize this isn't much of a System, but I hope it can help someone with their ability in the future.
Also, I couldn't find a way of making this ability MUI. If anyone else knows a way, please share.
Thank you for reading this, I hope it helps.
/Exide.