• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

invisibility ability and invisibility level

Status
Not open for further replies.
Hello
I need an invisibility ability that work without choosing a target. when you click on the ability, the unit become invisible. When the unit is invisible, it consume 1 mana per second. When the unit is invisible and attack an ennemy, it will not be revealed until it has 0 mana. So the ability i need is similar with the cloak spell in starcraft and starcraft II (ghost)

For the invisibility level
In my map i need invisibility level and detector level. a detector can only see unit with invisibility level lower than or equal to the level of the detector.
Sorry but im not sure you will understand so ill give you an example:
Unit a = invisibility level-1
Unit b = invisibility level-2
Unit c = invisibility level-3
Unit d = invisibility level-4
Tower e = detector level 1
Tower f = detector level 2
Tower g = detector level 3
Tower h = detector level 4
tower e can see a but not b c d
Tower f can see a b but not c d
tower g can see a b c but not d
tower h can see a b c d
plz tell me how to do that^^
 
Level 11
Joined
Sep 30, 2009
Messages
697
Well the wc3 invisibilty detection is not like that what you want :(

For the spell itself: Make a spell based on Immolation and check if the unit is ordered to turn it on/off when its turned on add a dummy ability based on Permanent Invisibility to your unit. When turned off remove it.
The dummy ability should have fade time 0 i think
 
Level 9
Joined
Aug 21, 2008
Messages
533
use a dummy with feary fire without armor reduction and a short duration(about 0.05)

create the lvl of invisbly and detection as you said

Make a trigger which fires every 0.04 seconds.
Pick all units with detection.
Pick all units in range with a invisble lvl of less then the detection
Create a dummy and order it to cast feary fire on the invisble unit

dont forget to clear leaks and stuff, cause this would create much =)
 
can you both make me a trigger image plz?
imeant, like in wc3 trigger editor
plz that will help me to understand because my first language isnt english so it's hard for me to understand^^

{EDIT}
Hello
I need an invisibility ability that work without choosing a target. when you click on the ability, the unit become invisible. When the unit is invisible, it consume 1 mana per second. When the unit is invisible and attack an ennemy, it will not be revealed until it has 0 mana. So the ability i need is similar with the cloak spell in starcraft and starcraft II (ghost)

For the invisibility level
In my map i need invisibility level and detector level. a detector can only see unit with invisibility level lower than or equal to the level of the detector.
Sorry but im not sure you will understand so ill give you an example:
Unit a = invisibility level-1
Unit b = invisibility level-2
Unit c = invisibility level-3
Unit d = invisibility level-4
Tower e = detector level 1
Tower f = detector level 2
Tower g = detector level 3
Tower h = detector level 4
tower e can see a but not b c d
Tower f can see a b but not c d
tower g can see a b c but not d
tower h can see a b c d
plz tell me how to do that^^
 
Last edited by a moderator:
Level 18
Joined
Jan 21, 2006
Messages
2,552
operation3000 said:
a detector can only see unit with invisibility level lower than or equal to the level of the detector.

You can't do that in WarCraft III.

operation3000 said:
plz tell me how to do that^^

Use the Galaxy Editor, which I doubt this is even possible in.

Though, it is possible to have a unit that is not revealed even while attacking (like in StarCraft II) and you could use a script to constantly deduct mana from the unit's mana pool. Though, this would only accomplish one level of the idea you're describing.
 
but there is probably a way to do that?
maybe you dont know how
but maybe other people know^^

If youve played to space command,you will probably know that it's possible^^

{EDIT}
Is it possible to make it with unit comparaison instead of ability comparaison?
I meant that spy-lvl-1 can be detected by tower-lvl-1, tower-lvl-2, ...
Spy-lvl-2 can be detected by tower-lvl-2, tower-lvl-3, ...
etc...
please tell me if its possible and please, tell me how ;)
 
