home · contact · privacy
Add basic food clock (but no consumables yet to re-set it).
[plomrogue] / SERVER_COMMANDS
index 6d011c7e83d0b41fbc8e50214e9f72bbdcaaee24..a5a83a2d4bea8be6948f32cccec42ea6f6a4daa7 100644 (file)
@@ -14,8 +14,10 @@ In any case, from then on, further commands are read in from ./server/in. New
 commands must be appended to the file – which is what the client does. All
 commands from ./server/in except meta commands are also written to ./record.
 
-At the end of each turn, ./savefile is written – with a list of all god commands
-necessary to recreate the current world state.
+Every fifteen seconds, if any turns have passed, ./savefile is written – with a
+list of all god commands necessary to recreate the current world state. On each
+world state change, ./server/worldstate is updated and a message "WORLD_UPDATED"
+written to ./server/out.
 
 Replay mode
 -----------
@@ -51,9 +53,11 @@ Write "PONG" line to ./server/out file.
 QUIT
 Shut down server.
 
-STACK
-Write line-by-line list of items the player stands on into ./server/out file,
-enclosed by two lines "THINGS_BELOW_PLAYER START" and "THINGS_BELOW_PLAYER END".
+THINGS_HERE [0 to 255] [0 to 255]
+If world exists, write line-by-line list of things visible or in memory at y
+position of first argument, x position of second argument of map into
+./server/out file, enclosed by two lines "THINGS_HERE START" and
+"THINGS_HERE END".
 
 Player commands
 ---------------
@@ -99,7 +103,8 @@ MAKE_WORLD [0 to 4294967296]
 Set map seed and randomness seed to argument. Remove all things. (Re-)generate
 map. Add to map things specified in thing types table in quantity defined there
 by START_NUMBER command, with first thing (of thing ID of 0) of type defined as
-player type by PLAYER_TYPE command. Set world turn to 1. Activate world.
+player type by PLAYER_TYPE command. Set world turn to 1. Activate world. Answer
+with 'NEW_WORLD' message in ./server/out file.
 
 MAP_LENGTH [1 to 256]
 Deactivate world. Remove ./server/worldstate file. Remove all things. Remove
@@ -109,8 +114,8 @@ WORLD_ACTIVE [0 to 255]
 Set world activity state to argument. If 0, remove ./server/worldstate file.
 Else, if world was so far inactive, a map exists, at least one "wait" thing
 action is defined, and a thing of ID 0 (= a player character) that is not part
-of any other thing's inventory, (re-)build all animate things' fields of view and
-activate world. (Initial value: 0.)
+of any other thing's inventory, (re-)build all animate things' fields of view,
+and activate world. (Initial value: 0.)
 
 TA_ID [0 to 255]
 Select thing action to manipulate by argument as ID. If argument is 0, change it
@@ -160,6 +165,9 @@ performing the action) value to argument.
 T_LIFEPOINTS [0 to 255]
 Set selected thing's lifepoints to argument.
 
+T_SATIATION [-32768 to 32767]
+Set selected thing's satiation score. 
+
 T_CARRIES [0 to 255]
 Add thing of ID in argument to inventory of selected thing, if said thing is
 available for carrying and not the selected thing.
@@ -168,6 +176,10 @@ T_MEMMAP [0 to 255] [string]
 Set part of selected thing's memory of the game map to string argument: the line
 of the argument's number.
 
+T_MEMDEPTHMAP [0 to 255] [string]
+Set part of selected thing's game map memory depth map to string argument: the
+line of the argument's number.
+
 T_MEMTHING [0 to 255] [0 to 255] [0 to 255]
 Add to selected thing's memory of things on map thing of ID of first argument,
 y position of second argument and x position of third argument.
@@ -207,3 +219,11 @@ If non-zero, there is a chance of 1 divided by the given value each turn for any
 thing of the selected type to emit an offspring to a random neighbor cell if one
 is available that is passable and not inhabited by a thing of the same same type
 or, if the proliferating thing is animate, any other animate thing.
+
+TT_STOMACH [0-32767]
+Set degree to which things of the selected type suffer from hunger or
+over-satiation: If 0, not at all. Else, each turn a thing of the given type may
+suffer a lifepoint decrement to the chance of the rounded down quotient of the
+satiation score's absolute value by the given value, then again divided by the
+latter. This means that the chance is always zero when the absolute value of the
+satiation score is lower than the given value.