1 | Changes in top level CVS tree. A few notes when putting entries in this |
1 | Not used |
2 | file: |
|
|
3 | 1) Please include a date in the form yyyy/mm/dd (yes, us americans are |
|
|
4 | screwed up relative to most the world, but some consistent date format |
|
|
5 | is needed for this file.) |
|
|
6 | 2) You don't need to go into exacting detail of the changes. This file |
|
|
7 | is mostly meant to give an idea to others what has changed - you don't |
|
|
8 | need to recreate the code here. If you change fixes a reported bug |
|
|
9 | on the mailing list, please provide a brief description of the bug |
|
|
10 | fixed. But please do try to include a useful description of |
|
|
11 | what changed. Saying something like 'General cleanup - just whitespace |
|
|
12 | changes' is much more useful than 'misc edits' or 'code cleanup'. |
|
|
13 | 3) Please include your name with the changes you make. |
|
|
14 | 4) Whenever making an update, please update this file, no matter how |
|
|
15 | small - this just lets others know that the file has changed if nothing |
|
|
16 | else. With this, include the file(s) that you changed. |
|
|
17 | ------------------------------------------------------------------------------ |
|
|
18 | Changes for CVS: |
|
|
19 | |
|
|
20 | include/newserver.h, server/login.c, socket/init.c, socket/loop.c: |
|
|
21 | drop any connection that fails to login successfully after |
|
|
22 | MAX_PASSWORD_FAILURES attempts (defaults to 5) |
|
|
23 | doc/Developers/protocol: document properly the byte counts of item flags, |
|
|
24 | and include documentation of the itemcmd setup option. |
|
|
25 | Brendan Lally 2006-01-30 |
|
|
26 | |
|
|
27 | Custom commands-related fixes. |
|
|
28 | plugins/cfpython/cfpython.c: fix custom command handling. |
|
|
29 | server/plugins.c: try all plugins for custom commands. |
|
|
30 | ----- |
|
|
31 | Moved the global event 'LOGOUT' from when player actually disconnects to when |
|
|
32 | player logs out and is asked whether to play again or not. |
|
|
33 | Modified files: |
|
|
34 | server/apply.c main.c |
|
|
35 | Ryo 2006-01-15 |
|
|
36 | |
|
|
37 | socket/request.c: In ReplyCmd() make sure the reply does not cause a buffer |
|
|
38 | overflow. |
|
|
39 | Andreas Kirschbaum 2006-01-13 |
|
|
40 | |
|
|
41 | socket/request.c: add some better checks in addspell packet formation, fix a |
|
|
42 | crash bug. |
|
|
43 | Brendan Lally 2006-01-13 |
|
|
44 | |
|
|
45 | server/c_object.c: stop rename crashing if there is no name to rename to |
|
|
46 | when object is passed by number |
|
|
47 | -- |
|
|
48 | server/c_object.c: allow the rename command to take tag of the item to be |
|
|
49 | renamed, so that clients can form rename commands properly. |
|
|
50 | Brendan Lally 2006-01-11 |
|
|
51 | |
|
|
52 | server/c_range.c: allow spells cast by number to also have options passed to |
|
|
53 | them |
|
|
54 | Changelog: Commit the changelog entry for the last commit. |
|
|
55 | Brendan Lally 2006-01-10 |
|
|
56 | |
|
|
57 | Spell listing support: |
|
|
58 | allow 'spell_paths' to be sent to requestinfo, reply with number:path |
|
|
59 | change return type of SP_level_spellpoint_cost to sint16 |
|
|
60 | add spellmon as a setup value, if it is set; |
|
|
61 | send path attunement/repulsion/denial in stats |
|
|
62 | send data about spells in addspell packets |
|
|
63 | send updates to that data |
|
|
64 | Affected files: |
|
|
65 | common/living.c |
|
|
66 | crossedit/stubs.c |
|
|
67 | doc/Developers/protocol |
|
|
68 | include/funcpoint.h, newclient.h, newserver.h, player.h, sockproto.h, |
|
|
69 | sproto.h |
|
|
70 | random_maps/standalone.c |
|
|
71 | server/apply.c, login.c, spell_util.c, init.c, loop.c, request.c |
|
|
72 | -- |
|
|
73 | server/c_range.c: allow cast/invoke and prepare commands to take item tags |
|
|
74 | as well as spell names |
|
|
75 | Brendan Lally 2006-01-09 |
|
|
76 | |
|
|
77 | Apply modified patch #1396303 (add setting to disable stealing from players) |
|
|
78 | by Terry Brown. It adds a new option "no_player_stealing" to the settings |
|
|
79 | file. If set, it prevents players from stealing from other players. It |
|
|
80 | defaults to ON. |
|
|
81 | -- |
|
|
82 | doc/settings: Add documentation for new setting. |
|
|
83 | include/global.h: Add new field to settings structure. |
|
|
84 | lib/settings: Add new option no_player_stealing. |
|
|
85 | server/init.c: In load_settings() recognizes the new option. |
|
|
86 | server/skills.c: In attempt_steal() prevent stealing from PLAYER if option is |
|
|
87 | set. |
|
|
88 | Andreas Kirschbaum 2006-01-08 |
|
|
89 | |
|
|
90 | include/newserver.h, socket/{init.c,request.c}: Remove unused fields ext2 and |
|
|
91 | ext_title_flag from NewSocket structure. |
|
|
92 | server/skills.c: Fix/improve feedback messages for stealing skill. |
|
|
93 | plugins/cfpython/cfpython.c, server/plugins.c: Just whitespace changes to make |
|
|
94 | it conform to programming_guide. |
|
|
95 | plugins/cfpython/cfpython.c: Make sure context->options always is initialized. |
|
|
96 | server/main.c: Make code more readable; use snprintf where appropriate. |
|
|
97 | crossedit/Cnv/CnvPrompt.c: Make file compilable with Ansi C89 compiler. |
|
|
98 | Andreas Kirschbaum 2006-01-08 |
|
|
99 | |
|
|
100 | Global event Python scripts now are in subdirectories. This makes it easier to |
|
|
101 | distribute "Python packages". Modified file: |
|
|
102 | plugins/cfpython/cfpython.c |
|
|
103 | Ryo 2006-01-07 |
|
|
104 | |
|
|
105 | common/{item.c,treasure.c}, server/{apply.c,gods.c,spell_effect.c}: Use named |
|
|
106 | constants instead of numbers. |
|
|
107 | server/monster.c: Use correct field name in move_monster(). |
|
|
108 | Andreas Kirschbaum 2006-01-07 |
|
|
109 | |
|
|
110 | Summon pets less often to the owner on tiled maps. |
|
|
111 | -- |
|
|
112 | server/pets.c: In remove_all_pets() and pet_move() use on_same_map() to check |
|
|
113 | whether the pet is too far away. |
|
|
114 | Andreas Kirschbaum 2006-01-07 |
|
|
115 | |
|
|
116 | Change meaning of "items are on same map": for tiled maps now two objects are |
|
|
117 | also considered to be on the same map if they are on diagonally adjacent maps. |
|
|
118 | This solves the issue that a pet can be only one tile away from the owner but |
|
|
119 | still considered not to be on the same map. |
|
|
120 | -- |
|
|
121 | common/map.c: In on_same_map() also consider diagonally adjacent maps. |
|
|
122 | Andreas Kirschbaum 2006-01-07 |
|
|
123 | |
|
|
124 | Added regions support for plugins. Affected files: |
|
|
125 | include/plugin.h sproto.h |
|
|
126 | server/plugins.c |
|
|
127 | -- |
|
|
128 | Added regions to Python plugin. Affected files: |
|
|
129 | cfpython/include/cfpython.h cfpython_map_private.h |
|
|
130 | cfpython/cfpython.c cfpython_map.c cfpython_region.c Makefile.am Makefile.in |
|
|
131 | New files: |
|
|
132 | cfpython/include/cfpython_region.h cfpython_region_private.h |
|
|
133 | cfpython/cfpython_region.c |
|
|
134 | -- |
|
|
135 | In Python's Object, Archetype is now a property and not a method. Affected files: |
|
|
136 | cfpython/include/cfpython_object_private.h |
|
|
137 | cfpython/cfpython_object.c |
|
|
138 | -- |
|
|
139 | Cleaned obsolete include/plugproto.h. |
|
|
140 | Ryo 2006-01-07 |
|
|
141 | |
|
|
142 | Make teleporters hidden below the floor work again. |
|
|
143 | -- |
|
|
144 | server/time.c: In move_teleporter() use object above floor instead above |
|
|
145 | teleporter to operate one. |
|
|
146 | Andreas Kirschbaum 2006-01-07 |
|
|
147 | |
|
|
148 | Fix issues with map tiling. |
|
|
149 | -- |
|
|
150 | server/move.c: In move_ob() make sure inserting multi-part objects into tiled |
|
|
151 | maps work. |
|
|
152 | server/spell_attack.c: In cast_cone() insert spell effect at correct position |
|
|
153 | for tiled maps. |
|
|
154 | Andreas Kirschbaum 2006-01-07 |
|
|
155 | |
|
|
156 | common/map.c: Allow map tiling paths to be reletive. |
|
|
157 | server/main.c: Template maps: Impliment using fixed maps as templates, and |
|
|
158 | improve reletive path support for them. |
|
|
159 | Alex Schultz 2006-01-06 |
|
|
160 | |
|
|
161 | Make SIGNs (including Magic Mouths) trigger for DMs again. Does not reduce the |
|
|
162 | counter if in 'wizpass mode. |
|
|
163 | -- |
|
|
164 | server/apply.c: In apply_sign() ignore DMs. |
|
|
165 | Andreas Kirschbaum 2006-01-04 |
|
|
166 | |
|
|
167 | server/spell_effect.c: Apply patch 1394861 - fixes magic walls. In conjuction |
|
|
168 | with archetype changes, look at the spell object (and not created wall) |
|
|
169 | to see if it blocks. |
|
|
170 | server/c_chat.c: Apply patch 1389113 - orcknuckle messages appear in |
|
|
171 | same window. |
|
|
172 | MSW 2006-01-01 |
|
|
173 | |
|
|
174 | Prefer marked item when throwing objects. |
|
|
175 | -- |
|
|
176 | server/skills.c: In find_throw_ob() prefer marked item. |
|
|
177 | Andreas Kirschbaum 2006-01-01 |
|
|
178 | |
|
|
179 | Make EXITs affect DM players again. |
|
|
180 | -- |
|
|
181 | common/object.c: In check_move_on() ignore only slow movement penalties for |
|
|
182 | DMs. |
|
|
183 | server/apply.c: In move_apply() ignore anything but EXITs for DM players. |
|
|
184 | Andreas Kirschbaum 2006-01-01 |
|
|
185 | |
|
|
186 | Make forked lightning correctly traverse tiled maps. |
|
|
187 | -- |
|
|
188 | server/spell_attack.c: In forklightning() insert forked part into correct map. |
|
|
189 | Andreas Kirschbaum 2006-01-01 |
|
|
190 | |
|
|
191 | Properly unready forgotten spells. Prevents crashing the server if casting a |
|
|
192 | forgotten spell. |
|
|
193 | -- |
|
|
194 | include/sproto.h: Add new prototype. |
|
|
195 | server/{apply.c,gods.c}: Call player_remove_range_ob() when forgetting a |
|
|
196 | spell. |
|
|
197 | server/player.c: Add player_remove_range_ob() to unready a given object. |
|
|
198 | Andreas Kirschbaum 2006-01-01 |
|
|
199 | |
|
|
200 | Improve the commands learn_spell and forget_spell: now these commands accept |
|
|
201 | partial spell names and print sensible error messages if they fail. |
|
|
202 | -- |
|
|
203 | include/sproto.h: Remove prototype for now static function. |
|
|
204 | lib/wizhelp/{forget_spell,learn_special_prayer,learn_spell}: Update help files. |
|
|
205 | server/c_wiz.c: Add parameter op to get_spell_by_name() for printing error |
|
|
206 | messages to op. Allow partial matches for spell name. In |
|
|
207 | command_learn_spell_or_prayer() and command_forget_spell() report an error |
|
|
208 | to the player instead of an error message to the server log file. |
|
|
209 | Andreas Kirschbaum 2006-01-01 |
|
|
210 | |
|
|
211 | Fix reference-related crashes. |
|
|
212 | plugins/cfpython/cfpython.c |
|
|
213 | Ryo 2006-01-01 |
|
|
214 | |
|
|
215 | Apply modified patch #1391648 (FIX: new movement code and generators) by Lalo |
|
|
216 | Martins. This fixes bugs #1383398, #1383392, #1375643, #1372035, #1370409; all |
|
|
217 | bugs are related to objects stacking which should not stack. |
|
|
218 | -- |
|
|
219 | common/map.c: In ob_blocked() consider tiles with living objects as blocked. |
|
|
220 | Andreas Kirschbaum 2005-12-31 |
|
|
221 | |
|
|
222 | Don't print "file not found" for global events. |
|
|
223 | plugins/cfpython/cfpython.c |
|
|
224 | Ryo 2005-12-31 |
|
|
225 | |
|
|
226 | Changed the way Python scripts are called. Now script don't share variables anymore. |
|
|
227 | Fix a memory leak. |
|
|
228 | plugins/cfpython/cfpython.c |
|
|
229 | Ryo 2005-12-28 |
|
|
230 | |
|
|
231 | Applied patch #1383359 (Fix death message) courtesy Anton Oussik |
|
|
232 | ( https://sourceforge.net/tracker/index.php?func=detail&aid=1383359&group_id=13833&atid=313833 ) |
|
|
233 | server/attack.c |
|
|
234 | Ryo 2005-12-27 |
|
|
235 | |
|
|
236 | server/skills.c: In steal() do not give exp for stealing from pets since this |
|
|
237 | can be exploited to gain exp over and over. |
|
|
238 | Andreas Kirschbaum 2005-12-23 |
|
|
239 | |
|
|
240 | server/c_party.c: fix crash with party obsolescence (->next on freed item). Added |
|
|
241 | get_firstparty() to get firstparty private var needed for plugin. |
|
|
242 | |
|
|
243 | ------- |
|
|
244 | Added party information to plugin functions. Plugins can change player's party |
|
|
245 | or marked item. |
|
|
246 | New files: |
|
|
247 | plugins/cfpython/include/cfpython_party.h cfpython_party_private.h |
|
|
248 | plugins/cfpython/cfpython_party.c |
|
|
249 | Modified files: |
|
|
250 | include/sproto.h: add new functions prototypes. |
|
|
251 | include/plugin.h: party-related defines |
|
|
252 | plugins/common/include/plugin_common.h: new party functions. |
|
|
253 | plugins/common/plugin_common.c: new party functions. |
|
|
254 | plugins/cfpython/include/cfpython.h: add new include. |
|
|
255 | plugins/cfpython/include/cfpython_object_private.h: marked item/party getter/setter. |
|
|
256 | plugins/cfpython/cfpython.c: add GetParties to Crossfire module. |
|
|
257 | plugins/cfpython/cfpython_object.c: MarkedItem setter, Party getter/setter. |
|
|
258 | server/plugins.c: new callbacks for party, marked item setter. |
|
|
259 | Ryo 2005-12-17 |
|
|
260 | |
|
|
261 | server/attack.c: Make spells destroy objects again. |
|
|
262 | Andreas Kirschbaum 2005-12-15 |
|
|
263 | |
|
|
264 | Moved natural dragon skin resistances from "statistics" to "resistances". |
|
|
265 | server/c_misc.c |
|
|
266 | Ryo 2005-12-13 |
|
|
267 | |
|
|
268 | Fix Windows compilation after Andreas's changes. |
|
|
269 | include/win32.h: define WIFEXITED and WEXITSTATUS. |
|
|
270 | Ryo 2005-12-11 |
|
|
271 | |
|
|
272 | Fix buffer overflows which can be triggered remotely. |
|
|
273 | -- |
|
|
274 | common/porting.c: Re-implement open_and_uncompress(). The new implementation |
|
|
275 | should not contain any buffer overflows anymore. It also fixes possible |
|
|
276 | exploits due to funny characters in file names. |
|
|
277 | plugins/cfpython/cfpython.c: Use snprintf() to truncate long strings. |
|
|
278 | server/login.c: Reject invalid user names. |
|
|
279 | socket/loop.c: Make overflow detection work while reading from socket. |
|
|
280 | Properly re-allocate memory for listen command. Fix buffer overflow for too |
|
|
281 | long command names. |
|
|
282 | Andreas Kirschbaum 2005-12-11 |
|
|
283 | |
|
|
284 | lib/collect.pl.in: General cleanup - just whitespace changes. |
|
|
285 | Andreas Kirschbaum 2005-12-11 |
|
|
286 | |
|
|
287 | Prevent the map loader from crashing when loading maps with incorrect headers. |
|
|
288 | Changes are based on patch #1275563 by Kevin Rudat. |
|
|
289 | -- |
|
|
290 | common/map.c: Do not dereference NULL value for map headers without parameter. |
|
|
291 | Andreas Kirschbaum 2005-12-11 |
|
|
292 | |
|
|
293 | Apply modified second part of patch #1275563 (Crossedit: fix map attributes |
|
|
294 | window) by Kevin Rudat: let crossedit save/load tiling paths as the mapmaker |
|
|
295 | entered them, rather than saving the normalized version. |
|
|
296 | -- |
|
|
297 | common/map.c: Delay path normalization from map loading time |
|
|
298 | (load_map_header()) to access time (load_and_link_tiled_map()) if running |
|
|
299 | as editor. |
|
|
300 | Andreas Kirschbaum 2005-12-11 |
|
|
301 | |
|
|
302 | server/move.c: In move_ob() print error message instead of crashing: check |
|
|
303 | passed arguments before accessing them. |
|
|
304 | common/object.c, server/{pets.c,player.c,spell_attack.c,time.c}, |
|
|
305 | socket/request.c: Properly check for P_OUT_OF_MAP after calling |
|
|
306 | get_map_flags(). |
|
|
307 | Andreas Kirschbaum 2005-12-10 |
|
|
308 | |
|
|
309 | common/path.c: add missing global.h include. |
|
|
310 | make_win32/crossfire32.dsp: add path.c and some headers. |
|
|
311 | Ryo 2005-12-09 |
|
|
312 | |
|
|
313 | Apply slightly modified first part of patch #1275563 (Crossedit: fix map |
|
|
314 | attributes window) by Kevin Rudat: make the map attributes dialogs work again. |
|
|
315 | -- |
|
|
316 | crossedit/Attr.c: Remove code to handle map attributes dialogs. |
|
|
317 | crossedit/Crossedit.ad, crossedit/Crossedit.ad.h: Update X11 resources. |
|
|
318 | crossedit/Defines.h: Add typedef for MapAttr. |
|
|
319 | crossedit/{Edit.c,Edit.h}: Remove/update code to handle map attributes |
|
|
320 | dialogs. |
|
|
321 | crossedit/Makefile.am: Add new files MapAttr.c and MapAttr.h. |
|
|
322 | crossedit/Makefile.in: Rebuilt. |
|
|
323 | crossedit/{MapAttr.c,MapAttr.h}: New functions containing code to handle the |
|
|
324 | main map attributes dialog. |
|
|
325 | crossedit/Cnv/CnvPrompt.c: Convert CnvPromptStr into char array. |
|
|
326 | Andreas Kirschbaum 2005-12-09 |
|
|
327 | |
|
|
328 | Remove a strange feature of normalize_path(): it did convert the path |
|
|
329 | "<path1>//<path2>" into "/<path2>". Also add a stand-alone application for |
|
|
330 | regression testing this function, and fix a few issues with ".." in path name. |
|
|
331 | -- |
|
|
332 | common/path.c: New file containing the modified implementation and the |
|
|
333 | stand-alone application. |
|
|
334 | include/path.h: Prototypes for path.c. |
|
|
335 | server/main.c: Remove implementation; call renamed function. |
|
|
336 | common/Makefile.am, include/Makefile.am: Add new files. |
|
|
337 | common/Makefile.in, include/Makefile.in: Rebuilt. |
|
|
338 | Andreas Kirschbaum 2005-12-08 |
|
|
339 | |
|
|
340 | server/ban.c: General cleanup - whitespace changes, rename variable names. |
|
|
341 | Should not affect function. |
|
|
342 | server/apply.c: In player_apply() do not consider DM PLAYERs to be DM-created |
|
|
343 | items. This prevents the server from destroying the player object (and |
|
|
344 | crashing shortly afterwards). |
|
|
345 | Andreas Kirschbaum 2005-12-07 |
|
|
346 | |
|
|
347 | Apply slightly modified patch #1293744 (Inversed ban entries) by Thomas |
|
|
348 | Equeter. |
|
|
349 | -- |
|
|
350 | server/ban.c: In checkbanned() recognize '~' prefix to allow entries. Also fix |
|
|
351 | possible buffer overflow. |
|
|
352 | Andreas Kirschbaum 2005-12-07 |
|
|
353 | |
|
|
354 | Apply modified patch #1293774 (Kick banned hosts at once) by Thomas Equeter: |
|
|
355 | disconnect new connection for banned host right after connecting. Also add |
|
|
356 | support for user name in ban files. |
|
|
357 | -- |
|
|
358 | lib/ban_file: Update comments and examples to new syntax. |
|
|
359 | server/ban.c: Allow a NULL user name to check for host name only. |
|
|
360 | server/c_misc.c: In receive_player_password() check for banned user name. |
|
|
361 | server/player.c: In add_player() remove check for banned host - this was |
|
|
362 | already done if we reach this state. |
|
|
363 | socket/init.c, include/sockproto.h: Pass ip address as a string. |
|
|
364 | socket/loop.c: In doeric_server() check for banned host after a new connection |
|
|
365 | was accepted. |
|
|
366 | Andreas Kirschbaum 2005-12-07 |
|
|
367 | |
|
|
368 | Apply patch #1371956 (code cleanup patch) by Stefan Huehner: fix old-style |
|
|
369 | function declarations and prototypes to proper Ansi C syntax. This patch |
|
|
370 | allows the compiler to check function arguments and also removes some warnings |
|
|
371 | when compiling with -Wstrict-prototypes. |
|
|
372 | -- |
|
|
373 | All affected files: Convert "void foo()" into "void foo(void)". |
|
|
374 | Andreas Kirschbaum 2005-12-06 |
|
|
375 | |
|
|
376 | Fix bug #1173563 (Creator created Bombs malfunction): Creators and Converters |
|
|
377 | now copy items from inventory. Fallback (for empty inventory) is the old |
|
|
378 | behavior to create the new item from other_arch. If the inventory contains more |
|
|
379 | than one item, a random one is picked. |
|
|
380 | -- |
|
|
381 | common/loader.l: Mark inventory of CREATOR and CONVERTER as |
|
|
382 | FLAG_CONTENT_ON_GEN. |
|
|
383 | common/loader.c: Rebuilt. |
|
|
384 | common/object.c: Update x/y/map for non-head parts to make inserting multipart |
|
|
385 | objects via insert_ob_in_ob_at() work. |
|
|
386 | server/apply.c: In convert_item() consider inventory for item to create. |
|
|
387 | server/time.c: In move_creator() consider inventory for item to create. In |
|
|
388 | process_object() ignore item flagged as FLAG_IS_A_TEMPLATE. (Otherwise |
|
|
389 | bombs in inventories would explode prematurely.) |
|
|
390 | Andreas Kirschbaum 2005-12-05 |
|
|
391 | |
|
|
392 | New plugin property for player: marked item, added Python wrapper. |
|
|
393 | Modified files: |
|
|
394 | include/plugin.h |
|
|
395 | plugins/cfpython/cfpython_object.c |
|
|
396 | plugins/cfpython/include/cfpython_object_private.h |
|
|
397 | plugins/common/include/plugin_common.h |
|
|
398 | plugins/common/plugin_common.c |
|
|
399 | server/plugins.c |
|
|
400 | |
|
|
401 | plugins/cfpython/cfpython.c: fix invalid reference management. Don't return NULL but Py_None. |
|
|
402 | Ryo 2005-12-04 |
|
|
403 | |
|
|
404 | Fix bug #1372194 (stairways now block movement). |
|
|
405 | -- |
|
|
406 | random_maps/exit.c: In unblock_exits() check correct field move_block to find |
|
|
407 | blocking exits. |
|
|
408 | Andreas Kirschbaum 2005-12-03 |
|
|
409 | |
|
|
410 | server/apply.c: In move_apply() properly decrement recursion counter. |
|
|
411 | Andreas Kirschbaum 2005-12-02 |
|
|
412 | |
|
|
413 | server/spell_attack.c: Add some missing P_IS_ALIVE checks - these weren't |
|
|
414 | needed in the past because living objects would block movement - |
|
|
415 | with new movement code, isn't always the case. |
|
|
416 | server/time.c: Fix player movers so that if the victim doesn't have any |
|
|
417 | movement type, we move it. |
|
|
418 | MSW 2005-11-30 |
|
|
419 | |
|
|
420 | common/time.c: In move_teleporter() and move_player_mover() do not affect DMs |
|
|
421 | if FLAG_WIZPASS is set. |
|
|
422 | common/object.c: In check_move_on() do not affect DMs if FLAG_WIZPASS is set. |
|
|
423 | This prevents DMs from triggering traps when walking over them. |
|
|
424 | Andreas Kirschbaum 2005-11-30 |
|
|
425 | |
|
|
426 | common/map.c: Replace code with OB_TYPE_MOVE_BLOCK - effectively same as what |
|
|
427 | it was. |
|
|
428 | include/define.h: Update OB_TYPE_MOVE_BLOCK so that spaces that don't block |
|
|
429 | any type of movement doesn't block objects that also don't have movement. |
|
|
430 | This fixes cases of gates not pushing objects off them. |
|
|
431 | server/c_party.c: Remove double use of ->next pointer/loop in |
|
|
432 | confirm_party_password() - fixes crash and likely makes setting party |
|
|
433 | password work more reliably. |
|
|
434 | MSW 2005-11-29 |
|
|
435 | |
|
|
436 | common/object.c: Fix wrong comparision operator in free_object2() to make |
|
|
437 | monsters drop loot again. |
|
|
438 | Andreas Kirschbaum 2005-11-28 |
|
|
439 | |
|
|
440 | Basically added a parameter to 'skills' command to filter skills. And one char/const char* fix. |
|
|
441 | common/anim.c: use const char* for find_animation. |
|
|
442 | include/libproto.h: find_animation uses a const char*. |
|
|
443 | include/sproto.h: fix prototype. |
|
|
444 | server/c_wiz.c: send parameter to show_skills. |
|
|
445 | server/skill_util.c: add search parameter to show_skills command. |
|
|
446 | Ryo 2005-11-27 |
|
|
447 | |
|
|
448 | plugins/cfpython/cfpython_map.c: use wrappers instead of direct property access. |
|
|
449 | plugins/common/include/plugin_common.h: new wrappers for maps. |
|
|
450 | plugins/common/plugin_common.c: new wrappers for maps. |
|
|
451 | Ryo 2005-11-26 |
|
|
452 | |
|
|
453 | plugins/cfpython/Makefile.in: rebuilt. |
|
|
454 | Andreas Kirschbaum 2005-11-23 |
|
|
455 | |
|
|
456 | Plugins can now get archetypes. Added a check in cfapi_object_set_property to |
|
|
457 | prevent changing archtypes. |
|
|
458 | Fixed some Python bugs related to map properties. |
|
|
459 | Added Crossfire.GetArchetypes and Crossfire.GetMaps to get all archetypes/maps. |
|
|
460 | Modified files: |
|
|
461 | include/plugin.h sproto.h |
|
|
462 | plugins/cfpython/include: cfpython.h cfpython_map_private.h cfpython_object_private.h |
|
|
463 | plugins/cfpython/cfpython.c cfpython_map.c cfpython_object.c |
|
|
464 | server/plugins.c |
|
|
465 | New files: |
|
|
466 | plugins/cfpython/include/cfpython_archetype.h cfpython_archetype_private.h |
|
|
467 | plugins/cfpython/cfpython_archetype.c |
|
|
468 | Ryo 2005-11-20 |
|
|
469 | |
|
|
470 | server/shop.c: adjust minimum value that shop_specialisation_ratio can |
|
|
471 | return to 0.1. This should stop some prices being exceptionally high. |
|
|
472 | Brendan Lally 2005-11-19 |
|
|
473 | |
|
|
474 | Commit for new blocking code. Not going to dictate all the changes - |
|
|
475 | but will outline the broad points. Note also that the |
|
|
476 | doc/Developers/objects is updated and goes into more details also. |
|
|
477 | - check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK |
|
|
478 | and check against movement type of objects. |
|
|
479 | - arch_blocked() changed to ob_blocked(), now takes object. Needed because |
|
|
480 | just looking at archetype move_ values is no longer sufficient. |
|
|
481 | - find_first_free_spot() changed to take object, since it just calls |
|
|
482 | arch_blocked() |
|
|
483 | - FLAG_FLYING removed, now in move type. |
|
|
484 | - walk_on/walk_off/fly_on/fly_off removed - now based on move_on and |
|
|
485 | move_off fields. |
|
|
486 | - Map space structure extended to hold the move_on/move_off, etc |
|
|
487 | values so that we can shortcut some processing by not having to |
|
|
488 | check every object on the space when something enters it if |
|
|
489 | move_on isn't set. |
|
|
490 | - archetypes recollected - boulders needed move_walk to properly trigger |
|
|
491 | buttons. |
|
|
492 | - Note that the new plugin code has to be fixed up for the new movement |
|
|
493 | code. Look for FIXME in plugins/cfpython/cfpython_object.c |
|
|
494 | MSW 2005-11-15 |
|
|
495 | |
|
|
496 | Apply patch 1352485 newpickup rings/amulets courtesy anonymous user. |
|
|
497 | include/define.h: add PU_JEWELS |
|
|
498 | server/c_object.c: handle new type. |
|
|
499 | server/player.c: handle new type. |
|
|
500 | Ryo 2005-11-12 |
|
|
501 | |
|
|
502 | server/plugins.c: Properly update client view after removing objects. |
|
|
503 | Andreas Kirschbaum 2005-11-10 |
|
|
504 | |
|
|
505 | server/plugins.c: Properly update client view after changing object names. |
|
|
506 | server/plugins.c: Return an empty string if an object has no message. This |
|
|
507 | makes Object.Message() always return a string object, which removes the |
|
|
508 | need for special case code to handle empty messages. |
|
|
509 | include/sproto.h, server/monster.c: Declare parameter of communicate() as |
|
|
510 | "const". |
|
|
511 | Andreas Kirschbaum 2005-11-09 |
|
|
512 | |
|
|
513 | Implement new functions for the Python plugin: Object.WeightLimit, |
|
|
514 | Object.InsertInto(Object), Object.NamePl. Change Object.Name to set both name |
|
|
515 | and name_pl. This should prevents scripts from failing to set name_pl. |
|
|
516 | -- |
|
|
517 | plugins/cfanim/include/cfanim_proto.h, plugins/common/include/plugin_common.h: |
|
|
518 | Add prototypes. |
|
|
519 | plugins/cfpython/cfpython_object.c: Add callback functions for new Python |
|
|
520 | functions. |
|
|
521 | plugins/cfpython/include/cfpython_object_private.h: Add prototypes for |
|
|
522 | callback functions. Add callback functions to Python object descriptors. |
|
|
523 | plugins/common/plugin_common.c: Add missing helper functions. |
|
|
524 | Andreas Kirschbaum 2005-11-09 |
|
|
525 | |
|
|
526 | server/shop.c: When we are counting unpaid items and their values, to check |
|
|
527 | if a player may leave a shop, make certain that we count all of them, and |
|
|
528 | don't stop when we have dropped into a container (such as a spellbook) |
|
|
529 | Brendan Lally 2005-11-09 |
|
|
530 | |
|
|
531 | plugins/cfpython/cfpython.c: Add missing 'PyType_Ready' calls for map and player, |
|
|
532 | failure to do so crashes with Python objects destructors set to 0. |
|
|
533 | Ryo 2005-11-07 |
|
|
534 | |
|
|
535 | server/spell_effect.c: fix WoR not executing on cursed ground with WIZCAST set. |
|
|
536 | Ryo 2005-11-06 |
|
|
537 | |
|
|
538 | server/skills.c: In do_throw() abort processing if the thrown object was |
|
|
539 | destroyed before it gets its first move. |
|
|
540 | Andreas Kirschbaum 2005-11-06 |
|
|
541 | |
|
|
542 | server/build_map.c: test FLAG_IS_FLOOR too, type == FLOOR is not always enough. |
|
|
543 | Ryo 2005-11-05 |
|
|
544 | |
|
|
545 | server/shop.c: In value_limit() return the unmodified item price if not in a |
|
|
546 | shop or not for a player. |
|
|
547 | Andreas Kirschbaum 2005-11-05 |
|
|
548 | |
|
|
549 | plugins/cfpython/cfpython.c: added GetPrivateDictionary and GetSharedDictionary |
|
|
550 | methods to keep data between runs and share data between scripts. |
|
|
551 | Ryo 2005-11-05 |
|
|
552 | |
|
|
553 | plugins/Makefile,plugins/cfanim/Makefile: Remove files to be generated by |
|
|
554 | configure. |
|
|
555 | server/main.c: Fix possible out-of-bounds array access. |
|
|
556 | Andreas Kirschbaum 2005-11-05 |
|
|
557 | |
|
|
558 | Fix case for [sg]etReturnValue. Add compare operator for object and map (of course |
|
|
559 | only == is relevant). |
|
|
560 | Modified files: |
|
|
561 | plugins/cfpython/include/cfpython_map_private.h |
|
|
562 | plugins/cfpython/include/cfpython_object_private.h |
|
|
563 | plugins/cfpython/cfpython.c |
|
|
564 | plugins/cfpython/cfpython_map.c |
|
|
565 | plugins/cfpython/cfpython_object.c |
|
|
566 | Ryo 2005-11-05 |
|
|
567 | |
|
|
568 | aclocal.m4, configure, utils/config.guess, utils/config.sub, utils/ltmain.sh, |
|
|
569 | *Makefile.in, plugins/cfanim/Makefile, plugins/Makefile: Rebuilt. |
|
|
570 | lib/Makefile.am: Add template-maps to list of directories to create while |
|
|
571 | install. |
|
|
572 | Andreas Kirschbaum 2005-11-05 |
|
|
573 | |
|
|
574 | lib/wizhelp/reset: document use of '.' as an argument |
|
|
575 | Brendan Lally 2005-11-05 |
|
|
576 | |
|
|
577 | random_maps/treasure.c: Fix out-of-bounds array access if place_chest() cannot |
|
|
578 | find a free spot to place a new chest. |
|
|
579 | Andreas Kirschbaum 2005-11-01 |
|
|
580 | |
|
|
581 | Fix bug #1082534 (monks with weapons): Now monks properly are denied from |
|
|
582 | using weapons. Only newly created monks are affected since it now relies on a |
|
|
583 | force named "no weapon force" in the player's inventory. The problem was that |
|
|
584 | become_follower() assumed it was the only means do allow/disallow weapon use. |
|
|
585 | -- |
|
|
586 | server/gods.c: Do not let the god allow using weapons if a "no weapon force" |
|
|
587 | object is present in the player's inventory. |
|
|
588 | lib/treasures: add force to monk's treasure list. |
|
|
589 | Andreas Kirschbaum 2005-11-01 |
|
|
590 | |
|
|
591 | Fix bug #815620 (CFPython.SetQuantity() doesn't update client): now notifies |
|
|
592 | the client after changing nrof and/or weight. |
|
|
593 | -- |
|
|
594 | server/plugins.c: Re-calculate player's weight and send item change |
|
|
595 | notifications in cfapi_object_set_property(). |
|
|
596 | Andreas Kirschbaum 2005-11-01 |
|
|
597 | |
|
|
598 | Improve newpickup command: add new flag PU_NOT_CURSED to ignore cursed items. |
|
|
599 | -- |
|
|
600 | include/define.h: Add flag #define. |
|
|
601 | server/c_object.c: Add "notcursed" option to pickup command. |
|
|
602 | server/player.c: Respect new flag in check_pickup(). |
|
|
603 | Andreas Kirschbaum 2005-11-01 |
|
|
604 | |
|
|
605 | plugins/cfanim/cfanim.c: remove printf for properties. Export functions for DLL |
|
|
606 | for Win32. |
|
|
607 | plugins/cfanim/cfanim.h: remove obsolete definitions (see plugin_common.h). |
|
|
608 | plugins/cfanim/cfanim_proto.h: fix definition for exported functions. |
|
|
609 | plugins/common/plugin_common.c: add gettimeofday for Win32. |
|
|
610 | plugins/common/include/plugin_common.h: add gettimeofday for Win32. |
|
|
611 | Ryo 2005-11-01 |
|
|
612 | |
|
|
613 | server/plugins.c: Print error message for event_xxx objects with missing or |
|
|
614 | invalid parameters. Also remove the affected object to prevent multiple |
|
|
615 | error messages. |
|
|
616 | Andreas Kirschbaum 2005-11-01 |
|
|
617 | |
|
|
618 | Add new function object_get_env_recursive() to find the outermost environment |
|
|
619 | object for a given object. |
|
|
620 | -- |
|
|
621 | common/object.c, include/libproto.h: Add function. |
|
|
622 | server/{rune.c,spell_attack.c}: Use function where appropriate. |
|
|
623 | Andreas Kirschbaum 2005-11-01 |
|
|
624 | |
|
|
625 | General cleanup of weather code. |
|
|
626 | -- |
|
|
627 | server/weather: Declare many functions and variables as "static", add |
|
|
628 | prototypes for affected functions. Declare some variables as "const". |
|
|
629 | include/sproto.h: Remove prototypes for now static functions. |
|
|
630 | include/tod.h: Add "const" to strings. |
|
|
631 | Andreas Kirschbaum 2005-11-01 |
|
|
632 | |
|
|
633 | Fix bug #1102975 (Bronze items not keeping their + in alchemy): the problem |
|
|
634 | was that a formula for full_helmet did exist but not for b_full_helmet. Since |
|
|
635 | both helmet's names are "full helmet", the recipe was selected even if using |
|
|
636 | the ingredient b_full_helmet. This fix adds new formulae for alternative |
|
|
637 | archetypes with the same name as the base object, and makes the server code |
|
|
638 | select the matching formula from multiple arch names in the "arch" field. |
|
|
639 | -- |
|
|
640 | common/readable.c: Use new fields to build messages. |
|
|
641 | common/recipe.c: Make alchemy work for recipes with multiple base archetypes. |
|
|
642 | include/{libproto.h,sproto.h}: Update prototype. |
|
|
643 | include/recipe.h: Split string field arch_name into string list fields |
|
|
644 | arch_name and arch_names. |
|
|
645 | lib/formulae: Add archetype names to formulae for all items with same name as |
|
|
646 | the base object. Also fix a few name mismatches that prevent any object |
|
|
647 | from matching, and change transmution formulae to normal formulae where |
|
|
648 | base name does not match archetype name. |
|
|
649 | server/alchemy.c: Disable debugging code. Make alchemy work for recipes with |
|
|
650 | multiple base archetypes. |
|
|
651 | Andreas Kirschbaum 2005-10-31 |
|
|
652 | |
|
|
653 | server/c_wiz.c: Don't crash on "create" a living thing that has some part |
|
|
654 | out of the map. Forbid removing a 'PLAYER' object. |
|
|
655 | Ryo 2005-10-31 |
|
|
656 | |
|
|
657 | random_maps/style.c: Pass correct sorting function to qsort(): the sorted |
|
|
658 | array contains pointers to strings, not strings. |
|
|
659 | Andreas Kirschbaum 2005-10-29 |
|
|
660 | |
|
|
661 | Fix bug #1236244 (Exp from scrolls): reading a scroll of charm monsters or |
|
|
662 | meteor swarm now gives exp for use magic item, not summoning or pyromancy. |
|
|
663 | -- |
|
|
664 | server/spell_attack.c: In mood_change() use skill from scroll, not from spell. |
|
|
665 | In move_swarm_spell() use the spell "owner" as the object casting the |
|
|
666 | spell. |
|
|
667 | Andreas Kirschbaum 2005-10-29 |
|
|
668 | |
|
|
669 | include/config.h: DEBUG just been defined, no need to define it again. |
|
|
670 | include/win32.h: typedef for socklen_t. |
|
|
671 | random_maps/random_map.c: generate_random_map can use a const char*. |
|
|
672 | random_maps/rproto.h: fix generate_random_map definition. |
|
|
673 | server/plugins.c: EVENT_CRASH doesn't really need a parameter, especially if |
|
|
674 | not initialized :) |
|
|
675 | Ryo 2005-10-29 |
|
|
676 | |
|
|
677 | |
|
|
678 | Prevent problems (crashes) for large item piles. Now limit nrof to less than |
|
|
679 | 2^31. |
|
|
680 | -- |
|
|
681 | common/object.c: In CAN_MERGE() pretend that the objects are not mergeable if |
|
|
682 | the nrof sum would overflow. |
|
|
683 | common/porting.c: Fix buffer overflow for large numbers in ltostr10(). Also |
|
|
684 | make n=1L<<31 work correctly. |
|
|
685 | plugins/cfpython/cfpython_object.c: In Object_SetQuantity() raise an exception |
|
|
686 | for negative nrof values. |
|
|
687 | plugins/common/plugin_common.c: Reject negative nrof values in |
|
|
688 | cf_object_set_nrof(). |
|
|
689 | plugins/cfanim/include/cfanim_proto.h, plugins/common/include/plugin_common.h: |
|
|
690 | Update prototype. |
|
|
691 | server/plugins.c: Treat negative nrof as nrof=0 when setting |
|
|
692 | CFAPI_OBJECT_PROP_NROF property. |
|
|
693 | server/time.c: In move_duplicator() limit nrof of created items. |
|
|
694 | Andreas Kirschbaum 2005-10-29 |
|
|
695 | |
|
|
696 | Fix compiler warnings. Most changes do not change the program (remove unused |
|
|
697 | variables, convert "if(x = y)" into "x = y; if(x)"); a few actually fix |
|
|
698 | (possible) problems (fix uninitialized variables, fix printf format |
|
|
699 | specifiers, fix mismatches between signed and unsigned variables, add missing |
|
|
700 | return and default statements). |
|
|
701 | -- |
|
|
702 | Affected files: |
|
|
703 | common/{arch.c,init.c,item.c,map.c,object.c,re-cmp.c,readable.c,region.c, |
|
|
704 | shstr.c}, crossedit/{Attr.c,Edit.c,Cnv/CnvPath.c}, include/sproto.h, |
|
|
705 | plugins/cfanim/cfanim.c, plugins/cfpython/{cfpython.c,cfpython_object.c}, |
|
|
706 | plugins/cfpython/include/{cfpython_map_private.h,cfpython_object_private.h}, |
|
|
707 | random_maps/{rogue_layout.c,special.c,square_spiral.c}, |
|
|
708 | server/{apply.c,attack.c,build_map.c,c_misc.c,c_object.c,c_party.c,init.c, |
|
|
709 | main.c,monster.c,pets.c,player.c,plugins.c,shop.c,skill_util.c,spell_util.c, |
|
|
710 | weather.c}, socket/{loop.c,request.c} |
|
|
711 | Andreas Kirschbaum 2005-10-28 |
|
|
712 | |
|
|
713 | Fixes my previous commit. Should now properly allocate/deallocate the |
|
|
714 | faces_sent array. |
|
|
715 | -- |
|
|
716 | common/player.c: Free faces_sent in free_player(). |
|
|
717 | include/newserver.h: Add field faces_sent_len to NewSocket struct. |
|
|
718 | server/player.c: Allocate and copy faces_sent in add_player(). |
|
|
719 | socket/init.c: Use faces_sent_len in InitConnection(). |
|
|
720 | socket/loop.c: Initialize faces_sent_len in doeric_server(). |
|
|
721 | Andreas Kirschbaum 2005-10-28 |
|
|
722 | |
|
|
723 | The archetypes now contain more than MAXFACENUM (5000) faces. The following |
|
|
724 | changes remove the fixed limit of the number of faces. The server now |
|
|
725 | allocates enough memory to handle all defined faces. |
|
|
726 | include/newserver.h: Remove MAXFACENUM since it is not used anymore. Change |
|
|
727 | NewSocket.faces_sent from array into pointer. |
|
|
728 | socket/{init.c, loop.c}: Allocate/initialize NewSocket.faces_sent. |
|
|
729 | socket/request.c: Remove safeguard/error message since it depends on |
|
|
730 | MAXFACENUM. |
|
|
731 | Andreas Kirschbaum 2005-10-24 |
|
|
732 | |
|
|
733 | Code improvements: |
|
|
734 | common/image.c: Declare some variables and functions as static or const; add |
|
|
735 | safeguards while loading config files; remove support for numeric face |
|
|
736 | names (no active archetype or map does use it); in free_all_images() |
|
|
737 | deallocate memory allocated for smoothing. |
|
|
738 | crossedit/xutil.c: Remove assignment to nrofpixmaps since ReadBmapNames() |
|
|
739 | already sets this variable. |
|
|
740 | include/{global.h, libproto.h, loader.h}: Remove now static variables and |
|
|
741 | functions. |
|
|
742 | Andreas Kirschbaum 2005-10-24 |
|
|
743 | |
|
|
744 | common/readable.c: Fix out of bounds access to max_titles[] in |
|
|
745 | init_book_archive(). |
|
|
746 | common/image.c, include/define.h, include/global.h: Remove unused variables |
|
|
747 | potion_face and POTION_FACE_NAME. |
|
|
748 | common/image.c, include/global.h: Remove unused variable blank_look. |
|
|
749 | Andreas Kirschbaum 2005-10-24 |
|
|
750 | |
|
|
751 | Make shout command work in old socket emulation mode. |
|
|
752 | common/commands.c: Sort all command arrays in init_commands(). |
|
|
753 | Andreas Kirschbaum 2005-10-23 |
|
|
754 | |
|
|
755 | common/item.c - fix spelling mistake |
|
|
756 | common/utils.c include/libproto.h - new function make_list_like that takes a |
|
|
757 | string of comma deliminated words, and puts an and in the right place. |
|
|
758 | include/sproto.h server/apply.c server/shop.c -new function can_pay - checks |
|
|
759 | that a player can pay for every unpaid item that they are holding before |
|
|
760 | starting to purchase them. |
|
|
761 | Brendan Lally 2005-10-21 |
|
|
762 | |
|
|
763 | plugins/cfpython/{Makefile.in, Makefile.am}, plugins/cfpython/include/cfpython.h: |
|
|
764 | Corrected improper regeneration of the function prototypes using |
|
|
765 | "make proto" for the cfpython plugin. |
|
|
766 | Gros 2005-10-20 |
|
|
767 | |
|
|
768 | plugins/cfpython/{cfpython.c, cfpython_object.c, cfpython_map.c}, |
|
|
769 | plugins/cfanim/cfanim.c, plugins/common/plugin_common.c, server/plugins.c: |
|
|
770 | Added support for execution of python_init.py upon initialization of cfpython. |
|
|
771 | Reduced the console spam produced by various leftover debugging messages. |
|
|
772 | Gros 2005-10-19 |
|
|
773 | |
|
|
774 | plugins/common/include/plugin_common.h: add CF_PLUGIN macro. |
|
|
775 | plugins/cfpython/cfpython.c: add CF_PLUGIN to exported functions. |
|
|
776 | plugins/cfpython/include/cfpython_proto.h: fix prototypes. |
|
|
777 | Ryo 2005-10-19 |
|
|
778 | |
|
|
779 | plugin/*, plugin_logger/*, plugin_anim/*, plugins/*, |
|
|
780 | server/{apply.c, attack.c, c_chat.c, c_object.c, c_wiz.c, gods.c, main.c, |
|
|
781 | monster.c, player.c, skills.c, swap.c, time.c, timers.c}, include/{plugin.h, |
|
|
782 | sproto.h}: Replaced the old plugin interface by the 2.0 one. |
|
|
783 | Upgraded the Python and Animator ones to the new interface. |
|
|
784 | Removed obsolete Logger plugin. |
|
|
785 | Gros 2005-10-19 |
|
|
786 | |
|
|
787 | server/main.c: Template Maps: Allow %x, %y, and %n in the path to respectively be |
|
|
788 | replaced with, the x coord, the y coord, and the parent map name. |
|
|
789 | Alex Schultz 2005-10-18 |
|
|
790 | |
|
|
791 | server/{main.c, swap.c}, common/map.c, include/{libproto.h, map.h}: Add support |
|
|
792 | for random template maps (still need to document, and still need to add support |
|
|
793 | for template maps created from non-random templates) |
|
|
794 | Alex Schultz 2005-10-16 |
|
|
795 | |
|
|
796 | common/info.c: fix -m1 crashing (34 chars, not 32!), and -m2 crashing under Win32. |
|
|
797 | include/sproto.h: fix cast_change_ability definition. |
|
|
798 | server/gods.c: fix cast_change_ability to hide the 'can't recast' message. |
|
|
799 | server/spell_effect.c: don't stack word of recall forces. Add a 'silent' parameter |
|
|
800 | to cast_change_ability to not display 'can't recast xx while xx is in effect' |
|
|
801 | server/spell_util.c: fix cast_change_ability call. |
|
|
802 | Ryo 2005-10-16 |
|
|
803 | |
|
|
804 | include/{global.h, sproto.h, config.h}, server/init.c, common/init.c, lib/Makefile.in: |
|
|
805 | Add directory in preparation for template (where the template can optionally be |
|
|
806 | from the random map generator) maps. |
|
|
807 | Alex Schultz 2005-10-15 |
|
|
808 | |
|
|
809 | server/c_wiz.c: make reset command show the names of other players on the |
|
|
810 | map when it fails. |
|
|
811 | Brendan Lally 2005-10-14 |
|
|
812 | |
|
|
813 | server/c_party.c: fix another obscure party crash bug |
|
|
814 | Brendan Lally 2005-10-12 |
|
|
815 | |
|
|
816 | server/c_party.c: fix a couple of loops that could crash under certain circumstances |
|
|
817 | Brendan Lally 2005-10-11 |
|
|
818 | |
|
|
819 | common/object.c: use canonical_key instead of key, else == always fails. |
|
|
820 | server/apply.c: drop "on_use_yield" item if required when applying potion, food or poison. |
|
|
821 | This lets players get empty bottles/vials/... when using potions. |
|
|
822 | Ryo 2005-10-09 |
|
|
823 | |
|
|
824 | Added GetMarkedItem to Python, cleaned compilation warnings. |
|
|
825 | plugin/plugin_python.c |
|
|
826 | plugin/include/plugin_python.h |
|
|
827 | |
|
|
828 | Moved gps code to Python script, thus cleaning relevant code from server core. |
|
|
829 | common/item.c: remove item description. |
|
|
830 | include/define.h: remove gps define. |
|
|
831 | server/apply.c: remove gps function. |
|
|
832 | Ryo 2005-10-08 |
|
|
833 | |
|
|
834 | Prevent objects from losing inventory when thrown. |
|
|
835 | include/libproto.h, common/object.c: Add new parameter "free_inventory" to |
|
|
836 | free_object(). Is set, free inventory as well instead of dropping it on the |
|
|
837 | ground. |
|
|
838 | common/object.c: In get_split_ob() prevent inventory of splitted object to be |
|
|
839 | dropped. |
|
|
840 | Andreas Kirschbaum 2005-10-07 |
|
|
841 | |
|
|
842 | common/object.c: Use object_create_clone in get_split_ob; Fixes things inside |
|
|
843 | of objects disappearing when throwing. |
|
|
844 | Alex Schultz 2005-10-7 |
|
|
845 | |
|
|
846 | Make damage done by area spells not depend on monster size. |
|
|
847 | include/sproto.h, server/attack.c: Add additional parameter "full_hit" to |
|
|
848 | hit_map() and hit_player(). If set, do full damage, if unset scale down by |
|
|
849 | monster size. |
|
|
850 | server/{apply.c, attack.c, disease.c, monster.c, player.c, rune.c, |
|
|
851 | spell_attack.c, spell_effect.c, spell_util.c, time.c}: Change callers to set |
|
|
852 | "full_hit" parameter according to the attack used. |
|
|
853 | Andreas Kirschbaum 2005-10-07 |
|
|
854 | |
|
|
855 | common/{arch.c, object.c}, crossedit/{Attr.c, Defines.h, Edit.c}, |
|
|
856 | include/libproto.h, server/{plugins.c, time.c}: Rename functions with |
|
|
857 | mixed-case names to lower case only. |
|
|
858 | crossedit/Defines.h: Remove prototypes for nonexisting functions. |
|
|
859 | Andreas Kirschbaum 2005-10-07 |
|
|
860 | |
|
|
861 | server/apply.c: In prepare_weapon() do not lose a reference to the item name. |
|
|
862 | Andreas Kirschbaum 2005-10-06 |
|
|
863 | |
|
|
864 | include/sproto.h, server/shop.c - make value_limit static, change its |
|
|
865 | arguments to add some checking for NULL pointers |
|
|
866 | Brendan Lally 2005-10-06 |
|
|
867 | |
|
|
868 | server/monster.c: In move_monster() prevent hp/sp overflows for monsters with |
|
|
869 | very high maxhp/maxsp and very high regeneration rates. |
|
|
870 | Andreas Kirschbaum 2005-10-05 |
|
|
871 | |
|
|
872 | common/treasure.c - prevent crashes with some broken treasure lists. |
|
|
873 | Brendan Lally 2005-10-05 |
|
|
874 | |
|
|
875 | server/shop.c: convert val to sint64 - compilation issues with Win32. Checked with |
|
|
876 | patch author that it's fine. |
|
|
877 | Ryo 2005-10-04 |
|
|
878 | |
|
|
879 | common/map.c - fix output names in new_save_map |
|
|
880 | -- |
|
|
881 | server/shop.c - don't assume that shop_specialisation_ratio only gets passed |
|
|
882 | items with valid types. |
|
|
883 | -- |
|
|
884 | common/map.c - /actually/ fix pointer issue |
|
|
885 | -- |
|
|
886 | common/map.c - fix potential issue with NULL pointer |
|
|
887 | Brendan Lally 2005-10-04 |
|
|
888 | |
|
|
889 | common/map.c - fix an inequality in for loop - not sure if this actually |
|
|
890 | fixes anything of note, but the previous form was definatly wrong. |
|
|
891 | |
|
|
892 | common/item.c - big item type table, function to deal therewith |
|
|
893 | common/loader.l - add player_sold flag |
|
|
894 | common/map.c - shop related header parsing |
|
|
895 | include/define.h - define typedata, player_sold flag and some new shop flags |
|
|
896 | include/libproto.h - define typedata related functions |
|
|
897 | include/map.h - define new shop headers |
|
|
898 | include/sproto.h - define new functions in shop.c |
|
|
899 | server/apply.c - Change shop mat usage message |
|
|
900 | server/c_object.c - Change display of price estimates |
|
|
901 | server/shop.c - new functions describe_shop, value_limit, shopkeeper_approval, |
|
|
902 | shop_greed, shop_specialisation_ratio, substantially alter query_cost_string |
|
|
903 | and query_cost to make use of these |
|
|
904 | server/skill_util.c - make bargaining a directly usable skill |
|
|
905 | doc/Developers/shops - document the above |
|
|
906 | doc/Developers/maps-technical - add shopheader names, and reference to shops doc |
|
|
907 | Brendan Lally 2005-10-03 |
|
|
908 | |
|
|
909 | server/disease.c: check for value <= 0 as some diseases get dumped on a map |
|
|
910 | with value == 0 (negative values will eventually underflox, but it'll take time). |
|
|
911 | |
|
|
912 | Apply patches courtesy quisar. |
|
|
913 | #1307880 Allow to add a param to the cast command |
|
|
914 | #1306987 Allow to summon lower level pet monsters |
|
|
915 | Modified files: |
|
|
916 | include/player.h sproto.h |
|
|
917 | server/c_range.c login.c pets.c player.c spell_util.c |
|
|
918 | Ryo 2005-10-01 |
|
|
919 | |
|
|
920 | common/button.c: explicit cast of stats.food to uint32 when used as sacrifice count. |
|
|
921 | common/image.c: strlen returns size_t. Remove unused FindFaceName. |
|
|
922 | common/object.c: obj::count is tag_t. Can't decrease item's nrof by a negative value. |
|
|
923 | include/libproto.h: fix prototypes. |
|
|
924 | include/player.h: weight and weight_limit are sint32, so last_ should be the same. |
|
|
925 | include/sproto.h: nrof is uint32, not int. |
|
|
926 | server/apply.c: nrof is uint32, can't eat a negative number of items. obj::count is tag_t. |
|
|
927 | server/c_misc.c: remove unused variable. |
|
|
928 | server/c_object.c: use uint32 instead of int to specify number of items to drop/put. |
|
|
929 | server/plugins.c: strlen returns size_t. |
|
|
930 | server/spell_effect.c: distances are uint32 and not int. |
|
|
931 | socket/loop.c: remove now obsolete cast of -1 to uint32 for last_weight. |
|
|
932 | socket/request.c: explicit cast of weight_limit to sint32 when comparing to last_weight. |
|
|
933 | Ryo 2005-10-01 |
|
|
934 | |
|
|
935 | plugin/plugin_python.c: added CF[SG]etWeightLimit. |
|
|
936 | plugin/include/plugin_python.h: function prototypes. |
|
|
937 | server/plugins.c: update player inventory if item teleporter from that. |
|
|
938 | Ryo 2005-09-30 |
|
|
939 | |
|
|
940 | lib/collect.pl.in: can now use lines like "attacktype fire electricity poison" instead |
|
|
941 | of hard to remember numbers. Numbers are still supported, you can even mix both. |
|
|
942 | Ryo 2005-09-28 |
|
|
943 | |
|
|
944 | server/spell_effect.c: In recharge() verify that the object to charge is in |
|
|
945 | fact a wand or staff. |
|
|
946 | Andreas Kirschbaum 2005-09-27 |
|
|
947 | |
|
|
948 | Changed quest behaviour, now uses its own archetypes. Can change npc/magic ear |
|
|
949 | text based on quest status. |
|
|
950 | Warning: not totally tested. Quest start/end works, rest needs some tweaks & fixes. |
|
|
951 | common/quest.c: new functions, some cleaning. |
|
|
952 | doc/Developers/quest: update (partially). |
|
|
953 | include/define.h: new item types. |
|
|
954 | include/libproto.h: new definitions. |
|
|
955 | server/c_misc.c: update. |
|
|
956 | server/monster.c: take into account quest overrides. |
|
|
957 | server/time.c: markers now start/end tasks if needed. |
|
|
958 | Ryo 2009-09-25 |
|
|
959 | |
|
|
960 | server/c_party.c - fix another party list corruption bug, and a couple of |
|
|
961 | possible infinite loops |
|
|
962 | Brendan Lally 2005-09-25 |
|
|
963 | |
|
|
964 | Clean some compilation warnings. |
|
|
965 | common/map.c: remove unused variable. |
|
|
966 | common/readable.c: strlen returns size_t. |
|
|
967 | include/object.h: objectlink id should be tag_t since it's the item's "count" field. |
|
|
968 | server/c_misc.c: strlen returns size_t. |
|
|
969 | server/c_object.c: strlen returns size_t. |
|
|
970 | server/c_party.c: remove_party returns void, value not used anyway. Fordward declaration. |
|
|
971 | server/c_wiz.c: settings.worldmaptiles[x|y] is uint32. |
|
|
972 | server/gods.c: strlen returns size_t. |
|
|
973 | server/hiscore.c: maxchar is const. |
|
|
974 | server/skill_util.c: strlen_returns size_t. |
|
|
975 | Ryo 2005-09-25 |
|
|
976 | |
|
|
977 | include/player.h sproto.h |
|
|
978 | server/attack.c c_party.c player.c |
|
|
979 | Fix several bugs in patch #1194964, including one that caused segfaults |
|
|
980 | one that corrupted the party list, and one that broke party password recognition |
|
|
981 | remove partyid from the party struct - use party pointers instead |
|
|
982 | remove functions find_party() and find_party_struct() - no longer needed or used. |
|
|
983 | make form_party a local function - it is only used by the party form command, |
|
|
984 | and can't easy be used safely elsewhere. |
|
|
985 | Brendan Lally 2005-09-25 |
|
|
986 | |
|
|
987 | server/build_map.c: remove unused variable. |
|
|
988 | -- |
|
|
989 | Commit patch #1194964 (party obsoletion) by cavesomething. |
|
|
990 | Affected files: |
|
|
991 | include/player.h sproto.h |
|
|
992 | server/apply.c attack.c c_party.c login.c main.c pets.c player.c |
|
|
993 | skill_util.c skills.c spell_util.c |
|
|
994 | -- |
|
|
995 | include/win32.h: turn off harmless warning. |
|
|
996 | Ryo 2005-09-24 |
|
|
997 | |
|
|
998 | Fix bug #744327 ('immortal' monsters): Prevent monsters from loosing hp or sp |
|
|
999 | if they have negative Con/Pow. For hp, this made some monsters unkillable |
|
|
1000 | because they eventually had negative hp. |
|
|
1001 | -- |
|
|
1002 | server/monster.c: In move_monster() do gain hp/sp only if Con/Pow is positive. |
|
|
1003 | Andreas Kirschbaum 2005-09-24 |
|
|
1004 | |
|
|
1005 | Update client inventory view for players dieing in a shop with unpaid items in |
|
|
1006 | inventory. |
|
|
1007 | -- |
|
|
1008 | server/player.c: Send removed item to client in remove_unpaid_objects(). Do |
|
|
1009 | not call remove_unpaid_objects() multiple times in kill_player(). |
|
|
1010 | Andreas Kirschbaum 2005-09-17 |
|
|
1011 | |
|
|
1012 | Allow directors/movers to specify a specific arch/name/race. |
|
|
1013 | include/sproto.h: Add should_director_abort to here. |
|
|
1014 | server/{apply.c, time.c}: Add should_director_abort for the logic code |
|
|
1015 | for this change, and add checks for it in director/mover code. |
|
|
1016 | doc/Developers/objects: Add documentation for directors including this |
|
|
1017 | change, and update mover documentation. |
|
|
1018 | Alex Schultz 2005-09-15 |
|
|
1019 | |
|
|
1020 | Make untriggered TIMED_GATEs work again. |
|
|
1021 | server/apply.c: Clear object speed only for connected objects. |
|
|
1022 | Andreas Kirschbaum 2005-09-13 |
|
|
1023 | |
|
|
1024 | This change is mostly cosmetic and a preparation for the new movement |
|
|
1025 | type code. Basically, it just changes the old object movement_type |
|
|
1026 | field to attack_movement. This makes sense because that is what that |
|
|
1027 | field is called in saved and loaded objects/archetypes, and thus |
|
|
1028 | frees up that name for the new movement code. |
|
|
1029 | -- |
|
|
1030 | common/button.c: field name change |
|
|
1031 | common/loader.{cl}: field name change |
|
|
1032 | doc/Developers/objects: Add section on new movement types, update old |
|
|
1033 | documentation to note it is attack_movement and not movement_type |
|
|
1034 | field that is important. |
|
|
1035 | include/object.h: field name change. |
|
|
1036 | server/attack.c: field name change. |
|
|
1037 | server/monster.c: field name change |
|
|
1038 | server/pets.c: field name change |
|
|
1039 | server/skills.c: field name change. |
|
|
1040 | server/spell_attack.c: field name change |
|
|
1041 | server/spell_effect.c: field name change |
|
|
1042 | MSW 2005-09-12 |
|
|
1043 | |
|
|
1044 | Allow a DM to cast spells and prayers in no-magic/no-prayer areas. Add new |
|
|
1045 | command "wizcast" to toggle this setting. |
|
|
1046 | common/loader.l: Set/reset FLAG_WIZCAST for flag "wiz". |
|
|
1047 | common/loader.c: Rebuilt |
|
|
1048 | include/define.h: Add new flag FLAG_WIZCAST; remove unused flag |
|
|
1049 | FLAG_NO_PRETEXT. |
|
|
1050 | lib/Makefile.am: Add new help file for wizcast. |
|
|
1051 | lib/Makefile.in: Rebuilt. |
|
|
1052 | plugin_animator/plugin_animator.c: Set/reset FLAG_WIZCAST in animate_one(). |
|
|
1053 | server/apply.c: Always allow FLAG_WIZCAST to enchant weapons and armour. |
|
|
1054 | server/c_misc.c: Add new function command_wizcast(). |
|
|
1055 | server/c_wiz.c: Set/reset FLAG_WIZCAST when entering/leaving DM mode. |
|
|
1056 | server/commands.c: Add "wizcast" command. |
|
|
1057 | server/spell_effect.c: Always allow FLAG_WIZCAST to use the spell probe. |
|
|
1058 | server/spell_util.c: Always allow FLAG_WIZCAST to cast spells and prayers. |
|
|
1059 | Andreas Kirschbaum 2005-09-09 |
|
|
1060 | |
|
|
1061 | server/monster.c: Set FLAG_READY_SKILL in monster_check_apply() for monsters |
|
|
1062 | with skills. This fixes hill giants and trolls not throwing boulders |
|
|
1063 | anymore. |
|
|
1064 | server/monster.c: Add missing "break" statement in monster_can_pick(). It did |
|
|
1065 | prevent some monsters from picking up scrolls. |
|
|
1066 | Andreas Kirschbaum 2005-09-08 |
|
|
1067 | |
|
|
1068 | common/{anim.c, image.c, los.c, map.c, porting.c, treasure.c}, |
|
|
1069 | include/define.h, random_maps/treasure.c, |
|
|
1070 | server/{apply.c, c_misc.c, c_object.c, c_wiz.c, commands.c, daemon.c, |
|
|
1071 | hiscore.c, init.c, login.c, player.c, plugins.c, resurrection.c, weather.c}, |
|
|
1072 | socket/{init.c, item.c, loop.c, lowlevel.c}: Use LOG() for error messages and |
|
|
1073 | debug output instead of stdout/stderr. Include filename in error messages. |
|
|
1074 | server/resurrection.c: Fix error message in read_player(). |
|
|
1075 | Andreas Kirschbaum 2005-09-04 |
|
|
1076 | |
|
|
1077 | socket/item.c: Make selecting objects from ground view work again. |
|
|
1078 | common/object.c: Fix update of player's ground view in insert_ob_in_map(). |
|
|
1079 | Previously the ground view was not updated after applying exits or after |
|
|
1080 | being hit by a spell. |
|
|
1081 | Andreas Kirschbaum 2005-09-03 |
|
|
1082 | |
|
|
1083 | Fix bug #1102991 (Duplicate grapical display of the same monster): |
|
|
1084 | doc/Developers/protocol: Change semantics of map_scroll command to what the |
|
|
1085 | server actually does: big faces outside the viewable area are cleared. Add |
|
|
1086 | newmap command. |
|
|
1087 | include/newserver.h: Increase MAX_HEAD_OFFSET to 8 (the size of a Greater |
|
|
1088 | Demon). |
|
|
1089 | socket/request.c: |
|
|
1090 | MapRedrawCmd(): Disable mapredraw command; it is now just ignored. |
|
|
1091 | MapNewmapCmd(): Clear map state before sending newmap command. |
|
|
1092 | check_head(): Remove redundant code. |
|
|
1093 | update_space(): Move invariant condition out of loop to speed it up. Fix |
|
|
1094 | uninitialized variable. Remove redundant condition. Fix off-by-one array |
|
|
1095 | access. |
|
|
1096 | update_smooth(): Remove unused code. Properly send cleared big faces. |
|
|
1097 | draw_client_map(): Remove duplicate check. Properly clear newly visible |
|
|
1098 | area when scrolling the map. |
|
|
1099 | Andreas Kirschbaum 2005-08-31 |
|
|
1100 | |
|
|
1101 | common/{loader.l, map.c, object.c}, include/{define.h, map.h, object.h}: |
|
|
1102 | Accelerate map loading (a lot) and map saving (a bit) codes to improve map |
|
|
1103 | transition experience. |
|
|
1104 | common/loader.c: Rebuilt. |
|
|
1105 | |
|
|
1106 | Add (slightly reformatted) patch #1276121 (Crossedit: handle big faces) by |
|
|
1107 | Kevin Rudat: |
|
|
1108 | crossedit/CrEdit.c: UpdatePosition(): Use new drawing subroutines. |
|
|
1109 | crossedit/CrFace.c: DrawObject(): Use new drawing subroutine. |
|
|
1110 | crossedit/CrList.c: Redisplay(): Use new drawing subroutine. |
|
|
1111 | crossedit/CrUtil.c, crossedit/CrUtil.h: Remove FaceDraw(), add DrawFacePart() |
|
|
1112 | and DrawPartObject(). |
|
|
1113 | crossedit/png.c: Upload the whole image, not just the top-left corner. |
|
|
1114 | Andreas Kirschbaum 2005-08-30 |
|
|
1115 | |
|
|
1116 | Fix bug #1256173 (Magic drain not exploding head): |
|
|
1117 | server/spell_effect.c: Prevent mana transfer to/from caster himself; also |
|
|
1118 | create fireball for overcharges resulting from sucking mana. |
|
|
1119 | Andreas Kirschbaum 2005-08-30 |
|
|
1120 | |
|
|
1121 | Fix bug #1059537 (Chainmail mutations): |
|
|
1122 | common/loader.l: Remove code that "fixes" broken item names by removing a |
|
|
1123 | leading material name. This effectively renames "mithril chainmails" into |
|
|
1124 | "chainmails". |
|
|
1125 | common/loader.c: Rebuilt. |
|
|
1126 | Andreas Kirschbaum 2005-08-29 |
|
|
1127 | |
|
|
1128 | Fix player weapon speed/speed. There are a few bugs this fixes: |
|
|
1129 | 1) when player hit something, a has_hit field was set to true, to denote |
|
|
1130 | they hit something and to use weapon speed. However, this was only |
|
|
1131 | cleared when player issued a command. Thus, if you are running |
|
|
1132 | and hit something, you'd continue at weapon_speed pace until you |
|
|
1133 | needed to change direction. |
|
|
1134 | 2) Because has_hit was used, this basically put in a 1 tick lag - you'd hit |
|
|
1135 | something, but not until objects were processed and speed given would |
|
|
1136 | you get your extra speed. Likewise, after you killed something, you'd |
|
|
1137 | get your burst of speed for the next tick also. |
|
|
1138 | -- |
|
|
1139 | server/main.c: Clear has_hit, change function to only do bounds checking, |
|
|
1140 | not actually do weapon_speed adjustments. |
|
|
1141 | server/player.c: Give player speed boost when they hit something. |
|
|
1142 | MSW 2005-08-28 |
|
|
1143 | |
|
|
1144 | Add patch #1274385 by Kevin Rudat to make crossedit draw floors on tiles with |
|
|
1145 | items. |
|
|
1146 | crossedit/CrEdit.c: Add call to update_position() in UpdatePosition(). |
|
|
1147 | Andreas Kirschbaum 2005-08-28 |
|
|
1148 | |
|
|
1149 | Add patch #1271417 by Kevin Rudat to stop crossedit losing regions. Patch is |
|
|
1150 | slightly modified to properly handle all map fields. |
|
|
1151 | crossedit/Edit.c: Copy all map fields in MapMoveScrollResize(). Do not add a |
|
|
1152 | msg header to already existing maps. |
|
|
1153 | crossedit/crossedit.c: Call init_regions() at program initialization. |
|
|
1154 | Andreas Kirschbaum 2005-08-28 |
|
|
1155 | |
|
|
1156 | socket/init.c: Make setsockopt(REUSEADDR) work if using gcc in Ansi C mode on |
|
|
1157 | Linux. |
|
|
1158 | Andreas Kirschbaum 2005-08-28 |
|
|
1159 | |
|
|
1160 | common/map.c: Change default values for reset_timeout, enter_x, and enter_y |
|
|
1161 | map headers to zero. In set_map_reset_time() use MAP_DEFAULTRESET if |
|
|
1162 | reset_timeout is zero. This change prevents crossedit from adding these |
|
|
1163 | headers by just loading and saving a map. |
|
|
1164 | include/config.h: Add MAP_DEFAULTRESET. |
|
|
1165 | Andreas Kirschbaum 2005-08-27 |
|
|
1166 | |
|
|
1167 | server/rune.c: Fix crash if casting disarm out of map bounds. |
|
|
1168 | server/spell_effect.c: Fix crash if casting polymorph out of map bounds. |
|
|
1169 | Andreas Kirschbaum 2005-08-25 |
|
|
1170 | |
|
|
1171 | Apply patch 1200555 - addition of key/value lists which allows arbitrary |
|
|
1172 | storing of data in objects - see doc/Developers/key-value for more |
|
|
1173 | information |
|
|
1174 | --- |
|
|
1175 | loader.l, loader.c: Add add_key_value() function which parses the unknown |
|
|
1176 | line in the object/archetype. Update get_ob_diff() to make differences |
|
|
1177 | for the key/value lists. |
|
|
1178 | common/object.c: Add functions for properly comparing the key/value lists, |
|
|
1179 | setting and getting the vaues, clearing values upon freeing of object, |
|
|
1180 | etc. |
|
|
1181 | doc/Developers/Makefile.am: Add key-value file. |
|
|
1182 | doc/Developers/key-value: Documentation of this feature. |
|
|
1183 | include/libproto.h: Rebuilt |
|
|
1184 | include/object.h: Addition of key_value struct, addition of key_values |
|
|
1185 | field to object. |
|
|
1186 | MSW 2005-08-22 |
|
|
1187 | |
|
|
1188 | socket/request.c: Fix range checking of toggleextendedtext parameters. |
|
|
1189 | Andreas Kirschbaum 2005-08-17 |
|
|
1190 | |
|
|
1191 | The following fix code that basically does "for(x = pos-5; x < pos+5; x++)". |
|
|
1192 | This is not correct because it includes "pos-5" but not "pos+5". |
|
|
1193 | common/los.c: Make lighted distance equal in all directions. |
|
|
1194 | server/disease.c: Make infection distance equal in all directions. |
|
|
1195 | server/monster.c: Make lighted distance equal in all directions. |
|
|
1196 | Andreas Kirschbaum 2005-08-17 |
|
|
1197 | |
|
|
1198 | Add patch by Kevin Rudat for applyable but non |
|
|
1199 | pickable objects to have item items. |
|
|
1200 | doc/Dvelopers/objects: Update item types. |
|
|
1201 | socket/item.c: Use the head of any objects we send. Should generally |
|
|
1202 | only be an issue for objects on the ground, as currently there is no |
|
|
1203 | large objects players can pick up. Also fix up some of the formatting/ |
|
|
1204 | indenting in this file. |
|
|
1205 | MSW 2005-08-16 |
|
|
1206 | |
|
|
1207 | server/attack.c, include/define.h, common/loader.l doc/Developers/objects: |
|
|
1208 | Add a flag FLAG_IS_LIGHTABLE, to make lightable objects such as lanterns |
|
|
1209 | able to work again |
|
|
1210 | lib/archetypes: recollect archs |
|
|
1211 | Brendan Lally 2005-08-16 |
|
|
1212 | |
|
|
1213 | server/build_map.c: Add support for buildable signs, and magic mouths/ears. |
|
|
1214 | Alex Schultz 2005-08-15 |
|
|
1215 | |
|
|
1216 | lib/Makefile.am, lib/Makefile.in: Actually install help file for showpets. |
|
|
1217 | common/living.c, include/living.h: Make global arrays really const. |
|
|
1218 | Andreas Kirschbaum 2005-08-15 |
|
|
1219 | |
|
|
1220 | server/gods.c: Fix crash for monsters without appropriate god. |
|
|
1221 | server/gods.c: Add missing braces around body of if statement. |
|
|
1222 | Andreas Kirschbaum 2005-08-14 |
|
|
1223 | |
|
|
1224 | NPCs instead of being given a random god are for preference given the god that |
|
|
1225 | likes their race. If one can't be found, then we fall back to a random god. |
|
|
1226 | Affected files: |
|
|
1227 | server/gods.c include/sproto.h |
|
|
1228 | Brendan Lally 2005-08-12 |
|
|
1229 | |
|
|
1230 | String fields in structures using add_string are now const char*. Functions in |
|
|
1231 | shstr (add_refcount, add_string, free_string, ...) now take/return const char*. |
|
|
1232 | More argument replacing from char* to const char*. |
|
|
1233 | Fixed a potential string corruption in recipe.c (when dumping) and readable.c (was |
|
|
1234 | using strtok on a add_string-ed string, when strtok changes argument). |
|
|
1235 | Fixed a few type mismatch on qsort calls. |
|
|
1236 | Global char arrays (messages and such) are const char* too. |
|
|
1237 | Removed unused typedefs / structures. |
|
|
1238 | |
|
|
1239 | Affected files: |
|
|
1240 | common/anim.c image.c info.c item.c living.c object.c quest.c readable.c recipe.c |
|
|
1241 | shstr.c treasure.c |
|
|
1242 | include/arch.h commands.h define.h face.h funcpoint.h global.h god.h libproto.h |
|
|
1243 | living.h map.h material.h object.h player.h race.h recipe.h skills.h sproto.h treasure.h |
|
|
1244 | random_maps/random_map.h reader.[cl] style.c |
|
|
1245 | server/apply.c attack.c c_object.c c_range.c c_wiz.c gods.c |
|
|
1246 | main.c monster.c pets.c player.c plugins.c resurrection.c shop.c skill_util.c skills.c |
|
|
1247 | spell_attack.c spell_effect.c time.c timers.c |
|
|
1248 | socket/item.c |
|
|
1249 | |
|
|
1250 | Ryo 2005-08-12 |
|
|
1251 | |
|
|
1252 | Arguments are now const char* instead of char* when available. This ensures |
|
|
1253 | the variable is not changed in random places. |
|
|
1254 | Affected files: |
|
|
1255 | common/porting.c quest.c readable.c recipe.c re-cmp.c shstr.c treasure.c |
|
|
1256 | include/libproto.h sproto.h win32.h |
|
|
1257 | server/c_misc.c c_object.c c_party.c c_wiz.c egoitem.c gods.c hiscore.c init.c login.c |
|
|
1258 | main.c monster.c player.c resurrection.c rune.c shop.c skill_util.c skills.c |
|
|
1259 | spell_effect.c spell_util.c win32.c |
|
|
1260 | Ryo 2005-08-12 |
|
|
1261 | |
|
|
1262 | Add help for showpets, and update help for killpets |
|
|
1263 | lib/help/{showpets, killpets} |
|
|
1264 | Add a new command 'showpets' to give a numbered list of the pets that a player |
|
|
1265 | controls. These numbers can be passed to showpets to give more detail about one |
|
|
1266 | pet, or they can be passed to killpets to control which pets are killed. |
|
|
1267 | Also allow killpets to take a name as an argument. Affected files: |
|
|
1268 | include/sproto.h |
|
|
1269 | server/{c_misc.c, commands.c} |
|
|
1270 | Make random maps take the region of the map creates them. Affected files: |
|
|
1271 | random_maps/{random_maps.h, random_maps.c} |
|
|
1272 | server/main.c |
|
|
1273 | Brendan Lally 2005-08-11 |
|
|
1274 | |
|
|
1275 | ------------------------------------------------------------------------------ |
|
|
1276 | Changes for 1.8.0: |
|
|
1277 | |
|
|
1278 | Update for release 1.8.0. |
|
|
1279 | include/Makefile.am: missing quest.h file |
|
|
1280 | Rest automatic rebuild |
|
|
1281 | MSW 2005-08-10 |
|
|
1282 | |
|
|
1283 | Replaced "depletion" by ARCH_DEPLETION (defined in object.h). Affected files: |
|
|
1284 | common/living.c |
|
|
1285 | include/object.h |
|
|
1286 | server/apply.c gods.c spell_effect.c |
|
|
1287 | Ryo 2005-08-10 |
|
|
1288 | |
|
|
1289 | server/player.c: Set map for arrow as returned by get_map_flags - |
|
|
1290 | otherwise when firing at edge of tiled maps, arrows could end up |
|
|
1291 | in wrong place. |
|
|
1292 | MSW 2005-08-09 |
|
|
1293 | |
|
|
1294 | include/config.h: Make DEBUG default - appears last commit changed this |
|
|
1295 | as unrelated to actual changes in place. |
|
|
1296 | include/sproto.h: Rebuild |
|
|
1297 | server/player.c: fire_bow() - add checks for wall/out of map. fire_bow() |
|
|
1298 | wasn't using right coordinates on check, which caused problems in |
|
|
1299 | threewide mode at edge of maps. |
|
|
1300 | MSW 2005-08-07 |
|
|
1301 | |
|
|
1302 | plugin_logger/plugin_logger.c: make it compile under Win32. |
|
|
1303 | Ryo 2005-07-30 |
|
|
1304 | |
|
|
1305 | server/player.c: fix crash when news or rules > HUGE_BUF. |
|
|
1306 | Ryo 2005-07-29 |
|
|
1307 | |
|
|
1308 | server/{monster.c, pets.c}: Fix bugs in arena petmode and clean up most of |
|
|
1309 | it's logic into it's own function. |
|
|
1310 | lib/help/petmode: Document the arena petmode in the "help petmode" output. |
|
|
1311 | Alex Schultz 2005-07-28 |
|
|
1312 | |
|
|
1313 | server/skills.c: use correct sp/grace for inscription. |
|
|
1314 | Ryo 2005-07-27 |
|
|
1315 | |
|
|
1316 | The following changes prevent spells in player's inventories from being |
|
|
1317 | damaged by casting spells, using skills, or praying. |
|
|
1318 | server/attack.c: Limit cancellation and acid attacks to visible objects only. |
|
|
1319 | server/gods.c: Limit god granted remove curse/damnation to visible objects |
|
|
1320 | only. |
|
|
1321 | server/skills.c: Limit the skills sense curse and sense magic to visible |
|
|
1322 | objects only. |
|
|
1323 | server/spell_effect.c: Limit the spells detect curse and detect magic to |
|
|
1324 | visible objects only. |
|
|
1325 | Andreas Kirschbaum 2005-07-26 |
|
|
1326 | |
|
|
1327 | server/skill_util.c: don't try to send a message if monster killed/removed. |
|
|
1328 | Ryo 2005-07-23 |
|
|
1329 | |
|
|
1330 | socket/init.c: settings values to 0 before using'em works better, usually ^_- |
|
|
1331 | Ryo 2005-07-22 |
|
|
1332 | |
|
|
1333 | random_maps/random_map.h: Add prototype for set_random_map_variable(). |
|
|
1334 | server/main.c: Remove prototype for set_random_map_variable(). |
|
|
1335 | lib/Makefile.am, lib/Makefile.in, lib/help/whereabouts: Add help for |
|
|
1336 | whereabouts command. |
|
|
1337 | server/apply.c: Properly terminate destination string with '\0' in |
|
|
1338 | apply_item_transformer(). Avoid clearing the string buffer multiple times. |
|
|
1339 | Andreas Kirschbaum 2005-07-20 |
|
|
1340 | |
|
|
1341 | doc/Developers/item_transformation: fixed documentation. |
|
|
1342 | server/apply.c: remove incorrect comment. Item transformer uses food for max use. |
|
|
1343 | Replaced some hardcoded values with define. Modified files: |
|
|
1344 | common/arch.c |
|
|
1345 | include/object.h |
|
|
1346 | plugin/plugin_python.c |
|
|
1347 | server/apply.c attack.c build_map.c spell_attack.c spell_effect.c time.c |
|
|
1348 | Ryo 2005-07-19 |
|
|
1349 | |
|
|
1350 | include/win32.h: add PLUGIN_SUFFIX definition. |
|
|
1351 | Ryo 2005-07-18 |
|
|
1352 | |
|
|
1353 | server/plugins.c: Merge mostly identical code from #ifdef WIN32 and #else |
|
|
1354 | blocks. Use opendir/readdir/closedir instead scandir for Unix because WIN32 |
|
|
1355 | probably does not have these functions. Prevent loading one plugin multiple |
|
|
1356 | times. |
|
|
1357 | include/sproto.h: Update prototypes for plugin functions. |
|
|
1358 | server/c_wiz.c: Add success/failure messages to plugin and plugout commands. |
|
|
1359 | Do not crash due to missing parameter. |
|
|
1360 | Andreas Kirschbaum 2005-07-18 |
|
|
1361 | |
|
|
1362 | server/pets: Fix off-by-one error in follow_owner(). |
|
|
1363 | server/c_wiz: Allow the summon and teleport commands to place the summoned |
|
|
1364 | player/DM north-west of DM/player. |
|
|
1365 | Andreas Kirschbaum 2005-07-17 |
|
|
1366 | |
|
|
1367 | Use const char* instead of char* when possible. Remove unused variables in weather code. |
|
|
1368 | Affected files: |
|
|
1369 | common/map.c region.c utils.c |
|
|
1370 | crossedit/stubs.c |
|
|
1371 | include/funcpoint.h libproto.h sproto.h |
|
|
1372 | random_maps/standalone.c |
|
|
1373 | server/weather.c |
|
|
1374 | Ryo 2005-07-17 |
|
|
1375 | |
|
|
1376 | server/apply.c: Make converters that increase value non-functional. |
|
|
1377 | Andreas Kirschbaum 2005-07-17 |
|
|
1378 | |
|
|
1379 | server/{monster.c, pets.c}: Fixed bug in previous commit of arena petmode |
|
|
1380 | that cause pets that should be friendly to eachother to fight. |
|
|
1381 | Alex Schultz 2005-07-16 |
|
|
1382 | |
|
|
1383 | common/{map.c, readable.c, treasure.c}, |
|
|
1384 | crossedit/{Attr.c, png.c, Cnv/{CnvFiles.c, CnvPath.c}}, |
|
|
1385 | plugin_animator/plugin_animator.c, |
|
|
1386 | plugin_logger/maps.c, |
|
|
1387 | server/{alchemy.c, c_misc.c, c_wiz.c, init.c, main.c, monster.c, pets.c, |
|
|
1388 | player.c, resurrection.c, rune.c, skills.c, spell_effect.c, time.c, |
|
|
1389 | weather.c}: |
|
|
1390 | Fix spelling errors in string constants. |
|
|
1391 | server/c_misc.c: Remove superfluous trailing '\0' from strings. |
|
|
1392 | Andreas Kirschbaum 2005-07-15 |
|
|
1393 | |
|
|
1394 | server/{c_misc.c, monster.c, pets.c}, include/player.h: Add new "arena" |
|
|
1395 | petmode which allows pets to attack players and other pets while in the |
|
|
1396 | arena. |
|
|
1397 | Alex Schultz 2005-07-16 |
|
|
1398 | |
|
|
1399 | *Makefile.in, aclocal.m4, configure: Rebuilt generated files. |
|
|
1400 | lib/Makefile.am: Update list of help files to install. |
|
|
1401 | server/skills.c: Do not reveal a hidden DM in attempt_jump(). |
|
|
1402 | server/skills.c: Do not reveal a hidden DM in steal(). |
|
|
1403 | server/player.c: Ignore hidden DM in stand_near_hostile(). Formerly it always |
|
|
1404 | returned false if a hidden DM was present. |
|
|
1405 | Andreas Kirschbaum 2005-07-15 |
|
|
1406 | |
|
|
1407 | server/c_object.c: Improved pickup. You can now do pickup +bow, or pickup -shield. |
|
|
1408 | Much simpler then fiddling with sums of 2^x values. |
|
|
1409 | Ryo 2005-07-15 |
|
|
1410 | |
|
|
1411 | server/c_party.c: Make party passwords with a length of 8 characters work |
|
|
1412 | again. |
|
|
1413 | lib/artifacts: Fix type of lockpicks of quality/high quality. |
|
|
1414 | Andreas Kirschbaum 2005-07-15 |
|
|
1415 | |
|
|
1416 | Those commits remove the dependency on the plugin towards the library. All functions |
|
|
1417 | used from the plugin are hooked, instead of being called directly. This fixes bugs |
|
|
1418 | under Windows, and simplifies compilation. Also, many new callbacks were defined. |
|
|
1419 | Affected files: |
|
|
1420 | include/plugin.h plugproto.h sproto.h |
|
|
1421 | plugin/plugin_python.c |
|
|
1422 | server/plugins.c |
|
|
1423 | Note that at some point some functions could be moved out of plugin_python and put in |
|
|
1424 | plugin_general to be shared between different plugins. |
|
|
1425 | Ryo 2005-07-15 |
|
|
1426 | |
|
|
1427 | Those commits remove the whole "glue/callback" logic. Instead functions are just |
|
|
1428 | defined as external, and should be implemented (even as dummy) by all programs. |
|
|
1429 | Affected files: |
|
|
1430 | common/arch.c button.c glue.c init.c item.c living.c logger.c los.c map.c object.c |
|
|
1431 | time.c treasure.c |
|
|
1432 | crossedit/stubs.c: new file with dummy functions. |
|
|
1433 | crossedit/Makefile.[in|am]: add this new file. |
|
|
1434 | include/funcpoint.h libproto.h sproto.h |
|
|
1435 | random_maps/standalone.c: add dummy functions for those externals. |
|
|
1436 | server/init.c: remove obsolete setup_library() |
|
|
1437 | |
|
|
1438 | Added a wrapper function for check_trigger from plugins. |
|
|
1439 | include/plugin.h: new function |
|
|
1440 | server/plugins.c: wrapper for check_trigger. |
|
|
1441 | |
|
|
1442 | Ryo 2005-07-15 |
|
|
1443 | |
|
|
1444 | plugin/plugin_python.c: (add|free)_string should *not* be called directly under Win32. |
|
|
1445 | Therefore let's use the hooks. Also, when removing an object, better check it's not the |
|
|
1446 | current object (CFPython.RemoveObject(CFPython.WhoAmI()) anyone?). |
|
|
1447 | Ryo 2005-07-15 |
|
|
1448 | |
|
|
1449 | server/spell_util.c: use on_same_map instead of checking directly map pointers. |
|
|
1450 | Ryo 2005-07-15 |
|
|
1451 | |
|
|
1452 | Those changes implement a quest tracking system. Check the doc/quests document for more info. |
|
|
1453 | common/quest.c: new file with a few quests-related functions. |
|
|
1454 | doc/Developers/mapguide: point to quests file for instructions on quests. |
|
|
1455 | doc/Developers/quests: new file with instructions on how to use quests, |
|
|
1456 | and implementation details. |
|
|
1457 | doc/Developers/README: added quests file. |
|
|
1458 | include/libproto.h: new functions in quest.c. |
|
|
1459 | include/quest.h: new file with a few defines for quests. |
|
|
1460 | include/sproto.h: new function command_quest, update talk_to_wall definition. |
|
|
1461 | lib/help/quests: new help file for quests command. |
|
|
1462 | server/c_misc: new command_quests function. |
|
|
1463 | server/commands.c: link command_quests to "quests". |
|
|
1464 | server/monster.c: update talk_to_wall and talk_to_npc to check for quests. |
|
|
1465 | server/time.c: modify marker behaviour to handle quests. |
|
|
1466 | Ryo 2005-07-14 |
|
|
1467 | |
|
|
1468 | common/{button.c, treasure.c, utils.c}, server/{c_wiz.c, login.c, shop.c, |
|
|
1469 | skill_util.c, spell_effect.c}, socket/{image.c, item.c}: Fix printf like |
|
|
1470 | format specifiers. At least one of them fixes a means to crash the server. |
|
|
1471 | Andreas Kirschbaum 2005-07-14 |
|
|
1472 | |
|
|
1473 | Those changes introduce party spells. Casted spell should be defined through 'other_arch' |
|
|
1474 | field. Note that this needs through testing to make sure it works as intended. |
|
|
1475 | include/spells.h: new spell type, 'party spell'. |
|
|
1476 | server/spell_util.c: new spell type, party spell. |
|
|
1477 | Ryo 2005-07-10 |
|
|
1478 | |
|
|
1479 | server/{login.c, player.c}: Fix buffer overflow with pl->title. Based on patch |
|
|
1480 | by Scott Kullberg. |
|
|
1481 | crossedit/{Edit.c, Cnv/CnvPrompt.c}, server/{ban.c, hiscore.c, login.c, |
|
|
1482 | player.c, shop.c, win32.c}: Properly terminate destination string of strncpy |
|
|
1483 | with '\0'. |
|
|
1484 | server/init.c: Fix error message. |
|
|
1485 | Andreas Kirschbaum 2005-07-10 |
|
|
1486 | |
|
|
1487 | configure.ac, configure, aclocal.m4, Makefile.in: Add AM_MAINTAINER_MODE |
|
|
1488 | macro to configure.ac - this should hopefully supress auto regeneration of |
|
|
1489 | makefiles.in |
|
|
1490 | MSW 2005-07-08 |
|
|
1491 | |
|
|
1492 | Add a --with-python option to configure. Also, update the python |
|
|
1493 | detection script to check for 2.5 (not out yet, but might as well be prepared.) |
|
|
1494 | Will try to commit files in proper order so that dependency checking is correct |
|
|
1495 | and it won't try to rebuild makefiles or other files. |
|
|
1496 | -- |
|
|
1497 | acinclude: Updated checks for --with-python |
|
|
1498 | aclocal.m4: updated |
|
|
1499 | configure.ac,configure: Updated checks for --with-python |
|
|
1500 | config.sub, config.guess - update to latest versions |
|
|
1501 | INSTALL: Updated build directions |
|
|
1502 | MSW 2005-07-08 |
|
|
1503 | |
|
|
1504 | lib/Makefile.am, lib/Makefile.in: Remove map_check from normal distribution |
|
|
1505 | due to different license on file. |
|
|
1506 | random_maps/monster.c: Reduce monster density on random maps - take into account |
|
|
1507 | size of monsters when calculating density. |
|
|
1508 | utils/metaserver.pl.in: At a timeout value that limits how often clients can |
|
|
1509 | ask for metaserver info. |
|
|
1510 | MSW 2005-07-08 |
|
|
1511 | |
|
|
1512 | lib/settings: Turn of fastclock as default option. |
|
|
1513 | socket/loop.c: Change behaviour of metaserver/flushmaps/watchdog |
|
|
1514 | calls if fastclock is set - don't do those any faster than normal. |
|
|
1515 | MSW 2005-06-22 |
|
|
1516 | |
|
|
1517 | Server can now be used as a Windows server, with command-line options |
|
|
1518 | -regsrv (register server and exit), -unregsrv (unregister server and exit) |
|
|
1519 | and -srv (should not be used directly, for the service control manager call). |
|
|
1520 | server/init.c: add command-line options. |
|
|
1521 | server/main.c: loop is no more infinite under Windows. Save and clean after it, too. |
|
|
1522 | server/win32.c: add service routines. |
|
|
1523 | Ryo 2005-06-22 |
|
|
1524 | |
|
|
1525 | common/living.c: Print correct message when (un-)wearing items with negative |
|
|
1526 | luck. |
|
|
1527 | Andreas Kirschbaum 2005-06-14 |
|
|
1528 | |
|
|
1529 | include/living.h: Patch from Kari Pahula to remove obsolete variable |
|
|
1530 | declarations. |
|
|
1531 | Andreas Kirschbaum 2005-06-01 |
|
|
1532 | |
|
|
1533 | server/skill_util.c: Print correct permanent experience ratio for experience |
|
|
1534 | values >2 billion. |
|
|
1535 | Andreas Kirschbaum 2005-05-22 |
|
|
1536 | |
|
|
1537 | server/apply.c: Do not unlock LAMP items when turning them on or off. |
|
|
1538 | server/apply.c: Fix CONVERTER items with slaying "money" to trigger for MONEY |
|
|
1539 | items only. |
|
|
1540 | server/player.c: Generate proper plural name for player's gravestones. |
|
|
1541 | Andreas Kirschbaum 2005-05-21 |
|
|
1542 | |
|
|
1543 | Ensure that object->msg always has a trailing \n character. This is necessary |
|
|
1544 | to prevent corrupted map files. |
|
|
1545 | plugin/plugin_python.c: Add trailing \n to message set by |
|
|
1546 | CFPython.SetMessage() if not already present. |
|
|
1547 | server/plugins.c: Add trailing \n to message set by HOOK_TELEPORTOBJECT if not |
|
|
1548 | already present. |
|
|
1549 | server/rune.c: Add trailing \n to rune messages. |
|
|
1550 | Andreas Kirschbaum 2005-05-21 |
|
|
1551 | |
|
|
1552 | Apply qal21's patch [ #1205421 ]: Implement new Python functions: |
|
|
1553 | GetArchType, GetFacing, GetLevel. |
|
|
1554 | plugin/plugin_python.c, plugin/include/plugin_python.h: Add new functions. |
|
|
1555 | doc/Developers/python: Describe new functions. |
|
|
1556 | Andreas Kirschbaum 2005-05-20 |
|
|
1557 | |
|
|
1558 | server/monster.c: Fix monsters to cast spells from spellbooks. |
|
|
1559 | Andreas Kirschbaum 2005-05-15 |
|
|
1560 | |
|
|
1561 | Fixed compilation issue. |
|
|
1562 | server/apply.c: can't declare a variable after some function call. |
|
|
1563 | socket/info.c: removed unused variable. |
|
|
1564 | Ryo 2005/05/07 |
|
|
1565 | |
|
|
1566 | Corrected code to compile under -ansi gcc flag: |
|
|
1567 | * correction of some non posix compatible calls around scandir |
|
|
1568 | * changing configure to detect the absence of 'alphasort' prototype |
|
|
1569 | * converted some '//' comment to /**/ one |
|
|
1570 | * reran automake1.8/autoconf2.50/autheader2.50 |
|
|
1571 | Note even it it compiles with -ansi -pedantic, it still need cleanup to |
|
|
1572 | get 64 bits experience code working! |
|
|
1573 | Tchize 2005/05/07 |
|
|
1574 | |
|
|
1575 | Applied Casper1's patch [ #1193516 ] for Hurd support. |
|
|
1576 | * socket/lowlevel.c: #ifdef some code part that won't work. |
|
|
1577 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1578 | * include/libproto.h |
|
|
1579 | * common/arch.c |
|
|
1580 | * common/living.c |
|
|
1581 | Ryo 2005-05-03 |
|
|
1582 | |
|
|
1583 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1584 | * include/sproto.h |
|
|
1585 | * socket/info.c |
|
|
1586 | * socket/item.c |
|
|
1587 | Ryo 2005-04-30 |
|
|
1588 | |
|
|
1589 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1590 | * include/sproto.h |
|
|
1591 | * server/apply.c |
|
|
1592 | * server/ban.c |
|
|
1593 | * server/spell_util.c |
|
|
1594 | Ryo 2005-04-27 |
|
|
1595 | |
|
|
1596 | server/skills.c: Change it so that jeweler skill is used to identify |
|
|
1597 | amulets, not alchemy skill. |
|
|
1598 | MSW 2005-04-27 |
|
|
1599 | |
|
|
1600 | Apply patch 1190107 so server compiles on HURD. |
|
|
1601 | common/porting.c: Add define for MAXPATHLEN |
|
|
1602 | socket/init.c: Add check for __GNU__ for setsockopt() |
|
|
1603 | MSW 2005-04-27 |
|
|
1604 | |
|
|
1605 | Change to have objects generated by creator properly fixed up (material, |
|
|
1606 | for potions, spell object, etc). |
|
|
1607 | --- |
|
|
1608 | common/treasure.c: add GT_MINIMAL flag to change_treasure() to do minimal |
|
|
1609 | processing for objects created. |
|
|
1610 | include/treasure.h: Add GT_MINIMAL define. |
|
|
1611 | server/apply.c: Add call to fix_generated_item() in convert_item() |
|
|
1612 | MSW 2005-04-27 |
|
|
1613 | |
|
|
1614 | Various minor bugfixes. |
|
|
1615 | common/los.c: Patch to fix negative lighting. Use isqrt instead of sqrt, |
|
|
1616 | so we only want integer values anyways. |
|
|
1617 | include/libproto.h, include/sproto.h: Rebuilt as there were some improperly |
|
|
1618 | matching prototypes. |
|
|
1619 | random_maps/rogue_layout.c: Replace sqrt with isqrt calls. |
|
|
1620 | server/c_misc.c: Make name_cmp() a static declaration so it won't be put |
|
|
1621 | in the sproto.h file. |
|
|
1622 | server/init.c: Remove /* within comment string. |
|
|
1623 | server/monster.c: Change sqrt to isqrt |
|
|
1624 | MSW 2005-04-16 |
|
|
1625 | |
|
|
1626 | Those changes are just changing char* to const char* in some function |
|
|
1627 | prototypes. |
|
|
1628 | Affected files: |
|
|
1629 | common/recipe.c |
|
|
1630 | common/region.c |
|
|
1631 | common/treasure.c |
|
|
1632 | common/utils.c |
|
|
1633 | include/libproto.h: match headers. |
|
|
1634 | server/main.c |
|
|
1635 | Ryo 2005-04-16 |
|
|
1636 | |
|
|
1637 | Those changes add the ability to transform items through 'item_transformer' |
|
|
1638 | (163)-type items |
|
|
1639 | See doc/Developers/item_transformation for more info. |
|
|
1640 | common/item.c: don't display 'slaying' field for food. |
|
|
1641 | include/define.h: add new 'ITEM_TRANSFORMER' type. |
|
|
1642 | include/sproto.h: add new function 'apply_item_transformer'. |
|
|
1643 | server/apply.c: new 'apply_item_transformer' function to handle that item type. |
|
|
1644 | Ryo 2005-04-15 |
|
|
1645 | |
|
|
1646 | common/map.c: map pathnames are now const char*, no reason for something else. |
|
|
1647 | common/region.c: remove unused variable. |
|
|
1648 | include/libproto.h: update functions definitions. |
|
|
1649 | include/sproto.h: weathermap_to_worldmap_corner now returns a const char*. |
|
|
1650 | include/win32.h: define missing NAME_MAX as MAX_BUF. |
|
|
1651 | server/c_misc.c: remove unused variable. Use const char* when possible. |
|
|
1652 | server/weather.c: weathermap_to_worldmap_corner now uses const char* as |
|
|
1653 | return type. |
|
|
1654 | Ryo 2005-04-14 |
|
|
1655 | |
|
|
1656 | Random map code improvements - add support for subdirectories in the |
|
|
1657 | style maps for random maps. Add difficulty_increase parameter for random |
|
|
1658 | maps to control how fast they get harder. |
|
|
1659 | doc/Developers/random-maps: Add notes about difficulty_increase parameter. |
|
|
1660 | random_maps/Makefile.am: Update proto directive to use cproto, not cextract. |
|
|
1661 | random_maps/random_map.c: Update to use difficulty_increase when figuring |
|
|
1662 | difficulty of maps. Add code to save it in list of parameters. |
|
|
1663 | random_maps/random_map.h: Add difficulty_increase field to structure. |
|
|
1664 | random_maps/reader.l, reader.c: Add code to find difficulty_increase parameter. |
|
|
1665 | random_maps/rproto.h: rebuilt. |
|
|
1666 | random_maps/special.c: Pass in difficulty increase to |
|
|
1667 | write_parameters_to_string() |
|
|
1668 | random_maps/style.c: Remove old scandir - replaced by our own load_dir() - |
|
|
1669 | necessary because we need to check type of files, which scandir doesn't |
|
|
1670 | easily let us do. Since it is now our own routine, just return |
|
|
1671 | array of file names instead of dirent structures. |
|
|
1672 | MSW 2005-04-13 |
|
|
1673 | |
|
|
1674 | utils/Makefile.am: Add cfmeta-rrd to list of files to add to distributions |
|
|
1675 | utils/cfmeta-rrd: Example of sample script that takes data and stores it into |
|
|
1676 | rrd file and draws graphs (new file). |
|
|
1677 | utils/metaserver.pl.in: Add recording of useful stats to external file so they |
|
|
1678 | can be processed by other external scripts. |
|
|
1679 | MSW 2005-04-13 |
|
|
1680 | |
|
|
1681 | server/shop.c: Pass in player object to pay_from_container() - code was |
|
|
1682 | trying to deref pouch->contr which was null. Only occurs when player |
|
|
1683 | has 2 different money objects of the same type, but 2 crashes observed |
|
|
1684 | on metalforge. |
|
|
1685 | MSW 2005-04-13 |
|
|
1686 | |
|
|
1687 | socket/image.c: Change esrv_send_face to check for <=0 instead of <0 on face |
|
|
1688 | number. |
|
|
1689 | socket/request.c: Change if statement that acted improperly to determine when |
|
|
1690 | to send faces. |
|
|
1691 | MSW 2005-03-27 |
|
|
1692 | |
|
|
1693 | include/sproto.h: get_who_escape_code_value is void, not void*. |
|
|
1694 | server/c_misc.c: move local function outside the function. |
|
|
1695 | server/c_wiz.c: remove sleep( 1 ) that would cause whole server to sleep one |
|
|
1696 | sec. |
|
|
1697 | Ryo 2005-03-23 |
|
|
1698 | |
|
|
1699 | common/living.c: Allow luck to drop back to zero. Limit bad luck object to |
|
|
1700 | +/-100 to prevent overflows. |
|
|
1701 | Andreas Kirschbaum 2005-03-22 |
|
|
1702 | |
|
|
1703 | common/living.c: When randomly adjusting luck, change both op->stats.luck and |
|
|
1704 | the applied bad_luck object. |
|
|
1705 | server/attack.c: Do not decrease luck if a player kills himself with a spell |
|
|
1706 | or pet. |
|
|
1707 | Andreas Kirschbaum 2005-03-20 |
|
|
1708 | |
|
|
1709 | server/c_wiz.c: change command_free() and command_remove() to always |
|
|
1710 | process the head of the object - doing this operations on the non head |
|
|
1711 | will typically always cause problems. |
|
|
1712 | MSW 2005-03-19 |
|
|
1713 | |
|
|
1714 | This change makes it so that the smoothing information is pushed to the client |
|
|
1715 | (if the client is using smoothing) instead of a process were we tell the |
|
|
1716 | client the smoothlevel and the client then has to request the face info for |
|
|
1717 | smoothing. If we know the client wants the info, much easier to push it to |
|
|
1718 | the client. This simplifies the client code (doesn't have to keep track |
|
|
1719 | of what is requests). It also fixes the 'problem' that when you join the |
|
|
1720 | game, you get a few frames with no smoothing and then the smoothing shows |
|
|
1721 | up, which seems a bit odd. My testing shows that old clients that want |
|
|
1722 | smoothing use this new logic withouth any problems. |
|
|
1723 | -- |
|
|
1724 | common/image.c: add smooth_face default so that we don't have to look it |
|
|
1725 | up everytime. |
|
|
1726 | include/define.h: Add SMOOTH_FACE_NAME used by image.c |
|
|
1727 | include/global.h: Add smooth_face extern declaration. |
|
|
1728 | include/newserver.h: Update comment on what faces_sent is used for, |
|
|
1729 | add NS_FACESENT_* values which determines what info for the face was |
|
|
1730 | sent. |
|
|
1731 | socket/image.c, socket/init.c, socket/item.c: Update faces_sent checks/set |
|
|
1732 | to check against NS_FACESENT bitmask. |
|
|
1733 | socket/request.c: Update faces_sent as mentioned above. And SendSmooth(), |
|
|
1734 | rewrite AskSmooth() to use SendSmooth(). Modify update_smooth() |
|
|
1735 | to send smoothing information to the client. |
|
|
1736 | MSW 2005-03-19 |
|
|
1737 | |
|
|
1738 | common/map.c: Clean up if statement ins blocked_link() which caused warning |
|
|
1739 | messages - broke it apart to make it a little clear. Add check for |
|
|
1740 | premature end of map header - make code more resilent in case of truncated |
|
|
1741 | saved maps. Fix saving of region name in new_save_map() - saving the |
|
|
1742 | pointer to the region isn't what the loader is expecting, and is highly |
|
|
1743 | non portable even if it was. |
|
|
1744 | MSW 2005-03-18 |
|
|
1745 | |
|
|
1746 | Applied patch: |
|
|
1747 | * #1145089 (cavesomething): Region support. |
|
|
1748 | common/Makefile.am: add new 'region.c' file. |
|
|
1749 | common/init.c: add 'REGIONS' setting. |
|
|
1750 | common/map.c: add 'region' map key. |
|
|
1751 | include/config.h: add regions file default name. |
|
|
1752 | include/global.h: add 'first_region' global variable and settings. |
|
|
1753 | include/libproto.h: add region.c functions prototypes. |
|
|
1754 | include/map.h: add region structure. |
|
|
1755 | include/sproto.h: add new region-related command. |
|
|
1756 | lib/Makefile.am: add 'regions' file. |
|
|
1757 | lib/regions (new): regions definition file. |
|
|
1758 | server/c_misc.c: add region information to current_map_info. Add new 'whereami' command. |
|
|
1759 | server/commands.c: add 'whereami' command. |
|
|
1760 | server/init.c: add regions settings, and load data. |
|
|
1761 | Ryo 2005-03-15 |
|
|
1762 | |
|
|
1763 | Applied patches: |
|
|
1764 | * #1119366 (salathar): wiz food, DMs don't use food anymore. |
|
|
1765 | * #1161816 (cowboyatheart) : Add wands/staves/rods/horns to new pickup. |
|
|
1766 | * #1119762 (salathar): afk command. |
|
|
1767 | common/loader.[lc]: add 'FLAG_AFK'. |
|
|
1768 | include/define.h: add 'PU_MAGIC_DEVICE. Add 'FLAG_AFK'. |
|
|
1769 | include/sproto.h: add 'command_afk'. |
|
|
1770 | server/c_misc.c: add 'AFK' to who display, add command_afk. |
|
|
1771 | server/c_object.c: add new flag to dump. |
|
|
1772 | server/commands.c: add command_afk. |
|
|
1773 | server/player.c: wiz don't use food. Check for rod/wand/horn for new pickup flag. |
|
|
1774 | Ryo 2005-03-13 |
|
|
1775 | |
|
|
1776 | *Makefile.in, aclocal.m4, configure, utils/config.guess, utils/config.sub, |
|
|
1777 | utils/ltmain.sh: Rebuild generated files. |
|
|
1778 | acinclude.m4: Check whether Python supports the "L" format specifier. Do not |
|
|
1779 | build python plugin if not. |
|
|
1780 | Andreas Kirschbaum 2005-03-09 |
|
|
1781 | |
|
|
1782 | common/{map.c, readable.c, treasure.c}, crossedit/Attr.c, server/{apply.c, |
|
|
1783 | attack.c, c_wiz.c, init.c, monster.c, pets.c, shop.c, skill_util.c, skills.c, |
|
|
1784 | spell_attack.c, spell_effect.c, time.c}, socket/{info.c, request.c}: Add |
|
|
1785 | missing newline character to LOG() messages. |
|
|
1786 | common/living.c, include/living.h: Change type of weight_limit to uint32. |
|
|
1787 | socket/request.c: Remove non-portable assignment to rvalue. |
|
|
1788 | doc/{README_PLUGINS.doc, README_PYTHON.txt, plugins}, doc/Developers/{README, |
|
|
1789 | plugins, python}: Update plugin documentation. |
|
|
1790 | plugin/plugin_python.c, plugin/include/plugin_python.h: Whitespace changes, |
|
|
1791 | remove obsolete comments. |
|
|
1792 | plugin/plugin_python.c: Only set WhoAmI when running the command registered by |
|
|
1793 | CFPython.RegisterCommand. Set default result value to "success". |
|
|
1794 | plugin/plugin_python.c: Fix memory leaks by freeing old strings before |
|
|
1795 | assigning a new value. |
|
|
1796 | plugin/plugin_python.c: Use correct format specifiers for item values and |
|
|
1797 | experience values. |
|
|
1798 | plugin/plugin_python.c: Make CFPython.IsCanBePicked return whether the object |
|
|
1799 | can be picked up. (Did return whether the object cannot be picked up.) |
|
|
1800 | plugin/plugin_python.c: Do not return a pointer to a variable on the stack. |
|
|
1801 | server/plugins.c: Fix pointer type mismatch while processing |
|
|
1802 | CFPython.RegisterCommand. |
|
|
1803 | plugin/plugin_python.c: Change second parameter of CFPython.CheckMap to use |
|
|
1804 | a map object instead of a map name. Now it works for tiles maps. |
|
|
1805 | acinclude.m4: Add check for python 2.4 to match this file with aclocal.m4. |
|
|
1806 | Andreas Kirschbaum 2005-03-06 |
|
|
1807 | |
|
|
1808 | plugin/plugin_python.c: Increase limits of values the Python script may set |
|
|
1809 | to the ranges given by objects in the archetypes file. |
|
|
1810 | Andreas Kirschbaum 2005-02-28 |
|
|
1811 | |
|
|
1812 | common/object.c, include/libproto.h: change nrof parameter of get_split_ob to |
|
|
1813 | uint32 type. |
|
|
1814 | server/c_object.c, include/sproto.h: change nrof parameter of drop_object to |
|
|
1815 | uint32 type. |
|
|
1816 | plugin/{plugin_python.c, include/plugin_python.h}, |
|
|
1817 | plugin_animator/{plugin_animator.c, include/plugin_animator.h}, |
|
|
1818 | server/{apply.c, attack.c, gods.c, monster.c, player.c, skills.c, time.c, |
|
|
1819 | timers.c}: Change type of CFParm.Value[5] and StackParm1[] to uint32 to be |
|
|
1820 | able to pass an "nrof" value. |
|
|
1821 | plugin/plugin_python.c, plugin/include/plugin_python.h: Remove spell wrapper |
|
|
1822 | functions. |
|
|
1823 | plugin/plugin_python.c, plugin/include/plugin_python.h: Replace skill-IDs by |
|
|
1824 | skill names. Remove skill-ID wrapper functions. |
|
|
1825 | Andreas Kirschbaum 2005-02-20 |
|
|
1826 | |
|
|
1827 | ------------------------------------------------------------------------------ |
|
|
1828 | Changes for 1.7.0: |
|
|
1829 | |
|
|
1830 | configure, configure.ac, include/autoconf.h.in: Update for |
|
|
1831 | version 1.7.0. Add check for libz - needed by libpng (at least on my |
|
|
1832 | system), which is needed for the editor. |
|
|
1833 | MSW 2005-01-23 |
|
|
1834 | |
|
|
1835 | common/object.c: Change CAN_MERGE() from an inline function, since |
|
|
1836 | it calls itself and inline functions are not supposed to do that. |
|
|
1837 | Update type check in insert_ob_in_map() to check against defined |
|
|
1838 | type (EXIT) instead of hardcoded integer value (66). |
|
|
1839 | crossedit/xutil.c: Update to just include Defines.h, which then includes |
|
|
1840 | all the other necessary files, including global.h. |
|
|
1841 | include/global.h: Add #ifdef checks for the UINT*_MAX types, as some |
|
|
1842 | systems already define these values, which results in a redefinition |
|
|
1843 | error. Also fix up // style comment. |
|
|
1844 | include/shstr.h: Include proper cast in TOPBIT definition. |
|
|
1845 | server/main.c: Don't display 'xyz left the game' messages if the player |
|
|
1846 | is only at the get name or get password prompt. Prevents possible |
|
|
1847 | spoofing of that message. |
|
|
1848 | server/player.c: Clean up formatting of check_pick() function. If player |
|
|
1849 | is using newpickup to pick up booze, also pick up poison unless |
|
|
1850 | they know it is cursed. |
|
|
1851 | socket/request.c: AskSmooth() - change buffer type to uint8 so that |
|
|
1852 | it matches what the SockList structure wants. |
|
|
1853 | utils/scores.pl.in: Use skill_praying to find players god, and not the |
|
|
1854 | deprecated experience_wis object. |
|
|
1855 | MSW 2005-01-23 |
|
|
1856 | |
|
|
1857 | aclocal.m4, configure: Add check for python 2.4. |
|
|
1858 | common/re-cmp.c: Fix improper comparison *(str+1) instead of str+1 |
|
|
1859 | server/login.c: don't allow null names. |
|
|
1860 | server/main.c: Disable logging of removed objects - filling up log |
|
|
1861 | files on archmage of all the errors. |
|
|
1862 | server/player.c: Fix improper initialization of attacktype in |
|
|
1863 | for loop. Give players max grace, sp when they die - also, if they |
|
|
1864 | are near starvation, give them a bunch of food. |
|
|
1865 | server/spell_effect.c: Put cap on duration of godly retribution - it |
|
|
1866 | can otherwise last so long that if a player is killed by it at |
|
|
1867 | their savebed location, spell could still go on after players |
|
|
1868 | temporary immunity ends. Retribution as increases in damage, |
|
|
1869 | so no need to really increase damage and duration to really high |
|
|
1870 | amounts. |
|
|
1871 | server/spell_util.c: In fire_arch_from_position(), and check that |
|
|
1872 | player isn't casting spell on top of wall - fixes for many |
|
|
1873 | spells, including ball lightning. |
|
|
1874 | server/time.c: Change comparsion on return of get_map_flags() from |
|
|
1875 | == P_OUT_OF_MAP to & P_OUT_OF_MAP - keeps syntax consistent. |
|
|
1876 | MSW 2005-01-11 |
|
|
1877 | |
|
|
1878 | plugin/plugin_python.c, plugin_animator/plugin_animator.c, |
|
|
1879 | plugin_animator/plugin_animator.c: Use script return value set by |
|
|
1880 | CFPython.SetReturnValue(): access to stack was off by one. Do not return a |
|
|
1881 | pointer to a local variable on the stack. |
|
|
1882 | plugin/plugin_python.c, plugin_animator/plugin_animator.c: Handle all defined |
|
|
1883 | events. |
|
|
1884 | Andreas Kirschbaum 2005-01-10 |
|
|
1885 | |
|
|
1886 | server/spell_attack.c: apply patch #1096921 courtesy Salathar. |
|
|
1887 | Charmed monsters now lose the 'generator' flag, to prevent |
|
|
1888 | things like mice outbreak in bigworld maps. |
|
|
1889 | Ryo 2005-01-07 |
|
|
1890 | |
|
|
1891 | plugin/plugin_pyhton.c, plugin/include/plugin_python.h: Remove obsolete |
|
|
1892 | functions: SetGender, SetRank, SetAlignment, SetGuildForce, GetGuildForce, |
|
|
1893 | CreatePlayerForce, CreatePlayerInfo, GetPlayerInfo, GetNextPlayerInfo, |
|
|
1894 | SetPreviousObject, SetNextObject. |
|
|
1895 | plugin/plugin_python.c, plugin/include/plugin_python.h: Add missing attack type |
|
|
1896 | wrapper functions, function CFPython.SetDamned(), wrapper functions for |
|
|
1897 | missing cost flags, and wrapper functions for event types. |
|
|
1898 | plugin/plugin_python.c: Add an optional parameter to CFPython.SetName() to |
|
|
1899 | specify name_pl as well. Always set name_pl. |
|
|
1900 | plugin/plugin_python.c: Fix a buffer overflow in CFPython.RegisterCommand(): |
|
|
1901 | allocated memory was not sufficient to hold the trailing '\0'. |
|
|
1902 | plugin/plugin_python.c: Use #define constants. |
|
|
1903 | plugin/include/plugin_python.h, plugin/plugin_python.c, |
|
|
1904 | plugin_animator/plugin_animator.c, server/plugins.c: General cleanup - merge |
|
|
1905 | duplicate code, remove debugging code, rename variables, rename C function |
|
|
1906 | names to match the Python function name, use hook functions where |
|
|
1907 | appropriate. |
|
|
1908 | include/sproto.h, plugin/plugin_python.c, server/plugins.c, server/shop.c: |
|
|
1909 | Use uint64 type for variables holding money. Use Python long integers to |
|
|
1910 | pass these variables to/from the Python plugin. |
|
|
1911 | Andreas Kirschbaum 2005-01-07 |
|
|
1912 | |
|
|
1913 | plugin/plugin_python.c: Check values passed in from the Python code; generate |
|
|
1914 | proper Python exceptions for invalid values. |
|
|
1915 | plugin/plugin_python.c, plugin_animator/plugin_animator.c: Make sure all |
|
|
1916 | fields on the stack are initialized. Prevent stack overflow: check was one |
|
|
1917 | off, causing a buffer overflow. Decrement stack pointer in error case. |
|
|
1918 | Andreas Kirschbaum 2005-01-06. |
|
|
1919 | |
|
|
1920 | common/regexp.c: Fixed couple flaws in regexp handling. First, there was an |
|
|
1921 | off by one error in the handling of matches (if the match was for example |
|
|
1922 | eureca, player could just say eurec, and it would treat that as a valid |
|
|
1923 | match). Second case was that the regular expression logic would not |
|
|
1924 | try comparing the rest of the passed in string after a partial match - |
|
|
1925 | In the eureca case above, if the passed in string was 'where is eureca', |
|
|
1926 | after matching the first e (in where), it then fails to match the |
|
|
1927 | next letter and would give up. It now tries comparing the rest of |
|
|
1928 | the passed in string with the regex (so after that failure, it |
|
|
1929 | will try to match 're is eureca'. |
|
|
1930 | server/apply.c: Add missing 'return 0' to shop_mat code that is needed |
|
|
1931 | to prevent unpaid objects from teleporting out of the shop. Also |
|
|
1932 | extend code so that non living objects can't use shop mats. |
|
|
1933 | server/player.c: Insert force into the player when they die making them |
|
|
1934 | immune to any spells on the space they reappear on - this prevents |
|
|
1935 | multiple deaths if there is large spell effect going on in the |
|
|
1936 | savebed location. Duration of force should be long enough for most |
|
|
1937 | spells to run their course, but no so long that the player can use |
|
|
1938 | it for much of an advantage (plus, killing yourself to get such |
|
|
1939 | an advantage seems odd, and the force only makes the player immune |
|
|
1940 | to the attacktypes currently on the space) |
|
|
1941 | server/spell_effect.c: Fix spell casting walls (lighting wall, |
|
|
1942 | firewall, etc) in that the spell object they cast was not being |
|
|
1943 | inserted, resulting in the walls not doing anything. |
|
|
1944 | MSW 2004-12-28 |
|
|
1945 | |
|
|
1946 | Applied patch (bug misc/zoo2) by Lalo |
|
|
1947 | server/time.c: creators can now create multi part objects. |
|
|
1948 | Applied patch 1086102 by Salathar: |
|
|
1949 | server/attack.c: If player kills another player, add (pk) to the death |
|
|
1950 | message. |
|
|
1951 | Applied patch 1086103 by Salathar: |
|
|
1952 | server/move.c: If player pushes another player, send message to both players |
|
|
1953 | that pushed happened. Previously, when pushing another player, the pusher |
|
|
1954 | wouldn't get any notice. |
|
|
1955 | MSW 2004-12-28 |
|
|
1956 | |
|
|
1957 | |
|
|
1958 | Applied patch 1001079 - make alchemy books say what skill & equipment |
|
|
1959 | is needed - by Kevin Rudat. |
|
|
1960 | common/readable.c: Update code that generates book title, contents |
|
|
1961 | to denote what skill and equipment is needed. |
|
|
1962 | random_maps/{random_map.c, reader.l, reader.c}, server/main.c: |
|
|
1963 | Remove generate_treasure_now as an option |
|
|
1964 | for random maps - none are using delayed treasure, and IMO, if someone |
|
|
1965 | did, it would horribly break things, so it should never be used - given |
|
|
1966 | that, no reason to leave the code there. |
|
|
1967 | server/main.c: Add additional debugging for process events on removed |
|
|
1968 | objects - trying to track down occasional disease crash. |
|
|
1969 | server/time.c: Fix crash in move_player_mover() - it was never map tile |
|
|
1970 | aware, but even more so, appears to have always been broken if the |
|
|
1971 | player move tried to push the player off the edge of a map. Check |
|
|
1972 | for out of map condition, as well as make it map tile aware. |
|
|
1973 | MSW 2004-12-28 |
|
|
1974 | |
|
|
1975 | Applied patches #1086095 and 1088385 courtesy Salathar: |
|
|
1976 | common/map.c: hidden DM is non blocking |
|
|
1977 | server/c_chat: can't do emotions towards hidden DMs. Player's emotions |
|
|
1978 | always displayed in split window. |
|
|
1979 | server/c_wiz.c: add an extra player leave message when DM hides |
|
|
1980 | server/main.c: don't display leave messages for hidden DM when connection timeout |
|
|
1981 | server/c_party.c: party password max length is 7, due to buffer size. |
|
|
1982 | (i think it was a patch from Casper?) |
|
|
1983 | Ryo 2004-12-25 |
|
|
1984 | |
|
|
1985 | server/c_wiz.c: Remove item when 'free' by DM if not removed, avoiding crash. |
|
|
1986 | Ryo 2004-12-22 |
|
|
1987 | |
|
|
1988 | server/c_party.c: Make party passwords of 8 characters work, disallow longer |
|
|
1989 | passwords. Based on patch #1080096 from Casper. |
|
|
1990 | Correct help message for party commands. |
|
|
1991 | Andreas Kirschbaum 2004-12-10 |
|
|
1992 | |
|
|
1993 | plugin/plugin_python.c: change 'long long' so 'sint64' (typedef). |
|
|
1994 | Ryo Saeba 2004-11-29 |
|
|
1995 | |
|
|
1996 | common/object.c: apply patch #1066665 courtesy Salathar for exits with |
|
|
1997 | blockview 1. |
|
|
1998 | lib/formulae: apply patch #1064643 courtesy Salathar to fix broken formulae. |
|
|
1999 | lib/wizhelp/speed: remove file, command changed name. |
|
|
2000 | lib/wizhelp/server_speed: updated 'speed' command help. |
|
|
2001 | server/c_wiz.c: apply patch #1063051 courtesy Salathar to update muzzle message. |
|
|
2002 | server/commands.c: apply patch #1052224 courtesy Casper to change |
|
|
2003 | 'speed' to 'server_speed' as name is ambiguous. |
|
|
2004 | Ryo Saeba 2004-11-25 |
|
|
2005 | |
|
|
2006 | common/loader.l: Fix passed size in FAST_SAVE_LONG() - was one too long, |
|
|
2007 | causing truncated diffs after "dam_modifier" entry. |
|
|
2008 | Andreas Kirschbaum 2004-11-15 |
|
|
2009 | |
|
|
2010 | This commit adds the functionality of patch 991916, although the patch |
|
|
2011 | as submitted was used as a baseline to start from. |
|
|
2012 | include/sproto.h: rebuilt |
|
|
2013 | server/c_chat.c: Rename command_chat() to command_tell_all() which takes |
|
|
2014 | a few more optional parameters. Add command_shout() and command_chat() |
|
|
2015 | that invoke command_tell_all() with the appropriate changes. |
|
|
2016 | server/commands.c: Add chat to list of command table. |
|
|
2017 | MSW 2004-11-08 |
|
|
2018 | |
|
|
2019 | plugin/plugin_python.c: Run the script python_init.py right after |
|
|
2020 | initializing the interpreter. |
|
|
2021 | Andreas Kirschbaum 2004-10-21 |
|
|
2022 | |
|
|
2023 | server/c_party.c: actually warn party members of password change. Notify when |
|
|
2024 | someone joins party. |
|
|
2025 | Ryo 2004-10-21 |
|
|
2026 | |
|
|
2027 | plugin/plugin_python.c, plugin/include/plugin_python.h, server/plugins.c: |
|
|
2028 | Fix comments, change whitespace. |
|
|
2029 | Andreas Kirschbaum 2004-10-19 |
|
|
2030 | |
|
|
2031 | Fix some bugs I introduced in my last commit. |
|
|
2032 | common/map.c: Add back in call to sum_weight that got removed when removing |
|
|
2033 | the object checking code. |
|
|
2034 | common/treasure.c: Have fix_generated_item() blank out the randomitems |
|
|
2035 | field after it has created treasure. |
|
|
2036 | server/apply.c: Only clear randomitems after create_treasure() - don't |
|
|
2037 | presume it should get blanked out for other reasons - with change |
|
|
2038 | to treasure.c above, this should be more reliable and fix starting |
|
|
2039 | skill issue, as randomitems was getting blanked out for CLASS object. |
|
|
2040 | server/main.c: Change processing of players a little - found crash where |
|
|
2041 | autosave was called for a removed player (map had got swapped out) - |
|
|
2042 | don't do autosave logic if player is removed. Move the autosave code |
|
|
2043 | to after the players action, so that can just have a single check of |
|
|
2044 | removed status. |
|
|
2045 | MSW 2004-10-17 |
|
|
2046 | |
|
|
2047 | include/sproto.h, server/egoitem.c: Change create_artifact() to return whether |
|
|
2048 | the artifact was created. |
|
|
2049 | server/plugins.c: Change CFWCreateArtifact()/HOOK_CREATEARTIFACT to return |
|
|
2050 | whether the artifact was created. |
|
|
2051 | plugin/plugin_python.c: Define new function create_object() to create |
|
|
2052 | objects. Use this function to fix CFPython.CreateObjectInside() and |
|
|
2053 | CFPython.CreateObject(): creation of artifacts does work now. |
|
|
2054 | plugin/plugin_python.c: Fix CFPython.GetNextPlayerInfo() to work with long |
|
|
2055 | force names. Remove duplicate variable initialization. |
|
|
2056 | server/plugins.c: Remove the use of malloc() in initOnePlugin(). |
|
|
2057 | Andreas Kirschbaum 2004-10-18 |
|
|
2058 | |
|
|
2059 | plugin/plugin_python.c, plugin_animator/animator_box.c, |
|
|
2060 | plugin_animator/plugin_animator.c, plugin_logger/arena.c, |
|
|
2061 | plugin_logger/plugin_logger.c: Use HOOK_FREEMEMORY to free memory allocated |
|
|
2062 | by HOOK-functions. Fix memory leaks. |
|
|
2063 | plugin/plugin_python.c, server/plugin.c, plugin_animator/animator_box.c: Fix |
|
|
2064 | some more mismatches between plugin interface and implementation. |
|
|
2065 | CFPython.Get/SetSkillExperience() use 64-bit exp values now. |
|
|
2066 | CFPython.CastAbility() works again. |
|
|
2067 | Andreas Kirschbaum 2004-10-16 |
|
|
2068 | |
|
|
2069 | plugin/plugin_python.c, server/plugin.c: Fix type mismatches between plugin |
|
|
2070 | interface and implementation. |
|
|
2071 | plugin/plugin_python.c, server/plugin.c: Add/remove "static" to/from some |
|
|
2072 | variables. Fixes a memory leak in CFPython.SaveObject(). |
|
|
2073 | plugin/plugin_python.c: Fix reference counting for Python objects. |
|
|
2074 | Andreas Kirschbaum 2004-10-15 |
|
|
2075 | |
|
|
2076 | common/living.c: Fix exp functions to use the player objects expmul |
|
|
2077 | value when determining level gains, and not the skills. Also, |
|
|
2078 | fix bug where players last hp/sp/grace gain I think was being |
|
|
2079 | re-rolled when player gained level in skill. |
|
|
2080 | common/loader.l, loader.c: Add better recording of non existant objects |
|
|
2081 | (no archetype for them) in maps. Also, handle such objects in |
|
|
2082 | players inventories properly (which is to just discard them) |
|
|
2083 | common/map.c: Add better logging about discarded archetypes. Since the |
|
|
2084 | loader now deals with objects without archs in inventories, that |
|
|
2085 | code doesn't need to be in the server. |
|
|
2086 | common/object.c: copy_object() was not properly nulling out the |
|
|
2087 | next field in the event object, pointer to event list was also |
|
|
2088 | incorrect, causing events to not be copied properly. |
|
|
2089 | doc/spoiler-html/spoiler.html: Rebuilt. |
|
|
2090 | server/apply.c: Apply patch by MT that fixes problem of entire inventory |
|
|
2091 | not being copied properly. Fix problem that objects in creatures |
|
|
2092 | were not having any sub treasure created (eg, put a pyro_book in |
|
|
2093 | a monster on the map, and the pyro_book wouldn't have a spell in |
|
|
2094 | it) - now we make sure we process inventory objects as well as map |
|
|
2095 | objects, creating treasure as needed. |
|
|
2096 | server/monster.c: Reverse order of cast_spell() and drain_rod() in |
|
|
2097 | monster_use_range() - drain_rod() should go first, because |
|
|
2098 | case_spell() can in rare cases destroy the rod. |
|
|
2099 | MSW 2004-10-14 |
|
|
2100 | |
|
|
2101 | server/c_misc.c: Add natural skin resistances to 'statistics' output for |
|
|
2102 | dragon players. |
|
|
2103 | Ryo 2004-10-10 |
|
|
2104 | |
|
|
2105 | common/readable.c: Apply patch by Kevin Rudat to add some alchemy book names. |
|
|
2106 | common/readable.c: Apply patch by Kevin Rudat to fix buffer overrun while |
|
|
2107 | generating book titles. |
|
|
2108 | Andreas Kirschbaum 2004-10-09 |
|
|
2109 | |
|
|
2110 | include/sproto.h: Add function prototype. |
|
|
2111 | server/c_wiz.c: Add 'command_stack_clear' to clear DM item stack. |
|
|
2112 | server/commands.c: Link function to function array. |
|
|
2113 | Ryo 2004-09-26 |
|
|
2114 | |
|
|
2115 | server/player.c: Allow to 'reply' to players that logged out but did not yet |
|
|
2116 | drop the connection. Now reply works like other communication commands. |
|
|
2117 | common/utils.c: Fix random_roll() and die_roll() to not return out of range |
|
|
2118 | values. |
|
|
2119 | include/define.h: Add parentheses around arguments of FABS macro. |
|
|
2120 | Andreas Kirschbaum 2004-09-19 |
|
|
2121 | |
|
|
2122 | server/rune.c: Prevent creation of level 0 runes. Re-enable runes to cast |
|
|
2123 | multiple spells. |
|
|
2124 | Andreas Kirschbaum 2004-09-14 |
|
|
2125 | |
|
|
2126 | include/config.h: fix Win32 log path so there actually is a log. |
|
|
2127 | plugin/plugin_python.c: uint doesn't exist under Win32, use uint32 instead. |
|
|
2128 | |
|
|
2129 | Patches from tracker, courtesy Kurtat: |
|
|
2130 | patch 1022942: Random documentation updates |
|
|
2131 | doc/SurvivalGuide |
|
|
2132 | doc/Developers/programming_guide |
|
|
2133 | doc/Developers/protocol |
|
|
2134 | lib/settings |
|
|
2135 | lib/help/cast |
|
|
2136 | patch 1022973: Words for numbers in spellbook description |
|
|
2137 | server/c_object |
|
|
2138 | Ryo 2004-09-12 |
|
|
2139 | |
|
|
2140 | server/attack.c: Pass in skill (string) to change_exp instead of skop->skill - |
|
|
2141 | skop can be null, resulting in a crash here. In addition, other calls |
|
|
2142 | to change_exp in this function use the skill string, so it is good to |
|
|
2143 | be consistent. |
|
|
2144 | MSW 2004-09-09 |
|
|
2145 | |
|
|
2146 | server/c_wiz.c: Don't forget to skip blanks after reading item number or stack |
|
|
2147 | position. Works better for commands like patch :) |
|
|
2148 | Ryo 2004-09-06 |
|
|
2149 | |
|
|
2150 | common/object.c: Fix insert_ob_in_map so right coordinates and map |
|
|
2151 | value are used on GET_MAP_OB call - was using values before changes |
|
|
2152 | for tiling were applied. |
|
|
2153 | MSW 2004-09-02 |
|
|
2154 | |
|
|
2155 | server/player.c: allow to 'talk' to players with ambiguous names: use a |
|
|
2156 | perfect match even if other partial matches exist. |
|
|
2157 | Andreas Kirschbaum 2004-08-30 |
|
|
2158 | |
|
|
2159 | include/define.h |
|
|
2160 | server/shop.c |
|
|
2161 | add new flags F_IDENTIFIED and F_NOT_CURSED to query_cost() to pretend |
|
|
2162 | the item to be identified/not cursed or damned. |
|
|
2163 | server/alchemy.c |
|
|
2164 | fix possible abuse of shadow alchemy: do not allow the generated items |
|
|
2165 | to be more valuable than the ingredients when using alternate recipes. |
|
|
2166 | Andreas Kirschbaum 2004-08-24 |
|
|
2167 | |
|
|
2168 | common/map.c: Add extra check to make sure variable is set before calling |
|
|
2169 | strcmp - this can happen if the map file that is being loaded is |
|
|
2170 | 0 bytes - without this, the server would crash. |
|
|
2171 | MSW 2004-08-23 |
|
|
2172 | |
|
|
2173 | |
|
|
2174 | server/disease.c: fix crash when casting diseases on tiled maps. |
|
|
2175 | server/move.c: fix problem with multi-tile monsters and pass thru walls. |
|
|
2176 | server/spell_effect.c: fix magic walls sometimes appearing in wrong place. |
|
|
2177 | Andreas Kirschbaum 2004-08-20 |
|
|
2178 | |
|
|
2179 | common/loader.l, loader.c: in check_loaded_object() - don't give spell |
|
|
2180 | objects inventory if we are in the arch_init phase. When loading objects |
|
|
2181 | in common loader routine, if object doesn't have arch, set the object |
|
|
2182 | name to the arch name so that it is more meaningful than 'singularity'. |
|
|
2183 | common/map.c: If object has inventory, check to make sure the inventory |
|
|
2184 | objects have an archetype set - if not, remove and free the object - |
|
|
2185 | objects without archetypes causes crashes. |
|
|
2186 | MSW 2004-08-17 |
|
|
2187 | |
|
|
2188 | server/apply.c: fix_auto_apply() - add some debugging statements, as I've |
|
|
2189 | seen crashes caused by monsters with scrolls with no spells - need to |
|
|
2190 | figure out how those are showing up. |
|
|
2191 | server/c_wiz.c: command_kick() - fix occasional crashes when player isn't |
|
|
2192 | on any map when kicked. command_create() largely rewritten so it doesn't |
|
|
2193 | crash the server on any malformed values passed in, add some more features |
|
|
2194 | so it should be easier to create objects. |
|
|
2195 | MSW 2004-08-16 |
|
|
2196 | |
|
|
2197 | server/apply.c: better to not create a treasure for spellbooks that already have |
|
|
2198 | something in inventory. Else you get 2 spells in the book, which then |
|
|
2199 | mutates when loading (first spell is the book's spell, and order changes every |
|
|
2200 | load/save...) |
|
|
2201 | Ryo 2004-08-16 |
|
|
2202 | |
|
|
2203 | Those changes mostly add an item stack for DMs. It makes it easier to dump & patch & |
|
|
2204 | manipulate items without having to copy numbers all the time. |
|
|
2205 | Basically, you can use '$x', meaning item at position x on stack. Or even |
|
|
2206 | omit argument, defaulting to stack top. |
|
|
2207 | When using an object number, it gets stacked automatically (up to 50 items). |
|
|
2208 | Also add a 'diff' command, letting the DM see the result of 'get_ob_diff' on items, |
|
|
2209 | to spot differences easily. |
|
|
2210 | |
|
|
2211 | common/player.c: free item stack when freeing player structure. |
|
|
2212 | include/player.h: add item stack to player structure. |
|
|
2213 | include/sproto.h: new functions for stack. |
|
|
2214 | include/win32.h: missed commit for 1.6.1 version. |
|
|
2215 | server/c_misc.c: push item dumped with 'deumpbelow' on dm stack. |
|
|
2216 | server/c_wiz.c: add stack functions. Use'em on patch, create, remove, free, and such. |
|
|
2217 | Add 'diff' command. |
|
|
2218 | server/commands.c: add new stack & diff commands. |
|
|
2219 | Ryo 2004-08-15 |
|
|
2220 | |
|
|
2221 | server/spell_attack.c: fix mood_change when spell has no attacktype. |
|
|
2222 | In this case, do a specific saving throw, to ensure a level 1 player |
|
|
2223 | can't charm a level 125 monster. |
|
|
2224 | Ryo 2004-08-14 |
|
|
2225 | |
|
|
2226 | random_maps/exit.c |
|
|
2227 | random_maps/random_map.c |
|
|
2228 | random_maps/random_map.h |
|
|
2229 | random_maps/reader.l |
|
|
2230 | random_maps/rproto.h |
|
|
2231 | random_maps/special.c |
|
|
2232 | random_maps/wall.c |
|
|
2233 | added fix for random maps with single arch walls, |
|
|
2234 | added level indicator on random map signs |
|
|
2235 | added new parameter 'exit_on_final_map'- see documentation |
|
|
2236 | TM 2004-08-07 |
|
|
2237 | |
|
|
2238 | include/plugin.h |
|
|
2239 | plugin/plugin_python.c |
|
|
2240 | server/c_wiz.c |
|
|
2241 | server/plugins.c |
|
|
2242 | add event hooks for Kick and Muzzle(toggle_shout) commands. |
|
|
2243 | fix CFSetQuantity by changing the int to uint and remove 100000 item limit. |
|
|
2244 | pythonplug now looks for event scripts in maps/python/events. |
|
|
2245 | TM 2004-08-02 |
|
|
2246 | |
|
|
2247 | server/skills.c: xp for writing is now multiplied by skill level, to |
|
|
2248 | make it possible to level. |
|
|
2249 | Ryo 2004-07-17 |
|
|
2250 | |
|
|
2251 | common/loader.c: add #ifndef for non-existant Win32 header |
|
|
2252 | include/win32.h: #define vsnprintf _vsnprintf to fix linking issue |
|
|
2253 | Ryo 2004-07-03 |
|
|
2254 | |
|
|
2255 | server/skill_util.c: Fix skills command so that it properly displays |
|
|
2256 | percentage of permanent exp. |
|
|
2257 | server/time.c: Modify move_arrow() so that it removes thrown objects |
|
|
2258 | with no inventory. |
|
|
2259 | MSW 2004-06-22 |
|
|
2260 | |
|
|
2261 | socket/info.c: Replace sprintf() calls with snprintf() - got metalforge |
|
|
2262 | crash with apparent buffer overun - going to snprintf should prevent |
|
|
2263 | the problem in the future. |
|
|
2264 | MSW 2004-06-21 |
|
|
2265 | |
|
|
2266 | server/c_wiz.c: for command_create() - check to see if 'of' parameter |
|
|
2267 | is a spell archetype name, and do the right thing if it is. This |
|
|
2268 | allows things like 'create rod_heavy of spell_large_lightning'. |
|
|
2269 | Note that the command_create is still a seriously broken function |
|
|
2270 | in many regards. |
|
|
2271 | server/rune.c: Fix write_rune() when trying to find the spell in encase |
|
|
2272 | in the rune - assignment was incorrect, so it always took the last |
|
|
2273 | matching spell in the players inventory, not the best matching spell. |
|
|
2274 | server/spell_util.c: Change the call to prayer_failure() so that its |
|
|
2275 | potency is based on how badly short the player is short of grace. Eg, |
|
|
2276 | if only 1 point short, potency of 1. This changes from before where |
|
|
2277 | the potency was always the difference in mana. |
|
|
2278 | MSW 2004-06-17 |
|
|
2279 | |
|
|
2280 | server/attack.c: Fix hit_with_arrow() so that it uses the proper map |
|
|
2281 | when inserting the arrow. |
|
|
2282 | server/c_wiz.c: Add note about brokeness of command_create() |
|
|
2283 | server/spell_effect.c: execute_word_of_recall() - don't attempt recall |
|
|
2284 | if player isn't on any map. |
|
|
2285 | MSW 2004-06-15 |
|
|
2286 | |
|
|
2287 | common/object.c |
|
|
2288 | include/define.h |
|
|
2289 | include/player.h |
|
|
2290 | include/sproto.h |
|
|
2291 | server/attack.c |
|
|
2292 | server/c_object.c |
|
|
2293 | server/player.c |
|
|
2294 | server/shop.c |
|
|
2295 | socket/item.c |
|
|
2296 | socket/loop.c |
|
|
2297 | socket/request.c: Remove explicit calls to |
|
|
2298 | esrv_update_item(UPD_WEIGHT, pl, pl) for player objects. Instead |
|
|
2299 | send the new weight whenever it changes. |
|
|
2300 | Andreas Kirschbaum 2004-06-13 |
|
|
2301 | |
|
|
2302 | server/spell_attack.c: cast_destruction() - have it change the skill |
|
|
2303 | for the caster so that exp is properly awarded. |
|
|
2304 | common/object.c: insert_map_in_ob() - remove CAN_MERGE checks after the |
|
|
2305 | map translation - otherwise, we can have bogus coordinates |
|
|
2306 | that are used for GET_MAP_OB. |
|
|
2307 | random_maps/style.c: pick_random_object() - have it return null object |
|
|
2308 | (and probably crash) instead of getting into an infinite loop. |
|
|
2309 | server/c_wiz.c: command_kick() - check FLAG_FREED of player. Remove all |
|
|
2310 | the broken skill/exp object granting code in command_possess() - this |
|
|
2311 | is probably still a broken function. |
|
|
2312 | common/item.c: describe_monster() - if the creature/player is stealthy, |
|
|
2313 | mention it when the object is described. |
|
|
2314 | common/loader.l, loader.c: Fix passed in size to get_ob_diff() - was one |
|
|
2315 | to long, causing string corruption. |
|
|
2316 | server/spell_attack.c: mood_change() - fix get_map_ob call - wasn't using |
|
|
2317 | correct coordinate variables, resulting in crash. |
|
|
2318 | MSW 2004-06-10 |
|
|
2319 | |
|
|
2320 | server/c_party.c: gsay improvements, courtesy Katia. |
|
|
2321 | Ryo 2004-06-09 |
|
|
2322 | |
|
|
2323 | server/commands.c: Disable 'possess', that crashes server. |
|
|
2324 | server/monster.c: Make monsters use wands/horns/... again. Also make'em |
|
|
2325 | ignore DMs all the time (even when not invisible). |
|
|
2326 | server/skill_util.c: Fix the change_skill when called for monsters. |
|
|
2327 | Ryo 2004-06-06 |
|
|
2328 | |
|
|
2329 | server/c_misc.c: Add sum_weight() call to fix_me command so that players |
|
|
2330 | weight is properly recalculated. |
|
|
2331 | server/skills.c: Fix up attempt_steal() so that it doesn't improperly |
|
|
2332 | remove object from target when person doing the stealing can't pick |
|
|
2333 | it up. |
|
|
2334 | server/spell_attack.c: Set maxhp properly, so multipled fireballs, etc |
|
|
2335 | can be going off at the same time. |
|
|
2336 | server/spell_effect.c: Fix up cast_create_missile() so more esoteric |
|
|
2337 | missiles can be created. |
|
|
2338 | MSW 2004-05-31 |
|
|
2339 | |
|
|
2340 | include/sproto.h: new 'dmhide' command. |
|
|
2341 | server/commands.c: new 'dmhide' command. |
|
|
2342 | server/c_wiz.c: added 'dmhide' command. Player becomes DM, and 'hide's immediately. Others |
|
|
2343 | only see him/her leave the game, they don't know s/he's DM. |
|
|
2344 | Ryo 2004-05-24 |
|
|
2345 | |
|
|
2346 | include/book.h: Increase the size of BOOK_BUF, so inscribed books can hold |
|
|
2347 | more informatin. |
|
|
2348 | lib/Makefile.am, lib/Makefile.in: Add the 'rename' to the list of help |
|
|
2349 | files. |
|
|
2350 | lib/archetypes: update the glyph/rune spells to have proper face. |
|
|
2351 | lib/bmaps, lib/crossfire.* - add glyph.111 image. |
|
|
2352 | server/gods.c: Modify tailor_god_spell() to look harder to find a god - |
|
|
2353 | necessary for glyph spells. |
|
|
2354 | server/spell_attack.c: Give players 50% of exp for monsters they charm. |
|
|
2355 | MSW 2004-05-19 |
|
|
2356 | |
|
|
2357 | common/object.c: Correct get_search_arr() to return a proper permutation. |
|
|
2358 | Andreas Kirschbaum 2004-05-18 |
|
|
2359 | |
|
|
2360 | server/main.c: Have process_events display information from dumped object. |
|
|
2361 | also, more refinement on checking of object status. |
|
|
2362 | MSW 2004-05-16 |
|
|
2363 | |
|
|
2364 | server/build_map.c: change 'player' variable to 'pl', since a player |
|
|
2365 | structure already exists. Also fix disappearing pedestals on non-unique |
|
|
2366 | maps (put'em over floor, they are visible but hey, can't have everything :p) |
|
|
2367 | server/c_wiz.c: fix learn_spell. |
|
|
2368 | Ryo 2004-05-16 |
|
|
2369 | |
|
|
2370 | server/main.c: freeing removed objects appeared to have more of a |
|
|
2371 | consequence than expected - only remove the object if it was on a map |
|
|
2372 | (op->map). It turns out that the artifact code uses objects that |
|
|
2373 | are removed to store what the new object is. |
|
|
2374 | server/spell_effect.c: Fix cast_create_food() to call |
|
|
2375 | find_archetype_by_object_name() instead of find_archetype(). In this |
|
|
2376 | way, players can use invoke without having to know the archetype name. |
|
|
2377 | server/c_wiz.c: Modify command_banish() to record dm name, player name, |
|
|
2378 | and date of command. |
|
|
2379 | server/acinclude.m4: Patch by acinclude.m4 to add python 2.3 support. |
|
|
2380 | Rebuilt files (Makefile.in, aclocal.m4, configure, configure.in). add |
|
|
2381 | config.guess, config.sub since automake now includes them in the Makefile.in |
|
|
2382 | file. |
|
|
2383 | MSW 2004-05-15 |
|
|
2384 | |
|
|
2385 | |
|
|
2386 | Added a new item type: ground positioning system (GPS). |
|
|
2387 | This lets a player know his/her location in the world. |
|
|
2388 | Only works in 'world_xxx_xxx' maps. |
|
|
2389 | |
|
|
2390 | include/define.h: add new item type, 'GPS' (162). |
|
|
2391 | include/sproto.h: add new function, 'apply_positioning_system'. |
|
|
2392 | server/apply.c: handle new item type. |
|
|
2393 | Ryo 2004-05-15 |
|
|
2394 | |
|
|
2395 | server/spell_util.c: SP_level_spellpoint_cost() - never have a spell |
|
|
2396 | cost 0 spellpoints due to attunement or other bonuses - spell always |
|
|
2397 | cost at least 1 sp/grace. |
|
|
2398 | server/main.c: Fix process_events() so it doesn't purge removed players |
|
|
2399 | from the list - players get in the removed state at play again |
|
|
2400 | prompt. |
|
|
2401 | server/apply.c: Fix fix_auto_apply() so we don't generate additional |
|
|
2402 | spells for spellcasting objects that already have them (regression |
|
|
2403 | from fix from 5/11 below) |
|
|
2404 | MSW 2004-05-13 |
|
|
2405 | |
|
|
2406 | server/pets.c: Fix summon golem, summon pet monsters so that the summoned |
|
|
2407 | monsters are not worth any exp. Fixes bugs were players could |
|
|
2408 | summon monsters and then kill them. |
|
|
2409 | server/skills.c: Fix do_skill_detect_curse() and do_skill_detect_magic() |
|
|
2410 | so that they don't process objects the player is incapable of picking |
|
|
2411 | up (eg, floors). Fixes experience exploit. |
|
|
2412 | server/apply.c: modify fix_auto_apply() so that it properly generates |
|
|
2413 | items for creatures that start with objects in their inventory. |
|
|
2414 | MSW 2004-05-11 |
|
|
2415 | |
|
|
2416 | server/spell_util.c: Fix cast_spell() so that failed spells (due to |
|
|
2417 | encumberance or other penalties) still cost some random number of grace/ |
|
|
2418 | mana points. |
|
|
2419 | MSW 2004-05-10 |
|
|
2420 | |
|
|
2421 | common/treasure.c: Change the loading of the artifacts file to actually |
|
|
2422 | calloc() the object - reset_object() doesn't clear all the values, |
|
|
2423 | like active_next, active_prev, so better to just do it there. |
|
|
2424 | server/main.c: Add code in process_events() that checks for removed objects - |
|
|
2425 | have seen occasional crashes caused by them. |
|
|
2426 | MSW 2004-05-08 |
|
|
2427 | |
|
|
2428 | Armor enchantment now uses setting values. |
|
|
2429 | common/init.c: new values to init in settings. |
|
|
2430 | include/global.h: new setting values. |
|
|
2431 | include/config.h: new default values for settings. |
|
|
2432 | lib/settings: explanation for those new values. |
|
|
2433 | server/apply.c: change armor improvement code to use setting values. |
|
|
2434 | server/init.c: read new settings. |
|
|
2435 | Ryo 2004-05-08 |
|
|
2436 | |
|
|
2437 | common/init.c: there's a #define LOGFILE, use it instead of hardcoded value. |
|
|
2438 | include/config.h: change default logfile path to previous value in init.c. |
|
|
2439 | server/c_wiz.c: Fix 'nodm' displaying incorrect messages, and forgetting to |
|
|
2440 | update player count on map. |
|
|
2441 | Ryo 2004-05-08 |
|
|
2442 | |
|
|
2443 | server/apply.c: Fix apply_special() to properly deal with LAMP objects - it |
|
|
2444 | wasn't dealing properly with the split off lamp compared to the one it |
|
|
2445 | was supposed to deal with - was crashing server. |
|
|
2446 | MSW 2004-05-04 |
|
|
2447 | |
|
|
2448 | common/item.c: describe_monster() - print luck when describing players (fixex |
|
|
2449 | perceive self not showing luck) |
|
|
2450 | server/attack.c: kill_object() - don't give player exp if he kills himself - |
|
|
2451 | compare owner against what was killed, not the hitter. |
|
|
2452 | server/pets.c: summon_object() - move breaking out for last treasurelist |
|
|
2453 | after we set the last valid treasurelist - otherwise, the list entry for |
|
|
2454 | the treasurelist was never used. Change summoned creatures so that |
|
|
2455 | the items they have are god given, and thus disappear when they |
|
|
2456 | are killed - prevents players from summoning and then looting their pets. |
|
|
2457 | server/spell_attack.c: explode_bullet() - Get owner of the spell so that we |
|
|
2458 | can properly tailor the explosion portion of the spell for the god |
|
|
2459 | of the worshipper. |
|
|
2460 | MSW 2004-05-03 |
|
|
2461 | |
|
|
2462 | server/shop.c: patch from Andreas Kirschbaum for Windows compilation. |
|
|
2463 | server/spell_effect.c: patch from Andreas Kirschbaum for Windows compilation. |
|
|
2464 | Ryo 2004-05-03 |
|
|
2465 | |
|
|
2466 | common/porting: changed open_and_uncompress to use const char* instead of |
|
|
2467 | char*, since value shouldn't be changed (and isn't). |
|
|
2468 | include/libproto.h: changed prototype for open_and_uncompress |
|
|
2469 | Ryo 2004-04-28 |
|
|
2470 | |
|
|
2471 | ------------------------------------------------------------------------------ |
|
|
2472 | Changes for 1.6.0: |
|
|
2473 | |
|
|
2474 | configure, Makefiles: Rebuilt for 1.6.0 release |
|
|
2475 | doc/*/Makefile.am: Modified to use one makeps.pl utility in scripts directory. |
|
|
2476 | doc/scripts/makeps.pl: Make this the definitive copy - fix problem with it |
|
|
2477 | trying to combine big images when it doesn't need to. Remove other copies. |
|
|
2478 | doc/playbook/chap1.tex, doc/playbook/chap5.tex: Fix some obvious errors, |
|
|
2479 | but overall, the playbook is still quite out of date. |
|
|
2480 | doc/playbook/treas2-extract: Have it not include abilities in given items, |
|
|
2481 | have it properly deal with multiple underscores in arch names. |
|
|
2482 | doc/spoiler-html/spoiler.html, doc/spoiler.ps: Rebuilt |
|
|
2483 | MSW 2004-04-26 |
|
|
2484 | |
|
|
2485 | server/apply.c: apply_savebed() - make call to terminate_all pets before |
|
|
2486 | call to remove_ob() so that pets are properly removed. |
|
|
2487 | common/item.c, server/c_object.c: Fix code so that skill tools (talismans, |
|
|
2488 | holy symbols, etc) are properly describe. Clean up formatting of long_desc() |
|
|
2489 | MSW 2004-04-25 |
|
|
2490 | |
|
|
2491 | |
|
|
2492 | Change most shop buy/sell functions to use 64 bit values. Problem arises |
|
|
2493 | where player would sell valuable item, and if they wanted to buy them back, |
|
|
2494 | it would overflow a 32 bit value, so they could buy them back for free. |
|
|
2495 | Note quite as odd when you consider the buy/sell price for really valuable |
|
|
2496 | items to be very different. |
|
|
2497 | include/global.h: Add UINT32_MAX and other max type defines for our typedef |
|
|
2498 | values so that we have standard setting of what the cap is. |
|
|
2499 | server/apply.c: Change get_payment call to take second argument. |
|
|
2500 | server/plugins.c: Add note about bug in handling of query_cost in this |
|
|
2501 | function. |
|
|
2502 | server/shop.c: query_cost() now returns 64 bit. Many other functions |
|
|
2503 | updated to also take/return 64 bit cost values. Have cost_string |
|
|
2504 | nicely deal with values that are beyond affordability. Rename get_payment2() |
|
|
2505 | to get_payment(), and remove the later, which was just a simple wrapper |
|
|
2506 | function that called get_payment2. |
|
|
2507 | server/spell_effect.c: Update alchemy code. Remove some suspect use of |
|
|
2508 | static values. |
|
|
2509 | MSW 2004-04-24 |
|
|
2510 | |
|
|
2511 | server/apply.c: fix check_weapon_power() so it operates on overall character |
|
|
2512 | level and not skill level - this matches up what the out of skills |
|
|
2513 | displays. |
|
|
2514 | MSW 2004-04-20 |
|
|
2515 | |
|
|
2516 | common/button.c: Patch by Bernd Edler to have proper speed set for items |
|
|
2517 | activated by buttons. |
|
|
2518 | server/apply.c: Apply the 'special prayer' marker stuff, since it wasn't |
|
|
2519 | used anymore. |
|
|
2520 | server/gods.c: Check for FLAG_EQUIP on spells and not for a special prayer |
|
|
2521 | marker to guess if a spell is a god given spell or not. |
|
|
2522 | server/spell_util.c: Patch by Bernd Edler so that firewalls are immune |
|
|
2523 | to casting time. |
|
|
2524 | MSW 2004-04-17 |
|
|
2525 | |
|
|
2526 | server/shop.c: Decrease adjustment limit for expensive items to 10000 to get a |
|
|
2527 | continuous adjustment function. That is you will get much less when selling |
|
|
2528 | items with a value between 800pp and 2000pp. |
|
|
2529 | Andreas Kirschbaum 2004-04-16 |
|
|
2530 | |
|
|
2531 | common/map.c: Change blocked_link() to take a map parameter. Also, change code |
|
|
2532 | in blocked_link() to assume that the caller has set up appropriate map and |
|
|
2533 | coordinates related to tiling (in all functions that currently call |
|
|
2534 | blocked_link, this is the case) |
|
|
2535 | include/libproto.h: Rebuilt. |
|
|
2536 | server/move.c, server/player.c: update call to blocked_link to include the map. |
|
|
2537 | MSW 2004-04-15 |
|
|
2538 | |
|
|
2539 | common/object.c: Change CAN_MERGE() so that it compares the stats structure of |
|
|
2540 | the objects being merged. Fixes problems of rings improperly merging with |
|
|
2541 | other rings that have different stat values. |
|
|
2542 | server/monster.c: Modify check_earthwalls() and check_doors() to take a |
|
|
2543 | map structure as an option parameter, and use that structure when |
|
|
2544 | calling get_map_ob. Fixes a crash in cases where earthwalls/doors |
|
|
2545 | were at the edge of a tiled map, and creature was on other map moving into |
|
|
2546 | it. |
|
|
2547 | server/move.c: Change move_ob() to adjust coordinates for tiling, and |
|
|
2548 | pass in these adjusted coordinages (and map) to the check_() functions |
|
|
2549 | in monster.c |
|
|
2550 | random_maps/treasure.c: Apply patch by Andreas Kirschbaum so that it does |
|
|
2551 | more work in trying to place keys on maps. |
|
|
2552 | MSW 2004-04-13 |
|
|
2553 | |
|
|
2554 | common/living.c: Patch by Bernd Edler to remove cap on exp for players. |
|
|
2555 | MSW 2004-04-09 |
|
|
2556 | |
|
|
2557 | common/item.c: If potion wasn't given a random spell, use the archetype |
|
|
2558 | name when it is identified. |
|
|
2559 | common/treasure.c: Fix potion codes so that healing and magic power potions |
|
|
2560 | get the proper spell inserted into them. Also fix line termination issue. |
|
|
2561 | server/skill_util.c: Add check in skill_attack() to make sure current_weapon |
|
|
2562 | is not null - there has been some crashes here, but I can't figure out |
|
|
2563 | how it gets to this state, so better to at least handle it. |
|
|
2564 | MSW 2004-04-07 |
|
|
2565 | |
|
|
2566 | server/player.c: In flee_player(), make sure the enemy to the player is |
|
|
2567 | on an actual map - fixes crashes. |
|
|
2568 | MSW 2004-04-06 |
|
|
2569 | |
|
|
2570 | common/potion.c: Fix up change_abil() to more properly deal with potions - |
|
|
2571 | characters could get 0 stat values. Also, messages were not being properly |
|
|
2572 | displayed. Patch is slightly modified from one sent in by Bernd Edler. |
|
|
2573 | MSW 2004-04-05 |
|
|
2574 | |
|
|
2575 | server/main.c: Add extra checking for valid map coordinates after we grab |
|
|
2576 | them from the destination map itself - if a map is broken and has |
|
|
2577 | default enter_ coordinates outside the maps range, this previously |
|
|
2578 | resulted in a crash. |
|
|
2579 | server/pets.c: Pass the correct map object into insert_ob_in_map(). |
|
|
2580 | MSW 2004-04-03 |
|
|
2581 | |
|
|
2582 | server/monster.c: fixed wiz's hidden mode not working on monsters. |
|
|
2583 | Ryo 2004-03-28 |
|
|
2584 | |
|
|
2585 | common/porting.c |
|
|
2586 | include/libproto.h |
|
|
2587 | include/win32.h: added 'const' specifier to str-related functions. |
|
|
2588 | Ryo 2004-03-26 |
|
|
2589 | |
|
|
2590 | common/exp.c |
|
|
2591 | common/living.c |
|
|
2592 | common/loader.[cl] |
|
|
2593 | common/porting.c |
|
|
2594 | server/c_misc.c |
|
|
2595 | server/c_wiz.c |
|
|
2596 | server/hiscore.c |
|
|
2597 | server/resurrection.c: fixed %lld to %I64d for Windows. |
|
|
2598 | Ryo 2004-03-26 |
|
|
2599 | |
|
|
2600 | server/attack.c: Add scare_creature() function, which sets FLAG_SCARED |
|
|
2601 | and also sets up appropriate enemy. Clean up some formatting in |
|
|
2602 | other functions, and fix friendly fire - move it out of the loop for |
|
|
2603 | all attacktypes (can be after we have figured out max damage). Also, |
|
|
2604 | has a bug where if an attach wasn't doing any damage, friendly fire could |
|
|
2605 | actually make it do damage (eg, fear spell). |
|
|
2606 | server/player.c: Fix up flee_player() to be map tile aware. Also, add |
|
|
2607 | call to flee_player() in handle_newcs_player() so player will run away. |
|
|
2608 | MSW 2004-03-24 |
|
|
2609 | |
|
|
2610 | server/attack.c: Add missing skill=NULL in kill_object() - can be rare |
|
|
2611 | cases where the proper skill can't be found. |
|
|
2612 | server/move.c: Fix push_object() so that it also updates the pushers/ |
|
|
2613 | pushees map - should only happen in tiled map cases. |
|
|
2614 | server/pets.c: Fix summon_object() so that if a summon cult monsters was |
|
|
2615 | cast, we try to find the god from the owner. If still can't find the |
|
|
2616 | god, just return instead of crashing. |
|
|
2617 | server/rune.c: Change trap_disarm() to call destroy_object() on the |
|
|
2618 | trap object, so that all the trapss inventory is also destroyed |
|
|
2619 | and not dumped on the ground. |
|
|
2620 | server/skills.c: Only players without arms to steal. |
|
|
2621 | server/spell_util.c: Change cast_spell to set up the skill pointer for the |
|
|
2622 | caster even if the caster is the wizard. |
|
|
2623 | MSW 2004-03-22 |
|
|
2624 | |
|
|
2625 | server/treasure.c: patch from Bernd Edler to enable multiple |
|
|
2626 | 'allowed' lines in artifacts. |
|
|
2627 | Ryo 2004-03-12 |
|
|
2628 | |
|
|
2629 | Those fixes make DMs more 'stealthy' (when hiding/unhiding). |
|
|
2630 | Also use yet unused colors for player join/leave, and DM join/leave. |
|
|
2631 | This way those messages appear in a different window in split window |
|
|
2632 | mode, to make the messages easier to spot. |
|
|
2633 | server/apply.c: change color for player leave message. |
|
|
2634 | server/c_misc.c: let DMs see hidden DMs. |
|
|
2635 | server/c_wiz.c: make DMs more stealthy. |
|
|
2636 | server/login.c: change color for player joining message. |
|
|
2637 | server/main.c: change color for player joining/exiting message. |
|
|
2638 | Ryo 2004-03-12 |
|
|
2639 | |
|
|
2640 | common/item.c: Fixed calc_item_power() to return valid item power for |
|
|
2641 | items with high enchantments. |
|
|
2642 | Andreas Kirschbaum 2004-03-07 |
|
|
2643 | |
|
|
2644 | server/spell_effect.c: small patch by Karla Stenger to put player's name |
|
|
2645 | in the 'race' field of marking runes. This way, a DM can know who wrote |
|
|
2646 | a rune, in case it has some bad vocabulary :) |
|
|
2647 | Ryo 2004-03-06 |
|
|
2648 | |
|
|
2649 | server/spell_attack.c: change check_cone_push function to use arch weights. |
|
|
2650 | move function up for resuability and change to check_spell_knockback |
|
|
2651 | include/sproto.h: change function name |
|
|
2652 | TM 2004-02-28 |
|
|
2653 | |
|
|
2654 | |
|
|
2655 | common/image.c: removed unused variables. |
|
|
2656 | common/item.c: conditionally remove unused variables. |
|
|
2657 | common/map.c: conditionally define variables, unused under Windows. |
|
|
2658 | include/global.h: turned off a conversion warning under Windows. |
|
|
2659 | Ryo 2004-02-28 |
|
|
2660 | |
|
|
2661 | |
|
|
2662 | common/living.c: changed 'signed char' to 'sint8' for set|get|change_attr_value. |
|
|
2663 | common/map.c: map size is sint16, for arch_blocked. |
|
|
2664 | include/libproto.h: update prototypes for set|get|change_attr_value and arch_blocked. |
|
|
2665 | random_maps/rproto.h: changed prototype for surround_flag3. |
|
|
2666 | random_maps/wall.c: changed surround_flag3 to use sint16 instead of int for map |
|
|
2667 | coordinates. |
|
|
2668 | server/apply.c: attribute values are sint8 in eat_special_food and |
|
|
2669 | apply_changes_to_player. Some explicit casts. |
|
|
2670 | server/player.c: map coordinates are sint16, in hideability. |
|
|
2671 | server/spell_attack.c: map coordinates are sint16, not int. |
|
|
2672 | server/spell_effect.c: stats are sint8 in cast_change_ability. Map coordinates are |
|
|
2673 | sint16 in move_aura. |
|
|
2674 | server/time.c: generate_monster doesn't return a value. |
|
|
2675 | Ryo 2004-02-27 |
|
|
2676 | |
|
|
2677 | |
|
|
2678 | common/living.c: Have give_skill_by_name() update the skill pointers in the |
|
|
2679 | player object. |
|
|
2680 | server/spell_attack.c: Properly set maxhp in the cone spell - this is used |
|
|
2681 | in ok_to_put_more() to make sure one spell doesn't hit a single space |
|
|
2682 | too many times. |
|
|
2683 | MSW 2004-02-23 |
|
|
2684 | |
|
|
2685 | common/object.c: Change CAN_MERGE() so that we never merge applied objects - |
|
|
2686 | whether or not they are rings. |
|
|
2687 | lib/*: different spell for dragons vs players for firebreath - update |
|
|
2688 | treasures so monsters use ability version. |
|
|
2689 | server/gods.c: Add missing call to link_player_skills(), resulting in players |
|
|
2690 | having multiple praying skills. |
|
|
2691 | server/skill_util.c: Change learn_skill() so we don't create a skill pointer |
|
|
2692 | for the player if they didn't learn the skill (even if they can't use |
|
|
2693 | such a created skill, it is still a bit confusing). Fix finding of |
|
|
2694 | hand to hand skills to make sure the player can in fact use the skill |
|
|
2695 | in question. |
|
|
2696 | server/spell_attack.c: Fix cast_cone() so that it properly hits all directions. |
|
|
2697 | MSW 2004-02-22 |
|
|
2698 | |
|
|
2699 | |
|
|
2700 | include/define.h,server/shop.c: Apply patch by Bernd Edler that gives |
|
|
2701 | bargaining experience based on the amount of money a character saves. |
|
|
2702 | Higher the bargaining skill, the more money they can save. |
|
|
2703 | MSW 2004-02-16 |
|
|
2704 | |
|
|
2705 | doc/Developers/spells: Update type on casting_time - include suggested value |
|
|
2706 | for times so that results are hopefully more coherent. |
|
|
2707 | lib/archetypes, treasures.bld: rebuilt. |
|
|
2708 | lib/treasures: Change some of the 'spelldirect' types to just the actual spells, |
|
|
2709 | so that two seperate archs don't have to be maintained. |
|
|
2710 | server/c_wiz.c: Add some basic sanity checking to command_remove() so that |
|
|
2711 | we don't unnecessarily crash. |
|
|
2712 | server/skills.c: write_scroll() - have it reset value of the scroll so that |
|
|
2713 | the scrolls so inscribed by players have better chance of merging. |
|
|
2714 | server/spell_attack.c: cast_cone() - if the caster is a trap, have it hit |
|
|
2715 | the center space, so that characters who detonate cone traps will get hit |
|
|
2716 | by the effects. Also, reduce range of cone spells if they are going |
|
|
2717 | in all directions, compared to being targetted in a speciifc direction. |
|
|
2718 | server/spell_util.c: cast_spell() - put lower limit on player speed_left value |
|
|
2719 | when casting spells - since higher up the calling stack, the player speed |
|
|
2720 | is also reduced, we need to set the lower limit here so that the player |
|
|
2721 | isn't out of action longer than they should be. |
|
|
2722 | MSW 2004-02-16 |
|
|
2723 | |
|
|
2724 | include/map.h: removed unused fields from wmapdef.. |
|
|
2725 | include/object.h: removed unused field from object.h. Changed glow_radius to sint8 to be |
|
|
2726 | coherent with struct MapSpace. |
|
|
2727 | include/player.h: removed unused fields from player structure. |
|
|
2728 | server/apply.c: removed unused known_spell field. |
|
|
2729 | Ryo 2004-02-16 |
|
|
2730 | |
|
|
2731 | common/object.c: change get_owner() so that it also returns no valid owner if |
|
|
2732 | the owner is removed. This fixes a crash if a player quits but is still |
|
|
2733 | sitting at the play again prompt when something he owns kills something. |
|
|
2734 | server/skill_util.c: Fix show_skills() so that if the character has too many |
|
|
2735 | skills for whatever reason, we don't crash, and instead print an error |
|
|
2736 | to the player. |
|
|
2737 | server/spell_attack.c: Fix typo - not sure actual effect, but probably nothing |
|
|
2738 | good. '+ +' should just have been '+' |
|
|
2739 | MSW 2004-02-12 |
|
|
2740 | |
|
|
2741 | common/Makefile.am: Clean up proto - lex seems to toss some new symbols in |
|
|
2742 | now days. |
|
|
2743 | common/map.c, common/object.c, server/player.c, socket/item.c, |
|
|
2744 | socket/request.c: change parameters of get_map_from_coord from int to |
|
|
2745 | sint16, so the op->x,op->y can get passed directly in. Update callers of |
|
|
2746 | this function. |
|
|
2747 | lib/archetypes: Add damned 1 to the shop floors. |
|
|
2748 | server/pets.c: Fix problem with big (multisquare) pets following the owner |
|
|
2749 | across tiled map boundaries. |
|
|
2750 | socket/item.c: Fix problem of players being able to see everything within |
|
|
2751 | containers by just looking at them. |
|
|
2752 | MSW 2004-02-10 |
|
|
2753 | |
|
|
2754 | common/treasure.c: add_abilities(): For potions and horns (spell casting |
|
|
2755 | objects) convert the other_arch into a spell and put into the object - |
|
|
2756 | otherwise, the spell casting object casts the wrong spell. |
|
|
2757 | common/object.c: Clean up formatting of copy_object. Only real code change |
|
|
2758 | is to fix events - copied event data wasn't getting malloc'd, and thus |
|
|
2759 | when another object of that event was freed, it freed the event data |
|
|
2760 | for all objects derived from it. |
|
|
2761 | common/treasure.c: Fix fix_generated_item() so that books generated by |
|
|
2762 | monsters with no_pick set don't inherit that for the book itself. |
|
|
2763 | Still do it for other objects of the creator type. |
|
|
2764 | MSW 2004-02-08 |
|
|
2765 | |
|
|
2766 | server/c_object.c: fixed sack_can_hold for the 'won't fit' cast, |
|
|
2767 | missing 'return 0' |
|
|
2768 | server/gods.c: applied Karla Stenger's patch, making sure 'praying' is |
|
|
2769 | applied when becoming fellower of a god |
|
|
2770 | Ryo 2004-02-08 |
|
|
2771 | |
|
|
2772 | Changed map-building to work on non-unique maps too. |
|
|
2773 | server/build_map.c: removed check for unique map. |
|
|
2774 | Ryo 2004-01-19 |
|
|
2775 | |
|
|
2776 | |
|
|
2777 | Added map-building code. This lets players change unique maps, |
|
|
2778 | adding & removing walls, doors, stuff like that. |
|
|
2779 | New item types BUILDER & MATERIAL. New item flag FLAG_IS_BUILDABLE. |
|
|
2780 | New range attack (builder). |
|
|
2781 | ---- |
|
|
2782 | Changelog: change prescribed date format to be coherent with usage :) |
|
|
2783 | common/loader.l: added 'is_buildable' flag. |
|
|
2784 | include/define.h: added defines for item types & subtypes, and item flag. |
|
|
2785 | include/player.h: new range type 'builder'. |
|
|
2786 | include/spropo.h: new function apply_map_builder. |
|
|
2787 | server/apply.c: handle new range type. |
|
|
2788 | server/build_map.c: new file, handles all build-related code. |
|
|
2789 | server/c_object.c: added 'buildable item' to examine function. |
|
|
2790 | server/Makefile.am: added build_map.c to compilation. |
|
|
2791 | server/player.c: handle new range type. |
|
|
2792 | socket/info.c: handle new range type. |
|
|
2793 | Ryo 2004-01-18 |
|
|
2794 | |
|
|
2795 | |
|
|
2796 | Fix a crash related to plugin hooks |
|
|
2797 | common/object.c: clear_object(): object's event's hook/plugin/options |
|
|
2798 | are initialized with FREE_AND_COPY, so they are shared strings. |
|
|
2799 | Better to release'em with FREE_AND_CLEAR_STR instead of |
|
|
2800 | FREE_AND_CLEAR, else nice crashes... |
|
|
2801 | Ryo 2004-01-16 |
|
|
2802 | |
|
|
2803 | Fix writing not inserting correctly item in inventory, and Windows- |
|
|
2804 | specific stuff too |
|
|
2805 | server/skills.c: write_scroll(): Better to insert spell in scroll, |
|
|
2806 | and not the other way around |
|
|
2807 | server/skill_util.c: fix Windows-specific int64 stuff. |
|
|
2808 | Changelog: fix Mark's 2003 to 2004 :) |
|
|
2809 | Ryo 2004-01-16 |
|
|
2810 | |
|
|
2811 | Fix a bunch of crashes observed on metalforge: |
|
|
2812 | server/player.c: do_hidden_move(): Move call to find skill so that it is |
|
|
2813 | always called. |
|
|
2814 | server/skills.c: write_scroll(): Fix freeing of spell object in |
|
|
2815 | scroll - newscroll->inv isn't valid after calling remove_ob, so |
|
|
2816 | need to copy object to temporary pointer first. |
|
|
2817 | server/spell_effect.c: cast_detection(): Pass in skill to use. If no |
|
|
2818 | skill in use, use the caster object - fixes pointer derefence |
|
|
2819 | as op->chosen_skill wasn't always set. |
|
|
2820 | server/spell_util.c: modify caster_level() to always return at least 1. |
|
|
2821 | Fixes pointer potential divide by zero problems - also guarantees |
|
|
2822 | that players will be able to cast first level spells even if |
|
|
2823 | repelled to that spellpath. ok_to_put_more() - Fix to use correct |
|
|
2824 | map pointer variable. find_target_for_friendly_spell() - make it |
|
|
2825 | so it handles tiled maps OK. |
|
|
2826 | MSW 2004-01-15 |
|
|
2827 | |
|
|
2828 | common/object.c: fix the monsters on tiled maps bug that I may have |
|
|
2829 | mentioned a while ago. Seems that the server assumed that all |
|
|
2830 | parts of a multi part monster are on the same map as the head |
|
|
2831 | while moving. |
|
|
2832 | DVS 2004-01-12 |
|
|
2833 | |
|
|
2834 | common/living.c: fix fix_player() so that character gets benefits/penalties |
|
|
2835 | for sp/hp/grace/etc regen bonuses as related to the god they worship. |
|
|
2836 | server/player.c: dragon_ability_gain(): Modify so that character now gets |
|
|
2837 | attacktype of new ability that they gain. Also, add code so that |
|
|
2838 | the characters face/animation can change (getting set to values the bonus |
|
|
2839 | ability). |
|
|
2840 | MSW 2003-12-27 |
|
|
2841 | |
|
|
2842 | common/object.c: Set op->events=NULL in reset_object(), and move the |
|
|
2843 | clearing of the op->events structure to be before the memset in |
|
|
2844 | clear_object() - this was otherwise resulting in a memory leak, |
|
|
2845 | as memset would clear the pointer without actually freeing the data. |
|
|
2846 | server/attack.c: Fix indentation of hit_map(), modify it so that attacks |
|
|
2847 | won't destroy items with no_pass set. |
|
|
2848 | server/login.c: set op->speed=0, call update_ob_speed() before calling |
|
|
2849 | reset_object() - fixes problem with players not moving with recent |
|
|
2850 | changes to initting the active lists to NULL. |
|
|
2851 | msw 2003-12-20 |
|
|
2852 | |
|
|
2853 | |
|
|
2854 | server/skills.c: changed NDI_UNIQUE to NDI_BLACK for the meditation |
|
|
2855 | message (so that messages can correctly be grouped, also makes it |
|
|
2856 | coherent with praying). |
|
|
2857 | Ryo 2003-12-20 |
|
|
2858 | |
|
|
2859 | Those fixes deal with gcc3.3 infinite loop. |
|
|
2860 | Fixes (except sizeof/memset) courtesy Bernd Edler. |
|
|
2861 | --- |
|
|
2862 | common/item.c: use right buffer size for safe_strcat. |
|
|
2863 | common/object.c: clear active_next and active_prev when cleaning an object. |
|
|
2864 | include/define.h: fixed *curlen=maxlen-1; instead of *curlen=maxlen=1; |
|
|
2865 | socket/init.c: initialize whole ns->inbuf.buf, instead of setting first |
|
|
2866 | element only to 0. Also allocated with a sizeof( unsigned char ) * size, |
|
|
2867 | in case size changes one day. And initialize some more fields. |
|
|
2868 | Ryo 2003-12-18 |
|
|
2869 | |
|
|
2870 | |
|
|
2871 | Those changes deal only with warning cleaning under Windows. |
|
|
2872 | Mostly, using the right type at the right place, or doing explicit casts. |
|
|
2873 | --- |
|
|
2874 | common/object.c: changed free_arr_[xy] to short[] instead of int[]. |
|
|
2875 | include/global.h: changed free_arr_[xy] to short[] instead of int[]. |
|
|
2876 | Changed Windows-specific comments to C-style comments, not C++-style. |
|
|
2877 | include/sockproto.h: play_sound_player_only takes sint8, not int, for |
|
|
2878 | coordinates. play_sound_map takes a short for the sound number. |
|
|
2879 | socket/image.c: some type fixing, explicit casts. |
|
|
2880 | socket/init.c: Windows-specific type fixing. |
|
|
2881 | socket/lowlevel.c: explicit casts to char for SockList_AddInt64 |
|
|
2882 | socket/request.c: fixed types to match function parameters, or added |
|
|
2883 | explicit casts when needed. |
|
|
2884 | socket/sound.c: play_sound_player_only takes sint8, not int, for |
|
|
2885 | coordinates. play_sound_map takes a short for the sound number. |
|
|
2886 | Ryo 2003-12-14 |
|
|
2887 | |
|
|
2888 | server/rune.c: Fix it so that players won't be hit by traps if they are |
|
|
2889 | not next to them when set off (firing arrows at a door for example). |
|
|
2890 | server/spell_util.c: Fix spell_failure() to properly damage player if they |
|
|
2891 | fumble. Fix cast_spell() to not complain about not having enough |
|
|
2892 | grace if the spell doesn't take grace. Add same check for mana, but that |
|
|
2893 | is much less likely, as harder to get negative mana. |
|
|
2894 | socket/request.c: Fix problem where map sending code was not properly avoiding |
|
|
2895 | duplicating the head of a big image on multiple layers. This bug most often |
|
|
2896 | manifested itself of player standing on lower right corner of large building, |
|
|
2897 | and something else standing on other portion of building - player would seem |
|
|
2898 | to disappear. |
|
|
2899 | MSW 2003-11-30 |
|
|
2900 | |
|
|
2901 | lib/adm/collect_images.pl: forced binary mode for written files. |
|
|
2902 | This lets the script work correctly under Windows. |
|
|
2903 | Ryo 2003-11-29 |
|
|
2904 | |
|
|
2905 | server/apply.c: correctly display learned skill's name, and not the |
|
|
2906 | scroll's. |
|
|
2907 | server/skills.c: make 'sense curse' and 'sense magic' check items |
|
|
2908 | on the ground too. |
|
|
2909 | Ryo 2003-11-25 |
|
|
2910 | |
|
|
2911 | common/loader.l, loader.c: Fix firewalls so that their spell is properly |
|
|
2912 | initialized - uses 'dam' and not sp for those objects |
|
|
2913 | server/apply.c: Fix check_weapon_power so that it finds proper wc object. |
|
|
2914 | Fix unapply_for_ob so that it won't unequip cursed/damned weapons if |
|
|
2915 | player switches objects. |
|
|
2916 | MSW 2003-11-11 |
|
|
2917 | |
|
|
2918 | bulk of this is to fix exp loss when changing gods if you have more than |
|
|
2919 | 2 billion exp, removal of spells when you switch levels, and not giving you |
|
|
2920 | all new spells when you switch religions. |
|
|
2921 | -- |
|
|
2922 | common/living.c: Update exp functions to be fully 64 bit aware. Don't |
|
|
2923 | take away from player total exp if SK_SUBTRACT_SKILL_EXP is passed in. |
|
|
2924 | common/utils.c: Add 64 bit version of random_roll(), called random_roll64() |
|
|
2925 | lib/treasures: Make indentation consistent for some treasures. |
|
|
2926 | server/apply.c: Use the FLAG_STARTEQUIP to denote god given spells, instead |
|
|
2927 | of using special prayer markers. This simplifies the spell learning |
|
|
2928 | and removal code. |
|
|
2929 | server/gods.c: Make exp loss for changing religions 64 bit compliant. |
|
|
2930 | Fix become_follower() so that it doesn't give all the new gods special |
|
|
2931 | spells if you switch religions. Fix code so that it properly removes |
|
|
2932 | all special prayers from previous god, and also print out message on what |
|
|
2933 | spells you lost. Don't set the prayer skill as applied in various |
|
|
2934 | areas - this results in two skills being applied, which isn't proper. |
|
|
2935 | MSW 2003-11-09 |
|
|
2936 | |
|
|
2937 | common/living.c: Win32 compilation fix (levels is sint64, not uint64) |
|
|
2938 | include/plugin.h: new hooks for free & fix_player. Required for Win32. |
|
|
2939 | include/plugproto.h: new prototypes for CFWFreeMemory and CFWFixPlayer, |
|
|
2940 | wrappers for free( ) and fix_player( ). Required for Win32. |
|
|
2941 | include/sproto.h: added prototypes for new plugin hooks and improved tell |
|
|
2942 | command helper. |
|
|
2943 | plugin/plugin_python.c: wrap calls to fix_player, free and free_object |
|
|
2944 | with plugin ones when memory allocated by CF's main exe. Required for |
|
|
2945 | Win32 to work correctly. |
|
|
2946 | server/c_chat.c: improved 'tell' command to accept first letters of player |
|
|
2947 | name only, case-insensitive. If 2+ players match, returns with a failure |
|
|
2948 | message. |
|
|
2949 | server/player.c: new function find_player_partial_name. Returns player whose |
|
|
2950 | beginning of name matches specified string, NULL if more than one matches. |
|
|
2951 | Fix move_player to check specified direction's validity. |
|
|
2952 | server/plugins.c: added wrappers for free( ) and fix_player( ). Required for |
|
|
2953 | Win32 compatibility. |
|
|
2954 | Ryo 2003-11-07 |
|
|
2955 | |
|
|
2956 | common/treasure.c, doc/Developers/spells: Fix generation of rods so they have |
|
|
2957 | enough charges to cast the spells. Update documentation on what maxhp for |
|
|
2958 | the archetype of rods means. |
|
|
2959 | MSW 2003-11-01 |
|
|
2960 | |
|
|
2961 | server/player.c: Fix crash in stand_near_hostile when it is called on |
|
|
2962 | tiled maps with player near edge. |
|
|
2963 | MSW 2003-11-01 |
|
|
2964 | |
|
|
2965 | Various bug fixes: |
|
|
2966 | common/arch.c: Fix item_matched_string() so that it only passes in the length |
|
|
2967 | of the pssed in name in the strncasecmp(), and not the shorter of the |
|
|
2968 | passed in string or item name. Otherwise, if player does a 'drop wand of', |
|
|
2969 | unidentified wands (name just wand) would match. Similarly, if a player |
|
|
2970 | did 'drop ringmail', unidentified rings would match, etc. |
|
|
2971 | common/living.c: Fix fix_player() to always process the praying skill with |
|
|
2972 | respect to resistances and whatnot. This is necessary because the |
|
|
2973 | god give abilities are put in this skill, and those shouldn't go away |
|
|
2974 | depending on if the skill is in use or not. Also fix bug in add_exp |
|
|
2975 | routines which wasn't multiplying permanent exp by PERM_EXP_GAIN_RATIO |
|
|
2976 | common/object.c: Fix find_obj_by_type_subtype() - had extraneous semicolon |
|
|
2977 | after the for loop, so the if code that was supposed to be for each object |
|
|
2978 | was never called and instead would crash as it would get called with tmp |
|
|
2979 | was null. |
|
|
2980 | server/attack.c: Fix problem with kill_object() not finding proper skill - |
|
|
2981 | it would use the skill object instead of the skill. Fix problem of |
|
|
2982 | poisoning not setting up proper skill name in poisoning object. |
|
|
2983 | server/c_range.c: If player is invoking a spell, don't update their |
|
|
2984 | range_magic value. |
|
|
2985 | server/skill_util.c: Fix divide by zero problem if improperly passed |
|
|
2986 | skill object. |
|
|
2987 | MSW 2003-10-26 |
|
|
2988 | |
|
|
2989 | TRIGGER_MARKER: |
|
|
2990 | common/glue.c, common/button.c, include/define.h, funcpoint.h, libproto.h |
|
|
2991 | server/init.c: Add trigger_marker (type #52) which is a Marker that can be |
|
|
2992 | triggered. Useful for placing forces in player when connected trigger is tripped. |
|
|
2993 | TM 2003-10-26 |
|
|
2994 | |
|
|
2995 | common/glue.c, common/object.c, common/player.c, include/funcpoint.h, |
|
|
2996 | server/init.c, server/monster.c, server/shop.c, server/skill_util.c: add |
|
|
2997 | find_skill_by_number() function - this replaces find_skill. Locate new |
|
|
2998 | function in skill_util.c, which is more a proper place than |
|
|
2999 | common/player.c - this change necessitated adding glue function pointers |
|
|
3000 | so the other common files can call it. |
|
|
3001 | server/spell_effect.c: Fix cast_heal() so if the spell is not one that heals |
|
|
3002 | hit points, don't process the code that checks for that and sets |
|
|
3003 | a false success value. |
|
|
3004 | socket/metaserver.c: Clean up formatting - no code changes. |
|
|
3005 | MSW 2003-10-25 |
|
|
3006 | |
|
|
3007 | server/apply.c: small fix to apply_spellbook in the rare case when |
|
|
3008 | the spellbook contains no spell (happens when DM issues a bad |
|
|
3009 | 'create' command for instance :). |
|
|
3010 | Ryo 2003-10-04 |
|
|
3011 | |
|
|
3012 | server/c_new.c: fix command_run and command_fire so they check |
|
|
3013 | the given direction is [0..8]. This enabled weird things like |
|
|
3014 | hitting non-adjacent monsters. |
|
|
3015 | Patch by Karla Stenger on cf-devel, slightly modified by me. |
|
|
3016 | Ryo 2003-10-21 |
|
|
3017 | |
|
|
3018 | common/arch.c: fix item_matched_string() so that matching makes sense - |
|
|
3019 | the ordering was wrong, so that we would match something with a low |
|
|
3020 | priority, and skip over looking to see if that same object would get |
|
|
3021 | a better match. Order the function so that we look for the best |
|
|
3022 | matches first. |
|
|
3023 | MSW 2003-10-08 |
|
|
3024 | |
|
|
3025 | socket/request.c: Clean up some compile warnings. Improve big face |
|
|
3026 | handling - there were cases where data wasn't being sent when |
|
|
3027 | it should have, and vice versa. Basically, do better checking |
|
|
3028 | to see if we should send a big face for a particular layer, and |
|
|
3029 | also better checking to make sure we don't send the same face more |
|
|
3030 | than once for the same layer. Also, change esrv_map_scroll() |
|
|
3031 | to clear out spaces that appear into view - adds a little extra bandwdith, |
|
|
3032 | but necessary because otherwise the fact there is a big face on the edge |
|
|
3033 | doesn't always get sent. |
|
|
3034 | MSW 2003-10-07 |
|
|
3035 | |
|
|
3036 | TODO: various updates. |
|
|
3037 | common/button: Old patch by David Seikel: change inventory checkers so that |
|
|
3038 | the monster/player is also checked against. And do more proper for checkers |
|
|
3039 | that check against slaying or race - if the trigger doesn't have |
|
|
3040 | those set, we don't want to compare a null against another null and |
|
|
3041 | get success). |
|
|
3042 | server/apply.c: Change apply_shop_mat() so that it removes unpaid objects from |
|
|
3043 | monsters (or thrown containers for that matter). Old patch by Bernd Edler |
|
|
3044 | to improve messages dragons get for eating various food types. |
|
|
3045 | server/player.c: Add another missing call to fix_player(). Modify |
|
|
3046 | move_player_attack() so that the target player doesn't hit back if |
|
|
3047 | they are the WIZ or on a battleground |
|
|
3048 | MSW 2003-10-06 |
|
|
3049 | |
|
|
3050 | utils/player_dl.html utils/player_dl.pl.in: New files - scripts for allowing |
|
|
3051 | character directories to be downloaded over the web. |
|
|
3052 | configure.ac: Add check for 'tar', so that we can put it in the script above. |
|
|
3053 | Makefile.in (All of them): Changed because TAR variable propogated to them. |
|
|
3054 | MSW 2003-09-30 |
|
|
3055 | |
|
|
3056 | server/time.c: Real change is to add a missing call to fix_player - without |
|
|
3057 | this new players would be getting messed up maxsp/maxgrace values. Cleaned |
|
|
3058 | up formatting in move_player_changer() while doing the other change. |
|
|
3059 | MSW 2003-09-28 |
|
|
3060 | |
|
|
3061 | common/living.c, include/libproto.h: Update some functions to take 64 bit int |
|
|
3062 | values for exp usage. |
|
|
3063 | random_maps/random_map.c: Don't ever make rogue maps symmetric - |
|
|
3064 | creates unconnected maps. Clean up layoutgen() to not have a bunch |
|
|
3065 | of duplicated code. |
|
|
3066 | MSW 2003-09-25 |
|
|
3067 | |
|
|
3068 | server/skill_util.c: Call esrv_send_inventory on the cauldron if we |
|
|
3069 | performed alchemy. Needed for cauldron's contents to get updated. |
|
|
3070 | MSW 2003-09-23 |
|
|
3071 | |
|
|
3072 | Modified files: |
|
|
3073 | TODO common/anim.c common/arch.c common/button.c common/exp.c |
|
|
3074 | common/init.c common/item.c common/living.c common/loader.c |
|
|
3075 | common/loader.l common/logger.c common/object.c |
|
|
3076 | common/re-cmp.c common/readable.c common/recipe.c |
|
|
3077 | common/treasure.c doc/Developers/objects |
|
|
3078 | doc/Developers/protocol doc/Developers/python |
|
|
3079 | doc/Developers/skills doc/Developers/spells |
|
|
3080 | include/Makefile.am include/Makefile.in include/attack.h |
|
|
3081 | include/config.h include/define.h include/global.h |
|
|
3082 | include/includes.h include/libproto.h include/living.h |
|
|
3083 | include/map.h include/newclient.h include/newserver.h |
|
|
3084 | include/object.h include/player.h include/plugin.h |
|
|
3085 | include/skills.h include/sockproto.h include/spells.h |
|
|
3086 | include/sproto.h include/timers.h lib/Makefile.am |
|
|
3087 | lib/Makefile.in lib/animations lib/archetypes lib/artifacts |
|
|
3088 | lib/bmaps lib/bmaps.paths lib/collect.pl.in lib/crossfire.0 |
|
|
3089 | lib/crossfire.1 lib/faces lib/formulae lib/settings |
|
|
3090 | lib/treasures lib/treasures.bld lib/adm/collect_images.pl |
|
|
3091 | plugin/plugin_python.c plugin/include/plugin_python.h |
|
|
3092 | server/Makefile.am server/Makefile.in server/alchemy.c |
|
|
3093 | server/apply.c server/attack.c server/c_misc.c server/c_move.c |
|
|
3094 | server/c_object.c server/c_party.c server/c_range.c |
|
|
3095 | server/c_wiz.c server/commands.c server/disease.c |
|
|
3096 | server/gods.c server/init.c server/login.c server/main.c |
|
|
3097 | server/monster.c server/pets.c server/player.c |
|
|
3098 | server/plugins.c server/resurrection.c server/rune.c |
|
|
3099 | server/shop.c server/skill_util.c server/skills.c |
|
|
3100 | server/spell_effect.c server/spell_util.c server/swamp.c |
|
|
3101 | server/time.c server/weather.c socket/info.c socket/init.c |
|
|
3102 | socket/item.c socket/loop.c socket/lowlevel.c |
|
|
3103 | socket/metaserver.c socket/request.c socket/sounds.c |
|
|
3104 | Added Files: |
|
|
3105 | server/spell_attack.c |
|
|
3106 | Removed Files: |
|
|
3107 | include/skillist.h lib/skill_params lib/spell_params |
|
|
3108 | |
|
|
3109 | Updated code for skill + spell code. skills and spells are now objects. |
|
|
3110 | tuning these now means changing the archetypes. New spells can now |
|
|
3111 | be added just by making a new archetype. Lots of code cleanup |
|
|
3112 | also done. |
|
|
3113 | MSW 2003-09-12 |
|
|
3114 | |
|
|
3115 | |
|
|
3116 | TRAPS: |
|
|
3117 | include/define.h |
|
|
3118 | common/object.c, treasure.c |
|
|
3119 | server/attack.c, skill_util.c, skills.c, rune.c, time.c, player.c, |
|
|
3120 | apply.c Established new type traps distinguished from runes. Traps |
|
|
3121 | are more mechanical in nature, not impacted by detect magic or |
|
|
3122 | counterspell (maybe in future once skills are settled out more fine |
|
|
3123 | tuning changes in detecting and disarming these too...). Traps also |
|
|
3124 | can now trigger connected objects if they are detonated. Migrated |
|
|
3125 | traps to new type and made new generic trap archetype for more complex |
|
|
3126 | trapping (ye olde red shaded tile...) TM -2003-09-04 |
|
|
3127 | |
|
|
3128 | |
|
|
3129 | friendly_fire: |
|
|
3130 | Added friendly_fire to attack.c, called from hit_player. |
|
|
3131 | Will put a cap on maxdam that is a percentage (1-100%) of damage (min |
|
|
3132 | 1) based on SET_FRIENDLY_FIRE value when players attack in peaceful |
|
|
3133 | mode. Changed who, statistics to show this setting better and added |
|
|
3134 | help file for peaceful. It would be nice to have a indicator in the |
|
|
3135 | client for this as well. TM - 2003-08-25 |
|
|
3136 | |
|
|
3137 | protocol/doc/code: |
|
|
3138 | Changed the way smoothing is done. Switched the smooth |
|
|
3139 | command to binary mode, rebuild archetype files, added doc |
|
|
3140 | on smoothing, updated protocol file. |
|
|
3141 | Changed a the "togglemapextended smoothing" to "togglemapextended |
|
|
3142 | smooth" to prevent problem of compatibilities with previous cvs |
|
|
3143 | smoothing releases. |
|
|
3144 | Tchize 2003-07-08 |
|
|
3145 | |
|
|
3146 | protocol: |
|
|
3147 | Added new command to send extended map informations to the |
|
|
3148 | client. Mainly used for now to send smoothing informations. |
|
|
3149 | Also commented the modifications in the protocol file ind doc/ |
|
|
3150 | lib/Makefiles: |
|
|
3151 | Changed to install the smooth file too. Needed by smooth code |
|
|
3152 | common/loader.l and loader.c |
|
|
3153 | completly reworked get_ob_diff to improve speed at mapsave time. |
|
|
3154 | For now function is interlaced with commented old code. Will clean |
|
|
3155 | up when code will be proved working. (hope middle of july) |
|
|
3156 | Tchize 2003-07-03 |
|
|
3157 | |
|
|
3158 | server/apply.c: Fix auto_apply - missing else, causing extra |
|
|
3159 | treausres to be generated inside of shop tiles. |
|
|
3160 | server/monster.c: Fix npc_call_help to be map tile aware. |
|
|
3161 | MSW 2003-06-18 |
|
|
3162 | |
|
|
3163 | lib/collect.pl.in: Modify it so that it will collect .trs (treasure) files and |
|
|
3164 | build a treasures.bld from that as well as the existing treasures file. In |
|
|
3165 | this way, treasure information for objects can be put in the arch |
|
|
3166 | directory. |
|
|
3167 | lib/Makefile.am, Makefile.in: Modified so that it copies over the |
|
|
3168 | treasures.bld to treasures in the destination directory. Have |
|
|
3169 | the collect directive also build the images, so that a double |
|
|
3170 | make isn't necessary. |
|
|
3171 | lib/treasures.bld: Added file - like the archetypes, this is the pre- |
|
|
3172 | build treasure file. Until .trs files are added, this will just |
|
|
3173 | match the treasures file with some additional comments. |
|
|
3174 | MSW 2003-05-26 |
|
|
3175 | |
|
|
3176 | common/map.c: Fix bug causing unnecessary crashes - ok for the map |
|
|
3177 | to match if the object has been removed. |
|
|
3178 | socket/loop.c: Only make call to draw_client_map() if we have a valid |
|
|
3179 | map to draw. |
|
|
3180 | MSW 2003-05-26 |
|
|
3181 | |
|
|
3182 | common/anim.c: Patch by AV to make sure multipart monsters animations |
|
|
3183 | stay in sync. MSW 2003-05-25 |
|
|
3184 | |
|
|
3185 | server/apply.c: Fix bug in that we weren't calling esrv_map_scroll() |
|
|
3186 | when player used a shop map but lacked sufficient funds to pay |
|
|
3187 | for his items. |
|
|
3188 | MSW 2002-05-23 |
|
|
3189 | |
|
|
3190 | common/item.c, common/utils.c, include/config.h: Add #define NEW_MATERIAL_CODE |
|
|
3191 | and checks in the other files for this - if this is commented out |
|
|
3192 | (default), then the new material naming code is disabled - material |
|
|
3193 | names won't be put in the items names as shown in the inventory |
|
|
3194 | (can still see material by examining an object), and objects that are |
|
|
3195 | created will be created with the default material (eg, iron for |
|
|
3196 | most armor/weapons, eg, brass, bronze, copper items won't show |
|
|
3197 | up anymore). |
|
|
3198 | lib/settings: Add comments from the old config.h file that describes |
|
|
3199 | what the options already does. Having no comments in this file |
|
|
3200 | or in config.h anymore is very unfriendly. |
|
|
3201 | MSW 2003-05-20 |
|
|
3202 | |
|
|
3203 | server/player.c: Have players start at max hp/grace/sp. |
|
|
3204 | MSW 2003-04-14 |
|
|
3205 | |
|
|
3206 | server/c_range.c: Add check to make sure we are actually removing a |
|
|
3207 | golem and that the object hasn't been freed/recycled and the |
|
|
3208 | player not updated. Fixes crashes. |
|
|
3209 | MSW 2003-04-13 |
|
|
3210 | |
|
|
3211 | acinclude.m4: Update path to find python includes, since aclocal.m4 gets |
|
|
3212 | derived from this file. |
|
|
3213 | configure.ac, configure: Add utils/scores.pl to list of files to substitute on. |
|
|
3214 | common/loader.l, loader.c: Add subtype for objects - will be used in future work. |
|
|
3215 | common/object.c: Add subtype diff check in CAN_MERGE() |
|
|
3216 | common/porting.c: Have it use SAVE_DIR_MODE when doing the mkdir, and not have |
|
|
3217 | hardcoded 777 permissions. |
|
|
3218 | doc/Makefile.in, doc/Makefile.am, doc/Developers/Makefile.am, |
|
|
3219 | doc/Developers/Makefile.in: Move some of the spell docs around and merge |
|
|
3220 | them together |
|
|
3221 | doc/Developers/objects: Add notes about subtype. |
|
|
3222 | doc/Developers/spells: New file, contains preliminary work on spell objects. |
|
|
3223 | include/config.h: Remove command about DM_MAIL and LIBDIR from file, as they |
|
|
3224 | are options no longer present. Update comment about SAVE_MODE, and add |
|
|
3225 | SAVE_DIR_MODE |
|
|
3226 | include/object.h: Add subtype field to object. |
|
|
3227 | server/login.c: Have it use SAVE_DIR_MODE when doing the mkdir, and not have |
|
|
3228 | hardcoded 6700 permissions. |
|
|
3229 | utils/Makefile.in: Updated to know about scores.pl |
|
|
3230 | utils/scores.pl.in: New file - reads player file to generate HTML score |
|
|
3231 | file. |
|
|
3232 | MSW 2003-04-04 |
|
|
3233 | |
|
|
3234 | TODO: Various update |
|
|
3235 | aclocal.m4,configure: Update path to find python (fix again) |
|
|
3236 | common/image.c: Minor update to a ocmment in the code. |
|
|
3237 | common/los.c: Add missing P_OUT_OF_MAP checks that resulted in some incorrect |
|
|
3238 | LOS calcuations. |
|
|
3239 | include/funcpoint.h: Remove draw_func function pointer. |
|
|
3240 | lib/Makefile.am, in: Remove bmaps.paths to from being installed or being part |
|
|
3241 | of distribution - bmaps.paths is only needed when collecting the image |
|
|
3242 | lib/*: Rebuilt |
|
|
3243 | server/c_object.c: Patch by Bernd Edler to have the apply functions take into |
|
|
3244 | acount if the item is equipped or not when looking for good matched items. |
|
|
3245 | server/commands.c: Move printlos to normal commands. I don't think it reveals |
|
|
3246 | any information that is in any way harmful. And since it dumps the |
|
|
3247 | output to the players screen, no concern of it filling up log files. |
|
|
3248 | Also, when doing LOS debugging, it is pointless to have it as a DM command |
|
|
3249 | because LOS is ignored for DM's. |
|
|
3250 | server/disease.c: Modify remove_symptoms to remove all symptoms the player |
|
|
3251 | may have a disease. Modify infect_object() to not allow a creature to |
|
|
3252 | have more than one instance of the same disease. |
|
|
3253 | socket/info.c: remove draw() - instead, draw_client_map() can be used, |
|
|
3254 | as that is most the only thing draw() did anyways. |
|
|
3255 | socket/loop.c: Update draw() calls to draw_client_map() |
|
|
3256 | socket/request.c: Remove special handling for darkness==4 cases (first |
|
|
3257 | space that is in full darkness) - this is extra complications and causes |
|
|
3258 | display problems. Update draw_client_map() to include the little bit |
|
|
3259 | of logic that draw() had that this function did not have. |
|
|
3260 | MSW 2003-04-01 |
|
|
3261 | |
|
|
3262 | |
|
|
3263 | common/glue.c, include/funcpoint.h: remove draw_func() pointer - no longer |
|
|
3264 | needed, so code that sets up pointer removed. |
|
|
3265 | lib/*: rebuilt - facings added to old player animation information. |
|
|
3266 | ruined_temple archetype added. |
|
|
3267 | server/init.c: remove set_draw() function |
|
|
3268 | server/player.c: remove call to draw() - socket code takes care of this. |
|
|
3269 | MSW 2003-03-24 |
|
|
3270 | |
|
|
3271 | server/spell_effect.c: Some code cleanuip to cast_change_attr - mostly |
|
|
3272 | to combine the processing of the stat improving spells together. |
|
|
3273 | The actual change to playability is that bless and holy possession |
|
|
3274 | don't stack if cast multiple times. |
|
|
3275 | server/spell_util.c: Modify create_aura so that player can't have more than |
|
|
3276 | one aura (of the same type) active at a time. |
|
|
3277 | MSW 2003-03-20 |
|
|
3278 | |
|
|
3279 | server/apply.c: Change weapon improving code to only use up the number of |
|
|
3280 | potions that it needs, and not all on the ground. Required adding |
|
|
3281 | another arg to eat_item() which is the number of items to consume. |
|
|
3282 | include/sproto.h: Rebuilt for new eat_item() (actually, a static, so no |
|
|
3283 | longer shows up in this file) |
|
|
3284 | server/attack.c: Change did_make_save to strip out magic attacktype when making |
|
|
3285 | saves for objects - otherwise, things like poison cloud destroy objects. |
|
|
3286 | server/time.c: deal with player animations special in process_object - need to |
|
|
3287 | pass in the facing value, and not direction, since direction gets reset. |
|
|
3288 | MSW 2003-03-19 |
|
|
3289 | |
|
|
3290 | common/anim.c: Pass direction to animate_object() - needed for player |
|
|
3291 | animations as player's facing may not match direction. |
|
|
3292 | crossedit/Attr.c, server/main.c, server/time.c: Update calls to animate_object() |
|
|
3293 | include/libproto.h: rebuilt |
|
|
3294 | include/newserver.h, plugin_animator/animator_box.c, socket/init.c, |
|
|
3295 | socket/request.c: Remove newanim field from socket structure - not needed - |
|
|
3296 | how to animate is determined by object, not by socket. |
|
|
3297 | server/move.c: Add check to P_OUT_OF_MAP in teleport function. |
|
|
3298 | server/player.c: change move_player to call animate_object, so it gets full |
|
|
3299 | power of functionality it supports instead of 4 way hardcode animation |
|
|
3300 | information. |
|
|
3301 | server/spell_effect.c: When altars are consecrated, don't look to arch name |
|
|
3302 | for first portion of name - always call them Altar of %s - fixes problem |
|
|
3303 | where altar is special god altar that has god's name in archetype, resulting |
|
|
3304 | in altar of .. of ... |
|
|
3305 | MSW 2003-03-18 |
|
|
3306 | |
|
|
3307 | Patch for 64 bit experience total, as well as flexible number of levels. |
|
|
3308 | Basically, max level is now dynamic, set in exp_table file. Experience |
|
|
3309 | is now a 64 bit value, so much higher totals now allowed. To |
|
|
3310 | allow for flexible levels, add new function - did_make_save() which is used |
|
|
3311 | for players/monsters to see if they make their saving throw - this is |
|
|
3312 | necessary because the savethrow[] array may not be as large as max level - |
|
|
3313 | did_make_save takes this into account. |
|
|
3314 | NOTE: If your updating a server, you will need to copy over/set up a |
|
|
3315 | new exp_table file that has max_levels defined and at least one of the |
|
|
3316 | tables uncommented. There are no longer any compiled in defaults |
|
|
3317 | -- |
|
|
3318 | configure, configure.ac: Add AC_CHECK_SIZEOF calls for long and long long |
|
|
3319 | so we can know which one to use for 64 bit support (other checks |
|
|
3320 | may need to be added) |
|
|
3321 | common/exp.c: Remove levels table, replace it with a 64 bit pointer. |
|
|
3322 | Change init_experience to allocate appropriately sized table, have it |
|
|
3323 | read max_level value from exp_table file. Replace atoi calls with |
|
|
3324 | atoll to get 64 bit value. Update dump_experience to properly |
|
|
3325 | print 64 bit values. |
|
|
3326 | common/info.c: Update dump routines that dump exp to properly print |
|
|
3327 | 64 bit values. |
|
|
3328 | common/init.c: Add initializing for settings.max_level value. |
|
|
3329 | common/item.c: Update sprintf's to handle 64 bit output of exp (speed) |
|
|
3330 | value in objects. |
|
|
3331 | common/living.c: change MAX_EXP define, update MAX_EXP_IN_OBJ define, |
|
|
3332 | add MAX_SAVE_LEVEL which corresponds to how large the savethrow |
|
|
3333 | table is. Change MAXLEVEL to settings.max_level. Change level_exp() |
|
|
3334 | to return 64 bit value, other updates in functions to use 64 bit |
|
|
3335 | values. Add did_make_save() function. |
|
|
3336 | common/loader.l, common/loader.c: Update load/save routins of exp to |
|
|
3337 | deal with 64 bit values. |
|
|
3338 | common/map.c: Update calculate_difficulty to use 64 bit values when |
|
|
3339 | storing exp - unlikely to make a difference, since unlikely any map |
|
|
3340 | will get to a point where it has that much exp on it. |
|
|
3341 | common/porting.c: Remove dead code from save_long(), add save_long_long() |
|
|
3342 | to save 64 bit values. |
|
|
3343 | include/autoconf.h.in: SIZEOF_LONG and SIZEOF_LONG_LONG values added. |
|
|
3344 | include/global.h: Add code to typedef sint64/uint64 types based on what |
|
|
3345 | type gives us those values. Add max_level to settings array. |
|
|
3346 | include/libproto.h: rebuilt. |
|
|
3347 | include/living.h: Replace exp field with 64 bit value. |
|
|
3348 | include/player.h: Update party kill log exp tracking to have 64 bit |
|
|
3349 | values. |
|
|
3350 | lib/exp_table: Udpate comments about max_level, uncomment what |
|
|
3351 | was the default table so new installs have working table. |
|
|
3352 | Add 5 levels to all the tables. |
|
|
3353 | random_maps/monster.c: Update place_monsters to use 64 bit when storing |
|
|
3354 | exp total for map/per square. |
|
|
3355 | server/apply.c: Replace MAXLEVEL with settings.max_level, add |
|
|
3356 | did_make_save calls where appropriate |
|
|
3357 | server/c_misc.c: have statistics command properly print 64 bit |
|
|
3358 | exp value. |
|
|
3359 | server/c_wiz.c: Have stats command properly display 64 bit value. |
|
|
3360 | server/hiscore.c: Replace exp values with 64 bit values, update to |
|
|
3361 | properly load/display them. |
|
|
3362 | server/player.c: replace savethrow[] reference with did_make_save() |
|
|
3363 | server/skill_util.c: Update skills command to properly show 64 bit exp values. |
|
|
3364 | server/spell_effect.c: replace savethrow[] reference with did_make_save(), |
|
|
3365 | allow players to cast directors right beneath themselves, but other |
|
|
3366 | walls must be on empty space. |
|
|
3367 | MSW 2003-03-07 |
|
|
3368 | |
|
|
3369 | Various bug fixes. |
|
|
3370 | crossedit/Attr.c: Minor cleanup to eliminate some compile time warnings. |
|
|
3371 | plugin/plugin_python.c: Remove some unused variables, thus fixing up some |
|
|
3372 | compiler warnings. |
|
|
3373 | random_maps/random_map.c, random_maps/random_map.h, random_maps/special.c: |
|
|
3374 | Add MIN_RANDOM_MAP_SIZE values instead of hardcode constants. |
|
|
3375 | server/monster.c: Fix communicate - odd bug can be map gets swapped out |
|
|
3376 | just after player is transferred to another map, causing crashes as |
|
|
3377 | map that was originally spoken on is no longer in memory. |
|
|
3378 | server/rune.c: add missing free_object call when erasing runes. |
|
|
3379 | server/skills.c: Change write_on_item to determine type of writing based |
|
|
3380 | on content of mesage, or lack thereof, and not the marked object. |
|
|
3381 | Fix problem of buf not being initalized. |
|
|
3382 | MSW 2003-03-06 |
|
|
3383 | |
|
|
3384 | |
|
|
3385 | Various bug fixes. |
|
|
3386 | Makefile.am, Makefile.in: Put crossedit as the last directory, so any build |
|
|
3387 | errors for crossedit doesn't effect anything else. |
|
|
3388 | README: Update ftp site listing. |
|
|
3389 | TODO: More things aded. |
|
|
3390 | aclocal.m4, configure: Add missing / when checking in /usr/local for |
|
|
3391 | python headers. |
|
|
3392 | common/map.c: Add some debugging in free_all_objects that checks to make sure |
|
|
3393 | there are not objects remaining that belong to the map just freed - |
|
|
3394 | only active if MANY_CORES is set. |
|
|
3395 | random_maps/random_map.c: Increase minimum random map size to 10x10 - this |
|
|
3396 | is need for square spirals to work properly I think. |
|
|
3397 | server/spell_effect.c: Have perceive self tell dragon players what they are |
|
|
3398 | currently focused on. Fix town portal to remove force objects from |
|
|
3399 | players if destination is no longer available. |
|
|
3400 | server/swap.c: Reset maps reset_time when loading them in in read_map_log() - |
|
|
3401 | this is only used if recycle temp maps is on. Also, do sanity checking |
|
|
3402 | on reset_time value - bogus values were observed on metalforge. |
|
|
3403 | socket/request.c: Update map timeout in draw_client_map() - in this way, |
|
|
3404 | we don't swap out a map within a players view only to swap it back |
|
|
3405 | in. |
|
|
3406 | MSW 2003-03-01 |
|
|
3407 | |
|
|
3408 | ------------------------------------------------------------------------------ |
|
|
3409 | Changes for 1.5.0: |
|
|
3410 | |
|
|
3411 | */Makefile.in, related files: Updated for 1.5.0 |
|
|
3412 | server/attack.c: Don't change weak wall image if no damage was actually done. |
|
|
3413 | server/c_object.c: Include math.h - needed for pow() |
|
|
3414 | server/spell_effect.c: fix infinite loop in town_portal |
|
|
3415 | MSW 2003-02-24 |
|
|
3416 | |
|
|
3417 | common/anim.c: Fix for 8 way facing animations. |
|
|
3418 | lib/treasures: Add sheep treasures |
|
|
3419 | lib/* (rest) - rebuilt |
|
|
3420 | server/spell_effect.c: Fix up counterspell - mainly fix a bug in that if |
|
|
3421 | counterspell hit a multipart magic that used magic as an attacktype, |
|
|
3422 | it would also crash. However, code also woudln't work properly on |
|
|
3423 | tiled maps, and I'm dubious if it would work properly if there was more |
|
|
3424 | than one effect on a space. |
|
|
3425 | MSW 2003-02-23 |
|
|
3426 | |
|
|
3427 | server/skills.c: Fix jump so that it updates the clients map properly. |
|
|
3428 | server/spell_effect.c: insert town portals below the player so it |
|
|
3429 | works better with apply. |
|
|
3430 | MSW 2003-02-20 |
|
|
3431 | |
|
|
3432 | server/move.c: Fix transfer_ob so that it sends newmap command to client |
|
|
3433 | if we're moving a playing - otherwise fog of war displays bad |
|
|
3434 | information on the client. |
|
|
3435 | MSW 2003-02-19 |
|
|
3436 | |
|
|
3437 | More bugfixes: |
|
|
3438 | server/c_wiz.c: Fix reset command - while it deleted the maps, it made things |
|
|
3439 | so that it never got removed from the map listing - instead, just let |
|
|
3440 | flush_old_maps do most of the work. |
|
|
3441 | server/main.c: If player tries to enter a random map that has been reset |
|
|
3442 | and that we have no informatino about (eg, going up in a dungeon), |
|
|
3443 | just say the exit is closed instead of making a completely random map |
|
|
3444 | that usually isn't in keeping with the dungeon (and still won't lead |
|
|
3445 | outdoors) |
|
|
3446 | server/move.c: In move_teleporter(), change it so that if a player uses |
|
|
3447 | a shop map yet there is no place to put the player, just drop him on |
|
|
3448 | top of a monster - this fixes problem of players getting trapped inside |
|
|
3449 | of shops in random dungeons. |
|
|
3450 | MSW 2003-02-16 |
|
|
3451 | |
|
|
3452 | random_map/random_map.c: Include parameters used to make map in msg of map - |
|
|
3453 | this can hopefully be used to debug what is really happening when bad |
|
|
3454 | maps are made. |
|
|
3455 | server/rune.c: Modify dispel_rune function (called from disarm spell) |
|
|
3456 | to erase marking runes. While at it, fix it so that it does the right |
|
|
3457 | thing with respect to tiled maps. |
|
|
3458 | MSW 2003-02-15 |
|
|
3459 | |
|
|
3460 | include/sproto.h, server/move.c: Modify try_fit() to take mapstruct parameter |
|
|
3461 | for which map we are trying to fit this on - fixes problems with rolling |
|
|
3462 | boulders accross map (only function that currently uses this). |
|
|
3463 | MSW 2003-02-14 |
|
|
3464 | |
|
|
3465 | common/item.c: make item_power stop showing up in ring short descriptions. |
|
|
3466 | fix some of the items that were double-displaying materialnames, like |
|
|
3467 | mithril mithril chainmail. |
|
|
3468 | common/loader.l: add tooltype |
|
|
3469 | common/utils.c: Unless the object is armour or weapons, pick the first |
|
|
3470 | materialname we find. Now, newly generated diamonds will stack. |
|
|
3471 | Fix name_to_material to return NULL if it finds nothing, fixes |
|
|
3472 | navar_city/museum crash. |
|
|
3473 | Change set_materialname to take a materialtype_t argument, allowing |
|
|
3474 | functions to manually set the materialname, rather than let the |
|
|
3475 | randomizer pick for them. |
|
|
3476 | include/define.h: Add TOOL and BUILDFAC for item building. |
|
|
3477 | include/object.h: add tooltype for item building. |
|
|
3478 | include/materials.h: add M_SPECIAL. Set this in an object, to prevent things |
|
|
3479 | like mithril mithril chainmail. This is primarily only needed in |
|
|
3480 | artifacts, because they change the base material of the arch. Also |
|
|
3481 | useful in things like the demonspawn shield, and on maps. |
|
|
3482 | lib/artifacts: sprinkle M_SPECIAL around. |
|
|
3483 | server/player.c: remove auto_heal. This never should have been |
|
|
3484 | committed, and was never referenced by any code. |
|
|
3485 | server/c_object.c: add item building, but add it disabled. Too many |
|
|
3486 | bugfixes were tied in with this code to cleanly add them. When |
|
|
3487 | enabled, this code will add player item building, similar to |
|
|
3488 | create to take place. Requires a host of graphics and arches |
|
|
3489 | to be useable. |
|
|
3490 | garbled 2003-02-13 |
|
|
3491 | |
|
|
3492 | random_maps/special.c: Fix possible bug with placement of special maps. |
|
|
3493 | Add lore/endlore to object structure to hold general information about objects: |
|
|
3494 | common/loader.c, common/loader.l: Add loading and saving of lore field. |
|
|
3495 | common/object.c: handle lore field for copy/free/other object operations. |
|
|
3496 | Also, update CAN_MERGE to look at materialname also. |
|
|
3497 | doc/Developers/objects: Add notes about lore. |
|
|
3498 | include/object.h: add lore field to object. |
|
|
3499 | server/apply.c: Fix bug in that cursed weapons were not equipped/ |
|
|
3500 | unequipped. |
|
|
3501 | MSW 2003-02-11 |
|
|
3502 | |
|
|
3503 | doc/Developers/objects: Add nodes about shared strings in objects. |
|
|
3504 | server/c_misc.c: Remove check for name length - check_name takes care |
|
|
3505 | of that for us. |
|
|
3506 | server/monster.c: store return value from get_map_flags - seen some |
|
|
3507 | crashes traced back to this area, want to see what it returned. |
|
|
3508 | Allow objects with no msg to still use scripts that listen. |
|
|
3509 | server/player.c: Fix potentional issue of freeing/adding players name |
|
|
3510 | when they enter play again - seen some crashes attributed to |
|
|
3511 | odd names. |
|
|
3512 | MSW 2003-02-08 |
|
|
3513 | |
|
|
3514 | |
|
|
3515 | More bugfixes: |
|
|
3516 | server/player.c: Fix permadeath without resurrection - wasn't deleting |
|
|
3517 | player save files as it was supposed to. If permadeath + |
|
|
3518 | resurrection was in use, I believe it all worked as expected. |
|
|
3519 | include/shop.h: remove _SHOP_H after endif, causing compiler warnings. |
|
|
3520 | include/skills.h: Add check to USING_SKILL to make sure chosen_skill |
|
|
3521 | is not null. |
|
|
3522 | server/c_chat.c: Add some missing return values, resulting in compiler |
|
|
3523 | warnings. |
|
|
3524 | server/skill_util.c: Remove unused variable. compiler warnings again. |
|
|
3525 | server/spell_effect.c: Change dimension door so that you can't go |
|
|
3526 | through spaces that block passsage and also block view (eg walls). |
|
|
3527 | This goes back to the more traditional behaviour. Remove |
|
|
3528 | some unused variables. |
|
|
3529 | server/spell_util.c: Add missing P_OUT_OF_MAP to move_missile, resulting |
|
|
3530 | in crashes. |
|
|
3531 | server/time.c: if generator is not on a map, don't have it generates. |
|
|
3532 | Fixes crashes. |
|
|
3533 | MSW 2003-02-02 |
|
|
3534 | |
|
|
3535 | New materialtype system for crossfire. Based in concept on my original |
|
|
3536 | design, but rewritten from scratch to make it easily extensible. |
|
|
3537 | |
|
|
3538 | In a nutshell: |
|
|
3539 | |
|
|
3540 | Each of the old materialtypes (metal, glass, stone, wood) are now a class |
|
|
3541 | of materials. When an item in the game is created, if it does not have a |
|
|
3542 | specific materialname of it's own, a materialname is generated randomly |
|
|
3543 | from the matching entries in the "lib/materials" file. This file |
|
|
3544 | contains all of the saving throws, and other material specific |
|
|
3545 | modifications for each of the expanded materials. |
|
|
3546 | |
|
|
3547 | Materials can be manually specified in the arch with the "materialname" |
|
|
3548 | directive. Such as the gold coins, which are specified to be made of, |
|
|
3549 | you guessed it, gold. |
|
|
3550 | |
|
|
3551 | Saving throws have been slightly rewritten to use the new materialtypes, |
|
|
3552 | and a few other minor details associated with materialtypes have been |
|
|
3553 | patched up. |
|
|
3554 | |
|
|
3555 | Adding a new type of stone or wood, is as simple as adding a new entry in |
|
|
3556 | the lib/materials file. The game will automatically start distributing |
|
|
3557 | them around randomly. |
|
|
3558 | garbled 2003-01-29 |
|
|
3559 | |
|
|
3560 | Various bug fixes: |
|
|
3561 | common/item.c: If nrof of an item is 0, have it print singular name and |
|
|
3562 | not plural name. |
|
|
3563 | server/c_object.c: Fix typo when printing value of optoins - had an |
|
|
3564 | extra 'the' in place. Also, don't print value of objects with |
|
|
3565 | no pick flag set. |
|
|
3566 | server/login.c: Enforce maximum name length for new characters. |
|
|
3567 | server/monster.c: Change parsing code for messages/@match code - |
|
|
3568 | new code is simpler, and should also be simpler and less bug |
|
|
3569 | ridden, but otherwise functionally equivalant. Also fix up |
|
|
3570 | communicate to work properly on tiled maps. |
|
|
3571 | server/spell_effect.c: fix up move_aura to not crash hopefully. |
|
|
3572 | MSW 2003-01-26 |
|
|
3573 | |
|
|
3574 | More bug fixes: |
|
|
3575 | common/item.c: Add missing braces - was resulting in some items getting |
|
|
3576 | display like 'gauntlets of strength (Str+1)(Str+1). |
|
|
3577 | include/map.h: Add MAGIC_MAP definitions to the file. |
|
|
3578 | server/shop.c: Put back in code that uses magic_mapping_mark to determine |
|
|
3579 | what items to display in inventory. Update for new one magic mapping |
|
|
3580 | code stores information away. |
|
|
3581 | server/spell_util.c: Add missing P_OUT_OF_FLAG check, which resulted |
|
|
3582 | in crashes. |
|
|
3583 | socket/info.c: Move MAGIC_MAP definations to map.h. Add check for |
|
|
3584 | P_OUT_OF_MAP. Remove code that stops on P_NO_MAGIC - with that |
|
|
3585 | it wouldn't search the shops. |
|
|
3586 | MSW 2003-01-16 |
|
|
3587 | |
|
|
3588 | server/move.c: fix try_to_fit and roll_ob to work properly on tiled maps. |
|
|
3589 | Also some performance improvements to those functions. |
|
|
3590 | MSW 2003-01-12 |
|
|
3591 | |
|
|
3592 | Bulk of this commit is to improve code for tiled maps - replace |
|
|
3593 | wall/blocks_magic/blocks_cleric, etc with get_map_flags which |
|
|
3594 | also does map tiling translation as needed. This should fix a lot |
|
|
3595 | of the bugs related to map tiling (there are sure to be more out |
|
|
3596 | there - all the get_map_ob still need to be checked). |
|
|
3597 | Other changes - many spells stopped progressing on spaces that |
|
|
3598 | blocked view - that is now removed - didn't make a lot of sense. |
|
|
3599 | Other fixes - some cleric spells (eg, word of recall) checked to |
|
|
3600 | see if magic was prohibited, didn't check to see if cleric |
|
|
3601 | was prohibited. |
|
|
3602 | Clean up some bugs in the lighting code that would cause erroneous |
|
|
3603 | results. Also, allow players to see immediately around them on |
|
|
3604 | outdoor maps no matter how dark the map really is - behaviour |
|
|
3605 | on indoor maps is the same. |
|
|
3606 | Lots of code reformatted, and lots of obsoleted/dead code removed. |
|
|
3607 | Add max range to dimension door. |
|
|
3608 | Fix magic map - got broken when the layer stuff was redone - was |
|
|
3609 | not showing proper colors. IT also works sensibly on tiled maps |
|
|
3610 | now - rather than display based on the map, it gives the player a |
|
|
3611 | 50x50 area centered on where the player is. |
|
|
3612 | Change fire_bow - move special player fire modes into own function - |
|
|
3613 | makes code much cleaner. |
|
|
3614 | Hopefully this fixes more bugs than it introduces. |
|
|
3615 | common/los.c, common/map.c, common/object.c, crossedit/Edit.c, |
|
|
3616 | include/libproto.h, include/sockproto.h, include/map.h, |
|
|
3617 | include/spellist.h, include/sproto.h, random_maps/treasure.c, |
|
|
3618 | random_maps/wall.c, server/attack.c, server/c_misc.c, |
|
|
3619 | server/c_wiz.c, server/disease.c, server/main.c, server/monster.c, |
|
|
3620 | server/pets.c, server/player.c, server/rune.c, server/shop.c, |
|
|
3621 | server/skill_util.c, server/skills.c, server/spell_effect.c, |
|
|
3622 | server/spell_util.c, server/time.c, socket/info.c: See note above |
|
|
3623 | server/apply.c: Limit number of times weapon can be enchanted so |
|
|
3624 | that it won't overflow item_power. Modify enchant armor |
|
|
3625 | to enchant as normal armor is enchanted, also only allows one |
|
|
3626 | item to be enchanted. |
|
|
3627 | MSW 2002-01-07 |
|
|
3628 | |
|
|
3629 | common/item.c: Add 'unidentified' to display of examined items if the |
|
|
3630 | item has not been identified. Only display spell regen penalty |
|
|
3631 | for armour if there is in fact a penalty. |
|
|
3632 | lib/archetypes: rebuilt for updated demon speed, pick up other new archs. |
|
|
3633 | lib/animations, lib/bmaps lib/bmaps.paths lib/crossfire.0 lib/crossfire.1 |
|
|
3634 | lib/faces: rebuilt |
|
|
3635 | server/main.c: Name random maps based on final map component (if available) |
|
|
3636 | or map they are spawned from - this gives so clue in 'who' command |
|
|
3637 | where the players really are. |
|
|
3638 | server/monster.c: Fix code that would cause monsters to ignore golems/ |
|
|
3639 | avatars. |
|
|
3640 | server/pets.c: Clean up a few warnings, fix bug in pet_move that caused |
|
|
3641 | crashes - owner of a pet isn't always a player. |
|
|
3642 | server/player.c: Remove on_same_map check - can_detect_monster also |
|
|
3643 | performed check, so no need to have extra call. |
|
|
3644 | server/spell_effect.c: modify alchemy to properly deal with tiled maps, |
|
|
3645 | change behavior for spells that block view - they no longer block |
|
|
3646 | alchemy, but spaces that block magic will. |
|
|
3647 | MSW 2002-01-05 |
|
|
3648 | |
|
|
3649 | TODO - add notes about item damage - clear it out of my mailbox. |
|
|
3650 | common/loader.l, loader.c: Add check at load time to see if monsters |
|
|
3651 | hp is higher than its maxhp and print a debug message if so. |
|
|
3652 | devel/Makefile: Remove - makefiles shouldn't be in CVS, only .in versions. |
|
|
3653 | server/attack.c: Fix calculation of max_damage in kill_object - this |
|
|
3654 | was being done incorrectly, resulting in fired spell objects causing |
|
|
3655 | incorrect amounts of damage, resulint in some monsters ending up with |
|
|
3656 | a lot of hp. Fix call to kill_object to pass in correct damage value. |
|
|
3657 | server/monster.c: Put in check so that monster won't regen to more hp |
|
|
3658 | than they should have. |
|
|
3659 | server/spell_util.c: Removed unused variable from move_missile. |
|
|
3660 | server/weather.c: fix bug that causes crash if empty space is encountered |
|
|
3661 | on map. |
|
|
3662 | MSW 2003-01-03 |
|
|
3663 | |
|
|
3664 | socket/request.c: Fix buffer (malloc) overrun in esrv_send_stats - more |
|
|
3665 | stuff has gotten to be added, without ever increasing the size of the |
|
|
3666 | buffer to hold it. |
|
|
3667 | MSW 2003-01-01 |
|
|
3668 | |
|
|
3669 | server/time.c: Fix bad code in stop_arrow that caused crashes/improper |
|
|
3670 | freeing of data. |
|
|
3671 | MSW 2002-12-30 |
|
|
3672 | |
|
|
3673 | common/treasure.c: Fix initialization of treasure structs to use calloc. |
|
|
3674 | server/player.c: Fix infinite loop. |
|
|
3675 | socket/loop.c: Make sure we put in null terminator for socket data. |
|
|
3676 | MSW 2002-12-26 |
|
|
3677 | |
|
|
3678 | |
|
|
3679 | New Arrow and Pet Code: |
|
|
3680 | Add bowmode and petmode commands. Allowing the player to change the firing |
|
|
3681 | style for bows to one of either threewide, or spreadshot. |
|
|
3682 | Allow players to change the operating modes of his pet with petmode. Can be |
|
|
3683 | either seek and destroy, defend, or normal historical behavior. |
|
|
3684 | Change bows to impart speed to arrows based on damage and other magical |
|
|
3685 | plusses. Damage decays over distance, to stop arrows from flying forever. |
|
|
3686 | Very fast moving arrows will pierce multiple targets. An arrow moving at a |
|
|
3687 | speed greater than 10.0 will go straight through a target, losing 1.0 of |
|
|
3688 | speed in the process. |
|
|
3689 | Change magic missile to use spell_find_dir instead of find_dir to stop it |
|
|
3690 | from flying in a circle and hitting the caster, and to make it stop |
|
|
3691 | flying into walls to hit creatures behind the walls. |
|
|
3692 | |
|
|
3693 | Various bug fixes: |
|
|
3694 | common/living.c: Reset glow_radius for players, so they stop glowing |
|
|
3695 | after they snuff out their torch or whatever. |
|
|
3696 | server/apply.c: Fix message about improving armour so that it is now |
|
|
3697 | accurate. |
|
|
3698 | server/monster.c: Add some debug lines that may show cause of excess |
|
|
3699 | monster hp. |
|
|
3700 | server/spell_effect.c: fix compile warning in summon_pet(). Clean up |
|
|
3701 | indentation of alchemy functions, but functional changes is to |
|
|
3702 | insert gold nuggets below player (so more of the actions work), |
|
|
3703 | as well as to reset the view position, so that it won't have the |
|
|
3704 | 'previous 50' object selection. Add suggested parens in |
|
|
3705 | cast_detection. |
|
|
3706 | server/weather.c: Fix crash in weather code if snow was only object |
|
|
3707 | on space. |
|
|
3708 | MSW 2002-12-20 |
|
|
3709 | |
|
|
3710 | +++ |
|
|
3711 | server/weather.c: |
|
|
3712 | More weather routines: |
|
|
3713 | |
|
|
3714 | Now the game will attempt to completely reformat the world, and modify it |
|
|
3715 | with the weather and elevation. When dynamiclevel is set to 5 or above, |
|
|
3716 | the game looks at each tile, and the weather conditions present in that |
|
|
3717 | tile. It then consults a table of different terrain types, and what |
|
|
3718 | conditions they prefer to grow under. If the conditions match the spot, |
|
|
3719 | and there is nothing special about the spot (like a house, or a road), |
|
|
3720 | then we drop the new tile type on the overlay map on that location. |
|
|
3721 | |
|
|
3722 | Tuning of this can be done at the top of weather.c, by changing the |
|
|
3723 | weather_tile array. |
|
|
3724 | |
|
|
3725 | Also.. add a feather_map() routine which tries to break up the blockiness |
|
|
3726 | of some of the weather effects by spreading the tiles around. |
|
|
3727 | |
|
|
3728 | This code works.. but needs tuning, and probably a little more testing. |
|
|
3729 | Some of the conditions for the various tiles really need to be looked at, |
|
|
3730 | and fiddled with. |
|
|
3731 | garbled 2002-12-08 |
|
|
3732 | +++ |
|
|
3733 | |
|
|
3734 | common/exp.c: Fix bug were drain attacks added exp. |
|
|
3735 | MSW 2002-12-05 |
|
|
3736 | |
|
|
3737 | server/player.c: Change move_player_attack() so that we look for monsters |
|
|
3738 | to attack even after finding a rollable object - there can be non |
|
|
3739 | blocking rollable objects with monsters on top - we want to attack |
|
|
3740 | the monster, not roll the object. |
|
|
3741 | MSW 2002-12-03 |
|
|
3742 | |
|
|
3743 | TODO: Move more items from my mailbox to the TODO list. |
|
|
3744 | common/living.c: Init item_power in player to zero in fix_player() - |
|
|
3745 | bogus results were getting generated as it just kept getting incremented. |
|
|
3746 | common/porting.c: fix remove_directory so it works properly - checking |
|
|
3747 | for . and .. entries too late, calling unlink instead of rmdir. |
|
|
3748 | include/sproto.h: rebuilt |
|
|
3749 | lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.0, |
|
|
3750 | lib/crossfire.1, lib/faces: Rebuilt - new archs added, catch is_thrown |
|
|
3751 | addition to thrown rock/boulder archs. |
|
|
3752 | server/c_move.c, server/c_range.c: Add another parameter to do_skill() - part, which |
|
|
3753 | is closest part of creature to target object - current only used |
|
|
3754 | for the throw code. Update calls to this function to add additional |
|
|
3755 | parameter. |
|
|
3756 | server/c_object.c: Remove the NDI_UNIQUE from the 'item is too heavy |
|
|
3757 | to pick up' so that it won't flood the client with them if players |
|
|
3758 | goes onto space with lots of objects. |
|
|
3759 | server/main.c: Minor cleanup to fix compiler warning about ambigous |
|
|
3760 | if/else. |
|
|
3761 | server/monster.c: Pass closest part of monster when having it use |
|
|
3762 | a skill so that it doesn't throw rocks into itself. Update calls to |
|
|
3763 | do_skill as described above. |
|
|
3764 | server/player.c: Cal delete_player() when player quits - this properly |
|
|
3765 | cleans up any per player unique maps they have. Also, check for |
|
|
3766 | any such maps currently in memory, and delete those so that unique |
|
|
3767 | maps don't get 'gifted' to the next character of the same name. |
|
|
3768 | Update calls to do_skill as described above. |
|
|
3769 | server/shop.c: Combine items of the same name together in the output |
|
|
3770 | of the shop listings. Include the number of items, remove special |
|
|
3771 | casing of some objects so that query_base_name is used for all item |
|
|
3772 | types. |
|
|
3773 | server/skill_util.c: Modify do_skill() to take additional param as |
|
|
3774 | described above. Also, have do_skill return 1 on success, |
|
|
3775 | 0 on failur to use skill, and not return exp - otherwise, |
|
|
3776 | monster code has no idea if skill was successfully used, as throw |
|
|
3777 | doesn't grant exp, and this caused monsters to move into the |
|
|
3778 | object they just threw. Update calls to do_skill as described |
|
|
3779 | above. |
|
|
3780 | server/skills.c: Clean up skill_throw function to return meaningfull |
|
|
3781 | value. Also, pass along extra part of closest monster part |
|
|
3782 | to target. Modify do_throw to return value, use closest |
|
|
3783 | part of body as origin point for thwon object. |
|
|
3784 | server/spell_effect.c: Use isqrt function instead of definining |
|
|
3785 | ISQRT that used float version. Cleans up compile warning - most |
|
|
3786 | likely not seen before as spell was #ifdef SPELL_ENCUMBERANCE out. |
|
|
3787 | server/time.c: Put sanity checking for players speed_left in |
|
|
3788 | move_player_mover() - got some reports of infinite negative speed |
|
|
3789 | on metalforge, and this is the only place in the code where I could |
|
|
3790 | see that happening given the description of the events. |
|
|
3791 | utils/arch2xml.py, utils/cfarches.xsl: New script (and template) by |
|
|
3792 | Todd Mitchell. Script can convert archs to xml, and the template |
|
|
3793 | is usuable with mozilla to look at the output. |
|
|
3794 | MSW 2002-12-02 |
|
|
3795 | |
|
|
3796 | |
|
|
3797 | common/object.c, include/object.h: Add INS_BELOW_ORIGINATOR flag to |
|
|
3798 | insert_ob_in_map - this is used for treasure chests so the |
|
|
3799 | treasure is put below the player. Also fix insertiong of items |
|
|
3800 | on spaces that block view - put them in proper order, and not just |
|
|
3801 | directly above the floor |
|
|
3802 | server/apply.c: Tell player what level they need to be if they are not |
|
|
3803 | of sufficient level to improve armor. Modify apply_treasure to |
|
|
3804 | use INS_BELOW_ORIGINATOR flag, clean up some of the other logic |
|
|
3805 | in apply_treasure. |
|
|
3806 | server/c_object.c: Modify command_take to use the container inventory |
|
|
3807 | when doing a pickup, and not the container itself. |
|
|
3808 | MSW 2002-11-30 |
|
|
3809 | |
|
|
3810 | TODO: Updated with dm 'follow' command. |
|
|
3811 | common/loader.l: Rebuilt. |
|
|
3812 | common/map.c: Fix up some formatting - no code change. |
|
|
3813 | include/player.h, server/apply.c, server/player.c, socket/info.c: Remove |
|
|
3814 | chosen_item_spell field - isn't needed anymore as that information |
|
|
3815 | is determined each time player fires wand/rod/horn. This fixes |
|
|
3816 | those items firing magic bullets if they were equipped when player |
|
|
3817 | saved and rejoined. Some additional cleanup done in rangetostring() - |
|
|
3818 | mostly formatting changes, but minor code changes. |
|
|
3819 | MSW 2002-11-29 |
|
|
3820 | |
|
|
3821 | |
|
|
3822 | include/shstr.h: Update REFCOUNT_TYPE to be an int - seems to at least fix |
|
|
3823 | the bug of server crashing when running around the bigworld - given the |
|
|
3824 | size of the maps, quite possible that enough objects of the same name |
|
|
3825 | would be in memory to overflow the size size of a short. |
|
|
3826 | MSW 2002-11-19 |
|
|
3827 | |
|
|
3828 | Changed a ton of #ifdefs into settings: |
|
|
3829 | convert #ifdef NOT_PERMADETH into settings.not_permadeth. |
|
|
3830 | SET_TITLE and RESURRECTION are now settings. |
|
|
3831 | #ifdef SEARCH_ITEMS -> settings.search_items |
|
|
3832 | #ifdef SPELL_ENCUMBRANCE -> settings.spell_encumbrance |
|
|
3833 | #ifdef SPELL_FAILURE_EFFECTS -> settings.spell_failure_effects |
|
|
3834 | #ifdef CASTING_TIME -> settings.casting_time |
|
|
3835 | #ifdef REAL_WIZ -> settings.real_wiz |
|
|
3836 | #ifdef RECYCLE_TMP_MAPS -> settings.recycle_tmp_maps |
|
|
3837 | #ifdef SPELLPOINT_LEVEL_DEPEND -> settings.spellpoint_level_depend |
|
|
3838 | #ifdef EXPLORE_MODE -> settings.explore_mode |
|
|
3839 | make explore mode actually *work*. |
|
|
3840 | #define MOTD -> settings.motd |
|
|
3841 | #define DM_MAIL -> settings.dm_mail |
|
|
3842 | garbled 2002-11-12 |
|
|
3843 | |
|
|
3844 | |
|
|
3845 | New alchemy code, as discussed on the developer list. Now recipies include |
|
|
3846 | two new tags: skill and cauldron. With skill, you can set which skill |
|
|
3847 | activates this recipie, and the cauldron, corresponds to the arch name of |
|
|
3848 | the facility you will use when creating the item. In this way, item |
|
|
3849 | creation is now more generalized than just alchemy, and specific formulae |
|
|
3850 | can be written to utilize different skills, or perhaps special formulae |
|
|
3851 | would require a hard-to-find cauldron. |
|
|
3852 | |
|
|
3853 | Functionally, the alchemy, or alchemy-like-skills are now activated by |
|
|
3854 | the use_skill command. The secondary use of the alchemy spell has been |
|
|
3855 | withdrawn, so now it functions in the way it was originally intended again. |
|
|
3856 | garbled 2002-11-11 |
|
|
3857 | |
|
|
3858 | socket/loop.c: add a setting fastclock. This makes the server's clock run |
|
|
3859 | *really* fast. For now, it's good for debugging purposes, but in the |
|
|
3860 | future it will allow a dm to ravage a world with weather quickly. |
|
|
3861 | include/define.h: add FLAG_IS_WATER |
|
|
3862 | include/global.h: add fastclock to settings |
|
|
3863 | include/map.h: add water to weathermap structure |
|
|
3864 | include/sproto.h: add tons of new functions in weather.c |
|
|
3865 | common/init.c: update for FLAG_IS_WATER |
|
|
3866 | common/loader.l: update for FLAG_IS_WATER |
|
|
3867 | server/init.c: add code to read fastclock setting |
|
|
3868 | server/weather.c: Complete update, largely rewritten. Now the world is |
|
|
3869 | cut into a 100x100 matrix of weathermaps. Each one of these maps is |
|
|
3870 | computed at initial boot, and written to disk, following which, they are |
|
|
3871 | simply read from disk at boot. For each of the main weather types |
|
|
3872 | (pressure, humitidy, base temperature, wind direction, wind speed) the |
|
|
3873 | game recomputes the entire weathermap, applying smoothing algorithims, or |
|
|
3874 | derriving each map from it's predecessor. Weathermaps are only used if |
|
|
3875 | you have set your dynamiclevel to 1 or greater, and, are using the bigmap |
|
|
3876 | set. At this time, there is still no functional change to the game, |
|
|
3877 | bigmap, or not. |
|
|
3878 | utils/maps.c: This program will generate ppm files from each of the |
|
|
3879 | weathermaps. Mostly for debugging, but curious DM's might find it useful |
|
|
3880 | to see the weather. |
|
|
3881 | garbled 2002-10-27 |
|
|
3882 | |
|
|
3883 | server/c_chat.c: Fix some buffer overflow issues - use snprintf or |
|
|
3884 | use new_draw_info_format instead. |
|
|
3885 | lib/artifacts: Update some cloaks not to require a minimum magic level, |
|
|
3886 | since that will never be met. |
|
|
3887 | MSW 2002-10-16 |
|
|
3888 | |
|
|
3889 | Minor bugfixes: |
|
|
3890 | common/living.c: Fix it so that if you die, you won't _gain_ exp in any |
|
|
3891 | skills - could happen if new table is harder - 3 level loss could still |
|
|
3892 | mean having higher exp total. |
|
|
3893 | common/map.c: Fix on_same_map so check to see if either object has null |
|
|
3894 | map value - prevents crashes. |
|
|
3895 | MSW 2002-10-13 |
|
|
3896 | |
|
|
3897 | |
|
|
3898 | Experience cleanup - the main functional change is that no upper limit of |
|
|
3899 | exp in an individual skill, save for the limit that there is an upper |
|
|
3900 | limit of total exp a player can have. Thus, if a player concentrates |
|
|
3901 | complete in one skill, he could get to level 110 in it. A lot of |
|
|
3902 | code cleanup was done - so much had gotten added to the exp code that it |
|
|
3903 | was a real mess. |
|
|
3904 | common/living.c: re-arrange some of the code, so all the exp related |
|
|
3905 | functions are together. remove adjust_exp(), change check_dm_add_exp_to_obj() |
|
|
3906 | to check_exp_adjust. Add new functions add_player_exp(), check_exp_loss(), |
|
|
3907 | check_exp_add(), subtract_player_exp(). |
|
|
3908 | include/libproto.h: rebuilt. |
|
|
3909 | server/c_wiz.c: Update command_addexp() to use new exp functions. |
|
|
3910 | server/gods.c: Update lose_priest_exp() to use new exp functions. |
|
|
3911 | MSW 2002-10-11 |
|
|
3912 | |
|
|
3913 | configure, configure.ac: Remove --enable-old-layout option - that is more than |
|
|
3914 | 3+ years old now. Add --enable-dmalloc option so code can be compiled |
|
|
3915 | with dmalloc debugging without needing to change/rebuild the configure |
|
|
3916 | files. |
|
|
3917 | common/porting.c: Add stdarg.h to list of included files. |
|
|
3918 | include/autoconf.h.in: rebuilt, HAVE_LIBDMALLOC undef added. |
|
|
3919 | random_maps/square_spiral.c: fix bound checking value. |
|
|
3920 | MSW 2002-10-07 |
|
|
3921 | |
|
|
3922 | common/item.c: Fix bug with identified potions not getting set to proper name. |
|
|
3923 | MSW 2002-10-03 |
|
|
3924 | |
|
|
3925 | Bugfixes: Add golem_count element to player structure so we can properly |
|
|
3926 | detect when golem is destroyed. This fixes a crash in some places as the |
|
|
3927 | code tried to remove this already removed golem. |
|
|
3928 | Fix crash when null player maps. |
|
|
3929 | include/player.h: Add golem_count element to player structure. |
|
|
3930 | server/player.c: Add code in handle_newscs_player() that checks status of |
|
|
3931 | golem, clears op->contr->golem is value is bogus |
|
|
3932 | server/spell_effect.c, server/spell_util.c: Initialize golem_count |
|
|
3933 | value when golem is created. |
|
|
3934 | socket/request.c: Check for null map value. |
|
|
3935 | MSW 2002-10-02 |
|
|
3936 | |
|
|
3937 | Mostly bugfixes, but the addition of a wiz 'hide' command which makes the |
|
|
3938 | wiz out of sight so to speak. |
|
|
3939 | -- |
|
|
3940 | common/loader.l, common/loader.c: Fix bug where flag values were being saved |
|
|
3941 | with actual value of the flag (eg, 32768, 16, etc) instead of 1/0 value - |
|
|
3942 | Code effectively worked the same, just was a bit odd looking at save files. |
|
|
3943 | include/player.h: Add hidden element to player structure. |
|
|
3944 | include/sproto.h: Add command_hide(), update proto for players_on_map() |
|
|
3945 | lib/Makefile.am, lib/Makefile.in: add wizhelp/hide file. |
|
|
3946 | server/apply.c: Add error checking to converts so it doesn't crash if the |
|
|
3947 | converter doesn't have a proper other_arch. Modify shopmats so that they |
|
|
3948 | don't transport spell effects, like fireballs an burning hands. |
|
|
3949 | server/attack.c: Modify code so players can drain other players exp. |
|
|
3950 | server/c_misc.c: Modify various functions to not show info on hidden DM. |
|
|
3951 | server/c_wiz.c: Add command_hide(), clean up command_invisible() a bit. |
|
|
3952 | server/commands.c: Add hide command to dispatch table. |
|
|
3953 | server/main.c: Add code to not update players on map for hidden dm. |
|
|
3954 | server/player.c: Give hidden dm perpetual invisiblity. |
|
|
3955 | server/skills.c: Only get exp if you actually stole an item - fixes abuse |
|
|
3956 | whereby players who couldn't carry item could continually 'steal' it from |
|
|
3957 | monster and just gain exp. |
|
|
3958 | server/swap.c: modify players_on_map() to take addition arg to determine if |
|
|
3959 | real players on map should be shown, or if we shouldn't count hidden dms. |
|
|
3960 | socket/info.c: Modify code so that oldsockets don't get reports on high verbose |
|
|
3961 | messages. |
|
|
3962 | socket/metaserver.c: Modify metaserver update to not include hidden dms. |
|
|
3963 | utils/Makefile.in: update datestmp. |
|
|
3964 | MSW 2002-09-27 |
|
|
3965 | |
|
|
3966 | |
|
|
3967 | server/pet.c: Add check to pet_move() to make sure the space we are |
|
|
3968 | checking is within the map, and handle map tiling. |
|
|
3969 | MSW 2002-09-23 |
|
|
3970 | |
|
|
3971 | Various updates: |
|
|
3972 | NOTE - You need to install the updated archetypes (included below) |
|
|
3973 | if you run this code without the updated archs, you will likely find |
|
|
3974 | many things do not work. |
|
|
3975 | acinclude.m4 aclocal.m4 configure: more refinements for libpython detection. |
|
|
3976 | common/button.c: Two push_button() changes - have it check for ACTIVATE_ON_ |
|
|
3977 | PUSH/RELEASE to determine if the object should get activated. Also, |
|
|
3978 | change behaviour of TIMED_GATE so that multipart timed gates work. |
|
|
3979 | common/loader.l, loader.c: Update with acttivate_on_push/release |
|
|
3980 | doc/Developers/objects: Add notes about how to add flags to objects. |
|
|
3981 | include/define.h: add new FLAG_ values |
|
|
3982 | include/win32.h: update by pstolarc so it compiles on Win32. |
|
|
3983 | lib/archetypes: rebuilt |
|
|
3984 | MSW 2002-09-17 |
|
|
3985 | |
|
|
3986 | common/map.c: Fix problem with ordering in check_linked() - checking |
|
|
3987 | for NO_PASS was before checks for inventory checkers, resulting in |
|
|
3988 | inventory checkers that require the player to have an item not working. |
|
|
3989 | MSW 2002-09-15 |
|
|
3990 | |
|
|
3991 | |
|
|
3992 | ------------------------------------------------------------------------------ |
|
|
3993 | Changes for 1.4.0: |
|
|
3994 | |
|
|
3995 | server/disease.c: Change move_disease() somehwat - before, if you were |
|
|
3996 | not susceptible to a disease, it would never run its course. Yet you |
|
|
3997 | would still get stuck with the symptoms. there was a case on |
|
|
3998 | metalforge where a character had a symptom with no disease, and |
|
|
3999 | had immunity, yet was still getting stuck with the symptoms. Not sure |
|
|
4000 | if this change will help prevent that in the future or not. |
|
|
4001 | include/player.h: Change item_power in player structure to be 16 bits - |
|
|
4002 | 8 bit values were getting overflowed. |
|
|
4003 | MSW 2002-09-14 |
|
|
4004 | |
|
|
4005 | INSTALL: Update directions with new automake method. |
|
|
4006 | common/Makefile.am, common/Makefile.in: Fix code for building the libproto.h |
|
|
4007 | file - it was including loader.l and not loader.c |
|
|
4008 | common/exp.c: Add init_experience() and dump_experience() functions - |
|
|
4009 | init_experience() loads the experience table from a file. Add default |
|
|
4010 | experience table into this file |
|
|
4011 | common/init.c: Add call to init_experience() |
|
|
4012 | common/living.c: Remove experience tables - players can select the one they |
|
|
4013 | want by changing the exp_table file. Remove reference to new_levels[] - |
|
|
4014 | only levels[] is used now for the formentioned reason. |
|
|
4015 | include/config.h: Update notes about SIMPLE_EXP system. |
|
|
4016 | include/libproto.h: rebuilt. |
|
|
4017 | lib/Makefile.am, lib/Makefile.in: Add exp_table to list of files. |
|
|
4018 | lib/exp_table: New file that contains experience information. |
|
|
4019 | server/c_object.c: Modify command_take() to look for objects above the player |
|
|
4020 | to pick up, then objects below. This fixes the bug with not being able |
|
|
4021 | to use the take command on items from a chest the player opens without |
|
|
4022 | moving off the space. |
|
|
4023 | server/init.c: Add -mexp dump switch to dump the experience table. Allow |
|
|
4024 | the simple experience system to be set in the settings file. |
|
|
4025 | server/skill_util.c: Fix oddness in calc_skill_exp() which could result |
|
|
4026 | in add amounts of exp given. |
|
|
4027 | MSW 2002-09-10 |
|
|
4028 | |
|
|
4029 | |
|
|
4030 | include/sproto.h: rebuilt |
|
|
4031 | lib/help/killpets: New file |
|
|
4032 | lib/Makefile.in: Add help/killpets file. |
|
|
4033 | server/c_misc.c: Add command_kill_pets(). |
|
|
4034 | server/commands.c: add killpets command which kills your pets. |
|
|
4035 | server/monster.c: Add some code in check_enemy so that the enemy |
|
|
4036 | has to be a monster/generator/player to be considered valid - |
|
|
4037 | I was seeing things like arrows ending up as target enemies. |
|
|
4038 | MSW 2002-09-07 |
|
|
4039 | |
|
|
4040 | More bugfixes: |
|
|
4041 | common/loader.l, loader.c: Fix up the handling with speed with respect |
|
|
4042 | to style maps - the objects were still getting put on the active |
|
|
4043 | list. |
|
|
4044 | common/map.c: Fix up blocked_link() to behave more like the |
|
|
4045 | blocked_two() function - inventory checkers and door handling. |
|
|
4046 | Comment out blocked_two since it isn't used anymore. Modify |
|
|
4047 | load_objects to remove objects on style maps from the active |
|
|
4048 | list. Remove some of the debug messages about map loading. |
|
|
4049 | common/object.c: Add remove_from_active_list() function for use |
|
|
4050 | in map.c to remove objects from active list. |
|
|
4051 | common/porting.c: Comment out debug message if open_and_uncompress() |
|
|
4052 | can open a file - caller of the function should print out messages, |
|
|
4053 | and it really isn't much of an error in any case. |
|
|
4054 | include/libproto.h: rebuilt. |
|
|
4055 | random_maps/special.c: Modify place_special_exit() - this should fix |
|
|
4056 | bug of very large treasure maps - problem was if the generated map |
|
|
4057 | size was too small, when generate_random_map was called, it would |
|
|
4058 | generate a newly sized map that was much larger. Code was also |
|
|
4059 | re-arranged some to make it a little more readable. |
|
|
4060 | server/attack.c: Fix crash when creature may not have an owner and |
|
|
4061 | it kills something else. |
|
|
4062 | server/move.c: comment added - no code change. |
|
|
4063 | socket/request.c: Fix off by one error in esrv_send_animation() - |
|
|
4064 | rare condition as it only showed up when trying to send the last |
|
|
4065 | animation (zombie) - only an issue if the player is put on top of |
|
|
4066 | a zombie for some reason (no other space for them) - observed when |
|
|
4067 | leaving the random dungeon in the undead church in scorn without |
|
|
4068 | clearing out all the zombies first. |
|
|
4069 | MSW 2002-09-06 |
|
|
4070 | |
|
|
4071 | |
|
|
4072 | CHANGES: Update build instructions for the plugin. |
|
|
4073 | random_maps/square_spiral.c: Fix bug that could cause the search |
|
|
4074 | function to go off the edge of the map looking for a clear space. |
|
|
4075 | Doesn't happen often, but one crash did happen here. |
|
|
4076 | server/monster.c: Fix some bugs with monsters and wakeup - remove |
|
|
4077 | check for friendly that could never be true, and also fix |
|
|
4078 | logic so that monsters will now find the players. |
|
|
4079 | MSW 2002-09-05 |
|
|
4080 | |
|
|
4081 | common/button.c: Fix do_mood_floor() to look at all objects on space for |
|
|
4082 | something to effect, not just things above the moodfloor. |
|
|
4083 | server/attack.c: Add missing check to make sure the plugin exists before |
|
|
4084 | we try to access the plugin function. |
|
|
4085 | common/readlable.c: Fix crash caused by passing null value to mon_desc - |
|
|
4086 | check for non null was at end of { } do loop - check should be at the |
|
|
4087 | start. |
|
|
4088 | server/monster.c: Make it so that monsters with see invisible are not |
|
|
4089 | immune to blind - monster can be given appropriate resistance to make |
|
|
4090 | it so it is not effected by blind. |
|
|
4091 | MSW 2002-09-04 |
|
|
4092 | |
|
|
4093 | server/main.c: Move #endif in crypt_string to more proper place. |
|
|
4094 | server/monster.c: Fix bad if statement that may have been waking up |
|
|
4095 | monsters when they shouldn't have been. |
|
|
4096 | MSW 2002-09-03 |
|
|
4097 | |
|
|
4098 | This change mostly deals with improving behaviour of pet monstes. |
|
|
4099 | Most of the code is from K. Reinert - however, I did some code cleanup/ |
|
|
4100 | fixes related to pet monsters, so it is difficult to note where |
|
|
4101 | each piece of code came from. One thing this does fix is handling of |
|
|
4102 | multipart pets - these now work properly. |
|
|
4103 | common/map.c: Update comment for get_rangevector() - no code change. |
|
|
4104 | common/object.c: Add get_search_arr() which is used in pet monster code. |
|
|
4105 | This returns a semi random scrambling of the freearr array. |
|
|
4106 | doc/Developers/protocol: Update documentation about map1a protocol command. |
|
|
4107 | include/libproto.h, include/sproto.h: rebuilt. |
|
|
4108 | server/attack.c: Have drain attacks return 1 damage so that it is clear |
|
|
4109 | that you are actually hitting your opponent. Otherwise, you would |
|
|
4110 | get messages that 'you missed xyz', even though you are draining it. |
|
|
4111 | This extra point of damage shouldn't change balance in any significant |
|
|
4112 | way. |
|
|
4113 | server/monster.c: Update hnadling of enemies for pet monsters. It should |
|
|
4114 | more intelligently choose the monsters and not switch/clear the |
|
|
4115 | enemy field for no reason anymore. Change find_nearest_living_creature to |
|
|
4116 | use the get_search_arr() to more randomly choose direction of target - |
|
|
4117 | before, there was a proclivity to always look in the north direction. |
|
|
4118 | Modify can_hit() to look for closes part of enemy - otherwise, monsters |
|
|
4119 | may not attack opponents even if they were right next to them because |
|
|
4120 | they couldn't get to the enemies head. Remove move_object from |
|
|
4121 | this function - merged with move_ob in move.c |
|
|
4122 | server/move.c: Fix move_ob to use 'cleaner' code of move_object, but |
|
|
4123 | also have specific features that move_ob had (player handling). |
|
|
4124 | Before move_ob didn't handle multipart objects correctly, and the |
|
|
4125 | two functions were largely the same. Now move_object() just calls |
|
|
4126 | move_ob - the only difference in the functions is that move_ob() |
|
|
4127 | takes 3 parameters instead of 2 of move_object() (added |
|
|
4128 | parameter is originator). I think this should now mean multipart |
|
|
4129 | player objects may now work. |
|
|
4130 | server/pets.c: get_pet_enemy enhanced to be much smarter about |
|
|
4131 | selecting/finding things for the pet to attack. |
|
|
4132 | server/player.c: Remove commented out line of init_beforeplay |
|
|
4133 | MSW 2002-08-31 |
|
|
4134 | |
|
|
4135 | server/attack.c: Modify drain attack code so that if some agent of the |
|
|
4136 | player is doing the drain (eg, avatar, summoned monster, or even spell), |
|
|
4137 | player gets exp added to his total. Otherwise, the agent could suck all |
|
|
4138 | the exp out of the monster, resulting in no gain for the player. |
|
|
4139 | Also, fix bug in drain code where uninitialized value was being used |
|
|
4140 | if enemy had 0 protection to drain. |
|
|
4141 | MSW 2002-08-30 |
|
|
4142 | |
|
|
4143 | Various bugfixes: |
|
|
4144 | common/map.c: Change so that same logic is used to determine pclose/fclose |
|
|
4145 | that is used to determine popen/fopen - otherwise, compressed map |
|
|
4146 | files probably don't work properly. |
|
|
4147 | common/treasure.c: Do a memset to make sure entire treasureslist is |
|
|
4148 | set to sane values. |
|
|
4149 | lib/archetypes: Fix 'slaying' field (which determines spell name) in |
|
|
4150 | god_spelldirect_face_of_death and god_spelldirect_finger_of_death |
|
|
4151 | server/apply.c: Fix infinite loop if the player had cursed items |
|
|
4152 | that needed to be unapplied to apply an item - setting up next |
|
|
4153 | item iteration was inside if check when it shouldn't be. Also, |
|
|
4154 | print message to player if this is the case. |
|
|
4155 | server/monster.c: Better format some of the code for improved readability. |
|
|
4156 | Fix indentation of can_see_enemy. Clean up invisiblity check - may |
|
|
4157 | have fixed a bug - old code should have worked, but wasn't very |
|
|
4158 | readable. |
|
|
4159 | server/move.c: Fix some bad code from last checkin - didn't fix |
|
|
4160 | the crash on no floor for door type, and instead removed |
|
|
4161 | check type from next line by accident. |
|
|
4162 | server/player.c: Remove call for init_beforeplay - this is already |
|
|
4163 | properly called, and re-calling it resulted in some things being |
|
|
4164 | redone when they shouldn't be. |
|
|
4165 | server/skills.c: Add message if there is nothing to steal form the monster. |
|
|
4166 | server/spell_effect.c: Improve message when invisiblity duration is |
|
|
4167 | maximized. |
|
|
4168 | socket/init.c: change O_NDELAY to O_NONBLOCK of fcntl. |
|
|
4169 | MSW 2002-08-25 |
|
|
4170 | |
|
|
4171 | doc/Developers/objects: Update with new (better) information from |
|
|
4172 | Todd Mitchell. Doc is more complete, and now has an index which |
|
|
4173 | should make it easier to find things. |
|
|
4174 | server/move.c: Fix dereferencing NULL problem - was looking at op->above, |
|
|
4175 | but op could be NULL if the map had no objects on a space (typically |
|
|
4176 | not the case, but...) No reason I can see that we care about the object |
|
|
4177 | above - just process in normal order. |
|
|
4178 | MSW 2002-08-21 |
|
|
4179 | |
|
|
4180 | server/time.c: Possible fix for bug seen on metalforge - |
|
|
4181 | in move_player_mover, make sure we are working with the head of the |
|
|
4182 | monster. |
|
|
4183 | MSW 2002-08-13 |
|
|
4184 | |
|
|
4185 | More spoiler-html fixes - was not including attacktype information, but |
|
|
4186 | also fixed some formatting issues. |
|
|
4187 | common/item.c: Include attacktypes in describe_monster. |
|
|
4188 | doc/scripts/Makefile.in: Add monsters-extract.pl file. |
|
|
4189 | doc/spoiler-html/Makefile.in: Update to use ../scripts/monster-extract.pl |
|
|
4190 | file, remove monster-extract file. |
|
|
4191 | doc/spoiler-html/spoiler.html: rebuilt. |
|
|
4192 | MSW 2002-08-11 |
|
|
4193 | |
|
|
4194 | Fix spoiler-html generation to show resistances. Need to do normal spoiler |
|
|
4195 | next. Add a new docs/scripts directory to hold the common scripts, |
|
|
4196 | instead of spoiler, spoiler-html, playbook, and playbook-html each having |
|
|
4197 | their own copies. |
|
|
4198 | configure, configure.in: Add doc/scripts directory. |
|
|
4199 | doc/spoiler-html/Makefile.in: Update build directions to use |
|
|
4200 | ../scripts/items-extract.pl |
|
|
4201 | doc/spoiler-html/spoiler.html: Rebuilt with updated information. |
|
|
4202 | doc/scripts/Makefile.in: Makefile for directory. |
|
|
4203 | doc/scripts/items-extract.pl: perl version of the items-extract file. |
|
|
4204 | doc/spoiler-html/items-extract: awk version - no longer used. |
|
|
4205 | MSW 2002-08-02 |
|
|
4206 | |
|
|
4207 | common/item.c: Have describe monster show resistances of monsters - useful |
|
|
4208 | for spoiler output, as well probe spell. |
|
|
4209 | server/disease.c: Fix typo. |
|
|
4210 | MSW 2002-08-02 |
|
|
4211 | |
|
|
4212 | include/global.h: add FREE_AND_CLEAR_STR macro, relocate DELETE_STRING |
|
|
4213 | by the other macros. |
|
|
4214 | server/c_misc.c: Fix string printout in applymode function. |
|
|
4215 | server/disease.c: Update name_pl in diseases. |
|
|
4216 | server/player.c: replace FREE_AND_CLEAR with FREE_AND_CLEAR_STR - was |
|
|
4217 | freeing data that shouldn't be freed. |
|
|
4218 | MSW 2002-08-01 |
|
|
4219 | |
|
|
4220 | Various fixes: |
|
|
4221 | INSTALL: Update with note about --with-includes configure option. |
|
|
4222 | common/loader.c, common/loader.l: Add comment about flag_invis_undead |
|
|
4223 | include/define.h: Add FLAG_INVIS_UNDEAD |
|
|
4224 | lib/adm/map_info: Modify to not follow symbolic links. |
|
|
4225 | server/monster.c: Modify can_detect_enemy to be a bit more straightforward |
|
|
4226 | in its logic. Also, modify detection of invisible creatures - don't |
|
|
4227 | reduce duration, just return that the monster can detect the player. |
|
|
4228 | There were also spurious messages about the player being seen. |
|
|
4229 | Modify can_see_enemy to check FLAG_INVIS_UNDEAD, also fix broken |
|
|
4230 | comparison |
|
|
4231 | server/player.c: Clear FLAG_INVIS_UNDEAD when invisibility ends. Fix |
|
|
4232 | action_makes_visible() - had reverse logic on FLAG_MAKE_INVIS check, |
|
|
4233 | and a typo in the printed message. |
|
|
4234 | server/spell_effect.c: cast_invisible() to use FLAG_INVIS_UNDEAD - |
|
|
4235 | also check for maximum duration, and only search active objects when |
|
|
4236 | clearing enemy. |
|
|
4237 | server/weather.c: Fix off by one on comparision when intializing maps |
|
|
4238 | darkness when loading map from disk. In dawn_to_dusk, don't do |
|
|
4239 | further processing if the light hasn't changed. |
|
|
4240 | MSW 2002-07-29 |
|
|
4241 | |
|
|
4242 | |
|
|
4243 | |
|
|
4244 | Various bug fixes, add glyph spell: |
|
|
4245 | TODO: Updated |
|
|
4246 | common/map.c: Fix change_map_light() - if darkness was reduced to zero, |
|
|
4247 | it wouldn't properly notify the players or update the maps they are |
|
|
4248 | on. Also, make it more robust to handle changes by more than one. |
|
|
4249 | include/define.h: Increase NROFREALSPELLS |
|
|
4250 | include/spellist.h: Add glyph spell. |
|
|
4251 | include/spells.h: Add SP_GLYPH entry. |
|
|
4252 | server/attack.c: Fix up kill_object() - it has had some many various |
|
|
4253 | additions that it was difficult to follow the logic. It should also now |
|
|
4254 | do better check on skill objects when awarding experience. |
|
|
4255 | server/player.c: Add some checks/addition to properly deal with freeing the |
|
|
4256 | name_pl in the player object. Fix it so that if you are braced, you |
|
|
4257 | still won't attack friendly creatures. |
|
|
4258 | server/rune.c: Add cast_generic_rune() to handle the glyph and rune spell. |
|
|
4259 | server/spell_effect.c: Fix up some pointers in cast_cause_disease() - |
|
|
4260 | needed so that it works properly when embedded in a glyph. Have it |
|
|
4261 | return 1 even if no one caught anything - you still cast the spell, so |
|
|
4262 | you should lose the grace for it. |
|
|
4263 | server/spell_util.c: Fix some formatting. Break out the code dealing |
|
|
4264 | with rune into cast_generic_rune() |
|
|
4265 | socket/loop.c: Add flag to player command mapping, and update structure - |
|
|
4266 | if flag is set, command can only be issued when player is in play, |
|
|
4267 | and not when waiting at the quit or login prompt - fixes crashes where |
|
|
4268 | players could wait for the map to get swapped out (after quitting), and |
|
|
4269 | then looking at a space. |
|
|
4270 | socket/request.c: Fix map2cmd so that invisible players are drawn. |
|
|
4271 | MSW 2002-07-24 |
|
|
4272 | |
|
|
4273 | Add dm command 'freeze' which freezes a player from doing anything for some |
|
|
4274 | amount of time. |
|
|
4275 | include/sproto.h: rebuilt. |
|
|
4276 | lib/Makefile.in: Add freeze to wizhelp files. |
|
|
4277 | lib/wizhelp/freeze: New file. |
|
|
4278 | server/c_wiz.c: Add command_freeze(). Also, break out |
|
|
4279 | get_other_player_from_name() - several functions need the same logic |
|
|
4280 | of getting a player named X that is not us - making it a function |
|
|
4281 | reduces the duplicate code. Fix some formatting for some functions. |
|
|
4282 | server/commands.c: Add command_freeze to the dispatch table. |
|
|
4283 | MSW 2002-07-17 |
|
|
4284 | |
|
|
4285 | lib/Makefile.in: add a 'archonly' directive that only collects archetypes |
|
|
4286 | and doesn't collect images. |
|
|
4287 | lib/archetypes: rebuilt for fixes made to arches. |
|
|
4288 | lib/collect.pl.in: modified to take second parameter -ARCHONLY, that causes |
|
|
4289 | it not to save out animation, bmaps and faces file. |
|
|
4290 | server/apply.c: Change order of print when applying/unapplying - print out |
|
|
4291 | the 'you apply/unapply' before we print out the changes that applying |
|
|
4292 | the item does. It seems odd for it to be 'you feel stronger. you apply |
|
|
4293 | xyz'. Fix can_apply_object() so that if a player needs to unapply |
|
|
4294 | several items, the right return code is returned and we don't say |
|
|
4295 | the player has a choice. |
|
|
4296 | server/player.c: Fix missing clearing of player->next. |
|
|
4297 | MSW 2002-07-15 |
|
|
4298 | |
|
|
4299 | -- Start body commit notes -- |
|
|
4300 | Major commit. This adds body locations which is used for equipping items. |
|
|
4301 | Equipment has information which body part it gets equipped to, and monsters |
|
|
4302 | have information on how which body locations they can have. |
|
|
4303 | |
|
|
4304 | As part of this work, I also did a lot of code cleanup. |
|
|
4305 | |
|
|
4306 | To use this, you must use up to date archetypes - the ones included |
|
|
4307 | in this commit are fine - just make sure you install them. If |
|
|
4308 | you don't, players will not be able to equip items. |
|
|
4309 | |
|
|
4310 | common/arch.c: Initialize body_used to be same as body_info for |
|
|
4311 | archetypes - this way when monsters are created, they can |
|
|
4312 | start equipping items right away. |
|
|
4313 | common/exp.c: update new_exp() - some flags it checked for before no longer |
|
|
4314 | exist or have new names. |
|
|
4315 | common/info.c: describe_item() now takes second parameter - update |
|
|
4316 | dump_abilities to use new calling convention. |
|
|
4317 | common/item.c: Add table that describes the body_info locations and |
|
|
4318 | their names. Add functions that calculate item power for objects |
|
|
4319 | that don't have it set. Update display functions to show |
|
|
4320 | item_power in items. Update describe_monster() - use_horn/wand/rod |
|
|
4321 | merged into just use_range. Modify describe_item() to take second |
|
|
4322 | paramater - who the item is being described for. Show item_power |
|
|
4323 | in describe_item. |
|
|
4324 | common/living.c: Pull out MAXLEVEL from being defined in this file - |
|
|
4325 | define in in define.h, since other files use it. Add NUM_STATS |
|
|
4326 | define - replace hard coded values of having just 7 stats with it. |
|
|
4327 | Update change_abil to not display that the player has a new |
|
|
4328 | attacktype when equipping a bow that has it - fix_player() ignores |
|
|
4329 | the attacktype of the bow, so it was incorrect information. |
|
|
4330 | fix_player(): Initialize player ranges structure to null - |
|
|
4331 | will get filled in by code in function, updated to deal with |
|
|
4332 | updating the body_used data from body_info in the objects. |
|
|
4333 | Replace instances of last_heal with gen_sp_armour. Rearrange |
|
|
4334 | some code to make function more readable. |
|
|
4335 | common/loader.c, common/loader.l: Remove the variable_const information - no |
|
|
4336 | longer needed and confusing for new people when adding in new object |
|
|
4337 | elements. Add set_body_info() - parses the string from the load file and |
|
|
4338 | sets the appropriate array element. Add check_loaded_object() - does |
|
|
4339 | sanity checking for an object after finished loading - replaces need for |
|
|
4340 | long processing directive in the actual rules by having seperate function. |
|
|
4341 | Remove unused flags from load directives (apply_once, no_pretext, |
|
|
4342 | can_apply), add some new ones (item_power, gen_sp_armour), update others |
|
|
4343 | to can_use_range. Replace flag_links with simple array that contains the |
|
|
4344 | name for each corresponding flag. Update get_ob_diff to not use the V_ |
|
|
4345 | values and just include the actual string name - all recent changes have |
|
|
4346 | done this, just updated for old stuff. Update get_ob_diff to save new |
|
|
4347 | values that have been added. |
|
|
4348 | common/object.c: clear_object: Modify to use memset to clear |
|
|
4349 | the structure to zero - this is less error prone than listing |
|
|
4350 | all the specific values, and probably faster. Also, makes it |
|
|
4351 | easier to add new elements - no need to update object.c in most |
|
|
4352 | cases. |
|
|
4353 | common/player.c: Remove get_player_ob routine - this is now merged |
|
|
4354 | in with get_player_ob in server/player.c. Remove generate_ext_title - |
|
|
4355 | not used. |
|
|
4356 | common/readable.c: Update to pass second argument to describe_item. |
|
|
4357 | common/treasure.c: Update to calculate item_power of generated items. |
|
|
4358 | Clean up a lot of code formatting. Update add_abilities |
|
|
4359 | to use gen_sp_armour values, not last heal (note, it appears |
|
|
4360 | the last_heal values weren't being used before). Update |
|
|
4361 | calls to describe item to take second parameter. |
|
|
4362 | doc/Developers/objects: Update will_apply notes, add note about |
|
|
4363 | item_power, body location. |
|
|
4364 | include/define.h: Comment out unused flags (flag_apply_once, flag_paralyzed, |
|
|
4365 | flag_no_pretext, flag_ready_rod, flag_read_horn). Add flag_use_shield. |
|
|
4366 | rename flag_use_wand to flag_use_range. rename flag_ready_wand to |
|
|
4367 | flag_ready_range. Add flag_ready_scroll. Update ARMOUR_SPELLS access |
|
|
4368 | macro. Add AP_PRINT flag to apply flags. Add CAN_APPLY_.. return types |
|
|
4369 | for can_apply_object function. |
|
|
4370 | include/includes.h: add strftime, mktime checks to this file. |
|
|
4371 | include/libproto.h: rebuilt. |
|
|
4372 | include/living.h: Add NUM_STATS define, update extern declarations |
|
|
4373 | to use it for sizing. |
|
|
4374 | include/loader.h: remove the V_.. info and xbm_.. externs that were not |
|
|
4375 | used. |
|
|
4376 | include/newserver.h: Remove ext_tile information. |
|
|
4377 | include/object.h: Add Body_Locations structure, NUM_BODY_LOCATIONS define. |
|
|
4378 | Add definitions for WILL_APPLY values. Clean up object structure - |
|
|
4379 | formatting is now consistent, ordering of values groups values |
|
|
4380 | together more logically. Update all types to use the int8/int16/int32 |
|
|
4381 | types. Several unused fields removed. |
|
|
4382 | include/player.h: Update rangetype enum. Add unapplymode enum. |
|
|
4383 | Clean up player structure - type updates, unused fields removed, |
|
|
4384 | formatting fixed up. |
|
|
4385 | include/spells.h: remove range_name extern. Update SpellTypeFrom |
|
|
4386 | field to combine wand/rod/horn into spellMisc - none of the |
|
|
4387 | spell casting code was differentiating these. |
|
|
4388 | include/sproto.h: rebuilt. |
|
|
4389 | lib/Makefile.in: Add new help files (applymode, bind, brace) |
|
|
4390 | lib/archetypes: rebuilt for body_info, gen_sp_armour, item_power, |
|
|
4391 | can_use_shield information. |
|
|
4392 | lib/artifacts: updated for item_poer and gen_sp_armour changes. |
|
|
4393 | lib/treasures: remove unused _force for player treasure. |
|
|
4394 | plugin/plugin_python.c: Change FLAG_USE_WAND to FLAG_USE_RANGE. |
|
|
4395 | server/apply.c: Move stftime, mktime to include/includes.h. Remove |
|
|
4396 | draw_find() - one line function can just as easly be in the |
|
|
4397 | code itself. Update calls to long_desc to pass second parameter. |
|
|
4398 | move gravestone_text() to player.c file. Add direction parameter to |
|
|
4399 | apply_scroll() - in this way monsters can use it properly. |
|
|
4400 | Remove dead code. Update apply_special function. Add |
|
|
4401 | unapply_special(), get_item_from_body_location(), unapply_for_ob(), |
|
|
4402 | and can_apply_object() functions. |
|
|
4403 | server/attack.c: Remove SET_FLAG(op, FLAG_PARALYZED) line - no code |
|
|
4404 | was ever checking status of FLAG_PARALYZED. |
|
|
4405 | server/c_misc.c: add command_body() which dumps body information for |
|
|
4406 | player. Update who as idle element in player structure removed - |
|
|
4407 | was not being used by anything. Add command_applymode() to |
|
|
4408 | set players prefered unapply method. Remove calls to unlock_player() |
|
|
4409 | in various functions - unlock_player() has not done anything |
|
|
4410 | meaningful for a while. |
|
|
4411 | server/c_object.c: Modify long_desc to take a second parameter |
|
|
4412 | which is who is examing the object. this is needed so that we |
|
|
4413 | can pass it down to some of the lower level functions. |
|
|
4414 | Update calls to describe_item to pass this second parameter. |
|
|
4415 | remove FLAG_NO_PRETEXT code - no archetyps were using it. When |
|
|
4416 | examining objects, also tell player where to put them on. |
|
|
4417 | server/c_range.c: Update legal_range() - we now store the object that |
|
|
4418 | is responsible for a range in the player object, so code is |
|
|
4419 | much simpler. Update change_spell() to not destroy golem |
|
|
4420 | just by readying another spell - we now let players regain control |
|
|
4421 | of golems after switching to another range. Update change_spell |
|
|
4422 | to use item name of object for range description. |
|
|
4423 | server/c_wiz.c: remove reference to count_left from player object - |
|
|
4424 | field removed from structure. |
|
|
4425 | server/commands.c: add new commands (applymode, body) to command dispatch |
|
|
4426 | table. |
|
|
4427 | server/login.c: Remove unlock_player() and lock_player() and calls to it - |
|
|
4428 | current checking of names at login should be sufficient to |
|
|
4429 | prevent duplicates. Remove dead code from check_name. Update |
|
|
4430 | load/save code for unapply mode value. Add set_flag(op, |
|
|
4431 | FLAG_USE_SHIELD) if player is allowed to use armor - needed since |
|
|
4432 | flag_use_shield is really a class feature and so is not automatically |
|
|
4433 | updated for old player files. |
|
|
4434 | server/main.c: Remove references to count_left. memset marker object to |
|
|
4435 | NULL - seems to increase stability on metalforge server. |
|
|
4436 | server/monster.c: Many updates related to the body info - monsters follow some |
|
|
4437 | rules as players. Add monster_should_cast_spell function - monsters will |
|
|
4438 | use this for all spellcasting related actions (abilities, scrolls, wands, |
|
|
4439 | etc). Update for merged rod/horn/wand ranges. Update bow use by monsters |
|
|
4440 | - they don't actually need to equip it to fire - this way we don't need to |
|
|
4441 | constantly swap the monsters weapons between the bow and melee item. Use |
|
|
4442 | fire_bow from player.c for most of the work. Modify scroll usage - |
|
|
4443 | monster will use it when player is near, not when it first picks it up. |
|
|
4444 | Add FLAG_READY_SCROLL to denote the monster has a scroll to use. Also, |
|
|
4445 | monster now casts it in appropriate direciton. Merge the |
|
|
4446 | monster_use_wand/rod/horn into monster_use_range. Modify |
|
|
4447 | check_good_weapon and check_good_armour to just look at the stats of the |
|
|
4448 | two items without needing the monster to apply it first. |
|
|
4449 | server/player.c: Print motd in green so it is more noticable. Update |
|
|
4450 | get_player function to do work it did before as well as that of |
|
|
4451 | get_player_ob. Have get_player take a parameter which is the object of |
|
|
4452 | the player if he has one. Modify to use memset to clear the player |
|
|
4453 | structure - more sure fire than explicitly listing values to initialize. |
|
|
4454 | Remove calls to unlock_player. Modify fire_bow so that monsters can also |
|
|
4455 | use the function. Add fire_misc_object() to fire_wand/rod/horn - removes |
|
|
4456 | code from fire(). Add gravesetone_text() to this file. |
|
|
4457 | server/shop.c: Update to pass second parameter to describe_item(). |
|
|
4458 | server/skill_util.c: Update check_skill_to_fire since there are fewer |
|
|
4459 | rangetypes now. change range_scroll name to range_golem, as that is |
|
|
4460 | a bit more accurate for what it actually does. Modify show_skills() |
|
|
4461 | to show player his item power and total of items he has equipped. |
|
|
4462 | server/skills.c: Add second paramater to long_desc, remove references to |
|
|
4463 | count_left. |
|
|
4464 | server/spell_effect.c: Add second paramater to long_desc, remove references to |
|
|
4465 | count_left. Update range_scroll to range_golem |
|
|
4466 | server/spell_util.c: remove references to count_left. Update messages |
|
|
4467 | if player trying to cast where he can't with new range names. |
|
|
4468 | socket/info.c: Update range information and how we display what it is - |
|
|
4469 | we will use the object name of the range if available. Remove |
|
|
4470 | reference last_known_spell, last_shoot, last_spell, last_value |
|
|
4471 | player structure fields. |
|
|
4472 | socket/init.c: Remove ext_title information. |
|
|
4473 | socket/request.c: Add element for life_stealing in the resistance array. |
|
|
4474 | Remove references to idle, count_left in player structure. remove |
|
|
4475 | ext2 title information. |
|
|
4476 | MSW 2002-07-14 |
|
|
4477 | -- End body commit notes -- |
|
|
4478 | |
|
|
4479 | common/anim.c, common/button.c, common/friend.c, common/glue.c, |
|
|
4480 | common/init.c,common/logger.c, common/los.c, common/porting.c, |
|
|
4481 | common/time.c, common/utils.c, crossedit/png.c, crossedit/xutil.c, |
|
|
4482 | include/attack.h, include/config.h, include/map.h, include/material.h, |
|
|
4483 | include/newclient.h, include/skills.h, include/treasure.h, |
|
|
4484 | random_maps/decor.c, random_maps/door.c, random_maps/floor.c, |
|
|
4485 | random_maps/monster.c, random_maps/special.c, random_maps/standalone.c, |
|
|
4486 | random_maps/style.c, random_maps/wall.c, server/alchemy.c, |
|
|
4487 | server/c_chat.c, server/c_party.c, server/gods.c, server/hiscore.c, |
|
|
4488 | server/init.c, server/pets.c, server/resurrection.c, server/rune.c, |
|
|
4489 | server/time.c, socket/metaserver.c: Update banner copyright |
|
|
4490 | with proper contact information. |
|
|
4491 | MSW 2002-07-14 |
|
|
4492 | |
|
|
4493 | server/disease.c: Fix propogation of diseases with negative damage (these |
|
|
4494 | do a percent of the creatures damage). The new disease was getting |
|
|
4495 | a damage rating of 1 in all cases because we were passing a negative |
|
|
4496 | value to random_roll for the top end of the range. |
|
|
4497 | MSW 2002-07-08 |
|
|
4498 | |
|
|
4499 | common/arch.c: Add 'unlocked' match for item_matched_string. |
|
|
4500 | lib/help/drop, lib/help/dropall: Help files for these commands. |
|
|
4501 | lib/Makefile.in: Update to include help commands above. |
|
|
4502 | server/spell_effect.c: Fix formatting of summon_pet() function. Modified so |
|
|
4503 | that it no longers sucks player spellpoints when casting it via scroll - |
|
|
4504 | scrolls should not cast the player spellpoints. No idea why that code was |
|
|
4505 | there - in fact, casting off a scroll used more sp than casting from |
|
|
4506 | memory. Modify cast_cause_disease() function so that if the passed |
|
|
4507 | direction is 0, we refer to the facing and cast in that direction - this |
|
|
4508 | means spells of cause disease now work. Also perform some minor formatting |
|
|
4509 | changes in the function. |
|
|
4510 | TODO: Add not about inscription. |
|
|
4511 | MSW 2002-07-05 |
|
|
4512 | |
|
|
4513 | common/arch.c: Fix bug in item_matched_string which was matching all |
|
|
4514 | values (inverse in fact) when passed with count > 1 in matching |
|
|
4515 | string - missing ! operator. |
|
|
4516 | README: Update - remove note about windows client, since it is currently |
|
|
4517 | unsupported and could stop working in some future release. |
|
|
4518 | MSW 2002-07-05 |
|
|
4519 | |
|
|
4520 | ------------------------------------------------------------------------------ |
|
|
4521 | Changes for 1.3.0: |
|
|
4522 | |
|
|
4523 | socket/request.c: If players were using the original map command with |
|
|
4524 | an even map size, server would try to send too much data to client - |
|
|
4525 | checking in server would result in an abort. Modify code to now properly |
|
|
4526 | send right number of spaces. |
|
|
4527 | lib/Makefile.in: remove extraneous / in front of motd entry in file list. |
|
|
4528 | include/version.h: Update for version 1.3.0 |
|
|
4529 | Makefile.in: Update for version 1.3.0 |
|
|
4530 | lib/archetypes: rebuilt. |
|
|
4531 | MSW 2002-07-01 |
|
|
4532 | |
|
|
4533 | doc updates: Rebuild the doc files, but most of this is fixing some of the |
|
|
4534 | doc build stuff to correctly working with the new image set naming |
|
|
4535 | scheme and fixing some bugs. Some doc is certainly out of date - the |
|
|
4536 | playbook doesn't mention the classes for example. |
|
|
4537 | doc/handbook.ps, doc/spoiler.ps: rebuilt |
|
|
4538 | Note: all the doc/playbook changes also apply to the same files in |
|
|
4539 | doc/playbook-html. |
|
|
4540 | doc/playbook/Makefile.in, doc/playbook/makeps, doc/playbook/makeps.pl: |
|
|
4541 | replace the awk makeps script with the perl one. |
|
|
4542 | doc/playbook/items-extract: Don't show invisible items. |
|
|
4543 | doc/playbook/levels-extract: Update so that it properly finds the declaration |
|
|
4544 | of the levels in living.c |
|
|
4545 | doc/playbook/treas1-extract: Clear type when we get a new Object header. was |
|
|
4546 | resulting in duplicate entries for the characters. |
|
|
4547 | doc/playbook/treas2-extract: Don't include forces of the no_class_face_change |
|
|
4548 | as part of characters treasures |
|
|
4549 | doc/playbook-html/chap1.html: Update ftp site information. |
|
|
4550 | doc/spoiler/Makefile.in, doc/spoiler/makeps.pl, doc/spoiler/makeps: |
|
|
4551 | replace the awk makeps script with the perl one. |
|
|
4552 | doc/spoiler/items-extract: Add a space after the name match so that it won't |
|
|
4553 | match on the name_pl field. |
|
|
4554 | doc/spoiler-html/items-extract: Add a space after the name match so that it won't |
|
|
4555 | match on the name_pl field. |
|
|
4556 | doc/spoiler-html/makeps.pl: Update to handle new naming scheme for images. |
|
|
4557 | doc/spoiler-html/spoiler.html: rebuilt. |
|
|
4558 | lib/Makefile.in: Fix error in variable not being surrounded by parens. |
|
|
4559 | MSW 2002-06-30 |
|
|
4560 | |
|
|
4561 | |
|
|
4562 | server/rune.c: Fix bug that allowed players to use marking runes to create |
|
|
4563 | arbitrary objects by embedding a endmsg in the string. |
|
|
4564 | MSW 2002-06-26 |
|
|
4565 | |
|
|
4566 | lib/ban_file: Update comments to describe how it actually works. |
|
|
4567 | server/commands.c: Add some time cost to shout, say, and tell commands. This |
|
|
4568 | prevents abusive players from issuing huge number of these commands. |
|
|
4569 | MSW 2002-06-20 |
|
|
4570 | |
|
|
4571 | doc/playbook-html/Makefile.in: Remove some superfluous blank lines |
|
|
4572 | in the file. |
|
|
4573 | configure, configure.in, plugin/Makefile.in: Modify configure script to |
|
|
4574 | subtitute PLUGIN_TARGET, have plugin/Makefile not build/install |
|
|
4575 | plugin if necessary support libraries are not in place. |
|
|
4576 | common/item.c, include/material.h: Move the declaration/initialization |
|
|
4577 | of materialtype from material.h to item.c |
|
|
4578 | server/main.c: Modify crypt_string so that on Freebsd systems, it will |
|
|
4579 | use des_crypt if available, if not, won't encrypt. |
|
|
4580 | MSW 2002-06-18 |
|
|
4581 | |
|
|
4582 | TODO: Additional updates. |
|
|
4583 | Add support for loading the EMERGENCY_.. locations from a .emergency file in |
|
|
4584 | the map directory. This makes it easy to switch map distributions without the |
|
|
4585 | need to recompile. The emergency information is now stored in the settings |
|
|
4586 | structure. |
|
|
4587 | common/init.c: add EMERGENCY_ defines to default values in setting. Add |
|
|
4588 | init_emergency_mappath which loads the information. |
|
|
4589 | include/config.h: Remove NEW_WORLD_MAP definition, as it is no longer |
|
|
4590 | needed. Update some of the EMERGENCY_.. information as we don't need |
|
|
4591 | to include the information for the new world map. |
|
|
4592 | include/global.h: Add emergency_.. fields to settings structure. |
|
|
4593 | server/login.c, server/main.c, server/player.c: Update references from |
|
|
4594 | the EMERGENCY.. values to settings.emergency values. |
|
|
4595 | MSW 2002-06-15 |
|
|
4596 | |
|
|
4597 | lib/Makefile.in: modified so that it doesn't overwrite commonly customized |
|
|
4598 | files (eg, motd, dm_file, ban_file). These files will get installed |
|
|
4599 | on new installations. |
|
|
4600 | MSW 2002-06-14 |
|
|
4601 | |
|
|
4602 | common/item.c: break out monster description into describe_monster |
|
|
4603 | function from describe_item - the later was a really long function. |
|
|
4604 | Reveal weapon speed for identified weapons, spell point regen |
|
|
4605 | penalty and max speed for identified armor - this was discussed about |
|
|
4606 | 6 weeks ago. Clean up the code to reduce the number of redundant |
|
|
4607 | if statements and otherwise confusing code in describe_item. |
|
|
4608 | MSW 2002-06-14 |
|
|
4609 | |
|
|
4610 | configure.in, configure, plugin/Makefile, plugin/Makefile.in, |
|
|
4611 | plugin/Makefile.old: Modify the plugin module to gets its needed |
|
|
4612 | information from configure. configure.in modified to look for Python.h and |
|
|
4613 | to find the python library. plugin/Makefile.in is a new file. |
|
|
4614 | plugin/Makefile.old is the old plugin/Makefile (removed) - may be useful |
|
|
4615 | for sites where configure does not work for some reason. The use of |
|
|
4616 | --with-includes=-I/usr/include/python2.2 (or the like) will likely be |
|
|
4617 | needed for configure to find the Python.h file. Note - if you |
|
|
4618 | are doing a CVS update, you will need to re-run configure with the |
|
|
4619 | appropriate options for this change to take effect. |
|
|
4620 | MSW 2002-06-13 |
|
|
4621 | |
|
|
4622 | server/main.c: If on freebsd system, don't crypt the password. |
|
|
4623 | Crypt on freebsd behaves diferently, and since there is little reason |
|
|
4624 | to encrypt passwords, easier to just leave them decrypted. |
|
|
4625 | Fix for sourceforge bug 469017 |
|
|
4626 | MSW 2002-06-13 |
|
|
4627 | |
|
|
4628 | More minor changes, including a fix for the disappearing object bug - |
|
|
4629 | this was caused by the flag_links not getting updated the last |
|
|
4630 | time new flags were added. Problem probably only showed up now |
|
|
4631 | because loader.c wasn't rebuilt until recent changes. |
|
|
4632 | -- |
|
|
4633 | common/loader.c, common/loader.l: add extern to arch_init, when |
|
|
4634 | loading and get an object from a file, complain and ignore it if |
|
|
4635 | arch_init is not set (only time we should get object (vs arch) for |
|
|
4636 | names is when we load the archetypes file). Add missing entries |
|
|
4637 | to flag_links array. |
|
|
4638 | common/treasure.c: Fix code so that proper plural names are generated |
|
|
4639 | for custom items (potions, flesh items, etc). |
|
|
4640 | include/define.h: Add note about updating flag_links when NUM_FLAGS is |
|
|
4641 | increased. |
|
|
4642 | server/skills.c: don't let players steal from players with FLAG_WIZ set. |
|
|
4643 | MSW 2002-06-09 |
|
|
4644 | |
|
|
4645 | Mostly bugfixes. I'm not sure if this will fix the disappearing arch problem- |
|
|
4646 | none of the changes made in the original multiple name would seem to |
|
|
4647 | cause it, so hard to say if any of these changes may fix it. |
|
|
4648 | -- |
|
|
4649 | common/arch.c: Change get_archetype_by_name to be more efficient and |
|
|
4650 | not leak memory. Modify code that frees all archetype data to free |
|
|
4651 | the name_pl information. Make sure the clone.name_pl is set to |
|
|
4652 | NULL. When singularites are created, set the name_pl for them. |
|
|
4653 | common/loader.l, common/loader.c: Modify code that fixes up name_pl |
|
|
4654 | to be more correct when it fixes up name_pl for old objects. |
|
|
4655 | common/map.c: Modify load_map_header so that tile_paths will be normalized - |
|
|
4656 | need for editor to be able to load maps that have a multipart object |
|
|
4657 | that spans the maps. |
|
|
4658 | crossedit/Edit.c: Modify some calls of out_of_map to OUT_OF_REAL_MAP, since |
|
|
4659 | tiling code really isn't fully in place for the editor. Modify |
|
|
4660 | EditPerformFill so that it actually works and doesn't crash the editor. |
|
|
4661 | include/global.h: Move FREE_AND_COPY macro from loader.l to here so that |
|
|
4662 | all source code files can use it. |
|
|
4663 | lib/adm/map_info: Modify to actually be able to examine just a sub |
|
|
4664 | portion of the map directories, and not all of them. Don't always |
|
|
4665 | show the unused objects - information isn't very interesting if only |
|
|
4666 | a portion is being examined. Modify the exit examining code to properly |
|
|
4667 | deal with random maps (if there is a finalmap component, make sure |
|
|
4668 | that does exist.) Loade the bmaps file and not the faces file to |
|
|
4669 | find valid faces. |
|
|
4670 | plugin/plugin_python.c: Add missing %s that described what script |
|
|
4671 | was actually loaded. |
|
|
4672 | random_maps/special.c, server/alchemy.c, server/c_misc.c, server/gods.c, |
|
|
4673 | server/login.c, server/player.c, server/spell_effect.c: Set up proper |
|
|
4674 | name_pl value for code that changes the name of objects. |
|
|
4675 | server/apply.c: Use FREE_AND_COPY to set up names. Set up proper |
|
|
4676 | name_pl values for cases that change name. In apply_lighter, call fix_player |
|
|
4677 | if player is lighting an object in his inventory - necessary for the |
|
|
4678 | players glow_radius to get updated so the change actually takes effect. |
|
|
4679 | socket/request.c: Modify esrv_map_scroll so that it properly clears cells |
|
|
4680 | that are moving out of view - failure to do this was resulting in the |
|
|
4681 | map1a updating these spaces with empty faces. This was causing |
|
|
4682 | fog of war wackiness with the client. |
|
|
4683 | MSW 2002-06-06 |
|
|
4684 | |
|
|
4685 | |
|
|
4686 | common/button.c: Fix mood floor code - before, it was changing the moods |
|
|
4687 | of all sorts of objects (luggage, itself, etc). Now, it only |
|
|
4688 | changes objects above the floor, and only monsters. |
|
|
4689 | MSW 2002-05-31 |
|
|
4690 | |
|
|
4691 | |
|
|
4692 | Main change is the addition of name_pl and client_type to object |
|
|
4693 | structure. The name_pl contains the proper plural name instance - fixes |
|
|
4694 | problem of '2 tooths'. client_type is sent to the client so that client |
|
|
4695 | doesn't need to figure out sorting on its own. Client_type is an object |
|
|
4696 | attribute, so can be modified in maps to hide the real type. |
|
|
4697 | -- |
|
|
4698 | common/arch.c: item_matched_string() modified to use the name_pl field |
|
|
4699 | when trying to match names, and not to try to make the name plural |
|
|
4700 | itself. |
|
|
4701 | common/item.c: query_short_name(),query_base_name() modified to |
|
|
4702 | use name_pl instead of trying to make the name plural. |
|
|
4703 | common/loader.c, common/loader.l: Add code to load and save the name_pl |
|
|
4704 | value and client_type. Add logic when object is finished loading |
|
|
4705 | to set name_pl value to same as name or arch name if no name_pl |
|
|
4706 | is specified - this supports old maps/characters in which the objects |
|
|
4707 | dont have a name_pl field yet. Disable logic for need_an and need_ie |
|
|
4708 | flags since they are no longer needed. Fix bug that caused |
|
|
4709 | elevation not to get saved. |
|
|
4710 | common/object.c: Add client_type check for CAN_MERGE function. Add |
|
|
4711 | appropriate logice in functions to handle setting, clearing, and |
|
|
4712 | copying of name_pl values. Remove unused anim_... fields |
|
|
4713 | initialization. |
|
|
4714 | doc/Developers/objects: Add information about the name_pl field and |
|
|
4715 | client_type. |
|
|
4716 | doc/Developers/protocol: Remove item protocol command info - it has |
|
|
4717 | been obsoleted. Add information about item2 protocol command. |
|
|
4718 | include/define.h: Remote ST1_* values - they were not being used. |
|
|
4719 | comment out FLAG_AN and FLAG_NEED_IE values. |
|
|
4720 | include/newserver.h: Add itemcmd to socket structure - this is the |
|
|
4721 | version of the item protocol command that will be sent to the client. |
|
|
4722 | include/object.h: Add name_pl and client_type field to object structure. |
|
|
4723 | Remove unused anim_* values. |
|
|
4724 | lib/archetypes: rebuilt with new archetypes that contain client_type |
|
|
4725 | and name_pl information. |
|
|
4726 | lib/bmaps, lib/bmaps.paths, lib/crossfire.1, lib/crossfire.0, lib/faces: |
|
|
4727 | rebuilt. |
|
|
4728 | server/monster.c: Remove anim_ references that were not being used. |
|
|
4729 | socket/init.c: Initialize itemcmd version in the socket to 1. |
|
|
4730 | socket/item.c: Remove special handling for clients of old versions - all |
|
|
4731 | clients now have to be at least sc_version 1024 (which has been around for |
|
|
4732 | a long time). This simplifies a lot of the object code that deals with |
|
|
4733 | sending or not sending plural names to the client - now always send them. |
|
|
4734 | Change code that sends item to client to use the item revision (currently |
|
|
4735 | 1 or 2) that the client wants. If version 2, send along client_type |
|
|
4736 | information. |
|
|
4737 | socket/request.c: Handle 'itemcmd' parameter in setup command. Make |
|
|
4738 | sure it is in proper range. If client is very old (sc_version < 1024) |
|
|
4739 | tell them so. |
|
|
4740 | MSW 2002-05-30 |
|
|
4741 | |
|
|
4742 | |
|
|
4743 | crossedit/png.c, crossedit/xutil.c: Increase size of temporary buffers that |
|
|
4744 | are used when loading images - necessary to allow the editor to run without |
|
|
4745 | crashing. |
|
|
4746 | include/newserver.h: Remove quick_pos from the MapCell structure. |
|
|
4747 | server/main.c: Add code to set the coordinates to the EMERGENCY_X/Y |
|
|
4748 | values if using the EMERGENCY_MAP. |
|
|
4749 | socket/request.c: Fix code that was causing darkness to get repeatedly |
|
|
4750 | sent for some spaces. |
|
|
4751 | MSW 2002-05-19 |
|
|
4752 | |
|
|
4753 | The bulk of this commit is to modify the server to only send the lower |
|
|
4754 | rightmost part of multipart archetypes that use the same head. This allows |
|
|
4755 | support of big images in the client. |
|
|
4756 | |
|
|
4757 | common/arch.c: Modify first_arch_pass to figure out the tail_x/y values for |
|
|
4758 | multipart archs. Rename the prev variable to head, as that it really what |
|
|
4759 | it is. Remove quick_pos info. |
|
|
4760 | common/object.c: remove quick_pos info from object. |
|
|
4761 | doc/Developers/images: Add notes about using merged images. |
|
|
4762 | doc/Developers/protocol: Add information about the map1a command, which |
|
|
4763 | is used to for big image support. Remove map2 documentation. |
|
|
4764 | include/map.h: Add MAP_LAYERS define instead of using hardcoded value of 3. |
|
|
4765 | include/newserver.h: Change the MapCell to use MAP_LAYERS - saves |
|
|
4766 | considerable memory. Add defines for MAX_CLIENT_ map sizes. |
|
|
4767 | Remove map1cmd, map2cmd elements from socket structure - instead use enumeration |
|
|
4768 | of mapmode - only one map type will be used at any time by the client, so |
|
|
4769 | no reason to have individual elements - it also makes it easier to add new |
|
|
4770 | mapmode commands. |
|
|
4771 | include/object.h: remove quick_pos, update_tag from object structure. |
|
|
4772 | Add tail_x, tail_y values to archetype structure. |
|
|
4773 | include/player.h: Remove some now unused values from the player structure |
|
|
4774 | (drawn, floor, floor2, darkmask). These have been superseded by the |
|
|
4775 | map cells in the socket structure for quite a while. |
|
|
4776 | include/sockproto.h: rebuilt |
|
|
4777 | server/player.c: Remove code that initialized the drawn values in the player |
|
|
4778 | structure since they no longer exist. |
|
|
4779 | socket/init.c: Replace map1cmd, map2cmd elements in socket structure with |
|
|
4780 | mapmode element. Modify init_ericserver so that it properly passes an |
|
|
4781 | int when setting the SO_REUSERADDR field. |
|
|
4782 | socket/request.c: Modify code in SetUp function to use the new mapmode |
|
|
4783 | enumeration in the socket structure. Add support for map1acmd setup |
|
|
4784 | option. Throughout map code, replace MAXMAPCELLFACES with MAP_LAYERS. |
|
|
4785 | modify map_clearcell to take options for values to clear the cell to. |
|
|
4786 | Add have_head, check_head, and update_space commands - used with the |
|
|
4787 | map1 command to store and find head information. |
|
|
4788 | draw_client_map1 modified to support map1a extensions, as well as added |
|
|
4789 | logic for checking for heads in blocked and out of viewable map spaces. |
|
|
4790 | Some of the code is simplified by using the update_space function, since |
|
|
4791 | the logic for processing each layer was otherwise the same. remove |
|
|
4792 | draw_client_map2 function. esrv_map_scroll has same logic - some |
|
|
4793 | variables and code formatting changes. |
|
|
4794 | MSW 2002-05-18 |
|
|
4795 | |
|
|
4796 | server/login.c, server/c_misc.c: Don't save characters with 0 experience. |
|
|
4797 | This apparantly fixes some abuses. MSW 2002-05-18 |
|
|
4798 | |
|
|
4799 | server/attack.c: Don't generate PLAYER_KILL_PLAYER messages if kill |
|
|
4800 | happened on battleground. Also, datestamp the messages. |
|
|
4801 | MSW 2002-05-13 |
|
|
4802 | |
|
|
4803 | server/attack.c: Generate log message when a player kills another player - |
|
|
4804 | include the ip address of the killer to make it easier to add them to |
|
|
4805 | ban files. MSW 2002-05-06 |
|
|
4806 | |
|
|
4807 | ------------------------------------------------------------------------------ |
|
|
4808 | Changes for 1.2.0: |
|
|
4809 | Makefile.in, include/version.h: Update for 1.2.0 release |
|
|
4810 | lib/Makefile.in: have it make an archive for the archetypes. |
|
|
4811 | MSW 2002-04-28 |
|
|
4812 | |
|
|
4813 | |
|
|
4814 | doc/Developers/protocol: Add documentation about the map2 protocol command. |
|
|
4815 | socket/request.c: Fix bad indentation for the map2 function. No actual |
|
|
4816 | functional code changes, but some comments updated. Running diff with the |
|
|
4817 | -w option will make the changes, or lack thereof, more viewable. |
|
|
4818 | MSW 2002-04-28 |
|
|
4819 | |
|
|
4820 | crossedit/xutil.c: Update to use name of png file. |
|
|
4821 | lib/archetypes: collected - pl_dragon arch changed a while back, with no |
|
|
4822 | new collect. |
|
|
4823 | lib/collect.pl.in: Add some notes about usage if no option is given or |
|
|
4824 | if --help is given. |
|
|
4825 | server/gods.c: Fix that resulted in weapon/armor restrictions not working. |
|
|
4826 | MSW 2002-04-23 |
|
|
4827 | |
|
|
4828 | Various minor bugfixes. Note the changes may appear larger than they |
|
|
4829 | really are due to formatting/indentation changes. Run diff -w to |
|
|
4830 | supress those: |
|
|
4831 | make_win32/installwin32.bat: Update for new image files. |
|
|
4832 | server/c_object.c: Fix SAVE_INTERVAL #ifdef block. It failed to compile |
|
|
4833 | as it was written. Simplify code, but it should have the same effect. |
|
|
4834 | server/move.c: Modify push_object so that if a player swaps position |
|
|
4835 | with his pet, we send a esrv_map_scroll. This should save bandwidth, |
|
|
4836 | and also prevents display corruption when fog of war on the client |
|
|
4837 | is in use. Add some new comments, adjust some formatting. |
|
|
4838 | server/player.c: Fix minor typo in comment. |
|
|
4839 | server/skills.c: Modify new_draw_info that is responsible for the |
|
|
4840 | "You pray" messages to not have the NDI_UNIQUE flag so that |
|
|
4841 | they can get batched up, depending on users value of output-count |
|
|
4842 | server/swap.c: Remove swapped out per player unique maps from the list |
|
|
4843 | of maps. Reduces cpu and memory consumption by a minor amount, and |
|
|
4844 | results in a cleaner 'maps command output. |
|
|
4845 | server/weather.c: Add standard crossfire banner to top of file. |
|
|
4846 | Modify long long declartion to just be a long. |
|
|
4847 | MSW 2002-04-20 |
|
|
4848 | |
|
|
4849 | socket/item.c: Add checks to esrv_move_object - before it just trusted |
|
|
4850 | the client that the destination target to move items into was a container. |
|
|
4851 | Now do valid checking that the object can be picked up, that the container |
|
|
4852 | can hold it, etc. MSW 2002-04-18 |
|
|
4853 | |
|
|
4854 | Add utils/crossloop.web.in script. This script is used on metalforge - |
|
|
4855 | it generates the backtrace file, compresses the core, and sends out |
|
|
4856 | mail. |
|
|
4857 | configure.in, configure: Rebuilt to make the crossloop.web script. |
|
|
4858 | utils/Makefile.in: Install the crossloop.web script. Include the |
|
|
4859 | crossloop.web.in script when making the archive. |
|
|
4860 | utils/crossloop.web.in: New file. |
|
|
4861 | MSW 2002-04-14 |
|
|
4862 | |
|
|
4863 | Update to improve image caching and faceset support in the client. |
|
|
4864 | The main change is adding the 'requestinfo image_info' and |
|
|
4865 | 'requestinfo image_sums' commands. |
|
|
4866 | common/image.c: Checksum the bmaps file when we load it - we send this as |
|
|
4867 | part of the image_info data. |
|
|
4868 | doc/Developers/protocol: Document the requestinfo data. |
|
|
4869 | include/global.h: Add extern for bmaps_checksum, and the define for |
|
|
4870 | ROTATE_RIGHT which is used for checksumming. |
|
|
4871 | include/newserver.h: Update SC version to 1027 so that clients can |
|
|
4872 | know if they can issue requestinfo commands. |
|
|
4873 | include/sockproto.h: rebuilt |
|
|
4874 | lib/adm/collect_images.pl: Add support for it to make a crossfire-images |
|
|
4875 | distribution that the client can use to bootstrap its image set. |
|
|
4876 | socket/image.c: Change SendFaceCmd to take a NewSocket parameter instead |
|
|
4877 | of a player parameter - in this way, it can be used before the |
|
|
4878 | AddMe command - this allows the client to download images before |
|
|
4879 | issuing that command. Add send_image_info and send_image_sums |
|
|
4880 | function which send the requestinfo data to the client. |
|
|
4881 | socket/loop.c: Move the askface command from the player commands to the |
|
|
4882 | newsocket commands. Add RequestInfo functino that determines the |
|
|
4883 | type of request and calls the specific function to deal with it. |
|
|
4884 | MSW 2002-03-25 |
|
|
4885 | |
|
|
4886 | ------------------------------------------------------------------------------ |
|
|
4887 | Changes for 1.1.0: |
|
|
4888 | |
|
|
4889 | Updates for 1.1.0 release - pretty much all minor bug fixes, like |
|
|
4890 | compiler warning messages, invalid ANSI C constructs, missing files to |
|
|
4891 | include in the distribution. |
|
|
4892 | Makefile.in, include/version.h: update version. |
|
|
4893 | include/Makefile.in: Add some missing files |
|
|
4894 | include/libproto.h, sproto.h: rebuilt to prevent compiler warnings |
|
|
4895 | lib/Makefile.in: Include the wizhelp files in the archive. |
|
|
4896 | server/apply.c, server/skill_util.c: fix invalid code (function parameter |
|
|
4897 | names can't match structs/typedefs), add a missing return value. |
|
|
4898 | server/c_move.c, server/c_new.c, server/c_object.c, server/commands.c, |
|
|
4899 | server/daemon.c: Don't include the sproto.h if CEXTRACT is defined. |
|
|
4900 | server/plugins.c: fix printf command that was printing wrong value type. |
|
|
4901 | doc/spoiler-html/Makefile.in: Remove extraneous newline |
|
|
4902 | |
|
|
4903 | server/player.c: modify play_again to remove the player object if not done so |
|
|
4904 | already. This fixes a crash observed on metalforge when a player quit at the |
|
|
4905 | roll/swap stats prompt (undocumented that you can use 'q' then to do so). It |
|
|
4906 | looks like this should also fix crashes that may be associated with the kick |
|
|
4907 | and shutdown wiz commands. |
|
|
4908 | MSW 2002-03-12 |
|
|
4909 | |
|
|
4910 | Added new dragon race to crossfire. |
|
|
4911 | Players of this dragon race can gain resistances |
|
|
4912 | by eating the flesh of their defeated foes. |
|
|
4913 | They can also specify in a certain resistance-type |
|
|
4914 | and gain various abilities when increasing levels. |
|
|
4915 | This "focus" can be switched by eating very special |
|
|
4916 | As announced on cf-devel, this is the patch which |
|
|
4917 | adds a new dragon-race to Crossfire. |
|
|
4918 | Players of this dragon race can gain resistances |
|
|
4919 | by eating the flesh of their defeated foes. |
|
|
4920 | They can also specify in a certain resistance-type |
|
|
4921 | and gain various abilities when increasing levels. |
|
|
4922 | This "focus" can be switched by eating very special |
|
|
4923 | flesh, which will be available for sale. |
|
|
4924 | Dragon players gain special titles which cannot |
|
|
4925 | be overwritten by manually set titles. |
|
|
4926 | AndreasV 2002-03-01 |
|
|
4927 | |
|
|
4928 | lib/collect.pl.in: Modified so that it uses the image.base.xyz.png to make |
|
|
4929 | sure each listed face in objects has an image, and not the old xbm images |
|
|
4930 | for that task. Also, ignore all files that end in .png, .xpm, or the |
|
|
4931 | face extension - consider them legitimate files for the arch directory. |
|
|
4932 | MSW 2002-02-25 |
|
|
4933 | |
|
|
4934 | socket/image.c: Change type of image data to be uint8 from char. Checksums |
|
|
4935 | were being incorrectly calculated when using the char type. MSW 2002-02-25 |
|
|
4936 | |
|
|
4937 | server/main.c: If exit is damned, update players death & WoR home-position |
|
|
4938 | and delete town portal. |
|
|
4939 | server/apply.c: Fix bug in move_apply. return was used instead of goto |
|
|
4940 | leave, so recursion_depth wasn't decremented. |
|
|
4941 | mids 02/13/2002 |
|
|
4942 | |
|
|
4943 | server/spell_effect.c: Fix bug in summon_cult_monster that would result |
|
|
4944 | in crash if monster was killed when inserted. MSW 2002-02-10 |
|
|
4945 | |
|
|
4946 | common/map.c: load_map_header: If the map message is empty, don't copy |
|
|
4947 | uninitialized data as the message. This fixes various crashes. |
|
|
4948 | lib/Makefile.in: Remove the adm/*xpm* utilities, as they are no longer |
|
|
4949 | needed or distributed. |
|
|
4950 | server/apply.c: set the player speed to zero after they use a savebed. |
|
|
4951 | Fixes crashes with players that have constant image animation (fireborns) |
|
|
4952 | when they apply the savebed and the map then gets swapped out. |
|
|
4953 | server/plugins.c: Fix some serious memory leaks. Some still remain, with |
|
|
4954 | my comments included. |
|
|
4955 | server/skills.c: Removed unused variable. |
|
|
4956 | MSW 2002-02-05 |
|
|
4957 | |
|
|
4958 | include/player.h include/sproto.h server/c_chat.c server/player.c: |
|
|
4959 | New player command 'reply', replies to the last person who told you |
|
|
4960 | something. |
|
|
4961 | server/c_wiz.c: New DM command 'teleport', lets a DM teleport next |
|
|
4962 | to target player, it is an inverse summon. |
|
|
4963 | server/commands.c: Add hooks for 'reply' and 'teleport'. |
|
|
4964 | mids 2002-01-16 |
|
|
4965 | |
|
|
4966 | TODO: updated with bugs, remove things that have been done and are no |
|
|
4967 | longer TODO's. |
|
|
4968 | configure.in, configure: Remove lib/xpmtopix.pl file form those to be |
|
|
4969 | built, as that file has been removed. |
|
|
4970 | common/object.c: Fix bug in check_walk_on which would result in spell |
|
|
4971 | objects not being properly processed - the intention is not to process |
|
|
4972 | spell objects - we should stop going up (in previous loop) when we |
|
|
4973 | get such an object, not on the way down. This fixes directors not |
|
|
4974 | working really well. |
|
|
4975 | MSW 2001-01-13 |
|
|
4976 | |
|
|
4977 | Add the concept of overlay maps to the code. An overlay map is a map which |
|
|
4978 | is loaded on top of another map, replacing values in the header, and placing |
|
|
4979 | objects on top of other objects. This is the fundamental part of the new |
|
|
4980 | weather code, but also can be used to allow dynamic editing of the worldmaps |
|
|
4981 | by DM's eventually. |
|
|
4982 | garbled 2002-01-01 |
|
|
4983 | |
|
|
4984 | server/spell_effect.c: fix animate_bomb so that if the bomb is in a container, |
|
|
4985 | it does not crash the server - the problem was that it was calling |
|
|
4986 | drop, which would then drop it right back into the container. also, the |
|
|
4987 | x and y coordinates were not being properly set. |
|
|
4988 | MSW 2001-12-31 |
|
|
4989 | |
|
|
4990 | This change lets the server have multiple image sets. The client |
|
|
4991 | can then request which image set to use, and the server will use |
|
|
4992 | that image set, falling back to other sets as necessary. I have tested |
|
|
4993 | this with CVS client, and works fine at least in terms of old functionality. |
|
|
4994 | = |
|
|
4995 | doc/Makefile.in: Add images file which describes image guideline. |
|
|
4996 | doc/Protocol: Various updates - some things missing, added other notes |
|
|
4997 | about facesets. |
|
|
4998 | doc/images: New file, describes guidelines for image sets, as well |
|
|
4999 | as some of the internals |
|
|
5000 | include/newserver.h: Update for multiple image set - redid most of the |
|
|
5001 | image definitions as they were out of date with only png being supported. |
|
|
5002 | include/sockproto.h: rebuilt |
|
|
5003 | lib/Makefile.in: remove crossfire.png, add crossfire.0, crossfire.0. Update |
|
|
5004 | build directions to use crossfire.0 instead of crossfire.png |
|
|
5005 | lib/adm/collect_images.pl: Modified to collect all the image sets, remove |
|
|
5006 | support for collect xpm and xbm images. |
|
|
5007 | lib/crossfire.0: new file, base images |
|
|
5008 | lib/crossfire.1: new file, alternate images |
|
|
5009 | lib/image_info: New file, describes image sets. |
|
|
5010 | lib/crossfire.png, lib/xpmtopix.pl.in: Removed - no longer needed. |
|
|
5011 | socket/Makefile.in: add image.c file. |
|
|
5012 | socket/image.c: Moved all image related data in this file - this includes |
|
|
5013 | loading the image files, as well as the protocol commands. |
|
|
5014 | socket/init.c: move read_client_images to image.c file. set ns->faceset |
|
|
5015 | and ns->facecache to 0. Move freeing of image data to image.c |
|
|
5016 | socket/request.c: fixed some indentation inconsistencies.add setup commands |
|
|
5017 | for faceset as facecache. Move SetFaceMode,SendFaceCmd,esrv_send_face |
|
|
5018 | to image.c file. |
|
|
5019 | MSW 2001-12-31 |
|
|
5020 | |
|
|
5021 | common/loader.l, common/loader.c, common/object.c, include/object.h, |
|
|
5022 | socket/item.c: |
|
|
5023 | Remove sub_type and sub_type2 information - |
|
|
5024 | these were poorly named fields and not properly implemented. |
|
|
5025 | common/treasure.c: Add missing return type to change_treasure function. |
|
|
5026 | crossedit/Edit.c: Add SET_MAP_FLAGS macro to set P_NEED_UPDATE flag |
|
|
5027 | before calling update_position. |
|
|
5028 | include/config.h: Add NEW_WORLD_MAP selection which results in proper |
|
|
5029 | emergency save paths if you are using the maps-bigworld distribution. |
|
|
5030 | server/c_wiz.c: Fix the formatting (indentation) of the command_create |
|
|
5031 | function. No actual changes in how it runs, but the old |
|
|
5032 | formatting was really terrible and inconsistent. |
|
|
5033 | server/main.c: remove call to send_mapstats_cmd |
|
|
5034 | server/monster.c: Update the comment style to be proper, as well |
|
|
5035 | as the comments themselves. |
|
|
5036 | socket/request.c: Fix up improper indentation in esrv_update_stats. |
|
|
5037 | remove send_mapstats_cmd function. |
|
|
5038 | MSW 2001-12-23 |
|
|
5039 | |
|
|
5040 | Lots of changes here. Basically implement a night and day system, as |
|
|
5041 | well as tracking of game time. A clockdata file is now created and |
|
|
5042 | updated by the server to increment time. Time increases by 1 hour, |
|
|
5043 | approximately every 2 minutes of real time. Right now this code has |
|
|
5044 | virtually no effect, but as maps are updated with outdoor settings, |
|
|
5045 | nightfall will occur automatically. The time command has been modified |
|
|
5046 | to show the current game time, and the clock objects have been changed to |
|
|
5047 | show the game time as well. |
|
|
5048 | garbled 2001-12-18 |
|
|
5049 | |
|
|
5050 | common/map.c: Fix some bugs relating to map tiling. MSW 2001-12-16 |
|
|
5051 | |
|
|
5052 | common/object.c random_maps/Makefile.in |
|
|
5053 | server/c_wiz.c server/player.c server/plugins.c server/timers.c |
|
|
5054 | socket/request.c: Most of the changes are to just fix compiling warnings |
|
|
5055 | or errors so that it compiles on sparc solaris with the workshop |
|
|
5056 | compiler (things like }; should just be }). Declaration for alphasort |
|
|
5057 | was missing in plugins.c. random_maps/Makefile.in had the wrong order in |
|
|
5058 | linking - the system library needs to be linked in after the crossfire |
|
|
5059 | libraries. |
|
|
5060 | crossedit/App.c: Fix for running on 8 bit color - colormap was not being |
|
|
5061 | initialized to usuable default value. |
|
|
5062 | crossedit/xutil.c: Broken code when duplicating faces for undefined |
|
|
5063 | images. That code should never really be used, as pixmaps currently |
|
|
5064 | are always contiguous. |
|
|
5065 | MSW 2001-12-15 |
|
|
5066 | |
|
|
5067 | |
|
|
5068 | Include mapstats cmd for extended clients (sdl iso). Cmd is needed for automaps |
|
|
5069 | ambient media infos, map name and map parameter infos. Paramter infos are used |
|
|
5070 | for "fire & forget" animation tags inside the map2 cmd (next patch). |
|
|
5071 | server/main.c: include a automatic mapstats cmd every time the player enters a new map. |
|
|
5072 | Its the "default" mapenter cmd. The script event should used for special cases. |
|
|
5073 | include/sockproto.h and socket/request.c: include the mapstats cmd function. |
|
|
5074 | MT 2001-12-03 |
|
|
5075 | |
|
|
5076 | This checkin for the most part removes support for xpm and xbm graphics - |
|
|
5077 | now the only image supported is the png. |
|
|
5078 | common/arch.c: comment out printing on warning of object having no type - |
|
|
5079 | getting 300 meaningless messages at startup is annoying. |
|
|
5080 | common/image.c: Remove X11 color information from colorname array. Remove |
|
|
5081 | processing of color_fg and color_bg information from face file - only |
|
|
5082 | use color_fg if no magicmap information is available - foreground |
|
|
5083 | and background infoformation was only needed for bitmap graphics. |
|
|
5084 | common/loader.c, loader.l: Add elevation element, comment out some logging |
|
|
5085 | messages that are excessive and only really relevant for people |
|
|
5086 | who want to fix them (really should be in the collect script |
|
|
5087 | anyways). Remove some unused code. |
|
|
5088 | common/map.c: add outdoor field to map structure - add support for loading |
|
|
5089 | and saving it. |
|
|
5090 | crossedit/App.c,crossedit/CrUtil.c, crossedit/Defines.h, crossedit/crossedit.c |
|
|
5091 | crossedit/xutil.c: Remove support for non png graphics. |
|
|
5092 | crossedit/Attr.c: Add support for elevation variable, remove code for non |
|
|
5093 | png graphics. |
|
|
5094 | doc/map-technical: Add note about outdoor field. |
|
|
5095 | include/face.h: remove fg, bg fields from face struecture. |
|
|
5096 | include/global.h: Update colorname array definition. |
|
|
5097 | include/loader.h: Add V_ELEVATION field. |
|
|
5098 | include/map.h: Add outdoor field to map structure. |
|
|
5099 | include/newserver.h: Update types so it only loads/knows about png information. |
|
|
5100 | include/object.h: Add elevation field to object structure. |
|
|
5101 | lib/Makefile.in: Remove support for building crossfire.xpm and crossfire.xbm |
|
|
5102 | files. |
|
|
5103 | lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.png, |
|
|
5104 | lib/faces: Rebuilt. Main difference is a few sea types, and the fact |
|
|
5105 | that it hadn't been collected for a while. |
|
|
5106 | server/spell_effect.c: Modify dimension door so that it calls MapNewmapCmd |
|
|
5107 | so that fog of war does not get confused. Also, removes call to |
|
|
5108 | draw as functions further up will do that. |
|
|
5109 | server/spell_util.c: Remove color information from attack information that |
|
|
5110 | shuffle_attack uses. |
|
|
5111 | socket/init.c, socket/request.c: Remove support for non png images. |
|
|
5112 | MSW 2001-12-02 |
|
|
5113 | |
|
|
5114 | Various minor bugfixes - |
|
|
5115 | common/loader.c: rebuilt |
|
|
5116 | include/map.h: Change width,height,enter_x,enter_y to be 16 bit instead |
|
|
5117 | of 8 bits. |
|
|
5118 | lib/treasures: change skull treasure to tooth instead of skull_tooth since |
|
|
5119 | the later is not currently in the distributed archetypes file |
|
|
5120 | server/monster.c: Optimize some code, remove some other that is not used. |
|
|
5121 | server/plugins.c: Fix un initialized value in initPlugins that would |
|
|
5122 | cause crash at startup if plugin directory does not exist. |
|
|
5123 | MSW 2001-11-13 |
|
|
5124 | |
|
|
5125 | common/object.c: Modify copy_owner so that if a player is passed in |
|
|
5126 | as the object to copy, we properly set that player as the owner of the |
|
|
5127 | object instead of returning. This fixes the lack of exp when poison |
|
|
5128 | inflicted from a weapon kills something. MSW 2001-11-05 |
|
|
5129 | |
|
|
5130 | common/map.c: Fix bug in get_rangevector which was causing reverse |
|
|
5131 | of documented procedure. This also resulted in monsters not attacking |
|
|
5132 | adjacent creatures with physical attacks. MSW 2001-11-03 |
|
|
5133 | |
|
|
5134 | Add weapontypes to the game. These are currently used for nothing other |
|
|
5135 | than messages, which are not fully written yet. Players should not see them |
|
|
5136 | appear yet. |
|
|
5137 | Fix the bug where you opened a door with a key and saw "You ." |
|
|
5138 | Fix a bug in the PLUGIN code where current_weapon wasn't set when the |
|
|
5139 | player loaded from savefile. |
|
|
5140 | Take the setting of current_weapon out of #ifdef PLUGIN |
|
|
5141 | garbled 2001-10-31 |
|
|
5142 | |
|
|
5143 | server/spell_util.c: Add out_of_map check to can_see_monsterP. Fixes |
|
|
5144 | crash when casting ball lightning/divine shock (and likely other events) |
|
|
5145 | on maps not surrounded by walls. MSW 2001-10-07 |
|
|
5146 | |
|
|
5147 | New attacktype messages for damage. Now it gives you the message for the |
|
|
5148 | damage type you actually did. So if you are attacking with stormbringer, |
|
|
5149 | you get electrical or drain-based messages. Also added special messages for |
|
|
5150 | the attack-based skills like punching, karate, etc. |
|
|
5151 | garbled 2001-10-06 |
|
|
5152 | |
|
|
5153 | common/map.c: Add INS_ON_TOP flag to insert_ob_in_map calls to preserve |
|
|
5154 | stacking order. Modify update_position to generate map spaces with |
|
|
5155 | more proper order. |
|
|
5156 | common/object.c: Modify insert_ob_in_map so that it preserves stacking |
|
|
5157 | if INS_ON_TOP is set. |
|
|
5158 | crossedit/CrEdit.c: Add missing code that would draw third face on a space. |
|
|
5159 | include/object.h: Add INS_ON_TOP flag/define. |
|
|
5160 | random_maps/exit.c: Modify code so that if the random maps leading to |
|
|
5161 | a special map are reset, they will properly link in with an already loaded |
|
|
5162 | final map (and update exit from final map back up) as needed. Also fix |
|
|
5163 | bug in that if the final map has been reset, a new one will now be properly |
|
|
5164 | loaded. |
|
|
5165 | random_maps/random_map.c:Update minimum size to be 7 (up from 6) - fixes |
|
|
5166 | bug which caused crashes when square_spiral maps of 6x6 would fail to |
|
|
5167 | generate. |
|
|
5168 | random_maps/random_map.h,random_maps/room_gen_onion.c: move OPT_values from |
|
|
5169 | room_gen_onion to random_map.h since the square_spiral code uses them. |
|
|
5170 | random_maps/square_spiral.c: Update call to map_gen_onion to use |
|
|
5171 | OPT_.. values instead of constant integer. |
|
|
5172 | random_maps/treasure.c: Add some casts to sprintf statements to eliminate |
|
|
5173 | some compiler warnings. |
|
|
5174 | server/main.c: Modify enter_exit code such that a random map has |
|
|
5175 | reset, we generate a new random map. This can happen when the random_map |
|
|
5176 | resets before the map that leads to them resets. |
|
|
5177 | MSW 2001-10-06 |
|
|
5178 | |
|
|
5179 | Add a new command category called communications commands. Place tell, |
|
|
5180 | shout and say in here. Also create emotion functions. These functions |
|
|
5181 | have no real effect on the game, but make communications between players |
|
|
5182 | more colorful and fun. They are mostly fluff. Included with this patch |
|
|
5183 | are two new convenience functions, new_info_map_except, and |
|
|
5184 | new_info_map_except2, which allow the programmer to write to an entire |
|
|
5185 | map, except for certain individuals. |
|
|
5186 | |
|
|
5187 | garbled 2001-09-27 |
|
|
5188 | |
|
|
5189 | Add complete processing code for luck. This new code removes all |
|
|
5190 | previous instances of luck, and adds a few new convenience utilities. |
|
|
5191 | Now, every die roll in the game is affected by luck in some small way. |
|
|
5192 | This causes luck to be an intangible benefit to the player, without |
|
|
5193 | totally unbalancing the game. The new functions are random_roll, |
|
|
5194 | die_roll, and rndm, which should be used in place of RANDOM() whenever |
|
|
5195 | possible. |
|
|
5196 | |
|
|
5197 | garbled 2001-09-26 |
|
|
5198 | |
|
|
5199 | This checkin mainly fixes multipart teleporters - they should now |
|
|
5200 | work properly. Also a minor fix to make the new pickup code work. |
|
|
5201 | server/apply.c: apply_shop_mat rewritten to be more 'presentable'. |
|
|
5202 | Minor changes were needed in any case to pass the player/creature |
|
|
5203 | a a second object to teleport. |
|
|
5204 | server/c_object.c: change the sscanf to be unsigned when getting value |
|
|
5205 | for new pickup mode. At least on my system, if the value in the |
|
|
5206 | string was larger than the max signed value, sscanf set it to the |
|
|
5207 | max value. |
|
|
5208 | server/move.c: teleport function largely re-written. Instead of the |
|
|
5209 | third arg being the 'originator', it is now the object to teleport. |
|
|
5210 | This allows the head of the teleporter to get passed to this function |
|
|
5211 | even if the object to teleport is not on the head. |
|
|
5212 | server/time.c: move_teleporter modified to also check for objects on the |
|
|
5213 | other parts of multipart teleporters. Also, pass the head object |
|
|
5214 | to the teleport function so that proper destination is used. |
|
|
5215 | MSW 2001-09-02 |
|
|
5216 | |
|
|
5217 | Add Nils Lohner patch that new selections to the pickup mode. |
|
|
5218 | |
|
|
5219 | include/define.h: Pickup type defines added. |
|
|
5220 | include/player.h: Change mode (pickup mode) to 32 bits. |
|
|
5221 | server/c_object.c: command_pickup function modified to support all |
|
|
5222 | the new pickup options. |
|
|
5223 | server/player.c: Fix for path_to_player to prevent crashes. Add check |
|
|
5224 | in move_player_attack just in case. check_pick function modified to |
|
|
5225 | support new pickup options. do_some_living modified to eat flesh |
|
|
5226 | items if player is starving and they don't have any food. |
|
|
5227 | server/spell_effect.c: cast_detection modified so that detect magic/curse |
|
|
5228 | will not show objects beneath the floor. Change so that detect_monster |
|
|
5229 | and detect_evil spells copy the face of what they detected - gives better |
|
|
5230 | appearance on client. |
|
|
5231 | socket/item.c: fix bug LookAt that ws checking blocked_los on wrong |
|
|
5232 | offset. |
|
|
5233 | MSW 2001-08-28 |
|
|
5234 | |
|
|
5235 | Enhancements to make monsters 'do the right thing' with relation |
|
|
5236 | to tiled maps (ie, will detect players and attack them if on an adjoining |
|
|
5237 | tiled maps). This involved a rewrite of path_to_player - I've tested this |
|
|
5238 | out, and if anything, it seems that monsters may be more aggressive on |
|
|
5239 | spellcasting. |
|
|
5240 | ++ |
|
|
5241 | common/map.c: blocked modify to make sure it is checking valid coordinate |
|
|
5242 | value. blocked_link,blocked_two modified to translate for tiled maps. |
|
|
5243 | Add load_and_link_tiled_map which loads a tiled map and links in all |
|
|
5244 | pointers relative to adjoining maps. out_of_map modified to use |
|
|
5245 | this function instead of doing the work itself. Add get_rangevector |
|
|
5246 | function that returns offset, direction, and distance between two |
|
|
5247 | objects, taking into account tiled maps. get_rangevector_from_mapcoord |
|
|
5248 | added which is similar to get_rangevector, but takes a map and coordinates |
|
|
5249 | instead of a second object. on_same_map function added which returns |
|
|
5250 | true if the two objects are on the same logical (ie tiled) maps. |
|
|
5251 | doc/crossfire.doc: Add note about what Int does for monsters. |
|
|
5252 | include/map.h: Add some comments, and add structure for rangevector |
|
|
5253 | function return values. |
|
|
5254 | server/attack.c: add calls to on_same_map instead of doing op->map |
|
|
5255 | comparisons. |
|
|
5256 | server/monster.c: Many functions modified to properly handle tiled |
|
|
5257 | maps properly. |
|
|
5258 | server/pets.c: get_pet_enemy modified to know about tiled maps. |
|
|
5259 | server/player.c: get_nearest_player modified to know about tiled maps. |
|
|
5260 | path_to_player rewritten to know about tiled maps - I think some other |
|
|
5261 | bugs were also fixed in return values. Split player_attack_door |
|
|
5262 | from move_player attack to keep functions a more reasonable size. |
|
|
5263 | move_player_attack, player_can_view modified to know about tiled |
|
|
5264 | maps. |
|
|
5265 | server/skills.c: can detect_enemy modified to take another parameter - |
|
|
5266 | call in steal updated to pass this parameter. |
|
|
5267 | server/spell_util.c: ok_to_put_more, can_see_monsterP modified to |
|
|
5268 | handle tiled maps properly. |
|
|
5269 | socket/item.c: look_at modified to return proper results when player |
|
|
5270 | looks at something on an adjoining tiled map. |
|
|
5271 | ++ End of checkin |
|
|
5272 | |
|
|
5273 | common/object.c:decrease_ob_nr modified to correctly update client when |
|
|
5274 | player uses item from container that is on the ground (bookshelf for |
|
|
5275 | example) |
|
|
5276 | server/time.c: move_teleporter modified to skip over wall/floors and |
|
|
5277 | teleport whatever is above them. |
|
|
5278 | MSW 2001-08-05 |
|
|
5279 | |
|
|
5280 | common/map.c: modify link_multipart_objects to preserve name and title of |
|
|
5281 | head when making the more parts. modify update_position so that it should |
|
|
5282 | never show an invisible face to the player. |
|
|
5283 | common/object.c: fix check_walk_on so that spells will now properly get |
|
|
5284 | affected by spinners and directories. |
|
|
5285 | include/sockproto.h: Rebuilt to include MapNewmapCmd |
|
|
5286 | server/hiscore.c: Fix crash if player savebeds map on map which does not |
|
|
5287 | have a name. Use the path instead. |
|
|
5288 | server/move.c: modify teleporter function to send MapNewmapCmd to client |
|
|
5289 | if player got teleported. Needed for fog of war code. |
|
|
5290 | server/time.c: modify move_teleporter so that it will not teleport walls. |
|
|
5291 | socket/Makefile.in: Modified to use cproto to generate proto files. |
|
|
5292 | MSW 2001-08-04 |
|
|
5293 | |
|
|
5294 | |
|
|
5295 | common/Makefile.in crossedit/Makefile.in doc/Makefile.in |
|
|
5296 | doc/playbook-html/Makefile.in doc/spoiler/Makefile.in |
|
|
5297 | doc/spoiler-html/Makefile.in lib/Makefile.in lib/crossfire.png |
|
|
5298 | random_maps/Makefile.in socket/Makefile.in utils/Makefile.in: Fix up |
|
|
5299 | so that distclean now clears out all appropriate files - MSW 2001-08-01 |
|
|
5300 | |
|
|
5301 | common/map.c free_map Set in_memory status to MAP_SWAPPED - fixed bugs of maps |
|
|
5302 | not getting reset properly |
|
|
5303 | common/object.c: insert_ob_in_map - was passing wrong value to check_walk_on, |
|
|
5304 | resulting in some things not working as expected. |
|
|
5305 | doc/Protocol: Clarify how the sending of the version command works. |
|
|
5306 | server/move.c: move_ob redone. It should hopefully be more efficient (only' |
|
|
5307 | remove objects after verifying they can in fact move). IMO, code is |
|
|
5308 | also simpler, and hopefully has fewer bugs. |
|
|
5309 | socket/init.c: InitConnection - modified to set faces_sent[0] to one |
|
|
5310 | so that we will never send any information about face 0 to the client. |
|
|
5311 | facecode 0 is sent in the map1 command to clear spaces/layers. |
|
|
5312 | MSW 2001-07-30 |
|
|
5313 | |
|
|
5314 | Added support for the newmap cmd needed for the fog_of_war code |
|
|
5315 | in the gtk client. |
|
|
5316 | include/newserver.h: added newmapcmd:1 to NewSocket struct |
|
|
5317 | server/main.c: added call to MapNewmapCmd in enter_map() |
|
|
5318 | socket/init.c: init code for new newmapcmd value in NewSocket |
|
|
5319 | socket/request.c: deal with "newmapcmd" value in client setup string |
|
|
5320 | Added MapNewmapCmd( player* pl) function. |
|
|
5321 | SMACFIGGEN 2001-07-21 |
|
|
5322 | |
|
|
5323 | |
|
|
5324 | common/object.c: remove_ob - set P_NEED_UPDATE before calling update_position |
|
|
5325 | to prevent warnings from update_position being called with P_NEED_UPDATE |
|
|
5326 | being set. MSW 2001-07-19 |
|
|
5327 | |
|
|
5328 | socket/request.c: Fix bug in map1 command which resulted in it sending |
|
|
5329 | too much data with even maps. For example, if the client requested |
|
|
5330 | a 16x16 map, the server would effectively send a 17x17 map to the client. |
|
|
5331 | MSW 2001-07-19 |
|
|
5332 | |
|
|
5333 | +++ |
|
|
5334 | Major redo of map code: |
|
|
5335 | 1) Remove encounter map support (with the much better random map code, |
|
|
5336 | I don't see much reason for it) |
|
|
5337 | 2) Remove map_ob from map structure, and instead store relevant information |
|
|
5338 | in map structure itself. Remove strange meanings (stand_still meaning |
|
|
5339 | fixed reset time for example) |
|
|
5340 | 3) Redo internal structure of map and how information on each space was |
|
|
5341 | stored - this should make future extensions much easier, as well |
|
|
5342 | as making debugging easier. |
|
|
5343 | 4) Make USE_LIGHTING standard part of game. |
|
|
5344 | 5) Redo how lighting objects are handled - instead of making a linked list |
|
|
5345 | of the light giving objects, at field to mapspace that contains |
|
|
5346 | lightsource for the space. |
|
|
5347 | 6) Rewrite insert_ob_in_map to take optional parameter that determines |
|
|
5348 | other behaviour. This replaces insert_ob_in_map_simple. |
|
|
5349 | Function now does sorting of some objects, so performance for lots of |
|
|
5350 | spell objects on one space should be much better. |
|
|
5351 | 7) Change how multipart objects are saved. Now only save the head, and |
|
|
5352 | link in the rest of the parts when map is loaded. Additional parts |
|
|
5353 | linked in are put just above floor level when linked in, so things like |
|
|
5354 | shops won't hide items that someone drops on them. For monsters, this |
|
|
5355 | linking shouldn't be a problem - once they start moving, they will get |
|
|
5356 | relinked as normal (on top). |
|
|
5357 | 8) Modify update_object to only call update_position when necessary |
|
|
5358 | (ie, space attributes change). Otherwise, let the map transmission |
|
|
5359 | code call update_position when necessary (ie, in players view) - this |
|
|
5360 | saves cpu time as time will not be spent updating spaces that no one |
|
|
5361 | will see (before, how the space looks was updated whenever a space |
|
|
5362 | had an object added or removed). |
|
|
5363 | |
|
|
5364 | TODO: remove some things that have now been done. |
|
|
5365 | common/Makefile.in: Remove ltostr.c and sqrt.c from list of files |
|
|
5366 | common/ltostr.c, common/sqrt.c: Moved into porting.c |
|
|
5367 | common/anim.c, common/button.c, common/item.c: Update calls to update_object |
|
|
5368 | common/living.c: have fix_player calculate light value for player/monster. |
|
|
5369 | common/logger.c: Remove code that has server exit if too many LOG messages |
|
|
5370 | happen too quickly. This was not a reliable mechanism, and it should |
|
|
5371 | really be up to the functions doing the logging to know if they can |
|
|
5372 | continue or not. |
|
|
5373 | common/los.c: Changes on how it deals with lighting on maps - get light |
|
|
5374 | value from map space array instead of using the linked list. Functions |
|
|
5375 | that managed the light list have been removed. Change logic of |
|
|
5376 | line of sight function to be more efficient (before, we may examine |
|
|
5377 | the same space multiple times). rename update_all_los to |
|
|
5378 | update_all_map_los, and change update_all_los to take coordinates |
|
|
5379 | so that we only have clients within view of the change recalculate |
|
|
5380 | los. Also, have update_all_los check for tiled maps that may have |
|
|
5381 | clients that need to get updated. |
|
|
5382 | common/map.c: remove refresh_map - this used to be used to try to recover |
|
|
5383 | from map errors if many_cores was not set - IMO better to core and |
|
|
5384 | just restart and really fix the error than try to deal with possible |
|
|
5385 | corruption that may otherwise result. |
|
|
5386 | Move open_and_uncompress and close_and_delete functions to porting.c - |
|
|
5387 | they are 'common' functions that are not related to the map code. |
|
|
5388 | Remove some lighting related code, as that is no longer done with |
|
|
5389 | a list. Many modifications because of new map structure. And |
|
|
5390 | logic to load and save the new map structure format. Modify |
|
|
5391 | many of the functions to take map tiling into account. Change |
|
|
5392 | way multipart objects are saved, and add logic to relink objects |
|
|
5393 | when maps are loaded up. Remove some functions that are only |
|
|
5394 | used by the editor into the editor. Move update_position from |
|
|
5395 | object.c to map.c as it is better placed in map.c. Modify |
|
|
5396 | function to figure out light for a space. Make out_of_map a |
|
|
5397 | function that knows about map tiling. New function - get_map_from_coord |
|
|
5398 | which knows about map tiling and does coordinate and map translation. |
|
|
5399 | common/object.c: Have update_object take another parameter which tells |
|
|
5400 | update object what has changed about the object. This lets the function |
|
|
5401 | know if it should call update_position right away or if it can just |
|
|
5402 | mark the space as needing an update at a later time. move update_position |
|
|
5403 | to map.c. |
|
|
5404 | insert_ob_in_map: now takes another parameter that describes actions not |
|
|
5405 | to do. modified to know about map tiling and do appropriate translation. |
|
|
5406 | Does some object sorting so it should handle spell objects more |
|
|
5407 | efficiently. |
|
|
5408 | insert_ob_in_map_simple is now replaced by |
|
|
5409 | using appropriate flag to this changed version of insert_ob_in_map. |
|
|
5410 | Clean up remove_ob - seemed to have done things in a more complicated |
|
|
5411 | fashion that is no longer necessary. Modify check_walk_on to look |
|
|
5412 | at all objects on space, not those below the object - with changes to |
|
|
5413 | insert_ob_in_map, new object won't always be on top. |
|
|
5414 | common/porting.c: functions from ltostr.c, sqrt.c, as open_and_uncompress |
|
|
5415 | close_and_delete, make_path_to_file from map.c |
|
|
5416 | common/treasure.c: Modified to use updated insert_ob_in_map |
|
|
5417 | crossedit/Attr.c: Rename Layout to AppLayout so other files can use it. |
|
|
5418 | crossedit/CrEdit.c: Modified to use new map header. Modified drawing |
|
|
5419 | routines, as face values could be null |
|
|
5420 | crossedit/Edit.c: Move many functions from common/map.c that are only |
|
|
5421 | used here and thus don't need to be in common/map.c. Modify to use |
|
|
5422 | new map structure. |
|
|
5423 | crossedit/Makefile.in: Change to use cproto to make proto.h file. |
|
|
5424 | crossedit/png.c: change user_read_data to be static so proto doesn't pick |
|
|
5425 | it up. |
|
|
5426 | doc/Makefile.in: add map-technical to list of files. |
|
|
5427 | doc/crossfire.doc: remove map information that was in this file. |
|
|
5428 | doc/map-technical: new file. Describes inner workings of how the maps work. |
|
|
5429 | include/config.h: remove RANDOM_ENCOUNTERS (no longer available) and |
|
|
5430 | USE_LIGHTING (now standard part and always on). |
|
|
5431 | include/define.h: move P_... values to map.h |
|
|
5432 | include/global.h: add definition for compression externals, as they |
|
|
5433 | are used in a few files. remove map macro functions - moved to map.h |
|
|
5434 | as appropriate. Add FREE_AND_CLEAR macro that frees data and then |
|
|
5435 | sets the pointer to NULL. |
|
|
5436 | include/map.h: Largely redone - many new macros, new map structure. |
|
|
5437 | include/object.h: remove lights object link pointer from objects. |
|
|
5438 | At some #defines that are the flags for update_object and |
|
|
5439 | insert_ob_in_map |
|
|
5440 | include/player.h: Add a few comments. |
|
|
5441 | random_maps/decor.c,random_maps/door.c, random_maps/exit.c, |
|
|
5442 | random_maps/floor.c,random_maps/monster.c,random_maps/special.c, |
|
|
5443 | random_maps/standalone.c, random_maps/style.c,random_maps/treasure.c, |
|
|
5444 | random_maps/wall.c: |
|
|
5445 | modified to use modified insert_ob_in_map function, |
|
|
5446 | use new macros to access map structure related data |
|
|
5447 | server/Makefile.in: Remove encounter.c file. Use cproto instead of |
|
|
5448 | cextract to create proto file. |
|
|
5449 | server/alchemy.c,server/attack.c,server/c_object.c,server/c_wiz.c, |
|
|
5450 | server/disease.c, server/login.c, server/main.c, server/monster.c, |
|
|
5451 | server/move.c, server/pets.c, server/player.c, server/resurrection.c, |
|
|
5452 | server/rune.c, server/shop.c,server/skill_util.c, server/skills.c, |
|
|
5453 | server/spell_effect.c, server/spell_util.c, server/swap.c, server/time.c |
|
|
5454 | modified to use modified insert_ob_in_map function, |
|
|
5455 | use new macros to access map structure related data. |
|
|
5456 | change calls to update_all_los, remove lighting related code. |
|
|
5457 | server/apply.c: modified to use new insert_ob_in_map function. Update |
|
|
5458 | calls to update_object. remove RANDOM_ENCOUNTER code. |
|
|
5459 | for exits, modified to use the head for valid coordinates since the |
|
|
5460 | other parts may not have valid values since they are not saved out to |
|
|
5461 | disk anymore. |
|
|
5462 | server/c_misc.c,server/hiscore.c: modified to use new map |
|
|
5463 | structure/information. |
|
|
5464 | server/commands.c: remove dumplights command. |
|
|
5465 | server/encounter.c: removed - code no longer used |
|
|
5466 | server/init.c: remove RANDOM_ENCOUNTERS code. |
|
|
5467 | server/script.c: change Script_getMapObject to return NULL since there |
|
|
5468 | is no longer a map object. Modify to use new insert_ob_in_map and |
|
|
5469 | update_object functions. |
|
|
5470 | socket/info.c: Modified to use new map structure/macros |
|
|
5471 | socket/request.c: Modify draw_map_routines to use get_map_from_coord so |
|
|
5472 | that it properly deals with tiled maps. Modified to deal |
|
|
5473 | with potentially NULL face values. Modified update routine to |
|
|
5474 | call update_position for spaces within player view which need an |
|
|
5475 | update |
|
|
5476 | MSW 2001-07-13 |
|
|
5477 | +++ |
|
|
5478 | |
|
|
5479 | |
|
|
5480 | common/object.c, common/player.c, include/object.h, server/skill_util.c: |
|
|
5481 | Remove the unused LINKED_SKILL code. |
|
|
5482 | common/Makefile.in: Use cproto to make prototypes - cextract fails for |
|
|
5483 | some reason and now seems unsupported. Cproto generates a bunch |
|
|
5484 | of warnings, but does do the job. |
|
|
5485 | common/arch.c,server/apply.c, server/main.c, server/monster.c: cleanup some |
|
|
5486 | compile warnings (unusued variables, returns without value |
|
|
5487 | doc/playbook/Makefile.in: Create proper dependencies for files. |
|
|
5488 | doc/playbook/treas2-extract: Add player_force to value to ignore. |
|
|
5489 | doc/spoiler-html/spoiler.html: rebuilt |
|
|
5490 | server/skill_util.c: Remove the unused LINKED_SKILL code. Prevent |
|
|
5491 | characters that have meditation skill from learning melee weapon skill. |
|
|
5492 | MSW 2001-06-28 |
|
|
5493 | |
|
|
5494 | doc/Protocol: Add 'darkness' setup option documentation. |
|
|
5495 | include/newserver.h: add darkness element to socket structure. |
|
|
5496 | include/script.h,server/script.c: remove static declaration from script.h, |
|
|
5497 | move it to script.c |
|
|
5498 | socket/init.c: init darkness element in socket structure. |
|
|
5499 | socket/request.c: Add support in setup command for client to set if it |
|
|
5500 | wants darkness information or not. Modify map update functions such |
|
|
5501 | that if the client does want darkness information, server does not |
|
|
5502 | send it. Improve darkness handling so that if using the map1 |
|
|
5503 | protocol command, send darkness for first blocked space due to |
|
|
5504 | darkness - this makes it possible for client to interpolate results |
|
|
5505 | better. |
|
|
5506 | MSW 2001-06-16 |
|
|
5507 | |
|
|
5508 | common/item.c: Add boots and gloves to items which are not magical just |
|
|
5509 | because they have resist physical. This bug resulted in most all boots |
|
|
5510 | and gloves being shown as magical, even though they had no special |
|
|
5511 | properties. |
|
|
5512 | socket/request.c: remove some dead code. Memset entire map cell |
|
|
5513 | to zero when scrolling and the map is cells is one that was not in |
|
|
5514 | view. This fixes redraw problems when using large viewable maps. |
|
|
5515 | MSW 2001-06-11 |
|
|
5516 | |
|
|
5517 | doc/Protocol: update information for the mapcmd, add map1cmd to |
|
|
5518 | section of setup commands. |
|
|
5519 | include/newserver.h,socket/init.c: add map1cmd element to socket structure that |
|
|
5520 | determines which protocol (map,map1) will be used for sending the |
|
|
5521 | map. |
|
|
5522 | socket/request.c:add 'map1cmd' to list of setup options. when sending |
|
|
5523 | the map, use the map1cmd element to determine what protocol command |
|
|
5524 | to use to send it. |
|
|
5525 | MSW 2001-06-07 |
|
|
5526 | |
|
|
5527 | server/shop.c: Fix bug that resulted in items in shop being paid, |
|
|
5528 | as well as not generating proper listing. MSW 2001-06-06. |
|
|
5529 | |
|
|
5530 | Checkin of code that supports larger map sizes (configurable in |
|
|
5531 | config.h). |
|
|
5532 | common/los.c: update los code since it only handled 11x11 maps. Now |
|
|
5533 | uses formulatic approach so any map size should be supported. This |
|
|
5534 | does result in a few more spaces getting blocked around corners, |
|
|
5535 | but it doesn't seem that bad - certainly not compared to the ability |
|
|
5536 | to have larger viewable maps. |
|
|
5537 | common/map.c, crossedit/CrEdit.c, crossedit/Edit.c, include/global.h, |
|
|
5538 | include/map.h,random_maps/monster.c,random_maps/special.c, |
|
|
5539 | random_maps/standalone.c, server/apply.c,server/c_misc.c, |
|
|
5540 | server/spell_effect.c,socket/info.c: |
|
|
5541 | change mapx,mapy to what they really point to, |
|
|
5542 | as it prevented using those as variable/structure element names. |
|
|
5543 | common/object.c: update_position - if faces for different layers are |
|
|
5544 | duplicate, set the duplicates to be blank to increase client |
|
|
5545 | update efficiency. |
|
|
5546 | doc/Protocol: Add map1 command description, update setup command to |
|
|
5547 | describe setting of mapsize. |
|
|
5548 | include/config.h: add MAP_CLIENT_X/Y to set maximum map size we can |
|
|
5549 | send to the client. |
|
|
5550 | include/newserver.h: add mapx, mapy values to socket structure |
|
|
5551 | include/player.h: Use MAP_CLIENT_X/Y for sizing arrays that hold |
|
|
5552 | map related information in player structure. |
|
|
5553 | server/player.c: As per player.h above, use appropriate sizing when |
|
|
5554 | initializing player stucture. |
|
|
5555 | server/shop.c: Update mapx,mapy like above, but re-do shop listings code as |
|
|
5556 | it was doing a lot more work than necessarily (I think some changes |
|
|
5557 | got put in for sorting, and the old object manipulation was never |
|
|
5558 | removed when that got done) |
|
|
5559 | socket/init.c: set default client map size to 11x11 in the socket. |
|
|
5560 | socket/item.c: LookAt - change checks for position checking (such that |
|
|
5561 | you can only look at things in bounds) use max viewable map size. |
|
|
5562 | socket/request.c: Make setup commands a little more forgiving if there are |
|
|
5563 | extra spaces. Add 'mapsize' command to setup command. Update |
|
|
5564 | old map sending code to use socket map sizes (to support even |
|
|
5565 | smaller than normal maps, or 13x13 or 15x15 maps). add draw_client_map1 |
|
|
5566 | command which implements the map1 protocol command. |
|
|
5567 | MSW 2001-06-03 |
|
|
5568 | |
|
|
5569 | random_maps/treasure.c, wall.c: fix a problem where hidden doors |
|
|
5570 | surrounding a treasure could destroy exits. --PeterM 5/31/2001 |
|
|
5571 | |
|
|
5572 | Make ALLOW_SKILLS standard part of game (remove #ifdef's for it) |
|
|
5573 | Files affected: common/living.c common/object.c common/treasure.c |
|
|
5574 | include/config.h include/player.h server/apply.c server/attack.c |
|
|
5575 | server/c_move.c server/c_range.c server/c_wiz.c server/commands.c |
|
|
5576 | server/init.c server/login.c server/monster.c server/player.c |
|
|
5577 | server/rune.c server/skill_util.c server/spell_util.c |
|
|
5578 | Make MULTIPLE_GODS standards part of game (remove #ifdefs for it) |
|
|
5579 | Files affected: common/readable.c include/spellist.h include/config.h |
|
|
5580 | server/attack.c server/gods.c server/skills.c server/spell_effect.c |
|
|
5581 | server/spell_util.c |
|
|
5582 | doc/Makefile.in, doc/Protocol: Add protocol description file here instead |
|
|
5583 | of in the client distribution. |
|
|
5584 | include/global.h: Move declaration of MAX_EXP_CAT near top of file |
|
|
5585 | so it is set before player.h is included. |
|
|
5586 | include/newclient.h: Add CS_STAT_SKILL* values for sending skill |
|
|
5587 | experience information to client. |
|
|
5588 | include/newserver.h: Add skillexp value to socket struct which determines |
|
|
5589 | if client wants skill experience informatiion. |
|
|
5590 | include/player.h: Add skill information tracking to player structure |
|
|
5591 | so we can easily know when to send updates to client. |
|
|
5592 | random_maps/expand2x.c: remove unused variable to prevent compiler warnings. |
|
|
5593 | random_maps/square_spiral.c: Include prototype information on all systems, |
|
|
5594 | not just win32 to prevent compiler warnings. |
|
|
5595 | server/skill_util.c: Initialize skill pointers to make it easier to |
|
|
5596 | find skill information when we want to update client. |
|
|
5597 | socket/init.c: Init socket->skillexp to 0. |
|
|
5598 | socket/loop.c: Fix indentation of table - whitespace change only |
|
|
5599 | socket/metaserver.c: Minor fix to prevent compile warnings (on the sprintf |
|
|
5600 | that composes the data to send to the metaserver) |
|
|
5601 | socket/request.c: Redo SetUp function to be more compact and IMO simpler as |
|
|
5602 | wll as easier to read (functionality remains the same). |
|
|
5603 | VersionCmd modified to warn users of on dxclients (code on MT) |
|
|
5604 | StatsCmd added to send skill information if client wants it. |
|
|
5605 | The sending of skill experience is by MT, rest of the changes by me. |
|
|
5606 | MSW 2001-05-28 |
|
|
5607 | |
|
|
5608 | common/readable.c: When making recipe books, give the recipe that they |
|
|
5609 | are for in the title. Makes it more worthwhile to buy them. |
|
|
5610 | lib/treasures.c: Increase the chance of readables in chests some (in fact, |
|
|
5611 | add a chance.) |
|
|
5612 | MSW 2001-05-25 |
|
|
5613 | |
|
|
5614 | lib/artifacts: Reduce potency of Poison artifact foods. |
|
|
5615 | server/apply.c: When eating poison artifact foods, hit player with poison |
|
|
5616 | attacktype instead of just subtracting hp. This way people with |
|
|
5617 | poison resistance get proper benefit. MSW 2001-05-24 |
|
|
5618 | |
|
|
5619 | doc/metaserver, doc/Makefile.in: Add metaserver file which describes |
|
|
5620 | working of metaserver and format of data fields. |
|
|
5621 | socket/metaserver.c: Add reporting of inbytes, output bytes, and uptime in |
|
|
5622 | seconds to notification of metaserver |
|
|
5623 | MSW 2001-05-24 |
|
|
5624 | |
|
|
5625 | server/player.c |
|
|
5626 | common/living.c |
|
|
5627 | include/libproto.h: New experience loss on death policy implemented. |
|
|
5628 | (As per consensus.) 3 levels or 20%, whichever is less. |
|
|
5629 | --PeterM 5/24/2001 |
|
|
5630 | |
|
|
5631 | server/spell_util.c: Fix typo in polymorph code (when enabled in config.h) |
|
|
5632 | MSW 2001-05-24 |
|
|
5633 | |
|
|
5634 | server/disease.c: replace disease->owner check with get_owner. |
|
|
5635 | MSW 2001-05-24 |
|
|
5636 | |
|
|
5637 | server/pets.c: pet_move - fix formatting to be 4 space indentation. |
|
|
5638 | if we remove the monster, free it here instead of having move_monster |
|
|
5639 | do it. Add check for was_destroyed after first call to move_ob - |
|
|
5640 | crashes have been observed in that function, and I believe that is the |
|
|
5641 | cause. |
|
|
5642 | server/monster.c: move_monster: let pet_move free the pet if necessary. |
|
|
5643 | server/spell_effect.c: Clear sleeping flag of monsters when casting |
|
|
5644 | summon pet monster (or other creatures). Some archs have this |
|
|
5645 | value on by default, so the monsters don't follow the player until |
|
|
5646 | an enemy is found. |
|
|
5647 | MSW 2001-05-22 |
|
|
5648 | |
|
|
5649 | socket/item.c: Don't raise player to top of stack when they look at |
|
|
5650 | something. I think this may be causing server crashes in some |
|
|
5651 | circumstances - plus its not really needed anyways. |
|
|
5652 | socket/loop.c: block_until_new_connections: Add call to flush_old_maps |
|
|
5653 | so maps are reset while waiting for a new player. |
|
|
5654 | MSW 2001-05-22 |
|
|
5655 | |
|
|
5656 | configure.in, configure: Fix png and Xpm library detection. Suggested |
|
|
5657 | patch by Yann Chackhoff, applied by MSW 2001-05-20 |
|
|
5658 | |
|
|
5659 | |
|
|
5660 | ------------------------------------------------------------------------------ |
|
|
5661 | Changes for 1.0.0: |
|
|
5662 | |
|
|
5663 | common/living.c: Fix AC wrapping problem - now limit ac to +/- 120. |
|
|
5664 | MSW 2001-05-12 |
|
|
5665 | |
|
|
5666 | include/config.h: Add NO_POLYMORPH feature selection |
|
|
5667 | include/spellist.h: If NO_POLYMORPH is set, make it so that polymorph will |
|
|
5668 | not show up in wands/rods |
|
|
5669 | server/spell_util.c: Handling for NO_POLYMORPH selection |
|
|
5670 | MSW 2001-05-11 |
|
|
5671 | |
|
|
5672 | server/rune.c: Make sure rune message is newline terminated. Fix map |
|
|
5673 | corruption problem. MSW 2001-05-10 |
|
|
5674 | |
|
|
5675 | Various improvements to make finding memory leaks easier. |
|
|
5676 | common/anim.c: Add free_all_anim function |
|
|
5677 | common/arch.c: Modify free_all_arch to free more data |
|
|
5678 | common/init.c: If running under MEMORY_DEBUG, don't pre-allocate objects. |
|
|
5679 | common/map.c: Add free_all_maps functiion. |
|
|
5680 | common/object.c: Modify object allocations if using MEMORY_DEBUG to only |
|
|
5681 | malloc one object at a time, and not pre-allocate objects. |
|
|
5682 | common/readable.c: Fix memory leak. |
|
|
5683 | common/shstr.c: Include autoconf.h so it can pull in dmalloc.h file. |
|
|
5684 | include/config.h: Remove notes of what was removed a long time ago. |
|
|
5685 | Add MEMORY_DEBUG option. |
|
|
5686 | include/libproto.h, include/sockproto.h, include/sproto.h: automatic rebuild |
|
|
5687 | server/c_misc.c: Fix 'malloc info command so it reports right memory total |
|
|
5688 | for maps. Add command_style_map_info which sums up memory used by |
|
|
5689 | style maps. |
|
|
5690 | server/commands.c: Add style_info wiz command which dumps memory usage |
|
|
5691 | for style maps. |
|
|
5692 | server/init.c: Have sighup handler call cleanup function. |
|
|
5693 | server/main.c: Fix clean_tmp_files which could result in crash if one |
|
|
5694 | of the maps in memory has 0 reset time. Modify cleanup function |
|
|
5695 | to free more data. |
|
|
5696 | server/player.c: op_on_battleground: Fix compile warning about unuused variable. |
|
|
5697 | socket/init.c: Change name of free_all_ericserver to free_all_newserver, |
|
|
5698 | have it free all face data. |
|
|
5699 | MSW 2001-05-08 |
|
|
5700 | |
|
|
5701 | socket/item.c: Modify look_at to not stop when it finds the first invisible |
|
|
5702 | object. |
|
|
5703 | server/monster.c: Modify monster_check_pickup to check to see if the |
|
|
5704 | next object got destroyed. I'm not sure the exact way this happens, |
|
|
5705 | but I've seen one crash where this did happen - I'm guess some |
|
|
5706 | function further down in the monster_check_apply look may call |
|
|
5707 | this or destroy the item. |
|
|
5708 | MSW 2001-05-01 |
|
|
5709 | |
|
|
5710 | common/object.c: Add clear_owner function. |
|
|
5711 | include/libproto.h: rebuild. |
|
|
5712 | server/player.c: Modify op_on_battleground to look for battleground |
|
|
5713 | anyplace on space. Temp for for wall of thorns on space - as long |
|
|
5714 | as maps don't try to abuse the use of battlegrounds, should be OK. |
|
|
5715 | server/time.c: Add clear_owner call to stop_arrow. Fixes problem of |
|
|
5716 | thrown objects not getting saved. |
|
|
5717 | MSW 2001-04-28 |
|
|
5718 | |
|
|
5719 | common/object.c: Have update_object map the look window for redraw if |
|
|
5720 | the object is not something the client normally animates (like a lever). |
|
|
5721 | MSW 2001-04-27 |
|
|
5722 | |
|
|
5723 | server/apply.c: Modify apply_id_altar check for player - had a && instead of |
|
|
5724 | a ||. |
|
|
5725 | socket/item.c: Modify ApplyCmd so a removed player can not apply objects. |
|
|
5726 | Fix crashes caused by players applying savebeds after they have |
|
|
5727 | used the bed. MSW 2001-04-26 |
|
|
5728 | |
|
|
5729 | server/spell_util.c: have put_a_monster generate random monster |
|
|
5730 | abilities. |
|
|
5731 | TODO, doc/mapguide: Various minor updates. |
|
|
5732 | MSW 2001-04-25 |
|
|
5733 | |
|
|
5734 | server/c_object.c: Pass right object to query_cost_string so that |
|
|
5735 | if you pick up an unpaid object into a container, it generates |
|
|
5736 | the correct price. MSW 2001-04-22 |
|
|
5737 | server/c_wiz.c: fix shutdown and reset_map wizard commands/function |
|
|
5738 | so they no longer crash the server. MSW 2001-04-22 |
|
|
5739 | |
|
|
5740 | server/monster.c: add check to was_destroyed when monster fires an |
|
|
5741 | arrow. Call was certainly missing, and appears to be responsible for |
|
|
5742 | crash. MSW 2001-04-20 |
|
|
5743 | |
|
|
5744 | server/player.c: Clear op->chosen_skill when we get to the play_again |
|
|
5745 | prompt. Otherwise, the server may try to use this later on, and it |
|
|
5746 | no longer points to a valid object, so it results in a crash. |
|
|
5747 | MSW 2001-04-19 |
|
|
5748 | |
|
|
5749 | server/skill_util.c: Add missing call to out_of_map in skill_attack which |
|
|
5750 | could result in crashes if player is at edge of maps and decides to attack |
|
|
5751 | in direction off map. MSW 2001-04-18 |
|
|
5752 | |
|
|
5753 | server/attack.c: Remove error message about golem without owners, |
|
|
5754 | also add better checking before clering the op->contr->golem field. |
|
|
5755 | common/map.c: set status flag on maps to MAP_SAVING so remove_ob does |
|
|
5756 | not do extra work when we are deleting a map (ie, immediate reset) |
|
|
5757 | from emory. |
|
|
5758 | server/skills.c: If someone is stolen from a player, send an esrv_delete_item |
|
|
5759 | to the client so the clients inventory remains correct. |
|
|
5760 | MSW 2001-04-16 |
|
|
5761 | |
|
|
5762 | common/re-cmp.c: Modify re_cmp functiion so that it properly matches |
|
|
5763 | strings not at the start 'ie, dude chain will now match against |
|
|
5764 | the chain value'. |
|
|
5765 | server/monster.c: Properly alter direction monster moves if they are |
|
|
5766 | feared or confused. It was properly altering direction when monsters |
|
|
5767 | were using range attacks, but not if they were just wanting to move. |
|
|
5768 | MSW 2001-04-12 |
|
|
5769 | |
|
|
5770 | common/living.c: Don't use the last_heal object in experience objects as |
|
|
5771 | sp regen penalty. This should fix the problem of inconsistent sp regen |
|
|
5772 | rates - last_heal is used in experience objects if the permanent experience |
|
|
5773 | option is turned on. MSW 2001-04-11 |
|
|
5774 | |
|
|
5775 | PeterM: |
|
|
5776 | server/spell_util.c: fix peace so it gives experience |
|
|
5777 | common/button.c: change the "error" to a "debug" message |
|
|
5778 | to reduce server crashing. |
|
|
5779 | |
|
|
5780 | ------------------------------------------------------------------------------ |
|
|
5781 | |
|
|
5782 | Changes for 0.98.0: |
|
|
5783 | |
|
|
5784 | server/skills.c: Modify inscription so that when inscribing cleric spells, |
|
|
5785 | it reduces grace. Before, reduced mana no matter the type of spell. |
|
|
5786 | server/c_object.c: Fix bug in pick_up where it was not using the right |
|
|
5787 | count for picking up objects if the player did not specify one. This |
|
|
5788 | allowed players to put objects into containers that should not really |
|
|
5789 | fit. |
|
|
5790 | server/player.c: Don't let players shoot arrows at themself. Also, |
|
|
5791 | minor changes to use new_draw_info_format. |
|
|
5792 | server/swap.c: If recycle temp maps, don't save out random maps to |
|
|
5793 | get recycled. MSW 2001/04/07 |
|
|
5794 | |
|
|
5795 | PeterM 2001/04/06: |
|
|
5796 | include/libproto.h common/object.c server/apply.c server/spell_util.c |
|
|
5797 | Added a new function: instead of stacking many burnout or firetrail |
|
|
5798 | objects, only 1 per square is added. Real reduction in server overhead. |
|
|
5799 | No reduction in cosmetic effect. |
|
|
5800 | |
|
|
5801 | common/porting.c: Fix compile warnings/bugs introduced by Win32 changes. |
|
|
5802 | server/time.c: Modify move_player_mover so that it determines direction |
|
|
5803 | of the mover and then process accordingly, as well as formatting |
|
|
5804 | changes. |
|
|
5805 | server/c_object.c: modify examine so that it properly shows info about |
|
|
5806 | magic bullet spell books. MSW 2001-04-05 |
|
|
5807 | |
|
|
5808 | common/item.c: Modify identify function to clear the NO_SKILL_IDENT |
|
|
5809 | flag so objects will now merge. Also, once the object has been |
|
|
5810 | identified, the no_skill_ident doesn't have meaning anymore. |
|
|
5811 | MSW 2001-04-03 |
|
|
5812 | |
|
|
5813 | server/c_object: Modify examine command to only be able to examine |
|
|
5814 | valid objects, and not whatever is on top of the space, which may be |
|
|
5815 | insivisible. MSW 2001-04-01 |
|
|
5816 | |
|
|
5817 | include/sproto.h, server/c_wiz.c server/main.c server/player.c socket/loop.c: |
|
|
5818 | Modify leave function to take a second parameter that determines if it |
|
|
5819 | should print a message about the player leaving the game or not. Proper |
|
|
5820 | use of this prevents duplicate XXX left the game messages. MSW 2001-03-29 |
|
|
5821 | |
|
|
5822 | common/image.c, include/define.h, include/global.h: Add empty_face structure |
|
|
5823 | and appropriate code to initialize it. This is used for the server side |
|
|
5824 | look selection. |
|
|
5825 | include/newserver.h: Add NUM_LOOK_OBJECTS to control number of look objects |
|
|
5826 | to send at any one time. add look_position field to the newsocket |
|
|
5827 | structure. |
|
|
5828 | server/move.c: clear look position as player moves. |
|
|
5829 | server/player.c: initalize look_position element in structure. |
|
|
5830 | socket/item.c: modify esrv_draw_look to sne NUM_LOOK_OBJECTS at any one |
|
|
5831 | time, and to also send pseudo objects that lets the player scroll up and down. |
|
|
5832 | modify ApplyCmd so that if it detects the application of one pseudo objects |
|
|
5833 | to adjust the look_position. |
|
|
5834 | MSW 2001-03-29 |
|
|
5835 | |
|
|
5836 | common/readable.c: Name spellbooks based on level of spell, and not |
|
|
5837 | just randomly. Patch by Preston Crow, applied by Mark Wedel 2001-03-29 |
|
|
5838 | |
|
|
5839 | configure, configure.in, include/autoconf.h, includes.h: add check for |
|
|
5840 | time.h and include it if we find it. |
|
|
5841 | socket/item.c: esrv_move_object - have it check to see if the object is |
|
|
5842 | already on the ground before we try to re-drop it. Likewise, check |
|
|
5843 | to see if it is already in players inventory before we try to pick |
|
|
5844 | it up. |
|
|
5845 | common/object.c: Don't send face updates to the client or make |
|
|
5846 | the space as needing to be redrawn. Client now deals with animation |
|
|
5847 | of the look window on its own. |
|
|
5848 | utils/(metaserver.pl crossloop add_throw.perl crossloop.pl) |
|
|
5849 | lib/(Makefie.in, checkarch.pl collect.pl xpmtopix.pl) - - deleted |
|
|
5850 | from CVS - '.in' versions of these files now exist and the real |
|
|
5851 | versions are created as part of the configure process. Update |
|
|
5852 | Makefile.in to reflect this change. |
|
|
5853 | MSW 2001/03/28 |
|
|
5854 | |
|
|
5855 | common/object.c: have update_position just update the flag that the |
|
|
5856 | server needs to send the look window to the client and don't send the |
|
|
5857 | item at this point, as sending the look will do that. |
|
|
5858 | server/main.c: process_players1: Remove call to draw (which updates |
|
|
5859 | the client map) - the handle newclient in socket/loop.c already |
|
|
5860 | does this and there is no reason to send multiple instances of the |
|
|
5861 | same map. |
|
|
5862 | MSW 2001/03/23 |
|
|
5863 | |
|
|
5864 | server/c_object.c: drop_object function: send delete item to client as |
|
|
5865 | item is dropped. This fixes a problem of phantom objects in the |
|
|
5866 | inventory. Unrelated change to not call esrv_send_item for objects |
|
|
5867 | that are dropped - esrv_draw_look will get called later on and will |
|
|
5868 | update this at that time. MSW 2001/03/23 |
|
|
5869 | |
|
|
5870 | server/c_object.c: Update the return value for some matches - they |
|
|
5871 | function was returning immediately when it got a match, but did not give |
|
|
5872 | them a high match value, so searching for 'key ring' used to return a |
|
|
5873 | match value of 6 or so on the key ring, but a 14 on a key. |
|
|
5874 | |
|
|
5875 | common/object.c: Modify find_free_spot to call arch_out_of_map so that |
|
|
5876 | it properly deals with multipart objects. |
|
|
5877 | server/main.c: Fix enter_map so that we first use the golem (and not player) |
|
|
5878 | when calling find_free_spot. Also, modify code so that it properly |
|
|
5879 | updates coordinates of the multipart golem. |
|
|
5880 | MSW 2001/03/20 |
|
|
5881 | |
|
|
5882 | server/skills.c: Fix orate so that we check for a positive chance (and just |
|
|
5883 | not nonzero chance) for successful oration. Due to adjustments, at low levels, |
|
|
5884 | the oratory chance can be negative. MSW 2001/03/20 |
|
|
5885 | |
|
|
5886 | server/spell_effect.c: Change cast_change_attr to find an enemy (and not |
|
|
5887 | friend) when casting the curse spell. MSW 2001/03/20 |
|
|
5888 | |
|
|
5889 | server/apply.c: Increase size of buf to be a HUGE_BUF to very |
|
|
5890 | long item names don't cause a stack overflow. MSW 2001/03/20 |
|
|
5891 | |
|
|
5892 | common/object.c: Modify update_position so that we don't show invisible |
|
|
5893 | players to other players. MSW 2001/03/20 |
|
|
5894 | |
|
|
5895 | ------------------------------------------------------------------------------ |
|
|
5896 | Changes for 0.97.0: |
|
|
5897 | |
|
|
5898 | MSW 2001/03/18: |
|
|
5899 | common/init.c: add RESET_LOCATION_TIME initializer to settings structure. |
|
|
5900 | include/config.h: Add RESET_LOCATION_TIME value. If nonzero and the save was longer than |
|
|
5901 | the specified time in seconds, player will be returned home upon login from |
|
|
5902 | save. |
|
|
5903 | include/global.h: Add reset_loc_time field to settings structure. |
|
|
5904 | server/login.c: Remove some unused variables, add support to return player |
|
|
5905 | home as described above. |
|
|
5906 | server/spell_effect.c: Fix for crashes when casting control undead and your |
|
|
5907 | god does not have an enemy. Now properly check to make sure we are not |
|
|
5908 | dereferencing null pointers. |
|
|
5909 | |
|
|
5910 | |
|
|
5911 | MSW 2001/03/16: |
|
|
5912 | Change code so that if player dies and loading the players savebed map does |
|
|
5913 | not work, return player to EMERGENCY_MAPPATH instead. New function added |
|
|
5914 | to server/main.c called enter_player_savebed which does the work, |
|
|
5915 | Files changed: include/sproto.h server/main.c server/player.c |
|
|
5916 | server/spell_effect.c (comment added) |
|
|
5917 | Unrelated change: Remove messages about multiple resist types set. |
|
|
5918 | Files changed: common/loader.l common/loader.c |
|
|
5919 | |
|
|
5920 | MSW 2001/03/15: |
|
|
5921 | server/spell_effect.c: Add physical attacktype when casting holy possession. |
|
|
5922 | Otherwise, characters who use karate end up not being able to damaage |
|
|
5923 | anything. |
|
|
5924 | |
|
|
5925 | MSW 2001/03/09: |
|
|
5926 | crossedit/App.c: Move the loading of images to later in the editor |
|
|
5927 | startup state. In this way, the client can allocate the colors it |
|
|
5928 | needs for its windows before the the png images use up all the colors. |
|
|
5929 | crossedit/png.c: New png loader implementation. New version is much |
|
|
5930 | faster (50 times faster). As part of this, only 8 bit displays, |
|
|
5931 | a private colormap will be allocated, and after that gets filled |
|
|
5932 | up, a color mapping routine will be used - this makes the png |
|
|
5933 | images loadable on an 8 bit system in addition to the speedup. |
|
|
5934 | crossedit/xutil.c: Adding timing information for loading of images. |
|
|
5935 | call init_pngx_loader before starting to load png images. Pass |
|
|
5936 | colormap to png_to_xpixmap by pointer and not value so that |
|
|
5937 | the loader can change the colormap. |
|
|
5938 | |
|
|
5939 | AV 2001/03/09: |
|
|
5940 | common/button.c: Added new attribute to altar triggers: "last_sp 1". |
|
|
5941 | If set, the altar trigger will push the connected value only |
|
|
5942 | by dropping the sacrifice, NOT by altar reset. If unset ("last_sp 0") |
|
|
5943 | it will work like it used to (push by sacrifice and by reset). |
|
|
5944 | |
|
|
5945 | MSW 2001/03/06: |
|
|
5946 | server/spell_effect.c: Fix message when consecration fails - use the ob->name |
|
|
5947 | field and not the ob->title field. Also fix broken logic that checked |
|
|
5948 | for the floor. |
|
|
5949 | server/init.c: Related to 3-4 change which changed the default name of |
|
|
5950 | the logfile to "" so we know to use stderr. This doesn't work for |
|
|
5951 | daemon mode, so if the name is "", we use the default logfile instead. |
|
|
5952 | |
|
|
5953 | MSW 2001/03/04: |
|
|
5954 | TODO: add re-connecting player to new client if client logs in with |
|
|
5955 | right name/password. |
|
|
5956 | common/init.c: Open up the logfile with the provide filename when given |
|
|
5957 | the -log option. |
|
|
5958 | server/init.c: Make set_logfile a first pass option so the init_library |
|
|
5959 | has the right logfile name to work with. |
|
|
5960 | server/main.c: Fix crash if map has an exit path yet that file does not |
|
|
5961 | exist. Give proper error message. |
|
|
5962 | |
|
|
5963 | |
|
|
5964 | MSW 2001/03/01: |
|
|
5965 | server/main.c: Modified random_map code so the server will not |
|
|
5966 | crash if the exit object has no message (and thus variables to set |
|
|
5967 | for the random map). |
|
|
5968 | Modified so that golems move away from player when player |
|
|
5969 | changes map. Values were reversed before, causing the golem to move |
|
|
5970 | towards the player. |
|
|
5971 | |
|
|
5972 | MSW 2001/02/25: General player login cleanup. This should fix the crash |
|
|
5973 | when players re-roll stats too often. So far, it also seems to |
|
|
5974 | have the additional effect that calculated players on map now appears |
|
|
5975 | to be correct. |
|
|
5976 | common/player.c: No longer allocate the player object structure in |
|
|
5977 | get_player_ob (function is really misnamed). Callers to this function |
|
|
5978 | were not using the allocated function. |
|
|
5979 | server/login.c: Add leave_map call when player is loaded. |
|
|
5980 | server/main.c: Add leave_map function. |
|
|
5981 | server/player.c: Move get_player function to start of file - can declare |
|
|
5982 | it static that way. Move some initialize from add_player to get_player. |
|
|
5983 | Add set_first_map function. Add appropriate calls to leave_map |
|
|
5984 | and set_first_map when players join and leaves the game. |
|
|
5985 | |
|
|
5986 | MSW 2001/02/22: |
|
|
5987 | TODO: Add some items, remove some others, remove outline of future versions, |
|
|
5988 | since it was out of date. |
|
|
5989 | common/loader.l,loader.c: Declare msgbuf a static outside the lex_load function. |
|
|
5990 | lex_load was otherwise clearing it each time it was called, which resulted |
|
|
5991 | in empty messages for the random artifacts (since the call lex_load one |
|
|
5992 | line at a time). Instead, we just zero this at start of load_object. |
|
|
5993 | Original reason of this change was due to purify errors - as I look at the |
|
|
5994 | code, it appears even before these changes that it was clearing the buffer |
|
|
5995 | properly. |
|
|
5996 | common/map.c: removing pending field from map objects. |
|
|
5997 | common/re-cmp.c: Comment out some code which was resulting in too many |
|
|
5998 | false compares. |
|
|
5999 | include/config.h: increase default for MAX_OBJECTS. 6000 is a bit small |
|
|
6000 | on current systems. |
|
|
6001 | include/map.h: Remove pending field from map structure. |
|
|
6002 | random_maps/treasure.c: Increase size of doorlist. Fixes crash, in that |
|
|
6003 | if a random map could place 8 doors around the treasure, the list |
|
|
6004 | was not terminated, so the problem would eventually try to read/dereference |
|
|
6005 | random memory after the array. |
|
|
6006 | server/c_misc.c: Remove pending field from maps, so remove functions |
|
|
6007 | and other places that referred to it (like the maps command) |
|
|
6008 | server/c_wiz.c: fix up wiz map reset command. Not really tested, but |
|
|
6009 | old code had some definate problems just from visual inspection. |
|
|
6010 | server/main.c: Further fix for unique exits - relative paths to unique maps |
|
|
6011 | from non unique maps should now work. |
|
|
6012 | server/monster.c: Various fixes - one is that should get more reliable distance |
|
|
6013 | values for multipart monsters. Second, modify dist_att to calculate from |
|
|
6014 | closest part of monster, and not the head of the monster. |
|
|
6015 | server/pets.c: Remove code dealing with pending objects. |
|
|
6016 | server/player.c: Don't remove invisible objects in players inventory when |
|
|
6017 | playing with permadeath mode. |
|
|
6018 | server/spell_util.c: If you try to cast denied spell, it no longer costs any |
|
|
6019 | spellpoints. |
|
|
6020 | socket/item.c: Fix bug where it was using 'item' protocol command instead of |
|
|
6021 | 'item1' |
|
|
6022 | End of MSW 2001/02/22 checkin. |
|
|
6023 | |
|
|
6024 | ------------------------------------------------------------------------------ |
|
|
6025 | Changes for 0.96.0: |
|
|
6026 | |
|
|
6027 | MSW 2001/01/11: |
|
|
6028 | include/rproto.h: Rebuilt for new random map code. |
|
|
6029 | server/player.c: remove player insert in key_roll_stat - player is already |
|
|
6030 | inserted. |
|
|
6031 | server/swap.c: When swapping out map, see if it has already reached reset time, |
|
|
6032 | and if so, just delete it and not save it. In flush_old_maps, now have |
|
|
6033 | it check for maps that have no timeout set - this sometimes happens when |
|
|
6034 | players save/die on maps. |
|
|
6035 | |
|
|
6036 | |
|
|
6037 | MSW 2001/01/11: |
|
|
6038 | Other than various general cleanups, the main change this code does is |
|
|
6039 | that style maps (for random maps) get loaded special now - they objects |
|
|
6040 | they contain are not put on the active list, and they use a private map |
|
|
6041 | list so they do not appear in the output of the 'maps command. |
|
|
6042 | common/arch.c, common/treasure.c,server/login.c: Update calls to load_object |
|
|
6043 | common/loaderl.l,loader.c: Update lex_load to take an optional flags option. |
|
|
6044 | This is currently only used so that the loader can decide if it should |
|
|
6045 | call update_ob_speedto put objects on the active list or not. |
|
|
6046 | Calls to lex_load updated. load_object modified to take another option |
|
|
6047 | common.map.c: remove PROCESS_WHILE_LOADING and CHECK_ACTIVE_MAPS ifdefs. |
|
|
6048 | update calls to load_object. Remove some dead code. |
|
|
6049 | include/config.h: Remove CHECK_ACTIVE_MAPS and PROCESS_WHILE_LOADING flags. |
|
|
6050 | Those options did not work, and in all likelihood, this would be done |
|
|
6051 | via threading now days and not what code was there. |
|
|
6052 | include/libproto.h, sproto.h: updated or various function changes. |
|
|
6053 | include/map.h: Add MAP_STYLE flag. |
|
|
6054 | random_maps/exit.c: Call set_map_timeout after we load the final map |
|
|
6055 | so it will get swapped out. |
|
|
6056 | random_maps/standalone.c: Add dummy set_map_timeout function so it compiles. |
|
|
6057 | random_maps/style.c: Add load_style_map function which does the job of |
|
|
6058 | actually checking to see if a style map is in memory, and if not, |
|
|
6059 | loads it up. Updates the pointers so it appears on a map style map list |
|
|
6060 | and not the general map list. |
|
|
6061 | server/main.c: create set_map_timeout function that deals with setting the |
|
|
6062 | map timeouts. Fix bug so server doesn't crash if two players kill each |
|
|
6063 | other on hall of selection. |
|
|
6064 | server/monster.c remove dead code. |
|
|
6065 | socket/loop.c: If realloc fails, catch it and exit with meaningful |
|
|
6066 | error message. |
|
|
6067 | End of MSW 2001/02/11 checkin. |
|
|
6068 | |
|
|
6069 | MSW 2001/02/08: |
|
|
6070 | server/login.c:Fix that would prevent maps from getting swapped out properly - |
|
|
6071 | we would try to swap out a map the player is in the process of leaving - move |
|
|
6072 | swap out code until after we have moved the player to the new map. MSW |
|
|
6073 | 2001-02-08 |
|
|
6074 | |
|
|
6075 | |
|
|
6076 | MSW 2001/02/06: |
|
|
6077 | common/porting.c: relocate clean_path from this file to server/main.c |
|
|
6078 | server/main.c: relocate clean_path from porting.c. Add unclean_path. |
|
|
6079 | Modify enter_unique_exit so it supports relative maps on unique maps. |
|
|
6080 | Modify enter_exit so word of recall (or other forcelike fields), work |
|
|
6081 | when the return point is a swapped out unique map. |
|
|
6082 | |
|
|
6083 | MSW 2001/02/05: |
|
|
6084 | server/attack.c: Fix blind and paralyze - logic for reducing duration was |
|
|
6085 | broken, resulting in zero duration for most characters. It should now |
|
|
6086 | work properly, reducing according to the amount of protection. |
|
|
6087 | |
|
|
6088 | |
|
|
6089 | MSW 2001/02/02: |
|
|
6090 | common/item.c: Don't have armour item types get returned as magical if they |
|
|
6091 | have an armour value - that is to be expected. This eliminates the false |
|
|
6092 | positives that you otherwise get on armor when you cast detect magic. |
|
|
6093 | include/newserver/h: and checksum field to FaceInfo struct. Update |
|
|
6094 | version_sc to 1026. |
|
|
6095 | socket/init.c: calculate image checksums as we load the images. |
|
|
6096 | socket/request.c: If client is at least version_Sc 1026, use face1 protocol |
|
|
6097 | command that includes the checksum. |
|
|
6098 | |
|
|
6099 | MSW 2001/01/31: |
|
|
6100 | common/object.c: Fix that that spells cast on spaces with no floors get |
|
|
6101 | set properly after the spell expires. |
|
|
6102 | common/player.c: Use skill tools first (lockpicks, talismans, etc) before |
|
|
6103 | using native skills. In this way, an object with bonus automatically |
|
|
6104 | gets used. |
|
|
6105 | common/living.c: Fix so that negative con bonuses work properly - fixes |
|
|
6106 | bug where a higher con could result in lower total hp due to improper |
|
|
6107 | calculation. |
|
|
6108 | |
|
|
6109 | MSW 2001/01/30: |
|
|
6110 | Complete rewrite of the exit handling code. Hopefully as an effect, this will |
|
|
6111 | fix the player appearing in the middle of the oceans. I think the code |
|
|
6112 | should also work better in many other areas. Main enhancements is a 3x3 |
|
|
6113 | area for pets to follow player to new map, as well as golems now following |
|
|
6114 | players to the new maps. |
|
|
6115 | include/sproto.h, random_maps/rproto.h - rebuilt. |
|
|
6116 | random_maps/random_map.c: Change generate_random_map to take a structure |
|
|
6117 | with the random map paremeters. |
|
|
6118 | random_maps/reader.l, reader.c: Add set_random_map_variable function that |
|
|
6119 | reads the map parameters from a char buffer. Also, remove some leftover |
|
|
6120 | comments that were from the common/loader.l file. |
|
|
6121 | random_maps/rogue_layout.c: Change some functions to be static so make proto |
|
|
6122 | doesn't collect them. |
|
|
6123 | random_maps/standalone.c: Add opening of parms file into main function since |
|
|
6124 | it ws removed from the random_map.c file. |
|
|
6125 | server/apply.c: Don't display the message of random maps to the players |
|
|
6126 | as they enter them, as this message is random map parameters, and not |
|
|
6127 | a real message. |
|
|
6128 | server/login.c: #if 0 out using of the player loading element in the structure. |
|
|
6129 | this isn't used right now. |
|
|
6130 | server/main.c: Bulk of the changes. main changes are to break apart the |
|
|
6131 | old enter_exit function into smaller functions that more logically do |
|
|
6132 | the needed function (random maps, unique maps, and transferring the player |
|
|
6133 | to the new map). random map code now passes the parameters via |
|
|
6134 | structure instead of file in /tmp. Code is much more understandable now |
|
|
6135 | and hopefully bugfree. |
|
|
6136 | server/pets.c: minor changes/bugfixes. Search full SIZEOFFREE array, use |
|
|
6137 | real owner variable when print out messages. |
|
|
6138 | server/player.c: Remove usage of the loading variable in the player structure. |
|
|
6139 | End of MSW 2001/01/30 checking. |
|
|
6140 | |
|
|
6141 | MSW 2001/01/23: |
|
|
6142 | Various cleanups/fixes as detected by purify: |
|
|
6143 | common/anim.c: animation[0] was given a null pointer as the name, but |
|
|
6144 | bsearch/or comparison function will try to de-reference it. |
|
|
6145 | Give it a unique name. |
|
|
6146 | common/loader.l: msgbuf was being used initialized in the main loading |
|
|
6147 | function. loader.c also regenerated. |
|
|
6148 | common/object.c: find_free functions were not checking to see if the |
|
|
6149 | spaces they were examining were out of the map. Added checks |
|
|
6150 | to do so. |
|
|
6151 | server/apply.c: buf was being used uninitialized in the function. |
|
|
6152 | socket/init.c: input buffer needs to be initialized as we do a |
|
|
6153 | strncasecmp against the buffer which may not have any data in it. |
|
|
6154 | |
|
|
6155 | |
|
|
6156 | MSW 2001/01/18: |
|
|
6157 | server/skill_util.c: add change_skill_to_skill function to be used when |
|
|
6158 | we already know the skill object we want to use. This is more efficient |
|
|
6159 | than change_skill which takes a skill number and then searches the |
|
|
6160 | inventory for the object. |
|
|
6161 | remove extra esrv_send_item from do_skill_attack - don't need to send |
|
|
6162 | skills to player. |
|
|
6163 | do_skill_attack: remove call to hth_damage - that function does not take |
|
|
6164 | into account objects in the player inventory that increase damage, |
|
|
6165 | and since that is called each attack, it is not feasible to have it |
|
|
6166 | search the players inventory. Instead, we just rely on damage generated |
|
|
6167 | by fix_player - only think hth_damage did was adjust damage based on |
|
|
6168 | level difference. |
|
|
6169 | |
|
|
6170 | PeterM 2001/01/16 |
|
|
6171 | Added randomly-generated nethack-style maps to crossfire's |
|
|
6172 | random map generator. |
|
|
6173 | |
|
|
6174 | MSW 2001/01/15: |
|
|
6175 | Change blindness and paralyze so that duration is reduced based on protection |
|
|
6176 | the player has. file server/attack.c |
|
|
6177 | |
|
|
6178 | MSW 2001/01/15: |
|
|
6179 | Various fixes for friendly object code: |
|
|
6180 | common/button.c: Add missing call to remove_friendly_object |
|
|
6181 | common/friend.c: Pretty much completely re-written. add_friendly_object now |
|
|
6182 | checks to make sure the object being added isn't already on the list, |
|
|
6183 | remove_friendly_object will remove objects whose tags don't match, |
|
|
6184 | and added clean_friendly_list. |
|
|
6185 | common/object.c: No reason to use the function pointer to |
|
|
6186 | remove_friendly_object since that function is in the lib. |
|
|
6187 | common/time.c: Make DEBUG_TIME always on (no longer compile time option). |
|
|
6188 | other areas use the global var pticks, so if it was turned off, compile |
|
|
6189 | would break anyways. |
|
|
6190 | common/treasuer.c: No longer print debug messages on artifacts created. |
|
|
6191 | Cluttered log file making it hard to see more important errors. |
|
|
6192 | include/config.h: Remove DEBUG_TIME define. |
|
|
6193 | include/libproto.h: Rebuilt for clean_friendly_list function. |
|
|
6194 | server/main.c: rewrote do_specials to do things based on pticks variable. |
|
|
6195 | This allows various specials to be spread out across multiple ticks |
|
|
6196 | easier. Also, added clean_friendly_function to part of what this does. |
|
|
6197 | server/skills.c: add missing call to remove_friendly_object. Also, removed |
|
|
6198 | from #if 0 .. #else .. #endif code. |
|
|
6199 | End of MSW 2000/01/15 checkin. |
|
|
6200 | |
|
|
6201 | PeterM 2001/01/08: Wrathful Eye spell implemented. |
|
|
6202 | |
|
|
6203 | MSW 2000/12/26: |
|
|
6204 | Checkin of Jan's new god intervention code. I haven't played around with |
|
|
6205 | it much, but I haven't seen any really obvious problems. |
|
|
6206 | common/living.c: remove learn_prayer_chance |
|
|
6207 | common/treasure.c: Various changes to treasure generation - mostly to |
|
|
6208 | deal with starting equipment and putting it in the inventory. |
|
|
6209 | doc/crossfire.doc: Update docs on god intervention. |
|
|
6210 | include/define.h: GT_... flags removed. |
|
|
6211 | include/treasure.h: GT_... flags added. Addition flags added from |
|
|
6212 | what was in define.h before. |
|
|
6213 | lib/archetypes, lib/crossfire.png, lib/treasures: Updated with new |
|
|
6214 | archetypes and treasures. |
|
|
6215 | random_maps/standalone.c,server/rune.c,server/time.c: Calls to |
|
|
6216 | create_treasure updated |
|
|
6217 | server/apply.c: New functions for god intervention added, update calls |
|
|
6218 | to create_treasure, other god related changes. |
|
|
6219 | server/c_wiz.c: Calls to create_treasure updated, various functions to |
|
|
6220 | allow DM's to learn/unlearn spells added. |
|
|
6221 | server/commands.c: Various commands added to the wiz set of commands. |
|
|
6222 | See commen for c_wiz.c |
|
|
6223 | server/disease.c: Changes to reduce_symptoms |
|
|
6224 | server/gods.c: Numerous updates for god intervention code. |
|
|
6225 | server/player.c: Modifications for starting player equipment. |
|
|
6226 | server/skill_util.c: Display the god the character worships when they |
|
|
6227 | issue the skills command. |
|
|
6228 | server/skills.c: Minor cosmetic change made to message when praying on altar. |
|
|
6229 | server/spell_effect.c: Changes related to gods, cure spells, and |
|
|
6230 | generation of treasures & items. |
|
|
6231 | End of MSW 2000/12/26 checkin. |
|
|
6232 | |
|
|
6233 | |
|
|
6234 | MSW 2000/12/23: |
|
|
6235 | include/define.h: Add SIZEOFFREE1 and SIZEOFFREE2 values to use instead of |
|
|
6236 | arbitrary constants in the code. |
|
|
6237 | server/monster.c: change communicate function to use above values. Before |
|
|
6238 | it was stopping one short of the full 2 space array, so one particular |
|
|
6239 | space (-1, -2 relative to player) would not hear players speech. |
|
|
6240 | server/attack.c: Don't exit hit_player function if damage is reduced to 0 |
|
|
6241 | in magical attacks. This was preventing face of death and probably a lot |
|
|
6242 | of effect only spells from working. |
|
|
6243 | server/spell_util.c: modify check_cone_push to use move_object to blow |
|
|
6244 | the objects. Before, multisquare monsters were getting sliced |
|
|
6245 | into their individual components - move_object deals with multisquare objects |
|
|
6246 | properly. |
|
|
6247 | |
|
|
6248 | PeterM 2000/12/18: Re-add the conflict spell (various files) |
|
|
6249 | attack.c: fix a bug which could easily have led to seg fault, |
|
|
6250 | and did when I was testing under efence. |
|
|
6251 | |
|
|
6252 | MSW 2000/12/17: Various changes. Note that the scope of files in this checkin |
|
|
6253 | make it appear that a lot was changed, but in fact it was mostly just |
|
|
6254 | re-orginization - very little code has actually changed. |
|
|
6255 | include/autoconf.h.in: Add HAVE_LIBDES to file. |
|
|
6256 | include/config.h: Remove comments after defines for MAP_MIN/MAX timeouts. |
|
|
6257 | This just removes some warnings during compile. comments are now |
|
|
6258 | on lines by themselves. |
|
|
6259 | include/player.h: remove shootstrength for player structure. It was unused. |
|
|
6260 | server/Makefile.in: remove input.c file, add c_range.c file. |
|
|
6261 | server/c_chat.c: remove command_last, add command_shout and command_tell |
|
|
6262 | from input.c to this file. Also fix bug in command tell which |
|
|
6263 | would let players crash server at will. |
|
|
6264 | server/c_misc.c,server/c_object.c: Relocate many functions |
|
|
6265 | from input.c into these files. |
|
|
6266 | server/c_move.c, server/c_new.c: Add standard crossfire banner comment. |
|
|
6267 | server/c_range.c: New file - contains range related commands, |
|
|
6268 | including spell casting (relocated from input.c) |
|
|
6269 | server/c_wiz.c: move command_invisible from input.c into this file. |
|
|
6270 | server/commands.c: Remove unused commands (bell, last, strength) |
|
|
6271 | server/input.c: removed file. |
|
|
6272 | server/main.c: Change HAVE_DES_H to HAVE_LIBDES |
|
|
6273 | server/player.c: When choosing a race, draw it facing south for best |
|
|
6274 | presentation of image. |
|
|
6275 | server/spell_util.c: Remove dead code (#if 0 shootstrength related |
|
|
6276 | code) |
|
|
6277 | socket/loop.c: remove unused variables. |
|
|
6278 | NOTE: Due to the addition/removal of files, you will need to do |
|
|
6279 | 'config.status; make depend; make' from the top level directory for |
|
|
6280 | everything to be compiled properly. |
|
|
6281 | End of MSW 2000/12/17 checkin. |
|
|
6282 | |
|
|
6283 | |
|
|
6284 | PeterM: 2000/12/17: Various problems fixed in |
|
|
6285 | random_maps/*.c: endless loop removed, |
|
|
6286 | exit leading to blocked area of spiral fixed. |
|
|
6287 | |
|
|
6288 | |
|
|
6289 | PeterM: 2000/12/17: Stat max bug fixed. |
|
|
6290 | server/apply.c |
|
|
6291 | |
|
|
6292 | |
|
|
6293 | MSW 2000/12/16: |
|
|
6294 | server/player.c: If the player race archetype has a message, print that out. |
|
|
6295 | This allows a descriptive message about what the different races will |
|
|
6296 | get. The message is removed from the player once they decide on the |
|
|
6297 | race. |
|
|
6298 | common/living.c: Add some parens around some PR resistant checks - eliminates |
|
|
6299 | warnings from gcc. |
|
|
6300 | server/disease.c: have cure_disease remove all diseases a player is infected |
|
|
6301 | with. The code suggested it was attempting to do so, and the |
|
|
6302 | messages it printed out certainly suggested that the character |
|
|
6303 | was disease free. |
|
|
6304 | |
|
|
6305 | |
|
|
6306 | PeterM: 2000/12/14: Added spiral map layout |
|
|
6307 | |
|
|
6308 | PeterM: 2000/12/14: |
|
|
6309 | Restructuring of the random map code. Functionally, it |
|
|
6310 | should be identical. All global variables moved into the |
|
|
6311 | functions. |
|
|
6312 | |
|
|
6313 | MSW 2000/12/10: |
|
|
6314 | utils/metaserver.pl: Various improvements. Main one is that tcp |
|
|
6315 | connections to port 13326 of the metaserver will dump the information |
|
|
6316 | in a easily parsable format for the client or other applications. |
|
|
6317 | include/config.h: Set ARCHTABLE size to correct value. |
|
|
6318 | server/player.c: Have server send update item to client for players face |
|
|
6319 | while select class. Added esrv_new_player in Roll_Again, because |
|
|
6320 | without it, the client had yet to receive information on what tag |
|
|
6321 | the player was so could not make sense of the updated face. |
|
|
6322 | server/spell_effect.c: Balance issues for polymorph. Reduce maximum |
|
|
6323 | value for high valued objects, remove ability to polymorph generators, |
|
|
6324 | put maximum level on polymorphed monsters and give them saving |
|
|
6325 | throws against the effects. |
|
|
6326 | |
|
|
6327 | MSW 2000/12/5: |
|
|
6328 | server/player.c: Move location of where it sets the player has_hit variable |
|
|
6329 | until after we have confirmed that the player has actually attacked a monster |
|
|
6330 | and not that the space is blocked. Fixes various problems and make |
|
|
6331 | behaviour more predictable. |
|
|
6332 | common/button.c: Do not set path_attuned when loading connected objects from within |
|
|
6333 | the editor. This is normally done for random map code/glue logic. |
|
|
6334 | common/player.c: When trying to find a skill to use, use a native skill |
|
|
6335 | first before going off and returning a skill object like a talisman. |
|
|
6336 | |
|
|
6337 | MSW 2000/12/4: |
|
|
6338 | common/treasure.c: Make it so resistances from artifact files are absolute |
|
|
6339 | adjustments. |
|
|
6340 | Makefile.in configure configure.in: Fix check for libdes to see if des_crypt |
|
|
6341 | exists in libdes before setting HAVE_LIBDES |
|
|
6342 | crossedit/Makefile.in: Add Cnv/libCnv.a before LIBS - should fix |
|
|
6343 | linking error on irix systems. |
|
|
6344 | utils/metaserver.pl: modified so it ignores entries from hosts that |
|
|
6345 | report their name as put.your.hostname.here |
|
|
6346 | |
|
|
6347 | MSW 2000/12/3: |
|
|
6348 | crossedit/Attr.c: Add the new resist names to set of variables one can set. |
|
|
6349 | |
|
|
6350 | MSW 2000/12/3: |
|
|
6351 | Misc changes. Main one is adding PNG support to the editor. |
|
|
6352 | TODO: Remove outdated things to do (like partial resistance code) |
|
|
6353 | configure, configure.in, include/autoconf.h.in: Add check for libpng. |
|
|
6354 | include/global.h: Remove displaymodes - moved to crossedit/Defines.h |
|
|
6355 | crossedit/App.c, crossedit/App.h crossedit/CrEdit.c crossedit/CrFace.c |
|
|
6356 | crossedit/CrList.c crossedit/CrUtil.c crossedit/Edit.c crossedit/crossedit.c |
|
|
6357 | crossedit/xutil.c, crossedit/png.c (new file): Add support for png display |
|
|
6358 | in crossedit. |
|
|
6359 | crossedit/Makefile.in: Add png.c file. |
|
|
6360 | server/c_misc.c: Change who command to only display real players, and not |
|
|
6361 | players in process of connecting/unconnecting. Also, remove code to display |
|
|
6362 | old sockets, since those are not supported anymore. |
|
|
6363 | |
|
|
6364 | MSW 2000/12/3: |
|
|
6365 | Checking for partial resistance code. Various minor errors also fixed |
|
|
6366 | (compiler warnings, unused variables, Makefile.in changes, etc). |
|
|
6367 | PR code also includes support to send protections to the client. |
|
|
6368 | Files changed: |
|
|
6369 | common/Makefile.in common/button.c common/exp.c |
|
|
6370 | common/friend.c common/holy.c common/info.c common/init.c |
|
|
6371 | common/item.c common/living.c common/loader.c common/loader.l |
|
|
6372 | common/object.c common/player.c common/re-cmp.c |
|
|
6373 | common/readable.c common/treasure.c crossedit/App.c |
|
|
6374 | crossedit/crossedit.c crossedit/proto.h doc/crossfire.doc |
|
|
6375 | include/define.h include/global.h include/libproto.h |
|
|
6376 | include/newclient.h include/newserver.h include/object.h |
|
|
6377 | include/player.h include/sproto.h lib/Makefile.in |
|
|
6378 | lib/archetypes lib/artifacts lib/crossfire.png |
|
|
6379 | lib/crossfire.xbm lib/crossfire.xpm random_maps/rproto.h |
|
|
6380 | random_maps/special.c random_maps/style.c server/Makefile.in |
|
|
6381 | server/apply.c server/attack.c server/c_misc.c |
|
|
6382 | server/c_object.c server/commands.c server/disease.c |
|
|
6383 | server/gods.c server/input.c server/monster.c server/player.c |
|
|
6384 | server/resurrection.c server/rune.c server/spell_effect.c |
|
|
6385 | server/spell_util.c server/swap.c socket/metaserver.c |
|
|
6386 | socket/request.c |
|
|
6387 | Added Files: |
|
|
6388 | include/attack.h |
|
|
6389 | |
|
|
6390 | |
|
|
6391 | ------------------------------------------------------------------------------ |
|
|
6392 | Changes for 0.95.8: |
|
|
6393 | |
|
|
6394 | MSW 2000/11/26: |
|
|
6395 | utils/metaserver.pl (added), utils/Makefile.in: Add metaserver.pl script. |
|
|
6396 | |
|
|
6397 | MSW 2000/11/25: |
|
|
6398 | include/patchlevel.h (removed), doc/spell-docs/Makefile (removed), |
|
|
6399 | include/Makefile.in, include/version.h, server/init.c, server/main.c, |
|
|
6400 | socket/metaserver.c: remove patchlevel.h - include the patchlevel in the |
|
|
6401 | version.h file, update other files to use version as a single string. |
|
|
6402 | |
|
|
6403 | MSW 2000/11/25: |
|
|
6404 | socket/metaserver.c: If on FreeBSD systems, do not attempt to connect to |
|
|
6405 | the metaserve. FreeBSD seems to have a problem using sendto on a connected |
|
|
6406 | soccket. |
|
|
6407 | |
|
|
6408 | MSW 2000/11/25: |
|
|
6409 | configure.in, configure, include/autoconf.h.in, server/main.c: Update |
|
|
6410 | to check for libdes.a and des.h and use those for password decryption - fixes |
|
|
6411 | a problem on freebsd if it is using md5 crypt. Hopefully it doesn't break |
|
|
6412 | anything. main.c was also checking for HAVE_CRYPT_H too early. |
|
|
6413 | include/sproto.h: Needed updating. Unrelated to above changes. |
|
|
6414 | |
|
|
6415 | |
|
|
6416 | MSW 2000/11/22 |
|
|
6417 | server/main.c: Modify enter_exit so that it properly uses per player |
|
|
6418 | unique maps that are only in memory and not on disk. Remove unused |
|
|
6419 | variable from process events (unrelated change). |
|
|
6420 | |
|
|
6421 | PeterM 2000/11/18: |
|
|
6422 | New spells added: |
|
|
6423 | 1) Sanctuary (aura of counterwall) |
|
|
6424 | 2) Peace (make monsters unable to fight) |
|
|
6425 | 3) Spiderweb (create spider webs) |
|
|
6426 | 4) rage (heroism, armour, haste, regenration combined) |
|
|
6427 | 5) forked lightning (lightning which forks and strikes ) |
|
|
6428 | 6) flaming aura (aura of fire) |
|
|
6429 | 7) vitriol combined ball/cone/pool acid attack spell |
|
|
6430 | 8) vitriol splash (spell for internal use only) |
|
|
6431 | 9) ironwood skin (clerical version of armour spell) |
|
|
6432 | |
|
|
6433 | Not implemented: 10) poison fog |
|
|
6434 | |
|
|
6435 | MSW 2000/11/17: |
|
|
6436 | socket/metaserver.c: More changes - use fcntl to set O_NONBLOCK. Don't |
|
|
6437 | close socket if connect fails, since with sendto it is not required |
|
|
6438 | that the connect works. |
|
|
6439 | |
|
|
6440 | PeterM: 2000/11/17 |
|
|
6441 | define.h spells.h spellist.h spell_util.c spell_effect.c: |
|
|
6442 | windstorm spell implemented. |
|
|
6443 | attack.c: saving throw behavior modified. Items take a bit |
|
|
6444 | of DAM to destroy now instead of being destroyed with 1hp attacks. |
|
|
6445 | |
|
|
6446 | MSW: 2000/11/16: |
|
|
6447 | socket/metaserver.c: Add #ifdef MSG_DONTWAIT into metaserver.c for systems |
|
|
6448 | that lack that definition. |
|
|
6449 | random_maps/style.c: alphasort was not properly de-referencing pointers |
|
|
6450 | when doing name comparisons, and thus returned garbage results, |
|
|
6451 | resulting in a crash when entering random maps. This only happens |
|
|
6452 | for systems which lack scandir in normal libraries (like Solaris). |
|
|
6453 | BSDs and linux have scandir built in, and did not have a problem. |
|
|
6454 | server/disease.c: fix infect_object - server would crash if player did |
|
|
6455 | not have praying skill and was infecting someone else. |
|
|
6456 | end of changes, MSW 2000/11/16 |
|
|
6457 | |
|
|
6458 | PeterM : 2000/11/14 |
|
|
6459 | PeterM: Made some changes so that non-disease effects may be done without |
|
|
6460 | being labelled as a disease. Also, fixed a bug in which we'd kill something |
|
|
6461 | and then try to insert something in the killed thing's map. |
|
|
6462 | |
|
|
6463 | |
|
|
6464 | |
|
|
6465 | metaserver update: |
|
|
6466 | common/init.c: Add meta_ fields to settings structure initialization. |
|
|
6467 | include/global.h: Add meta_ fields to settings structure. |
|
|
6468 | include/sockproto.h: Updated for new meta_ functions. |
|
|
6469 | lib/Makefile.in: Have it install settings file. |
|
|
6470 | lib/settings: Default settings file with some metaserver default value.s |
|
|
6471 | server/init.c: Add load_settings file. Add call to metaserver_init. |
|
|
6472 | server/main.c: Add call to metaserver_update in do_specials. |
|
|
6473 | socket/Makefile.in: Add metaserver.c to list of files. |
|
|
6474 | socket/metaserver.c: File that deals with metaserver related data. |
|
|
6475 | socket/item.c: Remove some unused variables. Unrelated to metaserver changes. |
|
|
6476 | socket/loop.c: Add calls to metaserver_update in block_until_new)connection. Change |
|
|
6477 | function so that if there are no active players, it still timeouts and |
|
|
6478 | does metaserver update. Basically changed to do it the way the |
|
|
6479 | WATCHDOG code did it. |
|
|
6480 | End of metaserver update. MSW 2000-11-13 |
|
|
6481 | |
|
|
6482 | server/player.c: removed unused tmp2 variable from move_player_attack. |
|
|
6483 | modify depletion in kill_player so the maximum depletion for a stat is -50. This |
|
|
6484 | should preven stat wrapping from -126 to 127. MSW 2000-11-08 |
|
|
6485 | |
|
|
6486 | ============================================================================== |
|
|
6487 | MSW 2000-11-07 |
|
|
6488 | common/item.c: query_base_name was not return plural version of items |
|
|
6489 | with 'of' in name. Also, much of the function was not using safe_strcat, |
|
|
6490 | which could result in buffer overlow problems. |
|
|
6491 | |
|
|
6492 | common/object.c: Change update_position so that we always generate |
|
|
6493 | 3 images per space. This fixes players standing on top of dragon transports, |
|
|
6494 | but generally works for things like monsters standing on objects. |
|
|
6495 | insert_ob_in_map: change 'return' statement to 'return NULL'. Also |
|
|
6496 | remove unused map pointer. |
|
|
6497 | decrease_ob_nr: Fix bug for client updates when player drops item that |
|
|
6498 | is then consume. It was using op->above after object was removed to |
|
|
6499 | find the player. Store above pointer before we remove the object. |
|
|
6500 | |
|
|
6501 | socket/item.c: Don't terminate pointer as returned by query_base_name - |
|
|
6502 | instead, terminator buffer after we copy it. For simple object, |
|
|
6503 | query_base_name may directly return a pointer to the objects name |
|
|
6504 | which is only long enough to hold the name itself. |
|
|
6505 | |
|
|
6506 | socket/lowlevel.c: Abort if we are trying to send the client a packet |
|
|
6507 | longer than supported by the protocol. Since that buffer is static, |
|
|
6508 | overflowing it will just create memory corruption - easier to stop |
|
|
6509 | then than try and debug it later. |
|
|
6510 | |
|
|
6511 | End of MSW checkin 2000-11-7 |
|
|
6512 | ============================================================================== |
|
|
6513 | |
|
|
6514 | |
|
|
6515 | PeterM: 2000-11-06 |
|
|
6516 | server/spell_util.c crash bug removed from move ball lightning: |
|
|
6517 | ball lightning mover improved in general. --PeterM |
|
|
6518 | |
|
|
6519 | -------------------------------------------- |
|
|
6520 | --- BEGIN stop_item() / attack fix patch --- Jan Echternach 2000-11-06 |
|
|
6521 | -------------------------------------------- |
|
|
6522 | |
|
|
6523 | Summary of this patch: Provide new stop_item() function for properly |
|
|
6524 | handling "moving" items on a map (flying arrows, thrown objects, |
|
|
6525 | active cones); obsoletes the workarounds. Fix some attack bugs (with |
|
|
6526 | possible server crashes) - many attackers attacked while being |
|
|
6527 | removed, even though much code could only handle the attacker being on |
|
|
6528 | the same map as the victim (not even the attacker being in the |
|
|
6529 | victim's inventory, e.g. poison). |
|
|
6530 | |
|
|
6531 | common/object.c: insert_ob_in_map(): Call check_walk_on() after |
|
|
6532 | update_object() because the latter needs to update some very |
|
|
6533 | important flags used by a lot of code before this code is called |
|
|
6534 | by check_walk_on(). |
|
|
6535 | |
|
|
6536 | common/object.c: get_split_ob(): Completed support for splitting |
|
|
6537 | removed objects. |
|
|
6538 | |
|
|
6539 | common/object.c: decrease_ob_nr(): Rewrote this function: Added |
|
|
6540 | support for removed objects. Removing an object completely didn't |
|
|
6541 | always update the environment's weight properly. Removing an amount |
|
|
6542 | of 0 from an object with nrof == 0 destroyed the object. Improved |
|
|
6543 | performance a bit (don't need to update the player's weight if an |
|
|
6544 | object below the player is modified). |
|
|
6545 | |
|
|
6546 | server/apply.c: move_apply(): Added recursion limit. |
|
|
6547 | |
|
|
6548 | server/apply.c: move_apply(): THROWN_OBJ and ARROW: Use new |
|
|
6549 | hit_with_arrow() function. |
|
|
6550 | |
|
|
6551 | server/apply.c: move_apply(): FBULLET and BULLET: Call |
|
|
6552 | check_fired_arch() only when the victim blocks the square (FLAG_NO_PASS |
|
|
6553 | or FLAG_ALIVE). |
|
|
6554 | |
|
|
6555 | server/attack.c: save_throw_object(): Use new stop_item() function |
|
|
6556 | before trying to modify an object. Added originator to all |
|
|
6557 | insert_ob_in_map() calls. |
|
|
6558 | |
|
|
6559 | server/attack.c: hit_map(): Added log message if the hitter is not on |
|
|
6560 | a map. Added was_destroyed() check after calling save_throw_object(). |
|
|
6561 | |
|
|
6562 | server/attack.c: get_attack_mode() and abort_attack(): New functions |
|
|
6563 | to determine the type of attack (simple or full attack). |
|
|
6564 | |
|
|
6565 | server/attack.c: attack_ob(): Now only attack_ob_simple() with default |
|
|
6566 | damage and weapon class values. |
|
|
6567 | |
|
|
6568 | server/attack.c: attack_ob_simple(): Contains most of old attack_ob(), |
|
|
6569 | but takes damage and weapon class as parameters, needed for |
|
|
6570 | hit_with_arrow(). Uses get_attack_mode() and abort_attack() to |
|
|
6571 | support new "simple" attack mode. |
|
|
6572 | |
|
|
6573 | server/attack.c: stick_arrow() and hit_with_arrow(): Moved those parts |
|
|
6574 | of old stop_arrow() and move_arrow() that dealt with attacking a |
|
|
6575 | victim over here. |
|
|
6576 | |
|
|
6577 | server/attack.c: hit_player(): Uses get_attack_mode() and |
|
|
6578 | abort_attack() to support new "simple" attack mode. |
|
|
6579 | |
|
|
6580 | server/attack.c: paralyze_player(): Use insert_ob_in_map_simple() |
|
|
6581 | instead of insert_ob_in_map() because the callers are not prepared for |
|
|
6582 | this function triggering any complex machinery, and |
|
|
6583 | insert_ob_in_map_simple() should be enough for plain visual effects. |
|
|
6584 | |
|
|
6585 | server/attack.c: thrown_item_effect(): Don't need to deal with thrown |
|
|
6586 | objects, hit_with_arrow() already does everything necessary. |
|
|
6587 | |
|
|
6588 | server/attack.c: adj_attackroll(): Added log message if hitter and |
|
|
6589 | victim are not on the same map. |
|
|
6590 | |
|
|
6591 | server/c_object.c: Fixed two typos in "can't pick up xxx" messages. |
|
|
6592 | |
|
|
6593 | server/c_object.c: pick_up_object(): Removed can_pick() check because |
|
|
6594 | pick_up() already checks this. Added support for picking up removed |
|
|
6595 | objects because the stop_item() in pick_up() can now call us with |
|
|
6596 | removed objects. Moved FLAG_STARTEQUIP check to pick_up(). Fixed |
|
|
6597 | weight limit lookup for monsters that have strength > MAX_STAT. |
|
|
6598 | |
|
|
6599 | server/c_object.c: pick_up(): Use new stop_item() function. |
|
|
6600 | |
|
|
6601 | server/player.c: fire_bow() and server/skills.c: do_throw(): Removed |
|
|
6602 | FLAG_NO_PICK workaround for flying objects. stop_item() now handles |
|
|
6603 | this correctly. |
|
|
6604 | |
|
|
6605 | server/rune.c: spring_trap(): Fix unlimited trap recursion. Since |
|
|
6606 | traps are triggered by move_apply(), the result of triggering a trap |
|
|
6607 | may trigger the trap again before it is deactivated. |
|
|
6608 | |
|
|
6609 | server/rune.c: spring_trap(): Runes that don't cast spells can only be |
|
|
6610 | triggered by living objects. |
|
|
6611 | |
|
|
6612 | server/spell_effect.c: move_cancellation(): Don't call hit_map() with |
|
|
6613 | a removed attacker. |
|
|
6614 | |
|
|
6615 | server/spell_util.c: cast_cone(): Only print warning message about |
|
|
6616 | cones that don't have FLAG_FLY/WALK_ON if the cone does any damage. |
|
|
6617 | |
|
|
6618 | server/spell_util.c: move_cone(): Removed workaround for cones in ice |
|
|
6619 | cubes. stop_item() now handles this correctly. |
|
|
6620 | |
|
|
6621 | server/spell_util.c: explode_object(): Rewrote this function: New |
|
|
6622 | interface - exploding object must not be removed when the function is |
|
|
6623 | called, it must have an other_arch (i.e. it must be able to explode), |
|
|
6624 | and it will be gone for sure when the function terminates. Removed |
|
|
6625 | some code with no effect. Don't call any attack functions with |
|
|
6626 | removed attackers. |
|
|
6627 | |
|
|
6628 | server/spell_util.c: check_fired_arch(): Rewrote this function. |
|
|
6629 | |
|
|
6630 | server/spell_util.c: move_fired_arch(): Rewrote most of this function: |
|
|
6631 | Don't attack with removed attackers. Call check_fired_arch() instead |
|
|
6632 | of duplicating its code. |
|
|
6633 | |
|
|
6634 | server/spell_util.c: move_ball_lightning(): Don't attack with removed |
|
|
6635 | attackers. Rewrote the movement algorithm to simplify this task. |
|
|
6636 | |
|
|
6637 | server/time.c: stop_item() and fix_stopped_item: New functions. |
|
|
6638 | |
|
|
6639 | server/time.c: fix_stopped_arrow(): Contains most of the old |
|
|
6640 | stop_arrow() function. Unlike stop_arrow(), it takes an arrow that is |
|
|
6641 | not removed. Removed FLACK_NO_PICK workaround. |
|
|
6642 | |
|
|
6643 | server/time.c: stop_arrow(): Stops arrows and thrown objects and puts |
|
|
6644 | them on the map. Sticking objects into targets is no longer handled |
|
|
6645 | by stop_arrow(), but by hit_with_arrow(). |
|
|
6646 | |
|
|
6647 | server/time.c: move_arrow(): Don't attack with removed attackers. |
|
|
6648 | |
|
|
6649 | socket/item.c: esrv_move_object(): Removed misleading comment. |
|
|
6650 | |
|
|
6651 | ------------------------------------------ |
|
|
6652 | --- END stop_item() / attack fix patch --- Jan Echternach 2000-11-06 |
|
|
6653 | ------------------------------------------ |
|
|
6654 | |
|
|
6655 | server/time.c: Add call to esrv_update_item to update the face for |
|
|
6656 | the client after the player chooses a class. MSW 11/3/2000 |
|
|
6657 | |
|
|
6658 | server/c_object.c, socket/item.c: Fixed for long item support. pick_up_object |
|
|
6659 | in c_object was overwriting a fixed length string, causing server crashes. |
|
|
6660 | item.c was not properly terminating plural version of object name, resulting |
|
|
6661 | in corrupt packets being sent to the client. MSW 11/2/2000 |
|
|
6662 | |
|
|
6663 | PeterM: |
|
|
6664 | ball lightning made stronger, strikes larger area, never |
|
|
6665 | hits player. |
|
|
6666 | divine shock spell added. |
|
|
6667 | |
|
|
6668 | include/sproto.h: Removed prototype of obsolete make_gravestone() |
|
|
6669 | function. |
|
|
6670 | server/apply.c: Put back gravestone_text() function that was removed |
|
|
6671 | accidently a while ago, needed by NOT_PERMADEATH. |
|
|
6672 | server/player.c: Don't use the dead player as the originator of object |
|
|
6673 | movements. Fixed string handling for NOT_PERMADEATH. |
|
|
6674 | - Jan Echternach 10/30/2000 |
|
|
6675 | |
|
|
6676 | |
|
|
6677 | Major race/class change by PeterM: |
|
|
6678 | BEGIN: |
|
|
6679 | ***************** |
|
|
6680 | apply.c: new function, apply changes to player. If the change is a CLASS, |
|
|
6681 | player receives certain attributes from the class. |
|
|
6682 | |
|
|
6683 | login.c: make sure people using the old race/class archetypes in their |
|
|
6684 | player files can still use them. |
|
|
6685 | |
|
|
6686 | player.c: |
|
|
6687 | 1) give_initial_items modified for greater flexibility: you |
|
|
6688 | can pass in a treasurelist. |
|
|
6689 | 2) Also, initial forces are applied to the player. |
|
|
6690 | 3) Comment added on the stat roll function. |
|
|
6691 | 4) Word of recall into the new class-choice map (unfortunately hard-wired.) for newly-rolled players. |
|
|
6692 | 5) gen_sp and gen_hp and gen_grace now allowed to go negative to slow down player |
|
|
6693 | regen. |
|
|
6694 | |
|
|
6695 | skill_util.c |
|
|
6696 | 1) Don't give out basic skills anymore. This interferes with the class code. |
|
|
6697 | |
|
|
6698 | spell_util.c |
|
|
6699 | 1) Praying failures moderated in frequency. |
|
|
6700 | 2) Summoned creatures enhanced in wc, speed, depending on casting level. |
|
|
6701 | 3) Word of recall allowed to work in no-magic areas if a flag is set. |
|
|
6702 | |
|
|
6703 | time.c |
|
|
6704 | 1) Move player changer function added. |
|
|
6705 | 2) Marker object expiration added. |
|
|
6706 | |
|
|
6707 | living.c: cleric fail chance array modified. |
|
|
6708 | |
|
|
6709 | map.c: bugfix for random map/recycle tmp map problem. |
|
|
6710 | |
|
|
6711 | define.h: defines added for playerchangers and class types |
|
|
6712 | base 10 numbers added for the spell paths. |
|
|
6713 | |
|
|
6714 | spellist.h: fixed up summoning spells a little |
|
|
6715 | |
|
|
6716 | sproto.h: new prototypes |
|
|
6717 | |
|
|
6718 | config.h: hate RECYCLE_TMP_MAPS, turned it off |
|
|
6719 | |
|
|
6720 | maps/HallOfSelection: new map for class choice. |
|
|
6721 | |
|
|
6722 | lib/treasures: classs/race stuff heavily modified |
|
|
6723 | lib/archetypes, animation, bmaps, bmaps.paths, crossfire.png faces |
|
|
6724 | crossfire.xbm New faces, etc. |
|
|
6725 | |
|
|
6726 | END race/class stuff 10/16/2000 |
|
|
6727 | apply.c: bugfix for random map/recycle tmp maps interaction. --PeterM 10/16/200 |
|
|
6728 | |
|
|
6729 | include/skill* server/skill_util.c: levitation skill added. |
|
|
6730 | 9/26/2000. --PeterM |
|
|
6731 | |
|
|
6732 | common/map.c server/apply.c: Fix an interaction between |
|
|
6733 | RECYCLE_TMP_MAPS and random maps which would cause crashing. |
|
|
6734 | peterm: 10/12/2000 |
|
|
6735 | |
|
|
6736 | disease.c spell_effect.c: peterm: 10/5/2000 |
|
|
6737 | 1) Diseases moderated in power by ~1/2 and randomized. |
|
|
6738 | Now monsters can have a mild/moderate/serious/fatal case |
|
|
6739 | of a particular disease. |
|
|
6740 | 2) cause disease spells modified to NOT go through objects |
|
|
6741 | spells ordinarily couldn't go through. |
|
|
6742 | |
|
|
6743 | ------------------------------------------------------------------------------ |
|
|
6744 | |
|
|
6745 | Changes for 0.95.7: |
|
|
6746 | |
|
|
6747 | README: Add crossfire.csua.berkeley.edu server. |
|
|
6748 | TODO: Remove entry about setable behaviour for keyrings, since that has now |
|
|
6749 | been done. |
|
|
6750 | include/patchlevel.h, Makefile.in: Update for 0.95.7 MSW 9/20/2000 |
|
|
6751 | |
|
|
6752 | lib/maps: got rid of the stuff that was there. Useless stuff. |
|
|
6753 | the maps dist. is the thing to use. --PeterM |
|
|
6754 | |
|
|
6755 | |
|
|
6756 | common/living.c, server/skill_util.c: Patches by Garth Denley: |
|
|
6757 | Fixes divide by zero crash, sets up perm exp when a new player is loaded, |
|
|
6758 | seperates permanent exp code/calculations into another function. |
|
|
6759 | checked in by MSW, 8/24/2000 |
|
|
6760 | |
|
|
6761 | lib/crossfire.png: ground/sea*png - remove transperancies from png images |
|
|
6762 | since they should not be transparent. MSW 8/23/2000 |
|
|
6763 | |
|
|
6764 | doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify |
|
|
6765 | to make gif images from png source instead of xpm images. A valid question |
|
|
6766 | to ask is why convert to gif at all and not just keep in PNG format. The |
|
|
6767 | answer right now is that png support in netscape at least still is not very |
|
|
6768 | good, and it displays gifs better. MSW 8/8/2000 |
|
|
6769 | |
|
|
6770 | Add/Remove some LOG calls: |
|
|
6771 | common/living.c: Remove log messages about gen_sp values on armor |
|
|
6772 | server/login.c, server/main.c: Add messages about player logins/logouts with |
|
|
6773 | IP address. Useful for tracking potentially troublesome players and where |
|
|
6774 | they are player from. MSW 8/7/2000 |
|
|
6775 | |
|
|
6776 | The following change basically does the following: When the server sends an |
|
|
6777 | item name to the client, this item name is now two pieces - the first piece |
|
|
6778 | of the name is its singular form, the second piece is the plural name. This |
|
|
6779 | now makes items in the inventory appear more proper in terms of pluralization |
|
|
6780 | and just normal English. I did notice that the server does not know how |
|
|
6781 | to properly make 'torch' plural - it turns it into torchs. A matching |
|
|
6782 | check in for the client has also been done. |
|
|
6783 | include/newserver.h: Update VERSION_SC to 1024 |
|
|
6784 | common/item.c: Change query_base_name to take a second option on whether |
|
|
6785 | we should generate a plural version of the name or not. |
|
|
6786 | socket/item.c: Modify functions to use second argument on the query_base_name |
|
|
6787 | function. Update item commands to send two part names (singular & plural). |
|
|
6788 | Modify esrv_send_look to use item1 protocol command instead of item command. |
|
|
6789 | server/c_object.c: Update item_matched_string to use second option to |
|
|
6790 | query_base_name. Modify function to check against both singular and |
|
|
6791 | plural versions of name. |
|
|
6792 | server/shop.c: Modify shop_listing command usage in query_basename to use |
|
|
6793 | second option. It will also generate the singular name, but that is only |
|
|
6794 | used on sorting, so I don't think it will generally cause any problems. |
|
|
6795 | include/libproto.h: rebuilt because query_base_name has an addition opt. |
|
|
6796 | Mark Wedel 8/6/2000 |
|
|
6797 | |
|
|
6798 | include/config.h, include/global.h, common/init.c, common/living.c, |
|
|
6799 | server/init.c, server/player.c, server/skill_util.c: Add permanent |
|
|
6800 | experience and balanced stat loss features (code by Garth Denley). |
|
|
6801 | Permanent experience make some experience in the skills permanent. Balance |
|
|
6802 | stat loss makes stat loss less likely/costly at low level and more costly |
|
|
6803 | at higher levels. These features are by default off, but can be turned |
|
|
6804 | on either in the config.h file or via command line options. Code checked |
|
|
6805 | in by MSW 8/1/2000 |
|
|
6806 | |
|
|
6807 | server/time.c: Update the change_object function such that if the object |
|
|
6808 | is in a players inventory, send a delete & send_item for the object that |
|
|
6809 | has changed (the delete + send_item is necessary due to the ways objects |
|
|
6810 | change, so we just can't sent a update_item). This fixes the 'torches |
|
|
6811 | go dim & then out but client inventory not updated' bug, and likely fixes |
|
|
6812 | some other problems - I am not sure how many other objects out there |
|
|
6813 | change. MSW 7/28/2000 |
|
|
6814 | |
|
|
6815 | random_maps/treasure.c: potential crash bug fixed. Only applied |
|
|
6816 | when a bad archetype was given as a wallstyle. I will also put |
|
|
6817 | in a redundant archetypes fix. --PeterM 7/26/00 |
|
|
6818 | |
|
|
6819 | lib/adm/map_info, lib/adm/map_check: Update to use new layout of installed |
|
|
6820 | files (share/crossfire), know about random exits (it doesn't do any checking |
|
|
6821 | to make sure the values are sane, which it probably should, but at least it |
|
|
6822 | won't complain about them), update to use /usr/bin/perl. MSW 7/25/2000 |
|
|
6823 | |
|
|
6824 | server/resurrection.c |
|
|
6825 | include/spellist.h: PeterM: fixed a few unintended things about |
|
|
6826 | resurrection: experience removal was wrong, spellpoints/levels |
|
|
6827 | changed. --PetrM |
|
|
6828 | |
|
|
6829 | lib/archetypes: Update to keep in sync with arch tree. Changes to |
|
|
6830 | about a dozen arch's to remove the 'a' in their name. MSW 6/27/2000 |
|
|
6831 | |
|
|
6832 | server/c_object.c: Fix command_drop which was doing incorrect check for |
|
|
6833 | invisible object - it was supposed to skip over them and only do visible |
|
|
6834 | objects, instead it was doing the reverse. Fixes the 'drop command. |
|
|
6835 | MSW 6/27/2000 |
|
|
6836 | |
|
|
6837 | server/input.c: Make the inventory command more robust for very long |
|
|
6838 | object names - specify a maximum number of characters we will take from |
|
|
6839 | the name. Without this, you could get buffer overruns that cause crashes. |
|
|
6840 | No normally generated items would ever likely have names long enough to |
|
|
6841 | exploit this bug however. MSW 6/27/2000 |
|
|
6842 | |
|
|
6843 | INSTALL, README: Update mailing address to real-time address. MSW 6/27/2000 |
|
|
6844 | |
|
|
6845 | server/login.c: Load and save usekeys value in player save file. MSW 6/27/2000 |
|
|
6846 | |
|
|
6847 | Patch by Jeffry Hantin which fixes glow objects in map. |
|
|
6848 | insert_ob_in_map_simple now will call the appropriate light updating code. |
|
|
6849 | Applied by MSW 6/26/2000 |
|
|
6850 | |
|
|
6851 | server/player.c: check_pick(): Rewrite of this function to consistently |
|
|
6852 | skip items that can't be picked up, and to only use a single loop over all |
|
|
6853 | items on the map square. - Jan Echternach 6/23/2000 |
|
|
6854 | |
|
|
6855 | ------------------------------------------------------------------------------ |
|
|
6856 | Changes for 0.95.6: |
|
|
6857 | |
|
|
6858 | server/monster.c: Patch by Neil Muller so that corrupt/bad @match entries |
|
|
6859 | will not cause the server to crash. Applied by MSW 6/21/2000 |
|
|
6860 | |
|
|
6861 | lib/archetypes: rebuilt for 0.95.6 |
|
|
6862 | lib/collect.pl: Modify to search the archetypes directories in alphabetical |
|
|
6863 | order - before I believe they were collected in basically inode order. |
|
|
6864 | This should make it easier to multiple people to run the collect script |
|
|
6865 | not have basically an entirely new archetyeps file. MSW 6/21/2000 |
|
|
6866 | |
|
|
6867 | server/commands.c; server/c_object.c: dump_object_from_tag(): Removed |
|
|
6868 | broken command. Fixes server crashes very easily triggered by players. |
|
|
6869 | - Jan Echternach 6/21/2000 |
|
|
6870 | |
|
|
6871 | server/attack.c: deathstrike_player(): Check for def_lev == 0 very early |
|
|
6872 | (and print error message if we find such an invalid level). Should fix |
|
|
6873 | server crash in case archetypes or maps get broken again in that an |
|
|
6874 | alive object has level < 1. - Jan Echternach 6/21/2000 |
|
|
6875 | |
|
|
6876 | Makefile.in: Update version to 0.95.6 |
|
|
6877 | include/patchlevel.h: Update to .6 for 0.95.6 release |
|
|
6878 | common/porting.c, include/config.h, include/loader.h, include/skills.h, |
|
|
6879 | include/spells.h, include/treasure.h, include/version.h, random_maps/style.c: |
|
|
6880 | Update my mail address and copyright date. Mostly committed to sync |
|
|
6881 | up my data with the CVS repository - MSW 6/20/2000 |
|
|
6882 | |
|
|
6883 | random_maps/treasure.c server/apply.c: made containers able to |
|
|
6884 | have more than one treasure in them, made a fix to treasure.c, which would |
|
|
6885 | change the options given to it in an unintended way. --PeterM 6/20/2000 |
|
|
6886 | |
|
|
6887 | |
|
|
6888 | common/living.c: fix_player(): Bugfix: Don't reset FLAG_FLYING, |
|
|
6889 | FLAG_REFL_SPELL, FLAG_REFL_MISSILE and FLAG_SEE_IN_DARK if the archetype |
|
|
6890 | has these flags. - Jan Echternach 6/19/2000 |
|
|
6891 | |
|
|
6892 | |
|
|
6893 | random_maps/* Numerous changes improving random maps, including |
|
|
6894 | two crash-fixes, a new type of 'special', ability to copy inventory |
|
|
6895 | of monsters when putting them into maps... --PeterM 6/19/2000 |
|
|
6896 | |
|
|
6897 | New naming scheme for random maps: they won't grow in size |
|
|
6898 | indefinitely anymore. --PeterM 6/17/2000 |
|
|
6899 | |
|
|
6900 | server/input.c: command_cast_spell(): Bugfix: Call check_skill_to_fire() |
|
|
6901 | even for wizards because this function has the important side effect |
|
|
6902 | of setting the current skill and experience objects. |
|
|
6903 | - Jan Echternach 6/19/2000 |
|
|
6904 | |
|
|
6905 | server/apply.c: apply_treasure(): Bugfix: We need to trigger runes as |
|
|
6906 | they are found in the treasure chest, because move_rune() will no longer |
|
|
6907 | trigger them for us. - Jan Echternach 6/18/2000 |
|
|
6908 | |
|
|
6909 | Updated the INSTALL directions. MSW 6/16/2000 |
|
|
6910 | |
|
|
6911 | Modified the editor to make certain objects (teleporters, creators, |
|
|
6912 | markers) more easily editable. --PeterM 6/16/2000 |
|
|
6913 | |
|
|
6914 | Modifed how firewalls worked. They can now be triggered by |
|
|
6915 | handles as well as turned. Ones which are turned by handles |
|
|
6916 | cannot be triggered by handles. PeterM 6/15/2000 |
|
|
6917 | |
|
|
6918 | fixes to random_maps: |
|
|
6919 | exit.c: won't crash if named final_map doesn't exist |
|
|
6920 | room_gen_onion.c: reordered the options more sanely |
|
|
6921 | special.c: fixed a crash-bug: nuke_map would nuke parts of monsters, but |
|
|
6922 | not the whole monster. --PeterM |
|
|
6923 | |
|
|
6924 | server/skill_util.c: Fix type in change_skill - was doing an == operation |
|
|
6925 | when it should just have been an =. MSW 6/13/2000 |
|
|
6926 | |
|
|
6927 | common/anim.c: animation_object() - return if object does not have a valid |
|
|
6928 | animation after logging error. Before, we logged the error and would |
|
|
6929 | promptly crash. MSW 6/13/2000 |
|
|
6930 | |
|
|
6931 | server/apply.c: apply_treasure(): Bugfix: Set FLAG_NO_APPLY before |
|
|
6932 | moving object to the top. - Jan Echternach 6/13/2000 |
|
|
6933 | |
|
|
6934 | server/time.c: move_marker(): Bugfix: Call update_ob_speed() after |
|
|
6935 | changing force->speed. - Jan Echternach 6/13/2000 |
|
|
6936 | |
|
|
6937 | server/spell_util.c: move_swarm_spell(): Improved distribution of |
|
|
6938 | fired objects. Fixed starting position of fired objects to be able to |
|
|
6939 | hit targets immediately in front the caster. - Patch by Jeffrey Hantin, |
|
|
6940 | applied by Jan Echternach 6/13/2000 |
|
|
6941 | |
|
|
6942 | server/disease.c, sproto.h, rune.c Fixes from jhantin@derringer.net for diseases: |
|
|
6943 | Reversed strstr calls, force argument added to infect_object, |
|
|
6944 | diseases in immune carrier last forever, needles use infect object, |
|
|
6945 | cast_cause_disease won't fail. --PeterM 6/9/2000 |
|
|
6946 | |
|
|
6947 | common/loader.l: Fix handling of objects with no animation. Fixes server |
|
|
6948 | crash if object's archetype has an animation, but object doesn't. |
|
|
6949 | - Jan Echternach 6/9/2000 |
|
|
6950 | |
|
|
6951 | common/loader.l: get_ob_diff(): Bugfix: Issue a "is_animated 0" line |
|
|
6952 | if the object has an animation, but doesn't have FLAG_ANIMATE. |
|
|
6953 | - Jan Echternach 6/9/2000 |
|
|
6954 | |
|
|
6955 | server/apply.c: manual_apply() and monster_apply_special(): Don't check |
|
|
6956 | for FLAG_UNPAID if object is applied. This should make the code more |
|
|
6957 | robust if an unpaid item get's applied accidently. |
|
|
6958 | - Jan Echternach 6/9/2000 |
|
|
6959 | |
|
|
6960 | server/apply.c: apply_special(): New optional flags AP_NO_MERGE and |
|
|
6961 | AP_IGNORE_CURSE. - Jan Echternach 6/9/2000 |
|
|
6962 | |
|
|
6963 | server/monster.c: find_mon_throw_ob(); server/skills.c: find_throw_ob(): |
|
|
6964 | Bugfix: Use AP_NO_MERGE flag to prevent unapplied object be merged with |
|
|
6965 | other objects. - Jan Echternach 6/9/2000 |
|
|
6966 | |
|
|
6967 | server/spell_effect.c: animate_weapon: Bugfixes: Correctly unapply |
|
|
6968 | weapon. Don't set FLAG_APPLIED directly on weapon in golem, but use |
|
|
6969 | apply_special(). Don't call esrv_send_item() when caster is not a player |
|
|
6970 | (fixes server crash if monster casts this spell). |
|
|
6971 | - Jan Echternach 6/9/2000 |
|
|
6972 | |
|
|
6973 | random_map/<various> Fixes in the map code for various things, including: |
|
|
6974 | 1) crash bug on |
|
|
6975 | multi-square monsters. 2) no treasures in final_map, 3) new feature of doing |
|
|
6976 | walls only, .... --PeterM 6/9/2000: |
|
|
6977 | |
|
|
6978 | common/button.c: do_mood_floor(): Bugfixes: Only players can have pets. |
|
|
6979 | Call add_friendly_object() for friendly monsters. |
|
|
6980 | - Jan Echternach 6/8/2000 |
|
|
6981 | |
|
|
6982 | server/spell_effect.c and server/spell_util.c: Several functions: Only |
|
|
6983 | add a pet if there really is a pet's owner, and it's a player. |
|
|
6984 | - Jan Echternach 6/8/2000 |
|
|
6985 | |
|
|
6986 | server/spell_effect.c: cast_charm() and cast_charm_undead(): Bugfixes: |
|
|
6987 | Only players can cast these spells. This fixes server crash if |
|
|
6988 | a monster casted a charm spell, and the charmed pet was killed. |
|
|
6989 | Call add_friendly_object for friendly monsters. |
|
|
6990 | - Jan Echternach 6/8/2000 |
|
|
6991 | |
|
|
6992 | common/friend.c: remove_friendly_object(): Use llevError for error |
|
|
6993 | messages. - Jan Echternach 6/8/2000 |
|
|
6994 | |
|
|
6995 | common/living.c: fix_player(); server/gods.c: tailor_god_spell(); |
|
|
6996 | server/spell_effect.c: summon_avatar() and animate_weapon(): Bugfix: Set |
|
|
6997 | a string to NULL after calling free_string(). This fixes a nasty bug |
|
|
6998 | that caused the string's reference count drop below 0, which resulted |
|
|
6999 | in corruption of malloc()'s internal data structures (and possibly |
|
|
7000 | server crashes). - Jan Echternach 6/8/2000 |
|
|
7001 | |
|
|
7002 | server/time.c: move_creator(): Bugfix: Call free_string() to free old |
|
|
7003 | values of op->name and op->title before overwriting them with new values. |
|
|
7004 | - Jan Echternach 6/8/2000 |
|
|
7005 | |
|
|
7006 | common/object.c: insert_ob_in_map_simple() and insert_ob_in_map(): |
|
|
7007 | Check that we don't insert freed objects. - Jan Echternach 6/8/2000 |
|
|
7008 | |
|
|
7009 | server/attack.c: hit_player_attacktype() and hit_player(): Bugfix: Check |
|
|
7010 | that find_god() really found a god, and that 'god->slaying' is not NULL. |
|
|
7011 | Fixes crash if a monster casted turn undead and actually hit something. |
|
|
7012 | - Jan Echternach 6/8/2000 |
|
|
7013 | |
|
|
7014 | server/attack.c: hit_player(): Check that a pet's owner is a player. |
|
|
7015 | Prevents server crashes if a monster has a pet monster due to a bug |
|
|
7016 | somewhere. Use llevError for error message. - Jan Echternach 6/8/2000 |
|
|
7017 | |
|
|
7018 | server/time.c: move_arrow(): Use llevDebug level for "Arrow had no |
|
|
7019 | map" message. - Jan Echternach 6/8/2000 |
|
|
7020 | |
|
|
7021 | server/c_object.c, server/spell_effect.c, server/spell_util.c: Bugfixes: |
|
|
7022 | Added some missing checks for destroyed objects. Use was_destroyed() |
|
|
7023 | or return value of insert_ob_in_map() to check for destroyed objects, |
|
|
7024 | not FLAG_FREED or FLAG_REMOVED. Don't use op->count of destroyed objects. |
|
|
7025 | - Jan Echternach 6/8/2000 |
|
|
7026 | |
|
|
7027 | server/shop.c: get_payment2(): Type of tag is 'tag_t', not 'long'. |
|
|
7028 | - Jan Echternach 6/8/2000 |
|
|
7029 | |
|
|
7030 | server/spell_effect.c: animate_bomb(): Fix environment checks. |
|
|
7031 | - Jan Echternach 6/8/2000 |
|
|
7032 | |
|
|
7033 | server/spell_util.c: fire_bolt(): Bugfix: Set level of bolt. |
|
|
7034 | - Jan Echternach 6/8/2000 |
|
|
7035 | |
|
|
7036 | server/spell_util.c: explosion(): Bugfix: Set FLAG_NO_APPLY before |
|
|
7037 | moving the exploding object to the top. - Jan Echternach 6/8/2000 |
|
|
7038 | |
|
|
7039 | server/spell_util.c: put_a_monster(): First create the monster |
|
|
7040 | completely, then just insert its head. - Jan Echternach 6/8/2000 |
|
|
7041 | |
|
|
7042 | server/time.c: generate_monster(): Bugfix: Don't free generators that |
|
|
7043 | are used up in this function. process_object() already does this. |
|
|
7044 | This fixes steambolt (which is a generator but must not used up here - |
|
|
7045 | generate_monster() wasn't looking at FLAG_IS_USED_UP) and all generators |
|
|
7046 | which should really be used up (because process_object() didn't expect |
|
|
7047 | generate_monster() to destroy the object). - Jan Echternach 6/8/2000 |
|
|
7048 | |
|
|
7049 | server/rune.c: trap_disarm(): Bugfix: Use SK_level() to determine |
|
|
7050 | disarmer's level. Fixes server crash if multisquare monster casts |
|
|
7051 | "disarm". - Jan Echternach 6/8/2000 |
|
|
7052 | |
|
|
7053 | server/attack.c: hit_map(): Use was_destroyed() to properly check for |
|
|
7054 | destroyed next object. Use llevError for error messages. Skip all |
|
|
7055 | objects that are (no longer) at the specified map position. |
|
|
7056 | - Jan Echternach 6/8/2000 |
|
|
7057 | |
|
|
7058 | server/map.h server/main.c Increased buffer sizes for map paths. |
|
|
7059 | Needed for random map code. --PeterM 6/6/2000 |
|
|
7060 | |
|
|
7061 | 6/4/2000: Fix done to disease.c which causes diseases to |
|
|
7062 | put experience into the appropriate category. --PeterM |
|
|
7063 | |
|
|
7064 | 6/4/2000: Added race fields to a lot of monsters. Modified |
|
|
7065 | disease arcs so that they'll be specific to races. Changed |
|
|
7066 | include/spellist.h to re-enable the disease spells. --PeterM |
|
|
7067 | |
|
|
7068 | 6/4/2000 (disease.c) Added a self-limiting parameter to diseases so |
|
|
7069 | that their power can be tuned to be reasonable. --PeterM |
|
|
7070 | |
|
|
7071 | lib/crossfire.png: Some floors modified to no longer have transperencies. |
|
|
7072 | include/newserver.h: Add Send_Face_Png made, also update versions of |
|
|
7073 | the protocol |
|
|
7074 | include/newclient.h: Add CF_FACE_PNG constant. |
|
|
7075 | socket/request.c: Add support for receiving PNG facemode request, |
|
|
7076 | ad final logic to send png images to the client. |
|
|
7077 | Changes by Mark Wedel, 6/2/2000 |
|
|
7078 | |
|
|
7079 | lib/checkarch.pl: Check for archetypes with type FIRECHEST but no level. |
|
|
7080 | - Jan Echternach 5/29/2000 |
|
|
7081 | |
|
|
7082 | server/apply.c: move_apply(): Added handling of THROWN_OBJ, CANCELLATION |
|
|
7083 | and BALL_LIGHTNING. |
|
|
7084 | server/spell_effect.c: cancellation(): Traverse inventory of objects |
|
|
7085 | with type THROWN_OBJ. |
|
|
7086 | - Jan Echternach 5/29/2000 |
|
|
7087 | |
|
|
7088 | server/player.c: fire_bow() and server_skills.c: do_throw(): Bugfix: Don't |
|
|
7089 | use op->count of freed objects. Use was_destroyed() to check for freed |
|
|
7090 | objects instead of QUERY_FLAG (FLAG_FREED). - Jan Echternach 5/29/2000 |
|
|
7091 | |
|
|
7092 | server/spell_util.c: fire_a_ball(): Bugfixes: Use op->other_arch as |
|
|
7093 | the archetype to fire, not FBULLET. (-> Firechests now cast fire balls |
|
|
7094 | again, not snowballs.) Set level of fired archetype. Check if object |
|
|
7095 | was destroyed after insert_ob_in_map(). - Jan Echternach 5/29/2000 |
|
|
7096 | |
|
|
7097 | server/time.c: move_firewall() and move_firechest(): Do nothing if |
|
|
7098 | object has no map. Fixes server crashes if a dm creates such a thing |
|
|
7099 | in the inventory. - Jan Echternach 5/29/2000 |
|
|
7100 | |
|
|
7101 | lib/collect.pl: Modify so that it does not complain about png files in the |
|
|
7102 | arch directory MSW 5/28/2000 |
|
|
7103 | |
|
|
7104 | common/item.c: Fix query_short_name - wasn't generating all item names |
|
|
7105 | properly because of changes made a few days ago - some areas manipulate |
|
|
7106 | the string being worked on and was not updating the length properly. |
|
|
7107 | MSW 5/26/2000 |
|
|
7108 | |
|
|
7109 | doc/mapguide: Fix some typos. MSW 5/26/2000 |
|
|
7110 | |
|
|
7111 | include/define.h: Add MIN_ACTIVE_SPEED value to determine what threshold |
|
|
7112 | something will be put on the active list or not instead of using |
|
|
7113 | varying values throughout the source code. |
|
|
7114 | common/item.c, common/object.c, server/monster.c, server/pets.c, |
|
|
7115 | server/spell_effect.c: Updated to use the MIN_ACTIVE_SPEED instead of |
|
|
7116 | hardcoded values. MSW 5/26/2000 |
|
|
7117 | |
|
|
7118 | include/define.h,include/global.h, common/image.c: Remove following old |
|
|
7119 | face information: INV_*_FACES, BLOCKED_FACE, STIPPLE[12]_FACE. This |
|
|
7120 | is just a general cleanup - the server has not used these since the |
|
|
7121 | X11 code was pulled from the server. MSW 5/26/2000 |
|
|
7122 | |
|
|
7123 | common/living.c: Add entries for the attack type AT_INTERNAL in description. |
|
|
7124 | include/material.h: Update to include saves against INTERNAL attacktype. |
|
|
7125 | include/living.h: Remove defunct objects_saves external referance. |
|
|
7126 | The additions of internal to the tables should not really be needed, as |
|
|
7127 | internal attacktypes should not be used publically, but these also act as |
|
|
7128 | placeholders for future attacktypes. MSW 5/26/2000 |
|
|
7129 | |
|
|
7130 | * server/attack.c: hit_map(), hit_player(); server/spell_effect.c: |
|
|
7131 | move_cone(); server/rune.c: spring_trap(); server/spell_util.c: |
|
|
7132 | move_missile(): Bugfix: Added missing was_destroyed() calls. |
|
|
7133 | * server/rune.c: spring_trap(): Bugfix: Call trap_show() before the rune |
|
|
7134 | has a chance to be destroyed. |
|
|
7135 | * server/attack.c: hit_map(), hit_player(): Check for freed objects |
|
|
7136 | right at the beginning of the function. Removed check that hitter has |
|
|
7137 | a name from hit_player(). |
|
|
7138 | * server/spell_util.c: move_cone(): Bugfix: Remove cone objects in |
|
|
7139 | inventories from active list, this fixes the cone without map problem when |
|
|
7140 | a flower was hit with ice and put into an icecube. |
|
|
7141 | * server/spell_util.c: move_missile(): Bugfix: Don't call hit_map() while |
|
|
7142 | missile is removed from the map. |
|
|
7143 | * server/apply.c: manual_apply(): Handle MMISSILE. |
|
|
7144 | - Jan Echternach 5/26/2000 |
|
|
7145 | |
|
|
7146 | * server/spell_effect.c: animate_weapon() and server/spell_util.c: |
|
|
7147 | summon_monster(): Bugfix: Set FLAG_FRIENDLY for friendly objects. |
|
|
7148 | - Jan Echternach 5/26/2000 |
|
|
7149 | |
|
|
7150 | * server/attack.c: hit_player(): Bugfix: remove_friendly_object() |
|
|
7151 | was called always after an object with type GOLEM had been killed, |
|
|
7152 | but friendly objects are objects with FLAG_FRIENDLY, not objects with |
|
|
7153 | type GOLEM. This fixes some "Remove_friendly_object(): Can't find |
|
|
7154 | object" errors. - Jan Echternach 5/26/2000 |
|
|
7155 | |
|
|
7156 | ----------------------------------- |
|
|
7157 | --- BEGIN apply() cleanup patch --- Jan Echternach 26/5/2000 |
|
|
7158 | ----------------------------------- |
|
|
7159 | |
|
|
7160 | * player specific code moved from apply() to player_apply() and |
|
|
7161 | player_apply_below(). |
|
|
7162 | |
|
|
7163 | * apply(): null pointer check removed |
|
|
7164 | |
|
|
7165 | * (bugfix?) print message if scroll is unusable because of invalid |
|
|
7166 | spell number |
|
|
7167 | |
|
|
7168 | * bugfix: if the altar casted a spell, the message was sent to the |
|
|
7169 | (destroyed!) sacrifice, not the player |
|
|
7170 | |
|
|
7171 | * split apply() -> move_apply() / manual_apply() |
|
|
7172 | |
|
|
7173 | * move_apply(), check_walk_on(), insert_ob_in_map() and other functions: |
|
|
7174 | New parameter 'originator' that is the object that caused another object |
|
|
7175 | to be inserted into the map. This removes the need to look through all |
|
|
7176 | map objects above an altar to find the player who dropped the sacrifice. |
|
|
7177 | |
|
|
7178 | * always check FLAG_UNPAID in manual_apply() |
|
|
7179 | |
|
|
7180 | * don't check FLAG_UNPAID in apply_special(), new function |
|
|
7181 | monster_apply_special() which checks FLAG_UNPAID and calls apply_special() |
|
|
7182 | |
|
|
7183 | * many new functions like apply_altar() and apply_spellbook() to make |
|
|
7184 | the switch statements in move_apply() and manual_apply() shorter |
|
|
7185 | |
|
|
7186 | * changes to actual apply() code: |
|
|
7187 | |
|
|
7188 | ALTAR: |
|
|
7189 | spell casting altars should work now if not operated by a player |
|
|
7190 | common/button.c, operate_altar(): altar's message is sent to altar's |
|
|
7191 | map, not player's map |
|
|
7192 | bugfix: if sacrifice was accepted, apply() didn't tell the caller |
|
|
7193 | that it has been destroyed |
|
|
7194 | ARROW, CONE, FBULLET, BULLET: |
|
|
7195 | now returns 'victim destroyed' if victim was killed by the attack |
|
|
7196 | TRAPDOOR: |
|
|
7197 | play sound only if something fell through the trapdoor |
|
|
7198 | print trapdoor message _before_ falling into trapdoor |
|
|
7199 | TRIGGER_ALTAR (in check_trigger()): |
|
|
7200 | don't check for sacrifices if called from animate_trigger() |
|
|
7201 | don't call check_trigger() from fix_auto_apply() anymore (this change |
|
|
7202 | breaks maps with altars that have their sacrifice already stored on |
|
|
7203 | them) |
|
|
7204 | DEEP_SWAMP: |
|
|
7205 | deep_swamp() -> walk_on_deep_swamp() / move_deep_swamp() |
|
|
7206 | when deep_swamp() (now move_deep_swamp()) is called from |
|
|
7207 | process_object(), assume that state (swamp->stats.food) is already 1 |
|
|
7208 | EXIT: |
|
|
7209 | removed support for multisquare players |
|
|
7210 | don't print 'is closed' message when moving on an exit, only print this |
|
|
7211 | message if exit is applied manually |
|
|
7212 | SIGN: |
|
|
7213 | only increment last_eat if it hadn't reached the limit yet |
|
|
7214 | SPELLBOOK: |
|
|
7215 | removed partial support for applying by monsters |
|
|
7216 | BOW, WAND, ROD, HORN: |
|
|
7217 | moved code to apply_special() |
|
|
7218 | CLOCK: |
|
|
7219 | bugfix: Monsters must not apply a clock, they would crash the server. |
|
|
7220 | POWER_CRYSTAL: |
|
|
7221 | Bugfix? Don't call esrv_update_item() if not applied by a player. |
|
|
7222 | LIGHTER: |
|
|
7223 | Bugfix? Just return 0 if not applied by a player. |
|
|
7224 | |
|
|
7225 | * changes to apply_special(): |
|
|
7226 | |
|
|
7227 | BOW: |
|
|
7228 | remove double check_skill_to_apply() |
|
|
7229 | ROD, HORN: |
|
|
7230 | change message from "you apply ..." to "you ready ..." |
|
|
7231 | |
|
|
7232 | BOW: FLAG_READY_BOW is now set by apply_special(), but that seems |
|
|
7233 | redundant because monster_check_apply() also sets this flag. Remove |
|
|
7234 | setting of this flag from apply_special() because it could have a |
|
|
7235 | more complex meaning in monster.c or remove setting of this flag from |
|
|
7236 | monster_check_apply() because such stuff should be handled in apply.c? |
|
|
7237 | FLAG_READY_BOW is also unset in apply_special() if a bow is unapplied. |
|
|
7238 | |
|
|
7239 | CONE: |
|
|
7240 | don't multiply damage by 20 |
|
|
7241 | SIGN: |
|
|
7242 | you can hear magic mouths even if you are blind |
|
|
7243 | however, now you can also read signs with FLAG_WALK_ON/FLAG_FLY_ON if you are |
|
|
7244 | blind |
|
|
7245 | (different object types or a new flag would be required) |
|
|
7246 | RUNE: |
|
|
7247 | detonation moved from move_rune() to move_apply() -> runes will now always |
|
|
7248 | detonate if somebody steps on them |
|
|
7249 | allow runes with FLAG_FLY_ON |
|
|
7250 | |
|
|
7251 | completely removed GRAVE and MONEY_CHANGER |
|
|
7252 | |
|
|
7253 | common/object.c: was_destroyed(): new function |
|
|
7254 | include/object.h: new typedef tag_t |
|
|
7255 | move_apply() returns void, check_walk_on() uses was_destroyed() |
|
|
7256 | |
|
|
7257 | lib/checkarch.pl: |
|
|
7258 | check for archetypes with walk_on, walk_off, fly_on or fly_off and without |
|
|
7259 | a type |
|
|
7260 | check for archetypes with type FIREWALL (type 62) and without a level |
|
|
7261 | |
|
|
7262 | * server/apply.c: Bugfix: Don't skip calls to change_skill() if wizard - |
|
|
7263 | calc_skill_exp() requires change_skill() to set the current experience object. |
|
|
7264 | |
|
|
7265 | * server/monster.c: find_mon_throw_ob(): Bugfix: Unapply applied object even |
|
|
7266 | if heaviest object was choosen. |
|
|
7267 | Bugfix: Use monster_apply_special() to unapply, clearing FLAG_APPLIED isn't |
|
|
7268 | enough. -> Should fix the "HAS_READY_BOW without bow" errors. |
|
|
7269 | * server/skills.c: find_throw_ob(): Bugfix: Use player_apply(), clearing |
|
|
7270 | FLAG_APPLIED isn't enough. |
|
|
7271 | Replace redundant check for FLAG_INV_LOCKED with error message at end of |
|
|
7272 | function if the first check failed somehow and we have choosen an object with |
|
|
7273 | FLAG_INV_LOCKED. |
|
|
7274 | make_throw_ob(): error message if object is applied |
|
|
7275 | |
|
|
7276 | * lib/checkarch.pl: check that potions (type 5, POTION) have a level |
|
|
7277 | |
|
|
7278 | * server/apply.c: apply_special(): Handle all cases of applying and unapplying |
|
|
7279 | skill objects. |
|
|
7280 | * server/apply.c: manual_apply(SKILL): Just call apply_special(). |
|
|
7281 | * server/skill_util.c: change_skill(): Rewrite to simply use apply_special() |
|
|
7282 | for changing skills. |
|
|
7283 | |
|
|
7284 | * server/apply.c: apply_special(): Bugfix: Fixed return values. |
|
|
7285 | |
|
|
7286 | * server/skill_util.c: link_player_skills(): Bugfix: Don't set exp_obj for |
|
|
7287 | (visible) skill tools. |
|
|
7288 | * server/skill_util.c: link_player_skills(): Bugfix? Reset op->chosen_skill |
|
|
7289 | and FLAG_READY_SKILL because we have unapplied all skills. |
|
|
7290 | * server/input.c: legal_range(): Bugfix: range_skill is valid only if |
|
|
7291 | op->chosen_skill != NULL, not when there is some (unapplied) skill somewhere |
|
|
7292 | in the inventory. |
|
|
7293 | * server/login.c: check_login(): Bugfix: call legal_range() after |
|
|
7294 | init_player_skills() - we can't handle range_skill correctly if skills haven't |
|
|
7295 | been initialized. |
|
|
7296 | * server/login.c: check_login(): Bugfix: Check return value of legal_range(), |
|
|
7297 | and reset op->contr->shoottype to range_none if range was invalid. |
|
|
7298 | * server/login.c: check_login(): Bugfix: Don't call fix_weight() - fixing |
|
|
7299 | the weight of _all_ players isn't necessary. Just initialize op->carrying |
|
|
7300 | directly with sum_weight() instead. This also removes the problem of |
|
|
7301 | updating the weight of an object that hasn't been sent to the client yet. |
|
|
7302 | * server/login.c: check_login(): Bugfix: We need to call fix_player() |
|
|
7303 | (init_player_skills() needs this, and it also makes the code more robust). |
|
|
7304 | |
|
|
7305 | * server/apply.c: apply_altar(): Bugfix: Print altar's message before |
|
|
7306 | casting the spell. |
|
|
7307 | |
|
|
7308 | * server/spell_util.c: move_cone(): Use copy_owner() instead of set_owner() |
|
|
7309 | and manually correcting the skill and experience object pointers. |
|
|
7310 | * server/spell_util.c: cast_cone(): Don't set FLAG_FLYING - the archetype |
|
|
7311 | needs to have this anyway for move_cone() to work properly. Instead, print |
|
|
7312 | error messages if FLAG_FLYING, FLAG_WALK_ON or FLAG_FLY_ON are missing. |
|
|
7313 | |
|
|
7314 | * server/apply.c: move_apply(): TRAPDOOR: Bugfix: Multiply by op->nrof when |
|
|
7315 | calculating the weight. |
|
|
7316 | |
|
|
7317 | * randommaps/standalone.c, server/apply.c: fix_auto_apply(): Bugfix: Don't |
|
|
7318 | call check_trigger() for objects of type TRIGGER. For other trigger types, |
|
|
7319 | call check_trigger() only if there is an object above the trigger. |
|
|
7320 | This can be used to implement doors that are only open shortly after the map |
|
|
7321 | has been loaded. |
|
|
7322 | * common/button.c: check_trigger(): Many changes. The triggers should now |
|
|
7323 | behave as described in crossfire.doc. -> This breaks maps that rely on old |
|
|
7324 | buggy behaviour. |
|
|
7325 | |
|
|
7326 | * server/monster.c: monster_apply_below(): will_apply & 1 now also applies |
|
|
7327 | TRIGGER objects, not only HANDLE objects. Allows an interesting solution for |
|
|
7328 | /asyvan/gate9 if there is no second player who can open the middle grate. |
|
|
7329 | |
|
|
7330 | * common/button.c: check_trigger(TRIGGER_PEDESTAL) and update_button(PEDESTAL): |
|
|
7331 | Bugfix: Handle objects with heads correctly. |
|
|
7332 | |
|
|
7333 | * server/c_object.c: drop_object() and socket/item.c: look_at(): Bugfix: If a |
|
|
7334 | player is moved on top with remove_ob()/insert_ob_in_map(), FLAG_NO_APPLY must |
|
|
7335 | be set temporarily. |
|
|
7336 | * common/object.c: remove_ob(): Bugfix: Don't call move_apply_func() if |
|
|
7337 | FLAG_NO_APPLY is set. |
|
|
7338 | |
|
|
7339 | * server/apply.c: manual_apply(): Don't call apply_special() for objects |
|
|
7340 | that are not in the inventory. Return 2 in this case. |
|
|
7341 | * server/apply.c: player_apply_below(): Skip objects for which manual_apply() |
|
|
7342 | returned 2. |
|
|
7343 | |
|
|
7344 | * server/apply.c: apply_spellbook(): Bugfix: Don't give experience for items |
|
|
7345 | with FLAG_STARTEQUIP. |
|
|
7346 | |
|
|
7347 | --------------------------------- |
|
|
7348 | --- END apply() cleanup patch --- Jan Echternach 26/5/2000 |
|
|
7349 | --------------------------------- |
|
|
7350 | |
|
|
7351 | server/input.c: modify examine_monster to use the maxhp field instead of |
|
|
7352 | the arch hp field to determine healthiness of the monster. Also, give |
|
|
7353 | this information for all creatures, not just monsters or players. |
|
|
7354 | MSW 5/23/200 |
|
|
7355 | |
|
|
7356 | socket/item.c: Add MAXITEMLEN define at top of file and use that to determine |
|
|
7357 | at what point item commands should be broken up. Prior hard coded value |
|
|
7358 | was not always large enough. MSW 5/23/2000 |
|
|
7359 | |
|
|
7360 | include/define.h: add safe_strcat inline/static function. Add |
|
|
7361 | DESCRIBE_ABILITY_SAFE and DESCRIBE_PATH_SAFE which use the safe_strcat |
|
|
7362 | to prevent buffer overuns. |
|
|
7363 | common/item.c: Have query_name use HUGE_BUF for its buffer - query_short_name |
|
|
7364 | uses that buffer size, and we call the same thing. have quer_name and |
|
|
7365 | query_short_name use the safe_strcat function. Increase buffer size |
|
|
7366 | in ring_desc to be a VERY_BIG_BUF and also use safe_strcat along with the |
|
|
7367 | DESCRIBE_*_SAFE macros. |
|
|
7368 | server/input.c: Modify examine.c to not get buffer overruns for very long/ |
|
|
7369 | complicated items. Modify long_desc to also handle long names/descriptions |
|
|
7370 | without buffer overruns. |
|
|
7371 | socket/item.c: Modify the functions that prepend the length to the name |
|
|
7372 | of the object to handle very long (>255) object names properly - now we |
|
|
7373 | just truncate it and only send the first 255 bytes. add function |
|
|
7374 | add_stringlen_to_sockbuf to make this task easier. |
|
|
7375 | With the above changes, very long named items/items with very long |
|
|
7376 | descriptions works properly in both the server (no crashes) and the |
|
|
7377 | client (no crashes/protocol errors) MSW 5/22/2000 |
|
|
7378 | |
|
|
7379 | common/item.c: Modify query_short_name to avoid buffer overflow on long |
|
|
7380 | ring descriptions. Also, increased size of buffer in this function so |
|
|
7381 | that longer ring descriptions will not get truncated. MSW 5/22/2000 |
|
|
7382 | |
|
|
7383 | server/c_chat.c: Add standard banner to top of file. Fix say command so |
|
|
7384 | that it does not crash the server if something beyond 256 characters is |
|
|
7385 | spoken - extra data is just truncated. MSW 5/22/2000 |
|
|
7386 | |
|
|
7387 | common/object.c: Splitted set_owner() into set_owner_simple() and |
|
|
7388 | set_owner(). copy_owner(): New function. |
|
|
7389 | server/spell_util.c: explode_object(): Use copy_owner() instead of setting |
|
|
7390 | skill and experience objects manually. Bugfix: Don't use op->owner |
|
|
7391 | directly (fixed by using the caster in call to SP_level_dam_adjust(), |
|
|
7392 | not the owner, which was wrong anyway). |
|
|
7393 | server/spell_util.c: fire_arch_from_position(): Use copy_owner() instead |
|
|
7394 | of set_owner() if 'op' isn't the real owner but only a spell object |
|
|
7395 | owned by somebody else. |
|
|
7396 | server/spell_util.c: move_swarm_spell(): Use the swarm spell object as |
|
|
7397 | the owner in call to fire_arch_from_position(), which now handles this |
|
|
7398 | case correctly. |
|
|
7399 | server/spell_util.c: fire_swarm(): Call tailor_god_spell(). |
|
|
7400 | server/gods.c: determine_god(): op->type==SWARM_SPELL is a spell. |
|
|
7401 | server/gods.c: tailor_god_spell(): op->type==SWARM_SPELL is a spell. |
|
|
7402 | Always abort function if we couldn't find a god. Always add god's |
|
|
7403 | attacktype if the spellop's attacktype has AT_GODPOWER. |
|
|
7404 | - Jan Echternach 22/5/2000 |
|
|
7405 | |
|
|
7406 | common/init.c, common/loger.c, include/logger.h, server/init.c: New |
|
|
7407 | log level llevInfo which is the new default log level. |
|
|
7408 | Many other files: Use llevInfo instead of llevError where appropriate. |
|
|
7409 | Use 'settings.debug >= llevDebug' instead of 'settings.debug'. |
|
|
7410 | - Jan Echternach 21/5/2000 |
|
|
7411 | |
|
|
7412 | server/main.c: Use a marker object to track current position in the list |
|
|
7413 | of active objects. Using a pointer didn't work because all objects on |
|
|
7414 | that list can be removed from it by process_object(). One of the things |
|
|
7415 | this fixes is bogus "Free object on list" errors. |
|
|
7416 | - Jan Echternach 21/5/2000 |
|
|
7417 | |
|
|
7418 | crossedite/Makefile.in: Modify to use $(MAKE) instead of make when |
|
|
7419 | descending into subdirectories - fixes compilation on FreeBSD - MSW 5/17/2000 |
|
|
7420 | |
|
|
7421 | socket/init.c: Fix incorrect check on return value from fread when |
|
|
7422 | loading xpm images. MSW 5/17/2000 |
|
|
7423 | |
|
|
7424 | Fix server/spell_effect.c - was assigning altar->other_arch to an object |
|
|
7425 | and not archetype MSW 5/16/2000 |
|
|
7426 | |
|
|
7427 | server/spell_effect.c: magic_wall(): Duration of darkness spell now |
|
|
7428 | implemented with op->stats.food. This avoids problems with very low |
|
|
7429 | speed values that were interpreted as infinite duration. |
|
|
7430 | lib/spell_params: Changed duration parameters of darkness spell to |
|
|
7431 | give a reasonable duration with the new formula. |
|
|
7432 | - Jan Echternach 16/5/2000 |
|
|
7433 | |
|
|
7434 | common/living.c: drain_stat(): There are 7 stats now, not 6. |
|
|
7435 | - Jan Echternach 15/5/2000 |
|
|
7436 | |
|
|
7437 | server/rune.c: rune_attack(): Check that victim still exists after |
|
|
7438 | hit_player() was missing. This fixes server crashes if monster applied |
|
|
7439 | a chest, found a diseased needle and was killed by it. |
|
|
7440 | - Jan Echternach 15/5/2000 |
|
|
7441 | |
|
|
7442 | server/spell_effect.c: cast_charm(): out_of_map() check was missing. |
|
|
7443 | This fixes server crashes when a player casted this spell near the |
|
|
7444 | edge of a map. - Jan Echternach 15/5/2000 |
|
|
7445 | |
|
|
7446 | |
|
|
7447 | Make image files and code more generic. This was largely done to make |
|
|
7448 | adding support for png files easier, but in reality, it means adding support |
|
|
7449 | for any new file format is now trivially easy. Format of the image |
|
|
7450 | file is: |
|
|
7451 | IMAGE <image num> <datalen> <image name>\n |
|
|
7452 | followed by the image data. |
|
|
7453 | This allows support for binary image formats (png), but also means that |
|
|
7454 | the server doesn't need to know anything about the image format - rather |
|
|
7455 | it is all just data as far as the server is concerned. I think this |
|
|
7456 | actuallyy loads the xpm data a little faster - it would make sense that |
|
|
7457 | it should, since it just reads all the data in with one fread instead |
|
|
7458 | of parsing it line by line waiting for the end image delimeter. |
|
|
7459 | Note: While png images are loaded, they are currently not supported |
|
|
7460 | in the client nor will the server send them - that is the next step |
|
|
7461 | in the work, but that will require just a few minor changes to the |
|
|
7462 | server - most of those change will be in the client. |
|
|
7463 | |
|
|
7464 | crossedit/xutil.c: Merge bitmap & pixmap load routine into one called |
|
|
7465 | ReadImages, function modified to use above format. |
|
|
7466 | crossedit/App.c: Call ReadImages to load images. |
|
|
7467 | include/newserver.h: Change FaceInfo structure to have arrays of data |
|
|
7468 | and datalength instead of explicity entries for pixmap vs bitmap data. |
|
|
7469 | lib/adm/make_xpm_file.pl, lib/crossfire.cfb, lib/xbmtobdf.c: Removed - |
|
|
7470 | either note needed or replaced by new naming scheme. |
|
|
7471 | lib/adm/collect_images.pl: Replacement/improvement of make_xpm_file.pl |
|
|
7472 | above - this handles all image formats (xbm, xpm, png). This is |
|
|
7473 | also more intelligent in that it will not try to rebuild the image files |
|
|
7474 | if there is not a valid arch directory. |
|
|
7475 | lib/crossfire.png, lib/crossfire.xbm (new files): .png file is for png |
|
|
7476 | images. xbm is to keep with the new standardized naming convention used |
|
|
7477 | and is for the bitmaps. |
|
|
7478 | lib/crossfire.xpm: New format used in file. |
|
|
7479 | lib/Makefile.in: Modified to collect via new script as well as new |
|
|
7480 | directives to collect (png files). |
|
|
7481 | socket/init.c: Modified to load with the new format and data structures. |
|
|
7482 | socket/request.c: Modified to send data with the new data structures |
|
|
7483 | provided. |
|
|
7484 | |
|
|
7485 | End of image changes, MSW 5/13/2000 |
|
|
7486 | |
|
|
7487 | configure.in, configure: Add check for perl so that we can call scripts |
|
|
7488 | properly - MSW 5/13/2000 |
|
|
7489 | |
|
|
7490 | common/re-cmp.c: Add some tolower calls in the comparisons so most |
|
|
7491 | regular expressions should not be case insenstive (makes matches & says |
|
|
7492 | work better). Note that I did not change the behaviour on range matches |
|
|
7493 | (Z-f for example), as I thought there may be side effects in that case. |
|
|
7494 | MSW 5/8/2000 |
|
|
7495 | |
|
|
7496 | socket/request.c: Add length checking to NewPlayerCmd so that if the client |
|
|
7497 | sends us a really long command, we just truncate the end of it and not |
|
|
7498 | overwrite our internal buffers causing crashes. MSW 5/8/2000 |
|
|
7499 | |
|
|
7500 | server/player.c: add out_of_map check to stand_near_hostile function. This |
|
|
7501 | fixes a server crash if the player uses a hiding skill near the edge of a map. |
|
|
7502 | MSW 5/8/2000 |
|
|
7503 | |
|
|
7504 | common/arch.c, common/loader.l (loader.c): Modify the load routines |
|
|
7505 | to strip off trailing whitespace in object names and other_arch fields - |
|
|
7506 | I believe this is why altars to Sorig did not generally work, and while |
|
|
7507 | generally that white space should not exist, doing a little extra checking |
|
|
7508 | for it is not a bad idea - MSW 4/26/2000 |
|
|
7509 | |
|
|
7510 | Add HOLY_ALTAR type, and use that for praying over for gods and the |
|
|
7511 | like. |
|
|
7512 | doc/crossfire.doc: Add description of HOLY_ALTAR type and meaning |
|
|
7513 | of fields. |
|
|
7514 | common/map.c: Disable consecration code for altars. |
|
|
7515 | include/define.h: Add type for HOLY_ALTAR |
|
|
7516 | include/sproto.h: Update for change of some functions below. |
|
|
7517 | server/c_wiz.c: Modify setgod command to call become_follower with |
|
|
7518 | proper second arg. |
|
|
7519 | server/gods.c: Change become_follower to take object pointer to god instead |
|
|
7520 | of name, since the holy_altar has the pointer in its other_arch. |
|
|
7521 | Modify pray_at_altar to use the new fields, as well as fixed |
|
|
7522 | what seemed to be numerous bugs in that function. |
|
|
7523 | sever/skills.c: Change check from ALTAR to HOLY_ALTAR, also change |
|
|
7524 | check to see if HOLY_ALTAR is consecrated by looking at the |
|
|
7525 | other_arch field. |
|
|
7526 | server/spell_effect.c: Update consecrate so that caster must be |
|
|
7527 | higher effective level than the altar, also update for |
|
|
7528 | differing fields. |
|
|
7529 | maps/thomas/sisters/shrine0, map/thomas/sisters/tower0: Remove |
|
|
7530 | title from altars on these maps - these were the only two maps |
|
|
7531 | using old style altars consecrated to a god. Since it appears the |
|
|
7532 | real purpose of the altars on these maps was to trigger something |
|
|
7533 | else, they were kept as old style altars. |
|
|
7534 | arch/gods/altars (relocated from arch/indoors, as I think the new |
|
|
7535 | location makes more logical sense): Update for new fields/format. |
|
|
7536 | This also affects lib/archetypes, lib/bmaps.paths, lib/crossfire.xpm, |
|
|
7537 | lib/crossfire.cfb |
|
|
7538 | lib/adm/archsearch.pl: Modified to hunt out old archetypes - some of the |
|
|
7539 | changes could be useful in general cases. |
|
|
7540 | MSW 4/26/2000 |
|
|
7541 | |
|
|
7542 | server/spell_util.c: Fix move_golem so that multi square avatars (golems) |
|
|
7543 | don't hit themselves. Remove will_hit_self function (only used in |
|
|
7544 | move_golem), since it did not work. Change structure & indenting of |
|
|
7545 | move_golem function so it isn't quite so nested - functionality |
|
|
7546 | remains the same. When we do find something to kill in move_golem, |
|
|
7547 | call attack_ob against it instead of hit_map - hit_map is not save |
|
|
7548 | for multi object hitters. MSW 4/24/2000 |
|
|
7549 | |
|
|
7550 | Key usage change: Add new command 'usekeys' that specify how keys |
|
|
7551 | are searched for. The three options are inventory, keyrings, and containers. |
|
|
7552 | These options apply to both standard keys and special keys. If the player |
|
|
7553 | has a key for the door but it is in a container that will not be used, |
|
|
7554 | print a friendly message of the key name and container name. Files |
|
|
7555 | affected: |
|
|
7556 | help/usekeys: Added describing options |
|
|
7557 | lib/Makefile.in: Addition of help/usekeys above. |
|
|
7558 | include/player.h: Add new enumeration and entry into player structure |
|
|
7559 | include/sproto.h: New function prototype |
|
|
7560 | server/apply.c: change of Find_Key to new function with slightly |
|
|
7561 | different options |
|
|
7562 | server/c_misc.c: add function to support 'usekeys command. |
|
|
7563 | server/commands.c: addition of usekeys command |
|
|
7564 | server/player.c: rewrite & rename of find_key command, as well as changes |
|
|
7565 | to move_player_attack |
|
|
7566 | Mark Wedel 4/21/2000 |
|
|
7567 | |
|
|
7568 | server/spell_effect.c: create_bomb(): New spell_type parameter, merely |
|
|
7569 | for consistency with itself and with other spell casting functions. |
|
|
7570 | - Jan Echternach 4/19/2000 |
|
|
7571 | |
|
|
7572 | server/spell_effect.c: create_bomb(): Set level of created bomb. |
|
|
7573 | Fixes the problem that the splints were casted without a level. |
|
|
7574 | - Jan Echternach 4/19/2000 |
|
|
7575 | |
|
|
7576 | lib/checkarch.pl: New perl script to check the archetypes file for |
|
|
7577 | obvious bugs (like object that is alive but doesn't have a level). |
|
|
7578 | - Jan Echternach 4/17/2000 |
|
|
7579 | |
|
|
7580 | include/spellist.h: "meteor swarm" is now a missile spell (PATH_MISSILE) |
|
|
7581 | just like "comet". - Jan Echternach 4/17/2000 |
|
|
7582 | |
|
|
7583 | server/spell_util.c: path_level_mod(): Rewrote to fix countless bugs. |
|
|
7584 | New interface with explicit base level parameter. |
|
|
7585 | server/spell_effect.c: finger_of_death(): Call path_level_mod() with |
|
|
7586 | correct base level. |
|
|
7587 | server/spell_util.c: casting_level(): New function that combines |
|
|
7588 | SK_level() with path_level_mod(). |
|
|
7589 | - Jan Echternach 4/17/2000 |
|
|
7590 | |
|
|
7591 | server/spell_util.c: Several cosmetic changes (spell type parameter name |
|
|
7592 | is spell_type, arch_to_object(get_archtetype(...)) is equivalent to |
|
|
7593 | get_archetype(...), use casting_level() if applicable). |
|
|
7594 | - Jan Echternach 4/17/2000 |
|
|
7595 | |
|
|
7596 | server/spell_util.c: fire_swarm(): New 'caster' parameter because |
|
|
7597 | owner and caster can be different. Level of the swarm object is casting |
|
|
7598 | level of the caster, not overall level of the owner. |
|
|
7599 | server/spell_util.c: fire_arch_from_position(): Set level of fired |
|
|
7600 | arch to casting level of caster. |
|
|
7601 | server/spell_util.c: cast_cone(), cast_smite_spell(): Set level of spell |
|
|
7602 | object to casting_level() and not SK_level() to honour path_attuned and |
|
|
7603 | path_repelled of the caster. |
|
|
7604 | server/spell_util.c: move_cone(): Just copy the level for new cone |
|
|
7605 | objects. |
|
|
7606 | |
|
|
7607 | Missing level meant AT_DEATH didn't work, missing call to |
|
|
7608 | path_level_mod()/casting_level() meant path_attuned/path_repelled was |
|
|
7609 | ignored. - Jan Echternach 4/17/2000 |
|
|
7610 | |
|
|
7611 | server/player.c: fire_bow(): Set level of fired arrow. Arrows with |
|
|
7612 | AT_DEATH are now working. - Jan Echternach 4/17/2000 |
|
|
7613 | |
|
|
7614 | server/player.c: fire(): Call check_skill_to_fire() even for wizards |
|
|
7615 | because this function has the important side effect of setting the current |
|
|
7616 | skill and experience objects. - Jan Echternach 4/17/2000 |
|
|
7617 | |
|
|
7618 | server/skills.c: do_throw(), server/time.c: stop_arrow(), server/player.c: |
|
|
7619 | fire_bow(): Flying arrows and thrown objects have FLAG_NO_PICK set because |
|
|
7620 | picking these objects is currently broken (and maybe it shouldn't be |
|
|
7621 | possible anyway - picking up a _flying_ arrow?). - Jan Echternach 4/17/2000 |
|
|
7622 | |
|
|
7623 | server/c_wiz.c: set_god(): Didn't work at all because it was trying to |
|
|
7624 | set the current player as his own god. - Jan Echternach 4/17/2000 |
|
|
7625 | |
|
|
7626 | server/map.c: check_path(): Return value was wrong if the name did not |
|
|
7627 | refer to a regular file. A symptom of this bug was that the server crashed |
|
|
7628 | if a wizard tried to enter a directory with the 'goto' command. |
|
|
7629 | - Jan Echternach 4/17/2000 |
|
|
7630 | |
|
|
7631 | server/map.c: open_and_uncompress(): Check that the file we have opened |
|
|
7632 | is (still) a regular file, fail if it's not. This is the right place |
|
|
7633 | for such checks if we want to avoid race conditions (e.g. file replaced by |
|
|
7634 | directory while trying to open it). - Jan Echternach 4/17/2000 |
|
|
7635 | |
|
|
7636 | c_party.c commands.c daemon.c disease.c gods.c spell_effect.c spell_util.c: |
|
|
7637 | Cosmetic fixes - updates to rcsid string to include right file name as well as |
|
|
7638 | updates to mail address and/or additions to top banner. Mark Wedel 4/13/2000 |
|
|
7639 | |
|
|
7640 | Various files: Updated my mailing address to be accurate - Mark Wedel |
|
|
7641 | 4/13/2000 |
|
|
7642 | |
|
|
7643 | doc/playbook/handbook.idx: Automatically generated file removed. This |
|
|
7644 | is not something normally included in packed up distributions, so no reason |
|
|
7645 | to have it in CVS - Mark Wedel 4/13/2000 |
|
|
7646 | |
|
|
7647 | doc/include_html.pl, doc/playbook/make_index.pl, doc/spoiler-html/makeps.pl, |
|
|
7648 | lib/adm/make_xpm_file.pl: |
|
|
7649 | |
|
|
7650 | Change to use /usr/bin/perl instead of /usr/local/bin/perl - real change is to |
|
|
7651 | find perl in configure.in and call the scripts with that. Mark Wedel |
|
|
7652 | 4/13/2000 |
|
|
7653 | |
|
|
7654 | |
|
|
7655 | server/input.c: Don't try to calculate spellpoint costs for denied spells, |
|
|
7656 | because these are undefined and are now causing lots of BUG messages. Also |
|
|
7657 | improved formatting: spellpoint costs can be > 99, and don't fill everything |
|
|
7658 | with zeros, use spaces instead. Patch by Jan Echternach, applied & checked in |
|
|
7659 | by Mark Wedel, 4/12/2000 |
|
|
7660 | |
|
|
7661 | server/skill_util.c: Fixed some log messages that were lacking a newline at |
|
|
7662 | the end. SK_level(): Rewrite of this function to simplify its structure. |
|
|
7663 | Print error message if we find an invalid level. Add top copyright/contact |
|
|
7664 | banner (msw) Patch by Jan Echternach, applied & checked in by Mark Wedel, |
|
|
7665 | 4/12/2000 |
|
|
7666 | |
|
|
7667 | server/apply.c, server/monster.c: Fix in apply.c for encounter maps |
|
|
7668 | so that proper message is generated, and differentiate behaviour if it |
|
|
7669 | is a floor vs not a floor. Also, change to both files in that apply_below |
|
|
7670 | stops at the floor object. Patch by Jan Echternach, applied & checked in by |
|
|
7671 | Mark Wedel, 4/12/2000 |
|
|
7672 | |
|
|
7673 | server/apply.c, doc/crossfire.doc: Fix to prevent server crashes when monster |
|
|
7674 | applies poison object. doc file is updated to include accurate information on |
|
|
7675 | values in poison object. Patch by Jan Echternach, applied & checked in by |
|
|
7676 | Mark Wedel, 4/11/2000 |
|
|
7677 | |
|
|
7678 | CREDITS, server/main.c: Add Peter Gardner to list of credits. |
|
|
7679 | Mark Wedel 4/4/2000 |
|
|
7680 | |
|
|
7681 | server/apply.c, improve_armour(): |
|
|
7682 | Maximum armour value reduced to 90. Items can now always be improved up |
|
|
7683 | to this value. For armour x you need level x, not level x + 1 as before. |
|
|
7684 | esrv_send_item() and fix_player() also called if only magic value was |
|
|
7685 | improved. Patch by Jan Echternach, applied & checked in by Mark Wedel, |
|
|
7686 | 4/4/2000 |
|
|
7687 | |
|
|
7688 | server/attack.c, attack_message(): |
|
|
7689 | More messages. "grind to dust" is more damage than "shred to pieces". |
|
|
7690 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
7691 | |
|
|
7692 | server/spell_effect.c, magic_wall(): |
|
|
7693 | Fix calculation of duration of darkness spell. Before, you could get |
|
|
7694 | huge negative speed values with high experience levels, which meant very |
|
|
7695 | short duration. |
|
|
7696 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
7697 | |
|
|
7698 | server/spell_util.c: |
|
|
7699 | 1) New argument of fire_swarm() to specify whether it's a magic attack. |
|
|
7700 | All swarm spells except meteor swarm are now magic (just as the |
|
|
7701 | underlying basic spell). |
|
|
7702 | 2) New function fire_arch_from_position() which doesn't use the owner's |
|
|
7703 | position as the starting position of the fired arch. |
|
|
7704 | 3) move_swarm_spell(): Correctly set owner and magic in call to |
|
|
7705 | fire_arch_from_position(). |
|
|
7706 | 4) Above changes fixes "cause many wounds" spell |
|
|
7707 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
7708 | |
|
|
7709 | |
|
|
7710 | common/map.c: Change calls in file to use insert_ob_in_map simple. |
|
|
7711 | This fixes bugs with buttons not being applied correctly when the map |
|
|
7712 | is loaded - the cause is that push_button is getting called for the |
|
|
7713 | button before all the objects the button is linked to have been loaded. |
|
|
7714 | Then when the map finishes loading, the call to update_button is called |
|
|
7715 | and they are not in sync. This change should make loading slightly faster, |
|
|
7716 | mostly because it does not call check_walk_on during the loading, so that |
|
|
7717 | buttons don't get pushed/changed around. Mark Wedel 3/28/2000 |
|
|
7718 | |
|
|
7719 | server/player.c: If player is using pickup mode 6, only have them pick up |
|
|
7720 | the item if they know it is magical. Prior to change, items would be |
|
|
7721 | picked up if they are magical, but not if the player knew that, so the code |
|
|
7722 | was giving extra knowledge to players. Bug reported by Kurt Fitzner, |
|
|
7723 | checked in by Mark Wedel, 3/26/2000 |
|
|
7724 | |
|
|
7725 | common/map.c: Code fix by Kurt Fitzner so that unique maps will get |
|
|
7726 | compressed if so needed. Fixes problem of unique maps not being |
|
|
7727 | able to get reloaded as they are saved with the compress suffix but |
|
|
7728 | not in compressed form. Code checked in by Mark Wedel, 3/26/2000 |
|
|
7729 | |
|
|
7730 | server/skills.c, server/spell_effect.c: Improve behaviour when identifying |
|
|
7731 | items - the identify routine already updates the client if it is |
|
|
7732 | in the players inventory, so only send update to client if the item is |
|
|
7733 | on the map. Also, do full item update, as many fields may change, and |
|
|
7734 | that is what the identify function does. Standard top of |
|
|
7735 | file banner also added to skills.c file. Fixes problem of |
|
|
7736 | objects in inventory being displayed with two numbers in from |
|
|
7737 | (ie, two two bows +1). |
|
|
7738 | Bug and initial fix of item updates by Kurt Fitzner, |
|
|
7739 | implemented in a bit different way by Mark Wedel. 3/26/2000 |
|
|
7740 | |
|
|
7741 | Makefile.in, doc/Makefile.in: Modified so that making the docarchive |
|
|
7742 | now works. The make must be done from the top level for it to work, since |
|
|
7743 | some values are passed, but the doc/Makefile.in was missing some declarations |
|
|
7744 | and had some other fixes that needed to be done. msw 3/22/2000 |
|
|
7745 | |
|
|
7746 | ------------------------------------------------------------------------------ |
|
|
7747 | Changes for 0.95.5: |
|
|
7748 | |
|
|
7749 | Makefile.in: comment out the EXTRA_FLAGS (which contains the -Wall |
|
|
7750 | entry) - the presumption that everyone is going to use gcc to compile |
|
|
7751 | crossfire is a poor one, and -Wall is only supported on gcc. I would |
|
|
7752 | rather have it compile on the maximum number of systems without it |
|
|
7753 | needing changes than to require the end user to make the customizations. |
|
|
7754 | A better long term solution is to have configure.in check for gcc or |
|
|
7755 | if -Wall is supported it and have it add it in. msw 3/21/2000 |
|
|
7756 | |
|
|
7757 | server/c_object.c: Fix pick_up_object function to deal with non players |
|
|
7758 | picking up objects - prior to fix, program would crash when monsters |
|
|
7759 | pick up objects. Also, add standard banner at top of file about |
|
|
7760 | copyright, contact, version information. msw 3/21/2000 |
|
|
7761 | |
|
|
7762 | CREDITS, README: Updated to contain my new mailing address. In reality, |
|
|
7763 | almost all the files have an out of date address for me, but these |
|
|
7764 | are probably the ones people will look at most. README also updated |
|
|
7765 | with new ftp location. msw 3/20/2000 |
|
|
7766 | |
|
|
7767 | include/Makefile.in: Update files to include material.h - need when |
|
|
7768 | packing up new releases - msw 3/20/2000 |
|
|
7769 | |
|
|
7770 | doc/hanbook.ps, doc/spoiler.ps, doc/spoiler-html/spoiler.html: Rebuilt with |
|
|
7771 | latest version of crossfire - not sure if there are any content changes, as |
|
|
7772 | the tools to build the file have been updated on my system, causing many |
|
|
7773 | changes to the prologue and outputted data. - msw 3/20/2000 |
|
|
7774 | |
|
|
7775 | |
|
|
7776 | Change doc/spoiler-html/Makefile.in and doc/playbook-html/Makefile.in to use |
|
|
7777 | $(datadir) instead of $(C_LIBDIR). Other add AWK and INCDIR lines so that it |
|
|
7778 | properly builds with autoconf setup. msw 3/19/2000 |
|
|
7779 | |
|
|
7780 | Change spoiler.tex, handbook.tex to build properly with later versions |
|
|
7781 | of tetex - added language specifier when using the babel package. |
|
|
7782 | msw 3/19/2000 |
|
|
7783 | |
|
|
7784 | Add missing doc/playbook/fig directory to the CVS reposistory - |
|
|
7785 | msw 3/18/2000 |
|
|
7786 | |
|
|
7787 | Change summon_cult_monster code so that it will no longer summon big monsters |
|
|
7788 | on top of walls or the player. Also, if there is not space for a big |
|
|
7789 | monster, try to find another pet monster that will fit in the space. |
|
|
7790 | File affected: server/spell_effect.c - msw |
|
|
7791 | |
|
|
7792 | Change gorokh.arc to use anim devil instead of anim Lucifer - fixes crash |
|
|
7793 | when using avatars of gorokh - msw |
|
|
7794 | |
|
|
7795 | Split off kill_player function from do some living, and check for player |
|
|
7796 | death upon player login. This splits up an otherwise very large function, |
|
|
7797 | but more importantly, the second point allows NOT_PERMADEATH to work as |
|
|
7798 | expected when the player is dead when logged out. Previous, the if the |
|
|
7799 | player was dead when they logged out, it would just kill off the character |
|
|
7800 | permanently (without grave marker or anything), even in NOT_PERMADEATH |
|
|
7801 | mode. Also, cleaned up player load code to remove code that supported |
|
|
7802 | very old style save files. |
|
|
7803 | Files changed: server/login.c server/player.c include/sproto.h - msw |
|
|
7804 | |
|
|
7805 | Change NO_STAT define in living.h,skillist.h,skill_util.c to NO_STAT_VAL |
|
|
7806 | to remove conflict on AIX systems. - msw |
|
|
7807 | |
|
|
7808 | Fix error in configure.in - was referancing BZIP2, when it should have |
|
|
7809 | used BZIP - msw 2/7/2000 |
|
|
7810 | |
|
|
7811 | server/skill_util.c: Fixed spelling of unwield |
|
|
7812 | configure.in: Update -z checks to not use eval, double quote the variable. |
|
|
7813 | This seems to be needed on solaris and probably other systems. |
|
|
7814 | Both changes commited by Mark Wedel, 2/7/2000 |
|
|
7815 | |
|
|
7816 | ---SMALL BUGFIX--- John Cater 5/11/1999 |
|
|
7817 | server/attack.c: |
|
|
7818 | - changed the logic in hit_player to attack enemy races with holy word |
|
|
7819 | playtested |
|
|
7820 | |
|
|
7821 | |
|
|
7822 | ---BEGIN BATCH UPDATE--- DAMN 9/17/1999 |
|
|
7823 | server/alchemy.c: |
|
|
7824 | - minor cleanup |
|
|
7825 | |
|
|
7826 | server/apply.c: |
|
|
7827 | - split multiple lighters |
|
|
7828 | |
|
|
7829 | server/attack.c: |
|
|
7830 | - vulnerability gives -4 to saving throw against non-damage attack effects |
|
|
7831 | - immunity to acid reduces the probability of corrosion |
|
|
7832 | - immunity and protection and not vulnerability to acid prevents corrosion |
|
|
7833 | - magic bonus improves item's saving throw against acid |
|
|
7834 | - vulnerability to drain doubles rate of exp loss, protection halves rate |
|
|
7835 | - holy word slaying is checked in hit_player, no need to double-check |
|
|
7836 | in hit_player_attacktype |
|
|
7837 | - prot:magic and vuln:magic affect all magical damage, not just raw magic |
|
|
7838 | - Holy Word and Turn Undead affect undead at half strength if they're not |
|
|
7839 | listed as an enemy race |
|
|
7840 | - Holy Word and Turn Undead have no effect on undead if they're listed as |
|
|
7841 | a friendly race |
|
|
7842 | - minor bugfix/cleanup |
|
|
7843 | |
|
|
7844 | server/gods.c: |
|
|
7845 | - minor bugfix/cleanup |
|
|
7846 | - luck slightly improves chance of divine intervention |
|
|
7847 | |
|
|
7848 | server/input.c: |
|
|
7849 | - fixed typo |
|
|
7850 | |
|
|
7851 | server/main.c: |
|
|
7852 | - trivial bulletproofing, probably no effect |
|
|
7853 | |
|
|
7854 | server/player.c: |
|
|
7855 | - sp regen penalty from armour calculated in fix_player instead of being |
|
|
7856 | recalculated for each spell point gained. |
|
|
7857 | |
|
|
7858 | server/shop.c: |
|
|
7859 | - payment will come from open pouches if you don't have enough in your |
|
|
7860 | top-level inventory |
|
|
7861 | - money for sold items will go into open pouches until they're full, |
|
|
7862 | then overflow into top-level inventory |
|
|
7863 | |
|
|
7864 | server/skills.c: |
|
|
7865 | - minor bugfix in throwing |
|
|
7866 | - writing in one of a stack of books seperates one book out first |
|
|
7867 | |
|
|
7868 | server/spell_effect.c: |
|
|
7869 | - generalized staff_to_snake to animate_weapon |
|
|
7870 | |
|
|
7871 | server/spell_util.c: |
|
|
7872 | - Staff to Snake, Dancing Sword, and Animate Weapon spells now all use |
|
|
7873 | animate_weapon function |
|
|
7874 | - holy golems avoid damaging their owners |
|
|
7875 | - raw mana spells |
|
|
7876 | |
|
|
7877 | common/living.c: |
|
|
7878 | - minor bugfix |
|
|
7879 | - fix_player now calculates sp regen penalty from armour |
|
|
7880 | |
|
|
7881 | common/readable.c: |
|
|
7882 | - spelling fix: grimore -> grimoire |
|
|
7883 | |
|
|
7884 | doc/crossfire.doc: |
|
|
7885 | - minor edits |
|
|
7886 | |
|
|
7887 | include/defines.h: |
|
|
7888 | - moved object type numbers to object.h |
|
|
7889 | - moved flag numbers to object.h |
|
|
7890 | - moved NROFREALSPELLS to spells.h |
|
|
7891 | - moved path numbers to spells.h |
|
|
7892 | - moved DESCRIBE_PATH macro to spells.h |
|
|
7893 | - moved ARMOUR_ and WEAPON_ macros to player.h |
|
|
7894 | - moved player state numbers to player.h |
|
|
7895 | - moved monster movement numbers to living.h |
|
|
7896 | - moved NROFSKILLS to skills.h |
|
|
7897 | |
|
|
7898 | include/global.h: |
|
|
7899 | - #defines from spells.h and material.h loaded early |
|
|
7900 | |
|
|
7901 | include/object.h: |
|
|
7902 | - now has the #defines for object type numbers |
|
|
7903 | |
|
|
7904 | include/skills.h: |
|
|
7905 | - moved NROFSKILLS here |
|
|
7906 | |
|
|
7907 | include/player.h: |
|
|
7908 | - added gen_sp_armour variable |
|
|
7909 | |
|
|
7910 | include/spellist.h: |
|
|
7911 | - added mana spells, Dancing Sword, and Animate Weapon |
|
|
7912 | |
|
|
7913 | include/spells.h: |
|
|
7914 | - moved NROFREALSPELLS here and updated it |
|
|
7915 | - now has the #defines for spell path nummbers |
|
|
7916 | - added mana spells, Dancing Sword, and Animate Weapon |
|
|
7917 | |
|
|
7918 | include/sproto.h: |
|
|
7919 | - added animate_weapon and pay_from_container prototypes |
|
|
7920 | |
|
|
7921 | include/material.h: |
|
|
7922 | - new |
|
|
7923 | |
|
|
7924 | lib/spell_params: |
|
|
7925 | - added entries for mana spells along with their fire equivalents |
|
|
7926 | |
|
|
7927 | lib/formulae: |
|
|
7928 | - minor spelling fixes to match minor spelling fixes in artifacts |
|
|
7929 | |
|
|
7930 | lib/artifacts: |
|
|
7931 | |
|
|
7932 | Weapons |
|
|
7933 | - Sanwe -> Gnarg (any weapon) |
|
|
7934 | chance 5, value x10, magic 0, dam 120% |
|
|
7935 | |
|
|
7936 | - Lythander (any weapon) |
|
|
7937 | chance 5, value x20, magic 0, luck +1, weight 90% |
|
|
7938 | |
|
|
7939 | - Gwormi -> Gaea (wooden weapons only) |
|
|
7940 | chance 20, value x50, magic 2, regen +1, dam 110% |
|
|
7941 | |
|
|
7942 | - Slay Demon -> Valriel (any weapon) |
|
|
7943 | chance 15, value x30, magic 2, weapon speed 120%, slaying demon |
|
|
7944 | |
|
|
7945 | - (new) Gorokh (any weapon) |
|
|
7946 | chance 15, value x30, magic 2, weapon speed 120%, slaying angel |
|
|
7947 | |
|
|
7948 | - (new) the Devourers (any weapon) |
|
|
7949 | chance 8, value x30, magic 1, attacktype: physical, cold, depletion |
|
|
7950 | |
|
|
7951 | - (new) Mostrai (axes and hammers only) |
|
|
7952 | chance 10, value x12, magic 1, dam 140%, weight 115% |
|
|
7953 | |
|
|
7954 | - (new) Sorig (metal weapons only) |
|
|
7955 | chance 5, value x15, magic 1, weight 95%, weapon speed 125% |
|
|
7956 | attacktype physical, electricity |
|
|
7957 | |
|
|
7958 | - (new) Ruggilli (metal weapons only) |
|
|
7959 | chance 5, value 15, magic 1, weight 85%, weapon speed 110% |
|
|
7960 | attacktype physical, fire |
|
|
7961 | |
|
|
7962 | Helmets (moved to after weapons, with the rest of the armour) |
|
|
7963 | - Lordliness -> Valriel (full helm only) |
|
|
7964 | chance 20, value x50, magic 2, Wis +1, Cha +1 |
|
|
7965 | |
|
|
7966 | - Uriel -> Sorig |
|
|
7967 | chance 10, value x20, magic 1, ac +1, armour 120%, prot electricity |
|
|
7968 | |
|
|
7969 | Shields |
|
|
7970 | - Theodin -> Mostrai |
|
|
7971 | chance 8, value x24, magic 1, prot fire |
|
|
7972 | |
|
|
7973 | - Gnarg |
|
|
7974 | chance 8, value x12, magic 1, ac +1, armour 180%, Cha -1 |
|
|
7975 | |
|
|
7976 | Gauntlets |
|
|
7977 | - (new) Sorig (gauntlets only) |
|
|
7978 | chance 15, value x75, magic 2, armour 10, weight 125%, attack: electricity |
|
|
7979 | |
|
|
7980 | - (new) Sorig (gloves only) |
|
|
7981 | chance 10, value x10, magic 1, armour 5, weight 125%, prot: electricity |
|
|
7982 | |
|
|
7983 | Armour |
|
|
7984 | - (new) Valriel (plate and scale only) |
|
|
7985 | chance 6, value x20, magic 1, armour 120%, weight 110% |
|
|
7986 | |
|
|
7987 | - (new) Gorokh (plate and scale only) |
|
|
7988 | chance 6, value x15, magic 1, ac +2, armour 110%, weight 105% |
|
|
7989 | |
|
|
7990 | - (new) Ruggilli (plate, scale, or dragon armour) |
|
|
7991 | chance 10, value x55, magic 3, ac +1, armour 120%, weight 90%, prot: fire |
|
|
7992 | |
|
|
7993 | - (new) Gaea |
|
|
7994 | chance 10, value x25, magic 2, ac +1, armour 120% |
|
|
7995 | |
|
|
7996 | Cloaks |
|
|
7997 | - (lesser version of cloak of the Underworld) the Devourers |
|
|
7998 | chance 3, difficulty 3, value x50, magic 3, weight 50%, material 0, Cha -2, |
|
|
7999 | prot: acid, drain, ghosthit, depletion |
|
|
8000 | |
|
|
8001 | Bows |
|
|
8002 | - (new) Valriel |
|
|
8003 | chance 10, value x15, magic 1, weight 110%, damage 200% |
|
|
8004 | |
|
|
8005 | - (new) Gorokh |
|
|
8006 | chance 15, value x15, magic 2, damage 160%, attacktype: physical, acid |
|
|
8007 | |
|
|
8008 | - (new) Lythander (not crossbow) |
|
|
8009 | chance 10, value x22, magic 1, weight 75%, wc +1, speed 150% |
|
|
8010 | |
|
|
8011 | - (new) Ruggilli (crossbow only) |
|
|
8012 | chance 10, value x18, magic 2, weight 85%, wc +1, speed 110%, |
|
|
8013 | attacktype: fire |
|
|
8014 | |
|
|
8015 | - (new) Sorig |
|
|
8016 | chance 12, value x20, magic 2, weight 95%, wc +1, speed 125%, |
|
|
8017 | attacktype: electricity |
|
|
8018 | |
|
|
8019 | - (new) Mostrai (crossbow only) |
|
|
8020 | chance 5, value x50, magic 3, damage 140%, speed 75%, |
|
|
8021 | attacktype: weaponmagic |
|
|
8022 | |
|
|
8023 | - (new) Thunder |
|
|
8024 | chance 10, dificulty 5, value x10, magic 2, weight 90%, damage 150%, wc +2 |
|
|
8025 | attacktype: physical, slow, paralyze |
|
|
8026 | |
|
|
8027 | ...and a few minor spelling fixes |
|
|
8028 | |
|
|
8029 | ---END OF BATCH UPDATE--- DAMN 9/17/1999 |
|
|
8030 | |
|
|
8031 | Add crossfire.oc.humbug.org.au server information to README file - msw |
|
|
8032 | |
|
|
8033 | Change compress method definitions from being determined by checks |
|
|
8034 | on system type to having autoconf find the utilities for us. Also, add |
|
|
8035 | bzip2 support. Files affected: Makefile.in configure.in common/map.c |
|
|
8036 | server/init.c server/login.c include/config.h include/define.h |
|
|
8037 | include/autoconf.h.in - msw |
|
|
8038 | |
|
|
8039 | Fix in server/rune.c - if the victim of a trap/rune is not on a map |
|
|
8040 | and the object has a disease, it would crash the server. Temporary |
|
|
8041 | fix put in to make sure there is a map, and if not, use a predefined |
|
|
8042 | difficult of 1. I think the real issue is how can an object not on a map |
|
|
8043 | be setting a trap (in this particular bug, reported by Klaus Elsbernd, |
|
|
8044 | the victim was a thrown object) - msw |
|
|
8045 | |
|
|
8046 | Change by dragonm@absolut.tegris.org - improve crossedit so that if you |
|
|
8047 | try to load a map you alreay have in memory, it will raise the window - |
|
|
8048 | it will also give you the option to forget, save changes, or just raise |
|
|
8049 | the window if the in memory version of that map has been modified. Checked |
|
|
8050 | in by msw. (crossedit, App.c, Edit.c, Edit.h) |
|
|
8051 | |
|
|
8052 | Bugfix in server/apply.c - apply_container() |
|
|
8053 | When checking for keys to locked containers, only searched player's |
|
|
8054 | inventory, not keyrings. Changed to use FindKey function in player.c, |
|
|
8055 | which does search keyrings. |
|
|
8056 | --DAMN |
|
|
8057 | |
|
|
8058 | Bugfix in server/main.c - enter_exit() |
|
|
8059 | Unique maps were using their actual location as a path for moving to |
|
|
8060 | a new map. They need to use the location of the original map, not |
|
|
8061 | the character's individual copy of it. This is re-constructed from |
|
|
8062 | the individual map's filename, which is based on the original path. |
|
|
8063 | --DAMN |
|
|
8064 | |
|
|
8065 | Remove xbmtobdf man page - since it is run automatically and it is likely |
|
|
8066 | that people will not run it manually (and it appears to be innacruate - or |
|
|
8067 | at least imcomplete), may as well remove it. - msw |
|
|
8068 | |
|
|
8069 | Change install location of man pages to section 6 instead of section 1 - msw |
|
|
8070 | |
|
|
8071 | New man page submitted by Egbert Hinzen that is actually correct and |
|
|
8072 | accurate as the options now relate to crossfire. - msw |
|
|
8073 | |
|
|
8074 | This one is a suggested fix for the alchemy bug that grants obscene |
|
|
8075 | amounts of experience for certain formulas. Those formulas are the ones |
|
|
8076 | that create items with a high fixed level, because those items are |
|
|
8077 | pretty worthless otherwise. Dust of Repelling Undead, for example, is |
|
|
8078 | level 30. |
|
|
8079 | The fix I implemented here is to base the chance of success largely |
|
|
8080 | on the level of the product, so it's very difficult to produce |
|
|
8081 | something like Dust of Repelling Undead, and therefore worth the |
|
|
8082 | extra experience. The chance of success is now based on the |
|
|
8083 | following factors: |
|
|
8084 | 1) level of product |
|
|
8085 | 2) number of ingredients in formula |
|
|
8086 | 3) rarity of formula as listed in "formulae" data file |
|
|
8087 | 4) number of batches being made |
|
|
8088 | 5) Alchemy skill (if present) |
|
|
8089 | 6) enchantment of cauldron |
|
|
8090 | 7) luck |
|
|
8091 | |
|
|
8092 | patch from DAMN |
|
|
8093 | This one makes a couple things level dependent that used to be fixed: |
|
|
8094 | 1) time it takes Word of Recall to take effect |
|
|
8095 | 2) amount of energy transferred by Transferrence spell |
|
|
8096 | 3) percentage of energy drained by Magic Drain spell |
|
|
8097 | |
|
|
8098 | Also, the following effects have been modified: |
|
|
8099 | 1) Followers of a cult that considers undead enemies have a penalty to |
|
|
8100 | Command Undead. |
|
|
8101 | 2) Magic Drain gives back to the caster a small portion of the energy |
|
|
8102 | drained from the victim. |
|
|
8103 | |
|
|
8104 | And a bug was fixed: |
|
|
8105 | 1) SP_level_dam_adjust used and SP_level_strength_adjust used the |
|
|
8106 | player's level, where they should have used the caster's level. |
|
|
8107 | --Patches from DAMN, applied by PeterM |
|
|
8108 | |
|
|
8109 | Marker object added, alchemy modified so that recipes |
|
|
8110 | can require keycodes and MARKS to execute, detectors modified |
|
|
8111 | to be able to detect MARKS, and all of this documented in |
|
|
8112 | crossfire.doc --PeterM |
|
|
8113 | |
|
|
8114 | server/gods.c -- changing gods now costs players their special |
|
|
8115 | prayers. --PeterM |
|
|
8116 | server/alchemy.c -- levels less than ten no longer produce |
|
|
8117 | cursed items, but only slag or nothing. --PeterM |
|
|
8118 | server/shop.c -- unidentified stuff is worth at most 60gp or so. |
|
|
8119 | ---PeterM |
|
|
8120 | |
|
|
8121 | random_maps/style.c - fix type in the scandir function which cause |
|
|
8122 | compilation problems for those systems that actually need it. - msw |
|
|
8123 | |
|
|
8124 | Change command_cast_spell so that it preserves a return value from |
|
|
8125 | find_spell. This re-enables partial spell matching (ie, cast prot |
|
|
8126 | will show all spells that start with that.) - msw |
|
|
8127 | |
|
|
8128 | ------------------------------------------------------------------------------ |
|
|
8129 | Change for 0.95.4: |
|
|
8130 | |
|
|
8131 | Add better comment in config.h about the DM_MAIL option - msw. |
|
|
8132 | |
|
|
8133 | Fixed and doc/playbook/Makefile.in doc/spoiler/Makefile.in so it works with |
|
|
8134 | autoconf setup. |
|
|
8135 | |
|
|
8136 | Updated to properly generated handbook.ps when needed - msw |
|
|
8137 | |
|
|
8138 | doc/crossfire.doc: Updated with disease code notes, detector notes. |
|
|
8139 | |
|
|
8140 | crossedit: Fix in edit.c to ensure map objects (mainly is_floor objects) |
|
|
8141 | are actually removed visually as well as from a pure object standpoint. |
|
|
8142 | |
|
|
8143 | Change to save_throw_object: If object is in players inventory and |
|
|
8144 | is destroyed, send update to client. This can happen when trying to |
|
|
8145 | ignite something in the inventory with flint and steel - msw. |
|
|
8146 | |
|
|
8147 | In apply_lighter, do more accurate check when seeing if the attempted |
|
|
8148 | object was actually destroyed. Also, cache the item name so that if |
|
|
8149 | it is destroyed, we have a proper name to print out. - msw |
|
|
8150 | |
|
|
8151 | fireborns changed to have Pow stat bonus instead of Wis |
|
|
8152 | stat bonus. --PeterM |
|
|
8153 | |
|
|
8154 | Some problems in the random map code fixed: specificially, |
|
|
8155 | 1) fountains no longer attempted placement outside map |
|
|
8156 | 2) Ignore files/dirs named CVS when looking for styles. |
|
|
8157 | |
|
|
8158 | I changed a few of the maps to have exits to random maps. |
|
|
8159 | I made one random house in Scorn, one random exit in the Hall of Bones |
|
|
8160 | to an undead maze, another exit to a random map in the hole SE of |
|
|
8161 | Scorn, and one in the bottom of the Tower of the Stars. --PeterM |
|
|
8162 | |
|
|
8163 | |
|
|
8164 | Update lib/Makefile.in to create empty bookarch and temp.maps files as |
|
|
8165 | part of install process. - msw |
|
|
8166 | |
|
|
8167 | Change configure.in script so that by default, files will be put in |
|
|
8168 | installdir/var/crossfire and installdir/share/crossfire instead of |
|
|
8169 | just installdir/var and installdir/share. This allows crossfire to be |
|
|
8170 | installed more cleaning without it having its own top level directory. |
|
|
8171 | Old installation behaviour can be gained by using --enable-old-layout when |
|
|
8172 | running the configure script. - msw |
|
|
8173 | |
|
|
8174 | Patch by Carsten Pluntke that fixes a problem with unique maps not being |
|
|
8175 | properly reloaded after being swapped out (main.c) - msw |
|
|
8176 | |
|
|
8177 | Fix so that when picking up objects from a container, the client gets |
|
|
8178 | an update to remove the object display from the container (ie, if |
|
|
8179 | you pick up all the gold coins from a container, the total in the players |
|
|
8180 | inventory always got corrected, but the client still displayed some in the |
|
|
8181 | container even if there should not be.) The change is in c_object.c - msw |
|
|
8182 | |
|
|
8183 | Check that hitter has a valid name before it attacks - fixes some |
|
|
8184 | crashes (attack.c) - msw |
|
|
8185 | |
|
|
8186 | Enhance lib/collect.pl to ignore CVS directories - msw. |
|
|
8187 | |
|
|
8188 | |
|
|
8189 | Improve auto_apply functions so that it will create treasures (random_* |
|
|
8190 | items) inside other objects. There is still a limit in that it will only |
|
|
8191 | look for these objects inside other top level objects - a random potion |
|
|
8192 | inside a chest inside a monster will not be processed. But that |
|
|
8193 | should be a rare case, and nesting containers very deep has never been |
|
|
8194 | well supported in the code. The code affects is in the apply.c file. -msw |
|
|
8195 | |
|
|
8196 | Add Xaw to start of libraries when linking crossedit - fixes focus problem. |
|
|
8197 | File affected configure.in - msw |
|
|
8198 | |
|
|
8199 | Fixed a bug in the "depletion on death" code. The depletion |
|
|
8200 | never had any stat removal specified. --PeterM |
|
|
8201 | |
|
|
8202 | Remove berzerk code/variable from player structure. The code had |
|
|
8203 | no effect - whatever functionality it once had has been removed in the |
|
|
8204 | past. - msw |
|
|
8205 | |
|
|
8206 | |
|
|
8207 | Add flag save information for FLAG_CLIENT_SENT that was otherwise |
|
|
8208 | missing (loader.l). This fixes the disappearing archetype bug - msw |
|
|
8209 | |
|
|
8210 | |
|
|
8211 | Fixed buffering bug in lowlevel.c |
|
|
8212 | --David |
|
|
8213 | |
|
|
8214 | ------------------------------------------------------------------------------ |
|
|
8215 | Changes from Crossfire 0.95.2 to 0.95.3: |
|
|
8216 | |
|
|
8217 | Fixed missing god animations in the archetypes. |
|
|
8218 | |
|
|
8219 | SIMPLE_EXP option added. From config.h: |
|
|
8220 | * Define this if you want to use the new (0.95.3) experience system. |
|
|
8221 | * The system has the following changes: |
|
|
8222 | * |
|
|
8223 | * 1) 2000 exp need for second level. All additional levels are shifted |
|
|
8224 | * accordingly. |
|
|
8225 | * 2) Your stats in your skill categories don't affect the amount of |
|
|
8226 | * exp you get. |
|
|
8227 | * 3) Your level difference doesn't affect the exp you get for killing |
|
|
8228 | * monsters. |
|
|
8229 | * |
|
|
8230 | * If this commented out, you get the old system. |
|
|
8231 | * |
|
|
8232 | * This can also be set by using -simple-exp/+simple-exp as a run |
|
|
8233 | * time option. |
|
|
8234 | |
|
|
8235 | |
|
|
8236 | Change treasure lists so that stat improving potions won't show up in |
|
|
8237 | shop. They should still show up on the ramdom_potion spaces on the |
|
|
8238 | maps (may in fact be slightly more common there than before) |
|
|
8239 | |
|
|
8240 | Move socket related code out of server directory and into socket directory |
|
|
8241 | and re-arrange cod so that what is in what file makes more sense. |
|
|
8242 | |
|
|
8243 | Code from Peter Mardahl to have death result in stat depletion and |
|
|
8244 | not actual stat loss. Setable by via STAT_LOSS_ON_DEATH option in config.h |
|
|
8245 | or -stat_loss_on_death/+stat_loss_on_death command line |
|
|
8246 | options. |
|
|
8247 | |
|
|
8248 | Patch by Peter Mardahl to change immunity spells from PATH_PROT to PATH_NULL |
|
|
8249 | - this will stop gods from giving out these spells. |
|
|
8250 | |
|
|
8251 | Patch by Peter Mardahl so that players will never fumble the reading |
|
|
8252 | of scrolls. You only get half as much exp for reading the scrolls now |
|
|
8253 | however. |
|
|
8254 | |
|
|
8255 | Update the README file - the list of public servers was grossly out of date |
|
|
8256 | and mostly removed. The instructions for running/playing were out of date, |
|
|
8257 | containing information for servers with the old X11 code. |
|
|
8258 | |
|
|
8259 | Change CAN_MERGE so that identified items with different been_applied |
|
|
8260 | will merge (this is currently done by just setting the been_applied flags |
|
|
8261 | for the object in CAN_MERGE if they have been identified) |
|
|
8262 | |
|
|
8263 | Temporary fix for disease code - I was seeing endless loops in weight |
|
|
8264 | contributions because an disease object op->env points back at itself. |
|
|
8265 | In do_symptoms, we check to see if the victim matches the disease we |
|
|
8266 | are about to infect them with, and if so, don't proceed further. The |
|
|
8267 | cause of this pointer recursion needs to be found instead of |
|
|
8268 | this current fix. |
|
|
8269 | |
|
|
8270 | Change daemon.c so that hpux systems can also use ioctl (.., TIOCTTY, ..) |
|
|
8271 | call in addition to SYSV systems. |
|
|
8272 | |
|
|
8273 | players and logs command added. players show all current player names |
|
|
8274 | currently in use, logs show sockets that are currently listening for |
|
|
8275 | kill log information. Add limited support for some commands from |
|
|
8276 | the socket (hiscore, logs, maps, motd, players, version, who). |
|
|
8277 | After socket has been authenticated to have valid server, shout and tell |
|
|
8278 | also available. To switch socket into old style mode, first command |
|
|
8279 | entered should be 'oldsocketmode'. Server code then knows not to |
|
|
8280 | prepend packet length information, so most functions work on this new |
|
|
8281 | socket without any changes. |
|
|
8282 | |
|
|
8283 | Add verify_player function to login.c (takes name and password and verifies |
|
|
8284 | they are ok - used for old socket emulation). Also notify all |
|
|
8285 | players when a player joins the game (this must have gotten removed |
|
|
8286 | at some point). |
|
|
8287 | |
|
|
8288 | change prototype for cs_write_string to take a constant string. In |
|
|
8289 | readpacket, have it read in 100 bytes even if length information looks |
|
|
8290 | incorrect (allows easier initial switching to oldsocketmode). If |
|
|
8291 | the length of the input buffer is for some reason negative, call abort. |
|
|
8292 | |
|
|
8293 | Clean up nconns in socket.c - it was being increased 2 times when |
|
|
8294 | a socket was added, and decreased by 2 when a socket was removed. |
|
|
8295 | Add newline to initial version command so people telneting in for |
|
|
8296 | old socket compatibilty get something a little more presentable. |
|
|
8297 | command char pointer added to newsocket structure - used for player |
|
|
8298 | name or listener html address. Fix in memory overrun/corruption when |
|
|
8299 | freeing the last allocated socket - it would write data beyond the allocated |
|
|
8300 | data. |
|
|
8301 | |
|
|
8302 | if new_draw_info is called to notify everyone, also notify sockets |
|
|
8303 | running in old mode if it isn't a kill log listener. |
|
|
8304 | |
|
|
8305 | Update commands.h file so that it won't declare various values if included |
|
|
8306 | multiple times - only the first time it is included will it declare the |
|
|
8307 | values. |
|
|
8308 | |
|
|
8309 | Add extern declaration for init_sockets to global.h since other functions |
|
|
8310 | now need to access them. |
|
|
8311 | |
|
|
8312 | Who command extended to also show active socket connections without a player |
|
|
8313 | attached. |
|
|
8314 | |
|
|
8315 | Kill log (watchable from socket) added. |
|
|
8316 | |
|
|
8317 | Add support to use old socket commands on the new port. |
|
|
8318 | |
|
|
8319 | Fix by Seikoh Nishita for weapons that slay multiple creatures - before |
|
|
8320 | fix, they would not slay anything (args to strstr were reversed) |
|
|
8321 | |
|
|
8322 | Don't give out exp for orating to monsters owned by another player - fixes |
|
|
8323 | abuse since 2 players could quickly orate back and forth and gets lots of |
|
|
8324 | exp. The orate function was also cleaned up a bit to be more efficient |
|
|
8325 | (presumption is made that there is only 1 monster on any one space, so once |
|
|
8326 | we find one, there is no need to do further processing) |
|
|
8327 | |
|
|
8328 | If door is passable, print a message to the player if he tries to |
|
|
8329 | pick the lock and don't let them pick it (examples here are the |
|
|
8330 | doors which you can walk through) |
|
|
8331 | |
|
|
8332 | Fix by Seikoh Nishita that should prevent some crashes when exiting |
|
|
8333 | shops - appears that there could be circumstances when i was trying |
|
|
8334 | to referance a null pointer in an error message. |
|
|
8335 | |
|
|
8336 | Add popen_local for sgi systems - without this, sgi can only open one |
|
|
8337 | compressed map before it fails to open further compressed maps. |
|
|
8338 | |
|
|
8339 | Fix by Timo Kokkonen so that resurrection works with the new player |
|
|
8340 | save method. This should also fix the problem that dead players when |
|
|
8341 | using PERMADEATH being able to log in after dying. |
|
|
8342 | |
|
|
8343 | Allow FORCE objects to increase digestion/hp/sp/grace regeneration. |
|
|
8344 | |
|
|
8345 | Remove style.h file, since we now have an automatically generated proto file |
|
|
8346 | from random directory source. Also fix in makefine to use proper ar |
|
|
8347 | when creating the archive. |
|
|
8348 | |
|
|
8349 | Add 'race *' to maps/styles/misc/fountains - this fixes a crash when |
|
|
8350 | entering random maps. |
|
|
8351 | |
|
|
8352 | If use presses an incorrect key at the play again prompt, reprint the |
|
|
8353 | play again question. |
|
|
8354 | |
|
|
8355 | Change find_free_spot to return -1 if no spot available, update calls so |
|
|
8356 | check for this return value instead of 0 (value = means current spot |
|
|
8357 | available) |
|
|
8358 | |
|
|
8359 | Change pet movement so that pets should no longer jump walls. |
|
|
8360 | |
|
|
8361 | Update configure, makefiles, and code to use proper locations of installed |
|
|
8362 | files (no longer $prefix/lib, instead $prefix/share for read only, |
|
|
8363 | and $prefix/var for read/write. |
|
|
8364 | |
|
|
8365 | When using a special key to open the door, print a message informing the |
|
|
8366 | player what key was used to open the door. |
|
|
8367 | |
|
|
8368 | Minor map cleanups/changes. Some improper exits changed to point the |
|
|
8369 | right place, extraneous style maps removed due to new gods, other maps |
|
|
8370 | updated to replace now missing altars with their replacements. |
|
|
8371 | |
|
|
8372 | Change gate code logic so instead of using speed to determine if the object |
|
|
8373 | can move itself, we instead check the ALIVE flag (this fixes problems for |
|
|
8374 | animated objects, and is a more accurate method in any case.) |
|
|
8375 | |
|
|
8376 | Fix by S.Nishita so that containers on the ground get properly unapplied |
|
|
8377 | when player moves off them. |
|
|
8378 | |
|
|
8379 | Fix by S.Yoshioka's so that damage for cone spells is calculated properly |
|
|
8380 | as they propogate. |
|
|
8381 | |
|
|
8382 | Remove server side referances to INFOLINES and INFOCHARS, since that is now |
|
|
8383 | controlled by the client. |
|
|
8384 | |
|
|
8385 | Code cleanup to random map generator to prevent compiler warnings. |
|
|
8386 | Also, change comparision of val == 0x1 to val-1 = null, since the |
|
|
8387 | later is more portable. |
|
|
8388 | |
|
|
8389 | added some missing newlines to log messages in the newsocket.c file. |
|
|
8390 | |
|
|
8391 | fix pickup modes some - mode 4 appeared to work ok (pickup all), but mode |
|
|
8392 | 5 wasn't working right (pickup all and stop). I have tested the modes |
|
|
8393 | with the X11 client, and they all appear to work properly. |
|
|
8394 | |
|
|
8395 | House of Healing map (with link from starting city) added by Peter Mardahl. |
|
|
8396 | |
|
|
8397 | Change player move code so you will no longer swap spaces with a pet |
|
|
8398 | monster/other friendly object is you are braced. |
|
|
8399 | |
|
|
8400 | Fix off by one error in the buffering socket buffering code - this would |
|
|
8401 | cause buffer overflows if the data being added equaled exactly the buffer |
|
|
8402 | size+1. Similar fix when reading in packets |
|
|
8403 | |
|
|
8404 | Increase NROFATTACKS to 24 in define.h so the AT_INTERNAL attacktype |
|
|
8405 | work properly. |
|
|
8406 | |
|
|
8407 | Patch by S.Yoshioka so that godpower/holyword spells are not magical. |
|
|
8408 | |
|
|
8409 | Fix in attack.c by S.Yoshioka to call free_object instead of free for |
|
|
8410 | splitting monsters. |
|
|
8411 | |
|
|
8412 | Fix by S.Yoshioka so that magic bullet or other pure magic spells do |
|
|
8413 | damage to other parts of multisquare monsters. |
|
|
8414 | |
|
|
8415 | Fix by S.Yoshioka so that you can not get exp in other skills with cone |
|
|
8416 | spells. |
|
|
8417 | |
|
|
8418 | Fix by Seikoh Nishita so that magic walsl can not be placed on top of |
|
|
8419 | other walls/monsters. |
|
|
8420 | |
|
|
8421 | Fix by Seikoh Nishita so that we don't clear the NO_STEAL flag on |
|
|
8422 | insert_ob_in_map - this makes singing/stealting from the same monster |
|
|
8423 | multiple times impossible. |
|
|
8424 | |
|
|
8425 | Patch by Seikoh Nishita so that boulders will roll off gates. |
|
|
8426 | |
|
|
8427 | Have server send updated weight of container when dropping all items from |
|
|
8428 | a container. |
|
|
8429 | |
|
|
8430 | New random map decore styles for new religions added. |
|
|
8431 | |
|
|
8432 | Patches from James Cameron to fix compile errors/warnings. |
|
|
8433 | |
|
|
8434 | Fix missing animations for some of the gods. |
|
|
8435 | |
|
|
8436 | Remove *.orig files from maps/picks directory. |
|
|
8437 | |
|
|
8438 | Maps updated wtih dtabb 2.60, navar_city 2.40 maps from John Cater. |
|
|
8439 | |
|
|
8440 | ------------------------------------------------------------------------------ |
|
|
8441 | Changes from Crossfire 0.95.1 to 0.95.2: |
|
|
8442 | |
|
|
8443 | speed_left values should not be changed when loading/saving maps with the |
|
|
8444 | editor. |
|
|
8445 | |
|
|
8446 | Map updates from Anthony Tyson and others (990128 version) |
|
|
8447 | |
|
|
8448 | Note: I was unable to reproduce the staff to snake killing the client bug. |
|
|
8449 | If still in this client/server release, please let me know. |
|
|
8450 | |
|
|
8451 | Set player->count in esrv_move_item when picking up objects. This fixes |
|
|
8452 | a bug introduced in 0.95.1 for the improved pickup code which only allowed |
|
|
8453 | picking up of all the objects on the ground. |
|
|
8454 | |
|
|
8455 | lifesaving items should now disappear from client inventory after they |
|
|
8456 | are used. |
|
|
8457 | |
|
|
8458 | Improve decrease_ob_nr so that items dropped on the ground will get removed |
|
|
8459 | from the players inventory if they are used up (fixes bug where you drop |
|
|
8460 | the last of some item on an altar but it would not disappear from your |
|
|
8461 | inventory) |
|
|
8462 | |
|
|
8463 | Add check to add_exp so that we don't add experience to non living creatures. |
|
|
8464 | This should fix the thrown objects getting lots of speed bug. |
|
|
8465 | |
|
|
8466 | Random map code by Peter Mardahl added. Various changes made so it will |
|
|
8467 | compile on non gcc systems as well as non bsd systems. |
|
|
8468 | |
|
|
8469 | Another fix for pits (holes) so objects should drop through. The fix |
|
|
8470 | in the last release made fixed a possible infinite loop, but also made |
|
|
8471 | it that once an object on the pit could not drop through, no other objects |
|
|
8472 | on the pit would drop through. The change made will attempt to drop all |
|
|
8473 | objects through the pit, but also not run into a problem with infinite loops. |
|
|
8474 | |
|
|
8475 | Update pedestal and detector code to also match on the lockcode of the |
|
|
8476 | special keys. |
|
|
8477 | |
|
|
8478 | Change detector function to call push_button instead of update_button. |
|
|
8479 | The later would only change the state of buttons, which doesn't do much |
|
|
8480 | good when you want to open a gate. push_button will cause gates and |
|
|
8481 | other connected objects to open. |
|
|
8482 | |
|
|
8483 | Change move_gate so that it won't roll off things like grass or other |
|
|
8484 | immovable objects. |
|
|
8485 | |
|
|
8486 | Update configure script to check for scandir function (needed by disease |
|
|
8487 | code) - if not found, then check in -lucb. |
|
|
8488 | |
|
|
8489 | Disease code from Peter Mardahl added. |
|
|
8490 | |
|
|
8491 | add break value in while loop in generate artifact message (readable.c) so |
|
|
8492 | we eventually break out if no match is found. |
|
|
8493 | |
|
|
8494 | reduce minimum supported map size in crossedit to 1x1 |
|
|
8495 | |
|
|
8496 | Don't let characters be easily saved on unholy ground. Player can't issue |
|
|
8497 | 'save' command when on unholy ground, and we don't autosave if on unholy |
|
|
8498 | ground. |
|
|
8499 | |
|
|
8500 | Improve pickup code mode 6 (pickup magic item) - call is_magical to |
|
|
8501 | determine if an item is magical instead of relying on known_magical flag. |
|
|
8502 | |
|
|
8503 | If the player has a marked item in need of identifying, identify that |
|
|
8504 | specific item first when an apply altar is used. This allows a player |
|
|
8505 | to selective choose what to identify. |
|
|
8506 | |
|
|
8507 | Fix in apply code between server and client. Containers on the ground |
|
|
8508 | now work properly. Server side simplified a bit, and updated to be a bit |
|
|
8509 | more bandwidth efficient (use update item to open/close containers.) Client |
|
|
8510 | updated to handle updating its container status via the update commands. |
|
|
8511 | |
|
|
8512 | Fix in pay_for_item in that it will not mistake kobans or other coins for |
|
|
8513 | gold coins when making change (or converting the older coins into new |
|
|
8514 | coins with the same arch but with a different value) |
|
|
8515 | |
|
|
8516 | Have player swap places with pet monster even if player no longer has peacful |
|
|
8517 | set. |
|
|
8518 | |
|
|
8519 | At confirmation when player quits, inform them that quitting will delete |
|
|
8520 | the chararacter. |
|
|
8521 | |
|
|
8522 | When a weapon is improved by the god, if it had no prior attactkype set, |
|
|
8523 | give it physical attacktype in addition to what the god gives it. |
|
|
8524 | |
|
|
8525 | By default, make new players peaceful. |
|
|
8526 | |
|
|
8527 | Fix up the fire cancellation function - it seems some of the code wasn't |
|
|
8528 | quite right (inserting in map vs setting the owner.) The fix should |
|
|
8529 | prevent some core dumps this could have caused. |
|
|
8530 | |
|
|
8531 | Fix for main loop in socket.c that should prevent infinite loops when |
|
|
8532 | a socket dies in some improper way. It should now drop the connection |
|
|
8533 | properly and continue with processing. |
|
|
8534 | |
|
|
8535 | Autoconf fixes - check for canonical system, specail check for |
|
|
8536 | alpha-dec-osf to add -std1 to cflags, add check for latex, add check |
|
|
8537 | for BOURNE_SHELL (this is used in hte makefiles, as some os's will use |
|
|
8538 | the users shell, but some constructs we use require bourne type shell), |
|
|
8539 | add check for number of args gettimeofday uses, change order when |
|
|
8540 | we create the makefiles to be proper. |
|
|
8541 | |
|
|
8542 | Use autoconf check above to get correct number of args for gettimeofday. |
|
|
8543 | |
|
|
8544 | Fix from Anthony Thyssen for the editor - should hopefully fix problem with |
|
|
8545 | delete not deleting the correct object. |
|
|
8546 | |
|
|
8547 | Remove font displaymode from editor - since we are not distributing any |
|
|
8548 | fonts anymore, doesn't make a lot of sense to support it. |
|
|
8549 | |
|
|
8550 | When connection is lost from player, save off the character - prevents |
|
|
8551 | items being dropped on the floor or the players duplicating the items. |
|
|
8552 | However, some additional logic will need to be added to prevent players |
|
|
8553 | from saving their characters in treasure rooms. |
|
|
8554 | |
|
|
8555 | Improvements in save_player which should better prevent saves from |
|
|
8556 | happening at inopportune times (like after they have mostly exited). |
|
|
8557 | |
|
|
8558 | Add stat_loss_on_death option (yes/no if stat is subtracted when you die.) |
|
|
8559 | Default can be set in config.h, and can also be changed with run |
|
|
8560 | time flags. |
|
|
8561 | |
|
|
8562 | Add / behind -I@x_includes@ in crossedit/Makefile.in. This should prevent |
|
|
8563 | the includes from being reset if there are no x_includes. |
|
|
8564 | |
|
|
8565 | Extend draw_look to send multiple item commands - this should only happen |
|
|
8566 | if there are a lot of items on one square. Fix should prevent crashes/memory |
|
|
8567 | corruption in that case. |
|
|
8568 | |
|
|
8569 | ------------------------------------------------------------------------------ |
|
|
8570 | Changes from Crossfire 0.95.0 to 0.95.1: |
|
|
8571 | |
|
|
8572 | Fix server crash if player ran into friendly object. |
|
|
8573 | |
|
|
8574 | Strip extra spaces that may be between the command and option (ie, |
|
|
8575 | "use_skill disarm" would result in " disarm" getting passed to the appropriate |
|
|
8576 | command function. Some functions could deal with this, others did not, |
|
|
8577 | and it makes sense to strip them out. |
|
|
8578 | |
|
|
8579 | Send update to client to remove item from players inventory when it |
|
|
8580 | disintegrates (demon ichors for example). |
|
|
8581 | |
|
|
8582 | Change load code so that player handling on unique maps should work better |
|
|
8583 | (I believe there were various strange cases if the player saved on a |
|
|
8584 | per player unique map and that map was or was not in memory, it might not |
|
|
8585 | load the per player unique map) |
|
|
8586 | |
|
|
8587 | Removed player file lockin during login. Extra lock files get left |
|
|
8588 | laying around in aborted login attempts. And in retrospect, I don't |
|
|
8589 | think it is ever really needed. |
|
|
8590 | |
|
|
8591 | Some excessive/annoying debugging messages removed. |
|
|
8592 | |
|
|
8593 | Some general cleanup in some functions that were previous setting |
|
|
8594 | automatic variables. If the variables are none changing, we now declare |
|
|
8595 | them static, otherwise we don't set the value as the initialization |
|
|
8596 | area - this prevents warnings with some compilers. Some casts added for |
|
|
8597 | some functions to also prevent warning messages. |
|
|
8598 | |
|
|
8599 | Remove HAVE_SAVE_UID in config.h - no longer any code using it. |
|
|
8600 | |
|
|
8601 | In free_player, only call remove_ob on pl->ob if it is not already removed. |
|
|
8602 | This fixes crashes when a player kills there login session before |
|
|
8603 | it is completed. |
|
|
8604 | |
|
|
8605 | Instead of calling draw_look (which causes all data on that space being |
|
|
8606 | sent to the client) each time the space changes, instead mark that we |
|
|
8607 | need to send that change, and have code higher up (top processing loop) |
|
|
8608 | send the data each tick if it needs to be send. This should result in less |
|
|
8609 | data being sent, and is easier to process. |
|
|
8610 | |
|
|
8611 | Add flag_client_sent for debugging purposes - makes it much easier to |
|
|
8612 | trace down cases where server was sending updates without actually having |
|
|
8613 | sent the object yet. Most all of those cases are fixed with the new draw_look |
|
|
8614 | logic mentioned above. Add dump_object_from_tag to figure help figure out |
|
|
8615 | the objects generating messages. dumptag command is available from within |
|
|
8616 | the game if compiled with DEBUG to use this fucntion. |
|
|
8617 | |
|
|
8618 | Pup land maps updated to version 1.3. |
|
|
8619 | |
|
|
8620 | Fixes in configure script to autodetect X11 libraries better. Fixes |
|
|
8621 | also in Makefiles so all rules should work and all needed variables should |
|
|
8622 | now be expanded. Add checks for a few more header files. Makefile fixes |
|
|
8623 | also include changes so that archive is packed in proper order that it should |
|
|
8624 | not try to rebuild pregenerated files. Master makefile now set to |
|
|
8625 | make bzip2 archives in addition to gzip archives. |
|
|
8626 | |
|
|
8627 | Added watchdog code from Christian Stieber - periodically sends out UDP |
|
|
8628 | packets so other programs can watch for them and restart the server if it |
|
|
8629 | doesn't see them (hung or down server). |
|
|
8630 | |
|
|
8631 | Added ISQRT macro to spell_effect.c - seemed that the code was changed |
|
|
8632 | a while back but that function wasn't added. It was only needed of |
|
|
8633 | SPELL_FAILURE_EFFECTS is compiled in as an option. |
|
|
8634 | |
|
|
8635 | Simplify checking of MAXNAMELEN in crossedite/include/Posix.h |
|
|
8636 | |
|
|
8637 | Updated list of options you get when you do -help - removed old options that |
|
|
8638 | are no longer around and added new ones. |
|
|
8639 | |
|
|
8640 | Dropping an active container will now result in all the items in the |
|
|
8641 | container being dropped, and not the container itself. It could be argued |
|
|
8642 | this should be a client issue (client send a move for each item in the |
|
|
8643 | container). However, dropping everything in the container should be faster |
|
|
8644 | than individually dropping (ie, you turn the container upside down), and |
|
|
8645 | client dropping them one by one would result in that many commands of the |
|
|
8646 | player being used. |
|
|
8647 | |
|
|
8648 | Change esrv_move_object to use the pick_up function instead of pick_up_object. |
|
|
8649 | The difference here is that pick_up will look for matching containers, so |
|
|
8650 | players manually picking stuff up in the client will have items go into |
|
|
8651 | active containers as appropriate. However, this can also cause problems |
|
|
8652 | with smarter clients that really want the object to go into the players |
|
|
8653 | inventory and not a container (I don't think any will have that problem |
|
|
8654 | currently) |
|
|
8655 | |
|
|
8656 | Fix in apply for holes - return 0 if we can not move the monster through |
|
|
8657 | the hole - this prevents an infinite loop in move_hole in time.c |
|
|
8658 | |
|
|
8659 | Added internal buffering for sockets if the OS's buffers fills up. This |
|
|
8660 | greatly improves reliability in the client. Size of buffering is |
|
|
8661 | setable in config.h |
|
|
8662 | |
|
|
8663 | Fixed makefile dependancies - make install should now depend on the |
|
|
8664 | actual programs it plans to install. |
|
|
8665 | |
|
|
8666 | Fix some bugs in the animation code - most notable is animations with |
|
|
8667 | just 2 facings like the quetcoutal. Changes to archetypes is to |
|
|
8668 | change the half orc to have 4 facings the quetzalcatl to have 2 facings. |
|
|
8669 | |
|
|
8670 | Fixed animations to always use the direction value for determing object |
|
|
8671 | animations. |
|
|
8672 | |
|
|
8673 | Change examine code so that if the first thing in an object message field |
|
|
8674 | is @match, don't display the message. |
|
|
8675 | |
|
|
8676 | Fix map update code that wasn't calling update_los before sending the |
|
|
8677 | map to the client. |
|
|
8678 | |
|
|
8679 | Fix from Timo Kokkonen for socket code - check to see if we got an |
|
|
8680 | interrupted system call (EINTR) on a read/write - if so, loop until it |
|
|
8681 | clears or we get a real error. Apparantly greatly improved reliability |
|
|
8682 | of the server. |
|
|
8683 | |
|
|
8684 | ------------------------------------------------------------------------------ |
|
|
8685 | Changes from Crossfire 0.94.3 to 0.95.0: |
|
|
8686 | |
|
|
8687 | Added diagnostic message if you try to use a skill and it can't find a match |
|
|
8688 | |
|
|
8689 | Fix in send item command to better handle objects with a huge number of |
|
|
8690 | items in its inventory. |
|
|
8691 | |
|
|
8692 | Shop listing code simplified - send all data to the client at once instead of |
|
|
8693 | havign to store it and wait for the player to hit a keypress. |
|
|
8694 | |
|
|
8695 | Fix bug in ghosthit which would cause server to crash (patch for 0.94.3 |
|
|
8696 | was released for this bug) |
|
|
8697 | |
|
|
8698 | Some general code cleanup - fixing/removing unreachable statements, removing |
|
|
8699 | unused variable. |
|
|
8700 | |
|
|
8701 | Build/configuration now done by autoconf (run ./configure). This cleans up |
|
|
8702 | a lot of special checks throughout the program, and hopefully should be |
|
|
8703 | more portable. |
|
|
8704 | |
|
|
8705 | Cleaned up/rearranaged the include/.h files. Prior, most all structures |
|
|
8706 | where included in structs.h. Structures and support values now in unique |
|
|
8707 | header files (ie, player structure and support enums and like in player.h, |
|
|
8708 | object structure and support in object.h, etc.). This doesn't change the |
|
|
8709 | working on the code, but is just easier to maintain. global.h takes care |
|
|
8710 | of including these is the correct order. |
|
|
8711 | |
|
|
8712 | Many options now removed from config.h file. Options removed either relate |
|
|
8713 | to X11 code/old server support or machine specific details which we can |
|
|
8714 | now pick up via autoconf. |
|
|
8715 | |
|
|
8716 | Better speed checking in update_object_speed. |
|
|
8717 | |
|
|
8718 | When improving a weapon, client should now get updated (code was updating |
|
|
8719 | the incorrect object) |
|
|
8720 | |
|
|
8721 | Improve apply below to be more bug free (that is to say, we preserve |
|
|
8722 | the pointer to the next object - I think there were cases where the |
|
|
8723 | last of an object was applied, and thus removed, but the apply function |
|
|
8724 | did not return a code specifying something was applied, so the code would |
|
|
8725 | then try to apply an object with an invalid pointer) |
|
|
8726 | |
|
|
8727 | Fix for collect.pl script to fix problem traversing directories. |
|
|
8728 | |
|
|
8729 | (note for 0.95.0, there were many large scale changes, so many of the |
|
|
8730 | entries below are more of just an overview of what changed, and not a highly |
|
|
8731 | detailed account of the changes.) |
|
|
8732 | |
|
|
8733 | Fix/improvement in player movers so that players trying to run in the |
|
|
8734 | direction they move don't move incredibly fast. They will still seem to |
|
|
8735 | move faster (I am guessing roughly player speed + mover speed now). I am |
|
|
8736 | not sure of the original bug, but my guess is that the mover moves the |
|
|
8737 | player to the next mover (which has a low speed). But now the player still |
|
|
8738 | has his own action left, and moves to the next mover which has high speed, |
|
|
8739 | so wisks the player to the next mover, which has low speed, so he |
|
|
8740 | effectively moves 3 spaces in one tick when he should just move one. |
|
|
8741 | |
|
|
8742 | Changed save player method so that a directory is created for each |
|
|
8743 | player. |
|
|
8744 | |
|
|
8745 | Added per player unique maps (new apartments). Maps from Christian |
|
|
8746 | Stieber, however the implementation is a bit different - if an exit is |
|
|
8747 | marked as unique, it will lead to a unique maps. The unique maps are |
|
|
8748 | stored in the new player save file directories as above. |
|
|
8749 | |
|
|
8750 | Removed all X11 support from the server code. Change crossedit so that |
|
|
8751 | it can read in the pixmaps as they are stored in for the client/server |
|
|
8752 | support (so that only 1 copy needs to be kept). This method of reading them |
|
|
8753 | in is slower than the montage method unfortunately. |
|
|
8754 | |
|
|
8755 | Changed socket handling. Port 13326 has been removed from active service. |
|
|
8756 | Socket information is now part of player structure, which cleans up a lot |
|
|
8757 | of the old code which had to do with find the player that correlates to |
|
|
8758 | a socket and vice versa. |
|
|
8759 | |
|
|
8760 | Fix bug so that if invaliad variable is given to dm 'patch' command, program |
|
|
8761 | no longer crashes. |
|
|
8762 | |
|
|
8763 | Fix bug so that containers that have a huge number of items don't crash |
|
|
8764 | the server (a container needed to have more than 250 items for this to |
|
|
8765 | happen). The real problem is containers that allow an infinite amount of |
|
|
8766 | junk to be stored in them (Lepreds bag, but this item/map isn't part of the |
|
|
8767 | standard distribution). Even with the fix, there still becomes some point |
|
|
8768 | where problems will occur (around 2000 items, the amount of data that |
|
|
8769 | needs to be sent would exceed the size of the output buffer). In any |
|
|
8770 | case, with that many items in place, the player will see a noticable |
|
|
8771 | performance hit when such containers are opened. |
|
|
8772 | |
|
|
8773 | Fix bug that caused the program to crash when attacking ghost or other |
|
|
8774 | creatures with ONE_HIT flag set. |
|
|
8775 | |
|
|
8776 | Print out message to player if they have old keybindings. |
|
|
8777 | |
|
|
8778 | Some map fixes by Christian Stieber - eliminate ability to bypass |
|
|
8779 | quest and typo fixed in other map. |
|
|
8780 | |
|
|
8781 | Fix so that perceive spell (off of rods/staves/scrolls) properly finds |
|
|
8782 | the god of the player. |
|
|
8783 | |
|
|
8784 | ------------------------------------------------------------------------------ |
|
|
8785 | Changes from Crossfire 0.94.2 to 0.94.3: |
|
|
8786 | |
|
|
8787 | Fixes to some recipes - before some had non existant ingredients. |
|
|
8788 | As part of this, a treasurelist for ogres added. |
|
|
8789 | |
|
|
8790 | archsearch.pl function added to lib/adm. Useful little perl script that |
|
|
8791 | can do object context searches (ie, immune to X and attacktype of Y) |
|
|
8792 | |
|
|
8793 | Old loader code removed - only lex loader supported now (no bugs reported, |
|
|
8794 | so it seems to be OK) |
|
|
8795 | |
|
|
8796 | Debugging output improved in various areas to be easier to read/better |
|
|
8797 | inform what is happening. |
|
|
8798 | |
|
|
8799 | Hopeful fix in place to prevent player movers causing players to have |
|
|
8800 | -infinite in speed_left. Fix right now is to just limit speed_left |
|
|
8801 | to -50 - I believe the real problem is that some player moves have |
|
|
8802 | speed=0.0, and it is diving by that value. |
|
|
8803 | |
|
|
8804 | Fix so that if a player dimension doors onto a player mover, he no longer |
|
|
8805 | gets stuck in an endless loop - he will now move along the movers as |
|
|
8806 | expected. |
|
|
8807 | |
|
|
8808 | When a player dies in NOT_PERMADEATH mode, clear the braced flag. |
|
|
8809 | |
|
|
8810 | In the case of spell failure, don't cast mana storm in no magic areas |
|
|
8811 | (instead, just kill the player) |
|
|
8812 | |
|
|
8813 | Only write out an updated bookarchive if data has actually changed and needs |
|
|
8814 | to be written out. |
|
|
8815 | |
|
|
8816 | Don't print out new client server usage logging if nothing has changed. |
|
|
8817 | |
|
|
8818 | Reduced power of 'loose mana' (it appears this only happens when a spell |
|
|
8819 | is failed really badly). It seemed to me that the area of affect and |
|
|
8820 | damage could be many times deadlier than anything else out there. |
|
|
8821 | |
|
|
8822 | Hopeful bug fix for thrown objects getting very fast speed (I am unable |
|
|
8823 | to reliably reproduce this, so am not sure.) Basically, I believe the |
|
|
8824 | problem was that set_owner was only being set for the wrapper in the |
|
|
8825 | thrown object, but it is the actual internal object that gets used at |
|
|
8826 | some point in the attack sequence. As such, I believe that the knife, |
|
|
8827 | spear, whatever was getting the exp for the kill (exp = speed in |
|
|
8828 | weapons). To hopefully fix this, I have also added a set_owner call |
|
|
8829 | on the real object so when it goes to grant exp, it should find a |
|
|
8830 | valid place for it and credit the player and not the weapon. |
|
|
8831 | |
|
|
8832 | Changed spell parsing so 'of' is not needed in some complex |
|
|
8833 | spells (ie, create food or marking rune). From kfitzner@nexus.v-wave.com |
|
|
8834 | |
|
|
8835 | Fixed bug in which you could kill multispace monsters with paralyze or |
|
|
8836 | slow attacktypes. |
|
|
8837 | |
|
|
8838 | Added ncom and comc commands to client and server. These commands allow |
|
|
8839 | client command queing/dropping (note that server will only send a comc if it |
|
|
8840 | gets a ncom first, so old clients should still work just fine). The |
|
|
8841 | protocol numbers increased to 1021. |
|
|
8842 | |
|
|
8843 | Added more objects to the show invisible list - hopefully the pupland |
|
|
8844 | maps should now be fully playable. |
|
|
8845 | |
|
|
8846 | RPLAY_SOUND definitions changed to RPLAY_SND - should make for cleaner |
|
|
8847 | compilations for those using that. |
|
|
8848 | |
|
|
8849 | Fixed #ifdef for NetBSD in common/time.c to use proper symbol. |
|
|
8850 | |
|
|
8851 | Fix so that counterspell should no longer kill monsters with magic |
|
|
8852 | attacktype (ie, jessys and probably others) |
|
|
8853 | |
|
|
8854 | Added debugging in deathstrike code to hopefully be able to better track |
|
|
8855 | down face of death problems. My guess is that it is a problem with level |
|
|
8856 | comparisons. |
|
|
8857 | |
|
|
8858 | Fixed/clarified many nexted if/else statements that were ambiguous. Now |
|
|
8859 | braces are properly in place (From Klaus Elsbernd) |
|
|
8860 | |
|
|
8861 | Hopeful bug for disappear objects when emptying bags. I believe the |
|
|
8862 | problem was that invisible objects ended up showing up in the containers |
|
|
8863 | somehow - this by itself is not a problem. However, the empty bag |
|
|
8864 | function calls drop with the object to drop and keeps the next value - |
|
|
8865 | however, drop would forward past the invisible object so the calling functions |
|
|
8866 | next value is no longer accurate. Drop function now does not skip over |
|
|
8867 | invisible objects in containers (will skip over them in player inventory) - |
|
|
8868 | it instead removes the invisible object since I believe it is garbage |
|
|
8869 | anyways. I am not sure if this will fix the problem, but there was |
|
|
8870 | certainly some problem in the code here. |
|
|
8871 | |
|
|
8872 | Fixed bug with multipart monsters & pits. Before, they got split into |
|
|
8873 | a few parts like a magician trick. Now they stay in one piece. At |
|
|
8874 | current time, the logic probably isn't great, as all that is currently checked |
|
|
8875 | for is the head of monster being on a pit - in reality, probably all the |
|
|
8876 | monster parts need to be on a pit. |
|
|
8877 | |
|
|
8878 | -m9 and -mt options added (Code from Raphakl Quinet). Formulas have |
|
|
8879 | been fixed such that all are now creatable (none missing archetypes). However, |
|
|
8880 | the output still shows some formulas out of balance in terms of costs. |
|
|
8881 | |
|
|
8882 | Changed AT_GHOSTHIT meaning and added ONE_HIT flag. GHOSTHIT is now treated |
|
|
8883 | like any other attacktype (monster will not be removed just for having |
|
|
8884 | ghosthit). ONE_HIT flag now means the monster will disappear. This fixes |
|
|
8885 | the acid sphere deadliness (before, they did have ghosthit as an |
|
|
8886 | attacktype). All the objects with ghosthit have been updated. However, |
|
|
8887 | there are probably some other undead which could now have ghosthit added |
|
|
8888 | to their attacktypes since it won't cause them to disappear now. |
|
|
8889 | |
|
|
8890 | Updated the programming_guide doc. Hopefully, it is a bit easier to read |
|
|
8891 | and a little more accurate. |
|
|
8892 | |
|
|
8893 | Improved polymorph. Invisible objects should no longer appear. Also improved |
|
|
8894 | so that all objects of a type would be possible results (before, it would |
|
|
8895 | be the first 80 weapons would be chosen from, or the first 80 monsters, etc.) |
|
|
8896 | Now it is unlimited. Smarter initial selection should also result in |
|
|
8897 | a few less meltdowns from it now being able to find an acceptable object. |
|
|
8898 | Also, possible fix that could cause crashes on rare occasion (monster |
|
|
8899 | polymorphed into something else, and when inserted into the map, something |
|
|
8900 | on that space kills it) Also, we stop processing a space once we hit the |
|
|
8901 | floor - I don't recall floor types ever changing anyways, but there could |
|
|
8902 | be other problems processing subfloor items. |
|
|
8903 | |
|
|
8904 | ------------------------------------------------------------------------------ |
|
|
8905 | Changes from Crossfire 0.94.1 to 0.94.2: |
|
|
8906 | |
|
|
8907 | Changed calls to send_query on server side to include the string on what |
|
|
8908 | the query is for. This is to make clients be able to do smarter/nicer |
|
|
8909 | things when it receives a query. |
|
|
8910 | |
|
|
8911 | Bug fix in check_walk_on which would cause crashes when objects are put on |
|
|
8912 | spaces with multiple destructive forces (ie, earthwall cast on top of |
|
|
8913 | a double pool of chaos). Once check_walk_on finds that the item has |
|
|
8914 | been freed, it stops doing any further processing on it. |
|
|
8915 | |
|
|
8916 | Animation code cleaned up. Animations are now object properties, and not |
|
|
8917 | archetype properties (and thus can be changed in maps). Also cleaned up so |
|
|
8918 | that the is_turning flag is removed - more complex animations available via |
|
|
8919 | the num_facings. Below is the section from the TODO file. Note that there |
|
|
8920 | is still potential to improve animations (many 1 frame animations could take |
|
|
8921 | advantage of the new code to have multi frame (ie, players can now have |
|
|
8922 | images for all directions, and animations for each of those) New code is in |
|
|
8923 | common/anim.c: |
|
|
8924 | Clean up animation code and make it more general purpose (instead of |
|
|
8925 | is_animated and is_turning flags, instead add a value that |
|
|
8926 | states how many animations/direction there are. For example, right |
|
|
8927 | now the big dragon has 8 animations and 2 facings (left & right), with |
|
|
8928 | 4 animations/facing. Something like num_facings could be added so we |
|
|
8929 | know there is 2 facings. For arrows, num_facings would be 8, so we |
|
|
8930 | know that it shouldn't be animated (since there are only 8 images in its |
|
|
8931 | animation.) This would make the code a little cleaner, and allow better/ |
|
|
8932 | more complex animations (an object that faces 8 directions could have |
|
|
8933 | animations for all directions, were as right now, that is not possible.) |
|
|
8934 | |
|
|
8935 | collect.pl changed to handle generation of animation file. |
|
|
8936 | |
|
|
8937 | Wipe below added to crossedit by Steven Unruh |
|
|
8938 | |
|
|
8939 | removed non NEW_HIT_PLAYER in attack.c (ie, old attack code removed) |
|
|
8940 | |
|
|
8941 | Added hitback code (looks like it was missing from the NEW_HIT_PLAYER |
|
|
8942 | code) |
|
|
8943 | |
|
|
8944 | dm commands will now be accepted from the new client (provided they |
|
|
8945 | have dm priveledges of course) |
|
|
8946 | |
|
|
8947 | Add AT_INTERNAL attacktype used only for internal calculations (ie, |
|
|
8948 | does that amount of damage). Actual damage section of poison now |
|
|
8949 | uses this. |
|
|
8950 | |
|
|
8951 | Fix spoiler generation - don't convert monster archetype names to |
|
|
8952 | lowercase - images generated properly for them now. Also, fixed problem |
|
|
8953 | with some images (dragon) being rotated when they shouldn't. |
|
|
8954 | |
|
|
8955 | Clear INV_LOCKED flag when stealing objects. |
|
|
8956 | |
|
|
8957 | Fixed couple of bugs in throw code. First, players remaining speed |
|
|
8958 | calculation seemed incorrect. Second, you can now specify an object |
|
|
8959 | name to throw (ie, throw ring, throw chair). Third, the client now |
|
|
8960 | gets properly updated with the new/changed item. |
|
|
8961 | |
|
|
8962 | Make UNIQUE_ITEMS standard feature. Removed LOCK_ITEMS as a secondary |
|
|
8963 | feature - running multiple servers against the same set of files is no |
|
|
8964 | longer supported. Note for compatibility reasons of both methods, it will |
|
|
8965 | look for unique files starting at v00 and will write new ones with the .v00 |
|
|
8966 | extensions. If you have .v01 files, these will be read in the first time |
|
|
8967 | through (provided you also don't have a .v00), but all new files will be |
|
|
8968 | written with the .v00 extension. Referances to ITEMS_DIR changed to |
|
|
8969 | be UNIQUE_DIR - I think that is more descriptive. This includes |
|
|
8970 | the environmental variable. |
|
|
8971 | |
|
|
8972 | Change ok_to_put_more to do more complete checking and also not to stop |
|
|
8973 | spells because of a monster with certain immunities being on a space. |
|
|
8974 | |
|
|
8975 | If hit_player is called with the 'tail' of a monster, it would previously |
|
|
8976 | just exit if the attacktype included slow or paralyze functions (must |
|
|
8977 | hit the head with those.) Changed hit_player so we just remove |
|
|
8978 | the slow and paralyze, and still hit with any remaining attacktypes. |
|
|
8979 | |
|
|
8980 | change explode_object so it only hits the monster once with the bullet/ |
|
|
8981 | meteor. Previously, it called hit_map, which then hit the player, and |
|
|
8982 | then called hit_player again. This effectively doubled the amount of damage |
|
|
8983 | caused by the bullet - it now does the correct amount of damage. As |
|
|
8984 | best as I can tell, meteor/meteor swarm does properly damage the monster |
|
|
8985 | even if the tail was hit. |
|
|
8986 | |
|
|
8987 | Bug fix in singing so exp should now be granted the first time singing |
|
|
8988 | is used on a monster. |
|
|
8989 | |
|
|
8990 | Changed so that server can be compiled with new client/server support but |
|
|
8991 | without old (port 13326) support. Various sections of code updated to |
|
|
8992 | work/compile in such a setting. |
|
|
8993 | |
|
|
8994 | Fixed premature freeing of map->tmpanme. Now in delete_map instead. |
|
|
8995 | |
|
|
8996 | Added checking in free_object to see if we are called on a non removed |
|
|
8997 | object. IF many cores is defined, will dump core here. I believe there |
|
|
8998 | is some section of code calling free_object on a monster without calling |
|
|
8999 | remove_object, which is causing a lot of error/warning messages when it |
|
|
9000 | happens (very infrequently.) With this test in, it should become quite easy |
|
|
9001 | to track down when it happens. |
|
|
9002 | |
|
|
9003 | Added free bsd & net bsd to those systems whose gettimeofday takes 2 |
|
|
9004 | arguments (common/time.c) -lcompat added to libraries needed for |
|
|
9005 | FreeBsd. Include unistd.h on freebsd. Don't include malloc.h in |
|
|
9006 | xbmtobdf.c on freebsd. |
|
|
9007 | |
|
|
9008 | Sample ban_file added to lib. Read in of ban_file will now |
|
|
9009 | ignore lines that start with #. Also, animations file (used for new |
|
|
9010 | animation code) included. |
|
|
9011 | |
|
|
9012 | Config file rearranged to hopefully be in better sections and easier |
|
|
9013 | to edit. NEW_IMPROVE_WEAPON and SIMPLE_PARTY_SYSTEMS removed from options - |
|
|
9014 | now always selected. NO_LOG, ONE_PLAYER_PR_UID, CHRFONT removed from |
|
|
9015 | sections - these can never be valid. NO_ADD added to prevent players |
|
|
9016 | from adding others |
|
|
9017 | |
|
|
9018 | Server updated to send full lines of text with query commands to client |
|
|
9019 | so for clients that pop up a dialog box, they can print meaningful data |
|
|
9020 | on what the request is for. |
|
|
9021 | |
|
|
9022 | Bug fix so that you can no longer apply multiple objects of the same |
|
|
9023 | type with apply -a |
|
|
9024 | |
|
|
9025 | Give better messages when attempting to light something. |
|
|
9026 | |
|
|
9027 | New client/server statistic gathering added - will periodically dump |
|
|
9028 | usage stats to the log file. Server will now longer crash if |
|
|
9029 | client/supposed client sends bad data - will now just close the connection |
|
|
9030 | instead. |
|
|
9031 | |
|
|
9032 | Server will not longer crash when player runs into a door. |
|
|
9033 | |
|
|
9034 | Can now longer polymorph objects into items that are invisible. |
|
|
9035 | |
|
|
9036 | Removed client directory from main archive. Too many people thought that |
|
|
9037 | was the new client creating confusion, and I don't see a big need to have |
|
|
9038 | it around (it will go away when the X11 code is yanked from the |
|
|
9039 | server anyways0. If you still like it, the old version of it will work just |
|
|
9040 | fine (no changes have been made to it in a very long time0 |
|
|
9041 | |
|
|
9042 | Map changes: |
|
|
9043 | color_ removed from map files. |
|
|
9044 | library card cost decreased some. |
|
|
9045 | oldcity maps updated to take full advantage of XPM mode.. |
|
|
9046 | Lake_Country/DA map changed - exp reduced, sp increased. |
|
|
9047 | |
|
|
9048 | ------------------------------------------------------------------------------ |
|
|
9049 | Changes from Crossfire 0.94.0 to 0.94.1: |
|
|
9050 | |
|
|
9051 | in artifacts file - moved some settings of difficulty before Object line. |
|
|
9052 | (difficulty after the Object line have no effect) |
|
|
9053 | |
|
|
9054 | In low level socket code, retry read/write again if we get a EWOULDBLOCK |
|
|
9055 | in addition to EAGAIN errors. Some systems return EAGAIN, others EWOULDBLOCK |
|
|
9056 | |
|
|
9057 | Fixed possible crash in move_monsters. I believe the problem was that |
|
|
9058 | the monster got killed by a door, and the function was not expecting |
|
|
9059 | it, and would use the invalid object. Not sure if the code I put in will |
|
|
9060 | really fix the problem, or just migrate it to a higher level calling |
|
|
9061 | function (have not seen the crash myself) |
|
|
9062 | |
|
|
9063 | If on linux, include crypt.h in main.c |
|
|
9064 | |
|
|
9065 | Various minor memory leaks fixed. |
|
|
9066 | |
|
|
9067 | Better error message for non wiz people trying to use shutdown command. |
|
|
9068 | Shutdown command actually added to command structures and is now usuable. |
|
|
9069 | |
|
|
9070 | Internal animations changed from explicit defines to use SET_ANIMATION |
|
|
9071 | macro. Much easier to read, and better supports client side animations. |
|
|
9072 | |
|
|
9073 | Include sounds.h/sound calls no matter what RPLAY is set to. Only |
|
|
9074 | rplay special code is in sounds.h. This way, client can still get sound |
|
|
9075 | information without rplay being defined. |
|
|
9076 | |
|
|
9077 | removed NPC_PROG code - not used at all - only thing there was a few |
|
|
9078 | #ifdefs setting values. |
|
|
9079 | |
|
|
9080 | Moved typedefs for function pointer stuff from structs.h to funcpoint.h. |
|
|
9081 | No outside affect on code, just makes more sense internally. |
|
|
9082 | |
|
|
9083 | Disable default selection of DEBUG_DMALLOC on crosssite.def |
|
|
9084 | |
|
|
9085 | Removed old/unused charisma bonus values from common/living.c |
|
|
9086 | |
|
|
9087 | Minor fix so that a space is properly added between item number and name. |
|
|
9088 | |
|
|
9089 | Added a lex loading routine. Performance seems to be roughly the same, |
|
|
9090 | but ease of maintenace/readability seems better to me. Modifications to |
|
|
9091 | loader.c should not be done - instead, they should be done to loader.l |
|
|
9092 | Loader directive flags and loader return flags added to loader.l - those |
|
|
9093 | are now used instead of arbitrary integer values. |
|
|
9094 | |
|
|
9095 | Fix c_wix.c dm goto command to set the destination object/map name. Otherwise, |
|
|
9096 | if an invalid map was entered, the enter_exit would try to print a null |
|
|
9097 | string - some systems handle this OK, others will crash. |
|
|
9098 | |
|
|
9099 | Changed common/time.c to use GETTIMEOFDAY macro defined once at top |
|
|
9100 | of file instead of having #ifdefs throughout the file. |
|
|
9101 | |
|
|
9102 | Fix so that items of differing values will not be merged. Also, when |
|
|
9103 | merging objects, do not clear startequip flag. |
|
|
9104 | |
|
|
9105 | Fix in doc/playbook-html so all include directives are handled properly |
|
|
9106 | with the include_html.pl script. |
|
|
9107 | |
|
|
9108 | More details printed about improved weapons (how many improvements done, |
|
|
9109 | max number of improvements.) Also, skills will show how many improvements |
|
|
9110 | the character can handle. |
|
|
9111 | |
|
|
9112 | Bargaining skill will be auto applied when in shops. |
|
|
9113 | |
|
|
9114 | Change teleporter code so the teleporter does not have to be the first |
|
|
9115 | or second item on the space - teleporter can be any object on the space. |
|
|
9116 | |
|
|
9117 | -a, -u apply options added (always apply/unapply instead of toggling). |
|
|
9118 | Internally, apply and apply_special have been changed to take one more option |
|
|
9119 | which is this flag. |
|
|
9120 | |
|
|
9121 | Applied rings will not be merged - instead they will remain seperate. Fixes |
|
|
9122 | problems with getting full bonuses, and also makes it easier to apply/unapply |
|
|
9123 | one item. |
|
|
9124 | |
|
|
9125 | Increased frequency of generation for strange ring (nodrain ring). This |
|
|
9126 | should make it appear probably roughly as often as the ring of life, |
|
|
9127 | or maybe even more often. |
|
|
9128 | |
|
|
9129 | Put maximum carry limit in - beyond the limit, a character can carry no more. |
|
|
9130 | This limit is fairly high right now, but should improve playbalance and |
|
|
9131 | prevent characters from getting a negative weight or carrying so much |
|
|
9132 | stuff it takes forever to move (session appears hung to them) |
|
|
9133 | |
|
|
9134 | Added CS_STAT_WEIGHT_LIM to newclient.h, so client can know how much |
|
|
9135 | the player can handle (only used for GUI, so it can do a carry/limit |
|
|
9136 | type of thing) |
|
|
9137 | |
|
|
9138 | Title information now used in hiscore displays. |
|
|
9139 | |
|
|
9140 | Show invisible spell will now make handles visible. |
|
|
9141 | |
|
|
9142 | New server code won't crash if player does nothing when it prompts for the |
|
|
9143 | name. Also, include necessary dummy functions so server will compile |
|
|
9144 | of ERIC_SERVER is not set. |
|
|
9145 | |
|
|
9146 | Will now search keyrings when running into special doors for matching |
|
|
9147 | keys (players can protect keys by putting them in other containers.) |
|
|
9148 | |
|
|
9149 | Change jump skill so that any spaces with FLY_ON set will affect |
|
|
9150 | the jumping player. This prevents the character from jumping over |
|
|
9151 | player movers. |
|
|
9152 | |
|
|
9153 | In create_wall - if insertion if the initial wall fails (new all is destroyed), |
|
|
9154 | don't extend the wall. Fixes the earthwall on top of pool of chaos which |
|
|
9155 | creates strange map problems. |
|
|
9156 | |
|
|
9157 | Map fixes: |
|
|
9158 | Lake_Country/ebony/masterlev altar should now accept fragment |
|
|
9159 | of chaos. |
|
|
9160 | Put no magic areas in apartment so it should no longer be able |
|
|
9161 | to dimension door and get keys. |
|
|
9162 | /city/houses/wizz.entry should now be entered at the correct position. |
|
|
9163 | /city/misc/library - library cards are now identified, so it should |
|
|
9164 | no longer be able to buy then sell at a profit. |
|
|
9165 | /city/houses/wizz* maps: removed ./ from start of some map paths - |
|
|
9166 | causes apparant problems. |
|
|
9167 | Lake_Country/Butakis/blacksmith - can no longer get free dragon mails |
|
|
9168 | or other items - have to pay for them now. |
|
|
9169 | Remove pup_land/rainbow/Lv4/\nkey (\n was an embedded newline). Map |
|
|
9170 | doesn't look to be needed. |
|
|
9171 | |
|
|
9172 | Archetype changes: |
|
|
9173 | |
|
|
9174 | Added blocksview to gwall so you can no longer see through them. |
|
|
9175 | |
|
|
9176 | Fixed up castle animation in bitmap mode (212/312 images needed to be swapped) |
|
|
9177 | |
|
|
9178 | Increased exp for skulls from 3500 to 5000, reduced exp of deathtrees from |
|
|
9179 | 1400 to 1000. |
|
|
9180 | |
|
|
9181 | fixed typo in gauntlets which meant title was set right. |
|
|
9182 | |
|
|
9183 | aggressive 1 values changed to unagressive 0 values in some archetypes |
|
|
9184 | (no such value as agressive) |
|
|
9185 | |
|
|
9186 | ------------------------------------------------------------------------------ |
|
|
9187 | Changes from Crossfire 0.93.7 to 0.94.0: |
|
|
9188 | |
|
|
9189 | Added outline of future versions in the TODO file. |
|
|
9190 | |
|
|
9191 | a mana storm should now hit with godpower attacktype. |
|
|
9192 | |
|
|
9193 | The spell create_food will now create food with 0 monetary value, and |
|
|
9194 | be marked as starting equipment, so can not be dropped. |
|
|
9195 | |
|
|
9196 | Player titles with spaces should now load properly. |
|
|
9197 | |
|
|
9198 | Updated command times for use skill, ready skill, and stay commands so |
|
|
9199 | when client executes them, proper amount of time is subtracted. |
|
|
9200 | |
|
|
9201 | drop_object now preserves the freeze inv/look window, which prevents |
|
|
9202 | slowdowns when picking up a lot of objects/dropped. |
|
|
9203 | |
|
|
9204 | Added yield to water of diamond, fixed typo for dust of frost recipe. |
|
|
9205 | If a recipe doesn't have a yield, recipe should still be properly |
|
|
9206 | generated. |
|
|
9207 | |
|
|
9208 | Hiscore savefile now stores maxgrace and seperates player title from |
|
|
9209 | player name. |
|
|
9210 | |
|
|
9211 | Option added to only swap out maps when MAX_OBJECTS is exceeded |
|
|
9212 | (MAX_OBJECTS_LWM) |
|
|
9213 | |
|
|
9214 | Changed internal definition from SOUND_EFFECTS to RPLAY_SOUND to properly |
|
|
9215 | reflect what it actually enables (sounds for the client are always |
|
|
9216 | enabled) |
|
|
9217 | |
|
|
9218 | No longer put a 'a' for single objects. |
|
|
9219 | |
|
|
9220 | Changed ring generation so rings of power can be generated. |
|
|
9221 | |
|
|
9222 | Change can_merge so that more objects are mergable, add nrof 1 to some |
|
|
9223 | objects. |
|
|
9224 | |
|
|
9225 | Improved set_owner which can fix getting into endless loops. |
|
|
9226 | |
|
|
9227 | Change insert_ob_in_map_simple so it doesn't call check_walk_on. fixes |
|
|
9228 | player being slowed way down when dropping objects on slow move space. |
|
|
9229 | |
|
|
9230 | Animations moved out of archetype and into seperate array. This is necessary |
|
|
9231 | for the client as it makes a unique referance number for each animations. |
|
|
9232 | Also, in future, this would make it easier to be able to change aminations |
|
|
9233 | in objects/maps. |
|
|
9234 | |
|
|
9235 | Print out level gain messages in red so they are more noticable. |
|
|
9236 | |
|
|
9237 | Change can_pick so that invisible objects can not be picked up. |
|
|
9238 | |
|
|
9239 | Change singing so you can calm a monster multiple times - you only get |
|
|
9240 | exp once however. |
|
|
9241 | |
|
|
9242 | Change show invisible so it only makes monsters and players visible, and not |
|
|
9243 | things like magic mouths and ears. |
|
|
9244 | |
|
|
9245 | Patch so that if peaceful is set, you will not attack other players even |
|
|
9246 | if they have attacked you. |
|
|
9247 | |
|
|
9248 | Auto apply woodsman/mountaineering benefit when in the appropriate terrain. |
|
|
9249 | |
|
|
9250 | Fix get command so it takes from a container if appropriate. |
|
|
9251 | |
|
|
9252 | shutdown and kick wizard commands added. |
|
|
9253 | |
|
|
9254 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
9255 | Client/Server changes for 0.94.0 |
|
|
9256 | |
|
|
9257 | Updated protocol version to 1010 |
|
|
9258 | |
|
|
9259 | Server debugging statements in ericserver can be enabled/disabled by |
|
|
9260 | define at top. |
|
|
9261 | |
|
|
9262 | Client can lock/unlock items on the server. |
|
|
9263 | |
|
|
9264 | Client can now look at spaces now. |
|
|
9265 | |
|
|
9266 | Send update of item to client when it is identified. |
|
|
9267 | |
|
|
9268 | Send update command to client from decrease_ob_nr to update players |
|
|
9269 | overall weight. |
|
|
9270 | |
|
|
9271 | Now send animation information to the client. |
|
|
9272 | |
|
|
9273 | Now send sound information to the client, client can send setsound |
|
|
9274 | to server to enable/disable sounds. |
|
|
9275 | |
|
|
9276 | Client side image caching fully supported. |
|
|
9277 | |
|
|
9278 | Added updates when picking up objects/dropping objects so that players |
|
|
9279 | weight and container weight is updated if necessary. Also, if object merges, |
|
|
9280 | make sure we then send a delete of the original object that is now gone |
|
|
9281 | to the client. |
|
|
9282 | |
|
|
9283 | Update object changed to send floor animations to the client. |
|
|
9284 | |
|
|
9285 | Send update when power crystal changes speed. |
|
|
9286 | |
|
|
9287 | Send update of player object after player is loaded. |
|
|
9288 | |
|
|
9289 | Change server so that only send map update and player stats once a tick - |
|
|
9290 | should be more efficient and equally sufficient. |
|
|
9291 | |
|
|
9292 | Added LOCKED flag to item transmission command so client can no which items |
|
|
9293 | are locked. |
|
|
9294 | |
|
|
9295 | Added item1 command which superceded item command - sends more informatin. |
|
|
9296 | |
|
|
9297 | Added update command to protocol, and function in server - only sends |
|
|
9298 | portions of an object that need to be updated. |
|
|
9299 | |
|
|
9300 | Server now properly handles repeat fire on. |
|
|
9301 | |
|
|
9302 | ------------------------------------------------------------------------------ |
|
|
9303 | Changes from Crossfire 0.93.6 to 0.93.7: |
|
|
9304 | |
|
|
9305 | set_god wiz command added. |
|
|
9306 | |
|
|
9307 | Changed call to 'index' to 'strchr' in commands.c - keeps with what |
|
|
9308 | the rest of the program does. |
|
|
9309 | |
|
|
9310 | Pupland archetypes and maps added (v1.2 of pupland distribution). |
|
|
9311 | |
|
|
9312 | Changed get_random_mon to be more random when a monster of a specific level |
|
|
9313 | is requested. |
|
|
9314 | |
|
|
9315 | Casting transferrance spell on another playing and having their head explode |
|
|
9316 | will no longet get the recipient of the spell exp - instead, the caster |
|
|
9317 | of the spell will get the exp for any kills. |
|
|
9318 | |
|
|
9319 | change put_a_monster function so it properly handles multi-square monsters |
|
|
9320 | (put_a_monster is called by summon_evil_monsters, at probably others) |
|
|
9321 | |
|
|
9322 | Changed alchemy so you no longer get exp for failed/random mixtures |
|
|
9323 | |
|
|
9324 | If a container on the ground that the player is using (ie opened) is |
|
|
9325 | somehow removed, update the players view to now be the ground and not |
|
|
9326 | the container. |
|
|
9327 | |
|
|
9328 | Player titles will now be loaded properly from save files. |
|
|
9329 | |
|
|
9330 | Can no longer sing and make the same monster unagressive multiple times. |
|
|
9331 | The implementation is actually borrowing the NO_STEAL flag, which means |
|
|
9332 | you can't steal after you sing, and after a failed steal, you can't sing |
|
|
9333 | and calm it down. Also, make sure that only the 'head' of a monster is |
|
|
9334 | sung to. |
|
|
9335 | |
|
|
9336 | Fixed up CSword_116 xpm file (too many chars on one line) |
|
|
9337 | |
|
|
9338 | Added note/option in config.h for systems lacking O_NDELAY. |
|
|
9339 | |
|
|
9340 | Fixed up some of the quests in Lake Country - can no longer just run and |
|
|
9341 | get the dragonbane or buy the armor with a lot of scales. |
|
|
9342 | |
|
|
9343 | New Client/Server changes: |
|
|
9344 | |
|
|
9345 | changed esrv_send_face to take the client_num instead of client_id |
|
|
9346 | (should be slightly more efficient). This does not affect the protocol |
|
|
9347 | in any way - it just makes the handling on the serverside more efficient. |
|
|
9348 | |
|
|
9349 | Changed item command to calculate objects total weight before sending |
|
|
9350 | it to the client (total weight = weight+carrying). This is needed because |
|
|
9351 | there are many times that the client does not know what is in the container |
|
|
9352 | and thus can not properly calculate the weight. |
|
|
9353 | |
|
|
9354 | Change server so it sends updates for the parent |
|
|
9355 | items that the object is being moved from/to (ie, when removing something |
|
|
9356 | from a sack, send an update for the sacks weight). For the client |
|
|
9357 | to properly handle the player being re-updated, some special handling |
|
|
9358 | had to be added so the inventory list would be updated and so that |
|
|
9359 | we don't try and add another player object (client search routine for |
|
|
9360 | tags didn't look at the player) |
|
|
9361 | |
|
|
9362 | Fixed server so it now properly updates the original item from which a |
|
|
9363 | portion of it is being dropped. |
|
|
9364 | |
|
|
9365 | Fixed bug in server handling which kept the -1 return code from a |
|
|
9366 | blocked socket and decreased amount to send by that - reset to zero |
|
|
9367 | so amount to be sent remains the same. |
|
|
9368 | |
|
|
9369 | askface and mapredraw commands added to Protocol by Phil. |
|
|
9370 | |
|
|
9371 | Changed load player function so it calls fix_player before sending |
|
|
9372 | initial data to client. |
|
|
9373 | |
|
|
9374 | Removed some printf/debug statements from pickup code for newcs in |
|
|
9375 | player.c |
|
|
9376 | ------------------------------------------------------------------------------ |
|
|
9377 | |
|
|
9378 | Changes from Crossfire 0.93.5 to 0.93.6: |
|
|
9379 | |
|
|
9380 | If we fail to save a map, all objects on that map should now be properly |
|
|
9381 | deleted from memory. |
|
|
9382 | |
|
|
9383 | Fix possible crash when score is being generated if player is on |
|
|
9384 | swapped out map. |
|
|
9385 | |
|
|
9386 | Default output buffer for new clients is now 64k. |
|
|
9387 | |
|
|
9388 | Partial code in place for client side image caching. |
|
|
9389 | |
|
|
9390 | Alchemy changes from Peter & Brian. Main change is that multiple recipes |
|
|
9391 | can be made at once. |
|
|
9392 | |
|
|
9393 | Bad grammer in messages printed out when readable object is beyond players |
|
|
9394 | comprehension. |
|
|
9395 | |
|
|
9396 | ethreality recipe commented out in formulae file. |
|
|
9397 | |
|
|
9398 | Some playbalance issues on maps fixed by Samuli Tursas. |
|
|
9399 | |
|
|
9400 | Internal handling of shop menus changed - instead of a list of objects, |
|
|
9401 | change it to an array of strings. |
|
|
9402 | |
|
|
9403 | Minor changes in porting.c to hopefully make that file compile properly on |
|
|
9404 | more systems. |
|
|
9405 | |
|
|
9406 | doc/experience updated with some more notes from Brian. |
|
|
9407 | |
|
|
9408 | CAN_MERGE changed from a macro in define.h to an inline function in |
|
|
9409 | object.c (only file it is used.). It makes it a bit clearer, and hopefully |
|
|
9410 | a little safer. There is an option at the top of config.h for handling |
|
|
9411 | of the INLINE function declaration. |
|
|
9412 | |
|
|
9413 | Possible fix so that altars should not be re-concecrated if god is |
|
|
9414 | set in the editor. |
|
|
9415 | |
|
|
9416 | Undead monsters can now see in the dark. |
|
|
9417 | |
|
|
9418 | Fixed bug in parse_command which would cause crashes if a socket connection |
|
|
9419 | entered a string with a ; in it. |
|
|
9420 | |
|
|
9421 | Increased string size in new_draw_info which prevents crashes/stack |
|
|
9422 | corruption when really ling strings from a socket is entered. |
|
|
9423 | |
|
|
9424 | Changed spell level/costs between invisibility and improved invis such so that |
|
|
9425 | the improved version is now a higher level and more sp. |
|
|
9426 | |
|
|
9427 | Now possible to steal from a creature more than once as long as character |
|
|
9428 | remains unseen. Each steal attempt will become harder in any case. |
|
|
9429 | |
|
|
9430 | Remove some special player checking in get_nearest_player - I think it |
|
|
9431 | caused some crashes, and wasn't necessary (in fact, clever players could use |
|
|
9432 | it to get it such that monsters would not target them.) |
|
|
9433 | |
|
|
9434 | When characters stop levitating, call check_walk_on so they will fall |
|
|
9435 | through pits or other applicable effects. |
|
|
9436 | |
|
|
9437 | Fixed up some archetypes which could be picked up when that should be |
|
|
9438 | set (trapdoor, bullet, meteor). The last 2 cases can not be picked up, |
|
|
9439 | but clever casting of alchemy could have nuetralized them. collect.pl will |
|
|
9440 | now print warning if an object has walk_on set but does not have no_pick set. |
|
|
9441 | |
|
|
9442 | Added new map from Bjoern Helfesrieder to starting town (Yarin's House) |
|
|
9443 | |
|
|
9444 | Fix in item matching code that could cause core dumps. |
|
|
9445 | |
|
|
9446 | Fixed clearinfo command so that it still works even if player is using |
|
|
9447 | scroll mode (only if player issues the clearinfo command - other uses |
|
|
9448 | of clearinfo in function won't clear in scroll mode.) |
|
|
9449 | |
|
|
9450 | Improved shop listings so they are sorted by type, then sorted by name. |
|
|
9451 | |
|
|
9452 | Fixed bug in backspacing the to the front of the first line of an |
|
|
9453 | extended command - it now works properly and puts you back in normal |
|
|
9454 | command mode (this got broken in the addition of extended line input.) |
|
|
9455 | |
|
|
9456 | Player should still be able to save if they were the wizard. However, |
|
|
9457 | wizard status will be stripped for save, but the fact they were a wizard |
|
|
9458 | will not be stripped. |
|
|
9459 | |
|
|
9460 | Imp made even wimpier by Peter M. |
|
|
9461 | |
|
|
9462 | If you set of traps, open doors, push a player, or roll a boulder, |
|
|
9463 | you now become visible. |
|
|
9464 | |
|
|
9465 | Change it so that when something/someone reads a scroll, only inform |
|
|
9466 | the other people on the map (perhaps this is still overkill?) |
|
|
9467 | |
|
|
9468 | ------------------------------------------------------------------------------ |
|
|
9469 | Changes from Crossfire 0.93.4 to 0.93.5: |
|
|
9470 | |
|
|
9471 | Replaced handbook make_index script with perl version. Much faster, and |
|
|
9472 | also fixes problem with echo command doing different things on different |
|
|
9473 | systems. |
|
|
9474 | |
|
|
9475 | Minor change in crossedit such that if it is not compiled with XPM |
|
|
9476 | support, it will give an error message if run with the -xpm option. |
|
|
9477 | |
|
|
9478 | Changed code so that experience objects no longer change stats (reverses |
|
|
9479 | 'fix' made in 0.92.9) Fixes problem of characters getting extra |
|
|
9480 | stat points from the experience objcts. |
|
|
9481 | |
|
|
9482 | Fix bug that could cause infinite recursion loop in spellpath_msg. From |
|
|
9483 | cameron@ripper.stl.dec.com (James Cameron) |
|
|
9484 | |
|
|
9485 | Fix bug in complex keybindings in which all the commands in the keybinding |
|
|
9486 | were executed that tick. Thus, if you bound a key to north;north;north;north |
|
|
9487 | and pressed that key, you would move 4 spaces north no matter what your speed |
|
|
9488 | was. It now works properly, and you move at proper speed (keybinding is |
|
|
9489 | copied into buffer in player structure, and removed as we go along.) Note: |
|
|
9490 | This buffer could also be used to hold keypresses not yet processed, but |
|
|
9491 | that hasn't been done yet. |
|
|
9492 | |
|
|
9493 | Added ability to enter lines longer than the info window is wide. This |
|
|
9494 | allows for longer keybindings or say commands. It isn't the most |
|
|
9495 | sophisitcated thing (the extra lines show up with a 1> and 2>, etc for the |
|
|
9496 | extra lines, and we just redraw the previous line if you backspace that |
|
|
9497 | far. After you complete the command, it does end up redrawing the entire |
|
|
9498 | command, which can take a few lines, which gives some confirmation on what |
|
|
9499 | you typed in. This feature was added to both the standard server code |
|
|
9500 | and the new client. |
|
|
9501 | |
|
|
9502 | Change use of tempnam to tempnam_local which we supply. Standard tempnam |
|
|
9503 | will look at the TMPDIR environmental variable, and use that to override any |
|
|
9504 | other value for the directory - this causes problems if different people |
|
|
9505 | runn the program and using the temporary maps accross runs. tempnam_local |
|
|
9506 | will not look at the TMPDIR variable, and will instead always use the value |
|
|
9507 | we pass it. This can be changed if we were not compiled in SECURE mode by |
|
|
9508 | changing the CROSSFIRE_TMPDIR environmental variable. Code was also changed |
|
|
9509 | so the CROSSFIRE_TMPDIR variable will not be used if compiled in SECURE mode. |
|
|
9510 | |
|
|
9511 | Fix so that you can no longer move really fast or fire really fast by using |
|
|
9512 | the mouse buttons in the game window. Using the mouse buttons in the game |
|
|
9513 | window should now result in the same speed as using the keyboard. |
|
|
9514 | |
|
|
9515 | Patches from Peter Mardahl: |
|
|
9516 | |
|
|
9517 | Dusts now cast as ability and not spells. This mean that they will not |
|
|
9518 | have magic as part of the attacktype. |
|
|
9519 | |
|
|
9520 | Spells that are cast on oneself now ignore direction. Thus, healing and |
|
|
9521 | protection potions can not be cast on something next to the player using |
|
|
9522 | the object. |
|
|
9523 | |
|
|
9524 | Detector object added. Similar to inventory checkers, but only |
|
|
9525 | periodically samples what is in the space, and doesn't look at the |
|
|
9526 | inventory, only objects actually on the map. |
|
|
9527 | |
|
|
9528 | Creators can now cause objects they create to inherit names. They can |
|
|
9529 | also periodically create items. |
|
|
9530 | |
|
|
9531 | Arch diffs: imps weakened, cold dragon spews forth cold, creator modified |
|
|
9532 | to have default speed 0. |
|
|
9533 | |
|
|
9534 | New FireTemple set of maps. These have been onto the Volcano in the |
|
|
9535 | southeast area of the continent. The maps that were there were moved to |
|
|
9536 | world_e2, under the crater. |
|
|
9537 | |
|
|
9538 | Gradual light/darkness code put in place. I fixed a few of the bugs |
|
|
9539 | that were in peters orignal version, so it works flawlessly for both |
|
|
9540 | server and new client. |
|
|
9541 | |
|
|
9542 | ------------------------------------------------------------------------------ |
|
|
9543 | Changes from Crossfire 0.93.3 to 0.93.4: |
|
|
9544 | |
|
|
9545 | Inventory checkers can now act as doors. If no_pass is set in an |
|
|
9546 | inventory checker, player can not move onto that space unless they meet |
|
|
9547 | the match requirements. |
|
|
9548 | |
|
|
9549 | Signs that are usuable only a fixed number of times added. |
|
|
9550 | |
|
|
9551 | Fix for pedestals & buttons so they are only activated once when a player |
|
|
9552 | moves onto a space (previously, they were being activated twice.) |
|
|
9553 | |
|
|
9554 | Fix for connected objects so that they will not be sacrificed on altars. |
|
|
9555 | This fixes a case where you might want to put a check_inv and altar with |
|
|
9556 | the same sacrifice on the same space. Before, the inventory checker would |
|
|
9557 | be sacrificed on the altar, causing the linked button list for |
|
|
9558 | inventory checker to be corrupt. |
|
|
9559 | |
|
|
9560 | Many maps updated to look better in xpm mode or just better in general. |
|
|
9561 | |
|
|
9562 | Change in crossedit so that if you set the randomitems variable for an object, |
|
|
9563 | it only sets the value at the head of the object, and not all parts of the |
|
|
9564 | object (it would be nice to allow non head parts to have this set, but I am |
|
|
9565 | not sure how to get what part was clicked on in the editor, since it seems the |
|
|
9566 | head is passed to the function.). |
|
|
9567 | |
|
|
9568 | xpmtopix.pl script added. Eventually, I hope this will replace the |
|
|
9569 | C version. For now, all it is good for is to verify that the XPM images |
|
|
9570 | are using the proper colors. Numerous XPM images were not using the proper |
|
|
9571 | colors (a lot were using brown, which is not an official color - see |
|
|
9572 | the xpm template for what is.) |
|
|
9573 | |
|
|
9574 | Cleanup of proto directive to turn __signed into signed. Also, change |
|
|
9575 | #if __STDC__ to #ifdef __STDC__ in proto files. |
|
|
9576 | |
|
|
9577 | Fix so it should now compile if SECURE is defined. |
|
|
9578 | |
|
|
9579 | Ability to more easily added needed libraries in crosssite.def - |
|
|
9580 | Extra_Libraries option added. |
|
|
9581 | |
|
|
9582 | Assume Linux has a prototype for tempnam (at least my version does.) |
|
|
9583 | |
|
|
9584 | Many objects added, and many XPM images updated/improved. |
|
|
9585 | |
|
|
9586 | Change in new CS code - don't send the version string until after we fully |
|
|
9587 | set up the structure. |
|
|
9588 | |
|
|
9589 | Change so crossfire will compile if SAVE_HOMEDIR is set. |
|
|
9590 | |
|
|
9591 | Reverse actions of -m8 and -m9 (Believe they were doing the wrong thing |
|
|
9592 | relative to the scripts and what the docs say.) |
|
|
9593 | |
|
|
9594 | Change in hiding code and detection by monsters. |
|
|
9595 | |
|
|
9596 | ------------------------------------------------------------------------------ |
|
|
9597 | Changes from Crossfire 0.93.2 to 0.93.3: |
|
|
9598 | |
|
|
9599 | Added a fill below function in crossedit. This make filling in backgrounds |
|
|
9600 | for maps much easier. Basically, it just puts whatever object you select as |
|
|
9601 | the bottom object of the bounding box. If the bottom object on the map |
|
|
9602 | matches the object being inserted, the object is not inserted. As a side |
|
|
9603 | effect of some code in GetMapObjectZ, if it matches the top object, it won't |
|
|
9604 | be inserted either. This makes things much easier to update map backgrounds |
|
|
9605 | for XPM mode. |
|
|
9606 | |
|
|
9607 | Hiding made easier for players. |
|
|
9608 | |
|
|
9609 | Stealing is made easier for players, but harder beyond the first item. |
|
|
9610 | |
|
|
9611 | Many image colored and perspective corrected David Sundqvist. Also, several |
|
|
9612 | new objects added (specialized altars, some more indoor furniture/more |
|
|
9613 | orientations, some sliding secret doors, and new wall types.) Barn image |
|
|
9614 | naming conventioned changed to follow what is considered proper. |
|
|
9615 | |
|
|
9616 | A few maps added by David (two temples in starting village, along with |
|
|
9617 | a mercenary recruitment building.) Also, some maps fixed to look better |
|
|
9618 | in XPM made. |
|
|
9619 | |
|
|
9620 | Party kill option added by Rauli Ruohonen. IT lets you see who has killed |
|
|
9621 | what recently in your party. |
|
|
9622 | |
|
|
9623 | Saving throw for objects cleaned up. Previously, an objects immunities/ |
|
|
9624 | protections were not being used correctly to determine if it made its saving |
|
|
9625 | throw (that is why icecubes could be destroyed by ice). It is now set up |
|
|
9626 | properly. |
|
|
9627 | |
|
|
9628 | Gods will no longer improve weapons that have been enchanted by other gods |
|
|
9629 | (Or I believe by yourself.) |
|
|
9630 | |
|
|
9631 | Fix memory overrun (1 entry) when initializing values for the images. |
|
|
9632 | |
|
|
9633 | Program will not recover properly when it attempts to load a temporary |
|
|
9634 | map. This means that load_temporary_map returns the map object to use, |
|
|
9635 | since it might change. |
|
|
9636 | |
|
|
9637 | When setting the owner of a monster, clear its ability to use skills |
|
|
9638 | |
|
|
9639 | Fix in decrease_ob_nr so it should now work on 64 bit systems. |
|
|
9640 | |
|
|
9641 | Mapguide updated with various suggestions made on the mailing list. |
|
|
9642 | |
|
|
9643 | Linux systems assumed to have at least random available (change in the config.h |
|
|
9644 | file.) |
|
|
9645 | |
|
|
9646 | 't' is now bound by default to 'ready_skill throw' |
|
|
9647 | |
|
|
9648 | missing demon types (imp, big_demon, Greater_Demon) added to the list |
|
|
9649 | of demon races. |
|
|
9650 | |
|
|
9651 | xpmtopix will print a warning if it detects and XPM file using a tab character |
|
|
9652 | in the color name - makes it easier to track possible image corruption. |
|
|
9653 | |
|
|
9654 | Check for power of improved weapons now in its own function. Also, we |
|
|
9655 | now properly check weapon power when improving one (before, you could |
|
|
9656 | improve it one level more than you could actually use.) |
|
|
9657 | |
|
|
9658 | When a container is applied, make sure it is a player applying it before |
|
|
9659 | checking for new client/server information - otherwise an invalid pointer |
|
|
9660 | is dereference. |
|
|
9661 | |
|
|
9662 | Complex keybindings added - thus, you can bind several commands seperated |
|
|
9663 | with semicolons to one key. |
|
|
9664 | |
|
|
9665 | Fix in encounter.c so if compiled with RANDOM_ENCOUNTERS, the new |
|
|
9666 | settings structure is used for map location. |
|
|
9667 | |
|
|
9668 | Added check fot out_of_map in various places that needed them - prevents |
|
|
9669 | some more core dumps. |
|
|
9670 | |
|
|
9671 | skill identifications will now look on objects on ground in addition to |
|
|
9672 | those in the inventory. |
|
|
9673 | |
|
|
9674 | perceive self should now tell you what god you worship. |
|
|
9675 | |
|
|
9676 | map reset times on maps (temporary maps accross multiple runs) will not be |
|
|
9677 | altered if there is no map reset time. |
|
|
9678 | |
|
|
9679 | ------------------------------------------------------------------------------ |
|
|
9680 | Changes from Crossfire 0.93.1 to 0.93.2: |
|
|
9681 | |
|
|
9682 | New argument parsing routine - we now parse arguments in phases. With this, |
|
|
9683 | I have moved many of the global settings into a settings structure, and |
|
|
9684 | allowed highscores to be displayed by class/name. The man page and -h |
|
|
9685 | option have also been updated. Also, all the files that could |
|
|
9686 | previously be specified via environmental variables can now be specified |
|
|
9687 | with command line options. |
|
|
9688 | |
|
|
9689 | The temporary directory can now be specified via -tmpdir command line option or |
|
|
9690 | CROSSFIRE_TMPDIR environmental variable. |
|
|
9691 | |
|
|
9692 | If you cast word of recall and then save before it takes effect, it will |
|
|
9693 | no longer corrupt the character (and will in fact take effect when you |
|
|
9694 | restart). |
|
|
9695 | |
|
|
9696 | Don't let players throw starting equipment. At the same time, don't mark |
|
|
9697 | throwable items as starting equipment - instead, just give it zero |
|
|
9698 | value. |
|
|
9699 | |
|
|
9700 | Fixed inscription - now properly writes scroll when passed no string instead |
|
|
9701 | of crashing. |
|
|
9702 | |
|
|
9703 | Artifact monsters now possible (monsters whose abilities are changed based |
|
|
9704 | on the artifacts file.) Top of the artifacts file has more information on |
|
|
9705 | this. For now, I have only set up the orc, ogre, and goblin to get |
|
|
9706 | special leaders. |
|
|
9707 | |
|
|
9708 | Temp maps can be reused across multiple runs. See config.h for more |
|
|
9709 | notes. |
|
|
9710 | |
|
|
9711 | Bug fix in inscription: If you inscribed a scroll and already had |
|
|
9712 | one like it in your inventory, the game would crash after they |
|
|
9713 | merged. Also, if you failed in inscribe a scroll, the game would |
|
|
9714 | also crash (object it was using to calculate experience had never been |
|
|
9715 | initialized). For now, I just changed it to return -10*spell level |
|
|
9716 | as the exp award. |
|
|
9717 | |
|
|
9718 | Items will now be merged with other items even if one has been inventory |
|
|
9719 | locked. This way, if you have some torches that are locked and you pick up |
|
|
9720 | some more, they will merge in instead of showing up seperately. |
|
|
9721 | |
|
|
9722 | Bug fix for saving throw on objects hit by cold. There could be cases |
|
|
9723 | where an object being processed is no longer on the map and would cause |
|
|
9724 | a crash. |
|
|
9725 | |
|
|
9726 | Change find_first_free_space to return -1 if there are no free spaces. |
|
|
9727 | Calling function should check this and then do the 'right thing'. This |
|
|
9728 | fixes problems with runes creating monsters on top of monsters (or |
|
|
9729 | below the player). |
|
|
9730 | |
|
|
9731 | Magic map cleanup. Now have magicmap field in NewFace structure. This |
|
|
9732 | field holds the color to use for magic map in low 4 bits, and various |
|
|
9733 | flags in high 4 (right now, only floor bit is used, since drawing may |
|
|
9734 | differ on bw systems with that value.) magicmap filed is now supported |
|
|
9735 | in .arc and faces file. collect.pl modified to automaticaly put |
|
|
9736 | magicmap into the faces file, will also copy is_floor into faces file. |
|
|
9737 | magicmap takes a color name. This seperation allows magic map colors |
|
|
9738 | to be set independant of foreground and background colors, and simplifies |
|
|
9739 | the code a good deal. Also, it makes new client magic map support easier. |
|
|
9740 | Now all the archetypes need to be updated (I have already done the armour, |
|
|
9741 | connect and construct directories.) |
|
|
9742 | |
|
|
9743 | Magic map for client now implemented. Definition of protocol added to |
|
|
9744 | Protocol file. Only limitation implementation has over direct server is |
|
|
9745 | it only flashes the position of the player who cast the spell. This |
|
|
9746 | seems perfectly reasonable to me (use color or other attribute to know |
|
|
9747 | where other players are.) |
|
|
9748 | |
|
|
9749 | Old client (telnet front end) changed so that it no longer requires |
|
|
9750 | libcross.a. |
|
|
9751 | |
|
|
9752 | save object should do a better job if it gets an object without an |
|
|
9753 | archetype. |
|
|
9754 | |
|
|
9755 | buffer size for LOG increased - there were cases where this buffer |
|
|
9756 | was not large enough and was causing crashes (sending large amounts of |
|
|
9757 | garbage data to the socket was one way.) |
|
|
9758 | |
|
|
9759 | Load map will now reload the original map if the temporary map is for some |
|
|
9760 | reason no longer around. |
|
|
9761 | |
|
|
9762 | Fix bug where randomitems may not have been properly initialized for now |
|
|
9763 | objects (was inside an #ifdef for CASTING_TIME) |
|
|
9764 | |
|
|
9765 | strerror_local added to porting.c. Lets up give up more reasonable |
|
|
9766 | error descriptions for certain errors. |
|
|
9767 | |
|
|
9768 | If an object is cursed, set its vulnerable values to its protected and |
|
|
9769 | immune fields, adn clear those fields. Fixes 'problems' with finding |
|
|
9770 | cursed rings which are not really cursed (pro fire/vuln cold rings.) |
|
|
9771 | |
|
|
9772 | If trying to switch to private colormap in XPM mode, check to see if |
|
|
9773 | we are successful. |
|
|
9774 | |
|
|
9775 | Fix crossedit so that if you have a map loaded and you then try to load |
|
|
9776 | an invalid file, it no longer crashes (now reverts back to old file) |
|
|
9777 | |
|
|
9778 | Archetype changes: Golden unicorn horn now has its own set of images. |
|
|
9779 | Editable field updated for the gods archetypes (they were showing up in all |
|
|
9780 | the menus.) living_chaos object added (need for Brian Thomas's maps.) |
|
|
9781 | |
|
|
9782 | Update the editor/picks map so that all archetypes are included in at least |
|
|
9783 | one of the maps. Modified the map_info script to print out unused |
|
|
9784 | archetype. |
|
|
9785 | |
|
|
9786 | New server: Only increase buffer size of socket if it would increase |
|
|
9787 | overall size. |
|
|
9788 | |
|
|
9789 | fix in skill experience calculation to use magic field properly. |
|
|
9790 | |
|
|
9791 | Alchemy spell changed. If there is a cauldron in area of effect, only |
|
|
9792 | do cauldron alchemy. Otherwise, do item to gold nugget conversion. |
|
|
9793 | |
|
|
9794 | Added a few more notes/thoughts to the mapguide/ |
|
|
9795 | |
|
|
9796 | ------------------------------------------------------------------------------ |
|
|
9797 | Changes from Crossfire 0.93.0 to 0.93.1: |
|
|
9798 | |
|
|
9799 | change race initialization functions to to fix cases where race is specified |
|
|
9800 | in race file but no race is specified in the arch it points to - before it |
|
|
9801 | would not be added to the proper race list. |
|
|
9802 | |
|
|
9803 | include handbook.ps in the standard distribution. |
|
|
9804 | |
|
|
9805 | Client server rewritten to no longer use eutl package. Other bugfixes for |
|
|
9806 | client server: server now properly sends delete item command to client, |
|
|
9807 | client now properly adds up a containers (and hence players) weight, pixmaps |
|
|
9808 | are now supported. |
|
|
9809 | |
|
|
9810 | Snowball spells added - these are the same idea as the fireball spells. (by |
|
|
9811 | peterm) |
|
|
9812 | |
|
|
9813 | Magic wall will consume several squares now. |
|
|
9814 | |
|
|
9815 | spells array (in spellist.h) updated - was missing a spell (cure blindness). |
|
|
9816 | |
|
|
9817 | splitter.pl (by peterm) added to arch/dev directory - takes a larger xpm |
|
|
9818 | file and splits it into 24x24 chunks. |
|
|
9819 | |
|
|
9820 | icestorm and small snowball added to possible list of starting spells. |
|
|
9821 | |
|
|
9822 | Only set minimum speed of 0.01 for players. This fixes the bug introduced |
|
|
9823 | in 0.93.0 where multisquare monsters moved too slow. |
|
|
9824 | |
|
|
9825 | Only print out a creature lost a spell if it is in fact a player. Only |
|
|
9826 | applies for casting time. |
|
|
9827 | |
|
|
9828 | fix_me command added - basically just calls the fixme function. Can be |
|
|
9829 | useful if you that your characters weight is for some reason incorrect. |
|
|
9830 | |
|
|
9831 | Fixed sprintf that was copying over static character data if you tried to |
|
|
9832 | form a party that already matched a name. Also, fixed a possible buffer |
|
|
9833 | overrun situation. |
|
|
9834 | |
|
|
9835 | More memory leaks fixed by Rupert Goldie - also fix to prevent orated monsters |
|
|
9836 | from attack themselves. |
|
|
9837 | |
|
|
9838 | New xpm images for woods and some buildings by David Sundqvist. The new |
|
|
9839 | buildings have a bit more texture and 3-d look, the new woods look a little |
|
|
9840 | bit more in scale and mesh together better. The old images are in the |
|
|
9841 | xpm_pref directory if you prefer those. |
|
|
9842 | |
|
|
9843 | More code added to free memory when server shuts down (useful for |
|
|
9844 | trying to track down some memory leaks). |
|
|
9845 | |
|
|
9846 | ------------------------------------------------------------------------------ |
|
|
9847 | Changes from Crossfire 0.92.9 to 0.93.0: |
|
|
9848 | |
|
|
9849 | Minor map changes: Some maps cleaned up to look better in XPM mode. |
|
|
9850 | Removed no magic areas from around the demilichs in lord ramsdre mansion. |
|
|
9851 | |
|
|
9852 | map_expand perl script added (located in lib/adm) |
|
|
9853 | |
|
|
9854 | Cleaned up use of externs and declarations of many structures. Depending |
|
|
9855 | on the linker, these would not be merged into one value, and thus not be |
|
|
9856 | initialized/set properly (fixes 'mark pushed you bug'). This was a problem |
|
|
9857 | at least on SGI systems, probably others. |
|
|
9858 | |
|
|
9859 | If on a sun and not using sun's acc, assuming Stupid Sun Headers, even |
|
|
9860 | if on a Solaris system. |
|
|
9861 | |
|
|
9862 | Changed change_abil so it returns true if a value actually changed (useful |
|
|
9863 | for printint out information when apply objects like potions.) A lot of |
|
|
9864 | return checking of this function in apply.c is removed - that checking |
|
|
9865 | now seems obsolete. |
|
|
9866 | |
|
|
9867 | Set visibility to zero at first stage initialization. |
|
|
9868 | |
|
|
9869 | Put a lower limit of 0.01 for player speed. This still gives an action |
|
|
9870 | every 12 seconds if you pick up way too much junk. |
|
|
9871 | |
|
|
9872 | When praying at altars, have gods grant out spells only if it is a spell |
|
|
9873 | they are attuned to. |
|
|
9874 | |
|
|
9875 | Cleaned up some memory leaks, courtesy of Rupert G. Goldie. |
|
|
9876 | |
|
|
9877 | Cleaned up the cast command code. Also, if you do something like 'cast p', it |
|
|
9878 | will now show all spells you know that start with p, instead of casting the |
|
|
9879 | first one it finds. |
|
|
9880 | |
|
|
9881 | Shift middle button in the inventory window should now mark an item. |
|
|
9882 | |
|
|
9883 | Fix button handling for look and message window so that only if it is clicked |
|
|
9884 | with the right 30 pixels do we consider it a scrollbar event (before, anything |
|
|
9885 | more than 270 from the left was considered scrollbar - works fine for |
|
|
9886 | default sizes, but if you resize, it would cause problems. |
|
|
9887 | |
|
|
9888 | If on SGI systems, don't default to using rand - it should now pick up |
|
|
9889 | lrand48 or random instead. |
|
|
9890 | |
|
|
9891 | Change spell casting such that if you aren't high enough level, it more |
|
|
9892 | obviously states it (previously it said you 'lack the skill', which can lead |
|
|
9893 | to confusion.) |
|
|
9894 | |
|
|
9895 | Fix so that the first recipe is now accessible when performing alchemies. |
|
|
9896 | |
|
|
9897 | Added many thoughts/ideas to the TODO list. |
|
|
9898 | |
|
|
9899 | Increase buffer size for examine command - some object could overflow the old |
|
|
9900 | buffer. |
|
|
9901 | |
|
|
9902 | remove no_magic from all monsters - immunity values should be used instead. |
|
|
9903 | am not sure |
|
|
9904 | |
|
|
9905 | Made changes for strcasecmp detect - was checking as defined(sun), now is |
|
|
9906 | defined(__sun__) - this is proper and what the rest of the code uses. |
|
|
9907 | |
|
|
9908 | define MAXNAMLEN in crossedit/Posix.h - needed for ultrix systems. |
|
|
9909 | |
|
|
9910 | Made it so that boots are not always considered magical (since there are |
|
|
9911 | now many plain boots out there.) Also, removed the always_magical function - |
|
|
9912 | is_magical should now handle it all. |
|
|
9913 | |
|
|
9914 | Allow items of type BOOK to be identified, since you can now find non |
|
|
9915 | identified readable items. |
|
|
9916 | |
|
|
9917 | Change loot_object so it doesn't remove experience objects - this way skills |
|
|
9918 | don't get removed when a player dies. |
|
|
9919 | |
|
|
9920 | ------------------------------------------------------------------------------ |
|
|
9921 | Changes from Crossfire 0.92.8 to 0.92.9: |
|
|
9922 | |
|
|
9923 | Make sure all skills are unapplied when changing the class. |
|
|
9924 | |
|
|
9925 | When generating a spell listing (cast with no options), display the |
|
|
9926 | level of the spell (or den if it is denied.) Also, display mage spells |
|
|
9927 | in one batch, priest spels in another group - I think this is more |
|
|
9928 | relevant now since these are seperate exp objects and draw on different |
|
|
9929 | power sources. Still no pause key (doing those is a real pain) - that |
|
|
9930 | is really a client issue or we should just add a scrollbar to the text |
|
|
9931 | window. |
|
|
9932 | |
|
|
9933 | Removed level 20 from artifact 'sword of Beserkgang' - was preventing |
|
|
9934 | characters from using it. |
|
|
9935 | |
|
|
9936 | Put cause many wounds spell in PATH_WOUNDING. Book chance for holy word |
|
|
9937 | increased. |
|
|
9938 | |
|
|
9939 | Let experience objects change stats. |
|
|
9940 | |
|
|
9941 | Many debugging messages added or updated to print out more useful/ |
|
|
9942 | detailed information. |
|
|
9943 | |
|
|
9944 | Changed usage and set_protocol function names in client/client.c. This |
|
|
9945 | prevents name collision with libcross. |
|
|
9946 | |
|
|
9947 | Web site locations added to the README file. |
|
|
9948 | |
|
|
9949 | Load and save window positions even if split windows is not set. This way, |
|
|
9950 | window posititions are lost if you run the game in non split mode (and I |
|
|
9951 | don't see any reason to discard these values.) Also, -split can |
|
|
9952 | be used in addition to -w to get split mode. |
|
|
9953 | |
|
|
9954 | Changed check inventory objects to recursively search through containers, |
|
|
9955 | and cleaned up the code. Also, added notes on crossfire.doc on using it, |
|
|
9956 | and made basic archetype to use. When using inventory checkers in |
|
|
9957 | crossedit, have the attributes by default come up with connected and |
|
|
9958 | lockcode fields. |
|
|
9959 | |
|
|
9960 | Made change to unique items: If the object is a floor and has unique items |
|
|
9961 | set, then all objects above and including the floor get saved as unique |
|
|
9962 | objects. Also, when merging maps and freeing old unique items, make sure we |
|
|
9963 | remove them from the button links. Made an apartment map which characters can |
|
|
9964 | buy permanent apartments and also store equipment in. When exiting the |
|
|
9965 | program, save off all maps so the unique items get written out. |
|
|
9966 | |
|
|
9967 | Xpm fixes: Moved floor setting from map loader to update_object. This |
|
|
9968 | makes it so that crossedit will display the map properly in XPM mode as |
|
|
9969 | you make updates. Also, made default visiblity 0 - this makes the double |
|
|
9970 | floor work properly. There still seems to be some bug when pasting objects |
|
|
9971 | in the editor with respect to updates. |
|
|
9972 | |
|
|
9973 | Change made to goths taverns and tavern in lake country. Change is so |
|
|
9974 | that some of the wimpier informants don't have really good stuff to take. |
|
|
9975 | |
|
|
9976 | Periodically write out the book archive during play, and not just when the |
|
|
9977 | program exits. |
|
|
9978 | |
|
|
9979 | Bug fix so 'drop x items' should no longer crash. Also, 'drop 1 item' |
|
|
9980 | should now only drop 1 item of 'item', and not all of 'item'. |
|
|
9981 | |
|
|
9982 | Bug fix so 'unlock item' should now work OK. |
|
|
9983 | |
|
|
9984 | When throwing objects, clear the APPLIED flag before the throw. |
|
|
9985 | |
|
|
9986 | Prayer granting from praying at altars changed around - you will get more |
|
|
9987 | unusual prayers, and a Wisdom of 25 is not a yes/no cutoff - value of |
|
|
9988 | sucess depends on wisdom. |
|
|
9989 | |
|
|
9990 | Archetype changes: remove no_magic flag from demon lord - I don't think |
|
|
9991 | this should be set in any monster - instead, immune should be set properly. |
|
|
9992 | Added damned flag to gates that are no magic (probably not necessary, |
|
|
9993 | but I think it makes sense.) Added check_inv object. Removed some |
|
|
9994 | duplicate skill types (same skill, different arch names.) |
|
|
9995 | |
|
|
9996 | Have get_pointed_target return the head of the monster if it is a multi |
|
|
9997 | part monster. |
|
|
9998 | |
|
|
9999 | Change smite and finger of death spell so they have no effect if creature |
|
|
10000 | reflects spells. |
|
|
10001 | |
|
|
10002 | Fix to prevent bug crashes with magic rune spell. |
|
|
10003 | |
|
|
10004 | Fix in spring_trap to correctly target the victim. Also, |
|
|
10005 | fix in find_traps which prevented the gaining of experience. |
|
|
10006 | |
|
|
10007 | If character has bonus grace, display it with percieve self. Also, load |
|
|
10008 | and store the last_grace value properly. |
|
|
10009 | |
|
|
10010 | Changes from Brians hide/attack patch: Adjustments for attacking based |
|
|
10011 | on varying factors, monsters wake up & call for help if it, can't remain |
|
|
10012 | hidden if you attack, changes for monster detection of hidden/dark/invisible |
|
|
10013 | players, players no longer remain invisible if attacking, adjustment in |
|
|
10014 | exp for stealing, stealing and hiding chances changed based on terrain |
|
|
10015 | and other modifiers, when generating flesh items, set no_steal, give |
|
|
10016 | chinese dragons some treasure, giants a little more gold. |
|
|
10017 | |
|
|
10018 | ------------------------------------------------------------------------------ |
|
|
10019 | Changes from Crossfire 0.92.7 to 0.92.8: |
|
|
10020 | |
|
|
10021 | races file changed, a bit more flexible. |
|
|
10022 | |
|
|
10023 | Additional dump flag (-m8) to dump god information. |
|
|
10024 | |
|
|
10025 | If attacktype is holyword, creature must be in slaying field of holyword. |
|
|
10026 | |
|
|
10027 | Better handling for items that remove/add protections,immunities, |
|
|
10028 | vulnerabilities. Only print changes if there is an actual change. |
|
|
10029 | |
|
|
10030 | holy power, blinding attacktypes added. |
|
|
10031 | |
|
|
10032 | Add poison to list of items that might not be identified. |
|
|
10033 | |
|
|
10034 | Two when windows are killed: 1) data is freed properly without causing |
|
|
10035 | crash now. 2) If player has saved but window is still active, will |
|
|
10036 | no longer make a save of the player. This save would be a no-item save |
|
|
10037 | that the character had been playing. |
|
|
10038 | |
|
|
10039 | Bug fix to prevent crashes if clicking a button in the message window |
|
|
10040 | and show_Buttons not enabled. Also, moved button handling in message |
|
|
10041 | window into its own function. |
|
|
10042 | |
|
|
10043 | Bug fix for pet monsters that should prevent cores if cycling through many |
|
|
10044 | maps very quickly. |
|
|
10045 | |
|
|
10046 | appendix for god information added to handbook (both latex and html versions.) |
|
|
10047 | |
|
|
10048 | gods2 patch applied from Brian Thomas. The main thrust of the patch is |
|
|
10049 | to make gods objects/archetype, and not array entries in the source code. A |
|
|
10050 | lot of code needed to be changed to support this difference. |
|
|
10051 | |
|
|
10052 | God patches so that game doesn't crash if no gods are set. |
|
|
10053 | |
|
|
10054 | Hopeful change for FreeBSD so it automatically pulls in the crypt |
|
|
10055 | library. |
|
|
10056 | |
|
|
10057 | Can no longer cast spells which are beyond your skill level. |
|
|
10058 | |
|
|
10059 | More powerful spell failures added. |
|
|
10060 | |
|
|
10061 | Can no longer read scrolls/other readable if blind. |
|
|
10062 | |
|
|
10063 | Fix bug that if a weapon had slaying, it slayed all monsters, not just |
|
|
10064 | the ones it was supposed to. |
|
|
10065 | |
|
|
10066 | Don't add the bows attacktype in when figuring out the attacktype of this |
|
|
10067 | player. This pretty much always gave the character a physical attacktype |
|
|
10068 | in addition to everything else. |
|
|
10069 | |
|
|
10070 | Fix 'peaceful' when using buttons so it doesn't crash the game. |
|
|
10071 | |
|
|
10072 | path_to_player changed to work better on diagonals. |
|
|
10073 | |
|
|
10074 | Spell choosing by monsters a bit more intelligent. |
|
|
10075 | |
|
|
10076 | No longer get experience for disarming/finding your own traps or those |
|
|
10077 | of other players. |
|
|
10078 | |
|
|
10079 | Add NO_STEAL flag, with obvious meaning. If a monster notices you stealing |
|
|
10080 | stuff, all his items are set to this, so nothing more can be stolen. Flag |
|
|
10081 | is automatically cleared when items are dropped. |
|
|
10082 | |
|
|
10083 | Add run and fire messages to message (stat bar) window. |
|
|
10084 | |
|
|
10085 | Make USE_BUTTONS playable setable item instead of compile time item. |
|
|
10086 | |
|
|
10087 | Don't insert heavy (>5 kg) missile objects into player when they hit - have |
|
|
10088 | them drop to the ground instead. |
|
|
10089 | |
|
|
10090 | -- |
|
|
10091 | Made more general object matching routines. item_matched_string sees if |
|
|
10092 | an object matches a string (which can be comma seperated list of many |
|
|
10093 | things.) find_best_object_match finds the best match in the players |
|
|
10094 | inventory. |
|
|
10095 | |
|
|
10096 | item_matched_string gets used for for matching multiple items. It is |
|
|
10097 | used in drop, get, take, lock/unlock |
|
|
10098 | |
|
|
10099 | find_best_object_match is used for apply, examine, mark, search-items. |
|
|
10100 | |
|
|
10101 | Also changed code so that certain actions are in sync with what display |
|
|
10102 | mode is set (mostly drop.) |
|
|
10103 | -- |
|
|
10104 | |
|
|
10105 | If levitating, you can now remove items from containers in your inventory |
|
|
10106 | (after all, they are levitation with you.) |
|
|
10107 | |
|
|
10108 | Clear is_changing flag if object is being thrown. |
|
|
10109 | |
|
|
10110 | Changes made to inscription code to work better. |
|
|
10111 | |
|
|
10112 | Changes mode to experience awarding for player skills. |
|
|
10113 | |
|
|
10114 | Fixes made to Peter Mardahl's dragonquest maps. |
|
|
10115 | |
|
|
10116 | Big Wizard, Belzebub, and Demon lord xpm versions colored. |
|
|
10117 | |
|
|
10118 | Minor bug fix to container in Thomas map. |
|
|
10119 | |
|
|
10120 | Some new archetypes/images for peterm/dragonquest maps. |
|
|
10121 | |
|
|
10122 | Make food creation spell more dynamic - food names/values no longer hard |
|
|
10123 | coded in. |
|
|
10124 | |
|
|
10125 | Additional demons added by Peter Mardahl |
|
|
10126 | |
|
|
10127 | Bug fix to prevent crashes with improve armor/weapon scrolls. |
|
|
10128 | |
|
|
10129 | Bug fix to prevent crossedit from crashing when exiting with edit windows |
|
|
10130 | open. |
|
|
10131 | |
|
|
10132 | Fix to prevent monsters from throwing certain good objects. |
|
|
10133 | |
|
|
10134 | Make sure praying over an altar only gets cleric spells. |
|
|
10135 | |
|
|
10136 | Increase saving throw array to correspond with max level. |
|
|
10137 | |
|
|
10138 | Monster hp/sp regeneration method changed some - more accurately tunable |
|
|
10139 | for low regeneration values. |
|
|
10140 | ------------------------------------------------------------------------------ |
|
|
10141 | Changes from Crossfire 0.92.6 to 0.92.7: |
|
|
10142 | |
|
|
10143 | Monsters now tend to be more agressive about firing spells. Several |
|
|
10144 | changes - now monsters will fire along diagonals. For multisquare monsters, |
|
|
10145 | we check to see if any part of the monster has a good shot at the player, |
|
|
10146 | not just the head. This changes tend to make it more likely that a monster |
|
|
10147 | will cast a spell and hit other monsters (makes a pack of wyverns more |
|
|
10148 | dangerous, as many will cast spells at you.) I am not sure if this is a bad |
|
|
10149 | thing - all it means is that you can't mix fire using creatures with |
|
|
10150 | monsters that will be damaged by fire. |
|
|
10151 | |
|
|
10152 | Let archetypes in the races file have spaces (for Arch Angel) |
|
|
10153 | |
|
|
10154 | Throwing code added - players and monsters can now throw objects. Some |
|
|
10155 | new throwable archetypes added. You need to add throwing_skill to any |
|
|
10156 | old players - you can run the utils/add_throw.perl <playerfile> to do this |
|
|
10157 | |
|
|
10158 | crossedit: If a object have editable of 0, make it so it doesn't appear in |
|
|
10159 | any of the menus. |
|
|
10160 | |
|
|
10161 | Max yield added to recipes. |
|
|
10162 | |
|
|
10163 | Better checks for insert_ob_in_ob to make sure we really have a player |
|
|
10164 | before calling some of the update functions. |
|
|
10165 | |
|
|
10166 | Weight limit for custom containers is now saved. |
|
|
10167 | |
|
|
10168 | If we load an object and find it has no archetype, just drop the object. |
|
|
10169 | This shouldn't happen, but can prevent core dumps for maps with missing |
|
|
10170 | objects or players from a different version. |
|
|
10171 | |
|
|
10172 | Add 5 static buffers to query_name - it is now safe to call it a few times |
|
|
10173 | in a sprintf or the like without losing the old value. |
|
|
10174 | |
|
|
10175 | Added 'statistics' command. Shows useful information about the |
|
|
10176 | character (none that can't be found in the docs.) Also changed |
|
|
10177 | 'skills' to show how much exp you need in each category for the next |
|
|
10178 | level. |
|
|
10179 | |
|
|
10180 | change_abil changed so that it only prints out what values/attributes |
|
|
10181 | have changed. Ie, if you remove a ring that gives protection from |
|
|
10182 | fire, but have other fire resistance, it won't say you are more vulnerable |
|
|
10183 | to file (since you are not.) |
|
|
10184 | |
|
|
10185 | Charisma bonus/mechanism changed (again.) Values in living.c are more |
|
|
10186 | easily/directly translated into what it means for buy/sell cost. Curve |
|
|
10187 | also balanced out some more. Query_cost changed so the value |
|
|
10188 | mechanism is a bit different (unfortunately, we need to multiply the value |
|
|
10189 | of objects by 4 to keep them roughly the same price as before.) |
|
|
10190 | |
|
|
10191 | Added 'mark' command. You use this to mark objects that are used for |
|
|
10192 | other objects (ie, torches with flint & steel, weapon with improvement |
|
|
10193 | scroll, etc.) This removes the necessity that the item you want to apply |
|
|
10194 | be the first thing in your inventory (in fact, that is no longer supported.) |
|
|
10195 | This should also make things easier for the client. |
|
|
10196 | |
|
|
10197 | Bug fix that prevents crashes on spaces which have a teleporter and sacrifice |
|
|
10198 | altar on the same space (/Lake_Country/DA). |
|
|
10199 | |
|
|
10200 | Some minor changes to lighting code, some maps also updated to |
|
|
10201 | use lighting code. |
|
|
10202 | |
|
|
10203 | Added halfling and half orc character to the game (From Brian Thomas) |
|
|
10204 | |
|
|
10205 | Changed valuation for FLESH items. Before it was value*level of creature. |
|
|
10206 | Now it is value*sqrt(level*2). For low level, this keeps roughly the same |
|
|
10207 | value, but for high levels, it keeps things more reasonable (drops the |
|
|
10208 | value of zombie corpses to about half previous value) |
|
|
10209 | |
|
|
10210 | Bug fix for monsters that have attacktype of ghosthit along with |
|
|
10211 | others (main fix ghasts, for Lake County, REtower/tower3, but |
|
|
10212 | this could happen for any monster.) |
|
|
10213 | |
|
|
10214 | Fix for attacks doing no damage against monsters they should. |
|
|
10215 | |
|
|
10216 | Bug fixes to readable code - should no longer core dump (At times) when |
|
|
10217 | books are created, should also be more robust and fix some other bugs. Also, |
|
|
10218 | give more detailed messages on how many levels beyond your comprehension |
|
|
10219 | a book is. |
|
|
10220 | |
|
|
10221 | randomitems now stored in object, not archetype. This means that treasure |
|
|
10222 | types can be changed in the map - a new archetype doesn't need to be added. |
|
|
10223 | However, the treasure to set must still be in the treasures file (or you |
|
|
10224 | can use none so treasure is not generated.) |
|
|
10225 | |
|
|
10226 | Removed color_fg and color_bg variables from game - these have long been |
|
|
10227 | obsoleted, but code to handle them has never been completely removed. |
|
|
10228 | |
|
|
10229 | Changed code so that best wc possible is +/-120 - should now prevent |
|
|
10230 | overflows. |
|
|
10231 | |
|
|
10232 | ------------------------------------------------------------------------------ |
|
|
10233 | Changes from Crossfire 0.92.5 to 0.92.6: |
|
|
10234 | |
|
|
10235 | If player deletes window and we can't save, delete player objects instead of |
|
|
10236 | dumping them on the map. |
|
|
10237 | |
|
|
10238 | Make NEW_PROCESS_EVENTS standard - remove old proces code and ifdefs. |
|
|
10239 | |
|
|
10240 | Remove temporary object from cast_spell - pass along both spellcasting |
|
|
10241 | and owner objects. Seems to fix some bugs and increase reliability (also |
|
|
10242 | is a better way to deal with it.) |
|
|
10243 | |
|
|
10244 | Change made so that converters are also knowledge about 'money' psuedotype. |
|
|
10245 | |
|
|
10246 | change spellcasting altars so they also push the button. Fixes altars |
|
|
10247 | on some old maps. |
|
|
10248 | |
|
|
10249 | Some minor tweaks made to the artifact file - mostly clarification of names |
|
|
10250 | or setting values correctly. |
|
|
10251 | |
|
|
10252 | spellcasting skill renamed to wizardry. |
|
|
10253 | |
|
|
10254 | Fix made so that 'old' potions (strength, int, etc) use correct price. |
|
|
10255 | |
|
|
10256 | If you examine food/flesh items, you now get detailed information (food |
|
|
10257 | value, protections, etc.) |
|
|
10258 | |
|
|
10259 | Code by brian thomas so that book titles will remain constant across |
|
|
10260 | different program runs. |
|
|
10261 | |
|
|
10262 | Bug fix for crashes caused by multisquare monsters stepping on |
|
|
10263 | deadly objects. Basically, fully insert the object, then start doing the |
|
|
10264 | check_walkon's one at a time to see if the creature dies. |
|
|
10265 | |
|
|
10266 | Brian Thomas' valley of the sisters quest added. Additional archetypes |
|
|
10267 | and treasures added to handle this. |
|
|
10268 | |
|
|
10269 | 'sort_inventory' option added (player setable.) IF set, when items are |
|
|
10270 | picked up, they will be inserted by type, then alphabetical. Very handy |
|
|
10271 | for scrolls and rings. |
|
|
10272 | |
|
|
10273 | Some fixes made to the kundi maps. |
|
|
10274 | |
|
|
10275 | Flesh/alchemy fixes by Brian Thomas. Flesh type now inherit properties |
|
|
10276 | from parent creature (weight, and possibly protections/vulnerabilities are |
|
|
10277 | added). |
|
|
10278 | |
|
|
10279 | Change made for alchemy - you can't toss a bunch of junk in a cauldron and |
|
|
10280 | get a good item out unless you sucessfully use alchemy. |
|
|
10281 | |
|
|
10282 | handbook added to the doc directory (tex/postscript.) And html version is |
|
|
10283 | also there, along with an html version to the spoiler. Tex version of |
|
|
10284 | spoiler also fixed so it is generated properly with new Latex. |
|
|
10285 | |
|
|
10286 | |
|
|
10287 | ------------------------------------------------------------------------------ |
|
|
10288 | Changes from Crossfire 0.92.4 to 0.92.5: |
|
|
10289 | |
|
|
10290 | Som bug fixes made dealing with cursed improvement potions. |
|
|
10291 | |
|
|
10292 | Always let players learn spells if they are in their starting spellbook. |
|
|
10293 | |
|
|
10294 | New attack methodology put in palce. To put in simply, if there is |
|
|
10295 | only 1 attacktype, things remain the same. If there are multiple attacktypes, |
|
|
10296 | we cycle through them one by one, and take the one that does the best |
|
|
10297 | damage and use it. Some attacktypes no longer do damage - they are effects |
|
|
10298 | (ie, paralyzation, slow.) In the case of of these, the effect will always |
|
|
10299 | be applied if appropriate. Code looks to behave pretty much the same, |
|
|
10300 | but is easier to follow. IF new code is buggy, or you don't want it, |
|
|
10301 | there is a define at the top of attack.c you can change. |
|
|
10302 | |
|
|
10303 | If god blesses you, lets actually remove the depletion object from the |
|
|
10304 | player inventory. |
|
|
10305 | |
|
|
10306 | Other god related fixes put in place - look to also deal with blessed |
|
|
10307 | weapons. |
|
|
10308 | |
|
|
10309 | Additional dump flag added. |
|
|
10310 | |
|
|
10311 | fix bugs with USE_BUTTONS and the peaceful button. |
|
|
10312 | |
|
|
10313 | Only allow write_rune to use objects of type RUNE |
|
|
10314 | |
|
|
10315 | Bugfix in get_pointed_target if it can't find a target - prevents endless |
|
|
10316 | loop |
|
|
10317 | |
|
|
10318 | NRSPELLPATHS set to correct value. |
|
|
10319 | |
|
|
10320 | Remove null terminator from gods array - not needed anymore. |
|
|
10321 | |
|
|
10322 | Fix savethrow array size to match maxlevel properly (was 1 short) |
|
|
10323 | |
|
|
10324 | remove damnation and remove curse now cleric spells. |
|
|
10325 | |
|
|
10326 | Fix some header code to better work on solaris 2.5 |
|
|
10327 | |
|
|
10328 | Support for compilation with the dmalloc (debug malloc) package. |
|
|
10329 | |
|
|
10330 | Allow altars and related items to match objects based on type. Use hp |
|
|
10331 | field of altar object as the type to match. |
|
|
10332 | |
|
|
10333 | Library patch by Brian Thomas. |
|
|
10334 | |
|
|
10335 | Various skill fixes by Brian Thomas. |
|
|
10336 | |
|
|
10337 | Alchemy patch by Brian Thomas. Here is a copy of his README: |
|
|
10338 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
|
|
10339 | The amount of work I put into this was substantial; other than |
|
|
10340 | new code -- I created new archetypes, revised archetypes, altered the |
|
|
10341 | treasures file and created 2 new object types and a flag. |
|
|
10342 | |
|
|
10343 | It therefore may be enjoyable to install this patch (incl code) |
|
|
10344 | and *not* define ALCHEMY in define.h. In particular, this patch |
|
|
10345 | does the following things: |
|
|
10346 | |
|
|
10347 | 1) more varieties of potions are available in shops. |
|
|
10348 | |
|
|
10349 | 2) new gems and types of food. |
|
|
10350 | |
|
|
10351 | 3) monsters will now leave behind body parts when you kill them. |
|
|
10352 | |
|
|
10353 | 4) if ALCHEMY is defined players may make potions/artifacts. |
|
|
10354 | |
|
|
10355 | I have included instructions for installation in INSTALL.PATCH, |
|
|
10356 | and a brief document for using the code (Alchemy.doc). |
|
|
10357 | |
|
|
10358 | Finally, as always, feedback is appreciated. |
|
|
10359 | |
|
|
10360 | b.t. |
|
|
10361 | thomas@astro.psu.edu |
|
|
10362 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
|
|
10363 | |
|
|
10364 | |
|
|
10365 | |
|
|
10366 | ------------------------------------------------------------------------------ |
|
|
10367 | Changes from Crossfire 0.92.3 to 0.92.4: |
|
|
10368 | |
|
|
10369 | Various bug fixes to readable code. |
|
|
10370 | |
|
|
10371 | Let altars be able to cast spells. sp field determine what spell to cast. |
|
|
10372 | |
|
|
10373 | Fix obscure bug that an arrow can be 'killed' if a monster that has hitback |
|
|
10374 | moves onto it while it is moving. Thus would then cause problems because |
|
|
10375 | apply would try to remove the object after it had been killed. |
|
|
10376 | |
|
|
10377 | Give quetzalcoatl melee attack skill. |
|
|
10378 | |
|
|
10379 | Give experience for clawing attacks. |
|
|
10380 | |
|
|
10381 | Include literacy skill with fighter skill - this should now give all starting |
|
|
10382 | classes literacy skill. I think it improves play balance. |
|
|
10383 | |
|
|
10384 | Don't mark a players starting money as being start equipment - otherwise |
|
|
10385 | they can't drop it on identify altars and it can get merged with money |
|
|
10386 | gained at a later date, yet still be marked as starting equipment. |
|
|
10387 | |
|
|
10388 | Bug fix in keybindings so that we check return of XKeysymToString to make |
|
|
10389 | sure we don't use a null value. Some keyboards have keys with no names, |
|
|
10390 | and on some systems, passing a null pointer as a string causes it to crash. |
|
|
10391 | |
|
|
10392 | ------------------------------------------------------------------------------ |
|
|
10393 | Changes from Crossfire 0.92.2 to 0.92.3: |
|
|
10394 | |
|
|
10395 | Removed ability to use unpaid objects for sacrifices. |
|
|
10396 | |
|
|
10397 | Changed weapon improvement code to be based on skill levels (if skills |
|
|
10398 | are used.) |
|
|
10399 | |
|
|
10400 | Code in place to generate hit points by average of fighter and overall |
|
|
10401 | level - to enable this, change the #if 0 to #if 1 at around line 1040 |
|
|
10402 | in common/living.c |
|
|
10403 | |
|
|
10404 | Books hack by Brian Thomas. This mainly means that when emptry books are |
|
|
10405 | created (or are otherwise on the map), that they will be filled with some type |
|
|
10406 | of information. Some (like monster/spells/gods/artifacts) are generated via |
|
|
10407 | the program itself. Information from a messages file that is stored in lib |
|
|
10408 | can also be found. Experience can be gained by reading this information. |
|
|
10409 | |
|
|
10410 | Read/write patch by Brian Thomas. This mainly encompasses the fact that |
|
|
10411 | players can now write messages in books, that you must be literate enough (as |
|
|
10412 | determined by literacy skill level) to read various books/scrolls. Scrolls |
|
|
10413 | are now not identified, but literacy can be used to identify them. Players |
|
|
10414 | can still read signs even if they are not literated (needed for game balance/ |
|
|
10415 | information) |
|
|
10416 | |
|
|
10417 | ------------------------------------------------------------------------------ |
|
|
10418 | Changes from Crossfire 0.92.1 to 0.92.2: |
|
|
10419 | |
|
|
10420 | Give artifact Gram weapon attacktype physical|confusion. Before, it was only |
|
|
10421 | confusion which would never actually damage anything. |
|
|
10422 | |
|
|
10423 | If a player dies in a shop, remove any unpaid items from his inventory and |
|
|
10424 | put them back in the map. Only applies in NOT_PERMADEATH mode. |
|
|
10425 | |
|
|
10426 | Put in better DM security - now checks for name, password, and hostname (any |
|
|
10427 | of those can be wildcarded out) - see the lib/dm_file for some demo. To |
|
|
10428 | supply a password for dm mode, just use dm with the password (ie, "'dm |
|
|
10429 | <fireball>") |
|
|
10430 | |
|
|
10431 | Lighting code added (with various support objects, spells, etc). No maps |
|
|
10432 | support this yet. |
|
|
10433 | |
|
|
10434 | Don't baptize altars if we are in the editor. Leave altars the way they |
|
|
10435 | are so that they will be baptized the crossfire loads the map instead. |
|
|
10436 | |
|
|
10437 | Allow the title of and object to be set from within crossedit. |
|
|
10438 | |
|
|
10439 | Allow individual players to set the inventory icon, now longer a compile time |
|
|
10440 | option. |
|
|
10441 | |
|
|
10442 | If we get a non critical error and do an emergency save just in case, |
|
|
10443 | then don't remove any information/objects. This probably fixes the |
|
|
10444 | disappearing inventory bug. |
|
|
10445 | |
|
|
10446 | ------------------------------------------------------------------------------ |
|
|
10447 | Changes from Crossfire 0.92.0 to 0.92.1: |
|
|
10448 | |
|
|
10449 | Improved altar sacrifice code (actually, any object type that calls |
|
|
10450 | check_altar) - treat a slaying field of 'money' as something special- don't |
|
|
10451 | care what form the money is in (see docs for more details) |
|
|
10452 | |
|
|
10453 | Improve identify table (in conjunction with altar code above) - now takes |
|
|
10454 | any type of money, won't take money if nothing needs to be identified, |
|
|
10455 | will identify as many things as money is dropped for (ie, drop 200 gold, it |
|
|
10456 | will do 10 items) |
|
|
10457 | |
|
|
10458 | In the map attributes in crossedit, you can select an option called |
|
|
10459 | "ShowWeakWalls". If this is selected, weak walls will be shown in a partial |
|
|
10460 | teardown state - makes working with some maps much easier. |
|
|
10461 | |
|
|
10462 | New client updated to support Power and Grace stats. |
|
|
10463 | |
|
|
10464 | Magic system broken into 2 forms of magic - clerical and mage (they are |
|
|
10465 | now seperate). Power stat also added to the game - plays into mage |
|
|
10466 | spellpoint (mana) total. Grace also added - used for cleric spell casting. |
|
|
10467 | |
|
|
10468 | Skill system greatly expanded - different experience types with skills |
|
|
10469 | associated with them (only has meaning if you are using the skill code) - thus |
|
|
10470 | you gain experience for certain categories as you use certain skills - see |
|
|
10471 | doc/skills.doc for more info |
|
|
10472 | |
|
|
10473 | Multiple gods added (via config option in config.h) - basically, different |
|
|
10474 | gods have different enemies, and the effects cleric spells have will depend |
|
|
10475 | on this. Altars are created for different gods. See doc/Multigod.doc for |
|
|
10476 | more information. Along with this, some new spells were added. |
|
|
10477 | |
|
|
10478 | Fix a problem of some objects falling out of sight when they shouldn't. |
|
|
10479 | |
|
|
10480 | Send delete item to client if decrease_ob reduces the items nrof to 0. |
|
|
10481 | |
|
|
10482 | Weight should now be fixed up when transferring stuff to/from containers. |
|
|
10483 | |
|
|
10484 | config option called NO_AUTO_SKILL_SWITCH added - it means range type |
|
|
10485 | doesn't automatically get switched to skill type when using melee weapon. |
|
|
10486 | Main effects is that it makes it easier to switch between melee and range |
|
|
10487 | weapons (pretty much makes it like it was prior to the skill code.) |
|
|
10488 | |
|
|
10489 | Sack code cleaned up - we don't need to split an object to see if it will |
|
|
10490 | actually fit in a container - we can just say how many we want to try to |
|
|
10491 | put in. |
|
|
10492 | |
|
|
10493 | Actually put wimpy command back in (all code was there, just the link to |
|
|
10494 | call the fucntion was missing.) |
|
|
10495 | |
|
|
10496 | Increase max count from 9999 to 99,999. Wasn't that uncommen for high level |
|
|
10497 | characters to have more than 10000 platinum coins. |
|
|
10498 | |
|
|
10499 | When invoking spells, temporarily switch the range type to range_magic - |
|
|
10500 | otherwise, a proper check for spellpoints is not done, and it then becomes |
|
|
10501 | possible to go negative. |
|
|
10502 | |
|
|
10503 | Modified crossloop so that it renames and compresses any core files created |
|
|
10504 | while it is running - very handy for debugging (note that you could easily |
|
|
10505 | modify it to remove the core files instead.) |
|
|
10506 | |
|
|
10507 | ------------------------------------------------------------------------------ |
|
|
10508 | Changes from Crossfire 0.91.9 to 0.92.0: |
|
|
10509 | |
|
|
10510 | Make sure the weight a container is carrying can never go below 0. |
|
|
10511 | |
|
|
10512 | Fixed fall below code, so that objects with visibility will not fall below |
|
|
10513 | objects that otherwise blocks view. |
|
|
10514 | |
|
|
10515 | Fixed colormap problems with xpm graphics on black and white displays. |
|
|
10516 | |
|
|
10517 | ALLOW_SKILLS is now the default in the config.h file. |
|
|
10518 | |
|
|
10519 | IS_SUMMON_SPELL macro fixed (= was supposed to be ==) |
|
|
10520 | |
|
|
10521 | Artifact foods added by Brian Thomas. These are foods that can give some |
|
|
10522 | nice benefits (stat improvements, etc), or be much nastier poisons. |
|
|
10523 | |
|
|
10524 | Bug fix made to skill selection that would otherwise cause core dumps. |
|
|
10525 | |
|
|
10526 | Bug fix made to query_cost that would cause core dumps if the alchemy spell |
|
|
10527 | was used. |
|
|
10528 | |
|
|
10529 | Fixed bug in dimension door that would cause core dumps if cast from a |
|
|
10530 | wand. |
|
|
10531 | |
|
|
10532 | find_target_for_friendly_spell fixed to use the get_owner call instead of |
|
|
10533 | referring to op->owner (get_owner should always be used.) Fixed core dumps |
|
|
10534 | that were caused when the owner would be killed, but still have a pet |
|
|
10535 | monster (vampires as an example.) get_owner makes checks to make sure |
|
|
10536 | the owner still exists. |
|
|
10537 | |
|
|
10538 | Only set the windows colormap if on a color display. |
|
|
10539 | |
|
|
10540 | ------------------------------------------------------------------------------ |
|
|
10541 | Changes from Crossfire 0.91.8 to 0.91.9: |
|
|
10542 | |
|
|
10543 | Changed some parameter names from spell to spellnum. Some compilers don't |
|
|
10544 | like parameter names that match structure names. |
|
|
10545 | |
|
|
10546 | Alot of skill code added by Brian Thomas. |
|
|
10547 | |
|
|
10548 | Assume that Suns running solaris have strncasecmp. Also, if using |
|
|
10549 | Xpm_Pix, assume the strcasecmp is available (the Xpm library should |
|
|
10550 | provide it.) |
|
|
10551 | |
|
|
10552 | get_player_ob function now uses the CALLOC define, instead of just |
|
|
10553 | calloc. |
|
|
10554 | |
|
|
10555 | When dropping items onto objects that blocks view, they now fall below the |
|
|
10556 | object that blocks the view. |
|
|
10557 | |
|
|
10558 | XPM mode now works with private colormaps. It will also switch to a private |
|
|
10559 | colormap if it runs out of color during the xpm creation (works for |
|
|
10560 | crossedit also). |
|
|
10561 | |
|
|
10562 | Don't let players put starting equipment into containers. |
|
|
10563 | |
|
|
10564 | A bows weapon class (WC) is now used to determined hit probability for |
|
|
10565 | arrows. |
|
|
10566 | |
|
|
10567 | When a player dies (in NOT_PERMADEATH mode), the character is immediately |
|
|
10568 | saved. Thus, if you die there is no advantage to crashing the server, |
|
|
10569 | hoping for a copy of your character from before you died. |
|
|
10570 | |
|
|
10571 | Set the value to 0 for arrows created with the create missile spell. |
|
|
10572 | |
|
|
10573 | When transferrance is cast excessively, don't hit the person receiving the |
|
|
10574 | spell with 9999 points of physical damage (otherwise, spell can be used to |
|
|
10575 | kill many powerful monsters.) |
|
|
10576 | |
|
|
10577 | Made some changes to make it compile properly under Solaris. |
|
|
10578 | |
|
|
10579 | Fixed bug in dropall that would cause an infinite loop if the player had |
|
|
10580 | an open container. |
|
|
10581 | |
|
|
10582 | Exits can now inflict damage on players. |
|
|
10583 | |
|
|
10584 | Fixed middle mouse button missle attack. Now clears the fire_on flag. |
|
|
10585 | |
|
|
10586 | ------------------------------------------------------------------------------ |
|
|
10587 | Changes from Crossfire 0.91.7 to 0.91.8: |
|
|
10588 | |
|
|
10589 | Messages about an objects speed no longer printed to the console. |
|
|
10590 | |
|
|
10591 | When players exit maps, no longer inform all the other players. |
|
|
10592 | |
|
|
10593 | install-same and install-font directives added to lib/Imakefile - used |
|
|
10594 | if game is being installed to same font it was unpacked in. |
|
|
10595 | |
|
|
10596 | Client now supports receiving bitmaps - server does not support |
|
|
10597 | sending them, however. |
|
|
10598 | |
|
|
10599 | Max experience achievable is based on max level, not a hard coded |
|
|
10600 | value (although, at present time, max level is hardcoded to 100) |
|
|
10601 | |
|
|
10602 | insert_ob_in_ob now returns an object - needed for client/server code. |
|
|
10603 | |
|
|
10604 | check_inv function added to button.c. Trigger will be altered depending if |
|
|
10605 | the character has a matching item (or lack of a matching item.) |
|
|
10606 | |
|
|
10607 | Option added to config.h to make it so that backup saves will save the player |
|
|
10608 | back at home, instead of the present map. Code adapated from code sent |
|
|
10609 | by John Steven Moerk (jsm@axon.ksc.nasa.gov) |
|
|
10610 | |
|
|
10611 | Minor bug in crossedit fixed that would cause it to exit if both |
|
|
10612 | -p and -xpm is specified. Both can now be specified - it will effectively |
|
|
10613 | ignore the -pix portion. |
|
|
10614 | |
|
|
10615 | New skills added, with corresponding code to use these skills (from Brian |
|
|
10616 | Thomas) Use of skill code is selectable in the config.h file. |
|
|
10617 | |
|
|
10618 | Two new spells: summon fog and steambolt (from Brian Thomas) |
|
|
10619 | |
|
|
10620 | Enchant armor code added (from Brian Thomas) |
|
|
10621 | |
|
|
10622 | Fixed bug in crossedit that would cause it to core dump whenever a non exit |
|
|
10623 | was selected and then the enter command run. |
|
|
10624 | |
|
|
10625 | Fixed bug in attack.c that was using info_all if CASTING_TIME was |
|
|
10626 | selected. |
|
|
10627 | |
|
|
10628 | Made it so that decrease_ob_nr will never decrease the object number below |
|
|
10629 | 0. This fixes a bug in that remove_ob would calculate a negative weight, |
|
|
10630 | and then call sub_weight with that negative value. This ended up resulting |
|
|
10631 | in weight being added to the player instead of subtracted. |
|
|
10632 | |
|
|
10633 | ------------------------------------------------------------------------------ |
|
|
10634 | Changes from Crossfire 0.91.6 to 0.91.7: |
|
|
10635 | |
|
|
10636 | Item saving throw changed around - items are only invulernable to attack |
|
|
10637 | types that they are protectected or immune to. For example, if an item is |
|
|
10638 | protected from magic, and is is by AT_FIRE | AT_MAGIC, it still needs to save |
|
|
10639 | against fire. Before, since it was protected from magic and the attack type |
|
|
10640 | includes magic, it would not have been affected in any way. |
|
|
10641 | |
|
|
10642 | insert_ob_in_map_simple function added. This is used in functions that what |
|
|
10643 | to examine all the objects on a space, yet insert new objects as it goes |
|
|
10644 | (polymorph). This function will not merge objects, so traversing the stack |
|
|
10645 | will work fine. Should fix removing removed object bugs that used to happen |
|
|
10646 | for polymorph (function should be used in other functions that do a similar |
|
|
10647 | thing) |
|
|
10648 | |
|
|
10649 | Damage field in objects is now 16 bits (signed). Needed because some |
|
|
10650 | high level spells would do more damage than could be stored in signed |
|
|
10651 | 8 bits. |
|
|
10652 | |
|
|
10653 | The 'old' client program no longer compares versions - there is no reason |
|
|
10654 | to, since the client doesn't do anything that requires an exact version |
|
|
10655 | match. |
|
|
10656 | |
|
|
10657 | Better handling of the Eutl library added - selection is now done |
|
|
10658 | in crosssite.def. |
|
|
10659 | |
|
|
10660 | Large lake faces expanded - now set up like walls, where auto join works. |
|
|
10661 | walls pick file expanded to include this image series and some other walls |
|
|
10662 | that were not previously set. |
|
|
10663 | |
|
|
10664 | Pacify spell added - code from Brian Thomas |
|
|
10665 | |
|
|
10666 | Show invisible and X-ray spell added (code by Peter Mardahl) |
|
|
10667 | |
|
|
10668 | Face data is static - that is to say the the color for any face can not be |
|
|
10669 | changed. In order to do a face with a different color, a new face needs to |
|
|
10670 | be created (or perhaps linked to the old). This change was made because for |
|
|
10671 | client/server communication, having a known color for each image greatly |
|
|
10672 | simplify things (also, on monochrome or XPM displays, color information |
|
|
10673 | didn't have any effect). Related changes: |
|
|
10674 | |
|
|
10675 | 1) color information is no longer stored in the archetypes file, |
|
|
10676 | but continues to be stored in the individual .arc files. collect.pl |
|
|
10677 | has been modified to store this information in a faces file. |
|
|
10678 | |
|
|
10679 | 2) visibility variable added. This is a face value, and it is meant |
|
|
10680 | to take the place of the DOUBLE_FLOOR_PATCH. System will work like |
|
|
10681 | this if DOUBLE_FLOOR_PATCH is enabled: the floor and the object |
|
|
10682 | with the highest visibility + the top object will be drawn. |
|
|
10683 | |
|
|
10684 | 3) color can not be changed in maps - in fact, since color is now |
|
|
10685 | stored in a different file, the color handling for objects has been |
|
|
10686 | removed. Note - when loading a map with crossedit, this information |
|
|
10687 | is silently ignored. Thus, when then saving the map, the color |
|
|
10688 | information will be lost. The maps should be updated with new faces |
|
|
10689 | if this color information is imporant. The lib/adm/map_info perl |
|
|
10690 | program now will print out warning messages for maps that are using |
|
|
10691 | color changes. Also, the code in loader.c can easily be changed to |
|
|
10692 | print out when it loads a color change (disabled because it is too |
|
|
10693 | verbose for most uses) |
|
|
10694 | |
|
|
10695 | PLAYER_COLORS config option and code support removed - with new static face |
|
|
10696 | information above, this can not be supported in any real way. |
|
|
10697 | |
|
|
10698 | Shop buildings no longer have is_floor set. This was a hack for the |
|
|
10699 | DOUBLE_FLOOR_PATCH for XPM mode. However, enabling it can make it so |
|
|
10700 | objects disappear beneath the shops (due to the way maps save.) Having |
|
|
10701 | objects not disappear is much more important (IMHO) than having things look |
|
|
10702 | just a little bit nicer for XPM mode. Archetypes exist for it, but are in |
|
|
10703 | the dev/unused/0.91/7/mood_floor directory, since no maps presently use them |
|
|
10704 | |
|
|
10705 | Mood floors added (code by thomas@nomad.astro.psu.edu). When activated, |
|
|
10706 | these floors can change the mode/flags of monsters (make them aggressive, |
|
|
10707 | make them unagressive, make them fall asleep, or charm them) |
|
|
10708 | |
|
|
10709 | New output mode in place - this uses a much smarter buffering method - it |
|
|
10710 | keeps track of several messages, and how often they are flushed is setable |
|
|
10711 | with the output-sync and output-flush commands (a help file does exist). |
|
|
10712 | All the various draw/write functions have been cleaned up, so that there now |
|
|
10713 | exists only 1 front end function (new_draw_info), which takes flags, |
|
|
10714 | priority, object, and the actual string. The flags are defined in |
|
|
10715 | newclient.h, as NDI_* (in this file because client should use the color |
|
|
10716 | flags sometime in the future, and it makes sense to keep all the flags in |
|
|
10717 | one place). Priority corresponds to the listen level that the player has |
|
|
10718 | set - the lower priority, the more likely it will be printed. |
|
|
10719 | |
|
|
10720 | Certain runes/traps now work properly (things like create bomb and magic |
|
|
10721 | draining would not work if the player is not on the same square as the rune) |
|
|
10722 | |
|
|
10723 | When a player kills a window, the players objects will be destroyed |
|
|
10724 | and not placed on the map. |
|
|
10725 | |
|
|
10726 | Scrolls, rods, wands, and staves will always be at least level 1. |
|
|
10727 | |
|
|
10728 | Beefed up demilich's. Previously, for the experience they were worth, |
|
|
10729 | it was much to easy to kill them. Main difference is that now their |
|
|
10730 | speed is 0.25 compared to 0.06 |
|
|
10731 | |
|
|
10732 | Fixed minor bugs with player movers - if the object to be moved had a |
|
|
10733 | speed greater than 1, it was possible to avoid all affects of the mover. |
|
|
10734 | |
|
|
10735 | Objects that slay are fixed up. Previously, only if the race matched the |
|
|
10736 | slaying type did it work. Now, in addition, f the race of archetype name |
|
|
10737 | matches the slaying, the object will slay. This fixes stakes, and probably |
|
|
10738 | a lot of other items that weren't slaying creatures properly. |
|
|
10739 | |
|
|
10740 | Changed some of the stat bonuses/penalties for all the classes. All the |
|
|
10741 | 'normal' races now have a net total of 0 (fireborn, wraith, and quetzalcoatl |
|
|
10742 | are not considered normal races, so their totals are unchanged.) |
|
|
10743 | |
|
|
10744 | Some of the items in the artifacts file have been fixed up - fixed |
|
|
10745 | spelling errors and errors in placement of the difficulty. |
|
|
10746 | |
|
|
10747 | ------------------------------------------------------------------------------ |
|
|
10748 | Changes from Crossfire 0.91.5 to 0.91.6: |
|
|
10749 | |
|
|
10750 | When player stops attacking, make sure his speed_left is not larger than his |
|
|
10751 | normal speed. Fixes a bug where you could attack a wall, then try to attack |
|
|
10752 | in another direction, and move quite quickly for a short time, since weapon |
|
|
10753 | speed would be used for that short burst of movement. |
|
|
10754 | |
|
|
10755 | Drain attacks become attack type physical when the character reaches the |
|
|
10756 | mininum experience possible. |
|
|
10757 | |
|
|
10758 | Do not allow equipped weapons to be improved if they would make it too |
|
|
10759 | powerful for the character to use. |
|
|
10760 | |
|
|
10761 | errmsg buffer sized increased to HUGE_BUF. Should fix some bugs that |
|
|
10762 | were causes when this was overflowed in dump_object2. |
|
|
10763 | |
|
|
10764 | SOUND_EFFECTS (if selected) is now defined when compiling all files. |
|
|
10765 | Previously, it was only set when compiling files in the server directory - |
|
|
10766 | this had the effect that the player structure was different between the |
|
|
10767 | server and common area. |
|
|
10768 | |
|
|
10769 | speed+2 items now increase speed properly. Values in the computation were |
|
|
10770 | not being cast to floats, so a speed+2 ended up giving the same amount of |
|
|
10771 | speed as a speed+1 item. |
|
|
10772 | |
|
|
10773 | Restoration changed around. The spell will no longer restore depleted stats |
|
|
10774 | - this can only be done with the potion. The potion is now only generic |
|
|
10775 | restoration - specific stat restoration potions removed. Also, perceive |
|
|
10776 | self will now tell the player what stats are drained and by how much. |
|
|
10777 | |
|
|
10778 | Reduce the amount of experience you get from killing other players to |
|
|
10779 | 1/10'th what it used to be. This should also discourage players from |
|
|
10780 | killing other players. |
|
|
10781 | |
|
|
10782 | SAVE_PLAYER removed from configurable options - it is always on. I can't |
|
|
10783 | see why anyone wouldn't want to be able to use this, and if you really |
|
|
10784 | don't want to use it, removing the save directory would pretty much |
|
|
10785 | work. |
|
|
10786 | |
|
|
10787 | Fixed dropall command. It wasn't dropping all items (seemed to |
|
|
10788 | stop at first locked item.) Also, 'dropall armour' now drops |
|
|
10789 | helmets in addition to shields and armor. |
|
|
10790 | |
|
|
10791 | Fixed heroism potion. It was casting the incorrect spell (detect curse). |
|
|
10792 | Now it casts heroism. |
|
|
10793 | |
|
|
10794 | Fixed bug that would cause remove object to try and remove object. When |
|
|
10795 | loading maps, an object in a container in a container would not be inserted |
|
|
10796 | (this mostly happened with an object in a chest in an icecube.) Changed |
|
|
10797 | code in load_objects to a recursive call, which can handle inventories any |
|
|
10798 | number of layers deep. |
|
|
10799 | |
|
|
10800 | Fixed bug in drop_all that would cause core dumps. |
|
|
10801 | |
|
|
10802 | ------------------------------------------------------------------------------ |
|
|
10803 | Changes from Crossfire 0.91.4 to 0.91.5 |
|
|
10804 | |
|
|
10805 | Inventory icons are now updated properly. Also, the inv_name and look_name |
|
|
10806 | arrays in the player structure have been redone - these are now arrays of |
|
|
10807 | function pointers and use the shared string libraries to allocated and free |
|
|
10808 | storage. This should take less space than the fixed size arrays that were |
|
|
10809 | previously used. |
|
|
10810 | |
|
|
10811 | When buying equipment, weight is now subtracted properly from the player |
|
|
10812 | for the coins that are used. |
|
|
10813 | |
|
|
10814 | Maps can now have a fixed reset time. This means that the map will reset |
|
|
10815 | after a set amount of time, no matter whether it is accessed or not. Useful |
|
|
10816 | for highly used maps that really need to be reset once in a while. |
|
|
10817 | |
|
|
10818 | Bug fixed in get_ob_diff. The difference array would get overflow, |
|
|
10819 | corrupting other data. Many core dumps were probably caused by this. |
|
|
10820 | |
|
|
10821 | Fixed bug in legal_range routine where legal_range would only check to |
|
|
10822 | first item of type BOW in a players inventory. This caused rotateshoottype |
|
|
10823 | to not list the bow entry if it was not the first bow equipped. |
|
|
10824 | |
|
|
10825 | Cloaks are not always turned into artifacts - normal cloaks can be found now. |
|
|
10826 | |
|
|
10827 | Charisma bonus changed around some more. Penalties are not quite as harsh |
|
|
10828 | for very ugly characters - with the change, a character will never pay |
|
|
10829 | more than 10 times to buy something than to sell that same item. |
|
|
10830 | |
|
|
10831 | Various functions changed around and some new ones added so things will |
|
|
10832 | work properly with the new client (still under developement.) Most notable |
|
|
10833 | changes were to common/xutil.c, with the newclient.c and newsocket.c |
|
|
10834 | files added. |
|
|
10835 | |
|
|
10836 | Unpaid items that are alchemied are now worth nothing. |
|
|
10837 | |
|
|
10838 | TWO_BYTES_FONT is now a standard. I can't see crossfire ever going back to |
|
|
10839 | having less than 256 images. |
|
|
10840 | |
|
|
10841 | free map->tmpname when it is no longer needed (before setting it to NULL). |
|
|
10842 | this pointer is assigned from a tempnam calls, which (on Sunos 4.1.x) uses |
|
|
10843 | malloc to allocate space. Note - if this is not true for you system, let me |
|
|
10844 | know, so I can put code in to handle this. |
|
|
10845 | |
|
|
10846 | destruction spell (from scrolls) fixed. This was actually a problem |
|
|
10847 | in that cast_spell was not setting the owner properly. |
|
|
10848 | |
|
|
10849 | Magic mapping improved for bw systems. This actually makes it work like |
|
|
10850 | it used to, with it doing stippling for object. |
|
|
10851 | |
|
|
10852 | Casting of director spells changed. Placement away from characters and |
|
|
10853 | underneath characters now possible |
|
|
10854 | |
|
|
10855 | New potion type added - Improvement: This will raise level hit point or |
|
|
10856 | spell point gain to the maximum value. It starts at the lowest level (ie, |
|
|
10857 | first hit/spell points gained), and will raise one value to maximum. |
|
|
10858 | |
|
|
10859 | Some patches added (From Manfred Weichel, manfred.weichel@mch.sni.de) which |
|
|
10860 | should make compiles on SVR4 work properly. |
|
|
10861 | |
|
|
10862 | New artifacts (in lib/artifacts file) added. |
|
|
10863 | |
|
|
10864 | Configurable option: cone attacks no longer propogate through monster - it |
|
|
10865 | will only hit the first row. |
|
|
10866 | |
|
|
10867 | Remove curse/damnation changed so that it will not remove curses which |
|
|
10868 | are a higher level than the spell caster. |
|
|
10869 | |
|
|
10870 | Polymorph code changed around. Greater chance of items being destroyed, |
|
|
10871 | value can never be greater than twice the original value, no mininum value. |
|
|
10872 | Also, now the item value and not clone value is used, so things like |
|
|
10873 | scrolls, wands, rods, etc should have the max price work correctly. magic |
|
|
10874 | is not maintained, rather, magic*4 is used as the difficulty for creating |
|
|
10875 | the new item, with max_magic of the new item never being greater than the |
|
|
10876 | magic of the old item. The number of objects remaining after a polymorph |
|
|
10877 | will be less than the original (10 arrows might become 8 bolts, for example.) |
|
|
10878 | |
|
|
10879 | You will no longer attack players in the group you are in by running |
|
|
10880 | into them. |
|
|
10881 | |
|
|
10882 | Titles now restored properly from save files (only makes a different if |
|
|
10883 | SET_TITLE is defined |
|
|
10884 | |
|
|
10885 | When doing a save, check the return value of fclose when writing to tmp file |
|
|
10886 | and the final file. If either of these writes file, use the backup file |
|
|
10887 | instead (previous save file is renamed as a backup file.) Should prevent |
|
|
10888 | problems when there are full filesystems of quotas in effect. The character |
|
|
10889 | will not be saved, but at least an older save file exsists instead of the |
|
|
10890 | character being totally gone (like before.) Patch from Laurent Wacrenier |
|
|
10891 | <Wacren@Gin.ObsPM.Fr> |
|
|
10892 | |
|
|
10893 | Plural names for items that have a 'of' in them is fixed/added. This mostly |
|
|
10894 | deal with potions (so instead of potion of dexterys, you get potions of |
|
|
10895 | dexterity) Patch from Laurent Wacrenier <Wacren@Gin.ObsPM.Fr> |
|
|
10896 | |
|
|
10897 | query_cost changed around so that value for very low priced items are now |
|
|
10898 | computed correctly. Before, the nrof of items was multiplied in very late, |
|
|
10899 | and various divisions (for being unidentified) were done previously. For |
|
|
10900 | low value items, this would result in a zero value. Zero values still |
|
|
10901 | result for low priced items if you only have 1 or 2 of them, but if you |
|
|
10902 | have 80 of them, a proper value is now generated. |
|
|
10903 | |
|
|
10904 | Code to control golems (and in fact many summoned creatures) now fixed. |
|
|
10905 | Help file added about golems. This also fixes a core dump that was caused |
|
|
10906 | when a summoned creature was around, and another scroll was used. |
|
|
10907 | |
|
|
10908 | Modified logger in common directory to no longer create a fatal error if you |
|
|
10909 | get too many minor errors in and the editor is what is being used. Before, |
|
|
10910 | occasional errors would be reported by the editor (mostly dealing with not |
|
|
10911 | found archetypes in maps), which would eventually cause a fatal error. This |
|
|
10912 | seemed erratic, because the editor never changes the tick, so loading one |
|
|
10913 | map might result in the fatal error because of the error total from the |
|
|
10914 | previous maps. Also, when using the editor, having missiong archetypes |
|
|
10915 | probably should not be a fatal condition. |
|
|
10916 | |
|
|
10917 | food value can be changed in artifact file. Food is mostly used to have |
|
|
10918 | various meanings in different objects. The artifact file has also been |
|
|
10919 | updated about everything that is changable, and what the values mean (ie, |
|
|
10920 | docs are built into the top of the file as comments) |
|
|
10921 | |
|
|
10922 | Weapons/armor no longer 'disappear' when a class that can not use such an |
|
|
10923 | item tries to equip a group of them. That is, if a class that could not use |
|
|
10924 | armor tried to equip 2 chain mails, one of the chain mails would disappear. |
|
|
10925 | |
|
|
10926 | ------------------------------------------------------------------------------ |
|
|
10927 | Changes from Crossfire 0.91.3 to 0.91.4 |
|
|
10928 | |
|
|
10929 | FLAG_NO_FIX_PLAYER is set before saving the player, and cleared after the |
|
|
10930 | player is loaded. Before, a character will full sp and hp could be save, and |
|
|
10931 | when reload, not be at full strength. This is because fix_player was being |
|
|
10932 | called during the load process, before all the characters items had been |
|
|
10933 | loaded and equipped. This, the maxsp and maxhp values were that of the |
|
|
10934 | character with no items. |
|
|
10935 | |
|
|
10936 | Artifacts can now pass the various spell paths to the newly created |
|
|
10937 | artifact. The values are or'd with the previous spell path values of the |
|
|
10938 | object. |
|
|
10939 | |
|
|
10940 | The artifact file now supports objects with name NONE. If this object is |
|
|
10941 | rolled up when trying to generate an artifact, then no artifact is |
|
|
10942 | generated. This allows for better tuning the chances of having certain |
|
|
10943 | artifacts, by just reducing the chance of having an artifact at all. The |
|
|
10944 | 'type' field of the Object in the artifact field is still required, but any |
|
|
10945 | other fields for the artifact object are not used. |
|
|
10946 | |
|
|
10947 | Crossedit fixed so that all the images do not appeared inversed when being |
|
|
10948 | used on a monochrome display. |
|
|
10949 | |
|
|
10950 | Changed common/xutil.h so that XPM mode will work on monochrome systems. In |
|
|
10951 | fact, XPM mode should now work on all systems, previously, the load process |
|
|
10952 | tried to create a pixmap 8 bits deep. If the X server did not support it, |
|
|
10953 | errors would result. So while playing in XPM mode on monochrome may be |
|
|
10954 | pointless, this allows play on systems where it may have some use. |
|
|
10955 | |
|
|
10956 | libproto.h and sproto.h only check that __STDC__ is defined. Previously, |
|
|
10957 | __STDC__ had to be nonzero, and not all compilers set this. Also, in |
|
|
10958 | global.h, if __STDC__ is not defined, return an error. Many compilers do not |
|
|
10959 | allow _STDC__ to be redefined. |
|
|
10960 | |
|
|
10961 | Updated changable variable in crossedit. Now the various spell paths can |
|
|
10962 | be set in the editor. |
|
|
10963 | |
|
|
10964 | SPEED_GAME now standard compile option, and not selectable. Having it as |
|
|
10965 | an option seemed to create more problems than bugs non speed game found. |
|
|
10966 | |
|
|
10967 | Crossfire man page updated. xledit.man changed to crossedit.man, to |
|
|
10968 | reflect the name of the program it represents. |
|
|
10969 | |
|
|
10970 | crossfire.doc updated with more information - mostly about new objects |
|
|
10971 | added to the game. |
|
|
10972 | |
|
|
10973 | More help files. |
|
|
10974 | |
|
|
10975 | Objects with type CREATOR were added. The objects, when applied, create |
|
|
10976 | other objects. Documentation in crossfire.doc. |
|
|
10977 | |
|
|
10978 | Object that cast spells (rod, scrolls, wands, and horns) now have a level |
|
|
10979 | associated with them. This level is used to determine at what level the |
|
|
10980 | spell should be cast, instead of using the owners level, which was typically |
|
|
10981 | used before (allows creation of super powerful wands/rods/horns, but having |
|
|
10982 | them be a very high level.) |
|
|
10983 | |
|
|
10984 | Bow, crossbow, bolt, and arrow code redone by Tero Haatanen. This cleans up |
|
|
10985 | the code, and allows for magical arrows and bolts. |
|
|
10986 | |
|
|
10987 | Race can now be changed in the artifacts file. |
|
|
10988 | |
|
|
10989 | A spell of Banishment has been added. |
|
|
10990 | |
|
|
10991 | Attacktype AT_DEATH is now more potent when if against a monster that |
|
|
10992 | the item also has slayign capability against. |
|
|
10993 | |
|
|
10994 | Bug fixed to prevent players from getting infinite experience for finding |
|
|
10995 | the same trap. Also, experience changed for disarming traps. |
|
|
10996 | |
|
|
10997 | ------------------------------------------------------------------------------ |
|
|
10998 | Changes from Crossfire 0.91.2 to 0.91.3 |
|
|
10999 | |
|
|
11000 | Changed artifact structure so that items with a chance greater than |
|
|
11001 | 255 are now possible. |
|
|
11002 | |
|
|
11003 | Object now put into icecubes when hit by a cold spell, like before. This |
|
|
11004 | probably got messed up in the saving throw re-write, where objects had to be |
|
|
11005 | either immune or protected from cold to be put in icecubes. In fact, the |
|
|
11006 | reverse was supposed (and now does) happen. IF an object is |
|
|
11007 | protected/immune from cold, it is also immune from being put in an icecbub. |
|
|
11008 | |
|
|
11009 | Fixed up is_magical and need_identify routines to handle more items. Rods, |
|
|
11010 | scrolls, and spellbooks are always considered magical in nature. Wands and |
|
|
11011 | staves are magical if they still have charges. Also, fixed up so that some |
|
|
11012 | of the Artifact items are now detected as being magical. |
|
|
11013 | |
|
|
11014 | If player lacks sufficient money to buy from shop, it now prints how much |
|
|
11015 | short he is in standard english string, (ie, 2 platinum 3 gold,etc), instead |
|
|
11016 | of gold.silver format (lacke 44.25 gold). |
|
|
11017 | |
|
|
11018 | Inventory drawing changed. Should be a little more efficient, and be more |
|
|
11019 | efficient on drawing. With auto pickup modes (that pick up more than one |
|
|
11020 | item), inventory will be drawn after all applicable items have been picked |
|
|
11021 | up, instead of after each one. |
|
|
11022 | |
|
|
11023 | Item status is printed next to item image in players inventory if |
|
|
11024 | SHOW_INV_ICON is selected in the config.h file. It would be nice if better |
|
|
11025 | imagines were designed for the status (right now, just words are printed |
|
|
11026 | out.) |
|
|
11027 | |
|
|
11028 | When connecting to the server, a one line welcome message is printed. |
|
|
11029 | Crossclient was modified to ignore this line if it starts with 'Welcome', so |
|
|
11030 | changing it may cause problems with crossclient. |
|
|
11031 | |
|
|
11032 | Potion of restorations are now handled by means of different archetypes and |
|
|
11033 | treasure lists, instead of having special code in the program to handle |
|
|
11034 | them. |
|
|
11035 | |
|
|
11036 | If a RUNE is found in an object inventory when free_object has been called, |
|
|
11037 | remove the rune instead of dropping it to the ground. This is so that traps |
|
|
11038 | (runes) disappear when the object they are placed on is destroyed. |
|
|
11039 | |
|
|
11040 | Doors are now trapped, and be detected & searched just like chest |
|
|
11041 | traps. |
|
|
11042 | |
|
|
11043 | Map difficulty can now be set in the map, and not be calculated at map load |
|
|
11044 | time. Crossedit has been modified so that 'Attributes' now contains a |
|
|
11045 | difficulty field, and if set, this will be used when loading a map (it is |
|
|
11046 | stored in the level field of the map). If this value is 0 (default), then |
|
|
11047 | the old formula for calculating the difficulty will be done. The advantage |
|
|
11048 | of this is that map creators can now set the difficulty of the map more to |
|
|
11049 | their liking, and certainly do a better job than the program can do. |
|
|
11050 | |
|
|
11051 | Pickup by value density fixed. The number of items is now taken into |
|
|
11052 | consideration (before it did not, so a lot of arrows would be picked up, |
|
|
11053 | because the total value divided by the weight of 1 arrow was greater than |
|
|
11054 | the pickup value.) |
|
|
11055 | |
|
|
11056 | Bug fixed in query_cost. Before, for F_TRUE value, unless the item was |
|
|
11057 | worth more than 10,000 sp, F_SELL value would be calculated instead of the |
|
|
11058 | true value. |
|
|
11059 | |
|
|
11060 | Merge several small files in common.c into one file called porting.c. |
|
|
11061 | porting.c contains common functions that are called by crossfire. This |
|
|
11062 | allows system dependent code by be in one file, instead of scattered |
|
|
11063 | throughout the program. |
|
|
11064 | |
|
|
11065 | -listen_port <num> command line option added. num is the port to use for |
|
|
11066 | connections, instead of the default (13326) |
|
|
11067 | |
|
|
11068 | Instances when a variable name is the same as a structure name have been |
|
|
11069 | fixed (by changing the variable name). On some compilers, this is a |
|
|
11070 | problem. I can not be sure that all such cases have been fixed, as I have |
|
|
11071 | not found a way for gcc to create warnings in this situation. |
|
|
11072 | |
|
|
11073 | Random happenings when a spell fails due to encumbrance has been added. |
|
|
11074 | This option is configurable in the config.h file. |
|
|
11075 | |
|
|
11076 | Trap code added. Chests and doors can now be trapped. 'search' and |
|
|
11077 | 'disarm' commands added. old 'search' command was changed to 'search items' |
|
|
11078 | |
|
|
11079 | Inventory locking added. Makes it so that items can be locked in a players |
|
|
11080 | inventory, and will not be dropped when a 'dropall' command is issued. |
|
|
11081 | 'inv-lock' and 'inv-unlock' commands were also added. |
|
|
11082 | |
|
|
11083 | 'gsay' command added for party mode. |
|
|
11084 | |
|
|
11085 | Spellbooks can now have their slaying field set to the name of the spell |
|
|
11086 | that the spellbook is of. |
|
|
11087 | |
|
|
11088 | Debugging output disabled in crossedit. It produced copious amounts of data |
|
|
11089 | that has little relevance except for the developers. It can easy be turned |
|
|
11090 | back on by editing the crossedit/include/debug.h file. |
|
|
11091 | |
|
|
11092 | Artifact gems (worth lots of money) and amulets added. |
|
|
11093 | |
|
|
11094 | Invisible object now appear in crossedit. Fixes a problem, but now makes |
|
|
11095 | use of the global 'editor' variable, making it likely it won't be obsolete |
|
|
11096 | any time soon. |
|
|
11097 | |
|
|
11098 | Artifacts (in artifacts file) can now have nrof field that will be used to |
|
|
11099 | generated the number of items instead of the treasure list. If the nrof in |
|
|
11100 | the artifact is 0, then the standard treasure list nrof is used instead. |
|
|
11101 | |
|
|
11102 | Artifacts can now grant reflect missile and spell ability. Also, by setting |
|
|
11103 | stand_still, the objects will not be animated. |
|
|
11104 | |
|
|
11105 | ------------------------------------------------------------------------------ |
|
|
11106 | Changes from Crossfire 0.91.1 to 0.91.2 |
|
|
11107 | |
|
|
11108 | Some options now standard part of game (SHOP_LISTINGS, Line of Sight). The |
|
|
11109 | config.h (for this release) contains these options, but they are commented |
|
|
11110 | out with the note they no longer do anything. |
|
|
11111 | |
|
|
11112 | Changed value pickup to pick up things based on true value, and not sell |
|
|
11113 | value. True value is how much the item is worth without applying charisma |
|
|
11114 | bonuses. Before, if two different characters used the same pickup mode, |
|
|
11115 | different stuff could be picked up because of charisma differences (or even |
|
|
11116 | if a character gained charisma, the same pickup mode may not work as it did |
|
|
11117 | before). By using true value, pickup mode operates the same between all |
|
|
11118 | characters, |
|
|
11119 | |
|
|
11120 | Items of type TREASURE can now have their experience set, and this will be |
|
|
11121 | used for the difficulty of the generated treasure instead of the map |
|
|
11122 | difficulty (as was done with shops). If experience is not set, then the map |
|
|
11123 | difficulty will instead be used (or 14 in the case of shop floors). |
|
|
11124 | |
|
|
11125 | Cure poison actually cures it, instead of reducing the duration. |
|
|
11126 | |
|
|
11127 | Don't use fseek when loading in map files. Some systems do not support |
|
|
11128 | fseek on pipes (which are used for compressed files). Instead, just |
|
|
11129 | set the variable with the data we read, instead of seeking back and |
|
|
11130 | re-reading it. |
|
|
11131 | |
|
|
11132 | Transferrance spell changed so that supercharging will have bad effects |
|
|
11133 | (first confuses the player, then a large fireball is created (with player |
|
|
11134 | losing all spellpoints) |
|
|
11135 | |
|
|
11136 | Poisoning made more vicious - it does more damage based on the level of the |
|
|
11137 | creature that uses it (level/2 in fact). This makes it so that very tough |
|
|
11138 | creatures that poison someone will have the poison do serious damage. |
|
|
11139 | Also, damage caused is no longer random. |
|
|
11140 | |
|
|
11141 | Chests can now contain multiple items. Code changed to handle this |
|
|
11142 | properly. Treasure is also always dropped on the floor (Even if the chest |
|
|
11143 | is in an objects inventory.) hp field used in chests (and in fact all |
|
|
11144 | treasures) to determine how many objects to create (thus, a chest with 3 hp |
|
|
11145 | will have 3 objects created). |
|
|
11146 | |
|
|
11147 | Crossedit now draws a rectangle around the selected area. Reversing the |
|
|
11148 | color of the images did not work in XPM mode. |
|
|
11149 | |
|
|
11150 | Have client.c include "includes.h". includes.h sets up all the name defines |
|
|
11151 | properly (ie, __sgi__, __sun__) |
|
|
11152 | |
|
|
11153 | SP_* functions changed (by Rupert Goldie) to take an object pointer instead |
|
|
11154 | of a level value. This makes adjustments for spell costs (via stuff like |
|
|
11155 | spell paths) easier to make, because now only the SP_* functions need to be |
|
|
11156 | changed. With the object structure, checking for known paths (or perhaps |
|
|
11157 | other things in the future) can easily be done. |
|
|
11158 | |
|
|
11159 | Bombs will now be dropped before exploding. |
|
|
11160 | |
|
|
11161 | New attack type (God Power) added. The cleric cause wound spells use this |
|
|
11162 | attack type. |
|
|
11163 | |
|
|
11164 | Charm monster spell added. |
|
|
11165 | |
|
|
11166 | Party system re-written by Scott MacFiggen <smurf@soda.berkeley.edu>. |
|
|
11167 | Characters will now only share experience if on the same map, and other |
|
|
11168 | features were also added. |
|
|
11169 | |
|
|
11170 | Modified check_item function (used in creating weapons with the improve |
|
|
11171 | scrolls). The objects being sacrificed do not need to be in one group (ie, |
|
|
11172 | two groups of 4 potions of dex will now be counted as 8 potions). This only |
|
|
11173 | applies to potions, since some can be identified and others not identified. |
|
|
11174 | Also, cursed or damned items will not count towards sacrifice count |
|
|
11175 | (although, they will be consumed). |
|
|
11176 | |
|
|
11177 | Changed way cancellation works on items. Before, if cancellation hit a |
|
|
11178 | player and the player failed the saving throws, the items got no saving |
|
|
11179 | throw versus cancellation (only if their absolute magic value was less than |
|
|
11180 | RANDOM()%6 did they survive). Now each item gets a saving throw. Note that |
|
|
11181 | if a container makes a saving throw, then the items inside do not need to |
|
|
11182 | make saving throws and are unaffected. |
|
|
11183 | |
|
|
11184 | A separate function did_make_save_item was split off from |
|
|
11185 | save_throw_object. did_make_save_item justs checks to see if the item made |
|
|
11186 | its saving throw based on the tables (and any protections or immunities |
|
|
11187 | grants it an automatic save, as before) save_throw_item calls this function, |
|
|
11188 | and in addition, does the appropriate actions (burns up items, turns them |
|
|
11189 | into icecubes, calls cancellation, etc.) |
|
|
11190 | |
|
|
11191 | Saving throw method changed. Before, each item got 5 chances to make a save |
|
|
11192 | for each item it is composed of. Now, it gets one chance for material it is |
|
|
11193 | composed of. Then, based on the number of saves it made, and the number |
|
|
11194 | materials it is composed of, an overall made save/failed save is |
|
|
11195 | determined. This change is to make it easier to figure out saving throw |
|
|
11196 | values, and hopefully make adjustment easier. |
|
|
11197 | |
|
|
11198 | Saving throw tables updated. In general, each item is +5 compared to what |
|
|
11199 | it was before. This should hopefully make it so that items have about the |
|
|
11200 | same success rate they did before. |
|
|
11201 | |
|
|
11202 | Crossedit modified to preserve value of connected field when cut/copying and |
|
|
11203 | pasting. Before, an object that was copied/cut would also have its |
|
|
11204 | connected field reset to 0. |
|
|
11205 | |
|
|
11206 | More XPM images colored. Filenames for the river directory have been |
|
|
11207 | re-done, to actually make it a bit clearer of what does what. The archetype |
|
|
11208 | names were not renamed however, to keep compatibility. |
|
|
11209 | |
|
|
11210 | World expanded. Another row of maps was added to the southern edge. The |
|
|
11211 | world maps were also renamed to a world_xy format, where x is a letter |
|
|
11212 | and y is a number. This represents the x and y location of the map, making |
|
|
11213 | it easier to figure out how maps related to each other. |
|
|
11214 | |
|
|
11215 | Map spaces can prevent magic user spells, cleric spells, or both. Before, |
|
|
11216 | an anti magic square prevented all types of spell casting. |
|
|
11217 | |
|
|
11218 | Have monsters regenerate spell points even if they don't cast a spell. |
|
|
11219 | Monsters have a 1:3 chance of casting spells, irregardless of any other |
|
|
11220 | factors. Before, spellpoints would only be regenerated if it got past this |
|
|
11221 | check. Also, some monsters (dragons, chinese dragons) have had their max |
|
|
11222 | spellpoint and regeneration rates increased to correspond with the higher |
|
|
11223 | cost of casting their breath weapons. |
|
|
11224 | |
|
|
11225 | Altars now will also match on the slaying field of the object being |
|
|
11226 | sacrificed. This is similar to how keys and special doors work. With this |
|
|
11227 | change, it is no longer required to make a unique item that then needs to be |
|
|
11228 | sacrificed (ie, the dagger, the cup, and the crown for the old city |
|
|
11229 | quests). Instead, a cup, and crown can be used, with the slaying field set |
|
|
11230 | appropriately (unfortunately, will not work for weapons, as it will think |
|
|
11231 | that is the monster to do extra damage against.) However, the altar code |
|
|
11232 | always did match item name, so calling it something special like 'The |
|
|
11233 | Dagger' and have the sacrifice look for that should also work. |
|
|
11234 | |
|
|
11235 | Spell encumbrance code added. More you are carrying the higher your |
|
|
11236 | chance for failure. |
|
|
11237 | |
|
|
11238 | ------------------------------------------------------------------------------ |
|
|
11239 | Changes from Crossfire 0.91.0 to 0.91.1: |
|
|
11240 | |
|
|
11241 | Fixed bug in the enchant weapon code. It was not allocing enough |
|
|
11242 | space for the string, and thus would corrupt the heap. |
|
|
11243 | |
|
|
11244 | Minor fix to spells.c. IT was using strdup instead of strdup_local, |
|
|
11245 | which caused the compile to fail on some machines. |
|
|
11246 | |
|
|
11247 | No longer gets errors when adding a player on a map that is not |
|
|
11248 | loaded in a multi player game. Before, process_events would see that |
|
|
11249 | the player has no object, and could get enough errors to cause the game |
|
|
11250 | to quit. Now, it suppresses errors if it is only loading objects |
|
|
11251 | for that map. |
|
|
11252 | |
|
|
11253 | Default map difficult for treasure that is created in shops was changed from |
|
|
11254 | 9 to 5. In this way, the likelihood is higher that good items will be found |
|
|
11255 | in dungeons, not in the shops (there are very few items with difficulty |
|
|
11256 | above 9) |
|
|
11257 | |
|
|
11258 | Archetypes cleaned up. All archetypes that were not being used in a map |
|
|
11259 | were moved to dev/unused/0.91.1. Note: There are still a few archetypes |
|
|
11260 | that are not used in any maps, but these are part of a collection (ie, one |
|
|
11261 | section type of a wall). This was done really because there is no reason to |
|
|
11262 | have archetypes that are not being used to be in the official distribution. |
|
|
11263 | It could be misleading for people looking through the arch directory (ie, 'I |
|
|
11264 | thought I looked at all the maps, but never saw this monster'). Also, I |
|
|
11265 | have no problem moving these archetypes back in, once some maps actually use |
|
|
11266 | them. |
|
|
11267 | |
|
|
11268 | 'grass' and 'sea' are no longer animated. There are a few reasons for |
|
|
11269 | this: 1) The animations never really were that interesting, 2) being |
|
|
11270 | animated put them on the speed list, and being that over all, they are the |
|
|
11271 | second and third most used objects, this is a performance hit, and 3) With |
|
|
11272 | pixmap and xpm images, re-draws are only done on squared the have changed |
|
|
11273 | (really improves performance). However, with them being animated, they |
|
|
11274 | often changed, so that more re-draws were needed. The old archetype and |
|
|
11275 | image files are in dev/old (in arch distribution) if you actually want to |
|
|
11276 | use the animated versions. |
|
|
11277 | |
|
|
11278 | Put a limit of 70 on damage bonus for weapons. |
|
|
11279 | |
|
|
11280 | Treasure lists expanded. The old treasure lists (in treasure.c) have been |
|
|
11281 | removed, and treasure lists added to the treasures file added to take their |
|
|
11282 | place. The treasure file has been expanded have list transitions, and |
|
|
11283 | treasure lists in which 1 object on that list will be generated. Archetypes |
|
|
11284 | (shop, random, and chest) updated to use the randomitems field to determine |
|
|
11285 | what treasure list to use to generate the items. Advantages of the new |
|
|
11286 | method: Ability to better tune treasure probabilities, re-compiling not |
|
|
11287 | necessary in order to update treasures. the create_treasure function was |
|
|
11288 | modified to add an extra argument - this is used to keep track of how many |
|
|
11289 | times it has been called on this attempt to create a treasure. In this way, |
|
|
11290 | infinite loops (with list transitions) are avoided. Generate treasure |
|
|
11291 | replaced with a simpler function that calls create_treasure, and returns the |
|
|
11292 | object. create_treasure takes a treasurelist instead of a integer |
|
|
11293 | treasurelist number, like it did before. The crossfire.doc file has |
|
|
11294 | been updated about the new treasures file capabilities. |
|
|
11295 | |
|
|
11296 | Chests are now created with their treasure as their inventory (this mostly |
|
|
11297 | happened because of the treasure changes above). Advantage is that when a |
|
|
11298 | chest burns up, its treasure may remain (or may be burned up). Before, when |
|
|
11299 | a chest was burned up, its treasure inside was not created. |
|
|
11300 | |
|
|
11301 | Rolling multi-part objects should now work better (not perfect, however). |
|
|
11302 | |
|
|
11303 | Carrying an open bag with a mode that picks everything up will no longer cause |
|
|
11304 | an infinite loop. |
|
|
11305 | |
|
|
11306 | Crossedit changed to draw selected areas as a black box. Fixes some problems |
|
|
11307 | with display in XPM mode. |
|
|
11308 | |
|
|
11309 | Fixed bug that would cause game to crash when pets were summoned. Problem |
|
|
11310 | was an infinite recursive loop, that would then cause the system to run out |
|
|
11311 | of stack space. Solution is to decrease the speed_left of the object before |
|
|
11312 | one of the function calls. This makes it so that at some point, one of the |
|
|
11313 | functions will not be called. |
|
|
11314 | |
|
|
11315 | When a rune is cast, use the s->archname for the archetype name, and |
|
|
11316 | not hard coded strings. Cured a bug with rune of transference. Also, |
|
|
11317 | allowed several case statements to be merged. Really, no archetype names |
|
|
11318 | should be used in spells.c, when casting spells. The archetype name should |
|
|
11319 | be gotten from the spell structure. |
|
|
11320 | |
|
|
11321 | If a button is being updated on a map that is being saved, just return |
|
|
11322 | from the function. Prevents errors 'object has speed but is free' |
|
|
11323 | |
|
|
11324 | Fixed bug that caused objects that got a speed_left of exactly 0 to |
|
|
11325 | be frozen. This was because speed_left >0 to have the object be processed, |
|
|
11326 | and <0 to have speed added. Now, speed is added if speed_left <=0. |
|
|
11327 | |
|
|
11328 | Some minor changes made to hopefully make it compile on AIX systems without |
|
|
11329 | any modifications. |
|
|
11330 | |
|
|
11331 | process_active_maps now called when a map is being loaded. It should |
|
|
11332 | hopefully work properly, since enter_exit was modified to not use any |
|
|
11333 | static variables. Also, process_events was modified to take a map as |
|
|
11334 | an argument, and if non null, only update objects on that map. That makes |
|
|
11335 | process_map obsolete. process_active_maps was also changed to still process |
|
|
11336 | even if there is only one player. |
|
|
11337 | Crossfire should let players still perform actions when a map is being |
|
|
11338 | saved. Problem is, handling a map that is in the process of it being |
|
|
11339 | saved, and having a character enter it. Crossfire needs to finish |
|
|
11340 | saving that map, then re-load it and insert the character. Large changes |
|
|
11341 | to how player interact with loading & saving of maps would probably |
|
|
11342 | be needed, and probably should be done. |
|
|
11343 | |
|
|
11344 | You no longer lose luck if you kill yourself, and the player who kills another |
|
|
11345 | player now loses the luck (before, the player killed would lose luck). |
|
|
11346 | |
|
|
11347 | Now inventory display modes - unpaid, cursed, magical, nonmagical. All pretty |
|
|
11348 | self explanatory. |
|
|
11349 | |
|
|
11350 | ------------------------------------------------------------------------------ |
|
|
11351 | Changes from Crossfire 0.90.5 to 0.91.0: |
|
|
11352 | |
|
|
11353 | Some new maps added to the standard distribution (Magara and some of |
|
|
11354 | the esben maps). Magara was added as a place to depart to by ship, the |
|
|
11355 | esben maps were merged in as new buildings or towers on existing maps, not |
|
|
11356 | as a new continent. |
|
|
11357 | |
|
|
11358 | Keyboard buffering is now selectable via 'keyboard' command. Before, |
|
|
11359 | an attempt to remove keystrokes from the X Events queue was made, but could |
|
|
11360 | not always remove all of them. Now, it should remove all of them, or none |
|
|
11361 | of them, depending on the keyboard buffer setting. The value will be |
|
|
11362 | saved with the player. |
|
|
11363 | |
|
|
11364 | Pickup mode value now saved and restored from the characters save files. |
|
|
11365 | |
|
|
11366 | Inventory and look window should only be re-drawn once when selling |
|
|
11367 | an item. |
|
|
11368 | |
|
|
11369 | Calls to draw_stats in common/living.c will only be made if the object |
|
|
11370 | type is a player (should prevent some warning messages) |
|
|
11371 | |
|
|
11372 | Fixed create earth wall spell so that it uses bdur as the base hit |
|
|
11373 | points of the wall (instead of bdam). This will prevent some core dumps, |
|
|
11374 | because otherwise, the wall can have 0 hit points. |
|
|
11375 | |
|
|
11376 | Program should not core dump when person quits that game and the map he |
|
|
11377 | is on has been swapped out. (ie, person saves or quits the character, |
|
|
11378 | but the map gets swapped out before they type 'q' to the play again |
|
|
11379 | question) |
|
|
11380 | |
|
|
11381 | Word activated teleporter code added (Peter Mardahl). |
|
|
11382 | |
|
|
11383 | Who can become DM, based on their user id, can now be set in the dm_file |
|
|
11384 | (assumed to be in lib.) (Tyler Van Gorder) |
|
|
11385 | |
|
|
11386 | Tell should now work properly (Eric Mehlhaff) |
|
|
11387 | |
|
|
11388 | Cloak code added (Peter Mardahl) |
|
|
11389 | |
|
|
11390 | Objects can not grant invisibility, make_invisible variable added to |
|
|
11391 | archetype files. |
|
|
11392 | |
|
|
11393 | Added information to the crossfire.doc file (was missing several |
|
|
11394 | attack types and materials). Added better information on what some of |
|
|
11395 | the flags do. Noticed that will_apply 4 applied for both scrolls |
|
|
11396 | and earthwalls, now only applies to earthwalls. To have a monster |
|
|
11397 | use scrolls, can_use_scroll should be used instead. |
|
|
11398 | |
|
|
11399 | Code added to deny users or sites from connecting. This is to prevent |
|
|
11400 | users who intentionally crash the server to connect and start up a window, |
|
|
11401 | which they then crash the server with. Patches from Tyler Van Gorder. |
|
|
11402 | |
|
|
11403 | Two floors will can now be drawn when using XPM mode and this options |
|
|
11404 | has been selected in config.h This allows for towers to sit on top of |
|
|
11405 | grass to look proper. From Gregor Schmid <schmid@fb3-s7.math.tu-berlin.de> |
|
|
11406 | |
|
|
11407 | Patches that modified 'create food' spell. Better food (ie, waybread) |
|
|
11408 | will be created at higher levels, and the caster can also specify what |
|
|
11409 | type of food to be created. From Peter Mardahl. |
|
|
11410 | |
|
|
11411 | Spell paths added by Rupert G. Goldie <rgg@aaii.oz.au>. Simply put, |
|
|
11412 | each 'spell path' contains a certain category of spells. Objects and |
|
|
11413 | races can be attuned, repelled, or denied certain paths (objects would |
|
|
11414 | apply the the person wearing them). Attuned allows casting of spells in |
|
|
11415 | that path at lower cost and greater efficiency, repelled paths are cast at |
|
|
11416 | a higher cost and lower efficiency, and denied paths can not be cast at all. |
|
|
11417 | Thus, a wand of small fireball that is attuned to Fire would cast more |
|
|
11418 | powerful fireballs. A character wearing a ring that is denied the path |
|
|
11419 | of fire could not cast fire spells at all. Right now, no items will |
|
|
11420 | be created using these features, and no characters have any of these, but |
|
|
11421 | these might be added in the future. Look at the spell-paths file in the |
|
|
11422 | doc directory for a little more information. |
|
|
11423 | |
|
|
11424 | Pickup mode 6 (pick up magical items) will not pick up known cursed items. |
|
|
11425 | |
|
|
11426 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
11427 | Object structure and process_events changed. Now, a separate list |
|
|
11428 | us used to keep track of active objects (objects whose speed is nonzero). |
|
|
11429 | All objects on the active list are still on the normal list, but |
|
|
11430 | process_objects only needs to go through the active_list for objects |
|
|
11431 | to process, saving a lot of time. The cost is adding two |
|
|
11432 | pointers (active_next and active_prev) to each objects. But the speed |
|
|
11433 | gains are well worth the minor memory cost. the 'malloc command |
|
|
11434 | was changed to display the number of objects on the active list - |
|
|
11435 | note that there is zero memory usage for these, since these objects |
|
|
11436 | are also on the normal object list. |
|
|
11437 | |
|
|
11438 | Programming note: Any time an objects speed is changed (doesn't |
|
|
11439 | happen too often), a call to update_ob_speed(object *) must be |
|
|
11440 | made, so that the object can be added or removed from the active |
|
|
11441 | list, as appropriate. |
|
|
11442 | |
|
|
11443 | In testing, I first ran crossfire, with process events using the |
|
|
11444 | normal object list, and printing out error messages if it found |
|
|
11445 | objects that had speed but were not in the active_list. I cleared out |
|
|
11446 | a couple warehouses in Navar without any errors. |
|
|
11447 | |
|
|
11448 | Then, I switched to using the active_list, and printing out errors if |
|
|
11449 | it found objects on that list with zero speed. I cleared out the |
|
|
11450 | mages tower in Navar city without any errors. |
|
|
11451 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
11452 | |
|
|
11453 | |
|
|
11454 | Selling items now works properly (it only failed to work if |
|
|
11455 | AUTO_SAVE was not set previously, and the value of the item was |
|
|
11456 | beyond a certain amount.) |
|
|
11457 | |
|
|
11458 | Look window code changed so that it does not erase the unused area |
|
|
11459 | unless necessary. Also, when a player moves, freeze_look is set. |
|
|
11460 | This was changed because the functions that move_ob calls update the look |
|
|
11461 | window, and the window was being updated 3 times each time the player moved. |
|
|
11462 | |
|
|
11463 | When poisoning ends, it no longer core dumps. |
|
|
11464 | |
|
|
11465 | Inventory window updated if reading an unidentified spell book and you |
|
|
11466 | already know that spell. |
|
|
11467 | |
|
|
11468 | Casting rune spells now works properly. |
|
|
11469 | |
|
|
11470 | Spells now (once again) sorted upon loading of characters. |
|
|
11471 | |
|
|
11472 | ------------------------------------------------------------------------------ |
|
|
11473 | Changes from Crossfire 0.90.4 to 0.90.5: |
|
|
11474 | |
|
|
11475 | Bug fixed with window titles getting their names changed. (Tero Haatanen) |
|
|
11476 | |
|
|
11477 | Container code changed around. Containers can be locked, they can be used |
|
|
11478 | from the ground. FLAG_CONTAINER removed, since there is already a type |
|
|
11479 | container, and bonus removed from object structure (Tero Haatanen) |
|
|
11480 | |
|
|
11481 | insert_ob_in_ob sorts objects, so items with more magic are before those |
|
|
11482 | with no magic bonuses even for unidentified. It also uses the absolute |
|
|
11483 | value of the magic, so it should be a little more difficult to know if the |
|
|
11484 | item is cursed or not. |
|
|
11485 | |
|
|
11486 | Added unique-flag and UNIQUE_ITEMS define. All items which have unique flag |
|
|
11487 | are saved to directory .../lib/unique-items. A filename is mapname + ".v" + |
|
|
11488 | number, where number is normally 01, but if two or more server is running |
|
|
11489 | same time it can be also greater. This feature can be used to banks and |
|
|
11490 | inns to save permanently items. The code is one limitation: if map contains |
|
|
11491 | unique item which can be carried away from map (e.g. an unique excalibur) |
|
|
11492 | there must be at least one unique item on map which can't be carried away. |
|
|
11493 | This is because unique items are loaded from original map only if unique |
|
|
11494 | items file doesn't exit. If all unique items are carried away from map then |
|
|
11495 | they are loaded back next time when someone enters that map. This should |
|
|
11496 | not a problem if map makers remembers this. (Tero Haatanen) |
|
|
11497 | |
|
|
11498 | Editor by Jarkko Sonninen. He added toggle button into attribute window and |
|
|
11499 | made map's reset time and timeout so that they can be configured in maps. He |
|
|
11500 | also fixed map archetype, so that map default stating coordinate is (2,2) |
|
|
11501 | like before. This seems break a gatehouse map, where it use default value |
|
|
11502 | on map (changed 0 to 2), but it's easy to fix. |
|
|
11503 | |
|
|
11504 | Change check_walk_on (common/object.c) so it no longer calls the draw_func. |
|
|
11505 | This eliminates a problem of seeing flashes of areas that should be blocked. |
|
|
11506 | This is because the draw function it called would re-draw the game window |
|
|
11507 | before the variable to re-calculate line of set was set. As I see it, this |
|
|
11508 | function call was not needed in any case, because this is called during the |
|
|
11509 | players movement. After the player moves, the draw function is called from |
|
|
11510 | the process_events (now process_players1) function. This should also |
|
|
11511 | conserver a little cpu time, and bandwidth. |
|
|
11512 | |
|
|
11513 | Coin code in shop.c changed. Patch from Kjetil Torgrim Homme made it so |
|
|
11514 | that coin value can be changed in archetypes and the shop code should still |
|
|
11515 | work properly. I made changes so that the number of coin types is set with |
|
|
11516 | a #define, making adding new coin types easier. |
|
|
11517 | |
|
|
11518 | AUTOSAVE, SAVE_INTERVAL, and NO_EMERGENCY_SAVE should now work properly. |
|
|
11519 | See include/config.h for more information on these options. |
|
|
11520 | |
|
|
11521 | Changed it so that updates to other maps will not be performed while |
|
|
11522 | loading a map. This caused a bug if two players entered exits |
|
|
11523 | at the same time. One or both of the players may end up in incorrect |
|
|
11524 | locations, all exits in that location may be closed, etc. |
|
|
11525 | |
|
|
11526 | Saving throw table expanded to handle all materials and attack |
|
|
11527 | types (Peter Mardahl) |
|
|
11528 | |
|
|
11529 | Fixes so that Turn Undead does not do physical damage (Peter Mardahl) |
|
|
11530 | |
|
|
11531 | Patch to make it impossible to prepare multiple weapons at the |
|
|
11532 | same time (Peter Mardahl) |
|
|
11533 | |
|
|
11534 | Added 'sea1' archetype. This is the same as the sea archetype, but allows |
|
|
11535 | for walk on. Its purpose is to use for backgrounds behind boats and similar |
|
|
11536 | objects. Because it will probably be needed in so many places, I decided to |
|
|
11537 | make an archetype, instead of editing the variables inside crossedit for the |
|
|
11538 | object. |
|
|
11539 | |
|
|
11540 | Removed xbm_values array. This was used to map a face number to that face |
|
|
11541 | location in memory. Since the bmaps file is created automatically without |
|
|
11542 | any holes, this is not longer necessary. |
|
|
11543 | |
|
|
11544 | Archetype for wonder spell now in place. This will prevent core |
|
|
11545 | dumps when the spell is cast. |
|
|
11546 | |
|
|
11547 | Pixmaps will now be freed upon exiting Crossfire. They will also be freed |
|
|
11548 | after emergency saves are performed. This fixes the problem that some |
|
|
11549 | X-Terminals would not free the memory used the the pixmaps otherwise, and |
|
|
11550 | run out of memory. This fix pertains to both -pix and -xpm mode. |
|
|
11551 | |
|
|
11552 | Patch to hopefully double death problem/core dumps with NOT_PERMADEATH |
|
|
11553 | mode. |
|
|
11554 | |
|
|
11555 | Changed the size of the temporary string that is used when loading |
|
|
11556 | messages. For a few very long messages, 1024 bytes was not enought. |
|
|
11557 | |
|
|
11558 | Patches put in Crossedit to allow for XPM mode. From Petri Heinil. |
|
|
11559 | |
|
|
11560 | Cleaned up the code for look window. Now, everything agrees (ie, |
|
|
11561 | when you click on something in the look window, it is actually |
|
|
11562 | that object.) Likewise, invisible objects are not displayed |
|
|
11563 | anywhere. This should also fix a bug of not being able to enter |
|
|
11564 | some building by clicking the middle mouse button on them. |
|
|
11565 | |
|
|
11566 | Added help file for pickup. Explains the 8 basic pickup modes |
|
|
11567 | plus the value-density pickup mode. |
|
|
11568 | |
|
|
11569 | Detect magic will detect magic on all items in a stack, not just the |
|
|
11570 | top object. |
|
|
11571 | |
|
|
11572 | Spells fixes (From Peter Mardahl): |
|
|
11573 | 1) Identify modified to identify items on the ground if inventory is |
|
|
11574 | identified. |
|
|
11575 | 2) Detect magic spell finds magical runes and makes them more visible |
|
|
11576 | 3) AT_CHAOS and AT_COUNTERSPELL reimplemented so that they are not |
|
|
11577 | treated as special cases by the move_cone function |
|
|
11578 | 4) Magical walls created by spells (firewall, frostwall, ....) are |
|
|
11579 | fixed |
|
|
11580 | |
|
|
11581 | If a map is reset, that map is then removed from the list of map objects |
|
|
11582 | (what you see when you type 'maps ). This way, the 'maps commands only |
|
|
11583 | displays maps that are reasonably active. This change should also save a |
|
|
11584 | little memory. |
|
|
11585 | |
|
|
11586 | make depend now descends into crossedit/Cnv to depend there. |
|
|
11587 | |
|
|
11588 | Changed some of the colors in the xutil.c file. This is so that it uses |
|
|
11589 | the same colors as the official colors for XPM files. It would have been |
|
|
11590 | better to make those colors part of the official XPM colors to start |
|
|
11591 | with, but it is a bit late to do that now. The change of the xutil.c file |
|
|
11592 | was made so that crossfire would not use quite as many entries in |
|
|
11593 | the colormap. The change in colors should be quite minor. |
|
|
11594 | |
|
|
11595 | Two new pickup modes added - one picks up all money and gems, the other |
|
|
11596 | all magical items. |
|
|
11597 | |
|
|
11598 | Removed a lot of dead code from the various header files. removed |
|
|
11599 | hiscore.h from distribution (wasn't declaring anything that was not |
|
|
11600 | being declared elsewhere.) |
|
|
11601 | |
|
|
11602 | |
|
|
11603 | ------------------------------------------------------------------------------ |
|
|
11604 | Changes from Crossfire 0.90.3 to 0.90.4: |
|
|
11605 | |
|
|
11606 | Many more XPM images now properly colored. NOTE TO COLORERS: A few minor |
|
|
11607 | changes have been to the xpm.template file (palegreen has been replaced with |
|
|
11608 | green3, and a more medium orange has been added.) I replaced palegreen |
|
|
11609 | because it was very close to the 'green' color already present. And a |
|
|
11610 | medium green was lacking. A medium orange was also lacking, so I added one |
|
|
11611 | in. |
|
|
11612 | |
|
|
11613 | New pickup modes, that can be based on value density (from |
|
|
11614 | Peter Mardahl <peterm@soda.berkeley.edu>) |
|
|
11615 | |
|
|
11616 | Spells now have a casting time. (From Matthew Zeher <matt@cs.odu.edu>) |
|
|
11617 | |
|
|
11618 | Added libproto1.h file. This will be used for function prototypes |
|
|
11619 | are affected by certain settings (ie, SPEED_GAME). This way, people |
|
|
11620 | should not need to run 'make proto' |
|
|
11621 | |
|
|
11622 | New XPM loading method. Creates montage of the xpm files, |
|
|
11623 | so that not as many calls to XPM are needed. This has reduced loading |
|
|
11624 | time to about 30% of what it was before. Note: This done mean it takes |
|
|
11625 | some more memory at start up, as the montage has to be stored |
|
|
11626 | temporarily. |
|
|
11627 | |
|
|
11628 | Changed charisma bonuses. At 30 charisma, it will no longer be possible to |
|
|
11629 | buy an item, and then sell it for more than you bought it for. |
|
|
11630 | |
|
|
11631 | Graphic exposures turned off on the GC's that are used in the game window. |
|
|
11632 | Should improve performance. |
|
|
11633 | |
|
|
11634 | When a raise stat spell ends, the proper message (ie, You look ugly, you |
|
|
11635 | feel less intelligent, etc) will now be printed out. |
|
|
11636 | |
|
|
11637 | If player NOT_PERMADEATH mode, and you die, a stat will only be decreased |
|
|
11638 | one. Before, that stat was decreased one, and the max stat was set to that |
|
|
11639 | value. So if the player was poisoned, or a stat was lowered due to some |
|
|
11640 | other reason, that loss would become permanent. Now, both the stat and |
|
|
11641 | orig_stat only gets decreased by one. |
|
|
11642 | |
|
|
11643 | invoke.c removed, cast_spell modified to handle what invoke.c did. |
|
|
11644 | |
|
|
11645 | Keep old shoot type if reading a scroll, instead of it being set to none. |
|
|
11646 | |
|
|
11647 | Raise stats spells should be progressively more costly (From Peter Mardahl) |
|
|
11648 | |
|
|
11649 | Should now be able to handle broken pipes without problem (ie, telnet |
|
|
11650 | session closing unexpectedly). Made it so that listen level 0 on a socket |
|
|
11651 | means that draw_all_sockets will not write to that socket. Crossclient uses |
|
|
11652 | this so that it does not get unexpected messages, and thinks that it failed. |
|
|
11653 | |
|
|
11654 | Added 'set font' option. This basically unsets color pixmaps or xpm mode. |
|
|
11655 | If crossclient was run without -xpm or -pix mode, it will send this command |
|
|
11656 | to use fonts. What this means is that set (font,pix,xpm) should set that |
|
|
11657 | display mode. Before, the display selection it defaulted to for crossclient |
|
|
11658 | seemed unreliable at best. |
|
|
11659 | |
|
|
11660 | Fixed memory allocation problem in commands.c (it was writing to more |
|
|
11661 | bytes than it had allocated) |
|
|
11662 | |
|
|
11663 | Draw message window almost complete re-written. In an effort to cut |
|
|
11664 | down on flashing of the the status bars. ( Niilo Neuvo <anipa@guru.magic.fi>) |
|
|
11665 | |
|
|
11666 | More bug fixes for spells (from Peter Mardahl) |
|
|
11667 | |
|
|
11668 | Fixed some bugs for compiling on the Alpha running OSF/1 1.3 |
|
|
11669 | |
|
|
11670 | ------------------------------------------------------------------------------ |
|
|
11671 | Changes from Crossfire 0.90.2 to 0.90.3: |
|
|
11672 | |
|
|
11673 | Added -xpm command line option to crossclient. |
|
|
11674 | |
|
|
11675 | All spells should not be handled in the switch statement in spells.c |
|
|
11676 | |
|
|
11677 | Let players buy zero value items from shop. This really shouldn't be a |
|
|
11678 | problem, the only zero value items of any use might be wands with very |
|
|
11679 | few charges. If someone wants to buy poison or cursed items, they should |
|
|
11680 | be able to. |
|
|
11681 | |
|
|
11682 | Fix spelling error of command line argument 'detatch'. It is now |
|
|
11683 | spelled properly (detach). |
|
|
11684 | |
|
|
11685 | Change draw_color_pix in server/xio.c. It now draws the images to an |
|
|
11686 | intermediate pixmap, and then draws that to the screen. May or may not be |
|
|
11687 | quicker (XSetClipOrigin only needs to be set once), but it does prevent |
|
|
11688 | flicker. Also add two more GC's to the player struct, to make these |
|
|
11689 | operations faster. |
|
|
11690 | |
|
|
11691 | Unless XPM_PIX is defined, draw_color_pix will note be compiled in the |
|
|
11692 | code. |
|
|
11693 | |
|
|
11694 | Fixes to make it compile on both Solaris and NeXT machines (hopefully) |
|
|
11695 | |
|
|
11696 | Removed PLAYER_COLOR #ifdefs and lines they control out of login.c. Those |
|
|
11697 | were not needed any more. |
|
|
11698 | |
|
|
11699 | Added 'mapinfo' command to valid input commands. |
|
|
11700 | |
|
|
11701 | Only have crossfire display -m as a valid command if it was compiled |
|
|
11702 | with DUMP_SWITCHES set. |
|
|
11703 | |
|
|
11704 | Changed install procedure to only copy those files necessary to playing |
|
|
11705 | into lib. Also, don't install obsolete scripts into the bin directory |
|
|
11706 | when installing. |
|
|
11707 | ----------------------------------------------------------------------------- |
|
|
11708 | Changes from Crossfire 0.90.1 to 0.90.2: |
|
|
11709 | |
|
|
11710 | Cleaned up the display from 'maps. Now things line up nicely. It |
|
|
11711 | doesn't print the name anymore, and truncates the path at 18 characters. |
|
|
11712 | But this doesn't make a difference for most maps, and now you can actually |
|
|
11713 | see what variables are set to what. |
|
|
11714 | |
|
|
11715 | Experience requirements changed. Initial values from Peter, but I changed |
|
|
11716 | them to be more round numbers. |
|
|
11717 | |
|
|
11718 | Change targets in server and crossclient from ComplexProgramTarget |
|
|
11719 | to AllTarget, DependTarget, and NormalProgramTarget. This is because |
|
|
11720 | ComplexProgramTarget expects man pages in those directories, which do |
|
|
11721 | not exist. |
|
|
11722 | |
|
|
11723 | Moved data initialization out of treasure.h and into common/treasure.h. |
|
|
11724 | In theory, no data initialization should be done in the .h files, it should |
|
|
11725 | all be done in the .c files, with the .h files declaring the appropriate |
|
|
11726 | externs. Likewise, no .c files should have extern's for other data |
|
|
11727 | functions, they should include the appropriate .h file to get those |
|
|
11728 | externs declared. This would fix the problem of having to go through |
|
|
11729 | the various .c files whenever one of the data structures change, to update |
|
|
11730 | all the externs made to it. Since the compiler will check to make sure that |
|
|
11731 | the extern in the .h file and the actual declaration in the .c file are |
|
|
11732 | the same, it prevents errors of mismatched declarations (ie, having |
|
|
11733 | something like char s[40][20], which at later point gets to |
|
|
11734 | char *s[40], but some files still think it is supposed to be s[40][20].) |
|
|
11735 | |
|
|
11736 | Changed doc/Imakefile so that make install.man will actually install |
|
|
11737 | the man pages. |
|
|
11738 | |
|
|
11739 | Characters that dies who were poisoned should have the poisoning |
|
|
11740 | removed. |
|
|
11741 | |
|
|
11742 | Changes from the Berkeley Folks: |
|
|
11743 | What we've done that's in this server code that I know of: |
|
|
11744 | |
|
|
11745 | --level dependency added to many spells. |
|
|
11746 | |
|
|
11747 | --level dependency tunable on the fly by editing the spell_params |
|
|
11748 | in the 'lib' dir and using the dm command 'spellreset' spellpoints |
|
|
11749 | and spell level are also changeable on the fly. |
|
|
11750 | |
|
|
11751 | --many new spells added |
|
|
11752 | --protection spells can now superimpose, as can gain stat spells. |
|
|
11753 | repeated applications of protective or stat spells yield diminishing |
|
|
11754 | returns. |
|
|
11755 | |
|
|
11756 | --runes added--an implementation of magical traps. any spell may |
|
|
11757 | go in a rune. Read the documentation. |
|
|
11758 | |
|
|
11759 | --new spell interface. invoke <spell> invokes that spell immediately. Some |
|
|
11760 | spells can take parameters now. invoke magic rune <spell> |
|
|
11761 | will store <spell> in a magic rune. invoke <spell> will not set the |
|
|
11762 | range spell. cast and prepare are synonymous. |
|
|
11763 | |
|
|
11764 | --Certain spells cannot be set as range spells now--less than 10 of these. |
|
|
11765 | These are spells which no one would want to use more than once in a while, |
|
|
11766 | like magic map. |
|
|
11767 | |
|
|
11768 | --A hack to object.c in common dir which makes objects created by objects |
|
|
11769 | with owners owned by the creating object's owner. (This allows players |
|
|
11770 | to get credit for a kill with the meteor swarm spell, which creates a |
|
|
11771 | 'swarm' object, which in turn creates the meteor objects.) |
|
|
11772 | -- End of Berkeley additions. |
|
|
11773 | |
|
|
11774 | New maps and archetypes added. |
|
|
11775 | |
|
|
11776 | Crossedit can now load maps that are compressed. |
|
|
11777 | |
|
|
11778 | Add Solaris 2.x compile support. |
|
|
11779 | |
|
|
11780 | Now prints out what the scroll name was that turned to dust. |
|
|
11781 | |
|
|
11782 | Minor artifact changes (ring of ice is blue, ring of fire is red) |
|
|
11783 | |
|
|
11784 | Horn range weapon now works properly, via using the + and - keys. |
|
|
11785 | |
|
|
11786 | New input method (From Jari Vanhala <jam@modeemi.cs.tut.fi>). Looks like |
|
|
11787 | it should now be possible to define keys to do most every command. Made |
|
|
11788 | a few minor changes to default key file to make the present set up |
|
|
11789 | act like the previous one. |
|
|
11790 | |
|
|
11791 | Fixed triggers and magic mouth. These devices will now open gates |
|
|
11792 | as would be expected. The problem was that the opening routine |
|
|
11793 | expects to see the op->value of these to be one, in order to open the |
|
|
11794 | gate or whatever. Changed routines to toggle value between 0 and 1. |
|
|
11795 | Note: As I understand, trigger handles return to their original state, but |
|
|
11796 | keep the same value. That is, you pull the trigger handle, the handle returns |
|
|
11797 | to its original position, but gate opens. Pull handle again, handle returns |
|
|
11798 | to same position, but gate now closes. Or at least that is how I implemented |
|
|
11799 | the devices. |
|
|
11800 | |
|
|
11801 | Make some more changes to the is_magical routine. Hopefully, it will now |
|
|
11802 | detect all rings and amulets that are magical. Also, it should not |
|
|
11803 | detect monsters (or any living object) as magical. |
|
|
11804 | |
|
|
11805 | Fixed bug with Color Pixmaps (XPM). Would try to free the pl->pixmaps |
|
|
11806 | area twice, causing core dump. Looks like the same thing should have |
|
|
11807 | happened when using bitmaps also. In any case, only one free(pl->pixmaps) |
|
|
11808 | is now performed. |
|
|
11809 | |
|
|
11810 | Bug fixed with XPM code, in which 'floors' would appear to be |
|
|
11811 | carried around with the player. This is because the players pixmap did |
|
|
11812 | not change, and hence, it did not update that square. Now fixed. |
|
|
11813 | |
|
|
11814 | Random encounter bug might now be fixed (patches from Frank) |
|
|
11815 | |
|
|
11816 | New FLAG method used. flags in the object structure is now an array, |
|
|
11817 | and SET_FLAG, CLEAR_FLAG and QUERY_FLAG functions are now used. This reduced |
|
|
11818 | a lot of code in common/loader.c |
|
|
11819 | |
|
|
11820 | Fixed bug in common/object.c in expand_objects function. Looks like |
|
|
11821 | braces were missing from for statement, so the the prev and flag fields of |
|
|
11822 | the new objects were not being set properly. |
|
|
11823 | |
|
|
11824 | Fixed bug that could cause core dump if trying to print map message when |
|
|
11825 | no message existed. (From Tero Haatanen <Tero.Haatanen@lut.fi>) |
|
|
11826 | |
|
|
11827 | Starting character will have uncursed, undamned and identified items |
|
|
11828 | at the start of the game. (From Tero Haatanen <Tero.Haatanen@lut.fi>) |
|
|
11829 | |
|
|
11830 | ----------------------------------------------------------------------------- |
|
|
11831 | Changes from Crossfire 0.90.0 to 0.90.1: |
|
|
11832 | |
|
|
11833 | Crossedit 0.7 was merged in with the 0.90.0 source. This once again creates |
|
|
11834 | a common distribution. |
|
|
11835 | |
|
|
11836 | I tried to retain the best features of both programs. This means that |
|
|
11837 | the artifact code, and cursed/uncursed items (from CF 0.90.0) remain. |
|
|
11838 | But I also used the filepaths for fonts, elimination of omaps for |
|
|
11839 | internals use, and creation of partially processed bitmap file for |
|
|
11840 | bitmap reading. |
|
|
11841 | |
|
|
11842 | The general patch method was to keep the cf 0.90.0, and create a diff |
|
|
11843 | file for crossedit 0.7 from crossfire 0.89.3. These patches were then |
|
|
11844 | applied. Many had to be implemented by hand. |
|
|
11845 | |
|
|
11846 | There are some exceptions. The crossedit program is almost the exact |
|
|
11847 | same thing as in the crossedit 0.7 distribution. I made a few minor changes |
|
|
11848 | to clean up compiling, but otherwise, no serious changes were made. |
|
|
11849 | |
|
|
11850 | The archetypes (lib/arch) structure was also taken from crossedit 0.7, as |
|
|
11851 | well as most of the archetypes themselves. I think the breakdown makes |
|
|
11852 | things much easier to handle for changes or improvements. NOTE: it is |
|
|
11853 | likely that directory (lib/arch) will not be in the standard distribution, |
|
|
11854 | but will instead be a separate file (to keep the size down). The various |
|
|
11855 | files (archetypes, bmaps, font, etc.) will be created for the distribution. |
|
|
11856 | All new archetypes from cf 0.90.0 were merged into the structure, as well |
|
|
11857 | as a few minor changes in the old archetypes I noticed. |
|
|
11858 | |
|
|
11859 | The maps are from the crossfire 0.90.0-a-maps distribution. A few |
|
|
11860 | simple programs (in lib/adm) were used convert them to use fontpaths |
|
|
11861 | and to change some monster names that conflicted with character classes. |
|
|
11862 | Note: Because in the old format, a 'food' field was used to determine the |
|
|
11863 | map to link to, it is possible some of these fields were changed when |
|
|
11864 | they were not supposed to be. This is because some other archetypes |
|
|
11865 | (altars for one) also use the food field. If you notice any converted |
|
|
11866 | by mistake, please let me know. |
|
|
11867 | |
|
|
11868 | A few minor memory leaks and other patches have also been applied. |
|
|
11869 | |
|
|
11870 | Other specific changes to this version: |
|
|
11871 | 'set' now gives better help message (like what can be set.) |
|
|
11872 | XPM code added. |
|
|
11873 | Fixed bug in 'who', which would cause a core dump if done when |
|
|
11874 | another playing was still creating their character. |
|
|
11875 | 'who' also display the map path of the other players, and not |
|
|
11876 | the map name. Map names seldom seem to be set. |
|
|
11877 | The crossfire.cfb and crossfire.pix files (in lib) can be compressed. |
|
|
11878 | Fixed bug that caused core dumps when pet monsters were summoned. |
|
|
11879 | If restoring a saved game, and the map it was saved on does not exist, |
|
|
11880 | start them on the standard starting level. |
|
|
11881 | Added option in config.h, that allows full ring and amulet descriptions |
|
|
11882 | to be printed in inventory and look window. |
|
|
11883 | Hopefully fixed bug which caused game to dump core when player died, |
|
|
11884 | if NOT_PERMADEATH was set on. |
|
|
11885 | Add flag HAS_MAGIC, and use that for the detect magic spell. This way, |
|
|
11886 | artifacts that have no magic, will still be shown as magical. |
|
|
11887 | So will rings that change abilities, etc. Doesn't work |
|
|
11888 | quite perfectly, but seems to work as well as the old method. |
|
|
11889 | Fixed bug so that if it can not find a map, it just prints that |
|
|
11890 | that exit is closed, instead of panicing. |
|
|
11891 | Have it re-draw the look window when you middle click on something (ie |
|
|
11892 | apply) in that window. This fixes a bug with bags/sacks, of it |
|
|
11893 | not updating when an item is used directly from a sack. |
|
|