Last edited by a moderator:
Level 19
Joined
Feb 4, 2009
Messages
1,313
make all units invisible and cast some kind of truesight (faery fire maybe) on them if there is a unit within range which would be able to see it depending on the level of some dummy ability
remove it if the units become out of range of cause
maybe it does not work to cast stuff on invisible units
in this case you will have to find a workaround for this but I'm pretty sure it can be done somehow
edit: seems like you can grant shared vision per trigger
edit2: ....which does not really grant shared vision -.- stupid blizzard
gonna find a new way
edit3:
you could cast invisibility on every new unit and remove the buff if a detector is within range but that would not be MUI since the unit would become visible for every player
if you cast faerie fire fast enough before you add the buff again it would work though
but there might be an easier way I didn't imagine yet
edit4: actually the easiest solution would be MUI and even MPI but not MultiTeamInstanceable xD

There is no way.
you should be careful with that sentence
if you are creative enough you can do pretty much everything ;)
but in regard to the fact who I am talking to I wonder why I had to wrote that o_O
 
Last edited:
Level 18
Joined
Jan 21, 2006
Messages
2,552
Well in terms of invisibility you're pretty limited. There is only one type of "true-sight", and only one type of "invisibility".

Let's say you have a unit with true-sight that is level 2. The unit's true-sight ability is only level 1, so he is only able to detect units that are level 1. This will work fine and dandy, but once a "level 3" invisibility unit comes into range the only way to keep the level 3 cloaked unit invisible is to remove the true-sight ability from the initial unit. This will force the other units to be unrevealed as well, however.

The more I think about it the more I believe there may be a way to do this, actually. It would probably involve Dust of Appearance.

What is your team situation? Are you planning on having many players on the same team? Dust of Appearance is not per-player, so when it is used on a unit by one player it will affect it's visibility by another, though if the players share their true-sight then it probably wouldn't be a problem.
 
But if you played to space command, you would be able to know what i need.
Look
There is 2 kind of spy technology : Spy technology and Radar technology
When you use the Scan ability on someone, you will be able to see its planet ONLY if the spy technology level is higher than radar technology.
If you dont understand, please post back^^
Oh and... i dont want a scan ability, i want a permanent invisibility that its level is increased by somes upgrade and the detector is upgradable too with somes other upgrade.
So it could be a variable...
one for the invisibility level,
and one for the detector level
and the detector ability isnt an ability like magic sentry but a triggered ability.
mmmh...
plz tell me if there is sense
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
operation3000 said:
But if you played to space command, you would be able to know what i need.

Well I don't.

operatioon3000 said:
If you dont understand, please post back^^

Well now you're talking about planets and crap which has no relation to WarCraft III at all so now I really have no idea what you're talking about.
 
well, i supose that the guy who made space command was using variable for these spell
So, is there a way to use variable for my problem? and if yes, tell me what will be trigger.
When i said variable, i meant this:
When the research : spy has been completed : +1 for variable : Spy
When the research : Scout has been completed : +1 for variable : Detector
When the research : Advanced Spying has been completed : +1 for variable :Spy
When the research : Dog mastery has been completed : +1 for variable Detector.
Etc
Etc
Etc
And then: when variable spy is higher than variable detector of ennemy, the spy will not be detected by tower.
But, if the variable spy is lower than or equal to detector variable, the spy will be detected by tower.

Something that could help:
All spy will have the same ability: spying.
All tower will have the same ability : Detector.
Spying ability will be relied to spy variable and detector ability will be relied to detector variable
tell me if it's ok.
IF it's ok, plz tell me how i can trigger these thing^^
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
Well you're right about your "variables" I guess, though you should really read some tutorials because it doesn't sound like you quite know what you're talking about. Anyways, though.

Anyways, what you're going to want to do is have a dummy unit with a modified version of the Dust of Appearance ability, which will allow units to be revealed even when they cannot be casted upon. You would be removing the buff from these units when they should no longer be considered visible. If you're using upgrades then you wouldn't even really need any variables because you could reference their levels of spy/hide upgrades simply by determining the level of their research upgrade.

Is the only ability that uses this system that Scan ability you were referring to earlier? I don't really know how your unit setup looks or what type of game that is at all so it's pretty hard to me to determine what the best way for you to do this would be.
 
