9f3f498e by Barry

Updated order of readme.

1 parent 5812e177
Showing 1 changed file with 62 additions and 57 deletions
...@@ -2,63 +2,7 @@ ...@@ -2,63 +2,7 @@
2 2
3 This project is a simple mud that runs entirely within an ESP8266 and can be accessed via the wifi portal it connects to. 3 This project is a simple mud that runs entirely within an ESP8266 and can be accessed via the wifi portal it connects to.
4 4
5 ## Next Steps 5 ## How to Buy / Build the Mud
6
7 1. every tick loop through the players
8 2. for each player load the roomname_monsters.txt
9 3. execute any current action [flee (maybe later), attack, continue combat, special attack (if enough mp or stamina)]
10 4. Write results of action to the roomname_monsters.txt if the monster is killed or mp / stamina has changed. - Sidenote.. don't store inventory, get a list of possible inventory and randomize on death and drop on the ground (no corpses)
11 5. Process any special commands from the player [spells, special attacks based on stamina]
12 6. Write results of action to the player file [damage, mp use, stamina use]
13 7. Write any new inventory to the room file. Expire any inventory that is old TBD....
14 8. Every minute respawn mobs for any room the players are in.
15
16 ## Mob Format
17
18 Mobs folder:
19
20 monstername.json
21
22 Example:
23 ```
24 {
25 "name": "cricket",
26 "desc": "A small green chirping insect with large legs suited for jumping.",
27 "aa": "1d2",
28 "spawn": {
29 "hp": "2d2",
30 "mp": "0",
31 "sta": "10",
32 },
33 "say": [
34 "A cricket quietly chirps",
35 "A cricket moves quietly"
36 ],
37 "sp": [],
38 "at": [
39 {"name": "kick", "cost":5, "dmg": "2d4", "desc": "The cricket kicks with powerful legs"},
40 {"name": "antenna tickle", "cost":2, "dmg": "1d3" "desc": "The cricket brushes you with antenna"},
41 ]
42
43 }
44 ```
45
46 All damage rolls are described in the number of times to roll and the random amount in dice format: 1d20 = 1 to 20, 2d6 = 2 to 12
47
48 * name - The name that will be displayed to the user when the monster is described
49 * desc - The description that will be displayed to the user when the monster is looked at
50 * aa - Auto-Attack amount that will be applied for every tick
51 * spawn - The values used when the spawner creates the monster to seed the values. A direct integer means the value will be set to that value always.
52 * hp - the starting hp range
53 * mp - the starting mp range
54 * sta - the stamina used to perform special attacks or actions
55 * say - Things when not in combat the monster will express to anyone in the room.
56 * sp - A list of spells that appear in the spells/ folder
57 * at - Special attacks
58 * name - The special attack name
59 * cost - The cost in stamina of the attack
60 * dmg - the amount of damage caused by this attack
61 * desc - the description to display when the attack is performed
62 6
63 ### Where to buy your ESP8266 7 ### Where to buy your ESP8266
64 8
...@@ -181,3 +125,64 @@ Reboot your device and the mud will be running at the IP Address on port 1234. T ...@@ -181,3 +125,64 @@ Reboot your device and the mud will be running at the IP Address on port 1234. T
181 ``` 125 ```
182 telnet 192.168.1.122 1234 126 telnet 192.168.1.122 1234
183 ``` 127 ```
128
129
130 ## Planning and Formats
131
132 ### Next Steps
133
134 1. every tick loop through the players
135 2. for each player load the roomname_monsters.txt
136 3. execute any current action [flee (maybe later), attack, continue combat, special attack (if enough mp or stamina)]
137 4. Write results of action to the roomname_monsters.txt if the monster is killed or mp / stamina has changed. - Sidenote.. don't store inventory, get a list of possible inventory and randomize on death and drop on the ground (no corpses)
138 5. Process any special commands from the player [spells, special attacks based on stamina]
139 6. Write results of action to the player file [damage, mp use, stamina use]
140 7. Write any new inventory to the room file. Expire any inventory that is old TBD....
141 8. Every minute respawn mobs for any room the players are in.
142
143 ### Mob Format
144
145 Mobs folder:
146
147 monstername.json
148
149 Example:
150 ```
151 {
152 "name": "cricket",
153 "desc": "A small green chirping insect with large legs suited for jumping.",
154 "aa": "1d2",
155 "spawn": {
156 "hp": "2d2",
157 "mp": "0",
158 "sta": "10",
159 },
160 "say": [
161 "A cricket quietly chirps",
162 "A cricket moves quietly"
163 ],
164 "sp": [],
165 "at": [
166 {"name": "kick", "cost":5, "dmg": "2d4", "desc": "The cricket kicks with powerful legs"},
167 {"name": "antenna tickle", "cost":2, "dmg": "1d3" "desc": "The cricket brushes you with antenna"},
168 ]
169
170 }
171 ```
172
173 All damage rolls are described in the number of times to roll and the random amount in dice format: 1d20 = 1 to 20, 2d6 = 2 to 12
174
175 * name - The name that will be displayed to the user when the monster is described
176 * desc - The description that will be displayed to the user when the monster is looked at
177 * aa - Auto-Attack amount that will be applied for every tick
178 * spawn - The values used when the spawner creates the monster to seed the values. A direct integer means the value will be set to that value always.
179 * hp - the starting hp range
180 * mp - the starting mp range
181 * sta - the stamina used to perform special attacks or actions
182 * say - Things when not in combat the monster will express to anyone in the room.
183 * sp - A list of spells that appear in the spells/ folder
184 * at - Special attacks
185 * name - The special attack name
186 * cost - The cost in stamina of the attack
187 * dmg - the amount of damage caused by this attack
188 * desc - the description to display when the attack is performed
......