Spy and Radar

Dest

New Member
Reaction score
26
I created two upgrades. Spy is to enable the invisible units and radar is to reveal them.

Let's say that "Red" has 20 spy tech researched. "Blue" has 30 Radar. If Radar beats spy, radar reveals the invisible units. If spy beats radar, radar will not reveal them. How do I do this?
 

Ayanami

칼리
Reaction score
288
You could try this.

Trigger:
  • Radar and Spy
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Current research level of Spy for Player 1 (Red)) Greater than (Current research level of Radar for Player 2 (Blue))
        • Then - Actions
        • Else - Actions


If you need help with triggering, just tell me.
 

Dest

New Member
Reaction score
26
You could try this.

Trigger:
  • Radar and Spy
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Current research level of Spy for Player 1 (Red)) Greater than (Current research level of Radar for Player 2 (Blue))
        • Then - Actions
        • Else - Actions


If you need help with triggering, just tell me.

*bolds the true sentence in the quote form*

Well I knew that, but what actions? o.o

EDIT: Where you find the condition?
 

Ayanami

칼리
Reaction score
288
It's integer comparison under players. Well, for the action, maybe you could simply play around with the truesight spell? Like create a dummy unit or remove according to research level. Or else, order a unit to cast "Dust of Appearance". If spy is higher than radar, remove "Dust of Appearance" buff from all units in the map.
 

Dest

New Member
Reaction score
26
It's an Integer Comparison -> Player - Current Research Level :D

+Rep for that

----------------

I think I got an idea. How about I set variable for all spy units to be in a unit group. If the condition is true, I hide the units from the player who has low radar than the player 1? But...I dunno that. :banghead:

EDIT:
It's integer comparison under players. Well, for the action, maybe you could simply play around with the truesight spell? Like create a dummy unit or remove according to research level. Or else, order a unit to cast "Dust of Appearance". If spy is higher than radar, remove "Dust of Appearance" buff from all units in the map.

That's brilliant! I'll just do it to towers. :p
 

Dest

New Member
Reaction score
26
Wait, one problem. If I do what you suggest, then it'll just reveal other people even if my radar is low than their spy tech.
 

Dest

New Member
Reaction score
26
Oh, so it's not like a 2 sides thing like DoTA huh?

I never played DoTA o_O

Thinking up some solutions... I heard that there was a thread saying that you can hide units from other players but it uses JASS and I don't know it so that's the problem...
 

Ayanami

칼리
Reaction score
288
Wait, doesn't truesight reveal the enemy only for you and your teammates? o.o

Off Topic: So, did you complete your knock back trigger of yours?
 

Dest

New Member
Reaction score
26
Wait, doesn't truesight reveal the enemy only for you and your teammates? o.o

Off Topic: So, did you complete your knock back trigger of yours?

Uhm, there won't be any alliances in the game. As for the off topic question, I'm simply busy on the map I've been working on.
 

HydraRancher

Truth begins in lies
Reaction score
197
I'm wondering if theres a way to use "Get Local Player" in hide a unit, you could try find a WE trigger editor GUI mod and see if its got that.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
pick all units spawn a dummy unit with faerie fire and use it on them.
faerie fire reduces armor (optional) and makes the invisible units visible to the caster. to make it invisible again just remove the buff faerie fire.

trigger should look something similar to this: (sorry no World Edit on this PC so the actions might be called different)
Code:
Event:
 time - every 0.05 seconds of game time
condition:
 ...
Action:
 set TmpGrp = units in playable map area matching level of "invisible (skill)" for matching unit greater then 0 and matching unit is alive equal true
 unitgroup - pick all units in TmpGrp and do actions
     loop
        for each integer A from 1 - 12 (i guess its 12 players, if not change it)
            if current research level for Radar for player(integerA) greater then current research level of Spy for owner of picked unit
            then
                set TmpPnt = position of picked unit
                create Dummy(FaerieFire) at TmpPnt for player(integerA) facing....
                issue last created unit to use Druid of Talon Faerie Fire on picked unit
                call RemoveLocation (udg_TmpPnt)
            else
                remove buff FaerieFire (custom) from picked unit 
 call DestroyGroup (udg_TmpGrp)
and to clean the dummy unit give it 10 hitpoints and a hitpoint regeneration of -1.00

TmpPnt = point variable to remove leaks
TmpGrp = unitgroup variable to remove leaks

this trigger is MUI MPI and Leakless.
accname.
 

