Difference between revisions of "Action specials"
From ECWolf Wiki
(→List of Action specials: New specials from 1.3) |
DavidAramant (talk | contribs) (Reformatted a bit and specified arguments in a more readable fashion.) |
||
Line 1: | Line 1: | ||
Action specials are function which are activated either by [[UWMF#Triggers]] or [[DECORATE]] actions. | Action specials are function which are activated either by [[UWMF#Triggers]] or [[DECORATE]] actions. | ||
+ | |||
+ | General notes: | ||
+ | * '''Tags''' are arbitrary numbers used to link a trigger to the tile that executes it. | ||
+ | * '''Speeds''' are represented in the number of pixels traveled per tic/16. ECWolf runs at 70 tics per second. | ||
+ | * '''Directions''' are relative to the triggering side or absolute if the 8 is added. '''Note that diagonal movement is not supported yet''' | ||
+ | ** 0 = right | ||
+ | ** 1 = back right | ||
+ | ** 2 = back | ||
+ | ** 3 = back left | ||
+ | ** 4 = left | ||
+ | ** 5 = towards left | ||
+ | ** 6 = towards | ||
+ | ** 7 = towards right | ||
+ | ** 8 = east | ||
+ | ** 9 = northeast | ||
+ | ** 10 = north | ||
+ | ** 11 = northwest | ||
+ | ** 12 = west | ||
+ | ** 13 = southwest | ||
+ | ** 14 = south | ||
+ | ** 15 = southwest | ||
== List of Action specials == | == List of Action specials == | ||
* 1:'''Door_Open'''(tag, speed, delay, lock, type) | * 1:'''Door_Open'''(tag, speed, delay, lock, type) | ||
− | :Activates | + | :Activates a map tile as a sliding door. |
+ | ::'''tag''' - The tag of the map tile which houses the door. | ||
+ | ::'''speed''' - Typical speed for a Wolf3D door is 16. | ||
+ | ::'''delay''' - Tics until the door closes. 300 is normal for a Wolf3D door. -1 means the door will stay open until manually closed. | ||
+ | ::'''lock''' - Lock specifies what keys are needed according to [[LOCKDEFS]]. 0 = None, 1 = Gold, 2 = Silver, 101 = Gold + Silver | ||
+ | ::'''type''' - Whether the door is facing east-west (0) or north-south (1). | ||
* 2:'''Pushwall_Move'''(tag, speed, direction, distance) | * 2:'''Pushwall_Move'''(tag, speed, direction, distance) | ||
− | :Moves the pushwall in the trigger's tile. | + | :Moves the pushwall in the trigger's tile. |
+ | ::'''tag''' - The tag of the map tile. | ||
+ | ::'''speed''' - Typical speed for a Wolf3D pushwall is 8. | ||
+ | ::'''direction''' - The direction to move. See the general notes about how directions are specified. | ||
+ | ::'''distance''' - The distance in tiles to move. A value of 0 means the map tile will move until it is blocked by something. | ||
* 3:'''Exit_Normal'''(pos) | * 3:'''Exit_Normal'''(pos) | ||
− | :Exits the level using the standard exit. | + | :Exits the level using the standard exit. |
+ | ::'''pos''' - reserved and should be 0. | ||
* 4:'''Exit_Secret'''(pos) | * 4:'''Exit_Secret'''(pos) | ||
− | :Exits the level using the secret exit. | + | :Exits the level using the secret exit. |
+ | ::'''pos''' - reserved and should be 0. | ||
* 5:'''Teleport_NewMap'''(map, pos, flags) | * 5:'''Teleport_NewMap'''(map, pos, flags) | ||
− | :Exits and travels to the specified map by levelnum. | + | :Exits and travels to the specified map by levelnum. |
+ | ::'''map''' - The levelnum to travel to. | ||
+ | ::'''pos''' - reserved and should be 0. | ||
+ | ::'''flags''' - 1 = Keep direction, 2 = Keep position | ||
* 6:'''Exit_VictorySpin'''() | * 6:'''Exit_VictorySpin'''() | ||
:Standard exit but does a BJ jump sequence. Normally activated by a pickup. This sequence is partially handled by the {{Class|BJRun}} actor which is spawned. | :Standard exit but does a BJ jump sequence. Normally activated by a pickup. This sequence is partially handled by the {{Class|BJRun}} actor which is spawned. | ||
* 7:'''Exit_Victory'''(pos) | * 7:'''Exit_Victory'''(pos) | ||
− | :Exits the level using the victory exit. | + | :Exits the level using the victory exit. |
+ | ::'''pos''' - reserved and should be 0. | ||
* 8:'''Trigger_Execute'''(x, y, z) | * 8:'''Trigger_Execute'''(x, y, z) | ||
:Executes all triggers on a given map spot. Useful for activating something on monster death or having multiple switches do the same thing. | :Executes all triggers on a given map spot. Useful for activating something on monster death or having multiple switches do the same thing. | ||
+ | ::'''x''' - The X coordinate of the tile. | ||
+ | ::'''y''' - The Y coordinate of the tile. | ||
+ | ::'''z''' - The Z coordinate of the tile. | ||
* 9:'''StartConversation'''(tid, facetalker) {{new}} | * 9:'''StartConversation'''(tid, facetalker) {{new}} | ||
:This is an experimental function for starting a [[USDF]] dialog. Not very useful with current implementation. Documented here for completeness. | :This is an experimental function for starting a [[USDF]] dialog. Not very useful with current implementation. Documented here for completeness. | ||
Line 24: | Line 63: | ||
* 11:'''Elevator_SwitchFloor'''(elevtag, doortag, callspeed, nexttag) {{new}} | * 11:'''Elevator_SwitchFloor'''(elevtag, doortag, callspeed, nexttag) {{new}} | ||
{{Note|Elevator support is somewhat experimental and may be missing a few features. Changes may occur in order to improve compatibility with Rise of the Triad.}} | {{Note|Elevator support is somewhat experimental and may be missing a few features. Changes may occur in order to improve compatibility with Rise of the Triad.}} | ||
− | :Triggers the elevator movement. | + | :Triggers the elevator movement. Things in the elevator are moved relative to the switch and the door. |
+ | ::'''elevtag''' - Should the tag of the first switch in the sequence. | ||
+ | ::'''doortag''' - The point to the door for this stop. | ||
+ | ::'''callspeed''' - The time is takes for the elevator to move to or from this floor. | ||
+ | ::'''nexttag''' - The point in the next switch in the sequence. |
Revision as of 02:49, 8 March 2016
Action specials are function which are activated either by UWMF#Triggers or DECORATE actions.
General notes:
- Tags are arbitrary numbers used to link a trigger to the tile that executes it.
- Speeds are represented in the number of pixels traveled per tic/16. ECWolf runs at 70 tics per second.
- Directions are relative to the triggering side or absolute if the 8 is added. Note that diagonal movement is not supported yet
- 0 = right
- 1 = back right
- 2 = back
- 3 = back left
- 4 = left
- 5 = towards left
- 6 = towards
- 7 = towards right
- 8 = east
- 9 = northeast
- 10 = north
- 11 = northwest
- 12 = west
- 13 = southwest
- 14 = south
- 15 = southwest
List of Action specials
- 1:Door_Open(tag, speed, delay, lock, type)
- Activates a map tile as a sliding door.
- tag - The tag of the map tile which houses the door.
- speed - Typical speed for a Wolf3D door is 16.
- delay - Tics until the door closes. 300 is normal for a Wolf3D door. -1 means the door will stay open until manually closed.
- lock - Lock specifies what keys are needed according to LOCKDEFS. 0 = None, 1 = Gold, 2 = Silver, 101 = Gold + Silver
- type - Whether the door is facing east-west (0) or north-south (1).
- 2:Pushwall_Move(tag, speed, direction, distance)
- Moves the pushwall in the trigger's tile.
- tag - The tag of the map tile.
- speed - Typical speed for a Wolf3D pushwall is 8.
- direction - The direction to move. See the general notes about how directions are specified.
- distance - The distance in tiles to move. A value of 0 means the map tile will move until it is blocked by something.
- 3:Exit_Normal(pos)
- Exits the level using the standard exit.
- pos - reserved and should be 0.
- 4:Exit_Secret(pos)
- Exits the level using the secret exit.
- pos - reserved and should be 0.
- 5:Teleport_NewMap(map, pos, flags)
- Exits and travels to the specified map by levelnum.
- map - The levelnum to travel to.
- pos - reserved and should be 0.
- flags - 1 = Keep direction, 2 = Keep position
- 6:Exit_VictorySpin()
- Standard exit but does a BJ jump sequence. Normally activated by a pickup. This sequence is partially handled by the BJRun actor which is spawned.
- 7:Exit_Victory(pos)
- Exits the level using the victory exit.
- pos - reserved and should be 0.
- 8:Trigger_Execute(x, y, z)
- Executes all triggers on a given map spot. Useful for activating something on monster death or having multiple switches do the same thing.
- x - The X coordinate of the tile.
- y - The Y coordinate of the tile.
- z - The Z coordinate of the tile.
- 9:StartConversation(tid, facetalker) (New from 1.4)
- This is an experimental function for starting a USDF dialog. Not very useful with current implementation. Documented here for completeness.
- 10:Door_Elevator(switchtag, speed, delay, lock, type) (New from 1.4)
- Similar to Door_Open in every manner except that the tag should point to the elevator switch.
- 11:Elevator_SwitchFloor(elevtag, doortag, callspeed, nexttag) (New from 1.4)
Note: Elevator support is somewhat experimental and may be missing a few features. Changes may occur in order to improve compatibility with Rise of the Triad. |
- Triggers the elevator movement. Things in the elevator are moved relative to the switch and the door.
- elevtag - Should the tag of the first switch in the sequence.
- doortag - The point to the door for this stop.
- callspeed - The time is takes for the elevator to move to or from this floor.
- nexttag - The point in the next switch in the sequence.