• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Near sight

Status
Not open for further replies.
Level 3
Joined
Mar 31, 2015
Messages
28
What I want: A reveal spell like Far Sight, but that can only be cast on part of the map which is already explored.

What use is that spell: It reveals invisible units.

Why Far Sight doesn't work: I'm making dungeon-crawler sort of map. And I want players to use Far-Sight-like ability to scout for hidden enemies and traps, but not hidden rooms and passages.

In other words: I want an AoE spell which reveals hidden units, but that can not be used to reveal black mask.

What I tried: Playing with Far Sight (AOfs), Item Area Detection (Alta), and of course the old, tried-and-tested method of Channel + Triggers. The problem is, all of these can be cast on Black Mask.
 
Level 15
Joined
Sep 6, 2015
Messages
576
You would have to create a custom Blink ability that does nothing, except that it summons a Sentry Ward at the target location, since Blink is one of the spells I can think of which can be cast only on explored areas, and Sentry Ward won't show units behind walls or obstacles.

This is how it's done:

1. Alter the Blink ability and the Sentry Ward unit and its spells to your liking, how you want them to perform.

2. You'll need a trigger like this to create a Sentry Ward where Blink is cast, to stop Blink from teleporting the unit that casts it, and to make Sentry Ward expire after some time:

  • Untitled Trigger 001
    • Events
    • Unit - A unit Starts the effect of an ability
    • Conditions
    • (Ability being cast) Equal to Blink
    • Actions
    • Set point = (Target point of ability being cast)
    • Unit - Create 1 Sentry Ward for (Owner of (Triggering unit)) at (Target point of ability being cast) facing Default building facing degrees
    • Custom script: call RemoveLocation(udg_point)
    • Unit - Order (Triggering unit) to Stop
    • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
Here's the test map in the attachment for you to see, test and copy all of this:
 

Attachments

  • NearSight.w3x
    18.6 KB · Views: 29
Last edited:
Level 6
Joined
May 20, 2014
Messages
228
Why not use a generic unit expiration instead of wait, or you could get a dummy to cast a sentry ward that would have an expiration timer built in it.

Nice creativity with blink though. Although if he tries to blink on unexplored terrain or something alike he would get a warning exclusively telling him he can't blink there. Might want to change that in game interface as well.
 
Level 14
Joined
Jul 1, 2008
Messages
1,314
Why go through the effort when people can just iseedeadpeople or look at the terrain to see the hidden rooms and then use that knowledge in multiplayer? Or are the hidden rooms randomly generated?

doesnt it make sense to provide a method independently of cheating? :p

@ Thread:

maybe you could use channel and then check the target location. Then use
  • ((Target Point)) is masked for Player 1 (Red)) Equal to (==) false
to see, whether the area was already explored?

If this is not working, you can still try Aloks method and add Alrights modification to any unit rather than using waits :)
 
Level 15
Joined
Sep 6, 2015
Messages
576
I updated the trigger in my post and test map with a unit expiration timer, and it works fine now.
It looks I'm still missing some important trigger actions/events/conditions in my knowledge of the World Editor.
Although if he tries to blink on unexplored terrain or something alike he would get a warning exclusively telling him he can't blink there. Might want to change that in game interface as well.
The message is, as far as I could see, "Must explore there first.", so there is no problem with that.
 
Level 3
Joined
Mar 31, 2015
Messages
28
You would have to create a custom Blink ability that does nothing, except that it summons a Sentry Ward at the target location, since Blink is one of the spells I can think of which can be cast only on explored areas, and Sentry Ward won't show units behind walls or obstacles.

This is how it's done:

1. Alter the Blink ability and the Sentry Ward unit and its spells to your liking, how you want them to perform.

2. You'll need a trigger like this to create a Sentry Ward where Blink is cast, to stop Blink from teleporting the unit that casts it, and to make Sentry Ward expire after some time:

Here's the test map in the attachment for you to see, test and copy all of this:

Wow, you didn't really have to make a test map since you explained in enough detail, but you did, so have some reputation. Thanks for the suggestion, it works (obviously), only trouble being that since I force-stop Blink cooldown doesn't go off. But there are ways of dealing with that...

Why go through the effort when people can just iseedeadpeople or look at the terrain to see the hidden rooms and then use that knowledge in multiplayer? Or are the hidden rooms randomly generated?
They can cheat... or they can ask a friend who already played... or they can replay map and use that knowledge... or they can increase gamma... or some other "clever" way to spoil the game for themselves. It's not really my problem, is it?

Exploration is major part of in dungeon crawlers (along with killing creeps and looting), and the purpose of exploration is to deliberately not know.


maybe you could use channel and then check the target location. Then use
  • ((Target Point)) is masked for Player 1 (Red)) Equal to (==) false
to see, whether the area was already explored?

Tried that, but it doesn't work for edges (black areas along the edge of hidden part of the map, which should be masked, act as they are visible).
 
Level 15
Joined
Sep 6, 2015
Messages
576
Wow, you didn't really have to make a test map since you explained in enough detail, but you did, so have some reputation.
No problem. I had to test it before posting and make the trigger for copying here. It is fast to make and also saves some extra time needed for additional explanations in these kinds of threads and helps the people who need a solution. Thanks for the reputation.
 
Status
Not open for further replies.
Top