355
356
357
358
359
360
361
362
363
364
365
366
367
368
|
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
|
+
+
+
+
+
|
(Arrivals <numbers...>)
Define the Arrivals variable for this class. This is twenty-five numbers
each of which is either zero or one. They are meant to be on five lines
of five numbers each, making a 5x5 matrix, where the centre means this
object's location.
Bizarro
Means that objects of this class created using the Create instruction
will be created in the bizarro world by default. (This has no effect on
objects placed in the level editor.)
(Climb <number>)
Define the Climb variable for this class.
(CollisionLayers <numbers...>)
Define the CollisionLayers variable for this class. The format is the
same as for Misc4 (see below), but only the low 8-bits are usable.
|
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
|
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
|
+
+
+
+
+
+
+
+
+
+
+
-
+
|
arrivals (according to the Arrivals variable), the corresponding bits
are set in the Arrived variable. If this value is nonzero, then it will
also send a ARRIVED message during the trigger phase. You can write all
bits of this variable, but only the low 25-bits can be read back; if you
write a nonzero number with only the high bits set, then it will still
be triggered but will be read back as zero.
Bizarro : bool [c]
Set if this object is in the bizarro world. Objects in the bizarro world
are invisible and intangible, and mostly do not interact with other
objects. However, they can still be accessed/affected by anything that
references it directly, it is still possible to broadcast messages to
them, and they are still affected by most turn-based actions (although
not the compatible part of the trigger phase). Objects in the bizarro
world are effectively stealthy as well, so do not cause messages due to
being moved, created, or destroyed. In some circumstances, attempting
to change this flag will have no effect.
Busy : bool
If any object has either the Busy or UserSignal variable set, then the
player input is blocked, and the turn may continue. Use this to control
the timing of effects in LASTIMAGE blocks.
Class : class [ro]
The class of this object.
Climb : int16/int32 [c]
In order for this object to move, this object's Climb must equal or
exceed the Height of all objects at the target location, otherwise it
is prevented from moving.
CollisionLayers : int8 [c] [ro]
Any set bit means no other object with that same bit set in this field
may exist at the same location.
may exist at the same location. (There is no effect in bizarro world.)
Compatible : bool [c] [ro]
The compatibility flag. Class definitions imported from EKS Hero Mesh
always set this flag; in new puzzle sets it is normally not set.
Density : int16/int32 [c]
Determines the order that objects are stacked within each cell. When an
|
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
|
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
|
+
+
+
+
+
+
+
+
|
Destroy the given object without sending any messages.
band ( in1 in2 -- out )
Bitwise AND.
(bit <numbers>) ( -- number )
Make a number with only the specified bits set, given numbers 0 to 31.
BizarroSwap ( x y | obj1 obj2 -- number ) **
Attempt to exchange either two objects (one in the bizarro world, one
not) at the same location or all objects at the specified location into
or out of the bizarro world. If it is successful, then the result is 0.
If unsuccessful due to CollisionLayers, then the result is the bits in
the CollisionLayers which are conflicting; if unsuccessful due to any
other reason then the result will be 256.
bnot ( in -- out )
Bitwise NOT.
bor ( in1 in2 -- out )
Bitwise OR.
|
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
|
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
|
+
+
+
+
|
the code of the class it is inheriting.
,Super ( ? -- ? )
Same as Super but return to this code after it is finished.
swap ( x y -- y x )
SwapWorld ( -- ) **
Exchange the entire game with the bizarro world. Sometimes, this might
fail due to CollisionLayers bits; in this case, it is an error.
Synchronize ( slot startimage -- ) **
Start a synchronized animation. Give the slot number of the animation,
and the starting image number. The length and speed are defined in a
global definition, and the animation is always a non-oscillating loop.
Target ( -- bool )
Check if Arg1 and Arg2 are the coordinates of this object. It is an
|