| 12-17-2004, 04:40 PM | #1 |
Guest | I'm quite new to the castersystem and have tried to do a Mass Invisibility spell based off Blinding Light. I used Dispel Magic as Triggerer, the normal Invisibility for the actual effect and made the trigger. Everything seems to be alright, except that the spell always targets the very center of my map, where is invisible caster is positioned. Plus it targets only a few units, seems to have a limit of about 5 (although sometimes I think more were affected). The problem is I can't find the reason it does not use the: Set PointVar = (Target point of ability being cast) in this: Custom script: call CasterCastAbilityLevelAOELoc( GetOwningPlayer(udg_UnitVar), 'A056', udg_IntegerVar,"invisibility", udg_PointVar, udg_RealVar, true, true) Any help would be appreciated, thanks in advance... ;) |
| 12-18-2004, 03:39 PM | #2 |
that's weird, are you setting PointVar to the target of the spell? |
| 12-19-2004, 07:17 AM | #3 |
Guest | Well, if the "Set PointVar = (Target point of ability being cast)" is not setting PointVar to the location I'm clicking when I target my modyfied "Dispel Magic", then I don't :\ Maybe I will try to look again at how exactly you set up Blinding Light, since my spell is almost a copy of it (except for allowed targets are friendlies and not hostiles). But I think the problem lies elsewhere, why should the abilities of my spell change the point of the target, since it's done by trigger? |
| 12-19-2004, 06:56 PM | #4 |
I think that if you post the trigger it would be of really help |
| 12-20-2004, 11:05 AM | #5 |
Guest | Ok, that might be a good idea, but I think the problem is not the trigger itself. Here it is: Mass Invisibility Events Unit - A unit Starts the effect of an ability Conditions (Ability being cast) Equal to Mass Invisibility Actions Wait 0.75 game-time seconds Set PointVar = (Target point of ability being cast) Set UnitVar = (Triggering unit) Set IntegerVar = (Level of (Ability being cast) for (Triggering unit)) Set RealVar = (100.00 + ((Real(IntegerVar)) x 50.00)) Custom script: call CasterCastAbilityLevelAOELoc( GetOwningPlayer(udg_UnitVar), 'A056', udg_IntegerVar,"invisibility", udg_PointVar, udg_RealVar, true, true) Custom script: call RemoveLocation(udg_PointVar) Nothing special so far. The ability 'A056' is a copy of the standard Invisibility, with changes to: 1) Levels: 5 since I wanted different durations, but I'm not sure it uses the different levels of this ability 2) Cast Range: set to 99999 so it should be enough 3) Duration: set to increasing values per level 4) Mana Cost: set to 0 5) Targets Allowed: Vulnerable, only allies should be affected due to the trigger The triggerer ability is a modified Dispel: 1) Levels: Also has 5 levels 2) Damage to Summoned Units: set to 0 3) Targets Allowed: set to None So as far as I understand the editor settings and triggers, they should not be causing the error. I made some tests with a group of footies and a hero who casts the spell. The spell works as desired in the center of the map, but only affects a few units, mostly 1-3 instead of all the units in the target circle. If I cast it somewhere else it still affects the center... Thanks for your patience :) |
| 12-20-2004, 08:53 PM | #6 |
Set your variables before the wait, i think there is a bug that resets target of ability being cast after a wait. |
| 12-20-2004, 10:19 PM | #7 |
Guest | I didn't expect such a simple solution :) That was it, I did what you said and now everything works perfectly fine. Thanks again, it's really a neat system you created there |
| 01-04-2005, 06:25 PM | #8 |
Guest | Very good tip. Vars sound like they can be set will during Map Intilization. Let me know if that works so I can get more work done on a map of mine. Map Details Coming Soon. |
