14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
<h2>ARRIVED</h2>
<h2>BEGIN_TURN</h2>
Sent to all objects during the begin phase. From is the last player object found during this turn, and Arg1 and Arg2 are the X and Y coordinates of that object as the begin phase begins.
<h2>CLEANUP</h2>
Sent to all objects during the cleanup phase.
Note that many commands cannot be used during the cleanup phase.
<h2>COLLIDE</h2>
If an object tries to move (regardless of the reason), if the <tt>CollisionLayers</tt> attribute of the moving object has any bits set shared with any object at the target location, then it can't move; in this case, it sends <tt>COLLIDE</tt> to the moving object and then <tt>COLLIDEBY</tt> to any conflicting objects at the target location.
There is also the possibility that an object cannot be created because of a conflict in the <tt>CollisionLayers</tt> attribute; in this case, the <tt>COLLIDE</tt> message isn't sent, but <tt>COLLIDEBY</tt> is.
Arg1 and Arg2 are the coordinates of the target location. From is the object causing the move.
If the return value is a number, the bits are used as follows:
* (TODO)
<h2>COLLIDEBY</h2>
See <tt>COLLIDE</tt>.
If the message is sent due to an attempted creation, then From is 0; otherwise, From is the object that is attempting to be moved. Arg1 and Arg2 are the coordinates of that object (or 0 if From is 0). Arg3 is the class of the object that is about to be moved or created.
If the return value is a number, the bits are used as follows:
* (TODO)
<h2>CREATE</h2>
Sent to an object that has just been created by the <tt>Create</tt> command. From is the object that executed the <tt>Create</tt> command.
<h2>CREATED</h2>
<h2>DEPARTED</h2>
|
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
-
+
|
* bit10 = Abort after attempting shoving the target object.
* bit11 = See bit15. Setting this bit by yourself has no meaning.
* bit12* = If the move fails, pretend it was successful, without actually moving the object.
* bit13* = Abort before actually moving the object and before trying sliding.
* bit14* = Do not set the <tt>Moved</tt> flag if successful.
* bit15 = Try again after trying shoving (whether or not the shoving is successful, or even attempted; if it is successful, it automatically sets this bit). If this bit is set, then bit11 is set during the next attempt (and will initially be the only bit set).
* bit16 = Set by the game engine if this event is due to trying to slide an object.
* bit17* = (reserved)
* bit17* = Do not actually move the object (does not send the <tt>MOVING</tt> message, nor any arrivals/departures/float/sunk), but still try everything and see if it is successful or not.
* bit18* = (reserved)
* bit19* = (reserved)
* bit20* = (reserved)
* bit21* = (reserved)
* bit22* = (reserved)
* bit23* = (reserved)
* bit24* = (reserved)
|