path_corner
entity is used to compose a path. In its simplest form, a path_corner
has a name and a Next stop target value that points to the next path_corner
in the path. The path may either be open (with a start and an end) or looped (last entity points back to the first).path_corner
s.path_corner
has barely any logic. Instead, all the logic of following the path, waiting, firing the targets, etc., are handled by entities making use of path_corner
s. These are:
monster_apache
) use it as its flight path. The angles
are used to aim the craft in flight.monster_osprey
) also use it as its flight path. The angles
are used to aim the craft in flight, and speed
keyvalue dictates which path is for flying by and which is for dropping grunts.trigger_camera
) can use Fire on Pass, Wait, and New train speed.func_guntarget
) can use Fire on Pass and Wait.func_train
) can use Fire on Pass, Wait, and New train speed, as well as all the flags.func_tracktrain
is not on the list for it uses the path_track
instead.
Name | Keyvalue name | Description | Ap | Os | Mo | Ca | GT | Tr |
---|---|---|---|---|---|---|---|---|
Name | targetname |
Property used to identify entities. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pitch Yaw Roll | angles |
Sets angles. The compass in Hammer/J.A.C.K. corresponds to Yaw. Used to aim Apaches/Ospreys in flight. | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Next stop target | target |
Name of the next path_corner in the path. |
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Fire On Pass | message |
Trigger this event when this path_corner is passed by an entity using the path. |
❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
Wait here | wait |
Makes the entity wait for this number of seconds before moving to next path_corner . |
❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
New train speed | speed |
Set new speed for the entity once it passes this path_corner . |
❌ | ✔️ | ❌ | ✔️ | ❌ | ✔️ |
Name | Value | Description | Ap | Os | Mo | Ca | GT | Tr |
---|---|---|---|---|---|---|---|---|
Wait for retrigger | 1 | Entity will wait and will only continue when triggered. | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ |
Teleport | 2 | Makes entity teleport to this path_corner . |
❌ | ❌ | ❌ | ❌ | ❌ | ✔️ |
Fire once | 4 | The entity will only fire the path's "Fire On Pass" target once. | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
path_corner
naming convention. E.g. mypath1_1
, mypath1_2
, mypath1_3
...path_corner
s, and once they are interrupted, they would not proceed to the next path_corner
anymore. It makes sense to think of path_corner
s as "patrol paths" for monsters, where anything that raises alert makes them stop their rounds. scripted_sequence
offer more control and are more reliable.trigger_changetarget
can be used to make an entity move to a specific path_corner
, regardless of which path_corner
they're currently heading towards. [Ca/GT/Tr]trigger_changetarget
a path_corner
directly to change that path's target. If there's an entity (monster, train, etc.) that had just passed the path_corner
in question and was heading to the old target when the target change takes place, they would just continue on that old path. Only later entities that passed the path_corner
in question would go to the new target.path_corner
and the func_train
's targets.)You must log in to post a comment. You can login or register a new account.
afaik, it's only happened once, but something to keep in mind if you're having trouble with path corners.
func_train
is entirely withinfunc_train
itself. It is therefore possible to make a valid path with other entities mixed in. I've successfully mixedpath_corner
's withmomentary_doors
like this:target
=m1
wait
=0
spawnflags
= Teleport (2)target
=p2
wait
=0
target
=m2
wait
=0
spawnflags
= Teleport (2)target
=p1
wait
=0
momentary_door
's around and vary the distance thefunc_train
has to travel.It is a setup for an experiment where I can vary the time a
func_train
spends on one part of the map vs the other because it's being used to occlude LOS between me and a monster to test its AI schedule but that's off topic.But you can likewise use it to have dynamically timed sequence with the mom_doors and
func_train
's off the playable areas.My theory is that
func_train
's check the keyvalues of the entities it uses as paths (usuallypath_corner
's) without checking that their classname is actuallypath_corner
. You can therefore use any entity as long as it has keyvalues that concur with that ofpath_corner
's: atarget
, optionally await
,message
(fire on pass) orspeed
, andspawnflags
that don't conflict with that of apath_corner
(therefore flag 1 will stop thefunc_train
, flag 2 will teleport, etc.)[2024-09-22] Most monsters use "target" to patrol `path_corner`s. Should denote all attributes on whether they apply to [Apaches/Ospreys/Monsters/Trains].
[2024-09-23]
List of monsters that patrols path_corners in their target kvs:
target
attribute in their pages. For all others, also need to update thattarget
does nothing.[2024-10-07]