Ayanami

칼리
Reaction score
288
However, Faerie Fire can be removed by Purge. If there isn't any in your map, then it's fine.
 

HydraRancher

Truth begins in lies
Reaction score
197
Note: make faerie fire duration 0

AND make sure that you can actually SEE the invisible unit by giving the dummy true sight first :thup:

EDIT: here:

Trigger:
  • Trigger
    • Events
      • Every 0.03 seconds of game time
    • Conditions
    • Actions
      • set temp_group = units in (Playable Map Area) matching (Unit type of (Matching Unit)) is Equal to Radar
      • Unit Group - Pick every unit in temp_group and do (Actions)
        • Loop - (Actions)
          • set temp_point = (Position of (Picked Unit))
          • set Unit = (Picked Unit)
          • set temp_group2 = units in (3000 range of temp_point)
          • Unit Group - Pick every unit in temp_group2 and do (Actions)
            • Loop - (Actions)
              • If all (Conditions) are true then do (Actions) else do (Actions)
                • If - Conditions
                  • Level of Radar for (Owner of (Unit)) is less than level of Spy for (Owner of (Picked Unit))
                • Then - Actions
                  • Unit - create 1 Dummy at temp_point for (Owner of (Unit))
                  • Unit - add True sight to (Last Created Unit)
                  • Unit - add Faerie Fire to (Last Created Unit)
                  • Unit - Order (Last Created Unit) to Druid of the talon - (Picked Unit)
                  • Unit - add a 1 second generic expiration timer to (Last Created Unit)
                • Else - Actions
                  • Unit - Remove Faerie Fire buff from (Picked Unit)
          • Custom Script : call DestroyGroup (udg_temp_group2)
          • Custom Script : call RemoveLocation (udg_temp_point)
      • Custom Script : call DestroyGroup (udg_temp_group)
 

Lightstalker

New Member
Reaction score
55
Use the event "A unit finishes research" with the COnditions "Or = to Spy OR Detect"

Much better than having a trigger run evey 0.05 seconds,.

EDIT: I don't know if you can remove & re-add abilities to units, but if you can, add True Sight to all picked unit (disable true sight at INIT) if research greater. Else remove it.
 

roXplosive

New Member
Reaction score
15
I think it might be stupid but can you make a unit only ability hide that has a number of ranks . For each player make a global aura Detect . Use a trigger to check for a player if units are visible if Aura lvl > Hide lvl for units not in the fog of war and then summon a dummy nearby it with true sight and low vision range I don't know how low the range should be so you don't get vision of units uou shouldn't .

I also think about the bloodseeker's thirst that forces an enemy to share vision with you but you won't see invisible units in reality ; only on the minimap . As we know they can be attacked via autoattack command .
 

Dest

New Member
Reaction score
26
Note: make faerie fire duration 0

AND make sure that you can actually SEE the invisible unit by giving the dummy true sight first :thup:

EDIT: here:

Trigger:
  • Trigger
    • Events
      • Every 0.03 seconds of game time
    • Conditions
    • Actions
      • set temp_group = units in (Playable Map Area) matching (Unit type of (Matching Unit)) is Equal to Radar
      • Unit Group - Pick every unit in temp_group and do (Actions)
        • Loop - (Actions)
          • set temp_point = (Position of (Picked Unit))
          • set Unit = (Picked Unit)
          • set temp_group2 = units in (3000 range of temp_point)
          • Unit Group - Pick every unit in temp_group2 and do (Actions)
            • Loop - (Actions)
              • If all (Conditions) are true then do (Actions) else do (Actions)
                • If - Conditions
                  • Level of Radar for (Owner of (Unit)) is less than level of Spy for (Owner of (Picked Unit))
                • Then - Actions
                  • Unit - create 1 Dummy at temp_point for (Owner of (Unit))
                  • Unit - add True sight to (Last Created Unit)
                  • Unit - add Faerie Fire to (Last Created Unit)
                  • Unit - Order (Last Created Unit) to Druid of the talon - (Picked Unit)
                  • Unit - add a 1 second generic expiration timer to (Last Created Unit)
                • Else - Actions
                  • Unit - Remove Faerie Fire buff from (Picked Unit)
          • Custom Script : call DestroyGroup (udg_temp_group2)
          • Custom Script : call RemoveLocation (udg_temp_point)
      • Custom Script : call DestroyGroup (udg_temp_group)

Is that only one trigger requirement or is there several more?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top