| 01-18-2007, 04:54 AM | #1 |
Is there any way to make a skill that is basically Divine Shield, except you can cast it on other targets? The problem is having the trigger check up on the spell later to see when it should wear off, but the only way I can think of having it do that is using the "wait" command. But that's not a good way of doing it. |
| 01-18-2007, 04:57 AM | #2 |
can you explain what you have so far so that people can tell you what to change? ![]() |
| 01-18-2007, 05:13 AM | #3 |
Well, I have some trigger GUI work, but the problem isn't that it doesn't work, I just don't know how I would do it. If you guys have any ideas how to approach it I could. Is there any way to get triggers to check up on the duration of an ability or spell formed by a previous trigger? My only option right now, as I said, is to simply have the same trigger that activates the "ability" wait for 30 seconds or however long the duration of the spell is and then disable it. |
| 01-18-2007, 05:14 AM | #4 |
can't you just use some buff like Anti-magic Shell, set duration to 0.00 and make trigger: Code:
events unit starts effect of ability conditions ability being cast equal to Divine Protection (based off anti-magic) actions Unit - Make Target of ability being cast Invulnerable Polled wait - wait 30 seconds Unit - Make Target of ability being cast Vulnerable |
| 01-18-2007, 05:29 AM | #5 |
or... make a caster variable and a target variable.. then.. Trigger: ![]() divine protection
This worked for me. |
| 01-18-2007, 05:39 AM | #6 |
Jacek, the line Trigger: Unit - Make Target of ability being cast VulnerableFor this, locals are needed if you want to make it MUI. |
| 01-18-2007, 06:36 AM | #7 |
Doesn't using the "wait" command stall all other trigger actions, though? Or is that only for Starcraft? |
| 01-18-2007, 07:21 AM | #8 |
That's only for starcraft, wait in WCIII waits only that trigger. |
| 01-18-2007, 02:16 PM | #9 | |
Quote:
convert it to jass and store caster in local variable kk? |
| 01-18-2007, 02:26 PM | #10 |
lol you dont need jass to set variables ![]() |
| 01-18-2007, 02:29 PM | #11 |
Give target unit the item divine shield ability, order it to cast it. |
| 01-18-2007, 04:54 PM | #12 |
@Jacek: Your method is not MUI Vexorians method is shurely the best, as , as we know that devine shield does not interrupt channling spells, it is very simple. |
| 01-18-2007, 08:28 PM | #13 | |
Quote:
You don't, but you need it to be MUI as they said (which means able to be cast by alot of units at once, or close to at once, and still work properly). |
| 01-18-2007, 09:11 PM | #14 |
I think these recommendations will do the trick. I'll try them out and see. Thanks. |
| 01-19-2007, 09:39 PM | #15 |
If they didn't work, check out my ability syntax command. This is a good example of something that could be done in seconds with it! Just get Ability Syntax Command's Header JASS and copy it into your map's header, then copy and paste the 'Start Effect' trigger into your map and add the condition that if the ability is your ability then do the trigger. using the ability you have created add into one of the art - effect boxes the following code invul`true`'target',wait`replacewithinteger`,invul`false`'target' the code call enfc_StartEffect(GetSpellAbilityId(), 1, GetSpellAbilityUnit(), GetSpellTargetUnit()) is the code that causes the abilities effect to occur, change the integer (in red) call enfc_StartEffect(GetSpellAbilityId(), 1, GetSpellAbilityUnit(), GetSpellTargetUnit()) to the integer that corresponds to your unused art field Art - EFFECT = 0 Art - TARGET = 1 Art - CASTER = 2 Art - SPECIAL = 3 Art - AREA EFFECT = 4 Art - MISSILE = 5 If you tell me what base spell you are using i will go ahead and upload a demo of that spell easily. |
