Difference between revisions of "Action specials"
From ECWolf Wiki
DavidAramant (talk | contribs)  (Reformatted a bit and specified arguments in a more readable fashion.)  | 
				DavidAramant (talk | contribs)  m (Improving formatting)  | 
				||
| Line 23: | Line 23: | ||
== List of Action specials ==  | == List of Action specials ==  | ||
| − | * 1:  | + | * 1: <tt>Door_Open( tag, speed, delay, lock, type )</tt>  | 
:Activates a map tile as a sliding door.  | :Activates a map tile as a sliding door.  | ||
| − | ::  | + | ::<tt>tag</tt> - The tag of the map tile which houses the door.    | 
| − | ::  | + | ::<tt>speed</tt> - Typical speed for a Wolf3D door is 16.    | 
| − | ::  | + | ::<tt>delay</tt> - Tics until the door closes.  300 is normal for a Wolf3D door.  -1 means the door will stay open until manually closed.  | 
| − | ::  | + | ::<tt>lock</tt> - Lock specifies what keys are needed according to [[LOCKDEFS]].  0 = None, 1 = Gold, 2 = Silver, 101 = Gold + Silver  | 
| − | ::  | + | ::<tt>type</tt> - Whether the door is facing east-west (0) or north-south (1).  | 
| − | * 2:  | + | * 2: <tt>Pushwall_Move( tag, speed, direction, distance )</tt>  | 
:Moves the pushwall in the trigger's tile.    | :Moves the pushwall in the trigger's tile.    | ||
| − | ::  | + | ::<tt>tag</tt> - The tag of the map tile.  | 
| − | ::  | + | ::<tt>speed</tt> - Typical speed for a Wolf3D pushwall is 8.  | 
| − | ::  | + | ::<tt>direction</tt> - The direction to move.  See the general notes about how directions are specified.  | 
| − | ::  | + | ::<tt>distance</tt> - The distance in tiles to move.  A value of 0 means the map tile will move until it is blocked by something.  | 
| − | * 3:  | + | * 3: <tt>Exit_Normal( pos )</tt>  | 
:Exits the level using the standard exit.    | :Exits the level using the standard exit.    | ||
| − | ::  | + | ::<tt>pos</tt> - reserved and should be 0.  | 
| − | * 4:  | + | * 4: <tt>Exit_Secret( pos )</tt>  | 
:Exits the level using the secret exit.  | :Exits the level using the secret exit.  | ||
| − | ::  | + | ::<tt>pos</tt> - reserved and should be 0.  | 
| − | * 5:  | + | * 5: <tt>Teleport_NewMap( map, pos, flags )</tt>  | 
:Exits and travels to the specified map by levelnum.  | :Exits and travels to the specified map by levelnum.  | ||
| − | ::  | + | ::<tt>map</tt> - The levelnum to travel to.  | 
| − | ::  | + | ::<tt>pos</tt> - reserved and should be 0.  | 
| − | ::  | + | ::<tt>flags</tt> - 1 = Keep direction, 2 = Keep position  | 
| − | * 6:  | + | * 6: <tt>Exit_VictorySpin()</tt>  | 
: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:  | + | * 7: <tt>Exit_Victory( pos )</tt>  | 
:Exits the level using the victory exit.  | :Exits the level using the victory exit.  | ||
| − | ::  | + | ::<tt>pos</tt> - reserved and should be 0.  | 
| − | * 8:  | + | * 8: <tt>Trigger_Execute( x, y, z )</tt>  | 
: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.  | ||
| − | ::  | + | ::<tt>x</tt> - The X coordinate of the tile.  | 
| − | ::  | + | ::<tt>y</tt> - The Y coordinate of the tile.  | 
| − | ::  | + | ::<tt>z</tt> - The Z coordinate of the tile.  | 
| − | * 9:  | + | * 9: <tt>StartConversation( tid, faceTalker )</tt> {{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.  | ||
| − | * 10:  | + | * 10: <tt>Door_Elevator( switchTag, speed, delay, lock, type )</tt> {{new}}  | 
:Similar to Door_Open in every manner except that the tag should point to the elevator switch.  | :Similar to Door_Open in every manner except that the tag should point to the elevator switch.  | ||
| − | * 11:  | + | * 11: <tt>Elevator_SwitchFloor( elevTag, doorTag, callSpeed, nextTag )</tt> {{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. Things in the elevator are moved relative to the switch and the door.  | :Triggers the elevator movement. Things in the elevator are moved relative to the switch and the door.  | ||
| − | ::  | + | ::<tt>elevTag</tt> - Should the tag of the first switch in the sequence.  | 
| − | ::  | + | ::<tt>doorTag</tt> - The point to the door for this stop.  | 
| − | ::  | + | ::<tt>callSpeed</tt> - The time is takes for the elevator to move to or from this floor.  | 
| − | ::  | + | ::<tt>nextTag</tt> - The point in the next switch in the sequence.  | 
Revision as of 02:32, 9 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.