cycles_and_commands.txt 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. COMMAND NAME | CYCLE ENDED |
  2. | |
  3. % "string" | YES(1) |
  4. & "string" | YES(1) |
  5. * "string" | NO |
  6. . "string" | NO |
  7. . "@string" | NO |
  8. / "string" | YES(2) |
  9. : "label" | NO(3) |
  10. ? "counter" "label" "string" | YES(1) |
  11. ? "label" "string" | YES(1) |
  12. [ "string" | YES(1) |
  13. | "label" | NO |
  14. ABORT LOOP | YES |
  15. ASK "string" | YES(1) |
  16. AVALANCHE | NO |
  17. BECOME [color] [thing] [param] | NO |
  18. BECOME NONLAVAWALKER | NO |
  19. BECOME NONPUSHABLE | NO |
  20. BECOME LAVAWALKER | NO |
  21. BECOME PUSHABLE | NO |
  22. BLIND # | NO |
  23. BOARD [dir] "string" | NO |
  24. BOARD [dir] NONE | NO |
  25. BULLETCOLOR [color] | NO |
  26. BULLETE [char] | NO |
  27. BULLETN [char] | NO |
  28. BULLETS [char] | NO |
  29. BULLETW [char] | NO |
  30. CENTER MESG | NO |
  31. CHANGE [color] [thing] [param] [color] [thing] [param] | NO |
  32. CHANGE CHAR ID # [char] | NO |
  33. CHANGE OVERLAY [color] [char] [color] [char] | NO |
  34. CHANGE OVERLAY [color] [color] | NO |
  35. CHANGE SFX # "string" | NO |
  36. CHANGE THICK ARROW CHAR [dir] [char] | NO |
  37. CHANGE THIN ARROW CHAR [dir] [char] | NO |
  38. CHAR [char] | NO |
  39. CHAR EDIT [char] # # # # # # # # # # # # # # | NO |
  40. CLEAR MESG | NO |
  41. CLIP INPUT | NO |
  42. COLOR [color] | NO |
  43. COLOR FADE OUT | NO |
  44. COLOR FADE IN | NO |
  45. COLOR INTENSITY # PERCENT | NO |
  46. COLOR INTENSITY # # PERCENT | NO |
  47. COPY # # # # | NO |
  48. COPY [dir] [dir] | NO |
  49. COPY BLOCK # # # # # # | NO |
  50. COPY CHAR [char] [char] | NO |
  51. COPY OVERLAY BLOCK # # # # # # | NO |
  52. COPY BLOCK # # # # "@filename" # | NO |
  53. COPY OVERLAY BLOCK # # # # "@filename" # | NO |
  54. COPY (OVERLAY) BLOCK "#x" "#y" # # "@filename" # | NO |
  55. COPY BLOCK # # # # "$string" # | NO |
  56. COPY OVERLAY BLOCK # # # # "$string" # | NO |
  57. COPY (OVERLAY) BLOCK "#x" "#y" # # "$string" # | NO |
  58. COPY BLOCK # # # # "#x" "#y" | NO |
  59. COPY OVERLAY BLOCK # # # # "#x" "#y" | NO |
  60. COPY BLOCK "#x" "#y" # # # # | NO |
  61. COPY OVERLAY BLOCK "#x" "#y" # # # # | NO |
  62. COPY (OVERLAY) BLOCK "#x1" "#y1" # # "#x2" "#y2" | NO |
  63. COPYROBOT "Robot" | YES(4) |
  64. COPYROBOT # # | YES(4) |
  65. COPYROBOT [dir] | YES(4) |
  66. CYCLE # | YES |
  67. DEC "counter" # | NO |
  68. DEC "counter" RANDOM # # | NO |
  69. DEC "$string" # | NO |
  70. DIE | NO |
  71. DIE ITEM | NO |
  72. DISABLE MESG EDGE | NO |
  73. DISABLE SAVING | NO |
  74. DIVIDE "counter" # | NO |
  75. DOUBLE "counter" | NO |
  76. DUPLICATE SELF # # | NO |
  77. DUPLICATE SELF [dir] | NO |
  78. END | YES |
  79. END MOD | NO |
  80. END PLAY | NO |
  81. END SAM | NO |
  82. ENDGAME | NO |
  83. ENDLIFE | NO |
  84. ENABLE MESG EDGE | NO |
  85. ENABLE SAVING | NO |
  86. ENABLE SENSORONLY SAVING | NO |
  87. ENEMY BULLETCOLOR [color] | NO |
  88. ENEMY BULLETE [char] | NO |
  89. ENEMY BULLETN [char] | NO |
  90. ENEMY BULLETS [char] | NO |
  91. ENEMY BULLETW [char] | NO |
  92. EXCHANGE PLAYER POSITION | YES |
  93. EXCHANGE PLAYER POSITION # | YES |
  94. EXCHANGE PLAYER POSITION # DUPLICATE SELF | YES |
  95. EXPLODE # | NO |
  96. FIREWALKER # | NO |
  97. FILLHEALTH | NO |
  98. FLIP CHAR [char] [dir] | NO |
  99. FREEZETIME # | NO |
  100. GIVE # [item] | NO |
  101. GIVEKEY [color] | NO |
  102. GIVEKEY [color] "label" | NO(5) |
  103. GO [dir] # | YES(6) |
  104. GOTO "label" | NO(5) |
  105. GOTO "#return" | NO |
  106. GOTO "#top" | NO |
  107. GOTOXY # # | YES |
  108. HALF "counter" | NO |
  109. IF "counter" !<>_= # "label" | NO(5) |
  110. IF [condition] "label" | NO(5) |
  111. IF # # "label" | NO(5) |
  112. IF [dir] PLAYER [color] [thing] [param] "label" | NO(5) |
  113. IF [color] [thing] [param] # # "label" | NO(5) |
  114. IF [color] [thing] [param] [dir] "label" | NO(5) |
  115. IF ALIGNEDROBOT "Robot" "label" | NO(5) |
  116. IF ANY [color] [thing] [param] "label" | NO(5) |
  117. IF FIRST STRING "string" "label" | NO(5) |
  118. IF NO [color] [thing] [param] "label" | NO(5) |
  119. IF NOT [color] [thing] [param] [dir] "label" | NO(5) |
  120. IF NOT [condition] "label" | NO(5) |
  121. IF PLAYER # # "label" | NO(5) |
  122. IF STRING "string" "label" | NO(5) |
  123. IF STRING MATCHES "string" "label" | NO(5) |
  124. IF STRING NOT "string" "label" | NO(5) |
  125. IF "$string" (equality) # "label" | NO(5) |
  126. IF "$string" (equality) "text" "label" | NO(5) |
  127. IF "$string" (equality) "$string2" "label" | NO(5) |
  128. IF c?? Sprite_Colliding pNN # # "label" | NO(5) |
  129. IF c?? Sprite p?? # # "label" | NO(5) |
  130. INC "$string" "text" | NO |
  131. INC "$string" "$string2" | NO |
  132. INC "counter" # | NO |
  133. INC "counter" RANDOM # # | NO |
  134. INPUT STRING "string" | YES(1) |
  135. JUMP MOD ORDER # | NO |
  136. LAYBOMB [dir] | NO |
  137. LAYBOMB HIGH [dir] | NO |
  138. LAZERWALL [dir] # | NO |
  139. LOAD CHAR SET "file" | NO |
  140. LOAD PALETTE "file" | NO |
  141. LOCKPLAYER | NO |
  142. LOCKPLAYER ATTACK | NO |
  143. LOCKPLAYER EW | NO |
  144. LOCKPLAYER NS | NO |
  145. LOCKSCROLL | NO |
  146. LOCKSELF | NO |
  147. LOOP # | NO |
  148. LOOP START | NO |
  149. MESSAGE ROW # | NO |
  150. MISSILECOLOR [color] | NO |
  151. MOD "file" | NO |
  152. MOD FADE # # | NO |
  153. MOD FADE IN "file" | NO |
  154. MOD FADE OUT | NO |
  155. MOD SAM # # | NO |
  156. MODULO "counter" # | NO |
  157. MOVE ALL [color] [thing] [param] [dir] | YES |
  158. MOVE PLAYER [dir] | YES |
  159. MOVE PLAYER [dir] "label" | YES |
  160. MULTIPLY "counter" # | NO |
  161. NEUTRAL BULLETCOLOR [color] | NO |
  162. NEUTRAL BULLETE [char] | NO |
  163. NEUTRAL BULLETN [char] | NO |
  164. NEUTRAL BULLETS [char] | NO |
  165. NEUTRAL BULLETW [char] | NO |
  166. OPEN [dir] | NO |
  167. OVERLAY ON | NO |
  168. OVERLAY STATIC | NO |
  169. OVERLAY TRANSPARENT | NO |
  170. PERSISTENT GO "string" | YES(2) |
  171. PLAY "string" | NO |
  172. PLAY SFX "string" | NO |
  173. PLAYER BULLETCOLOR [color] | NO |
  174. PLAYER BULLETE [char] | NO |
  175. PLAYER BULLETN [char] | NO |
  176. PLAYER BULLETS [char] | NO |
  177. PLAYER BULLETW [char] | NO |
  178. PLAYER CHAR [dir] [char] | NO |
  179. PLAYER CHAR [char] | NO |
  180. PLAYERCOLOR [color] | NO |
  181. PUSH [dir] | NO |
  182. PUT [color] [thing] [param] # # | NO |
  183. PUT [color] [thing] [param] [dir] | NO |
  184. PUT [color] [char] OVERLAY # # | NO |
  185. PUT [color] [thing] [param] [dir] PLAYER | NO |
  186. PUT PLAYER # # | YES(9) |
  187. PUT PLAYER [dir] | YES(9) |
  188. PUT "@FILENAME.XXX" Image_File [param] # # | NO |
  189. PUT [color] Sprite [param] # # | NO |
  190. REL COUNTERS | NO |
  191. REL PLAYER | NO |
  192. REL SELF | NO |
  193. REL COUNTERS FIRST | NO |
  194. REL PLAYER FIRST | NO |
  195. REL SELF FIRST | NO |
  196. REL COUNTERS LAST | NO |
  197. REL PLAYER LAST | NO |
  198. REL SELF LAST | NO |
  199. RESETVIEW | NO |
  200. RESTORE "label" # | NO |
  201. RESTORE PLAYER POSITION | YES |
  202. RESTORE PLAYER POSITION # | YES |
  203. RESTORE PLAYER POSITION # DUPLICATE SELF | YES |
  204. ROTATECW | NO |
  205. ROTATECCW | NO |
  206. SAM # "file" | NO |
  207. SAVE PLAYER POSITION | NO |
  208. SAVE PLAYER POSITION # | NO |
  209. SCROLL CHAR [char] [dir] | NO |
  210. SCROLLARROW COLOR [color] | NO |
  211. SCROLLBASE COLOR [color] | NO |
  212. SCROLLCORNER COLOR [color] | NO |
  213. SCROLLPOINTER COLOR [color] | NO |
  214. SCROLLTITLE COLOR [color] | NO |
  215. SCROLLVIEW [dir] # | NO |
  216. SCROLLVIEW POSITION # # | NO |
  217. SEND # # "label" | NO |
  218. SEND "Robot" "label" | NO |
  219. SEND [dir] "label" | NO |
  220. SEND [dir] PLAYER "label" | NO |
  221. SET "counter" # | NO(8)(11) |
  222. SET "counter" RANDOM # # | NO |
  223. SET "$string" "text" | NO |
  224. SET "$string1" "$string2" | NO |
  225. SET "$string" # | NO |
  226. SET COLOR # # # # | NO |
  227. SET EDGE COLOR [color] | NO |
  228. SET MAXHEALTH # | NO |
  229. SET MESG COLUMN # | NO |
  230. SFX # | NO |
  231. SHOOT [dir] | NO(10) |
  232. SHOOTMISSILE [dir] | NO(10) |
  233. SHOOTSEEKER [dir] | NO(10) |
  234. SLOWTIME # | NO |
  235. SPITFIRE [dir] | NO(10) |
  236. STATUS COUNTER # "counter" | NO |
  237. SWAP WORLD "file" | NO |
  238. SWITCH [dir] [dir] | NO |
  239. TAKE # [item] | NO |
  240. TAKE # [item] "label" | NO(5) |
  241. TAKEKEY [color] | NO |
  242. TAKEKEY [color] "label" | NO(5) |
  243. TELEPORT PLAYER "string" # # | YES(2) |
  244. TRADE # [item] # [item] "label" | NO(5) |
  245. TRY [dir] "label" | YES(5) |
  246. WAIT # | YES(6) |
  247. WAIT MOD FADE | NO |
  248. WAIT PLAY | NO |
  249. WAIT PLAY "string" | YES(2) |
  250. WALK [dir] | NO(7) |
  251. WIND # | NO |
  252. WRITE OVERLAY [color] "string" # # | NO |
  253. UNLOCKPLAYER | NO |
  254. UNLOCKSCROLL | NO |
  255. UNLOCKSELF | NO |
  256. VIEWPORT # # | NO |
  257. VIEWPORT SIZE # # | NO |
  258. VOLUME # | NO |
  259. ZAP "label" # | NO |
  260. (1) = The act of opening default dialog boxes kills (almost) all other game action, including Robot processing. The only exceptions are the play of music/sound and the read/write actions of the various fread/fwrite counters during the loading of default "["/"%"/"&" boxes.
  261. (2) = Does not end a cycle if the string is blank or a completely invalid/inapplicable string.
  262. (3) = While it never ends the cycle in current MZX worlds, it can end the cycle in special cases in pre-port MZX worlds. If a loop consists of a label, a send to the same label, and none of the following commands: DEC, DIVIDE, DOUBLE, GIVE, HALF, INC, LOOP FOR #, MODULO, MULTIPLY, SET, TAKE, TRADE, then the label itself will end the cycle.
  263. (4) = Considering "copyrobot" commands are executed always, even if no match is found, this may not be correct.
  264. (5) = Attempting to jump to labels that do not exist does not consume a cycle.
  265. (6) = Does not end a cycle if all # is/are 0.
  266. (7) = A special case exists where it currently executes a cycle end going through a transporter.
  267. (8) = A special case exists for the SAVE_GAME "special" counter which does end the cycle if used.
  268. (9) = Does not end a cycle if any or all of the affected objects do not move.
  269. (10) = Ends a cycle in MZX v2.83 and worlds made in MZX v2.83.
  270. (11) = If the SAVE_GAME "special" counter is used with this command, the action happens at the very end of the cycle.