First thing you must to know
Research arent in the same building
The level 1 is in building x and the level 2 is in building y
Thats why i need variables.
And the scan ability has no sens i dont know why i was talking about that xD
but i need a kind of ability, like the magic sentry ability for human tower
but it will work with trigger
it will be "upgraded" with the variable
The triggered ability will detect unit by using variable
spy level < detector level -> unit detected
spy level = detector level -> unit detected
spy level > detector level -> unit not detected
if you need other information
post again^^
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
operation3000 said:
First thing you must to know
Research arent in the same building
The level 1 is in building x and the level 2 is in building y
Thats why i need variables.

Well you would still be able to reference all individual researches and add their levels up which would yield the same result, but using a variable would be much more efficient.

operation3000 said:
And the scan ability has no sens i dont know why i was talking about that xD

Super.

operation3000 said:
spy level < detector level -> unit detected
spy level = detector level -> unit detected
spy level > detector level -> unit not detected

Yes, I get it.

operation3000 said:
but i need a kind of ability, like the magic sentry ability for human tower
but it will work with trigger
it will be "upgraded" with the variable
The triggered ability will detect unit by using variable

Okay this is where things get tricky. The ability isn't the problem, though there are two ways of going about this. You can either use the "Unit is in range" event (you can add units to it outside of the event declarations as you need) or you could have a periodic timer that checks all units with your magic sentry ability and evaluates whether nearby units should be revealed based on the "variables" that you have. If you use the event then you may still need a periodic timer to determine when the buff should be removed.

Another way would be to use a periodic timer and loop through all units that are capable of "cloaking". From here you would determine what sources of magic sentry are nearby and whether or not they are capable of detecting your unit. Since invisibility based on player visibility, revealing a cloaked unit with a dummy-unit owned by player 1 will only reveal said unit for player 1. If you have players with shared vision then as long as your tower can see a cloaked unit your team will also be able to see it, regardless of their upgrade level.

How many units are estimated to be used in your map?

I just realized there may be a few problems with this.
  • Buffs do not stack. Only one player will be able to see cloaked units at a time.
  • Dust of Appearance may make invisible units visible for everyone.

The last one may mean that if a unit that is cloaked is in range of towers owned by both player 1 and player 2, and only one of the players should be able to see the unit - they will both be able to see the unit.
 
Well, ill make an estimation:
Spy: spying level1
Super Spy : spying level-2
...
I dont have idea right now but there will have an unit with spying level-7
Ancient Tower : Detector level-1
Stone Tower : Detector level-2
Super Tower : Detector level-3
Cannon Tower : Detector level-4
Siege Tower : Detector level-4
Bunker : Detector level-5
Super Bunker : Detector level-6
Satelite : Detector level-7
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
Well the more units you have the more difficult it's going to be to retain performance with such a delicate system. This process will require a lot of frequent unit enumerations of masses of units. Perhaps the player-unit enumerations require less of the processor than in-range enumerations, we can only hope.

I was thinking maybe you could have a large assortment of auras (there would need to be a different ones for each force/team) that emit an aura based on the source-unit's level of true-sight. This would eliminate the need to enumerate nearby towers to determine what level of true-sight they have. The type of buff would be predetermined and allow you to instantly know whether or not you are in range of a tower as well as which player it is that can see you.
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
Well you're going to need to enumerate through every unit of every player, whether or not you actually be performing actions on some of them. This means that for every extra unit-enumeration you need, the amount of actions performed would be squared due to nested enumerations.

By using a large array of auras we can use those to determine whether or not a unit is in range of a nearby tower (if it has an aura), whether the aura is capable of seeing the specific unit, and which player the aura is being bestowed by. With this information we can determine whether or not the unit is revealed, and by whom it is revealed for.

Again, I don't even know how well Dust of Appearance would work it's entirely based on how your game is setup. The permanent invisibility wouldn't be very difficult, it's simply the Permanent Invisibility ability in addition to the Ghost (Invisible) ability.
 
Status
Not open for further replies.
Top