Action specials
From ECWolf Wiki
Revision as of 23:15, 23 August 2023 by Adambiser (talk | contribs) (→List of Action specials: Added double door type values (2,3) to Door_Open type parameter description.)
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 spot as a sliding door.
- tag - The tag of the map spot 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), north-south (1), east-west double door (2), or north-south double door (3).
- 2: Pushwall_Move( tag, speed, direction, distance )
- Moves the pushwall in the trigger's map spot.
- tag - The tag of the map spot.
- 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 )
- 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 )
- Similar to Door_Open in every manner except that the tag should point to the elevator switch.
- 11: Elevator_SwitchFloor( elevTag, doorTag, callSpeed, nextTag )
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.