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 | common/utils.c: apply patch #1445892 (transmute_materialname crash) courtesy |
|
|
21 | the cf.schmorp.de development team. |
|
|
22 | include/spellist.h: disable big unused arrays, legacy of spell code. |
|
|
23 | server/c_object.c: merge find_best_apply_object_match and find_best_object_match |
|
|
24 | which are really the same. |
|
|
25 | server/init.c: fix memory leak. |
|
|
26 | server/monster.c: fix a monster/scroll related crash, based on patch #1447242 by |
|
|
27 | the cf.schmorp.de development team. |
|
|
28 | server/player.c: fix monitor_spells not initalized (before InitConnection()). |
|
|
29 | server/skills.c: fix merging bug with inscription. |
|
|
30 | socket/init.c: fix monitor_spells not being initialized. |
|
|
31 | Ryo 2006-03-14 |
|
|
32 | |
|
|
33 | Fix bug/exploit in setup command. We were strcat'ing back data provided |
|
|
34 | by the client. |
|
|
35 | --- |
|
|
36 | socket/request.c: Modify SetUp() to use safe_strcat() - eliminates buffer |
|
|
37 | overflow issues. Add some char* casts to spell/skill requestinfo |
|
|
38 | to eliminate compiler warnings. Add IP address to log for incoming |
|
|
39 | connections. |
|
|
40 | MSW 2006-03-13 |
|
|
41 | |
|
|
42 | Fix possible exploit with shadow alchemy. Also improve the alchemy spell to |
|
|
43 | yield more nuggets. |
|
|
44 | --- |
|
|
45 | server/shop.c: In query_cost() apply the hack (to multiply non-GEM/non-MONEY |
|
|
46 | values by four) also if no player object is present. |
|
|
47 | Andreas Kirschbaum 2006-03-07 |
|
|
48 | |
|
|
49 | Add settings permanent_experience_percentage, death_penalty_percentage and |
|
|
50 | death_penalty_levels to the settings file. |
|
|
51 | --- |
|
|
52 | common/living.c: don't hardcode exp calculations |
|
|
53 | common/init.c, include/config.h, lib/settings: set defaults for new values |
|
|
54 | doc/settings: document new values |
|
|
55 | include/global.h: change settings struct to hold the new values |
|
|
56 | server/init.c: parse new values in the settings file. |
|
|
57 | server/skill_util.c: reference new value |
|
|
58 | Brendan Lally 2006-03-07 |
|
|
59 | |
|
|
60 | Apply modified parts of patch #1439490 (Fix in random map generation) by CF |
|
|
61 | Development Team Schmorp.de <crossfire@schmorp.de>. |
|
|
62 | --- |
|
|
63 | random_maps/exit.c: In place_exits() check for a valid exit path before |
|
|
64 | dereferencing it. |
|
|
65 | random_maps/treasure.c: In find_closest_monster() include monsters at map |
|
|
66 | border. In find_enclosed_spot() prevent access to out of map tiles. |
|
|
67 | Andreas Kirschbaum 2006-03-04 |
|
|
68 | |
|
|
69 | Apply patch #1436833 (Patch for forked lightning crash at map borders) by CF |
|
|
70 | Development Team Schmorp.de <crossfire@schmorp.de>. |
|
|
71 | --- |
|
|
72 | server/spell_attack.c: In forklightning() prevent access to out of map tiles. |
|
|
73 | Andreas Kirschbaum 2006-03-04 |
|
|
74 | |
|
|
75 | common/loader.l: Prevent excess whitespace while saving objects. |
|
|
76 | common/loader.c: Rebuilt. |
|
|
77 | Andreas Kirschbaum 2006-02-27 |
|
|
78 | |
|
|
79 | Apply patch by Marc Alexander Lehmann to improve server performance. |
|
|
80 | --- |
|
|
81 | include/map.h: Move path field to end of struct. Since this field was huge it |
|
|
82 | pushed all other fields to large offsets in the struct. Moving it to the |
|
|
83 | end of the struct mapdef should not break anything but will improve |
|
|
84 | performance and reduce the server code by >3500 bytes. |
|
|
85 | Andreas Kirschbaum 2006-02-27 |
|
|
86 | |
|
|
87 | ------------------------------------------------------------------------------ |
|
|
88 | Changes for 1.9.0: |
|
|
89 | |
|
|
90 | lib/collect.pl.in: Again fix generation of 'editor_folder' field to make |
|
|
91 | sub-folder selection work again. |
|
|
92 | lib/archetypes: Rebuilt. |
|
|
93 | Andreas Kirschbaum 2006-02-26 |
|
|
94 | |
|
|
95 | */Makefile{in.am}: Fix plugin makefiles so that 'make distcheck' works. Using |
|
|
96 | relative path names for files to include in distribution does not work - |
|
|
97 | need to have a makefile in each directory. |
|
|
98 | configure{.ac}: Updated as result of new Makefiles. |
|
|
99 | MSW 2006-02-24 |
|
|
100 | |
|
|
101 | Apply patch #1428057 courtesy Pippijn van Steenhoven: fix to a crashing bug in plugins |
|
|
102 | (incoherent order of parameters). |
|
|
103 | Also use plugin_common.h in CFAnim instead of having separate definitions. |
|
|
104 | Modified files: |
|
|
105 | plugins/cfanim/cfanim.c |
|
|
106 | plugins/cfanim/include/cfanim.h |
|
|
107 | plugins/cfanim/include/cfanim_proto.h |
|
|
108 | plugins/common/plugin_common.c |
|
|
109 | plugins/common/include/plugin_common.h |
|
|
110 | Ryo 2006-02-23 |
|
|
111 | |
|
|
112 | Remove object type CONFUSION since it was not used anymore. |
|
|
113 | --- |
|
|
114 | common/item.c: Remove CONFUSION entry from item_types[] array. |
|
|
115 | include/define.h: Uncomment #define CONFUSION. |
|
|
116 | Andreas Kirschbaum 2006-02-22 |
|
|
117 | |
|
|
118 | lib/collect.pl.in: Fix generation of 'editor_folder' field. It did not work |
|
|
119 | too well for .arc files in deep subdirs. |
|
|
120 | lib/{archetypes,bmaps.paths,crossfire.0}: Rebuilt. |
|
|
121 | Andreas Kirschbaum 2006-02-21 |
|
|
122 | |
|
|
123 | random_maps/random_map.c: Cause the random map generator to skip certain |
|
|
124 | elements if the style is set to "none". |
|
|
125 | doc/Developers/random-maps: Document above change |
|
|
126 | Alex Schultz 2006-02-20 |
|
|
127 | |
|
|
128 | socket/request.c: Don't crash on trying to send a spell which doesn't have an |
|
|
129 | associated skill |
|
|
130 | Brendan Lally 2006-02-20 |
|
|
131 | |
|
|
132 | Do not allow to dimension door into monsters or earthwalls. |
|
|
133 | --- |
|
|
134 | server/spell_effect.c: In dimension_door() do not allow destinations that are |
|
|
135 | P_IS_ALIVE. |
|
|
136 | Andreas Kirschbaum 2006-02-19 |
|
|
137 | |
|
|
138 | random_maps/style.c: In find_style() fix access to uninitialized variable. |
|
|
139 | Andreas Kirschbaum 2006-02-19 |
|
|
140 | |
|
|
141 | Prevent crossedit from stripping out 'maplore' map header field. |
|
|
142 | --- |
|
|
143 | common/map.c: Add code to load/save/dump maplore information. |
|
|
144 | include/map.h: Add new maplore field to map struct. |
|
|
145 | Andreas Kirschbaum 2006-02-19 |
|
|
146 | |
|
|
147 | Apply patch #1433271 (code-cleanup) by Stefan Huehner: Add const and static. |
|
|
148 | --- |
|
|
149 | Affected files: common/{loader.l,los.c,map.c}, include/{libproto.h,sproto.h}, |
|
|
150 | plugins/cfanim/{cfanim.c,include/cfanim.h}, server/{apply.c,skill_util.c} |
|
|
151 | common/loader.c: Rebuilt. |
|
|
152 | Andreas Kirschbaum 2006-02-17 |
|
|
153 | |
|
|
154 | common/map.c: Modify ob_blocked() to properly handly objects with a 0 |
|
|
155 | ob->move_type. Fixes infinite loop from random map code when trying |
|
|
156 | to place exits. |
|
|
157 | MSW 2006-02-16 |
|
|
158 | |
|
|
159 | Commit forgotten file for yesterday, which have the CFAPI_INT16 define... |
|
|
160 | include/plugin.h |
|
|
161 | server/plugins.c |
|
|
162 | Ryo 2006-02-15 |
|
|
163 | |
|
|
164 | Minor bugfixes: |
|
|
165 | server/apply.c: Fix apply_transport ->contr checks to actually |
|
|
166 | check against correct values. |
|
|
167 | server/plugins.c: Replace CFAPI_INT16 with CFAPI_INT - there is no |
|
|
168 | declaration anyplace for CFAPI_INT16 so compiles fails. |
|
|
169 | server/swamp.c: Fix swamp code so that only objects that can be |
|
|
170 | picked up disappear - this way, transports don't disappear into |
|
|
171 | oblivion. |
|
|
172 | MSW 2006-02-15 |
|
|
173 | |
|
|
174 | Swamps don't affect DMs anymore. Also, swamps don't remove items with |
|
|
175 | FLAG_IS_FLOOR or FLAG_IS_OVERLAY_FLOOR. |
|
|
176 | server/swamp.c |
|
|
177 | ---- |
|
|
178 | Fixes to plugin system. Added "SINT16" as return type. |
|
|
179 | server/plugins.c: resistances are sint16, not int. |
|
|
180 | plugins/cfanim/include/cfanim_proto.h: fix cf_object_get_resistance declaration. |
|
|
181 | plugins/cfpython/cfpython_archetype.c: fix comparison function, which should return 0 or +-1. |
|
|
182 | plugins/cfpython/cfpython_map.c: fix comparison function. |
|
|
183 | plugins/cfpython/cfpython_object.c: fix broken GetResist, fix comparison function. |
|
|
184 | plugins/cfpython/cfpython_party.c: fix comparison function. |
|
|
185 | plugins/cfpython/cfpython_region.c: fix comparison function. |
|
|
186 | plugins/common/plugin_common.c: object resistances are sint16. |
|
|
187 | plugins/common/include/plugin_common.h: object resistances are sint16. |
|
|
188 | Ryo 2006-02-14 |
|
|
189 | |
|
|
190 | Apply modified patch #1428048 (make the log line buffered) by Marc Lehmann. |
|
|
191 | --- |
|
|
192 | common/init.c: In init_globals() switch the log file to line buffer mode. |
|
|
193 | Andreas Kirschbaum 2006-02-11 |
|
|
194 | |
|
|
195 | server/apply.c: In apply_scroll() do not identify the scroll if the player |
|
|
196 | lacks the literacy skill. |
|
|
197 | Andreas Kirschbaum 2006-02-10 |
|
|
198 | |
|
|
199 | Apply slightly modified patch #1428309 (code-cleanup: const, static) by |
|
|
200 | Stefan Huehner: add const/static to functions/variables. Remove some type |
|
|
201 | casts. |
|
|
202 | --- |
|
|
203 | Affected files: common/{arch.c,glue.c,image.c,init.c,readable.c,time.c}, |
|
|
204 | crossedit/stubs.c |
|
|
205 | include/{attack.h,libproto.h,object.h,sockproto.h,spells.h,sproto.h}, |
|
|
206 | random_maps/{door.c,rproto.h,standalone.c,style.c}, |
|
|
207 | server/{alchemy.c,apply.c,c_chat.c,c_misc.c,init.c,player.c,shop.c,spell_effect.c}, |
|
|
208 | socket/{info.c,loop.c,request.c} |
|
|
209 | Andreas Kirschbaum 2006-02-10 |
|
|
210 | |
|
|
211 | server/c_wiz.c: make dm stats command print Int and damage. Rearrange output |
|
|
212 | to match the stat ordering. |
|
|
213 | lib/wizhelp/stats: document the stats command |
|
|
214 | lib/Makefile.am lib/Makefile.in: install the new help file |
|
|
215 | Brendan Lally 2006-02-10 |
|
|
216 | |
|
|
217 | Apply modified patch by Marc Alexander Lehmann to fix get_rangevector |
|
|
218 | functions on tiled maps. |
|
|
219 | --- |
|
|
220 | server/map.c: Add helper function adjacent_map() to check if two maps are |
|
|
221 | adjacent. Modify get_rangevector(), get_rangevector_from_mapcoord(), and |
|
|
222 | on_same_map() to use this function. |
|
|
223 | Andreas Kirschbaum 2006-02-09 |
|
|
224 | |
|
|
225 | server/player.c: make a player's starting items be locked, so that they |
|
|
226 | can't accidentally drop and lose them without unlocking them first. |
|
|
227 | Brendan Lally 2006-02-09 |
|
|
228 | |
|
|
229 | Apply patch #1427979 (code-cleanup: add const, fix warnings) by Stefan |
|
|
230 | Huehner. |
|
|
231 | --- |
|
|
232 | common/{anim.c,button.c,exp.c,friend.c,image.c,item.c,living.c,los.c,map.c, |
|
|
233 | object.c,player.c,quest.c,readable.c,recipe.c,region.c,treasure.c,utils.c}, |
|
|
234 | include/libproto.h: Add "const" to pointer function parameters. |
|
|
235 | Andreas Kirschbaum 2006-02-09 |
|
|
236 | |
|
|
237 | Make create food spell work for all FOOD/DRINK objects. It used to fail for |
|
|
238 | objects where another object with the same name but type POISON does exist. |
|
|
239 | --- |
|
|
240 | common/arch.c: Add new function find_archetype_by_object_type_name() to find |
|
|
241 | an archetype by item type and item name. |
|
|
242 | include/libproto.h: Add new prototype. |
|
|
243 | server/spell_effect.c: In cast_create_food() only search for objects of type |
|
|
244 | FOOD or DRINK. |
|
|
245 | Andreas Kirschbaum 2006-02-09 |
|
|
246 | |
|
|
247 | Added a "insert_into" command for DMs, to easily put items in other items. |
|
|
248 | Modified filse: |
|
|
249 | include/sproto.h |
|
|
250 | server/c_wiz.c |
|
|
251 | server/commands.c |
|
|
252 | Ryo 2006-02-08 |
|
|
253 | |
|
|
254 | server/main.c: Modify enter_exit() to see if player is in a transport, |
|
|
255 | and if so, remove him. Can happen if player uses word of recall |
|
|
256 | while in a transport. |
|
|
257 | MSW 2006-02-07 |
|
|
258 | |
|
|
259 | Regional jails. |
|
|
260 | --- |
|
|
261 | common/region.c, include/libproto.h, map.h: parse jail entries, new function |
|
|
262 | get_jail_exit to return the exit to the local jail. |
|
|
263 | doc/Developers/regions: update |
|
|
264 | server/c_wiz.c, commands.c, include/sproto.h: add dm command, command_arrest |
|
|
265 | to jail players in the correct location. |
|
|
266 | lib/regions: add scorn and navar jails. |
|
|
267 | Brendan Lally 2006/02/08 |
|
|
268 | |
|
|
269 | Code that adds transports. Transports are described more in detail in |
|
|
270 | docs/Developers/objects. |
|
|
271 | --- |
|
|
272 | loader.l: Add new move type ('boat'). Update move_name field to be aware of |
|
|
273 | this type. |
|
|
274 | common/object.c: Unrelated to transport, but more apparant with transports - |
|
|
275 | fix bug with insert_ob_in_map() and multipart objects - we now only |
|
|
276 | try to fix up map and coordinates if the provided coordinates are |
|
|
277 | out of the map. Before, function would always use the passed |
|
|
278 | map for multipart objects, which is incorrect if we have already |
|
|
279 | set valid coordinates. |
|
|
280 | doc/Developers/objects: Update notes for TRANSPORTS. Update move |
|
|
281 | information to include MOVE_BOAT. |
|
|
282 | include/define.h: Add type TRANSPORT. Add MOVE_BOAT. |
|
|
283 | include/player.h: Add transport field to player structure. |
|
|
284 | include/sproto.h: rebuilt. |
|
|
285 | server/apply.c: Add code to handle applying of transports. Update |
|
|
286 | apply_below to apply transport if player is on one. |
|
|
287 | server/attack.c: Update hit_map() to look for transports, and hit any |
|
|
288 | players with the damage. |
|
|
289 | server/c_object.c: Update put_object_in_sack() to also handle TRANSPORTS |
|
|
290 | so that code can be re-used. |
|
|
291 | server/move.c: Fix handling of multipart objects in move_object() - |
|
|
292 | old code didn't work right with multipart objects moving along seams |
|
|
293 | of tiled maps. Add code to move_ob() to update player map position |
|
|
294 | for all players in a moving transport. |
|
|
295 | server/player.c: Update move_player_attack() too check of player is |
|
|
296 | in tranport, and use that for map and location information. Update |
|
|
297 | move_player() to handle speed related issues with transports. |
|
|
298 | server/time.c: Add code to credit time back to TRANSPORT objects since |
|
|
299 | we remove time in move_player() for TRANSPORTS. |
|
|
300 | socket/item.c: Add add_object_to_socklist() so that same code isn't |
|
|
301 | reproduced in 3 different places in the file. Update draw_look() |
|
|
302 | to handle transports - send transport object itself, then objects |
|
|
303 | in transport. Update esrv_send_inventory() and esrv_send_item() |
|
|
304 | to use add_object_to_socklist(). Update esrv_get_ob_from_count() to look |
|
|
305 | for objects in transport if player is in transport. |
|
|
306 | socket/loop.c: Remove checking of pl->map status, since draw_client_map() |
|
|
307 | does that, and we need to handle if the player is in a transport. |
|
|
308 | socket/request.c: Handle map drawing if player is in a transport. |
|
|
309 | MSW 2006-02-06 |
|
|
310 | |
|
|
311 | movement type changes. Add move_allow field to explicitly allow certain |
|
|
312 | movement types on spaces. Add suppport for using string names instead |
|
|
313 | of numeric values to specify the MOVE_ values. Add code so when saving |
|
|
314 | data out, use string names instead of numeric value. |
|
|
315 | --- |
|
|
316 | common/loader.l: Remove save_double(), as it isn't used by any code. |
|
|
317 | Add set_move() to set movement types from strings. |
|
|
318 | Add get_string_move_type, which takes integer movement type and |
|
|
319 | returns a string. Update load and save code to use these functions |
|
|
320 | respectively. |
|
|
321 | common/map.c: Change blocked_link() so that we only examine all the objects |
|
|
322 | on a space if there is something alive on the space or space is otherwise |
|
|
323 | blocked. There is no reason to examine all the objects on the space if |
|
|
324 | the object in question can move onto it. |
|
|
325 | Modify update_position() to use the move_allow field to clear bits |
|
|
326 | in the move_block field. |
|
|
327 | common/object.c: Add check in CAN_MERGE for move_allow. Add check for |
|
|
328 | move_allow in update_object to see if we should update the space or |
|
|
329 | not. |
|
|
330 | doc/Developers/objects: Update Movement code section to note use of using |
|
|
331 | strings to set movement types. Add note about move_allow. Section |
|
|
332 | about Transports added, but code isn't there yet. |
|
|
333 | include/object.h: Add move_allow to object structure. |
|
|
334 | MSW 2006-02-04 |
|
|
335 | |
|
|
336 | Fix attack messages containing random characters. |
|
|
337 | -- |
|
|
338 | server/attack.c: In attack_message() always initialize variables. |
|
|
339 | Andreas Kirschbaum 2006-02-03 |
|
|
340 | |
|
|
341 | server/c_misc.c: fix bug 1413239 Server crash with "who" command output |
|
|
342 | using null map names |
|
|
343 | Brendan Lally 2006-02-03 |
|
|
344 | |
|
|
345 | include/newserver.h, server/login.c, socket/init.c, socket/loop.c: |
|
|
346 | drop any connection that fails to login successfully after |
|
|
347 | MAX_PASSWORD_FAILURES attempts (defaults to 5) |
|
|
348 | doc/Developers/protocol: document properly the byte counts of item flags, |
|
|
349 | and include documentation of the itemcmd setup option. |
|
|
350 | Brendan Lally 2006-01-30 |
|
|
351 | |
|
|
352 | Custom commands-related fixes. |
|
|
353 | plugins/cfpython/cfpython.c: fix custom command handling. |
|
|
354 | server/plugins.c: try all plugins for custom commands. |
|
|
355 | ----- |
|
|
356 | Moved the global event 'LOGOUT' from when player actually disconnects to when |
|
|
357 | player logs out and is asked whether to play again or not. |
|
|
358 | Modified files: |
|
|
359 | server/apply.c main.c |
|
|
360 | Ryo 2006-01-15 |
|
|
361 | |
|
|
362 | socket/request.c: In ReplyCmd() make sure the reply does not cause a buffer |
|
|
363 | overflow. |
|
|
364 | Andreas Kirschbaum 2006-01-13 |
|
|
365 | |
|
|
366 | socket/request.c: add some better checks in addspell packet formation, fix a |
|
|
367 | crash bug. |
|
|
368 | Brendan Lally 2006-01-13 |
|
|
369 | |
|
|
370 | server/c_object.c: stop rename crashing if there is no name to rename to |
|
|
371 | when object is passed by number |
|
|
372 | -- |
|
|
373 | server/c_object.c: allow the rename command to take tag of the item to be |
|
|
374 | renamed, so that clients can form rename commands properly. |
|
|
375 | Brendan Lally 2006-01-11 |
|
|
376 | |
|
|
377 | server/c_range.c: allow spells cast by number to also have options passed to |
|
|
378 | them |
|
|
379 | Changelog: Commit the changelog entry for the last commit. |
|
|
380 | Brendan Lally 2006-01-10 |
|
|
381 | |
|
|
382 | Spell listing support: |
|
|
383 | allow 'spell_paths' to be sent to requestinfo, reply with number:path |
|
|
384 | change return type of SP_level_spellpoint_cost to sint16 |
|
|
385 | add spellmon as a setup value, if it is set; |
|
|
386 | send path attunement/repulsion/denial in stats |
|
|
387 | send data about spells in addspell packets |
|
|
388 | send updates to that data |
|
|
389 | Affected files: |
|
|
390 | common/living.c |
|
|
391 | crossedit/stubs.c |
|
|
392 | doc/Developers/protocol |
|
|
393 | include/funcpoint.h, newclient.h, newserver.h, player.h, sockproto.h, |
|
|
394 | sproto.h |
|
|
395 | random_maps/standalone.c |
|
|
396 | server/apply.c, login.c, spell_util.c, init.c, loop.c, request.c |
|
|
397 | -- |
|
|
398 | server/c_range.c: allow cast/invoke and prepare commands to take item tags |
|
|
399 | as well as spell names |
|
|
400 | Brendan Lally 2006-01-09 |
|
|
401 | |
|
|
402 | Apply modified patch #1396303 (add setting to disable stealing from players) |
|
|
403 | by Terry Brown. It adds a new option "no_player_stealing" to the settings |
|
|
404 | file. If set, it prevents players from stealing from other players. It |
|
|
405 | defaults to ON. |
|
|
406 | -- |
|
|
407 | doc/settings: Add documentation for new setting. |
|
|
408 | include/global.h: Add new field to settings structure. |
|
|
409 | lib/settings: Add new option no_player_stealing. |
|
|
410 | server/init.c: In load_settings() recognizes the new option. |
|
|
411 | server/skills.c: In attempt_steal() prevent stealing from PLAYER if option is |
|
|
412 | set. |
|
|
413 | Andreas Kirschbaum 2006-01-08 |
|
|
414 | |
|
|
415 | include/newserver.h, socket/{init.c,request.c}: Remove unused fields ext2 and |
|
|
416 | ext_title_flag from NewSocket structure. |
|
|
417 | server/skills.c: Fix/improve feedback messages for stealing skill. |
|
|
418 | plugins/cfpython/cfpython.c, server/plugins.c: Just whitespace changes to make |
|
|
419 | it conform to programming_guide. |
|
|
420 | plugins/cfpython/cfpython.c: Make sure context->options always is initialized. |
|
|
421 | server/main.c: Make code more readable; use snprintf where appropriate. |
|
|
422 | crossedit/Cnv/CnvPrompt.c: Make file compilable with Ansi C89 compiler. |
|
|
423 | Andreas Kirschbaum 2006-01-08 |
|
|
424 | |
|
|
425 | Global event Python scripts now are in subdirectories. This makes it easier to |
|
|
426 | distribute "Python packages". Modified file: |
|
|
427 | plugins/cfpython/cfpython.c |
|
|
428 | Ryo 2006-01-07 |
|
|
429 | |
|
|
430 | common/{item.c,treasure.c}, server/{apply.c,gods.c,spell_effect.c}: Use named |
|
|
431 | constants instead of numbers. |
|
|
432 | server/monster.c: Use correct field name in move_monster(). |
|
|
433 | Andreas Kirschbaum 2006-01-07 |
|
|
434 | |
|
|
435 | Summon pets less often to the owner on tiled maps. |
|
|
436 | -- |
|
|
437 | server/pets.c: In remove_all_pets() and pet_move() use on_same_map() to check |
|
|
438 | whether the pet is too far away. |
|
|
439 | Andreas Kirschbaum 2006-01-07 |
|
|
440 | |
|
|
441 | Change meaning of "items are on same map": for tiled maps now two objects are |
|
|
442 | also considered to be on the same map if they are on diagonally adjacent maps. |
|
|
443 | This solves the issue that a pet can be only one tile away from the owner but |
|
|
444 | still considered not to be on the same map. |
|
|
445 | -- |
|
|
446 | common/map.c: In on_same_map() also consider diagonally adjacent maps. |
|
|
447 | Andreas Kirschbaum 2006-01-07 |
|
|
448 | |
|
|
449 | Added regions support for plugins. Affected files: |
|
|
450 | include/plugin.h sproto.h |
|
|
451 | server/plugins.c |
|
|
452 | -- |
|
|
453 | Added regions to Python plugin. Affected files: |
|
|
454 | cfpython/include/cfpython.h cfpython_map_private.h |
|
|
455 | cfpython/cfpython.c cfpython_map.c cfpython_region.c Makefile.am Makefile.in |
|
|
456 | New files: |
|
|
457 | cfpython/include/cfpython_region.h cfpython_region_private.h |
|
|
458 | cfpython/cfpython_region.c |
|
|
459 | -- |
|
|
460 | In Python's Object, Archetype is now a property and not a method. Affected files: |
|
|
461 | cfpython/include/cfpython_object_private.h |
|
|
462 | cfpython/cfpython_object.c |
|
|
463 | -- |
|
|
464 | Cleaned obsolete include/plugproto.h. |
|
|
465 | Ryo 2006-01-07 |
|
|
466 | |
|
|
467 | Make teleporters hidden below the floor work again. |
|
|
468 | -- |
|
|
469 | server/time.c: In move_teleporter() use object above floor instead above |
|
|
470 | teleporter to operate one. |
|
|
471 | Andreas Kirschbaum 2006-01-07 |
|
|
472 | |
|
|
473 | Fix issues with map tiling. |
|
|
474 | -- |
|
|
475 | server/move.c: In move_ob() make sure inserting multi-part objects into tiled |
|
|
476 | maps work. |
|
|
477 | server/spell_attack.c: In cast_cone() insert spell effect at correct position |
|
|
478 | for tiled maps. |
|
|
479 | Andreas Kirschbaum 2006-01-07 |
|
|
480 | |
|
|
481 | common/map.c: Allow map tiling paths to be reletive. |
|
|
482 | server/main.c: Template maps: Impliment using fixed maps as templates, and |
|
|
483 | improve reletive path support for them. |
|
|
484 | Alex Schultz 2006-01-06 |
|
|
485 | |
|
|
486 | Make SIGNs (including Magic Mouths) trigger for DMs again. Does not reduce the |
|
|
487 | counter if in 'wizpass mode. |
|
|
488 | -- |
|
|
489 | server/apply.c: In apply_sign() ignore DMs. |
|
|
490 | Andreas Kirschbaum 2006-01-04 |
|
|
491 | |
|
|
492 | server/spell_effect.c: Apply patch 1394861 - fixes magic walls. In conjuction |
|
|
493 | with archetype changes, look at the spell object (and not created wall) |
|
|
494 | to see if it blocks. |
|
|
495 | server/c_chat.c: Apply patch 1389113 - orcknuckle messages appear in |
|
|
496 | same window. |
|
|
497 | MSW 2006-01-01 |
|
|
498 | |
|
|
499 | Prefer marked item when throwing objects. |
|
|
500 | -- |
|
|
501 | server/skills.c: In find_throw_ob() prefer marked item. |
|
|
502 | Andreas Kirschbaum 2006-01-01 |
|
|
503 | |
|
|
504 | Make EXITs affect DM players again. |
|
|
505 | -- |
|
|
506 | common/object.c: In check_move_on() ignore only slow movement penalties for |
|
|
507 | DMs. |
|
|
508 | server/apply.c: In move_apply() ignore anything but EXITs for DM players. |
|
|
509 | Andreas Kirschbaum 2006-01-01 |
|
|
510 | |
|
|
511 | Make forked lightning correctly traverse tiled maps. |
|
|
512 | -- |
|
|
513 | server/spell_attack.c: In forklightning() insert forked part into correct map. |
|
|
514 | Andreas Kirschbaum 2006-01-01 |
|
|
515 | |
|
|
516 | Properly unready forgotten spells. Prevents crashing the server if casting a |
|
|
517 | forgotten spell. |
|
|
518 | -- |
|
|
519 | include/sproto.h: Add new prototype. |
|
|
520 | server/{apply.c,gods.c}: Call player_remove_range_ob() when forgetting a |
|
|
521 | spell. |
|
|
522 | server/player.c: Add player_remove_range_ob() to unready a given object. |
|
|
523 | Andreas Kirschbaum 2006-01-01 |
|
|
524 | |
|
|
525 | Improve the commands learn_spell and forget_spell: now these commands accept |
|
|
526 | partial spell names and print sensible error messages if they fail. |
|
|
527 | -- |
|
|
528 | include/sproto.h: Remove prototype for now static function. |
|
|
529 | lib/wizhelp/{forget_spell,learn_special_prayer,learn_spell}: Update help files. |
|
|
530 | server/c_wiz.c: Add parameter op to get_spell_by_name() for printing error |
|
|
531 | messages to op. Allow partial matches for spell name. In |
|
|
532 | command_learn_spell_or_prayer() and command_forget_spell() report an error |
|
|
533 | to the player instead of an error message to the server log file. |
|
|
534 | Andreas Kirschbaum 2006-01-01 |
|
|
535 | |
|
|
536 | Fix reference-related crashes. |
|
|
537 | plugins/cfpython/cfpython.c |
|
|
538 | Ryo 2006-01-01 |
|
|
539 | |
|
|
540 | Apply modified patch #1391648 (FIX: new movement code and generators) by Lalo |
|
|
541 | Martins. This fixes bugs #1383398, #1383392, #1375643, #1372035, #1370409; all |
|
|
542 | bugs are related to objects stacking which should not stack. |
|
|
543 | -- |
|
|
544 | common/map.c: In ob_blocked() consider tiles with living objects as blocked. |
|
|
545 | Andreas Kirschbaum 2005-12-31 |
|
|
546 | |
|
|
547 | Don't print "file not found" for global events. |
|
|
548 | plugins/cfpython/cfpython.c |
|
|
549 | Ryo 2005-12-31 |
|
|
550 | |
|
|
551 | Changed the way Python scripts are called. Now script don't share variables anymore. |
|
|
552 | Fix a memory leak. |
|
|
553 | plugins/cfpython/cfpython.c |
|
|
554 | Ryo 2005-12-28 |
|
|
555 | |
|
|
556 | Applied patch #1383359 (Fix death message) courtesy Anton Oussik |
|
|
557 | ( https://sourceforge.net/tracker/index.php?func=detail&aid=1383359&group_id=13833&atid=313833 ) |
|
|
558 | server/attack.c |
|
|
559 | Ryo 2005-12-27 |
|
|
560 | |
|
|
561 | server/skills.c: In steal() do not give exp for stealing from pets since this |
|
|
562 | can be exploited to gain exp over and over. |
|
|
563 | Andreas Kirschbaum 2005-12-23 |
|
|
564 | |
|
|
565 | server/c_party.c: fix crash with party obsolescence (->next on freed item). Added |
|
|
566 | get_firstparty() to get firstparty private var needed for plugin. |
|
|
567 | |
|
|
568 | ------- |
|
|
569 | Added party information to plugin functions. Plugins can change player's party |
|
|
570 | or marked item. |
|
|
571 | New files: |
|
|
572 | plugins/cfpython/include/cfpython_party.h cfpython_party_private.h |
|
|
573 | plugins/cfpython/cfpython_party.c |
|
|
574 | Modified files: |
|
|
575 | include/sproto.h: add new functions prototypes. |
|
|
576 | include/plugin.h: party-related defines |
|
|
577 | plugins/common/include/plugin_common.h: new party functions. |
|
|
578 | plugins/common/plugin_common.c: new party functions. |
|
|
579 | plugins/cfpython/include/cfpython.h: add new include. |
|
|
580 | plugins/cfpython/include/cfpython_object_private.h: marked item/party getter/setter. |
|
|
581 | plugins/cfpython/cfpython.c: add GetParties to Crossfire module. |
|
|
582 | plugins/cfpython/cfpython_object.c: MarkedItem setter, Party getter/setter. |
|
|
583 | server/plugins.c: new callbacks for party, marked item setter. |
|
|
584 | Ryo 2005-12-17 |
|
|
585 | |
|
|
586 | server/attack.c: Make spells destroy objects again. |
|
|
587 | Andreas Kirschbaum 2005-12-15 |
|
|
588 | |
|
|
589 | Moved natural dragon skin resistances from "statistics" to "resistances". |
|
|
590 | server/c_misc.c |
|
|
591 | Ryo 2005-12-13 |
|
|
592 | |
|
|
593 | Fix Windows compilation after Andreas's changes. |
|
|
594 | include/win32.h: define WIFEXITED and WEXITSTATUS. |
|
|
595 | Ryo 2005-12-11 |
|
|
596 | |
|
|
597 | Fix buffer overflows which can be triggered remotely. |
|
|
598 | -- |
|
|
599 | common/porting.c: Re-implement open_and_uncompress(). The new implementation |
|
|
600 | should not contain any buffer overflows anymore. It also fixes possible |
|
|
601 | exploits due to funny characters in file names. |
|
|
602 | plugins/cfpython/cfpython.c: Use snprintf() to truncate long strings. |
|
|
603 | server/login.c: Reject invalid user names. |
|
|
604 | socket/loop.c: Make overflow detection work while reading from socket. |
|
|
605 | Properly re-allocate memory for listen command. Fix buffer overflow for too |
|
|
606 | long command names. |
|
|
607 | Andreas Kirschbaum 2005-12-11 |
|
|
608 | |
|
|
609 | lib/collect.pl.in: General cleanup - just whitespace changes. |
|
|
610 | Andreas Kirschbaum 2005-12-11 |
|
|
611 | |
|
|
612 | Prevent the map loader from crashing when loading maps with incorrect headers. |
|
|
613 | Changes are based on patch #1275563 by Kevin Rudat. |
|
|
614 | -- |
|
|
615 | common/map.c: Do not dereference NULL value for map headers without parameter. |
|
|
616 | Andreas Kirschbaum 2005-12-11 |
|
|
617 | |
|
|
618 | Apply modified second part of patch #1275563 (Crossedit: fix map attributes |
|
|
619 | window) by Kevin Rudat: let crossedit save/load tiling paths as the mapmaker |
|
|
620 | entered them, rather than saving the normalized version. |
|
|
621 | -- |
|
|
622 | common/map.c: Delay path normalization from map loading time |
|
|
623 | (load_map_header()) to access time (load_and_link_tiled_map()) if running |
|
|
624 | as editor. |
|
|
625 | Andreas Kirschbaum 2005-12-11 |
|
|
626 | |
|
|
627 | server/move.c: In move_ob() print error message instead of crashing: check |
|
|
628 | passed arguments before accessing them. |
|
|
629 | common/object.c, server/{pets.c,player.c,spell_attack.c,time.c}, |
|
|
630 | socket/request.c: Properly check for P_OUT_OF_MAP after calling |
|
|
631 | get_map_flags(). |
|
|
632 | Andreas Kirschbaum 2005-12-10 |
|
|
633 | |
|
|
634 | common/path.c: add missing global.h include. |
|
|
635 | make_win32/crossfire32.dsp: add path.c and some headers. |
|
|
636 | Ryo 2005-12-09 |
|
|
637 | |
|
|
638 | Apply slightly modified first part of patch #1275563 (Crossedit: fix map |
|
|
639 | attributes window) by Kevin Rudat: make the map attributes dialogs work again. |
|
|
640 | -- |
|
|
641 | crossedit/Attr.c: Remove code to handle map attributes dialogs. |
|
|
642 | crossedit/Crossedit.ad, crossedit/Crossedit.ad.h: Update X11 resources. |
|
|
643 | crossedit/Defines.h: Add typedef for MapAttr. |
|
|
644 | crossedit/{Edit.c,Edit.h}: Remove/update code to handle map attributes |
|
|
645 | dialogs. |
|
|
646 | crossedit/Makefile.am: Add new files MapAttr.c and MapAttr.h. |
|
|
647 | crossedit/Makefile.in: Rebuilt. |
|
|
648 | crossedit/{MapAttr.c,MapAttr.h}: New functions containing code to handle the |
|
|
649 | main map attributes dialog. |
|
|
650 | crossedit/Cnv/CnvPrompt.c: Convert CnvPromptStr into char array. |
|
|
651 | Andreas Kirschbaum 2005-12-09 |
|
|
652 | |
|
|
653 | Remove a strange feature of normalize_path(): it did convert the path |
|
|
654 | "<path1>//<path2>" into "/<path2>". Also add a stand-alone application for |
|
|
655 | regression testing this function, and fix a few issues with ".." in path name. |
|
|
656 | -- |
|
|
657 | common/path.c: New file containing the modified implementation and the |
|
|
658 | stand-alone application. |
|
|
659 | include/path.h: Prototypes for path.c. |
|
|
660 | server/main.c: Remove implementation; call renamed function. |
|
|
661 | common/Makefile.am, include/Makefile.am: Add new files. |
|
|
662 | common/Makefile.in, include/Makefile.in: Rebuilt. |
|
|
663 | Andreas Kirschbaum 2005-12-08 |
|
|
664 | |
|
|
665 | server/ban.c: General cleanup - whitespace changes, rename variable names. |
|
|
666 | Should not affect function. |
|
|
667 | server/apply.c: In player_apply() do not consider DM PLAYERs to be DM-created |
|
|
668 | items. This prevents the server from destroying the player object (and |
|
|
669 | crashing shortly afterwards). |
|
|
670 | Andreas Kirschbaum 2005-12-07 |
|
|
671 | |
|
|
672 | Apply slightly modified patch #1293744 (Inversed ban entries) by Thomas |
|
|
673 | Equeter. |
|
|
674 | -- |
|
|
675 | server/ban.c: In checkbanned() recognize '~' prefix to allow entries. Also fix |
|
|
676 | possible buffer overflow. |
|
|
677 | Andreas Kirschbaum 2005-12-07 |
|
|
678 | |
|
|
679 | Apply modified patch #1293774 (Kick banned hosts at once) by Thomas Equeter: |
|
|
680 | disconnect new connection for banned host right after connecting. Also add |
|
|
681 | support for user name in ban files. |
|
|
682 | -- |
|
|
683 | lib/ban_file: Update comments and examples to new syntax. |
|
|
684 | server/ban.c: Allow a NULL user name to check for host name only. |
|
|
685 | server/c_misc.c: In receive_player_password() check for banned user name. |
|
|
686 | server/player.c: In add_player() remove check for banned host - this was |
|
|
687 | already done if we reach this state. |
|
|
688 | socket/init.c, include/sockproto.h: Pass ip address as a string. |
|
|
689 | socket/loop.c: In doeric_server() check for banned host after a new connection |
|
|
690 | was accepted. |
|
|
691 | Andreas Kirschbaum 2005-12-07 |
|
|
692 | |
|
|
693 | Apply patch #1371956 (code cleanup patch) by Stefan Huehner: fix old-style |
|
|
694 | function declarations and prototypes to proper Ansi C syntax. This patch |
|
|
695 | allows the compiler to check function arguments and also removes some warnings |
|
|
696 | when compiling with -Wstrict-prototypes. |
|
|
697 | -- |
|
|
698 | All affected files: Convert "void foo()" into "void foo(void)". |
|
|
699 | Andreas Kirschbaum 2005-12-06 |
|
|
700 | |
|
|
701 | Fix bug #1173563 (Creator created Bombs malfunction): Creators and Converters |
|
|
702 | now copy items from inventory. Fallback (for empty inventory) is the old |
|
|
703 | behavior to create the new item from other_arch. If the inventory contains more |
|
|
704 | than one item, a random one is picked. |
|
|
705 | -- |
|
|
706 | common/loader.l: Mark inventory of CREATOR and CONVERTER as |
|
|
707 | FLAG_CONTENT_ON_GEN. |
|
|
708 | common/loader.c: Rebuilt. |
|
|
709 | common/object.c: Update x/y/map for non-head parts to make inserting multipart |
|
|
710 | objects via insert_ob_in_ob_at() work. |
|
|
711 | server/apply.c: In convert_item() consider inventory for item to create. |
|
|
712 | server/time.c: In move_creator() consider inventory for item to create. In |
|
|
713 | process_object() ignore item flagged as FLAG_IS_A_TEMPLATE. (Otherwise |
|
|
714 | bombs in inventories would explode prematurely.) |
|
|
715 | Andreas Kirschbaum 2005-12-05 |
|
|
716 | |
|
|
717 | New plugin property for player: marked item, added Python wrapper. |
|
|
718 | Modified files: |
|
|
719 | include/plugin.h |
|
|
720 | plugins/cfpython/cfpython_object.c |
|
|
721 | plugins/cfpython/include/cfpython_object_private.h |
|
|
722 | plugins/common/include/plugin_common.h |
|
|
723 | plugins/common/plugin_common.c |
|
|
724 | server/plugins.c |
|
|
725 | |
|
|
726 | plugins/cfpython/cfpython.c: fix invalid reference management. Don't return NULL but Py_None. |
|
|
727 | Ryo 2005-12-04 |
|
|
728 | |
|
|
729 | Fix bug #1372194 (stairways now block movement). |
|
|
730 | -- |
|
|
731 | random_maps/exit.c: In unblock_exits() check correct field move_block to find |
|
|
732 | blocking exits. |
|
|
733 | Andreas Kirschbaum 2005-12-03 |
|
|
734 | |
|
|
735 | server/apply.c: In move_apply() properly decrement recursion counter. |
|
|
736 | Andreas Kirschbaum 2005-12-02 |
|
|
737 | |
|
|
738 | server/spell_attack.c: Add some missing P_IS_ALIVE checks - these weren't |
|
|
739 | needed in the past because living objects would block movement - |
|
|
740 | with new movement code, isn't always the case. |
|
|
741 | server/time.c: Fix player movers so that if the victim doesn't have any |
|
|
742 | movement type, we move it. |
|
|
743 | MSW 2005-11-30 |
|
|
744 | |
|
|
745 | common/time.c: In move_teleporter() and move_player_mover() do not affect DMs |
|
|
746 | if FLAG_WIZPASS is set. |
|
|
747 | common/object.c: In check_move_on() do not affect DMs if FLAG_WIZPASS is set. |
|
|
748 | This prevents DMs from triggering traps when walking over them. |
|
|
749 | Andreas Kirschbaum 2005-11-30 |
|
|
750 | |
|
|
751 | common/map.c: Replace code with OB_TYPE_MOVE_BLOCK - effectively same as what |
|
|
752 | it was. |
|
|
753 | include/define.h: Update OB_TYPE_MOVE_BLOCK so that spaces that don't block |
|
|
754 | any type of movement doesn't block objects that also don't have movement. |
|
|
755 | This fixes cases of gates not pushing objects off them. |
|
|
756 | server/c_party.c: Remove double use of ->next pointer/loop in |
|
|
757 | confirm_party_password() - fixes crash and likely makes setting party |
|
|
758 | password work more reliably. |
|
|
759 | MSW 2005-11-29 |
|
|
760 | |
|
|
761 | common/object.c: Fix wrong comparision operator in free_object2() to make |
|
|
762 | monsters drop loot again. |
|
|
763 | Andreas Kirschbaum 2005-11-28 |
|
|
764 | |
|
|
765 | Basically added a parameter to 'skills' command to filter skills. And one char/const char* fix. |
|
|
766 | common/anim.c: use const char* for find_animation. |
|
|
767 | include/libproto.h: find_animation uses a const char*. |
|
|
768 | include/sproto.h: fix prototype. |
|
|
769 | server/c_wiz.c: send parameter to show_skills. |
|
|
770 | server/skill_util.c: add search parameter to show_skills command. |
|
|
771 | Ryo 2005-11-27 |
|
|
772 | |
|
|
773 | plugins/cfpython/cfpython_map.c: use wrappers instead of direct property access. |
|
|
774 | plugins/common/include/plugin_common.h: new wrappers for maps. |
|
|
775 | plugins/common/plugin_common.c: new wrappers for maps. |
|
|
776 | Ryo 2005-11-26 |
|
|
777 | |
|
|
778 | plugins/cfpython/Makefile.in: rebuilt. |
|
|
779 | Andreas Kirschbaum 2005-11-23 |
|
|
780 | |
|
|
781 | Plugins can now get archetypes. Added a check in cfapi_object_set_property to |
|
|
782 | prevent changing archtypes. |
|
|
783 | Fixed some Python bugs related to map properties. |
|
|
784 | Added Crossfire.GetArchetypes and Crossfire.GetMaps to get all archetypes/maps. |
|
|
785 | Modified files: |
|
|
786 | include/plugin.h sproto.h |
|
|
787 | plugins/cfpython/include: cfpython.h cfpython_map_private.h cfpython_object_private.h |
|
|
788 | plugins/cfpython/cfpython.c cfpython_map.c cfpython_object.c |
|
|
789 | server/plugins.c |
|
|
790 | New files: |
|
|
791 | plugins/cfpython/include/cfpython_archetype.h cfpython_archetype_private.h |
|
|
792 | plugins/cfpython/cfpython_archetype.c |
|
|
793 | Ryo 2005-11-20 |
|
|
794 | |
|
|
795 | server/shop.c: adjust minimum value that shop_specialisation_ratio can |
|
|
796 | return to 0.1. This should stop some prices being exceptionally high. |
|
|
797 | Brendan Lally 2005-11-19 |
|
|
798 | |
|
|
799 | Commit for new blocking code. Not going to dictate all the changes - |
|
|
800 | but will outline the broad points. Note also that the |
|
|
801 | doc/Developers/objects is updated and goes into more details also. |
|
|
802 | - check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK |
|
|
803 | and check against movement type of objects. |
|
|
804 | - arch_blocked() changed to ob_blocked(), now takes object. Needed because |
|
|
805 | just looking at archetype move_ values is no longer sufficient. |
|
|
806 | - find_first_free_spot() changed to take object, since it just calls |
|
|
807 | arch_blocked() |
|
|
808 | - FLAG_FLYING removed, now in move type. |
|
|
809 | - walk_on/walk_off/fly_on/fly_off removed - now based on move_on and |
|
|
810 | move_off fields. |
|
|
811 | - Map space structure extended to hold the move_on/move_off, etc |
|
|
812 | values so that we can shortcut some processing by not having to |
|
|
813 | check every object on the space when something enters it if |
|
|
814 | move_on isn't set. |
|
|
815 | - archetypes recollected - boulders needed move_walk to properly trigger |
|
|
816 | buttons. |
|
|
817 | - Note that the new plugin code has to be fixed up for the new movement |
|
|
818 | code. Look for FIXME in plugins/cfpython/cfpython_object.c |
|
|
819 | MSW 2005-11-15 |
|
|
820 | |
|
|
821 | Apply patch 1352485 newpickup rings/amulets courtesy anonymous user. |
|
|
822 | include/define.h: add PU_JEWELS |
|
|
823 | server/c_object.c: handle new type. |
|
|
824 | server/player.c: handle new type. |
|
|
825 | Ryo 2005-11-12 |
|
|
826 | |
|
|
827 | server/plugins.c: Properly update client view after removing objects. |
|
|
828 | Andreas Kirschbaum 2005-11-10 |
|
|
829 | |
|
|
830 | server/plugins.c: Properly update client view after changing object names. |
|
|
831 | server/plugins.c: Return an empty string if an object has no message. This |
|
|
832 | makes Object.Message() always return a string object, which removes the |
|
|
833 | need for special case code to handle empty messages. |
|
|
834 | include/sproto.h, server/monster.c: Declare parameter of communicate() as |
|
|
835 | "const". |
|
|
836 | Andreas Kirschbaum 2005-11-09 |
|
|
837 | |
|
|
838 | Implement new functions for the Python plugin: Object.WeightLimit, |
|
|
839 | Object.InsertInto(Object), Object.NamePl. Change Object.Name to set both name |
|
|
840 | and name_pl. This should prevents scripts from failing to set name_pl. |
|
|
841 | -- |
|
|
842 | plugins/cfanim/include/cfanim_proto.h, plugins/common/include/plugin_common.h: |
|
|
843 | Add prototypes. |
|
|
844 | plugins/cfpython/cfpython_object.c: Add callback functions for new Python |
|
|
845 | functions. |
|
|
846 | plugins/cfpython/include/cfpython_object_private.h: Add prototypes for |
|
|
847 | callback functions. Add callback functions to Python object descriptors. |
|
|
848 | plugins/common/plugin_common.c: Add missing helper functions. |
|
|
849 | Andreas Kirschbaum 2005-11-09 |
|
|
850 | |
|
|
851 | server/shop.c: When we are counting unpaid items and their values, to check |
|
|
852 | if a player may leave a shop, make certain that we count all of them, and |
|
|
853 | don't stop when we have dropped into a container (such as a spellbook) |
|
|
854 | Brendan Lally 2005-11-09 |
|
|
855 | |
|
|
856 | plugins/cfpython/cfpython.c: Add missing 'PyType_Ready' calls for map and player, |
|
|
857 | failure to do so crashes with Python objects destructors set to 0. |
|
|
858 | Ryo 2005-11-07 |
|
|
859 | |
|
|
860 | server/spell_effect.c: fix WoR not executing on cursed ground with WIZCAST set. |
|
|
861 | Ryo 2005-11-06 |
|
|
862 | |
|
|
863 | server/skills.c: In do_throw() abort processing if the thrown object was |
|
|
864 | destroyed before it gets its first move. |
|
|
865 | Andreas Kirschbaum 2005-11-06 |
|
|
866 | |
|
|
867 | server/build_map.c: test FLAG_IS_FLOOR too, type == FLOOR is not always enough. |
|
|
868 | Ryo 2005-11-05 |
|
|
869 | |
|
|
870 | server/shop.c: In value_limit() return the unmodified item price if not in a |
|
|
871 | shop or not for a player. |
|
|
872 | Andreas Kirschbaum 2005-11-05 |
|
|
873 | |
|
|
874 | plugins/cfpython/cfpython.c: added GetPrivateDictionary and GetSharedDictionary |
|
|
875 | methods to keep data between runs and share data between scripts. |
|
|
876 | Ryo 2005-11-05 |
|
|
877 | |
|
|
878 | plugins/Makefile,plugins/cfanim/Makefile: Remove files to be generated by |
|
|
879 | configure. |
|
|
880 | server/main.c: Fix possible out-of-bounds array access. |
|
|
881 | Andreas Kirschbaum 2005-11-05 |
|
|
882 | |
|
|
883 | Fix case for [sg]etReturnValue. Add compare operator for object and map (of course |
|
|
884 | only == is relevant). |
|
|
885 | Modified files: |
|
|
886 | plugins/cfpython/include/cfpython_map_private.h |
|
|
887 | plugins/cfpython/include/cfpython_object_private.h |
|
|
888 | plugins/cfpython/cfpython.c |
|
|
889 | plugins/cfpython/cfpython_map.c |
|
|
890 | plugins/cfpython/cfpython_object.c |
|
|
891 | Ryo 2005-11-05 |
|
|
892 | |
|
|
893 | aclocal.m4, configure, utils/config.guess, utils/config.sub, utils/ltmain.sh, |
|
|
894 | *Makefile.in, plugins/cfanim/Makefile, plugins/Makefile: Rebuilt. |
|
|
895 | lib/Makefile.am: Add template-maps to list of directories to create while |
|
|
896 | install. |
|
|
897 | Andreas Kirschbaum 2005-11-05 |
|
|
898 | |
|
|
899 | lib/wizhelp/reset: document use of '.' as an argument |
|
|
900 | Brendan Lally 2005-11-05 |
|
|
901 | |
|
|
902 | random_maps/treasure.c: Fix out-of-bounds array access if place_chest() cannot |
|
|
903 | find a free spot to place a new chest. |
|
|
904 | Andreas Kirschbaum 2005-11-01 |
|
|
905 | |
|
|
906 | Fix bug #1082534 (monks with weapons): Now monks properly are denied from |
|
|
907 | using weapons. Only newly created monks are affected since it now relies on a |
|
|
908 | force named "no weapon force" in the player's inventory. The problem was that |
|
|
909 | become_follower() assumed it was the only means do allow/disallow weapon use. |
|
|
910 | -- |
|
|
911 | server/gods.c: Do not let the god allow using weapons if a "no weapon force" |
|
|
912 | object is present in the player's inventory. |
|
|
913 | lib/treasures: add force to monk's treasure list. |
|
|
914 | Andreas Kirschbaum 2005-11-01 |
|
|
915 | |
|
|
916 | Fix bug #815620 (CFPython.SetQuantity() doesn't update client): now notifies |
|
|
917 | the client after changing nrof and/or weight. |
|
|
918 | -- |
|
|
919 | server/plugins.c: Re-calculate player's weight and send item change |
|
|
920 | notifications in cfapi_object_set_property(). |
|
|
921 | Andreas Kirschbaum 2005-11-01 |
|
|
922 | |
|
|
923 | Improve newpickup command: add new flag PU_NOT_CURSED to ignore cursed items. |
|
|
924 | -- |
|
|
925 | include/define.h: Add flag #define. |
|
|
926 | server/c_object.c: Add "notcursed" option to pickup command. |
|
|
927 | server/player.c: Respect new flag in check_pickup(). |
|
|
928 | Andreas Kirschbaum 2005-11-01 |
|
|
929 | |
|
|
930 | plugins/cfanim/cfanim.c: remove printf for properties. Export functions for DLL |
|
|
931 | for Win32. |
|
|
932 | plugins/cfanim/cfanim.h: remove obsolete definitions (see plugin_common.h). |
|
|
933 | plugins/cfanim/cfanim_proto.h: fix definition for exported functions. |
|
|
934 | plugins/common/plugin_common.c: add gettimeofday for Win32. |
|
|
935 | plugins/common/include/plugin_common.h: add gettimeofday for Win32. |
|
|
936 | Ryo 2005-11-01 |
|
|
937 | |
|
|
938 | server/plugins.c: Print error message for event_xxx objects with missing or |
|
|
939 | invalid parameters. Also remove the affected object to prevent multiple |
|
|
940 | error messages. |
|
|
941 | Andreas Kirschbaum 2005-11-01 |
|
|
942 | |
|
|
943 | Add new function object_get_env_recursive() to find the outermost environment |
|
|
944 | object for a given object. |
|
|
945 | -- |
|
|
946 | common/object.c, include/libproto.h: Add function. |
|
|
947 | server/{rune.c,spell_attack.c}: Use function where appropriate. |
|
|
948 | Andreas Kirschbaum 2005-11-01 |
|
|
949 | |
|
|
950 | General cleanup of weather code. |
|
|
951 | -- |
|
|
952 | server/weather: Declare many functions and variables as "static", add |
|
|
953 | prototypes for affected functions. Declare some variables as "const". |
|
|
954 | include/sproto.h: Remove prototypes for now static functions. |
|
|
955 | include/tod.h: Add "const" to strings. |
|
|
956 | Andreas Kirschbaum 2005-11-01 |
|
|
957 | |
|
|
958 | Fix bug #1102975 (Bronze items not keeping their + in alchemy): the problem |
|
|
959 | was that a formula for full_helmet did exist but not for b_full_helmet. Since |
|
|
960 | both helmet's names are "full helmet", the recipe was selected even if using |
|
|
961 | the ingredient b_full_helmet. This fix adds new formulae for alternative |
|
|
962 | archetypes with the same name as the base object, and makes the server code |
|
|
963 | select the matching formula from multiple arch names in the "arch" field. |
|
|
964 | -- |
|
|
965 | common/readable.c: Use new fields to build messages. |
|
|
966 | common/recipe.c: Make alchemy work for recipes with multiple base archetypes. |
|
|
967 | include/{libproto.h,sproto.h}: Update prototype. |
|
|
968 | include/recipe.h: Split string field arch_name into string list fields |
|
|
969 | arch_name and arch_names. |
|
|
970 | lib/formulae: Add archetype names to formulae for all items with same name as |
|
|
971 | the base object. Also fix a few name mismatches that prevent any object |
|
|
972 | from matching, and change transmution formulae to normal formulae where |
|
|
973 | base name does not match archetype name. |
|
|
974 | server/alchemy.c: Disable debugging code. Make alchemy work for recipes with |
|
|
975 | multiple base archetypes. |
|
|
976 | Andreas Kirschbaum 2005-10-31 |
|
|
977 | |
|
|
978 | server/c_wiz.c: Don't crash on "create" a living thing that has some part |
|
|
979 | out of the map. Forbid removing a 'PLAYER' object. |
|
|
980 | Ryo 2005-10-31 |
|
|
981 | |
|
|
982 | random_maps/style.c: Pass correct sorting function to qsort(): the sorted |
|
|
983 | array contains pointers to strings, not strings. |
|
|
984 | Andreas Kirschbaum 2005-10-29 |
|
|
985 | |
|
|
986 | Fix bug #1236244 (Exp from scrolls): reading a scroll of charm monsters or |
|
|
987 | meteor swarm now gives exp for use magic item, not summoning or pyromancy. |
|
|
988 | -- |
|
|
989 | server/spell_attack.c: In mood_change() use skill from scroll, not from spell. |
|
|
990 | In move_swarm_spell() use the spell "owner" as the object casting the |
|
|
991 | spell. |
|
|
992 | Andreas Kirschbaum 2005-10-29 |
|
|
993 | |
|
|
994 | include/config.h: DEBUG just been defined, no need to define it again. |
|
|
995 | include/win32.h: typedef for socklen_t. |
|
|
996 | random_maps/random_map.c: generate_random_map can use a const char*. |
|
|
997 | random_maps/rproto.h: fix generate_random_map definition. |
|
|
998 | server/plugins.c: EVENT_CRASH doesn't really need a parameter, especially if |
|
|
999 | not initialized :) |
|
|
1000 | Ryo 2005-10-29 |
|
|
1001 | |
|
|
1002 | |
|
|
1003 | Prevent problems (crashes) for large item piles. Now limit nrof to less than |
|
|
1004 | 2^31. |
|
|
1005 | -- |
|
|
1006 | common/object.c: In CAN_MERGE() pretend that the objects are not mergeable if |
|
|
1007 | the nrof sum would overflow. |
|
|
1008 | common/porting.c: Fix buffer overflow for large numbers in ltostr10(). Also |
|
|
1009 | make n=1L<<31 work correctly. |
|
|
1010 | plugins/cfpython/cfpython_object.c: In Object_SetQuantity() raise an exception |
|
|
1011 | for negative nrof values. |
|
|
1012 | plugins/common/plugin_common.c: Reject negative nrof values in |
|
|
1013 | cf_object_set_nrof(). |
|
|
1014 | plugins/cfanim/include/cfanim_proto.h, plugins/common/include/plugin_common.h: |
|
|
1015 | Update prototype. |
|
|
1016 | server/plugins.c: Treat negative nrof as nrof=0 when setting |
|
|
1017 | CFAPI_OBJECT_PROP_NROF property. |
|
|
1018 | server/time.c: In move_duplicator() limit nrof of created items. |
|
|
1019 | Andreas Kirschbaum 2005-10-29 |
|
|
1020 | |
|
|
1021 | Fix compiler warnings. Most changes do not change the program (remove unused |
|
|
1022 | variables, convert "if(x = y)" into "x = y; if(x)"); a few actually fix |
|
|
1023 | (possible) problems (fix uninitialized variables, fix printf format |
|
|
1024 | specifiers, fix mismatches between signed and unsigned variables, add missing |
|
|
1025 | return and default statements). |
|
|
1026 | -- |
|
|
1027 | Affected files: |
|
|
1028 | common/{arch.c,init.c,item.c,map.c,object.c,re-cmp.c,readable.c,region.c, |
|
|
1029 | shstr.c}, crossedit/{Attr.c,Edit.c,Cnv/CnvPath.c}, include/sproto.h, |
|
|
1030 | plugins/cfanim/cfanim.c, plugins/cfpython/{cfpython.c,cfpython_object.c}, |
|
|
1031 | plugins/cfpython/include/{cfpython_map_private.h,cfpython_object_private.h}, |
|
|
1032 | random_maps/{rogue_layout.c,special.c,square_spiral.c}, |
|
|
1033 | server/{apply.c,attack.c,build_map.c,c_misc.c,c_object.c,c_party.c,init.c, |
|
|
1034 | main.c,monster.c,pets.c,player.c,plugins.c,shop.c,skill_util.c,spell_util.c, |
|
|
1035 | weather.c}, socket/{loop.c,request.c} |
|
|
1036 | Andreas Kirschbaum 2005-10-28 |
|
|
1037 | |
|
|
1038 | Fixes my previous commit. Should now properly allocate/deallocate the |
|
|
1039 | faces_sent array. |
|
|
1040 | -- |
|
|
1041 | common/player.c: Free faces_sent in free_player(). |
|
|
1042 | include/newserver.h: Add field faces_sent_len to NewSocket struct. |
|
|
1043 | server/player.c: Allocate and copy faces_sent in add_player(). |
|
|
1044 | socket/init.c: Use faces_sent_len in InitConnection(). |
|
|
1045 | socket/loop.c: Initialize faces_sent_len in doeric_server(). |
|
|
1046 | Andreas Kirschbaum 2005-10-28 |
|
|
1047 | |
|
|
1048 | The archetypes now contain more than MAXFACENUM (5000) faces. The following |
|
|
1049 | changes remove the fixed limit of the number of faces. The server now |
|
|
1050 | allocates enough memory to handle all defined faces. |
|
|
1051 | include/newserver.h: Remove MAXFACENUM since it is not used anymore. Change |
|
|
1052 | NewSocket.faces_sent from array into pointer. |
|
|
1053 | socket/{init.c, loop.c}: Allocate/initialize NewSocket.faces_sent. |
|
|
1054 | socket/request.c: Remove safeguard/error message since it depends on |
|
|
1055 | MAXFACENUM. |
|
|
1056 | Andreas Kirschbaum 2005-10-24 |
|
|
1057 | |
|
|
1058 | Code improvements: |
|
|
1059 | common/image.c: Declare some variables and functions as static or const; add |
|
|
1060 | safeguards while loading config files; remove support for numeric face |
|
|
1061 | names (no active archetype or map does use it); in free_all_images() |
|
|
1062 | deallocate memory allocated for smoothing. |
|
|
1063 | crossedit/xutil.c: Remove assignment to nrofpixmaps since ReadBmapNames() |
|
|
1064 | already sets this variable. |
|
|
1065 | include/{global.h, libproto.h, loader.h}: Remove now static variables and |
|
|
1066 | functions. |
|
|
1067 | Andreas Kirschbaum 2005-10-24 |
|
|
1068 | |
|
|
1069 | common/readable.c: Fix out of bounds access to max_titles[] in |
|
|
1070 | init_book_archive(). |
|
|
1071 | common/image.c, include/define.h, include/global.h: Remove unused variables |
|
|
1072 | potion_face and POTION_FACE_NAME. |
|
|
1073 | common/image.c, include/global.h: Remove unused variable blank_look. |
|
|
1074 | Andreas Kirschbaum 2005-10-24 |
|
|
1075 | |
|
|
1076 | Make shout command work in old socket emulation mode. |
|
|
1077 | common/commands.c: Sort all command arrays in init_commands(). |
|
|
1078 | Andreas Kirschbaum 2005-10-23 |
|
|
1079 | |
|
|
1080 | common/item.c - fix spelling mistake |
|
|
1081 | common/utils.c include/libproto.h - new function make_list_like that takes a |
|
|
1082 | string of comma deliminated words, and puts an and in the right place. |
|
|
1083 | include/sproto.h server/apply.c server/shop.c -new function can_pay - checks |
|
|
1084 | that a player can pay for every unpaid item that they are holding before |
|
|
1085 | starting to purchase them. |
|
|
1086 | Brendan Lally 2005-10-21 |
|
|
1087 | |
|
|
1088 | plugins/cfpython/{Makefile.in, Makefile.am}, plugins/cfpython/include/cfpython.h: |
|
|
1089 | Corrected improper regeneration of the function prototypes using |
|
|
1090 | "make proto" for the cfpython plugin. |
|
|
1091 | Gros 2005-10-20 |
|
|
1092 | |
|
|
1093 | plugins/cfpython/{cfpython.c, cfpython_object.c, cfpython_map.c}, |
|
|
1094 | plugins/cfanim/cfanim.c, plugins/common/plugin_common.c, server/plugins.c: |
|
|
1095 | Added support for execution of python_init.py upon initialization of cfpython. |
|
|
1096 | Reduced the console spam produced by various leftover debugging messages. |
|
|
1097 | Gros 2005-10-19 |
|
|
1098 | |
|
|
1099 | plugins/common/include/plugin_common.h: add CF_PLUGIN macro. |
|
|
1100 | plugins/cfpython/cfpython.c: add CF_PLUGIN to exported functions. |
|
|
1101 | plugins/cfpython/include/cfpython_proto.h: fix prototypes. |
|
|
1102 | Ryo 2005-10-19 |
|
|
1103 | |
|
|
1104 | plugin/*, plugin_logger/*, plugin_anim/*, plugins/*, |
|
|
1105 | server/{apply.c, attack.c, c_chat.c, c_object.c, c_wiz.c, gods.c, main.c, |
|
|
1106 | monster.c, player.c, skills.c, swap.c, time.c, timers.c}, include/{plugin.h, |
|
|
1107 | sproto.h}: Replaced the old plugin interface by the 2.0 one. |
|
|
1108 | Upgraded the Python and Animator ones to the new interface. |
|
|
1109 | Removed obsolete Logger plugin. |
|
|
1110 | Gros 2005-10-19 |
|
|
1111 | |
|
|
1112 | server/main.c: Template Maps: Allow %x, %y, and %n in the path to respectively be |
|
|
1113 | replaced with, the x coord, the y coord, and the parent map name. |
|
|
1114 | Alex Schultz 2005-10-18 |
|
|
1115 | |
|
|
1116 | server/{main.c, swap.c}, common/map.c, include/{libproto.h, map.h}: Add support |
|
|
1117 | for random template maps (still need to document, and still need to add support |
|
|
1118 | for template maps created from non-random templates) |
|
|
1119 | Alex Schultz 2005-10-16 |
|
|
1120 | |
|
|
1121 | common/info.c: fix -m1 crashing (34 chars, not 32!), and -m2 crashing under Win32. |
|
|
1122 | include/sproto.h: fix cast_change_ability definition. |
|
|
1123 | server/gods.c: fix cast_change_ability to hide the 'can't recast' message. |
|
|
1124 | server/spell_effect.c: don't stack word of recall forces. Add a 'silent' parameter |
|
|
1125 | to cast_change_ability to not display 'can't recast xx while xx is in effect' |
|
|
1126 | server/spell_util.c: fix cast_change_ability call. |
|
|
1127 | Ryo 2005-10-16 |
|
|
1128 | |
|
|
1129 | include/{global.h, sproto.h, config.h}, server/init.c, common/init.c, lib/Makefile.in: |
|
|
1130 | Add directory in preparation for template (where the template can optionally be |
|
|
1131 | from the random map generator) maps. |
|
|
1132 | Alex Schultz 2005-10-15 |
|
|
1133 | |
|
|
1134 | server/c_wiz.c: make reset command show the names of other players on the |
|
|
1135 | map when it fails. |
|
|
1136 | Brendan Lally 2005-10-14 |
|
|
1137 | |
|
|
1138 | server/c_party.c: fix another obscure party crash bug |
|
|
1139 | Brendan Lally 2005-10-12 |
|
|
1140 | |
|
|
1141 | server/c_party.c: fix a couple of loops that could crash under certain circumstances |
|
|
1142 | Brendan Lally 2005-10-11 |
|
|
1143 | |
|
|
1144 | common/object.c: use canonical_key instead of key, else == always fails. |
|
|
1145 | server/apply.c: drop "on_use_yield" item if required when applying potion, food or poison. |
|
|
1146 | This lets players get empty bottles/vials/... when using potions. |
|
|
1147 | Ryo 2005-10-09 |
|
|
1148 | |
|
|
1149 | Added GetMarkedItem to Python, cleaned compilation warnings. |
|
|
1150 | plugin/plugin_python.c |
|
|
1151 | plugin/include/plugin_python.h |
|
|
1152 | |
|
|
1153 | Moved gps code to Python script, thus cleaning relevant code from server core. |
|
|
1154 | common/item.c: remove item description. |
|
|
1155 | include/define.h: remove gps define. |
|
|
1156 | server/apply.c: remove gps function. |
|
|
1157 | Ryo 2005-10-08 |
|
|
1158 | |
|
|
1159 | Prevent objects from losing inventory when thrown. |
|
|
1160 | include/libproto.h, common/object.c: Add new parameter "free_inventory" to |
|
|
1161 | free_object(). Is set, free inventory as well instead of dropping it on the |
|
|
1162 | ground. |
|
|
1163 | common/object.c: In get_split_ob() prevent inventory of splitted object to be |
|
|
1164 | dropped. |
|
|
1165 | Andreas Kirschbaum 2005-10-07 |
|
|
1166 | |
|
|
1167 | common/object.c: Use object_create_clone in get_split_ob; Fixes things inside |
|
|
1168 | of objects disappearing when throwing. |
|
|
1169 | Alex Schultz 2005-10-7 |
|
|
1170 | |
|
|
1171 | Make damage done by area spells not depend on monster size. |
|
|
1172 | include/sproto.h, server/attack.c: Add additional parameter "full_hit" to |
|
|
1173 | hit_map() and hit_player(). If set, do full damage, if unset scale down by |
|
|
1174 | monster size. |
|
|
1175 | server/{apply.c, attack.c, disease.c, monster.c, player.c, rune.c, |
|
|
1176 | spell_attack.c, spell_effect.c, spell_util.c, time.c}: Change callers to set |
|
|
1177 | "full_hit" parameter according to the attack used. |
|
|
1178 | Andreas Kirschbaum 2005-10-07 |
|
|
1179 | |
|
|
1180 | common/{arch.c, object.c}, crossedit/{Attr.c, Defines.h, Edit.c}, |
|
|
1181 | include/libproto.h, server/{plugins.c, time.c}: Rename functions with |
|
|
1182 | mixed-case names to lower case only. |
|
|
1183 | crossedit/Defines.h: Remove prototypes for nonexisting functions. |
|
|
1184 | Andreas Kirschbaum 2005-10-07 |
|
|
1185 | |
|
|
1186 | server/apply.c: In prepare_weapon() do not lose a reference to the item name. |
|
|
1187 | Andreas Kirschbaum 2005-10-06 |
|
|
1188 | |
|
|
1189 | include/sproto.h, server/shop.c - make value_limit static, change its |
|
|
1190 | arguments to add some checking for NULL pointers |
|
|
1191 | Brendan Lally 2005-10-06 |
|
|
1192 | |
|
|
1193 | server/monster.c: In move_monster() prevent hp/sp overflows for monsters with |
|
|
1194 | very high maxhp/maxsp and very high regeneration rates. |
|
|
1195 | Andreas Kirschbaum 2005-10-05 |
|
|
1196 | |
|
|
1197 | common/treasure.c - prevent crashes with some broken treasure lists. |
|
|
1198 | Brendan Lally 2005-10-05 |
|
|
1199 | |
|
|
1200 | server/shop.c: convert val to sint64 - compilation issues with Win32. Checked with |
|
|
1201 | patch author that it's fine. |
|
|
1202 | Ryo 2005-10-04 |
|
|
1203 | |
|
|
1204 | common/map.c - fix output names in new_save_map |
|
|
1205 | -- |
|
|
1206 | server/shop.c - don't assume that shop_specialisation_ratio only gets passed |
|
|
1207 | items with valid types. |
|
|
1208 | -- |
|
|
1209 | common/map.c - /actually/ fix pointer issue |
|
|
1210 | -- |
|
|
1211 | common/map.c - fix potential issue with NULL pointer |
|
|
1212 | Brendan Lally 2005-10-04 |
|
|
1213 | |
|
|
1214 | common/map.c - fix an inequality in for loop - not sure if this actually |
|
|
1215 | fixes anything of note, but the previous form was definatly wrong. |
|
|
1216 | |
|
|
1217 | common/item.c - big item type table, function to deal therewith |
|
|
1218 | common/loader.l - add player_sold flag |
|
|
1219 | common/map.c - shop related header parsing |
|
|
1220 | include/define.h - define typedata, player_sold flag and some new shop flags |
|
|
1221 | include/libproto.h - define typedata related functions |
|
|
1222 | include/map.h - define new shop headers |
|
|
1223 | include/sproto.h - define new functions in shop.c |
|
|
1224 | server/apply.c - Change shop mat usage message |
|
|
1225 | server/c_object.c - Change display of price estimates |
|
|
1226 | server/shop.c - new functions describe_shop, value_limit, shopkeeper_approval, |
|
|
1227 | shop_greed, shop_specialisation_ratio, substantially alter query_cost_string |
|
|
1228 | and query_cost to make use of these |
|
|
1229 | server/skill_util.c - make bargaining a directly usable skill |
|
|
1230 | doc/Developers/shops - document the above |
|
|
1231 | doc/Developers/maps-technical - add shopheader names, and reference to shops doc |
|
|
1232 | Brendan Lally 2005-10-03 |
|
|
1233 | |
|
|
1234 | server/disease.c: check for value <= 0 as some diseases get dumped on a map |
|
|
1235 | with value == 0 (negative values will eventually underflox, but it'll take time). |
|
|
1236 | |
|
|
1237 | Apply patches courtesy quisar. |
|
|
1238 | #1307880 Allow to add a param to the cast command |
|
|
1239 | #1306987 Allow to summon lower level pet monsters |
|
|
1240 | Modified files: |
|
|
1241 | include/player.h sproto.h |
|
|
1242 | server/c_range.c login.c pets.c player.c spell_util.c |
|
|
1243 | Ryo 2005-10-01 |
|
|
1244 | |
|
|
1245 | common/button.c: explicit cast of stats.food to uint32 when used as sacrifice count. |
|
|
1246 | common/image.c: strlen returns size_t. Remove unused FindFaceName. |
|
|
1247 | common/object.c: obj::count is tag_t. Can't decrease item's nrof by a negative value. |
|
|
1248 | include/libproto.h: fix prototypes. |
|
|
1249 | include/player.h: weight and weight_limit are sint32, so last_ should be the same. |
|
|
1250 | include/sproto.h: nrof is uint32, not int. |
|
|
1251 | server/apply.c: nrof is uint32, can't eat a negative number of items. obj::count is tag_t. |
|
|
1252 | server/c_misc.c: remove unused variable. |
|
|
1253 | server/c_object.c: use uint32 instead of int to specify number of items to drop/put. |
|
|
1254 | server/plugins.c: strlen returns size_t. |
|
|
1255 | server/spell_effect.c: distances are uint32 and not int. |
|
|
1256 | socket/loop.c: remove now obsolete cast of -1 to uint32 for last_weight. |
|
|
1257 | socket/request.c: explicit cast of weight_limit to sint32 when comparing to last_weight. |
|
|
1258 | Ryo 2005-10-01 |
|
|
1259 | |
|
|
1260 | plugin/plugin_python.c: added CF[SG]etWeightLimit. |
|
|
1261 | plugin/include/plugin_python.h: function prototypes. |
|
|
1262 | server/plugins.c: update player inventory if item teleporter from that. |
|
|
1263 | Ryo 2005-09-30 |
|
|
1264 | |
|
|
1265 | lib/collect.pl.in: can now use lines like "attacktype fire electricity poison" instead |
|
|
1266 | of hard to remember numbers. Numbers are still supported, you can even mix both. |
|
|
1267 | Ryo 2005-09-28 |
|
|
1268 | |
|
|
1269 | server/spell_effect.c: In recharge() verify that the object to charge is in |
|
|
1270 | fact a wand or staff. |
|
|
1271 | Andreas Kirschbaum 2005-09-27 |
|
|
1272 | |
|
|
1273 | Changed quest behaviour, now uses its own archetypes. Can change npc/magic ear |
|
|
1274 | text based on quest status. |
|
|
1275 | Warning: not totally tested. Quest start/end works, rest needs some tweaks & fixes. |
|
|
1276 | common/quest.c: new functions, some cleaning. |
|
|
1277 | doc/Developers/quest: update (partially). |
|
|
1278 | include/define.h: new item types. |
|
|
1279 | include/libproto.h: new definitions. |
|
|
1280 | server/c_misc.c: update. |
|
|
1281 | server/monster.c: take into account quest overrides. |
|
|
1282 | server/time.c: markers now start/end tasks if needed. |
|
|
1283 | Ryo 2009-09-25 |
|
|
1284 | |
|
|
1285 | server/c_party.c - fix another party list corruption bug, and a couple of |
|
|
1286 | possible infinite loops |
|
|
1287 | Brendan Lally 2005-09-25 |
|
|
1288 | |
|
|
1289 | Clean some compilation warnings. |
|
|
1290 | common/map.c: remove unused variable. |
|
|
1291 | common/readable.c: strlen returns size_t. |
|
|
1292 | include/object.h: objectlink id should be tag_t since it's the item's "count" field. |
|
|
1293 | server/c_misc.c: strlen returns size_t. |
|
|
1294 | server/c_object.c: strlen returns size_t. |
|
|
1295 | server/c_party.c: remove_party returns void, value not used anyway. Fordward declaration. |
|
|
1296 | server/c_wiz.c: settings.worldmaptiles[x|y] is uint32. |
|
|
1297 | server/gods.c: strlen returns size_t. |
|
|
1298 | server/hiscore.c: maxchar is const. |
|
|
1299 | server/skill_util.c: strlen_returns size_t. |
|
|
1300 | Ryo 2005-09-25 |
|
|
1301 | |
|
|
1302 | include/player.h sproto.h |
|
|
1303 | server/attack.c c_party.c player.c |
|
|
1304 | Fix several bugs in patch #1194964, including one that caused segfaults |
|
|
1305 | one that corrupted the party list, and one that broke party password recognition |
|
|
1306 | remove partyid from the party struct - use party pointers instead |
|
|
1307 | remove functions find_party() and find_party_struct() - no longer needed or used. |
|
|
1308 | make form_party a local function - it is only used by the party form command, |
|
|
1309 | and can't easy be used safely elsewhere. |
|
|
1310 | Brendan Lally 2005-09-25 |
|
|
1311 | |
|
|
1312 | server/build_map.c: remove unused variable. |
|
|
1313 | -- |
|
|
1314 | Commit patch #1194964 (party obsoletion) by cavesomething. |
|
|
1315 | Affected files: |
|
|
1316 | include/player.h sproto.h |
|
|
1317 | server/apply.c attack.c c_party.c login.c main.c pets.c player.c |
|
|
1318 | skill_util.c skills.c spell_util.c |
|
|
1319 | -- |
|
|
1320 | include/win32.h: turn off harmless warning. |
|
|
1321 | Ryo 2005-09-24 |
|
|
1322 | |
|
|
1323 | Fix bug #744327 ('immortal' monsters): Prevent monsters from loosing hp or sp |
|
|
1324 | if they have negative Con/Pow. For hp, this made some monsters unkillable |
|
|
1325 | because they eventually had negative hp. |
|
|
1326 | -- |
|
|
1327 | server/monster.c: In move_monster() do gain hp/sp only if Con/Pow is positive. |
|
|
1328 | Andreas Kirschbaum 2005-09-24 |
|
|
1329 | |
|
|
1330 | Update client inventory view for players dieing in a shop with unpaid items in |
|
|
1331 | inventory. |
|
|
1332 | -- |
|
|
1333 | server/player.c: Send removed item to client in remove_unpaid_objects(). Do |
|
|
1334 | not call remove_unpaid_objects() multiple times in kill_player(). |
|
|
1335 | Andreas Kirschbaum 2005-09-17 |
|
|
1336 | |
|
|
1337 | Allow directors/movers to specify a specific arch/name/race. |
|
|
1338 | include/sproto.h: Add should_director_abort to here. |
|
|
1339 | server/{apply.c, time.c}: Add should_director_abort for the logic code |
|
|
1340 | for this change, and add checks for it in director/mover code. |
|
|
1341 | doc/Developers/objects: Add documentation for directors including this |
|
|
1342 | change, and update mover documentation. |
|
|
1343 | Alex Schultz 2005-09-15 |
|
|
1344 | |
|
|
1345 | Make untriggered TIMED_GATEs work again. |
|
|
1346 | server/apply.c: Clear object speed only for connected objects. |
|
|
1347 | Andreas Kirschbaum 2005-09-13 |
|
|
1348 | |
|
|
1349 | This change is mostly cosmetic and a preparation for the new movement |
|
|
1350 | type code. Basically, it just changes the old object movement_type |
|
|
1351 | field to attack_movement. This makes sense because that is what that |
|
|
1352 | field is called in saved and loaded objects/archetypes, and thus |
|
|
1353 | frees up that name for the new movement code. |
|
|
1354 | -- |
|
|
1355 | common/button.c: field name change |
|
|
1356 | common/loader.{cl}: field name change |
|
|
1357 | doc/Developers/objects: Add section on new movement types, update old |
|
|
1358 | documentation to note it is attack_movement and not movement_type |
|
|
1359 | field that is important. |
|
|
1360 | include/object.h: field name change. |
|
|
1361 | server/attack.c: field name change. |
|
|
1362 | server/monster.c: field name change |
|
|
1363 | server/pets.c: field name change |
|
|
1364 | server/skills.c: field name change. |
|
|
1365 | server/spell_attack.c: field name change |
|
|
1366 | server/spell_effect.c: field name change |
|
|
1367 | MSW 2005-09-12 |
|
|
1368 | |
|
|
1369 | Allow a DM to cast spells and prayers in no-magic/no-prayer areas. Add new |
|
|
1370 | command "wizcast" to toggle this setting. |
|
|
1371 | common/loader.l: Set/reset FLAG_WIZCAST for flag "wiz". |
|
|
1372 | common/loader.c: Rebuilt |
|
|
1373 | include/define.h: Add new flag FLAG_WIZCAST; remove unused flag |
|
|
1374 | FLAG_NO_PRETEXT. |
|
|
1375 | lib/Makefile.am: Add new help file for wizcast. |
|
|
1376 | lib/Makefile.in: Rebuilt. |
|
|
1377 | plugin_animator/plugin_animator.c: Set/reset FLAG_WIZCAST in animate_one(). |
|
|
1378 | server/apply.c: Always allow FLAG_WIZCAST to enchant weapons and armour. |
|
|
1379 | server/c_misc.c: Add new function command_wizcast(). |
|
|
1380 | server/c_wiz.c: Set/reset FLAG_WIZCAST when entering/leaving DM mode. |
|
|
1381 | server/commands.c: Add "wizcast" command. |
|
|
1382 | server/spell_effect.c: Always allow FLAG_WIZCAST to use the spell probe. |
|
|
1383 | server/spell_util.c: Always allow FLAG_WIZCAST to cast spells and prayers. |
|
|
1384 | Andreas Kirschbaum 2005-09-09 |
|
|
1385 | |
|
|
1386 | server/monster.c: Set FLAG_READY_SKILL in monster_check_apply() for monsters |
|
|
1387 | with skills. This fixes hill giants and trolls not throwing boulders |
|
|
1388 | anymore. |
|
|
1389 | server/monster.c: Add missing "break" statement in monster_can_pick(). It did |
|
|
1390 | prevent some monsters from picking up scrolls. |
|
|
1391 | Andreas Kirschbaum 2005-09-08 |
|
|
1392 | |
|
|
1393 | common/{anim.c, image.c, los.c, map.c, porting.c, treasure.c}, |
|
|
1394 | include/define.h, random_maps/treasure.c, |
|
|
1395 | server/{apply.c, c_misc.c, c_object.c, c_wiz.c, commands.c, daemon.c, |
|
|
1396 | hiscore.c, init.c, login.c, player.c, plugins.c, resurrection.c, weather.c}, |
|
|
1397 | socket/{init.c, item.c, loop.c, lowlevel.c}: Use LOG() for error messages and |
|
|
1398 | debug output instead of stdout/stderr. Include filename in error messages. |
|
|
1399 | server/resurrection.c: Fix error message in read_player(). |
|
|
1400 | Andreas Kirschbaum 2005-09-04 |
|
|
1401 | |
|
|
1402 | socket/item.c: Make selecting objects from ground view work again. |
|
|
1403 | common/object.c: Fix update of player's ground view in insert_ob_in_map(). |
|
|
1404 | Previously the ground view was not updated after applying exits or after |
|
|
1405 | being hit by a spell. |
|
|
1406 | Andreas Kirschbaum 2005-09-03 |
|
|
1407 | |
|
|
1408 | Fix bug #1102991 (Duplicate grapical display of the same monster): |
|
|
1409 | doc/Developers/protocol: Change semantics of map_scroll command to what the |
|
|
1410 | server actually does: big faces outside the viewable area are cleared. Add |
|
|
1411 | newmap command. |
|
|
1412 | include/newserver.h: Increase MAX_HEAD_OFFSET to 8 (the size of a Greater |
|
|
1413 | Demon). |
|
|
1414 | socket/request.c: |
|
|
1415 | MapRedrawCmd(): Disable mapredraw command; it is now just ignored. |
|
|
1416 | MapNewmapCmd(): Clear map state before sending newmap command. |
|
|
1417 | check_head(): Remove redundant code. |
|
|
1418 | update_space(): Move invariant condition out of loop to speed it up. Fix |
|
|
1419 | uninitialized variable. Remove redundant condition. Fix off-by-one array |
|
|
1420 | access. |
|
|
1421 | update_smooth(): Remove unused code. Properly send cleared big faces. |
|
|
1422 | draw_client_map(): Remove duplicate check. Properly clear newly visible |
|
|
1423 | area when scrolling the map. |
|
|
1424 | Andreas Kirschbaum 2005-08-31 |
|
|
1425 | |
|
|
1426 | common/{loader.l, map.c, object.c}, include/{define.h, map.h, object.h}: |
|
|
1427 | Accelerate map loading (a lot) and map saving (a bit) codes to improve map |
|
|
1428 | transition experience. |
|
|
1429 | common/loader.c: Rebuilt. |
|
|
1430 | |
|
|
1431 | Add (slightly reformatted) patch #1276121 (Crossedit: handle big faces) by |
|
|
1432 | Kevin Rudat: |
|
|
1433 | crossedit/CrEdit.c: UpdatePosition(): Use new drawing subroutines. |
|
|
1434 | crossedit/CrFace.c: DrawObject(): Use new drawing subroutine. |
|
|
1435 | crossedit/CrList.c: Redisplay(): Use new drawing subroutine. |
|
|
1436 | crossedit/CrUtil.c, crossedit/CrUtil.h: Remove FaceDraw(), add DrawFacePart() |
|
|
1437 | and DrawPartObject(). |
|
|
1438 | crossedit/png.c: Upload the whole image, not just the top-left corner. |
|
|
1439 | Andreas Kirschbaum 2005-08-30 |
|
|
1440 | |
|
|
1441 | Fix bug #1256173 (Magic drain not exploding head): |
|
|
1442 | server/spell_effect.c: Prevent mana transfer to/from caster himself; also |
|
|
1443 | create fireball for overcharges resulting from sucking mana. |
|
|
1444 | Andreas Kirschbaum 2005-08-30 |
|
|
1445 | |
|
|
1446 | Fix bug #1059537 (Chainmail mutations): |
|
|
1447 | common/loader.l: Remove code that "fixes" broken item names by removing a |
|
|
1448 | leading material name. This effectively renames "mithril chainmails" into |
|
|
1449 | "chainmails". |
|
|
1450 | common/loader.c: Rebuilt. |
|
|
1451 | Andreas Kirschbaum 2005-08-29 |
|
|
1452 | |
|
|
1453 | Fix player weapon speed/speed. There are a few bugs this fixes: |
|
|
1454 | 1) when player hit something, a has_hit field was set to true, to denote |
|
|
1455 | they hit something and to use weapon speed. However, this was only |
|
|
1456 | cleared when player issued a command. Thus, if you are running |
|
|
1457 | and hit something, you'd continue at weapon_speed pace until you |
|
|
1458 | needed to change direction. |
|
|
1459 | 2) Because has_hit was used, this basically put in a 1 tick lag - you'd hit |
|
|
1460 | something, but not until objects were processed and speed given would |
|
|
1461 | you get your extra speed. Likewise, after you killed something, you'd |
|
|
1462 | get your burst of speed for the next tick also. |
|
|
1463 | -- |
|
|
1464 | server/main.c: Clear has_hit, change function to only do bounds checking, |
|
|
1465 | not actually do weapon_speed adjustments. |
|
|
1466 | server/player.c: Give player speed boost when they hit something. |
|
|
1467 | MSW 2005-08-28 |
|
|
1468 | |
|
|
1469 | Add patch #1274385 by Kevin Rudat to make crossedit draw floors on tiles with |
|
|
1470 | items. |
|
|
1471 | crossedit/CrEdit.c: Add call to update_position() in UpdatePosition(). |
|
|
1472 | Andreas Kirschbaum 2005-08-28 |
|
|
1473 | |
|
|
1474 | Add patch #1271417 by Kevin Rudat to stop crossedit losing regions. Patch is |
|
|
1475 | slightly modified to properly handle all map fields. |
|
|
1476 | crossedit/Edit.c: Copy all map fields in MapMoveScrollResize(). Do not add a |
|
|
1477 | msg header to already existing maps. |
|
|
1478 | crossedit/crossedit.c: Call init_regions() at program initialization. |
|
|
1479 | Andreas Kirschbaum 2005-08-28 |
|
|
1480 | |
|
|
1481 | socket/init.c: Make setsockopt(REUSEADDR) work if using gcc in Ansi C mode on |
|
|
1482 | Linux. |
|
|
1483 | Andreas Kirschbaum 2005-08-28 |
|
|
1484 | |
|
|
1485 | common/map.c: Change default values for reset_timeout, enter_x, and enter_y |
|
|
1486 | map headers to zero. In set_map_reset_time() use MAP_DEFAULTRESET if |
|
|
1487 | reset_timeout is zero. This change prevents crossedit from adding these |
|
|
1488 | headers by just loading and saving a map. |
|
|
1489 | include/config.h: Add MAP_DEFAULTRESET. |
|
|
1490 | Andreas Kirschbaum 2005-08-27 |
|
|
1491 | |
|
|
1492 | server/rune.c: Fix crash if casting disarm out of map bounds. |
|
|
1493 | server/spell_effect.c: Fix crash if casting polymorph out of map bounds. |
|
|
1494 | Andreas Kirschbaum 2005-08-25 |
|
|
1495 | |
|
|
1496 | Apply patch 1200555 - addition of key/value lists which allows arbitrary |
|
|
1497 | storing of data in objects - see doc/Developers/key-value for more |
|
|
1498 | information |
|
|
1499 | --- |
|
|
1500 | loader.l, loader.c: Add add_key_value() function which parses the unknown |
|
|
1501 | line in the object/archetype. Update get_ob_diff() to make differences |
|
|
1502 | for the key/value lists. |
|
|
1503 | common/object.c: Add functions for properly comparing the key/value lists, |
|
|
1504 | setting and getting the vaues, clearing values upon freeing of object, |
|
|
1505 | etc. |
|
|
1506 | doc/Developers/Makefile.am: Add key-value file. |
|
|
1507 | doc/Developers/key-value: Documentation of this feature. |
|
|
1508 | include/libproto.h: Rebuilt |
|
|
1509 | include/object.h: Addition of key_value struct, addition of key_values |
|
|
1510 | field to object. |
|
|
1511 | MSW 2005-08-22 |
|
|
1512 | |
|
|
1513 | socket/request.c: Fix range checking of toggleextendedtext parameters. |
|
|
1514 | Andreas Kirschbaum 2005-08-17 |
|
|
1515 | |
|
|
1516 | The following fix code that basically does "for(x = pos-5; x < pos+5; x++)". |
|
|
1517 | This is not correct because it includes "pos-5" but not "pos+5". |
|
|
1518 | common/los.c: Make lighted distance equal in all directions. |
|
|
1519 | server/disease.c: Make infection distance equal in all directions. |
|
|
1520 | server/monster.c: Make lighted distance equal in all directions. |
|
|
1521 | Andreas Kirschbaum 2005-08-17 |
|
|
1522 | |
|
|
1523 | Add patch by Kevin Rudat for applyable but non |
|
|
1524 | pickable objects to have item items. |
|
|
1525 | doc/Dvelopers/objects: Update item types. |
|
|
1526 | socket/item.c: Use the head of any objects we send. Should generally |
|
|
1527 | only be an issue for objects on the ground, as currently there is no |
|
|
1528 | large objects players can pick up. Also fix up some of the formatting/ |
|
|
1529 | indenting in this file. |
|
|
1530 | MSW 2005-08-16 |
|
|
1531 | |
|
|
1532 | server/attack.c, include/define.h, common/loader.l doc/Developers/objects: |
|
|
1533 | Add a flag FLAG_IS_LIGHTABLE, to make lightable objects such as lanterns |
|
|
1534 | able to work again |
|
|
1535 | lib/archetypes: recollect archs |
|
|
1536 | Brendan Lally 2005-08-16 |
|
|
1537 | |
|
|
1538 | server/build_map.c: Add support for buildable signs, and magic mouths/ears. |
|
|
1539 | Alex Schultz 2005-08-15 |
|
|
1540 | |
|
|
1541 | lib/Makefile.am, lib/Makefile.in: Actually install help file for showpets. |
|
|
1542 | common/living.c, include/living.h: Make global arrays really const. |
|
|
1543 | Andreas Kirschbaum 2005-08-15 |
|
|
1544 | |
|
|
1545 | server/gods.c: Fix crash for monsters without appropriate god. |
|
|
1546 | server/gods.c: Add missing braces around body of if statement. |
|
|
1547 | Andreas Kirschbaum 2005-08-14 |
|
|
1548 | |
|
|
1549 | NPCs instead of being given a random god are for preference given the god that |
|
|
1550 | likes their race. If one can't be found, then we fall back to a random god. |
|
|
1551 | Affected files: |
|
|
1552 | server/gods.c include/sproto.h |
|
|
1553 | Brendan Lally 2005-08-12 |
|
|
1554 | |
|
|
1555 | String fields in structures using add_string are now const char*. Functions in |
|
|
1556 | shstr (add_refcount, add_string, free_string, ...) now take/return const char*. |
|
|
1557 | More argument replacing from char* to const char*. |
|
|
1558 | Fixed a potential string corruption in recipe.c (when dumping) and readable.c (was |
|
|
1559 | using strtok on a add_string-ed string, when strtok changes argument). |
|
|
1560 | Fixed a few type mismatch on qsort calls. |
|
|
1561 | Global char arrays (messages and such) are const char* too. |
|
|
1562 | Removed unused typedefs / structures. |
|
|
1563 | |
|
|
1564 | Affected files: |
|
|
1565 | common/anim.c image.c info.c item.c living.c object.c quest.c readable.c recipe.c |
|
|
1566 | shstr.c treasure.c |
|
|
1567 | include/arch.h commands.h define.h face.h funcpoint.h global.h god.h libproto.h |
|
|
1568 | living.h map.h material.h object.h player.h race.h recipe.h skills.h sproto.h treasure.h |
|
|
1569 | random_maps/random_map.h reader.[cl] style.c |
|
|
1570 | server/apply.c attack.c c_object.c c_range.c c_wiz.c gods.c |
|
|
1571 | main.c monster.c pets.c player.c plugins.c resurrection.c shop.c skill_util.c skills.c |
|
|
1572 | spell_attack.c spell_effect.c time.c timers.c |
|
|
1573 | socket/item.c |
|
|
1574 | |
|
|
1575 | Ryo 2005-08-12 |
|
|
1576 | |
|
|
1577 | Arguments are now const char* instead of char* when available. This ensures |
|
|
1578 | the variable is not changed in random places. |
|
|
1579 | Affected files: |
|
|
1580 | common/porting.c quest.c readable.c recipe.c re-cmp.c shstr.c treasure.c |
|
|
1581 | include/libproto.h sproto.h win32.h |
|
|
1582 | server/c_misc.c c_object.c c_party.c c_wiz.c egoitem.c gods.c hiscore.c init.c login.c |
|
|
1583 | main.c monster.c player.c resurrection.c rune.c shop.c skill_util.c skills.c |
|
|
1584 | spell_effect.c spell_util.c win32.c |
|
|
1585 | Ryo 2005-08-12 |
|
|
1586 | |
|
|
1587 | Add help for showpets, and update help for killpets |
|
|
1588 | lib/help/{showpets, killpets} |
|
|
1589 | Add a new command 'showpets' to give a numbered list of the pets that a player |
|
|
1590 | controls. These numbers can be passed to showpets to give more detail about one |
|
|
1591 | pet, or they can be passed to killpets to control which pets are killed. |
|
|
1592 | Also allow killpets to take a name as an argument. Affected files: |
|
|
1593 | include/sproto.h |
|
|
1594 | server/{c_misc.c, commands.c} |
|
|
1595 | Make random maps take the region of the map creates them. Affected files: |
|
|
1596 | random_maps/{random_maps.h, random_maps.c} |
|
|
1597 | server/main.c |
|
|
1598 | Brendan Lally 2005-08-11 |
|
|
1599 | |
|
|
1600 | ------------------------------------------------------------------------------ |
|
|
1601 | Changes for 1.8.0: |
|
|
1602 | |
|
|
1603 | Update for release 1.8.0. |
|
|
1604 | include/Makefile.am: missing quest.h file |
|
|
1605 | Rest automatic rebuild |
|
|
1606 | MSW 2005-08-10 |
|
|
1607 | |
|
|
1608 | Replaced "depletion" by ARCH_DEPLETION (defined in object.h). Affected files: |
|
|
1609 | common/living.c |
|
|
1610 | include/object.h |
|
|
1611 | server/apply.c gods.c spell_effect.c |
|
|
1612 | Ryo 2005-08-10 |
|
|
1613 | |
|
|
1614 | server/player.c: Set map for arrow as returned by get_map_flags - |
|
|
1615 | otherwise when firing at edge of tiled maps, arrows could end up |
|
|
1616 | in wrong place. |
|
|
1617 | MSW 2005-08-09 |
|
|
1618 | |
|
|
1619 | include/config.h: Make DEBUG default - appears last commit changed this |
|
|
1620 | as unrelated to actual changes in place. |
|
|
1621 | include/sproto.h: Rebuild |
|
|
1622 | server/player.c: fire_bow() - add checks for wall/out of map. fire_bow() |
|
|
1623 | wasn't using right coordinates on check, which caused problems in |
|
|
1624 | threewide mode at edge of maps. |
|
|
1625 | MSW 2005-08-07 |
|
|
1626 | |
|
|
1627 | plugin_logger/plugin_logger.c: make it compile under Win32. |
|
|
1628 | Ryo 2005-07-30 |
|
|
1629 | |
|
|
1630 | server/player.c: fix crash when news or rules > HUGE_BUF. |
|
|
1631 | Ryo 2005-07-29 |
|
|
1632 | |
|
|
1633 | server/{monster.c, pets.c}: Fix bugs in arena petmode and clean up most of |
|
|
1634 | it's logic into it's own function. |
|
|
1635 | lib/help/petmode: Document the arena petmode in the "help petmode" output. |
|
|
1636 | Alex Schultz 2005-07-28 |
|
|
1637 | |
|
|
1638 | server/skills.c: use correct sp/grace for inscription. |
|
|
1639 | Ryo 2005-07-27 |
|
|
1640 | |
|
|
1641 | The following changes prevent spells in player's inventories from being |
|
|
1642 | damaged by casting spells, using skills, or praying. |
|
|
1643 | server/attack.c: Limit cancellation and acid attacks to visible objects only. |
|
|
1644 | server/gods.c: Limit god granted remove curse/damnation to visible objects |
|
|
1645 | only. |
|
|
1646 | server/skills.c: Limit the skills sense curse and sense magic to visible |
|
|
1647 | objects only. |
|
|
1648 | server/spell_effect.c: Limit the spells detect curse and detect magic to |
|
|
1649 | visible objects only. |
|
|
1650 | Andreas Kirschbaum 2005-07-26 |
|
|
1651 | |
|
|
1652 | server/skill_util.c: don't try to send a message if monster killed/removed. |
|
|
1653 | Ryo 2005-07-23 |
|
|
1654 | |
|
|
1655 | socket/init.c: settings values to 0 before using'em works better, usually ^_- |
|
|
1656 | Ryo 2005-07-22 |
|
|
1657 | |
|
|
1658 | random_maps/random_map.h: Add prototype for set_random_map_variable(). |
|
|
1659 | server/main.c: Remove prototype for set_random_map_variable(). |
|
|
1660 | lib/Makefile.am, lib/Makefile.in, lib/help/whereabouts: Add help for |
|
|
1661 | whereabouts command. |
|
|
1662 | server/apply.c: Properly terminate destination string with '\0' in |
|
|
1663 | apply_item_transformer(). Avoid clearing the string buffer multiple times. |
|
|
1664 | Andreas Kirschbaum 2005-07-20 |
|
|
1665 | |
|
|
1666 | doc/Developers/item_transformation: fixed documentation. |
|
|
1667 | server/apply.c: remove incorrect comment. Item transformer uses food for max use. |
|
|
1668 | Replaced some hardcoded values with define. Modified files: |
|
|
1669 | common/arch.c |
|
|
1670 | include/object.h |
|
|
1671 | plugin/plugin_python.c |
|
|
1672 | server/apply.c attack.c build_map.c spell_attack.c spell_effect.c time.c |
|
|
1673 | Ryo 2005-07-19 |
|
|
1674 | |
|
|
1675 | include/win32.h: add PLUGIN_SUFFIX definition. |
|
|
1676 | Ryo 2005-07-18 |
|
|
1677 | |
|
|
1678 | server/plugins.c: Merge mostly identical code from #ifdef WIN32 and #else |
|
|
1679 | blocks. Use opendir/readdir/closedir instead scandir for Unix because WIN32 |
|
|
1680 | probably does not have these functions. Prevent loading one plugin multiple |
|
|
1681 | times. |
|
|
1682 | include/sproto.h: Update prototypes for plugin functions. |
|
|
1683 | server/c_wiz.c: Add success/failure messages to plugin and plugout commands. |
|
|
1684 | Do not crash due to missing parameter. |
|
|
1685 | Andreas Kirschbaum 2005-07-18 |
|
|
1686 | |
|
|
1687 | server/pets: Fix off-by-one error in follow_owner(). |
|
|
1688 | server/c_wiz: Allow the summon and teleport commands to place the summoned |
|
|
1689 | player/DM north-west of DM/player. |
|
|
1690 | Andreas Kirschbaum 2005-07-17 |
|
|
1691 | |
|
|
1692 | Use const char* instead of char* when possible. Remove unused variables in weather code. |
|
|
1693 | Affected files: |
|
|
1694 | common/map.c region.c utils.c |
|
|
1695 | crossedit/stubs.c |
|
|
1696 | include/funcpoint.h libproto.h sproto.h |
|
|
1697 | random_maps/standalone.c |
|
|
1698 | server/weather.c |
|
|
1699 | Ryo 2005-07-17 |
|
|
1700 | |
|
|
1701 | server/apply.c: Make converters that increase value non-functional. |
|
|
1702 | Andreas Kirschbaum 2005-07-17 |
|
|
1703 | |
|
|
1704 | server/{monster.c, pets.c}: Fixed bug in previous commit of arena petmode |
|
|
1705 | that cause pets that should be friendly to eachother to fight. |
|
|
1706 | Alex Schultz 2005-07-16 |
|
|
1707 | |
|
|
1708 | common/{map.c, readable.c, treasure.c}, |
|
|
1709 | crossedit/{Attr.c, png.c, Cnv/{CnvFiles.c, CnvPath.c}}, |
|
|
1710 | plugin_animator/plugin_animator.c, |
|
|
1711 | plugin_logger/maps.c, |
|
|
1712 | server/{alchemy.c, c_misc.c, c_wiz.c, init.c, main.c, monster.c, pets.c, |
|
|
1713 | player.c, resurrection.c, rune.c, skills.c, spell_effect.c, time.c, |
|
|
1714 | weather.c}: |
|
|
1715 | Fix spelling errors in string constants. |
|
|
1716 | server/c_misc.c: Remove superfluous trailing '\0' from strings. |
|
|
1717 | Andreas Kirschbaum 2005-07-15 |
|
|
1718 | |
|
|
1719 | server/{c_misc.c, monster.c, pets.c}, include/player.h: Add new "arena" |
|
|
1720 | petmode which allows pets to attack players and other pets while in the |
|
|
1721 | arena. |
|
|
1722 | Alex Schultz 2005-07-16 |
|
|
1723 | |
|
|
1724 | *Makefile.in, aclocal.m4, configure: Rebuilt generated files. |
|
|
1725 | lib/Makefile.am: Update list of help files to install. |
|
|
1726 | server/skills.c: Do not reveal a hidden DM in attempt_jump(). |
|
|
1727 | server/skills.c: Do not reveal a hidden DM in steal(). |
|
|
1728 | server/player.c: Ignore hidden DM in stand_near_hostile(). Formerly it always |
|
|
1729 | returned false if a hidden DM was present. |
|
|
1730 | Andreas Kirschbaum 2005-07-15 |
|
|
1731 | |
|
|
1732 | server/c_object.c: Improved pickup. You can now do pickup +bow, or pickup -shield. |
|
|
1733 | Much simpler then fiddling with sums of 2^x values. |
|
|
1734 | Ryo 2005-07-15 |
|
|
1735 | |
|
|
1736 | server/c_party.c: Make party passwords with a length of 8 characters work |
|
|
1737 | again. |
|
|
1738 | lib/artifacts: Fix type of lockpicks of quality/high quality. |
|
|
1739 | Andreas Kirschbaum 2005-07-15 |
|
|
1740 | |
|
|
1741 | Those commits remove the dependency on the plugin towards the library. All functions |
|
|
1742 | used from the plugin are hooked, instead of being called directly. This fixes bugs |
|
|
1743 | under Windows, and simplifies compilation. Also, many new callbacks were defined. |
|
|
1744 | Affected files: |
|
|
1745 | include/plugin.h plugproto.h sproto.h |
|
|
1746 | plugin/plugin_python.c |
|
|
1747 | server/plugins.c |
|
|
1748 | Note that at some point some functions could be moved out of plugin_python and put in |
|
|
1749 | plugin_general to be shared between different plugins. |
|
|
1750 | Ryo 2005-07-15 |
|
|
1751 | |
|
|
1752 | Those commits remove the whole "glue/callback" logic. Instead functions are just |
|
|
1753 | defined as external, and should be implemented (even as dummy) by all programs. |
|
|
1754 | Affected files: |
|
|
1755 | common/arch.c button.c glue.c init.c item.c living.c logger.c los.c map.c object.c |
|
|
1756 | time.c treasure.c |
|
|
1757 | crossedit/stubs.c: new file with dummy functions. |
|
|
1758 | crossedit/Makefile.[in|am]: add this new file. |
|
|
1759 | include/funcpoint.h libproto.h sproto.h |
|
|
1760 | random_maps/standalone.c: add dummy functions for those externals. |
|
|
1761 | server/init.c: remove obsolete setup_library() |
|
|
1762 | |
|
|
1763 | Added a wrapper function for check_trigger from plugins. |
|
|
1764 | include/plugin.h: new function |
|
|
1765 | server/plugins.c: wrapper for check_trigger. |
|
|
1766 | |
|
|
1767 | Ryo 2005-07-15 |
|
|
1768 | |
|
|
1769 | plugin/plugin_python.c: (add|free)_string should *not* be called directly under Win32. |
|
|
1770 | Therefore let's use the hooks. Also, when removing an object, better check it's not the |
|
|
1771 | current object (CFPython.RemoveObject(CFPython.WhoAmI()) anyone?). |
|
|
1772 | Ryo 2005-07-15 |
|
|
1773 | |
|
|
1774 | server/spell_util.c: use on_same_map instead of checking directly map pointers. |
|
|
1775 | Ryo 2005-07-15 |
|
|
1776 | |
|
|
1777 | Those changes implement a quest tracking system. Check the doc/quests document for more info. |
|
|
1778 | common/quest.c: new file with a few quests-related functions. |
|
|
1779 | doc/Developers/mapguide: point to quests file for instructions on quests. |
|
|
1780 | doc/Developers/quests: new file with instructions on how to use quests, |
|
|
1781 | and implementation details. |
|
|
1782 | doc/Developers/README: added quests file. |
|
|
1783 | include/libproto.h: new functions in quest.c. |
|
|
1784 | include/quest.h: new file with a few defines for quests. |
|
|
1785 | include/sproto.h: new function command_quest, update talk_to_wall definition. |
|
|
1786 | lib/help/quests: new help file for quests command. |
|
|
1787 | server/c_misc: new command_quests function. |
|
|
1788 | server/commands.c: link command_quests to "quests". |
|
|
1789 | server/monster.c: update talk_to_wall and talk_to_npc to check for quests. |
|
|
1790 | server/time.c: modify marker behaviour to handle quests. |
|
|
1791 | Ryo 2005-07-14 |
|
|
1792 | |
|
|
1793 | common/{button.c, treasure.c, utils.c}, server/{c_wiz.c, login.c, shop.c, |
|
|
1794 | skill_util.c, spell_effect.c}, socket/{image.c, item.c}: Fix printf like |
|
|
1795 | format specifiers. At least one of them fixes a means to crash the server. |
|
|
1796 | Andreas Kirschbaum 2005-07-14 |
|
|
1797 | |
|
|
1798 | Those changes introduce party spells. Casted spell should be defined through 'other_arch' |
|
|
1799 | field. Note that this needs through testing to make sure it works as intended. |
|
|
1800 | include/spells.h: new spell type, 'party spell'. |
|
|
1801 | server/spell_util.c: new spell type, party spell. |
|
|
1802 | Ryo 2005-07-10 |
|
|
1803 | |
|
|
1804 | server/{login.c, player.c}: Fix buffer overflow with pl->title. Based on patch |
|
|
1805 | by Scott Kullberg. |
|
|
1806 | crossedit/{Edit.c, Cnv/CnvPrompt.c}, server/{ban.c, hiscore.c, login.c, |
|
|
1807 | player.c, shop.c, win32.c}: Properly terminate destination string of strncpy |
|
|
1808 | with '\0'. |
|
|
1809 | server/init.c: Fix error message. |
|
|
1810 | Andreas Kirschbaum 2005-07-10 |
|
|
1811 | |
|
|
1812 | configure.ac, configure, aclocal.m4, Makefile.in: Add AM_MAINTAINER_MODE |
|
|
1813 | macro to configure.ac - this should hopefully supress auto regeneration of |
|
|
1814 | makefiles.in |
|
|
1815 | MSW 2005-07-08 |
|
|
1816 | |
|
|
1817 | Add a --with-python option to configure. Also, update the python |
|
|
1818 | detection script to check for 2.5 (not out yet, but might as well be prepared.) |
|
|
1819 | Will try to commit files in proper order so that dependency checking is correct |
|
|
1820 | and it won't try to rebuild makefiles or other files. |
|
|
1821 | -- |
|
|
1822 | acinclude: Updated checks for --with-python |
|
|
1823 | aclocal.m4: updated |
|
|
1824 | configure.ac,configure: Updated checks for --with-python |
|
|
1825 | config.sub, config.guess - update to latest versions |
|
|
1826 | INSTALL: Updated build directions |
|
|
1827 | MSW 2005-07-08 |
|
|
1828 | |
|
|
1829 | lib/Makefile.am, lib/Makefile.in: Remove map_check from normal distribution |
|
|
1830 | due to different license on file. |
|
|
1831 | random_maps/monster.c: Reduce monster density on random maps - take into account |
|
|
1832 | size of monsters when calculating density. |
|
|
1833 | utils/metaserver.pl.in: At a timeout value that limits how often clients can |
|
|
1834 | ask for metaserver info. |
|
|
1835 | MSW 2005-07-08 |
|
|
1836 | |
|
|
1837 | lib/settings: Turn of fastclock as default option. |
|
|
1838 | socket/loop.c: Change behaviour of metaserver/flushmaps/watchdog |
|
|
1839 | calls if fastclock is set - don't do those any faster than normal. |
|
|
1840 | MSW 2005-06-22 |
|
|
1841 | |
|
|
1842 | Server can now be used as a Windows server, with command-line options |
|
|
1843 | -regsrv (register server and exit), -unregsrv (unregister server and exit) |
|
|
1844 | and -srv (should not be used directly, for the service control manager call). |
|
|
1845 | server/init.c: add command-line options. |
|
|
1846 | server/main.c: loop is no more infinite under Windows. Save and clean after it, too. |
|
|
1847 | server/win32.c: add service routines. |
|
|
1848 | Ryo 2005-06-22 |
|
|
1849 | |
|
|
1850 | common/living.c: Print correct message when (un-)wearing items with negative |
|
|
1851 | luck. |
|
|
1852 | Andreas Kirschbaum 2005-06-14 |
|
|
1853 | |
|
|
1854 | include/living.h: Patch from Kari Pahula to remove obsolete variable |
|
|
1855 | declarations. |
|
|
1856 | Andreas Kirschbaum 2005-06-01 |
|
|
1857 | |
|
|
1858 | server/skill_util.c: Print correct permanent experience ratio for experience |
|
|
1859 | values >2 billion. |
|
|
1860 | Andreas Kirschbaum 2005-05-22 |
|
|
1861 | |
|
|
1862 | server/apply.c: Do not unlock LAMP items when turning them on or off. |
|
|
1863 | server/apply.c: Fix CONVERTER items with slaying "money" to trigger for MONEY |
|
|
1864 | items only. |
|
|
1865 | server/player.c: Generate proper plural name for player's gravestones. |
|
|
1866 | Andreas Kirschbaum 2005-05-21 |
|
|
1867 | |
|
|
1868 | Ensure that object->msg always has a trailing \n character. This is necessary |
|
|
1869 | to prevent corrupted map files. |
|
|
1870 | plugin/plugin_python.c: Add trailing \n to message set by |
|
|
1871 | CFPython.SetMessage() if not already present. |
|
|
1872 | server/plugins.c: Add trailing \n to message set by HOOK_TELEPORTOBJECT if not |
|
|
1873 | already present. |
|
|
1874 | server/rune.c: Add trailing \n to rune messages. |
|
|
1875 | Andreas Kirschbaum 2005-05-21 |
|
|
1876 | |
|
|
1877 | Apply qal21's patch [ #1205421 ]: Implement new Python functions: |
|
|
1878 | GetArchType, GetFacing, GetLevel. |
|
|
1879 | plugin/plugin_python.c, plugin/include/plugin_python.h: Add new functions. |
|
|
1880 | doc/Developers/python: Describe new functions. |
|
|
1881 | Andreas Kirschbaum 2005-05-20 |
|
|
1882 | |
|
|
1883 | server/monster.c: Fix monsters to cast spells from spellbooks. |
|
|
1884 | Andreas Kirschbaum 2005-05-15 |
|
|
1885 | |
|
|
1886 | Fixed compilation issue. |
|
|
1887 | server/apply.c: can't declare a variable after some function call. |
|
|
1888 | socket/info.c: removed unused variable. |
|
|
1889 | Ryo 2005/05/07 |
|
|
1890 | |
|
|
1891 | Corrected code to compile under -ansi gcc flag: |
|
|
1892 | * correction of some non posix compatible calls around scandir |
|
|
1893 | * changing configure to detect the absence of 'alphasort' prototype |
|
|
1894 | * converted some '//' comment to /**/ one |
|
|
1895 | * reran automake1.8/autoconf2.50/autheader2.50 |
|
|
1896 | Note even it it compiles with -ansi -pedantic, it still need cleanup to |
|
|
1897 | get 64 bits experience code working! |
|
|
1898 | Tchize 2005/05/07 |
|
|
1899 | |
|
|
1900 | Applied Casper1's patch [ #1193516 ] for Hurd support. |
|
|
1901 | * socket/lowlevel.c: #ifdef some code part that won't work. |
|
|
1902 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1903 | * include/libproto.h |
|
|
1904 | * common/arch.c |
|
|
1905 | * common/living.c |
|
|
1906 | Ryo 2005-05-03 |
|
|
1907 | |
|
|
1908 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1909 | * include/sproto.h |
|
|
1910 | * socket/info.c |
|
|
1911 | * socket/item.c |
|
|
1912 | Ryo 2005-04-30 |
|
|
1913 | |
|
|
1914 | Change some char* to const char*, when values shouldn't be changed. Changed files: |
|
|
1915 | * include/sproto.h |
|
|
1916 | * server/apply.c |
|
|
1917 | * server/ban.c |
|
|
1918 | * server/spell_util.c |
|
|
1919 | Ryo 2005-04-27 |
|
|
1920 | |
|
|
1921 | server/skills.c: Change it so that jeweler skill is used to identify |
|
|
1922 | amulets, not alchemy skill. |
|
|
1923 | MSW 2005-04-27 |
|
|
1924 | |
|
|
1925 | Apply patch 1190107 so server compiles on HURD. |
|
|
1926 | common/porting.c: Add define for MAXPATHLEN |
|
|
1927 | socket/init.c: Add check for __GNU__ for setsockopt() |
|
|
1928 | MSW 2005-04-27 |
|
|
1929 | |
|
|
1930 | Change to have objects generated by creator properly fixed up (material, |
|
|
1931 | for potions, spell object, etc). |
|
|
1932 | --- |
|
|
1933 | common/treasure.c: add GT_MINIMAL flag to change_treasure() to do minimal |
|
|
1934 | processing for objects created. |
|
|
1935 | include/treasure.h: Add GT_MINIMAL define. |
|
|
1936 | server/apply.c: Add call to fix_generated_item() in convert_item() |
|
|
1937 | MSW 2005-04-27 |
|
|
1938 | |
|
|
1939 | Various minor bugfixes. |
|
|
1940 | common/los.c: Patch to fix negative lighting. Use isqrt instead of sqrt, |
|
|
1941 | so we only want integer values anyways. |
|
|
1942 | include/libproto.h, include/sproto.h: Rebuilt as there were some improperly |
|
|
1943 | matching prototypes. |
|
|
1944 | random_maps/rogue_layout.c: Replace sqrt with isqrt calls. |
|
|
1945 | server/c_misc.c: Make name_cmp() a static declaration so it won't be put |
|
|
1946 | in the sproto.h file. |
|
|
1947 | server/init.c: Remove /* within comment string. |
|
|
1948 | server/monster.c: Change sqrt to isqrt |
|
|
1949 | MSW 2005-04-16 |
|
|
1950 | |
|
|
1951 | Those changes are just changing char* to const char* in some function |
|
|
1952 | prototypes. |
|
|
1953 | Affected files: |
|
|
1954 | common/recipe.c |
|
|
1955 | common/region.c |
|
|
1956 | common/treasure.c |
|
|
1957 | common/utils.c |
|
|
1958 | include/libproto.h: match headers. |
|
|
1959 | server/main.c |
|
|
1960 | Ryo 2005-04-16 |
|
|
1961 | |
|
|
1962 | Those changes add the ability to transform items through 'item_transformer' |
|
|
1963 | (163)-type items |
|
|
1964 | See doc/Developers/item_transformation for more info. |
|
|
1965 | common/item.c: don't display 'slaying' field for food. |
|
|
1966 | include/define.h: add new 'ITEM_TRANSFORMER' type. |
|
|
1967 | include/sproto.h: add new function 'apply_item_transformer'. |
|
|
1968 | server/apply.c: new 'apply_item_transformer' function to handle that item type. |
|
|
1969 | Ryo 2005-04-15 |
|
|
1970 | |
|
|
1971 | common/map.c: map pathnames are now const char*, no reason for something else. |
|
|
1972 | common/region.c: remove unused variable. |
|
|
1973 | include/libproto.h: update functions definitions. |
|
|
1974 | include/sproto.h: weathermap_to_worldmap_corner now returns a const char*. |
|
|
1975 | include/win32.h: define missing NAME_MAX as MAX_BUF. |
|
|
1976 | server/c_misc.c: remove unused variable. Use const char* when possible. |
|
|
1977 | server/weather.c: weathermap_to_worldmap_corner now uses const char* as |
|
|
1978 | return type. |
|
|
1979 | Ryo 2005-04-14 |
|
|
1980 | |
|
|
1981 | Random map code improvements - add support for subdirectories in the |
|
|
1982 | style maps for random maps. Add difficulty_increase parameter for random |
|
|
1983 | maps to control how fast they get harder. |
|
|
1984 | doc/Developers/random-maps: Add notes about difficulty_increase parameter. |
|
|
1985 | random_maps/Makefile.am: Update proto directive to use cproto, not cextract. |
|
|
1986 | random_maps/random_map.c: Update to use difficulty_increase when figuring |
|
|
1987 | difficulty of maps. Add code to save it in list of parameters. |
|
|
1988 | random_maps/random_map.h: Add difficulty_increase field to structure. |
|
|
1989 | random_maps/reader.l, reader.c: Add code to find difficulty_increase parameter. |
|
|
1990 | random_maps/rproto.h: rebuilt. |
|
|
1991 | random_maps/special.c: Pass in difficulty increase to |
|
|
1992 | write_parameters_to_string() |
|
|
1993 | random_maps/style.c: Remove old scandir - replaced by our own load_dir() - |
|
|
1994 | necessary because we need to check type of files, which scandir doesn't |
|
|
1995 | easily let us do. Since it is now our own routine, just return |
|
|
1996 | array of file names instead of dirent structures. |
|
|
1997 | MSW 2005-04-13 |
|
|
1998 | |
|
|
1999 | utils/Makefile.am: Add cfmeta-rrd to list of files to add to distributions |
|
|
2000 | utils/cfmeta-rrd: Example of sample script that takes data and stores it into |
|
|
2001 | rrd file and draws graphs (new file). |
|
|
2002 | utils/metaserver.pl.in: Add recording of useful stats to external file so they |
|
|
2003 | can be processed by other external scripts. |
|
|
2004 | MSW 2005-04-13 |
|
|
2005 | |
|
|
2006 | server/shop.c: Pass in player object to pay_from_container() - code was |
|
|
2007 | trying to deref pouch->contr which was null. Only occurs when player |
|
|
2008 | has 2 different money objects of the same type, but 2 crashes observed |
|
|
2009 | on metalforge. |
|
|
2010 | MSW 2005-04-13 |
|
|
2011 | |
|
|
2012 | socket/image.c: Change esrv_send_face to check for <=0 instead of <0 on face |
|
|
2013 | number. |
|
|
2014 | socket/request.c: Change if statement that acted improperly to determine when |
|
|
2015 | to send faces. |
|
|
2016 | MSW 2005-03-27 |
|
|
2017 | |
|
|
2018 | include/sproto.h: get_who_escape_code_value is void, not void*. |
|
|
2019 | server/c_misc.c: move local function outside the function. |
|
|
2020 | server/c_wiz.c: remove sleep( 1 ) that would cause whole server to sleep one |
|
|
2021 | sec. |
|
|
2022 | Ryo 2005-03-23 |
|
|
2023 | |
|
|
2024 | common/living.c: Allow luck to drop back to zero. Limit bad luck object to |
|
|
2025 | +/-100 to prevent overflows. |
|
|
2026 | Andreas Kirschbaum 2005-03-22 |
|
|
2027 | |
|
|
2028 | common/living.c: When randomly adjusting luck, change both op->stats.luck and |
|
|
2029 | the applied bad_luck object. |
|
|
2030 | server/attack.c: Do not decrease luck if a player kills himself with a spell |
|
|
2031 | or pet. |
|
|
2032 | Andreas Kirschbaum 2005-03-20 |
|
|
2033 | |
|
|
2034 | server/c_wiz.c: change command_free() and command_remove() to always |
|
|
2035 | process the head of the object - doing this operations on the non head |
|
|
2036 | will typically always cause problems. |
|
|
2037 | MSW 2005-03-19 |
|
|
2038 | |
|
|
2039 | This change makes it so that the smoothing information is pushed to the client |
|
|
2040 | (if the client is using smoothing) instead of a process were we tell the |
|
|
2041 | client the smoothlevel and the client then has to request the face info for |
|
|
2042 | smoothing. If we know the client wants the info, much easier to push it to |
|
|
2043 | the client. This simplifies the client code (doesn't have to keep track |
|
|
2044 | of what is requests). It also fixes the 'problem' that when you join the |
|
|
2045 | game, you get a few frames with no smoothing and then the smoothing shows |
|
|
2046 | up, which seems a bit odd. My testing shows that old clients that want |
|
|
2047 | smoothing use this new logic withouth any problems. |
|
|
2048 | -- |
|
|
2049 | common/image.c: add smooth_face default so that we don't have to look it |
|
|
2050 | up everytime. |
|
|
2051 | include/define.h: Add SMOOTH_FACE_NAME used by image.c |
|
|
2052 | include/global.h: Add smooth_face extern declaration. |
|
|
2053 | include/newserver.h: Update comment on what faces_sent is used for, |
|
|
2054 | add NS_FACESENT_* values which determines what info for the face was |
|
|
2055 | sent. |
|
|
2056 | socket/image.c, socket/init.c, socket/item.c: Update faces_sent checks/set |
|
|
2057 | to check against NS_FACESENT bitmask. |
|
|
2058 | socket/request.c: Update faces_sent as mentioned above. And SendSmooth(), |
|
|
2059 | rewrite AskSmooth() to use SendSmooth(). Modify update_smooth() |
|
|
2060 | to send smoothing information to the client. |
|
|
2061 | MSW 2005-03-19 |
|
|
2062 | |
|
|
2063 | common/map.c: Clean up if statement ins blocked_link() which caused warning |
|
|
2064 | messages - broke it apart to make it a little clear. Add check for |
|
|
2065 | premature end of map header - make code more resilent in case of truncated |
|
|
2066 | saved maps. Fix saving of region name in new_save_map() - saving the |
|
|
2067 | pointer to the region isn't what the loader is expecting, and is highly |
|
|
2068 | non portable even if it was. |
|
|
2069 | MSW 2005-03-18 |
|
|
2070 | |
|
|
2071 | Applied patch: |
|
|
2072 | * #1145089 (cavesomething): Region support. |
|
|
2073 | common/Makefile.am: add new 'region.c' file. |
|
|
2074 | common/init.c: add 'REGIONS' setting. |
|
|
2075 | common/map.c: add 'region' map key. |
|
|
2076 | include/config.h: add regions file default name. |
|
|
2077 | include/global.h: add 'first_region' global variable and settings. |
|
|
2078 | include/libproto.h: add region.c functions prototypes. |
|
|
2079 | include/map.h: add region structure. |
|
|
2080 | include/sproto.h: add new region-related command. |
|
|
2081 | lib/Makefile.am: add 'regions' file. |
|
|
2082 | lib/regions (new): regions definition file. |
|
|
2083 | server/c_misc.c: add region information to current_map_info. Add new 'whereami' command. |
|
|
2084 | server/commands.c: add 'whereami' command. |
|
|
2085 | server/init.c: add regions settings, and load data. |
|
|
2086 | Ryo 2005-03-15 |
|
|
2087 | |
|
|
2088 | Applied patches: |
|
|
2089 | * #1119366 (salathar): wiz food, DMs don't use food anymore. |
|
|
2090 | * #1161816 (cowboyatheart) : Add wands/staves/rods/horns to new pickup. |
|
|
2091 | * #1119762 (salathar): afk command. |
|
|
2092 | common/loader.[lc]: add 'FLAG_AFK'. |
|
|
2093 | include/define.h: add 'PU_MAGIC_DEVICE. Add 'FLAG_AFK'. |
|
|
2094 | include/sproto.h: add 'command_afk'. |
|
|
2095 | server/c_misc.c: add 'AFK' to who display, add command_afk. |
|
|
2096 | server/c_object.c: add new flag to dump. |
|
|
2097 | server/commands.c: add command_afk. |
|
|
2098 | server/player.c: wiz don't use food. Check for rod/wand/horn for new pickup flag. |
|
|
2099 | Ryo 2005-03-13 |
|
|
2100 | |
|
|
2101 | *Makefile.in, aclocal.m4, configure, utils/config.guess, utils/config.sub, |
|
|
2102 | utils/ltmain.sh: Rebuild generated files. |
|
|
2103 | acinclude.m4: Check whether Python supports the "L" format specifier. Do not |
|
|
2104 | build python plugin if not. |
|
|
2105 | Andreas Kirschbaum 2005-03-09 |
|
|
2106 | |
|
|
2107 | common/{map.c, readable.c, treasure.c}, crossedit/Attr.c, server/{apply.c, |
|
|
2108 | attack.c, c_wiz.c, init.c, monster.c, pets.c, shop.c, skill_util.c, skills.c, |
|
|
2109 | spell_attack.c, spell_effect.c, time.c}, socket/{info.c, request.c}: Add |
|
|
2110 | missing newline character to LOG() messages. |
|
|
2111 | common/living.c, include/living.h: Change type of weight_limit to uint32. |
|
|
2112 | socket/request.c: Remove non-portable assignment to rvalue. |
|
|
2113 | doc/{README_PLUGINS.doc, README_PYTHON.txt, plugins}, doc/Developers/{README, |
|
|
2114 | plugins, python}: Update plugin documentation. |
|
|
2115 | plugin/plugin_python.c, plugin/include/plugin_python.h: Whitespace changes, |
|
|
2116 | remove obsolete comments. |
|
|
2117 | plugin/plugin_python.c: Only set WhoAmI when running the command registered by |
|
|
2118 | CFPython.RegisterCommand. Set default result value to "success". |
|
|
2119 | plugin/plugin_python.c: Fix memory leaks by freeing old strings before |
|
|
2120 | assigning a new value. |
|
|
2121 | plugin/plugin_python.c: Use correct format specifiers for item values and |
|
|
2122 | experience values. |
|
|
2123 | plugin/plugin_python.c: Make CFPython.IsCanBePicked return whether the object |
|
|
2124 | can be picked up. (Did return whether the object cannot be picked up.) |
|
|
2125 | plugin/plugin_python.c: Do not return a pointer to a variable on the stack. |
|
|
2126 | server/plugins.c: Fix pointer type mismatch while processing |
|
|
2127 | CFPython.RegisterCommand. |
|
|
2128 | plugin/plugin_python.c: Change second parameter of CFPython.CheckMap to use |
|
|
2129 | a map object instead of a map name. Now it works for tiles maps. |
|
|
2130 | acinclude.m4: Add check for python 2.4 to match this file with aclocal.m4. |
|
|
2131 | Andreas Kirschbaum 2005-03-06 |
|
|
2132 | |
|
|
2133 | plugin/plugin_python.c: Increase limits of values the Python script may set |
|
|
2134 | to the ranges given by objects in the archetypes file. |
|
|
2135 | Andreas Kirschbaum 2005-02-28 |
|
|
2136 | |
|
|
2137 | common/object.c, include/libproto.h: change nrof parameter of get_split_ob to |
|
|
2138 | uint32 type. |
|
|
2139 | server/c_object.c, include/sproto.h: change nrof parameter of drop_object to |
|
|
2140 | uint32 type. |
|
|
2141 | plugin/{plugin_python.c, include/plugin_python.h}, |
|
|
2142 | plugin_animator/{plugin_animator.c, include/plugin_animator.h}, |
|
|
2143 | server/{apply.c, attack.c, gods.c, monster.c, player.c, skills.c, time.c, |
|
|
2144 | timers.c}: Change type of CFParm.Value[5] and StackParm1[] to uint32 to be |
|
|
2145 | able to pass an "nrof" value. |
|
|
2146 | plugin/plugin_python.c, plugin/include/plugin_python.h: Remove spell wrapper |
|
|
2147 | functions. |
|
|
2148 | plugin/plugin_python.c, plugin/include/plugin_python.h: Replace skill-IDs by |
|
|
2149 | skill names. Remove skill-ID wrapper functions. |
|
|
2150 | Andreas Kirschbaum 2005-02-20 |
|
|
2151 | |
|
|
2152 | ------------------------------------------------------------------------------ |
|
|
2153 | Changes for 1.7.0: |
|
|
2154 | |
|
|
2155 | configure, configure.ac, include/autoconf.h.in: Update for |
|
|
2156 | version 1.7.0. Add check for libz - needed by libpng (at least on my |
|
|
2157 | system), which is needed for the editor. |
|
|
2158 | MSW 2005-01-23 |
|
|
2159 | |
|
|
2160 | common/object.c: Change CAN_MERGE() from an inline function, since |
|
|
2161 | it calls itself and inline functions are not supposed to do that. |
|
|
2162 | Update type check in insert_ob_in_map() to check against defined |
|
|
2163 | type (EXIT) instead of hardcoded integer value (66). |
|
|
2164 | crossedit/xutil.c: Update to just include Defines.h, which then includes |
|
|
2165 | all the other necessary files, including global.h. |
|
|
2166 | include/global.h: Add #ifdef checks for the UINT*_MAX types, as some |
|
|
2167 | systems already define these values, which results in a redefinition |
|
|
2168 | error. Also fix up // style comment. |
|
|
2169 | include/shstr.h: Include proper cast in TOPBIT definition. |
|
|
2170 | server/main.c: Don't display 'xyz left the game' messages if the player |
|
|
2171 | is only at the get name or get password prompt. Prevents possible |
|
|
2172 | spoofing of that message. |
|
|
2173 | server/player.c: Clean up formatting of check_pick() function. If player |
|
|
2174 | is using newpickup to pick up booze, also pick up poison unless |
|
|
2175 | they know it is cursed. |
|
|
2176 | socket/request.c: AskSmooth() - change buffer type to uint8 so that |
|
|
2177 | it matches what the SockList structure wants. |
|
|
2178 | utils/scores.pl.in: Use skill_praying to find players god, and not the |
|
|
2179 | deprecated experience_wis object. |
|
|
2180 | MSW 2005-01-23 |
|
|
2181 | |
|
|
2182 | aclocal.m4, configure: Add check for python 2.4. |
|
|
2183 | common/re-cmp.c: Fix improper comparison *(str+1) instead of str+1 |
|
|
2184 | server/login.c: don't allow null names. |
|
|
2185 | server/main.c: Disable logging of removed objects - filling up log |
|
|
2186 | files on archmage of all the errors. |
|
|
2187 | server/player.c: Fix improper initialization of attacktype in |
|
|
2188 | for loop. Give players max grace, sp when they die - also, if they |
|
|
2189 | are near starvation, give them a bunch of food. |
|
|
2190 | server/spell_effect.c: Put cap on duration of godly retribution - it |
|
|
2191 | can otherwise last so long that if a player is killed by it at |
|
|
2192 | their savebed location, spell could still go on after players |
|
|
2193 | temporary immunity ends. Retribution as increases in damage, |
|
|
2194 | so no need to really increase damage and duration to really high |
|
|
2195 | amounts. |
|
|
2196 | server/spell_util.c: In fire_arch_from_position(), and check that |
|
|
2197 | player isn't casting spell on top of wall - fixes for many |
|
|
2198 | spells, including ball lightning. |
|
|
2199 | server/time.c: Change comparsion on return of get_map_flags() from |
|
|
2200 | == P_OUT_OF_MAP to & P_OUT_OF_MAP - keeps syntax consistent. |
|
|
2201 | MSW 2005-01-11 |
|
|
2202 | |
|
|
2203 | plugin/plugin_python.c, plugin_animator/plugin_animator.c, |
|
|
2204 | plugin_animator/plugin_animator.c: Use script return value set by |
|
|
2205 | CFPython.SetReturnValue(): access to stack was off by one. Do not return a |
|
|
2206 | pointer to a local variable on the stack. |
|
|
2207 | plugin/plugin_python.c, plugin_animator/plugin_animator.c: Handle all defined |
|
|
2208 | events. |
|
|
2209 | Andreas Kirschbaum 2005-01-10 |
|
|
2210 | |
|
|
2211 | server/spell_attack.c: apply patch #1096921 courtesy Salathar. |
|
|
2212 | Charmed monsters now lose the 'generator' flag, to prevent |
|
|
2213 | things like mice outbreak in bigworld maps. |
|
|
2214 | Ryo 2005-01-07 |
|
|
2215 | |
|
|
2216 | plugin/plugin_pyhton.c, plugin/include/plugin_python.h: Remove obsolete |
|
|
2217 | functions: SetGender, SetRank, SetAlignment, SetGuildForce, GetGuildForce, |
|
|
2218 | CreatePlayerForce, CreatePlayerInfo, GetPlayerInfo, GetNextPlayerInfo, |
|
|
2219 | SetPreviousObject, SetNextObject. |
|
|
2220 | plugin/plugin_python.c, plugin/include/plugin_python.h: Add missing attack type |
|
|
2221 | wrapper functions, function CFPython.SetDamned(), wrapper functions for |
|
|
2222 | missing cost flags, and wrapper functions for event types. |
|
|
2223 | plugin/plugin_python.c: Add an optional parameter to CFPython.SetName() to |
|
|
2224 | specify name_pl as well. Always set name_pl. |
|
|
2225 | plugin/plugin_python.c: Fix a buffer overflow in CFPython.RegisterCommand(): |
|
|
2226 | allocated memory was not sufficient to hold the trailing '\0'. |
|
|
2227 | plugin/plugin_python.c: Use #define constants. |
|
|
2228 | plugin/include/plugin_python.h, plugin/plugin_python.c, |
|
|
2229 | plugin_animator/plugin_animator.c, server/plugins.c: General cleanup - merge |
|
|
2230 | duplicate code, remove debugging code, rename variables, rename C function |
|
|
2231 | names to match the Python function name, use hook functions where |
|
|
2232 | appropriate. |
|
|
2233 | include/sproto.h, plugin/plugin_python.c, server/plugins.c, server/shop.c: |
|
|
2234 | Use uint64 type for variables holding money. Use Python long integers to |
|
|
2235 | pass these variables to/from the Python plugin. |
|
|
2236 | Andreas Kirschbaum 2005-01-07 |
|
|
2237 | |
|
|
2238 | plugin/plugin_python.c: Check values passed in from the Python code; generate |
|
|
2239 | proper Python exceptions for invalid values. |
|
|
2240 | plugin/plugin_python.c, plugin_animator/plugin_animator.c: Make sure all |
|
|
2241 | fields on the stack are initialized. Prevent stack overflow: check was one |
|
|
2242 | off, causing a buffer overflow. Decrement stack pointer in error case. |
|
|
2243 | Andreas Kirschbaum 2005-01-06. |
|
|
2244 | |
|
|
2245 | common/regexp.c: Fixed couple flaws in regexp handling. First, there was an |
|
|
2246 | off by one error in the handling of matches (if the match was for example |
|
|
2247 | eureca, player could just say eurec, and it would treat that as a valid |
|
|
2248 | match). Second case was that the regular expression logic would not |
|
|
2249 | try comparing the rest of the passed in string after a partial match - |
|
|
2250 | In the eureca case above, if the passed in string was 'where is eureca', |
|
|
2251 | after matching the first e (in where), it then fails to match the |
|
|
2252 | next letter and would give up. It now tries comparing the rest of |
|
|
2253 | the passed in string with the regex (so after that failure, it |
|
|
2254 | will try to match 're is eureca'. |
|
|
2255 | server/apply.c: Add missing 'return 0' to shop_mat code that is needed |
|
|
2256 | to prevent unpaid objects from teleporting out of the shop. Also |
|
|
2257 | extend code so that non living objects can't use shop mats. |
|
|
2258 | server/player.c: Insert force into the player when they die making them |
|
|
2259 | immune to any spells on the space they reappear on - this prevents |
|
|
2260 | multiple deaths if there is large spell effect going on in the |
|
|
2261 | savebed location. Duration of force should be long enough for most |
|
|
2262 | spells to run their course, but no so long that the player can use |
|
|
2263 | it for much of an advantage (plus, killing yourself to get such |
|
|
2264 | an advantage seems odd, and the force only makes the player immune |
|
|
2265 | to the attacktypes currently on the space) |
|
|
2266 | server/spell_effect.c: Fix spell casting walls (lighting wall, |
|
|
2267 | firewall, etc) in that the spell object they cast was not being |
|
|
2268 | inserted, resulting in the walls not doing anything. |
|
|
2269 | MSW 2004-12-28 |
|
|
2270 | |
|
|
2271 | Applied patch (bug misc/zoo2) by Lalo |
|
|
2272 | server/time.c: creators can now create multi part objects. |
|
|
2273 | Applied patch 1086102 by Salathar: |
|
|
2274 | server/attack.c: If player kills another player, add (pk) to the death |
|
|
2275 | message. |
|
|
2276 | Applied patch 1086103 by Salathar: |
|
|
2277 | server/move.c: If player pushes another player, send message to both players |
|
|
2278 | that pushed happened. Previously, when pushing another player, the pusher |
|
|
2279 | wouldn't get any notice. |
|
|
2280 | MSW 2004-12-28 |
|
|
2281 | |
|
|
2282 | |
|
|
2283 | Applied patch 1001079 - make alchemy books say what skill & equipment |
|
|
2284 | is needed - by Kevin Rudat. |
|
|
2285 | common/readable.c: Update code that generates book title, contents |
|
|
2286 | to denote what skill and equipment is needed. |
|
|
2287 | random_maps/{random_map.c, reader.l, reader.c}, server/main.c: |
|
|
2288 | Remove generate_treasure_now as an option |
|
|
2289 | for random maps - none are using delayed treasure, and IMO, if someone |
|
|
2290 | did, it would horribly break things, so it should never be used - given |
|
|
2291 | that, no reason to leave the code there. |
|
|
2292 | server/main.c: Add additional debugging for process events on removed |
|
|
2293 | objects - trying to track down occasional disease crash. |
|
|
2294 | server/time.c: Fix crash in move_player_mover() - it was never map tile |
|
|
2295 | aware, but even more so, appears to have always been broken if the |
|
|
2296 | player move tried to push the player off the edge of a map. Check |
|
|
2297 | for out of map condition, as well as make it map tile aware. |
|
|
2298 | MSW 2004-12-28 |
|
|
2299 | |
|
|
2300 | Applied patches #1086095 and 1088385 courtesy Salathar: |
|
|
2301 | common/map.c: hidden DM is non blocking |
|
|
2302 | server/c_chat: can't do emotions towards hidden DMs. Player's emotions |
|
|
2303 | always displayed in split window. |
|
|
2304 | server/c_wiz.c: add an extra player leave message when DM hides |
|
|
2305 | server/main.c: don't display leave messages for hidden DM when connection timeout |
|
|
2306 | server/c_party.c: party password max length is 7, due to buffer size. |
|
|
2307 | (i think it was a patch from Casper?) |
|
|
2308 | Ryo 2004-12-25 |
|
|
2309 | |
|
|
2310 | server/c_wiz.c: Remove item when 'free' by DM if not removed, avoiding crash. |
|
|
2311 | Ryo 2004-12-22 |
|
|
2312 | |
|
|
2313 | server/c_party.c: Make party passwords of 8 characters work, disallow longer |
|
|
2314 | passwords. Based on patch #1080096 from Casper. |
|
|
2315 | Correct help message for party commands. |
|
|
2316 | Andreas Kirschbaum 2004-12-10 |
|
|
2317 | |
|
|
2318 | plugin/plugin_python.c: change 'long long' so 'sint64' (typedef). |
|
|
2319 | Ryo Saeba 2004-11-29 |
|
|
2320 | |
|
|
2321 | common/object.c: apply patch #1066665 courtesy Salathar for exits with |
|
|
2322 | blockview 1. |
|
|
2323 | lib/formulae: apply patch #1064643 courtesy Salathar to fix broken formulae. |
|
|
2324 | lib/wizhelp/speed: remove file, command changed name. |
|
|
2325 | lib/wizhelp/server_speed: updated 'speed' command help. |
|
|
2326 | server/c_wiz.c: apply patch #1063051 courtesy Salathar to update muzzle message. |
|
|
2327 | server/commands.c: apply patch #1052224 courtesy Casper to change |
|
|
2328 | 'speed' to 'server_speed' as name is ambiguous. |
|
|
2329 | Ryo Saeba 2004-11-25 |
|
|
2330 | |
|
|
2331 | common/loader.l: Fix passed size in FAST_SAVE_LONG() - was one too long, |
|
|
2332 | causing truncated diffs after "dam_modifier" entry. |
|
|
2333 | Andreas Kirschbaum 2004-11-15 |
|
|
2334 | |
|
|
2335 | This commit adds the functionality of patch 991916, although the patch |
|
|
2336 | as submitted was used as a baseline to start from. |
|
|
2337 | include/sproto.h: rebuilt |
|
|
2338 | server/c_chat.c: Rename command_chat() to command_tell_all() which takes |
|
|
2339 | a few more optional parameters. Add command_shout() and command_chat() |
|
|
2340 | that invoke command_tell_all() with the appropriate changes. |
|
|
2341 | server/commands.c: Add chat to list of command table. |
|
|
2342 | MSW 2004-11-08 |
|
|
2343 | |
|
|
2344 | plugin/plugin_python.c: Run the script python_init.py right after |
|
|
2345 | initializing the interpreter. |
|
|
2346 | Andreas Kirschbaum 2004-10-21 |
|
|
2347 | |
|
|
2348 | server/c_party.c: actually warn party members of password change. Notify when |
|
|
2349 | someone joins party. |
|
|
2350 | Ryo 2004-10-21 |
|
|
2351 | |
|
|
2352 | plugin/plugin_python.c, plugin/include/plugin_python.h, server/plugins.c: |
|
|
2353 | Fix comments, change whitespace. |
|
|
2354 | Andreas Kirschbaum 2004-10-19 |
|
|
2355 | |
|
|
2356 | Fix some bugs I introduced in my last commit. |
|
|
2357 | common/map.c: Add back in call to sum_weight that got removed when removing |
|
|
2358 | the object checking code. |
|
|
2359 | common/treasure.c: Have fix_generated_item() blank out the randomitems |
|
|
2360 | field after it has created treasure. |
|
|
2361 | server/apply.c: Only clear randomitems after create_treasure() - don't |
|
|
2362 | presume it should get blanked out for other reasons - with change |
|
|
2363 | to treasure.c above, this should be more reliable and fix starting |
|
|
2364 | skill issue, as randomitems was getting blanked out for CLASS object. |
|
|
2365 | server/main.c: Change processing of players a little - found crash where |
|
|
2366 | autosave was called for a removed player (map had got swapped out) - |
|
|
2367 | don't do autosave logic if player is removed. Move the autosave code |
|
|
2368 | to after the players action, so that can just have a single check of |
|
|
2369 | removed status. |
|
|
2370 | MSW 2004-10-17 |
|
|
2371 | |
|
|
2372 | include/sproto.h, server/egoitem.c: Change create_artifact() to return whether |
|
|
2373 | the artifact was created. |
|
|
2374 | server/plugins.c: Change CFWCreateArtifact()/HOOK_CREATEARTIFACT to return |
|
|
2375 | whether the artifact was created. |
|
|
2376 | plugin/plugin_python.c: Define new function create_object() to create |
|
|
2377 | objects. Use this function to fix CFPython.CreateObjectInside() and |
|
|
2378 | CFPython.CreateObject(): creation of artifacts does work now. |
|
|
2379 | plugin/plugin_python.c: Fix CFPython.GetNextPlayerInfo() to work with long |
|
|
2380 | force names. Remove duplicate variable initialization. |
|
|
2381 | server/plugins.c: Remove the use of malloc() in initOnePlugin(). |
|
|
2382 | Andreas Kirschbaum 2004-10-18 |
|
|
2383 | |
|
|
2384 | plugin/plugin_python.c, plugin_animator/animator_box.c, |
|
|
2385 | plugin_animator/plugin_animator.c, plugin_logger/arena.c, |
|
|
2386 | plugin_logger/plugin_logger.c: Use HOOK_FREEMEMORY to free memory allocated |
|
|
2387 | by HOOK-functions. Fix memory leaks. |
|
|
2388 | plugin/plugin_python.c, server/plugin.c, plugin_animator/animator_box.c: Fix |
|
|
2389 | some more mismatches between plugin interface and implementation. |
|
|
2390 | CFPython.Get/SetSkillExperience() use 64-bit exp values now. |
|
|
2391 | CFPython.CastAbility() works again. |
|
|
2392 | Andreas Kirschbaum 2004-10-16 |
|
|
2393 | |
|
|
2394 | plugin/plugin_python.c, server/plugin.c: Fix type mismatches between plugin |
|
|
2395 | interface and implementation. |
|
|
2396 | plugin/plugin_python.c, server/plugin.c: Add/remove "static" to/from some |
|
|
2397 | variables. Fixes a memory leak in CFPython.SaveObject(). |
|
|
2398 | plugin/plugin_python.c: Fix reference counting for Python objects. |
|
|
2399 | Andreas Kirschbaum 2004-10-15 |
|
|
2400 | |
|
|
2401 | common/living.c: Fix exp functions to use the player objects expmul |
|
|
2402 | value when determining level gains, and not the skills. Also, |
|
|
2403 | fix bug where players last hp/sp/grace gain I think was being |
|
|
2404 | re-rolled when player gained level in skill. |
|
|
2405 | common/loader.l, loader.c: Add better recording of non existant objects |
|
|
2406 | (no archetype for them) in maps. Also, handle such objects in |
|
|
2407 | players inventories properly (which is to just discard them) |
|
|
2408 | common/map.c: Add better logging about discarded archetypes. Since the |
|
|
2409 | loader now deals with objects without archs in inventories, that |
|
|
2410 | code doesn't need to be in the server. |
|
|
2411 | common/object.c: copy_object() was not properly nulling out the |
|
|
2412 | next field in the event object, pointer to event list was also |
|
|
2413 | incorrect, causing events to not be copied properly. |
|
|
2414 | doc/spoiler-html/spoiler.html: Rebuilt. |
|
|
2415 | server/apply.c: Apply patch by MT that fixes problem of entire inventory |
|
|
2416 | not being copied properly. Fix problem that objects in creatures |
|
|
2417 | were not having any sub treasure created (eg, put a pyro_book in |
|
|
2418 | a monster on the map, and the pyro_book wouldn't have a spell in |
|
|
2419 | it) - now we make sure we process inventory objects as well as map |
|
|
2420 | objects, creating treasure as needed. |
|
|
2421 | server/monster.c: Reverse order of cast_spell() and drain_rod() in |
|
|
2422 | monster_use_range() - drain_rod() should go first, because |
|
|
2423 | case_spell() can in rare cases destroy the rod. |
|
|
2424 | MSW 2004-10-14 |
|
|
2425 | |
|
|
2426 | server/c_misc.c: Add natural skin resistances to 'statistics' output for |
|
|
2427 | dragon players. |
|
|
2428 | Ryo 2004-10-10 |
|
|
2429 | |
|
|
2430 | common/readable.c: Apply patch by Kevin Rudat to add some alchemy book names. |
|
|
2431 | common/readable.c: Apply patch by Kevin Rudat to fix buffer overrun while |
|
|
2432 | generating book titles. |
|
|
2433 | Andreas Kirschbaum 2004-10-09 |
|
|
2434 | |
|
|
2435 | include/sproto.h: Add function prototype. |
|
|
2436 | server/c_wiz.c: Add 'command_stack_clear' to clear DM item stack. |
|
|
2437 | server/commands.c: Link function to function array. |
|
|
2438 | Ryo 2004-09-26 |
|
|
2439 | |
|
|
2440 | server/player.c: Allow to 'reply' to players that logged out but did not yet |
|
|
2441 | drop the connection. Now reply works like other communication commands. |
|
|
2442 | common/utils.c: Fix random_roll() and die_roll() to not return out of range |
|
|
2443 | values. |
|
|
2444 | include/define.h: Add parentheses around arguments of FABS macro. |
|
|
2445 | Andreas Kirschbaum 2004-09-19 |
|
|
2446 | |
|
|
2447 | server/rune.c: Prevent creation of level 0 runes. Re-enable runes to cast |
|
|
2448 | multiple spells. |
|
|
2449 | Andreas Kirschbaum 2004-09-14 |
|
|
2450 | |
|
|
2451 | include/config.h: fix Win32 log path so there actually is a log. |
|
|
2452 | plugin/plugin_python.c: uint doesn't exist under Win32, use uint32 instead. |
|
|
2453 | |
|
|
2454 | Patches from tracker, courtesy Kurtat: |
|
|
2455 | patch 1022942: Random documentation updates |
|
|
2456 | doc/SurvivalGuide |
|
|
2457 | doc/Developers/programming_guide |
|
|
2458 | doc/Developers/protocol |
|
|
2459 | lib/settings |
|
|
2460 | lib/help/cast |
|
|
2461 | patch 1022973: Words for numbers in spellbook description |
|
|
2462 | server/c_object |
|
|
2463 | Ryo 2004-09-12 |
|
|
2464 | |
|
|
2465 | server/attack.c: Pass in skill (string) to change_exp instead of skop->skill - |
|
|
2466 | skop can be null, resulting in a crash here. In addition, other calls |
|
|
2467 | to change_exp in this function use the skill string, so it is good to |
|
|
2468 | be consistent. |
|
|
2469 | MSW 2004-09-09 |
|
|
2470 | |
|
|
2471 | server/c_wiz.c: Don't forget to skip blanks after reading item number or stack |
|
|
2472 | position. Works better for commands like patch :) |
|
|
2473 | Ryo 2004-09-06 |
|
|
2474 | |
|
|
2475 | common/object.c: Fix insert_ob_in_map so right coordinates and map |
|
|
2476 | value are used on GET_MAP_OB call - was using values before changes |
|
|
2477 | for tiling were applied. |
|
|
2478 | MSW 2004-09-02 |
|
|
2479 | |
|
|
2480 | server/player.c: allow to 'talk' to players with ambiguous names: use a |
|
|
2481 | perfect match even if other partial matches exist. |
|
|
2482 | Andreas Kirschbaum 2004-08-30 |
|
|
2483 | |
|
|
2484 | include/define.h |
|
|
2485 | server/shop.c |
|
|
2486 | add new flags F_IDENTIFIED and F_NOT_CURSED to query_cost() to pretend |
|
|
2487 | the item to be identified/not cursed or damned. |
|
|
2488 | server/alchemy.c |
|
|
2489 | fix possible abuse of shadow alchemy: do not allow the generated items |
|
|
2490 | to be more valuable than the ingredients when using alternate recipes. |
|
|
2491 | Andreas Kirschbaum 2004-08-24 |
|
|
2492 | |
|
|
2493 | common/map.c: Add extra check to make sure variable is set before calling |
|
|
2494 | strcmp - this can happen if the map file that is being loaded is |
|
|
2495 | 0 bytes - without this, the server would crash. |
|
|
2496 | MSW 2004-08-23 |
|
|
2497 | |
|
|
2498 | |
|
|
2499 | server/disease.c: fix crash when casting diseases on tiled maps. |
|
|
2500 | server/move.c: fix problem with multi-tile monsters and pass thru walls. |
|
|
2501 | server/spell_effect.c: fix magic walls sometimes appearing in wrong place. |
|
|
2502 | Andreas Kirschbaum 2004-08-20 |
|
|
2503 | |
|
|
2504 | common/loader.l, loader.c: in check_loaded_object() - don't give spell |
|
|
2505 | objects inventory if we are in the arch_init phase. When loading objects |
|
|
2506 | in common loader routine, if object doesn't have arch, set the object |
|
|
2507 | name to the arch name so that it is more meaningful than 'singularity'. |
|
|
2508 | common/map.c: If object has inventory, check to make sure the inventory |
|
|
2509 | objects have an archetype set - if not, remove and free the object - |
|
|
2510 | objects without archetypes causes crashes. |
|
|
2511 | MSW 2004-08-17 |
|
|
2512 | |
|
|
2513 | server/apply.c: fix_auto_apply() - add some debugging statements, as I've |
|
|
2514 | seen crashes caused by monsters with scrolls with no spells - need to |
|
|
2515 | figure out how those are showing up. |
|
|
2516 | server/c_wiz.c: command_kick() - fix occasional crashes when player isn't |
|
|
2517 | on any map when kicked. command_create() largely rewritten so it doesn't |
|
|
2518 | crash the server on any malformed values passed in, add some more features |
|
|
2519 | so it should be easier to create objects. |
|
|
2520 | MSW 2004-08-16 |
|
|
2521 | |
|
|
2522 | server/apply.c: better to not create a treasure for spellbooks that already have |
|
|
2523 | something in inventory. Else you get 2 spells in the book, which then |
|
|
2524 | mutates when loading (first spell is the book's spell, and order changes every |
|
|
2525 | load/save...) |
|
|
2526 | Ryo 2004-08-16 |
|
|
2527 | |
|
|
2528 | Those changes mostly add an item stack for DMs. It makes it easier to dump & patch & |
|
|
2529 | manipulate items without having to copy numbers all the time. |
|
|
2530 | Basically, you can use '$x', meaning item at position x on stack. Or even |
|
|
2531 | omit argument, defaulting to stack top. |
|
|
2532 | When using an object number, it gets stacked automatically (up to 50 items). |
|
|
2533 | Also add a 'diff' command, letting the DM see the result of 'get_ob_diff' on items, |
|
|
2534 | to spot differences easily. |
|
|
2535 | |
|
|
2536 | common/player.c: free item stack when freeing player structure. |
|
|
2537 | include/player.h: add item stack to player structure. |
|
|
2538 | include/sproto.h: new functions for stack. |
|
|
2539 | include/win32.h: missed commit for 1.6.1 version. |
|
|
2540 | server/c_misc.c: push item dumped with 'deumpbelow' on dm stack. |
|
|
2541 | server/c_wiz.c: add stack functions. Use'em on patch, create, remove, free, and such. |
|
|
2542 | Add 'diff' command. |
|
|
2543 | server/commands.c: add new stack & diff commands. |
|
|
2544 | Ryo 2004-08-15 |
|
|
2545 | |
|
|
2546 | server/spell_attack.c: fix mood_change when spell has no attacktype. |
|
|
2547 | In this case, do a specific saving throw, to ensure a level 1 player |
|
|
2548 | can't charm a level 125 monster. |
|
|
2549 | Ryo 2004-08-14 |
|
|
2550 | |
|
|
2551 | random_maps/exit.c |
|
|
2552 | random_maps/random_map.c |
|
|
2553 | random_maps/random_map.h |
|
|
2554 | random_maps/reader.l |
|
|
2555 | random_maps/rproto.h |
|
|
2556 | random_maps/special.c |
|
|
2557 | random_maps/wall.c |
|
|
2558 | added fix for random maps with single arch walls, |
|
|
2559 | added level indicator on random map signs |
|
|
2560 | added new parameter 'exit_on_final_map'- see documentation |
|
|
2561 | TM 2004-08-07 |
|
|
2562 | |
|
|
2563 | include/plugin.h |
|
|
2564 | plugin/plugin_python.c |
|
|
2565 | server/c_wiz.c |
|
|
2566 | server/plugins.c |
|
|
2567 | add event hooks for Kick and Muzzle(toggle_shout) commands. |
|
|
2568 | fix CFSetQuantity by changing the int to uint and remove 100000 item limit. |
|
|
2569 | pythonplug now looks for event scripts in maps/python/events. |
|
|
2570 | TM 2004-08-02 |
|
|
2571 | |
|
|
2572 | server/skills.c: xp for writing is now multiplied by skill level, to |
|
|
2573 | make it possible to level. |
|
|
2574 | Ryo 2004-07-17 |
|
|
2575 | |
|
|
2576 | common/loader.c: add #ifndef for non-existant Win32 header |
|
|
2577 | include/win32.h: #define vsnprintf _vsnprintf to fix linking issue |
|
|
2578 | Ryo 2004-07-03 |
|
|
2579 | |
|
|
2580 | server/skill_util.c: Fix skills command so that it properly displays |
|
|
2581 | percentage of permanent exp. |
|
|
2582 | server/time.c: Modify move_arrow() so that it removes thrown objects |
|
|
2583 | with no inventory. |
|
|
2584 | MSW 2004-06-22 |
|
|
2585 | |
|
|
2586 | socket/info.c: Replace sprintf() calls with snprintf() - got metalforge |
|
|
2587 | crash with apparent buffer overun - going to snprintf should prevent |
|
|
2588 | the problem in the future. |
|
|
2589 | MSW 2004-06-21 |
|
|
2590 | |
|
|
2591 | server/c_wiz.c: for command_create() - check to see if 'of' parameter |
|
|
2592 | is a spell archetype name, and do the right thing if it is. This |
|
|
2593 | allows things like 'create rod_heavy of spell_large_lightning'. |
|
|
2594 | Note that the command_create is still a seriously broken function |
|
|
2595 | in many regards. |
|
|
2596 | server/rune.c: Fix write_rune() when trying to find the spell in encase |
|
|
2597 | in the rune - assignment was incorrect, so it always took the last |
|
|
2598 | matching spell in the players inventory, not the best matching spell. |
|
|
2599 | server/spell_util.c: Change the call to prayer_failure() so that its |
|
|
2600 | potency is based on how badly short the player is short of grace. Eg, |
|
|
2601 | if only 1 point short, potency of 1. This changes from before where |
|
|
2602 | the potency was always the difference in mana. |
|
|
2603 | MSW 2004-06-17 |
|
|
2604 | |
|
|
2605 | server/attack.c: Fix hit_with_arrow() so that it uses the proper map |
|
|
2606 | when inserting the arrow. |
|
|
2607 | server/c_wiz.c: Add note about brokeness of command_create() |
|
|
2608 | server/spell_effect.c: execute_word_of_recall() - don't attempt recall |
|
|
2609 | if player isn't on any map. |
|
|
2610 | MSW 2004-06-15 |
|
|
2611 | |
|
|
2612 | common/object.c |
|
|
2613 | include/define.h |
|
|
2614 | include/player.h |
|
|
2615 | include/sproto.h |
|
|
2616 | server/attack.c |
|
|
2617 | server/c_object.c |
|
|
2618 | server/player.c |
|
|
2619 | server/shop.c |
|
|
2620 | socket/item.c |
|
|
2621 | socket/loop.c |
|
|
2622 | socket/request.c: Remove explicit calls to |
|
|
2623 | esrv_update_item(UPD_WEIGHT, pl, pl) for player objects. Instead |
|
|
2624 | send the new weight whenever it changes. |
|
|
2625 | Andreas Kirschbaum 2004-06-13 |
|
|
2626 | |
|
|
2627 | server/spell_attack.c: cast_destruction() - have it change the skill |
|
|
2628 | for the caster so that exp is properly awarded. |
|
|
2629 | common/object.c: insert_map_in_ob() - remove CAN_MERGE checks after the |
|
|
2630 | map translation - otherwise, we can have bogus coordinates |
|
|
2631 | that are used for GET_MAP_OB. |
|
|
2632 | random_maps/style.c: pick_random_object() - have it return null object |
|
|
2633 | (and probably crash) instead of getting into an infinite loop. |
|
|
2634 | server/c_wiz.c: command_kick() - check FLAG_FREED of player. Remove all |
|
|
2635 | the broken skill/exp object granting code in command_possess() - this |
|
|
2636 | is probably still a broken function. |
|
|
2637 | common/item.c: describe_monster() - if the creature/player is stealthy, |
|
|
2638 | mention it when the object is described. |
|
|
2639 | common/loader.l, loader.c: Fix passed in size to get_ob_diff() - was one |
|
|
2640 | to long, causing string corruption. |
|
|
2641 | server/spell_attack.c: mood_change() - fix get_map_ob call - wasn't using |
|
|
2642 | correct coordinate variables, resulting in crash. |
|
|
2643 | MSW 2004-06-10 |
|
|
2644 | |
|
|
2645 | server/c_party.c: gsay improvements, courtesy Katia. |
|
|
2646 | Ryo 2004-06-09 |
|
|
2647 | |
|
|
2648 | server/commands.c: Disable 'possess', that crashes server. |
|
|
2649 | server/monster.c: Make monsters use wands/horns/... again. Also make'em |
|
|
2650 | ignore DMs all the time (even when not invisible). |
|
|
2651 | server/skill_util.c: Fix the change_skill when called for monsters. |
|
|
2652 | Ryo 2004-06-06 |
|
|
2653 | |
|
|
2654 | server/c_misc.c: Add sum_weight() call to fix_me command so that players |
|
|
2655 | weight is properly recalculated. |
|
|
2656 | server/skills.c: Fix up attempt_steal() so that it doesn't improperly |
|
|
2657 | remove object from target when person doing the stealing can't pick |
|
|
2658 | it up. |
|
|
2659 | server/spell_attack.c: Set maxhp properly, so multipled fireballs, etc |
|
|
2660 | can be going off at the same time. |
|
|
2661 | server/spell_effect.c: Fix up cast_create_missile() so more esoteric |
|
|
2662 | missiles can be created. |
|
|
2663 | MSW 2004-05-31 |
|
|
2664 | |
|
|
2665 | include/sproto.h: new 'dmhide' command. |
|
|
2666 | server/commands.c: new 'dmhide' command. |
|
|
2667 | server/c_wiz.c: added 'dmhide' command. Player becomes DM, and 'hide's immediately. Others |
|
|
2668 | only see him/her leave the game, they don't know s/he's DM. |
|
|
2669 | Ryo 2004-05-24 |
|
|
2670 | |
|
|
2671 | include/book.h: Increase the size of BOOK_BUF, so inscribed books can hold |
|
|
2672 | more informatin. |
|
|
2673 | lib/Makefile.am, lib/Makefile.in: Add the 'rename' to the list of help |
|
|
2674 | files. |
|
|
2675 | lib/archetypes: update the glyph/rune spells to have proper face. |
|
|
2676 | lib/bmaps, lib/crossfire.* - add glyph.111 image. |
|
|
2677 | server/gods.c: Modify tailor_god_spell() to look harder to find a god - |
|
|
2678 | necessary for glyph spells. |
|
|
2679 | server/spell_attack.c: Give players 50% of exp for monsters they charm. |
|
|
2680 | MSW 2004-05-19 |
|
|
2681 | |
|
|
2682 | common/object.c: Correct get_search_arr() to return a proper permutation. |
|
|
2683 | Andreas Kirschbaum 2004-05-18 |
|
|
2684 | |
|
|
2685 | server/main.c: Have process_events display information from dumped object. |
|
|
2686 | also, more refinement on checking of object status. |
|
|
2687 | MSW 2004-05-16 |
|
|
2688 | |
|
|
2689 | server/build_map.c: change 'player' variable to 'pl', since a player |
|
|
2690 | structure already exists. Also fix disappearing pedestals on non-unique |
|
|
2691 | maps (put'em over floor, they are visible but hey, can't have everything :p) |
|
|
2692 | server/c_wiz.c: fix learn_spell. |
|
|
2693 | Ryo 2004-05-16 |
|
|
2694 | |
|
|
2695 | server/main.c: freeing removed objects appeared to have more of a |
|
|
2696 | consequence than expected - only remove the object if it was on a map |
|
|
2697 | (op->map). It turns out that the artifact code uses objects that |
|
|
2698 | are removed to store what the new object is. |
|
|
2699 | server/spell_effect.c: Fix cast_create_food() to call |
|
|
2700 | find_archetype_by_object_name() instead of find_archetype(). In this |
|
|
2701 | way, players can use invoke without having to know the archetype name. |
|
|
2702 | server/c_wiz.c: Modify command_banish() to record dm name, player name, |
|
|
2703 | and date of command. |
|
|
2704 | server/acinclude.m4: Patch by acinclude.m4 to add python 2.3 support. |
|
|
2705 | Rebuilt files (Makefile.in, aclocal.m4, configure, configure.in). add |
|
|
2706 | config.guess, config.sub since automake now includes them in the Makefile.in |
|
|
2707 | file. |
|
|
2708 | MSW 2004-05-15 |
|
|
2709 | |
|
|
2710 | |
|
|
2711 | Added a new item type: ground positioning system (GPS). |
|
|
2712 | This lets a player know his/her location in the world. |
|
|
2713 | Only works in 'world_xxx_xxx' maps. |
|
|
2714 | |
|
|
2715 | include/define.h: add new item type, 'GPS' (162). |
|
|
2716 | include/sproto.h: add new function, 'apply_positioning_system'. |
|
|
2717 | server/apply.c: handle new item type. |
|
|
2718 | Ryo 2004-05-15 |
|
|
2719 | |
|
|
2720 | server/spell_util.c: SP_level_spellpoint_cost() - never have a spell |
|
|
2721 | cost 0 spellpoints due to attunement or other bonuses - spell always |
|
|
2722 | cost at least 1 sp/grace. |
|
|
2723 | server/main.c: Fix process_events() so it doesn't purge removed players |
|
|
2724 | from the list - players get in the removed state at play again |
|
|
2725 | prompt. |
|
|
2726 | server/apply.c: Fix fix_auto_apply() so we don't generate additional |
|
|
2727 | spells for spellcasting objects that already have them (regression |
|
|
2728 | from fix from 5/11 below) |
|
|
2729 | MSW 2004-05-13 |
|
|
2730 | |
|
|
2731 | server/pets.c: Fix summon golem, summon pet monsters so that the summoned |
|
|
2732 | monsters are not worth any exp. Fixes bugs were players could |
|
|
2733 | summon monsters and then kill them. |
|
|
2734 | server/skills.c: Fix do_skill_detect_curse() and do_skill_detect_magic() |
|
|
2735 | so that they don't process objects the player is incapable of picking |
|
|
2736 | up (eg, floors). Fixes experience exploit. |
|
|
2737 | server/apply.c: modify fix_auto_apply() so that it properly generates |
|
|
2738 | items for creatures that start with objects in their inventory. |
|
|
2739 | MSW 2004-05-11 |
|
|
2740 | |
|
|
2741 | server/spell_util.c: Fix cast_spell() so that failed spells (due to |
|
|
2742 | encumberance or other penalties) still cost some random number of grace/ |
|
|
2743 | mana points. |
|
|
2744 | MSW 2004-05-10 |
|
|
2745 | |
|
|
2746 | common/treasure.c: Change the loading of the artifacts file to actually |
|
|
2747 | calloc() the object - reset_object() doesn't clear all the values, |
|
|
2748 | like active_next, active_prev, so better to just do it there. |
|
|
2749 | server/main.c: Add code in process_events() that checks for removed objects - |
|
|
2750 | have seen occasional crashes caused by them. |
|
|
2751 | MSW 2004-05-08 |
|
|
2752 | |
|
|
2753 | Armor enchantment now uses setting values. |
|
|
2754 | common/init.c: new values to init in settings. |
|
|
2755 | include/global.h: new setting values. |
|
|
2756 | include/config.h: new default values for settings. |
|
|
2757 | lib/settings: explanation for those new values. |
|
|
2758 | server/apply.c: change armor improvement code to use setting values. |
|
|
2759 | server/init.c: read new settings. |
|
|
2760 | Ryo 2004-05-08 |
|
|
2761 | |
|
|
2762 | common/init.c: there's a #define LOGFILE, use it instead of hardcoded value. |
|
|
2763 | include/config.h: change default logfile path to previous value in init.c. |
|
|
2764 | server/c_wiz.c: Fix 'nodm' displaying incorrect messages, and forgetting to |
|
|
2765 | update player count on map. |
|
|
2766 | Ryo 2004-05-08 |
|
|
2767 | |
|
|
2768 | server/apply.c: Fix apply_special() to properly deal with LAMP objects - it |
|
|
2769 | wasn't dealing properly with the split off lamp compared to the one it |
|
|
2770 | was supposed to deal with - was crashing server. |
|
|
2771 | MSW 2004-05-04 |
|
|
2772 | |
|
|
2773 | common/item.c: describe_monster() - print luck when describing players (fixex |
|
|
2774 | perceive self not showing luck) |
|
|
2775 | server/attack.c: kill_object() - don't give player exp if he kills himself - |
|
|
2776 | compare owner against what was killed, not the hitter. |
|
|
2777 | server/pets.c: summon_object() - move breaking out for last treasurelist |
|
|
2778 | after we set the last valid treasurelist - otherwise, the list entry for |
|
|
2779 | the treasurelist was never used. Change summoned creatures so that |
|
|
2780 | the items they have are god given, and thus disappear when they |
|
|
2781 | are killed - prevents players from summoning and then looting their pets. |
|
|
2782 | server/spell_attack.c: explode_bullet() - Get owner of the spell so that we |
|
|
2783 | can properly tailor the explosion portion of the spell for the god |
|
|
2784 | of the worshipper. |
|
|
2785 | MSW 2004-05-03 |
|
|
2786 | |
|
|
2787 | server/shop.c: patch from Andreas Kirschbaum for Windows compilation. |
|
|
2788 | server/spell_effect.c: patch from Andreas Kirschbaum for Windows compilation. |
|
|
2789 | Ryo 2004-05-03 |
|
|
2790 | |
|
|
2791 | common/porting: changed open_and_uncompress to use const char* instead of |
|
|
2792 | char*, since value shouldn't be changed (and isn't). |
|
|
2793 | include/libproto.h: changed prototype for open_and_uncompress |
|
|
2794 | Ryo 2004-04-28 |
|
|
2795 | |
|
|
2796 | ------------------------------------------------------------------------------ |
|
|
2797 | Changes for 1.6.0: |
|
|
2798 | |
|
|
2799 | configure, Makefiles: Rebuilt for 1.6.0 release |
|
|
2800 | doc/*/Makefile.am: Modified to use one makeps.pl utility in scripts directory. |
|
|
2801 | doc/scripts/makeps.pl: Make this the definitive copy - fix problem with it |
|
|
2802 | trying to combine big images when it doesn't need to. Remove other copies. |
|
|
2803 | doc/playbook/chap1.tex, doc/playbook/chap5.tex: Fix some obvious errors, |
|
|
2804 | but overall, the playbook is still quite out of date. |
|
|
2805 | doc/playbook/treas2-extract: Have it not include abilities in given items, |
|
|
2806 | have it properly deal with multiple underscores in arch names. |
|
|
2807 | doc/spoiler-html/spoiler.html, doc/spoiler.ps: Rebuilt |
|
|
2808 | MSW 2004-04-26 |
|
|
2809 | |
|
|
2810 | server/apply.c: apply_savebed() - make call to terminate_all pets before |
|
|
2811 | call to remove_ob() so that pets are properly removed. |
|
|
2812 | common/item.c, server/c_object.c: Fix code so that skill tools (talismans, |
|
|
2813 | holy symbols, etc) are properly describe. Clean up formatting of long_desc() |
|
|
2814 | MSW 2004-04-25 |
|
|
2815 | |
|
|
2816 | |
|
|
2817 | Change most shop buy/sell functions to use 64 bit values. Problem arises |
|
|
2818 | where player would sell valuable item, and if they wanted to buy them back, |
|
|
2819 | it would overflow a 32 bit value, so they could buy them back for free. |
|
|
2820 | Note quite as odd when you consider the buy/sell price for really valuable |
|
|
2821 | items to be very different. |
|
|
2822 | include/global.h: Add UINT32_MAX and other max type defines for our typedef |
|
|
2823 | values so that we have standard setting of what the cap is. |
|
|
2824 | server/apply.c: Change get_payment call to take second argument. |
|
|
2825 | server/plugins.c: Add note about bug in handling of query_cost in this |
|
|
2826 | function. |
|
|
2827 | server/shop.c: query_cost() now returns 64 bit. Many other functions |
|
|
2828 | updated to also take/return 64 bit cost values. Have cost_string |
|
|
2829 | nicely deal with values that are beyond affordability. Rename get_payment2() |
|
|
2830 | to get_payment(), and remove the later, which was just a simple wrapper |
|
|
2831 | function that called get_payment2. |
|
|
2832 | server/spell_effect.c: Update alchemy code. Remove some suspect use of |
|
|
2833 | static values. |
|
|
2834 | MSW 2004-04-24 |
|
|
2835 | |
|
|
2836 | server/apply.c: fix check_weapon_power() so it operates on overall character |
|
|
2837 | level and not skill level - this matches up what the out of skills |
|
|
2838 | displays. |
|
|
2839 | MSW 2004-04-20 |
|
|
2840 | |
|
|
2841 | common/button.c: Patch by Bernd Edler to have proper speed set for items |
|
|
2842 | activated by buttons. |
|
|
2843 | server/apply.c: Apply the 'special prayer' marker stuff, since it wasn't |
|
|
2844 | used anymore. |
|
|
2845 | server/gods.c: Check for FLAG_EQUIP on spells and not for a special prayer |
|
|
2846 | marker to guess if a spell is a god given spell or not. |
|
|
2847 | server/spell_util.c: Patch by Bernd Edler so that firewalls are immune |
|
|
2848 | to casting time. |
|
|
2849 | MSW 2004-04-17 |
|
|
2850 | |
|
|
2851 | server/shop.c: Decrease adjustment limit for expensive items to 10000 to get a |
|
|
2852 | continuous adjustment function. That is you will get much less when selling |
|
|
2853 | items with a value between 800pp and 2000pp. |
|
|
2854 | Andreas Kirschbaum 2004-04-16 |
|
|
2855 | |
|
|
2856 | common/map.c: Change blocked_link() to take a map parameter. Also, change code |
|
|
2857 | in blocked_link() to assume that the caller has set up appropriate map and |
|
|
2858 | coordinates related to tiling (in all functions that currently call |
|
|
2859 | blocked_link, this is the case) |
|
|
2860 | include/libproto.h: Rebuilt. |
|
|
2861 | server/move.c, server/player.c: update call to blocked_link to include the map. |
|
|
2862 | MSW 2004-04-15 |
|
|
2863 | |
|
|
2864 | common/object.c: Change CAN_MERGE() so that it compares the stats structure of |
|
|
2865 | the objects being merged. Fixes problems of rings improperly merging with |
|
|
2866 | other rings that have different stat values. |
|
|
2867 | server/monster.c: Modify check_earthwalls() and check_doors() to take a |
|
|
2868 | map structure as an option parameter, and use that structure when |
|
|
2869 | calling get_map_ob. Fixes a crash in cases where earthwalls/doors |
|
|
2870 | were at the edge of a tiled map, and creature was on other map moving into |
|
|
2871 | it. |
|
|
2872 | server/move.c: Change move_ob() to adjust coordinates for tiling, and |
|
|
2873 | pass in these adjusted coordinages (and map) to the check_() functions |
|
|
2874 | in monster.c |
|
|
2875 | random_maps/treasure.c: Apply patch by Andreas Kirschbaum so that it does |
|
|
2876 | more work in trying to place keys on maps. |
|
|
2877 | MSW 2004-04-13 |
|
|
2878 | |
|
|
2879 | common/living.c: Patch by Bernd Edler to remove cap on exp for players. |
|
|
2880 | MSW 2004-04-09 |
|
|
2881 | |
|
|
2882 | common/item.c: If potion wasn't given a random spell, use the archetype |
|
|
2883 | name when it is identified. |
|
|
2884 | common/treasure.c: Fix potion codes so that healing and magic power potions |
|
|
2885 | get the proper spell inserted into them. Also fix line termination issue. |
|
|
2886 | server/skill_util.c: Add check in skill_attack() to make sure current_weapon |
|
|
2887 | is not null - there has been some crashes here, but I can't figure out |
|
|
2888 | how it gets to this state, so better to at least handle it. |
|
|
2889 | MSW 2004-04-07 |
|
|
2890 | |
|
|
2891 | server/player.c: In flee_player(), make sure the enemy to the player is |
|
|
2892 | on an actual map - fixes crashes. |
|
|
2893 | MSW 2004-04-06 |
|
|
2894 | |
|
|
2895 | common/potion.c: Fix up change_abil() to more properly deal with potions - |
|
|
2896 | characters could get 0 stat values. Also, messages were not being properly |
|
|
2897 | displayed. Patch is slightly modified from one sent in by Bernd Edler. |
|
|
2898 | MSW 2004-04-05 |
|
|
2899 | |
|
|
2900 | server/main.c: Add extra checking for valid map coordinates after we grab |
|
|
2901 | them from the destination map itself - if a map is broken and has |
|
|
2902 | default enter_ coordinates outside the maps range, this previously |
|
|
2903 | resulted in a crash. |
|
|
2904 | server/pets.c: Pass the correct map object into insert_ob_in_map(). |
|
|
2905 | MSW 2004-04-03 |
|
|
2906 | |
|
|
2907 | server/monster.c: fixed wiz's hidden mode not working on monsters. |
|
|
2908 | Ryo 2004-03-28 |
|
|
2909 | |
|
|
2910 | common/porting.c |
|
|
2911 | include/libproto.h |
|
|
2912 | include/win32.h: added 'const' specifier to str-related functions. |
|
|
2913 | Ryo 2004-03-26 |
|
|
2914 | |
|
|
2915 | common/exp.c |
|
|
2916 | common/living.c |
|
|
2917 | common/loader.[cl] |
|
|
2918 | common/porting.c |
|
|
2919 | server/c_misc.c |
|
|
2920 | server/c_wiz.c |
|
|
2921 | server/hiscore.c |
|
|
2922 | server/resurrection.c: fixed %lld to %I64d for Windows. |
|
|
2923 | Ryo 2004-03-26 |
|
|
2924 | |
|
|
2925 | server/attack.c: Add scare_creature() function, which sets FLAG_SCARED |
|
|
2926 | and also sets up appropriate enemy. Clean up some formatting in |
|
|
2927 | other functions, and fix friendly fire - move it out of the loop for |
|
|
2928 | all attacktypes (can be after we have figured out max damage). Also, |
|
|
2929 | has a bug where if an attach wasn't doing any damage, friendly fire could |
|
|
2930 | actually make it do damage (eg, fear spell). |
|
|
2931 | server/player.c: Fix up flee_player() to be map tile aware. Also, add |
|
|
2932 | call to flee_player() in handle_newcs_player() so player will run away. |
|
|
2933 | MSW 2004-03-24 |
|
|
2934 | |
|
|
2935 | server/attack.c: Add missing skill=NULL in kill_object() - can be rare |
|
|
2936 | cases where the proper skill can't be found. |
|
|
2937 | server/move.c: Fix push_object() so that it also updates the pushers/ |
|
|
2938 | pushees map - should only happen in tiled map cases. |
|
|
2939 | server/pets.c: Fix summon_object() so that if a summon cult monsters was |
|
|
2940 | cast, we try to find the god from the owner. If still can't find the |
|
|
2941 | god, just return instead of crashing. |
|
|
2942 | server/rune.c: Change trap_disarm() to call destroy_object() on the |
|
|
2943 | trap object, so that all the trapss inventory is also destroyed |
|
|
2944 | and not dumped on the ground. |
|
|
2945 | server/skills.c: Only players without arms to steal. |
|
|
2946 | server/spell_util.c: Change cast_spell to set up the skill pointer for the |
|
|
2947 | caster even if the caster is the wizard. |
|
|
2948 | MSW 2004-03-22 |
|
|
2949 | |
|
|
2950 | server/treasure.c: patch from Bernd Edler to enable multiple |
|
|
2951 | 'allowed' lines in artifacts. |
|
|
2952 | Ryo 2004-03-12 |
|
|
2953 | |
|
|
2954 | Those fixes make DMs more 'stealthy' (when hiding/unhiding). |
|
|
2955 | Also use yet unused colors for player join/leave, and DM join/leave. |
|
|
2956 | This way those messages appear in a different window in split window |
|
|
2957 | mode, to make the messages easier to spot. |
|
|
2958 | server/apply.c: change color for player leave message. |
|
|
2959 | server/c_misc.c: let DMs see hidden DMs. |
|
|
2960 | server/c_wiz.c: make DMs more stealthy. |
|
|
2961 | server/login.c: change color for player joining message. |
|
|
2962 | server/main.c: change color for player joining/exiting message. |
|
|
2963 | Ryo 2004-03-12 |
|
|
2964 | |
|
|
2965 | common/item.c: Fixed calc_item_power() to return valid item power for |
|
|
2966 | items with high enchantments. |
|
|
2967 | Andreas Kirschbaum 2004-03-07 |
|
|
2968 | |
|
|
2969 | server/spell_effect.c: small patch by Karla Stenger to put player's name |
|
|
2970 | in the 'race' field of marking runes. This way, a DM can know who wrote |
|
|
2971 | a rune, in case it has some bad vocabulary :) |
|
|
2972 | Ryo 2004-03-06 |
|
|
2973 | |
|
|
2974 | server/spell_attack.c: change check_cone_push function to use arch weights. |
|
|
2975 | move function up for resuability and change to check_spell_knockback |
|
|
2976 | include/sproto.h: change function name |
|
|
2977 | TM 2004-02-28 |
|
|
2978 | |
|
|
2979 | |
|
|
2980 | common/image.c: removed unused variables. |
|
|
2981 | common/item.c: conditionally remove unused variables. |
|
|
2982 | common/map.c: conditionally define variables, unused under Windows. |
|
|
2983 | include/global.h: turned off a conversion warning under Windows. |
|
|
2984 | Ryo 2004-02-28 |
|
|
2985 | |
|
|
2986 | |
|
|
2987 | common/living.c: changed 'signed char' to 'sint8' for set|get|change_attr_value. |
|
|
2988 | common/map.c: map size is sint16, for arch_blocked. |
|
|
2989 | include/libproto.h: update prototypes for set|get|change_attr_value and arch_blocked. |
|
|
2990 | random_maps/rproto.h: changed prototype for surround_flag3. |
|
|
2991 | random_maps/wall.c: changed surround_flag3 to use sint16 instead of int for map |
|
|
2992 | coordinates. |
|
|
2993 | server/apply.c: attribute values are sint8 in eat_special_food and |
|
|
2994 | apply_changes_to_player. Some explicit casts. |
|
|
2995 | server/player.c: map coordinates are sint16, in hideability. |
|
|
2996 | server/spell_attack.c: map coordinates are sint16, not int. |
|
|
2997 | server/spell_effect.c: stats are sint8 in cast_change_ability. Map coordinates are |
|
|
2998 | sint16 in move_aura. |
|
|
2999 | server/time.c: generate_monster doesn't return a value. |
|
|
3000 | Ryo 2004-02-27 |
|
|
3001 | |
|
|
3002 | |
|
|
3003 | common/living.c: Have give_skill_by_name() update the skill pointers in the |
|
|
3004 | player object. |
|
|
3005 | server/spell_attack.c: Properly set maxhp in the cone spell - this is used |
|
|
3006 | in ok_to_put_more() to make sure one spell doesn't hit a single space |
|
|
3007 | too many times. |
|
|
3008 | MSW 2004-02-23 |
|
|
3009 | |
|
|
3010 | common/object.c: Change CAN_MERGE() so that we never merge applied objects - |
|
|
3011 | whether or not they are rings. |
|
|
3012 | lib/*: different spell for dragons vs players for firebreath - update |
|
|
3013 | treasures so monsters use ability version. |
|
|
3014 | server/gods.c: Add missing call to link_player_skills(), resulting in players |
|
|
3015 | having multiple praying skills. |
|
|
3016 | server/skill_util.c: Change learn_skill() so we don't create a skill pointer |
|
|
3017 | for the player if they didn't learn the skill (even if they can't use |
|
|
3018 | such a created skill, it is still a bit confusing). Fix finding of |
|
|
3019 | hand to hand skills to make sure the player can in fact use the skill |
|
|
3020 | in question. |
|
|
3021 | server/spell_attack.c: Fix cast_cone() so that it properly hits all directions. |
|
|
3022 | MSW 2004-02-22 |
|
|
3023 | |
|
|
3024 | |
|
|
3025 | include/define.h,server/shop.c: Apply patch by Bernd Edler that gives |
|
|
3026 | bargaining experience based on the amount of money a character saves. |
|
|
3027 | Higher the bargaining skill, the more money they can save. |
|
|
3028 | MSW 2004-02-16 |
|
|
3029 | |
|
|
3030 | doc/Developers/spells: Update type on casting_time - include suggested value |
|
|
3031 | for times so that results are hopefully more coherent. |
|
|
3032 | lib/archetypes, treasures.bld: rebuilt. |
|
|
3033 | lib/treasures: Change some of the 'spelldirect' types to just the actual spells, |
|
|
3034 | so that two seperate archs don't have to be maintained. |
|
|
3035 | server/c_wiz.c: Add some basic sanity checking to command_remove() so that |
|
|
3036 | we don't unnecessarily crash. |
|
|
3037 | server/skills.c: write_scroll() - have it reset value of the scroll so that |
|
|
3038 | the scrolls so inscribed by players have better chance of merging. |
|
|
3039 | server/spell_attack.c: cast_cone() - if the caster is a trap, have it hit |
|
|
3040 | the center space, so that characters who detonate cone traps will get hit |
|
|
3041 | by the effects. Also, reduce range of cone spells if they are going |
|
|
3042 | in all directions, compared to being targetted in a speciifc direction. |
|
|
3043 | server/spell_util.c: cast_spell() - put lower limit on player speed_left value |
|
|
3044 | when casting spells - since higher up the calling stack, the player speed |
|
|
3045 | is also reduced, we need to set the lower limit here so that the player |
|
|
3046 | isn't out of action longer than they should be. |
|
|
3047 | MSW 2004-02-16 |
|
|
3048 | |
|
|
3049 | include/map.h: removed unused fields from wmapdef.. |
|
|
3050 | include/object.h: removed unused field from object.h. Changed glow_radius to sint8 to be |
|
|
3051 | coherent with struct MapSpace. |
|
|
3052 | include/player.h: removed unused fields from player structure. |
|
|
3053 | server/apply.c: removed unused known_spell field. |
|
|
3054 | Ryo 2004-02-16 |
|
|
3055 | |
|
|
3056 | common/object.c: change get_owner() so that it also returns no valid owner if |
|
|
3057 | the owner is removed. This fixes a crash if a player quits but is still |
|
|
3058 | sitting at the play again prompt when something he owns kills something. |
|
|
3059 | server/skill_util.c: Fix show_skills() so that if the character has too many |
|
|
3060 | skills for whatever reason, we don't crash, and instead print an error |
|
|
3061 | to the player. |
|
|
3062 | server/spell_attack.c: Fix typo - not sure actual effect, but probably nothing |
|
|
3063 | good. '+ +' should just have been '+' |
|
|
3064 | MSW 2004-02-12 |
|
|
3065 | |
|
|
3066 | common/Makefile.am: Clean up proto - lex seems to toss some new symbols in |
|
|
3067 | now days. |
|
|
3068 | common/map.c, common/object.c, server/player.c, socket/item.c, |
|
|
3069 | socket/request.c: change parameters of get_map_from_coord from int to |
|
|
3070 | sint16, so the op->x,op->y can get passed directly in. Update callers of |
|
|
3071 | this function. |
|
|
3072 | lib/archetypes: Add damned 1 to the shop floors. |
|
|
3073 | server/pets.c: Fix problem with big (multisquare) pets following the owner |
|
|
3074 | across tiled map boundaries. |
|
|
3075 | socket/item.c: Fix problem of players being able to see everything within |
|
|
3076 | containers by just looking at them. |
|
|
3077 | MSW 2004-02-10 |
|
|
3078 | |
|
|
3079 | common/treasure.c: add_abilities(): For potions and horns (spell casting |
|
|
3080 | objects) convert the other_arch into a spell and put into the object - |
|
|
3081 | otherwise, the spell casting object casts the wrong spell. |
|
|
3082 | common/object.c: Clean up formatting of copy_object. Only real code change |
|
|
3083 | is to fix events - copied event data wasn't getting malloc'd, and thus |
|
|
3084 | when another object of that event was freed, it freed the event data |
|
|
3085 | for all objects derived from it. |
|
|
3086 | common/treasure.c: Fix fix_generated_item() so that books generated by |
|
|
3087 | monsters with no_pick set don't inherit that for the book itself. |
|
|
3088 | Still do it for other objects of the creator type. |
|
|
3089 | MSW 2004-02-08 |
|
|
3090 | |
|
|
3091 | server/c_object.c: fixed sack_can_hold for the 'won't fit' cast, |
|
|
3092 | missing 'return 0' |
|
|
3093 | server/gods.c: applied Karla Stenger's patch, making sure 'praying' is |
|
|
3094 | applied when becoming fellower of a god |
|
|
3095 | Ryo 2004-02-08 |
|
|
3096 | |
|
|
3097 | Changed map-building to work on non-unique maps too. |
|
|
3098 | server/build_map.c: removed check for unique map. |
|
|
3099 | Ryo 2004-01-19 |
|
|
3100 | |
|
|
3101 | |
|
|
3102 | Added map-building code. This lets players change unique maps, |
|
|
3103 | adding & removing walls, doors, stuff like that. |
|
|
3104 | New item types BUILDER & MATERIAL. New item flag FLAG_IS_BUILDABLE. |
|
|
3105 | New range attack (builder). |
|
|
3106 | ---- |
|
|
3107 | Changelog: change prescribed date format to be coherent with usage :) |
|
|
3108 | common/loader.l: added 'is_buildable' flag. |
|
|
3109 | include/define.h: added defines for item types & subtypes, and item flag. |
|
|
3110 | include/player.h: new range type 'builder'. |
|
|
3111 | include/spropo.h: new function apply_map_builder. |
|
|
3112 | server/apply.c: handle new range type. |
|
|
3113 | server/build_map.c: new file, handles all build-related code. |
|
|
3114 | server/c_object.c: added 'buildable item' to examine function. |
|
|
3115 | server/Makefile.am: added build_map.c to compilation. |
|
|
3116 | server/player.c: handle new range type. |
|
|
3117 | socket/info.c: handle new range type. |
|
|
3118 | Ryo 2004-01-18 |
|
|
3119 | |
|
|
3120 | |
|
|
3121 | Fix a crash related to plugin hooks |
|
|
3122 | common/object.c: clear_object(): object's event's hook/plugin/options |
|
|
3123 | are initialized with FREE_AND_COPY, so they are shared strings. |
|
|
3124 | Better to release'em with FREE_AND_CLEAR_STR instead of |
|
|
3125 | FREE_AND_CLEAR, else nice crashes... |
|
|
3126 | Ryo 2004-01-16 |
|
|
3127 | |
|
|
3128 | Fix writing not inserting correctly item in inventory, and Windows- |
|
|
3129 | specific stuff too |
|
|
3130 | server/skills.c: write_scroll(): Better to insert spell in scroll, |
|
|
3131 | and not the other way around |
|
|
3132 | server/skill_util.c: fix Windows-specific int64 stuff. |
|
|
3133 | Changelog: fix Mark's 2003 to 2004 :) |
|
|
3134 | Ryo 2004-01-16 |
|
|
3135 | |
|
|
3136 | Fix a bunch of crashes observed on metalforge: |
|
|
3137 | server/player.c: do_hidden_move(): Move call to find skill so that it is |
|
|
3138 | always called. |
|
|
3139 | server/skills.c: write_scroll(): Fix freeing of spell object in |
|
|
3140 | scroll - newscroll->inv isn't valid after calling remove_ob, so |
|
|
3141 | need to copy object to temporary pointer first. |
|
|
3142 | server/spell_effect.c: cast_detection(): Pass in skill to use. If no |
|
|
3143 | skill in use, use the caster object - fixes pointer derefence |
|
|
3144 | as op->chosen_skill wasn't always set. |
|
|
3145 | server/spell_util.c: modify caster_level() to always return at least 1. |
|
|
3146 | Fixes pointer potential divide by zero problems - also guarantees |
|
|
3147 | that players will be able to cast first level spells even if |
|
|
3148 | repelled to that spellpath. ok_to_put_more() - Fix to use correct |
|
|
3149 | map pointer variable. find_target_for_friendly_spell() - make it |
|
|
3150 | so it handles tiled maps OK. |
|
|
3151 | MSW 2004-01-15 |
|
|
3152 | |
|
|
3153 | common/object.c: fix the monsters on tiled maps bug that I may have |
|
|
3154 | mentioned a while ago. Seems that the server assumed that all |
|
|
3155 | parts of a multi part monster are on the same map as the head |
|
|
3156 | while moving. |
|
|
3157 | DVS 2004-01-12 |
|
|
3158 | |
|
|
3159 | common/living.c: fix fix_player() so that character gets benefits/penalties |
|
|
3160 | for sp/hp/grace/etc regen bonuses as related to the god they worship. |
|
|
3161 | server/player.c: dragon_ability_gain(): Modify so that character now gets |
|
|
3162 | attacktype of new ability that they gain. Also, add code so that |
|
|
3163 | the characters face/animation can change (getting set to values the bonus |
|
|
3164 | ability). |
|
|
3165 | MSW 2003-12-27 |
|
|
3166 | |
|
|
3167 | common/object.c: Set op->events=NULL in reset_object(), and move the |
|
|
3168 | clearing of the op->events structure to be before the memset in |
|
|
3169 | clear_object() - this was otherwise resulting in a memory leak, |
|
|
3170 | as memset would clear the pointer without actually freeing the data. |
|
|
3171 | server/attack.c: Fix indentation of hit_map(), modify it so that attacks |
|
|
3172 | won't destroy items with no_pass set. |
|
|
3173 | server/login.c: set op->speed=0, call update_ob_speed() before calling |
|
|
3174 | reset_object() - fixes problem with players not moving with recent |
|
|
3175 | changes to initting the active lists to NULL. |
|
|
3176 | msw 2003-12-20 |
|
|
3177 | |
|
|
3178 | |
|
|
3179 | server/skills.c: changed NDI_UNIQUE to NDI_BLACK for the meditation |
|
|
3180 | message (so that messages can correctly be grouped, also makes it |
|
|
3181 | coherent with praying). |
|
|
3182 | Ryo 2003-12-20 |
|
|
3183 | |
|
|
3184 | Those fixes deal with gcc3.3 infinite loop. |
|
|
3185 | Fixes (except sizeof/memset) courtesy Bernd Edler. |
|
|
3186 | --- |
|
|
3187 | common/item.c: use right buffer size for safe_strcat. |
|
|
3188 | common/object.c: clear active_next and active_prev when cleaning an object. |
|
|
3189 | include/define.h: fixed *curlen=maxlen-1; instead of *curlen=maxlen=1; |
|
|
3190 | socket/init.c: initialize whole ns->inbuf.buf, instead of setting first |
|
|
3191 | element only to 0. Also allocated with a sizeof( unsigned char ) * size, |
|
|
3192 | in case size changes one day. And initialize some more fields. |
|
|
3193 | Ryo 2003-12-18 |
|
|
3194 | |
|
|
3195 | |
|
|
3196 | Those changes deal only with warning cleaning under Windows. |
|
|
3197 | Mostly, using the right type at the right place, or doing explicit casts. |
|
|
3198 | --- |
|
|
3199 | common/object.c: changed free_arr_[xy] to short[] instead of int[]. |
|
|
3200 | include/global.h: changed free_arr_[xy] to short[] instead of int[]. |
|
|
3201 | Changed Windows-specific comments to C-style comments, not C++-style. |
|
|
3202 | include/sockproto.h: play_sound_player_only takes sint8, not int, for |
|
|
3203 | coordinates. play_sound_map takes a short for the sound number. |
|
|
3204 | socket/image.c: some type fixing, explicit casts. |
|
|
3205 | socket/init.c: Windows-specific type fixing. |
|
|
3206 | socket/lowlevel.c: explicit casts to char for SockList_AddInt64 |
|
|
3207 | socket/request.c: fixed types to match function parameters, or added |
|
|
3208 | explicit casts when needed. |
|
|
3209 | socket/sound.c: play_sound_player_only takes sint8, not int, for |
|
|
3210 | coordinates. play_sound_map takes a short for the sound number. |
|
|
3211 | Ryo 2003-12-14 |
|
|
3212 | |
|
|
3213 | server/rune.c: Fix it so that players won't be hit by traps if they are |
|
|
3214 | not next to them when set off (firing arrows at a door for example). |
|
|
3215 | server/spell_util.c: Fix spell_failure() to properly damage player if they |
|
|
3216 | fumble. Fix cast_spell() to not complain about not having enough |
|
|
3217 | grace if the spell doesn't take grace. Add same check for mana, but that |
|
|
3218 | is much less likely, as harder to get negative mana. |
|
|
3219 | socket/request.c: Fix problem where map sending code was not properly avoiding |
|
|
3220 | duplicating the head of a big image on multiple layers. This bug most often |
|
|
3221 | manifested itself of player standing on lower right corner of large building, |
|
|
3222 | and something else standing on other portion of building - player would seem |
|
|
3223 | to disappear. |
|
|
3224 | MSW 2003-11-30 |
|
|
3225 | |
|
|
3226 | lib/adm/collect_images.pl: forced binary mode for written files. |
|
|
3227 | This lets the script work correctly under Windows. |
|
|
3228 | Ryo 2003-11-29 |
|
|
3229 | |
|
|
3230 | server/apply.c: correctly display learned skill's name, and not the |
|
|
3231 | scroll's. |
|
|
3232 | server/skills.c: make 'sense curse' and 'sense magic' check items |
|
|
3233 | on the ground too. |
|
|
3234 | Ryo 2003-11-25 |
|
|
3235 | |
|
|
3236 | common/loader.l, loader.c: Fix firewalls so that their spell is properly |
|
|
3237 | initialized - uses 'dam' and not sp for those objects |
|
|
3238 | server/apply.c: Fix check_weapon_power so that it finds proper wc object. |
|
|
3239 | Fix unapply_for_ob so that it won't unequip cursed/damned weapons if |
|
|
3240 | player switches objects. |
|
|
3241 | MSW 2003-11-11 |
|
|
3242 | |
|
|
3243 | bulk of this is to fix exp loss when changing gods if you have more than |
|
|
3244 | 2 billion exp, removal of spells when you switch levels, and not giving you |
|
|
3245 | all new spells when you switch religions. |
|
|
3246 | -- |
|
|
3247 | common/living.c: Update exp functions to be fully 64 bit aware. Don't |
|
|
3248 | take away from player total exp if SK_SUBTRACT_SKILL_EXP is passed in. |
|
|
3249 | common/utils.c: Add 64 bit version of random_roll(), called random_roll64() |
|
|
3250 | lib/treasures: Make indentation consistent for some treasures. |
|
|
3251 | server/apply.c: Use the FLAG_STARTEQUIP to denote god given spells, instead |
|
|
3252 | of using special prayer markers. This simplifies the spell learning |
|
|
3253 | and removal code. |
|
|
3254 | server/gods.c: Make exp loss for changing religions 64 bit compliant. |
|
|
3255 | Fix become_follower() so that it doesn't give all the new gods special |
|
|
3256 | spells if you switch religions. Fix code so that it properly removes |
|
|
3257 | all special prayers from previous god, and also print out message on what |
|
|
3258 | spells you lost. Don't set the prayer skill as applied in various |
|
|
3259 | areas - this results in two skills being applied, which isn't proper. |
|
|
3260 | MSW 2003-11-09 |
|
|
3261 | |
|
|
3262 | common/living.c: Win32 compilation fix (levels is sint64, not uint64) |
|
|
3263 | include/plugin.h: new hooks for free & fix_player. Required for Win32. |
|
|
3264 | include/plugproto.h: new prototypes for CFWFreeMemory and CFWFixPlayer, |
|
|
3265 | wrappers for free( ) and fix_player( ). Required for Win32. |
|
|
3266 | include/sproto.h: added prototypes for new plugin hooks and improved tell |
|
|
3267 | command helper. |
|
|
3268 | plugin/plugin_python.c: wrap calls to fix_player, free and free_object |
|
|
3269 | with plugin ones when memory allocated by CF's main exe. Required for |
|
|
3270 | Win32 to work correctly. |
|
|
3271 | server/c_chat.c: improved 'tell' command to accept first letters of player |
|
|
3272 | name only, case-insensitive. If 2+ players match, returns with a failure |
|
|
3273 | message. |
|
|
3274 | server/player.c: new function find_player_partial_name. Returns player whose |
|
|
3275 | beginning of name matches specified string, NULL if more than one matches. |
|
|
3276 | Fix move_player to check specified direction's validity. |
|
|
3277 | server/plugins.c: added wrappers for free( ) and fix_player( ). Required for |
|
|
3278 | Win32 compatibility. |
|
|
3279 | Ryo 2003-11-07 |
|
|
3280 | |
|
|
3281 | common/treasure.c, doc/Developers/spells: Fix generation of rods so they have |
|
|
3282 | enough charges to cast the spells. Update documentation on what maxhp for |
|
|
3283 | the archetype of rods means. |
|
|
3284 | MSW 2003-11-01 |
|
|
3285 | |
|
|
3286 | server/player.c: Fix crash in stand_near_hostile when it is called on |
|
|
3287 | tiled maps with player near edge. |
|
|
3288 | MSW 2003-11-01 |
|
|
3289 | |
|
|
3290 | Various bug fixes: |
|
|
3291 | common/arch.c: Fix item_matched_string() so that it only passes in the length |
|
|
3292 | of the pssed in name in the strncasecmp(), and not the shorter of the |
|
|
3293 | passed in string or item name. Otherwise, if player does a 'drop wand of', |
|
|
3294 | unidentified wands (name just wand) would match. Similarly, if a player |
|
|
3295 | did 'drop ringmail', unidentified rings would match, etc. |
|
|
3296 | common/living.c: Fix fix_player() to always process the praying skill with |
|
|
3297 | respect to resistances and whatnot. This is necessary because the |
|
|
3298 | god give abilities are put in this skill, and those shouldn't go away |
|
|
3299 | depending on if the skill is in use or not. Also fix bug in add_exp |
|
|
3300 | routines which wasn't multiplying permanent exp by PERM_EXP_GAIN_RATIO |
|
|
3301 | common/object.c: Fix find_obj_by_type_subtype() - had extraneous semicolon |
|
|
3302 | after the for loop, so the if code that was supposed to be for each object |
|
|
3303 | was never called and instead would crash as it would get called with tmp |
|
|
3304 | was null. |
|
|
3305 | server/attack.c: Fix problem with kill_object() not finding proper skill - |
|
|
3306 | it would use the skill object instead of the skill. Fix problem of |
|
|
3307 | poisoning not setting up proper skill name in poisoning object. |
|
|
3308 | server/c_range.c: If player is invoking a spell, don't update their |
|
|
3309 | range_magic value. |
|
|
3310 | server/skill_util.c: Fix divide by zero problem if improperly passed |
|
|
3311 | skill object. |
|
|
3312 | MSW 2003-10-26 |
|
|
3313 | |
|
|
3314 | TRIGGER_MARKER: |
|
|
3315 | common/glue.c, common/button.c, include/define.h, funcpoint.h, libproto.h |
|
|
3316 | server/init.c: Add trigger_marker (type #52) which is a Marker that can be |
|
|
3317 | triggered. Useful for placing forces in player when connected trigger is tripped. |
|
|
3318 | TM 2003-10-26 |
|
|
3319 | |
|
|
3320 | common/glue.c, common/object.c, common/player.c, include/funcpoint.h, |
|
|
3321 | server/init.c, server/monster.c, server/shop.c, server/skill_util.c: add |
|
|
3322 | find_skill_by_number() function - this replaces find_skill. Locate new |
|
|
3323 | function in skill_util.c, which is more a proper place than |
|
|
3324 | common/player.c - this change necessitated adding glue function pointers |
|
|
3325 | so the other common files can call it. |
|
|
3326 | server/spell_effect.c: Fix cast_heal() so if the spell is not one that heals |
|
|
3327 | hit points, don't process the code that checks for that and sets |
|
|
3328 | a false success value. |
|
|
3329 | socket/metaserver.c: Clean up formatting - no code changes. |
|
|
3330 | MSW 2003-10-25 |
|
|
3331 | |
|
|
3332 | server/apply.c: small fix to apply_spellbook in the rare case when |
|
|
3333 | the spellbook contains no spell (happens when DM issues a bad |
|
|
3334 | 'create' command for instance :). |
|
|
3335 | Ryo 2003-10-04 |
|
|
3336 | |
|
|
3337 | server/c_new.c: fix command_run and command_fire so they check |
|
|
3338 | the given direction is [0..8]. This enabled weird things like |
|
|
3339 | hitting non-adjacent monsters. |
|
|
3340 | Patch by Karla Stenger on cf-devel, slightly modified by me. |
|
|
3341 | Ryo 2003-10-21 |
|
|
3342 | |
|
|
3343 | common/arch.c: fix item_matched_string() so that matching makes sense - |
|
|
3344 | the ordering was wrong, so that we would match something with a low |
|
|
3345 | priority, and skip over looking to see if that same object would get |
|
|
3346 | a better match. Order the function so that we look for the best |
|
|
3347 | matches first. |
|
|
3348 | MSW 2003-10-08 |
|
|
3349 | |
|
|
3350 | socket/request.c: Clean up some compile warnings. Improve big face |
|
|
3351 | handling - there were cases where data wasn't being sent when |
|
|
3352 | it should have, and vice versa. Basically, do better checking |
|
|
3353 | to see if we should send a big face for a particular layer, and |
|
|
3354 | also better checking to make sure we don't send the same face more |
|
|
3355 | than once for the same layer. Also, change esrv_map_scroll() |
|
|
3356 | to clear out spaces that appear into view - adds a little extra bandwdith, |
|
|
3357 | but necessary because otherwise the fact there is a big face on the edge |
|
|
3358 | doesn't always get sent. |
|
|
3359 | MSW 2003-10-07 |
|
|
3360 | |
|
|
3361 | TODO: various updates. |
|
|
3362 | common/button: Old patch by David Seikel: change inventory checkers so that |
|
|
3363 | the monster/player is also checked against. And do more proper for checkers |
|
|
3364 | that check against slaying or race - if the trigger doesn't have |
|
|
3365 | those set, we don't want to compare a null against another null and |
|
|
3366 | get success). |
|
|
3367 | server/apply.c: Change apply_shop_mat() so that it removes unpaid objects from |
|
|
3368 | monsters (or thrown containers for that matter). Old patch by Bernd Edler |
|
|
3369 | to improve messages dragons get for eating various food types. |
|
|
3370 | server/player.c: Add another missing call to fix_player(). Modify |
|
|
3371 | move_player_attack() so that the target player doesn't hit back if |
|
|
3372 | they are the WIZ or on a battleground |
|
|
3373 | MSW 2003-10-06 |
|
|
3374 | |
|
|
3375 | utils/player_dl.html utils/player_dl.pl.in: New files - scripts for allowing |
|
|
3376 | character directories to be downloaded over the web. |
|
|
3377 | configure.ac: Add check for 'tar', so that we can put it in the script above. |
|
|
3378 | Makefile.in (All of them): Changed because TAR variable propogated to them. |
|
|
3379 | MSW 2003-09-30 |
|
|
3380 | |
|
|
3381 | server/time.c: Real change is to add a missing call to fix_player - without |
|
|
3382 | this new players would be getting messed up maxsp/maxgrace values. Cleaned |
|
|
3383 | up formatting in move_player_changer() while doing the other change. |
|
|
3384 | MSW 2003-09-28 |
|
|
3385 | |
|
|
3386 | common/living.c, include/libproto.h: Update some functions to take 64 bit int |
|
|
3387 | values for exp usage. |
|
|
3388 | random_maps/random_map.c: Don't ever make rogue maps symmetric - |
|
|
3389 | creates unconnected maps. Clean up layoutgen() to not have a bunch |
|
|
3390 | of duplicated code. |
|
|
3391 | MSW 2003-09-25 |
|
|
3392 | |
|
|
3393 | server/skill_util.c: Call esrv_send_inventory on the cauldron if we |
|
|
3394 | performed alchemy. Needed for cauldron's contents to get updated. |
|
|
3395 | MSW 2003-09-23 |
|
|
3396 | |
|
|
3397 | Modified files: |
|
|
3398 | TODO common/anim.c common/arch.c common/button.c common/exp.c |
|
|
3399 | common/init.c common/item.c common/living.c common/loader.c |
|
|
3400 | common/loader.l common/logger.c common/object.c |
|
|
3401 | common/re-cmp.c common/readable.c common/recipe.c |
|
|
3402 | common/treasure.c doc/Developers/objects |
|
|
3403 | doc/Developers/protocol doc/Developers/python |
|
|
3404 | doc/Developers/skills doc/Developers/spells |
|
|
3405 | include/Makefile.am include/Makefile.in include/attack.h |
|
|
3406 | include/config.h include/define.h include/global.h |
|
|
3407 | include/includes.h include/libproto.h include/living.h |
|
|
3408 | include/map.h include/newclient.h include/newserver.h |
|
|
3409 | include/object.h include/player.h include/plugin.h |
|
|
3410 | include/skills.h include/sockproto.h include/spells.h |
|
|
3411 | include/sproto.h include/timers.h lib/Makefile.am |
|
|
3412 | lib/Makefile.in lib/animations lib/archetypes lib/artifacts |
|
|
3413 | lib/bmaps lib/bmaps.paths lib/collect.pl.in lib/crossfire.0 |
|
|
3414 | lib/crossfire.1 lib/faces lib/formulae lib/settings |
|
|
3415 | lib/treasures lib/treasures.bld lib/adm/collect_images.pl |
|
|
3416 | plugin/plugin_python.c plugin/include/plugin_python.h |
|
|
3417 | server/Makefile.am server/Makefile.in server/alchemy.c |
|
|
3418 | server/apply.c server/attack.c server/c_misc.c server/c_move.c |
|
|
3419 | server/c_object.c server/c_party.c server/c_range.c |
|
|
3420 | server/c_wiz.c server/commands.c server/disease.c |
|
|
3421 | server/gods.c server/init.c server/login.c server/main.c |
|
|
3422 | server/monster.c server/pets.c server/player.c |
|
|
3423 | server/plugins.c server/resurrection.c server/rune.c |
|
|
3424 | server/shop.c server/skill_util.c server/skills.c |
|
|
3425 | server/spell_effect.c server/spell_util.c server/swamp.c |
|
|
3426 | server/time.c server/weather.c socket/info.c socket/init.c |
|
|
3427 | socket/item.c socket/loop.c socket/lowlevel.c |
|
|
3428 | socket/metaserver.c socket/request.c socket/sounds.c |
|
|
3429 | Added Files: |
|
|
3430 | server/spell_attack.c |
|
|
3431 | Removed Files: |
|
|
3432 | include/skillist.h lib/skill_params lib/spell_params |
|
|
3433 | |
|
|
3434 | Updated code for skill + spell code. skills and spells are now objects. |
|
|
3435 | tuning these now means changing the archetypes. New spells can now |
|
|
3436 | be added just by making a new archetype. Lots of code cleanup |
|
|
3437 | also done. |
|
|
3438 | MSW 2003-09-12 |
|
|
3439 | |
|
|
3440 | |
|
|
3441 | TRAPS: |
|
|
3442 | include/define.h |
|
|
3443 | common/object.c, treasure.c |
|
|
3444 | server/attack.c, skill_util.c, skills.c, rune.c, time.c, player.c, |
|
|
3445 | apply.c Established new type traps distinguished from runes. Traps |
|
|
3446 | are more mechanical in nature, not impacted by detect magic or |
|
|
3447 | counterspell (maybe in future once skills are settled out more fine |
|
|
3448 | tuning changes in detecting and disarming these too...). Traps also |
|
|
3449 | can now trigger connected objects if they are detonated. Migrated |
|
|
3450 | traps to new type and made new generic trap archetype for more complex |
|
|
3451 | trapping (ye olde red shaded tile...) TM -2003-09-04 |
|
|
3452 | |
|
|
3453 | |
|
|
3454 | friendly_fire: |
|
|
3455 | Added friendly_fire to attack.c, called from hit_player. |
|
|
3456 | Will put a cap on maxdam that is a percentage (1-100%) of damage (min |
|
|
3457 | 1) based on SET_FRIENDLY_FIRE value when players attack in peaceful |
|
|
3458 | mode. Changed who, statistics to show this setting better and added |
|
|
3459 | help file for peaceful. It would be nice to have a indicator in the |
|
|
3460 | client for this as well. TM - 2003-08-25 |
|
|
3461 | |
|
|
3462 | protocol/doc/code: |
|
|
3463 | Changed the way smoothing is done. Switched the smooth |
|
|
3464 | command to binary mode, rebuild archetype files, added doc |
|
|
3465 | on smoothing, updated protocol file. |
|
|
3466 | Changed a the "togglemapextended smoothing" to "togglemapextended |
|
|
3467 | smooth" to prevent problem of compatibilities with previous cvs |
|
|
3468 | smoothing releases. |
|
|
3469 | Tchize 2003-07-08 |
|
|
3470 | |
|
|
3471 | protocol: |
|
|
3472 | Added new command to send extended map informations to the |
|
|
3473 | client. Mainly used for now to send smoothing informations. |
|
|
3474 | Also commented the modifications in the protocol file ind doc/ |
|
|
3475 | lib/Makefiles: |
|
|
3476 | Changed to install the smooth file too. Needed by smooth code |
|
|
3477 | common/loader.l and loader.c |
|
|
3478 | completly reworked get_ob_diff to improve speed at mapsave time. |
|
|
3479 | For now function is interlaced with commented old code. Will clean |
|
|
3480 | up when code will be proved working. (hope middle of july) |
|
|
3481 | Tchize 2003-07-03 |
|
|
3482 | |
|
|
3483 | server/apply.c: Fix auto_apply - missing else, causing extra |
|
|
3484 | treausres to be generated inside of shop tiles. |
|
|
3485 | server/monster.c: Fix npc_call_help to be map tile aware. |
|
|
3486 | MSW 2003-06-18 |
|
|
3487 | |
|
|
3488 | lib/collect.pl.in: Modify it so that it will collect .trs (treasure) files and |
|
|
3489 | build a treasures.bld from that as well as the existing treasures file. In |
|
|
3490 | this way, treasure information for objects can be put in the arch |
|
|
3491 | directory. |
|
|
3492 | lib/Makefile.am, Makefile.in: Modified so that it copies over the |
|
|
3493 | treasures.bld to treasures in the destination directory. Have |
|
|
3494 | the collect directive also build the images, so that a double |
|
|
3495 | make isn't necessary. |
|
|
3496 | lib/treasures.bld: Added file - like the archetypes, this is the pre- |
|
|
3497 | build treasure file. Until .trs files are added, this will just |
|
|
3498 | match the treasures file with some additional comments. |
|
|
3499 | MSW 2003-05-26 |
|
|
3500 | |
|
|
3501 | common/map.c: Fix bug causing unnecessary crashes - ok for the map |
|
|
3502 | to match if the object has been removed. |
|
|
3503 | socket/loop.c: Only make call to draw_client_map() if we have a valid |
|
|
3504 | map to draw. |
|
|
3505 | MSW 2003-05-26 |
|
|
3506 | |
|
|
3507 | common/anim.c: Patch by AV to make sure multipart monsters animations |
|
|
3508 | stay in sync. MSW 2003-05-25 |
|
|
3509 | |
|
|
3510 | server/apply.c: Fix bug in that we weren't calling esrv_map_scroll() |
|
|
3511 | when player used a shop map but lacked sufficient funds to pay |
|
|
3512 | for his items. |
|
|
3513 | MSW 2002-05-23 |
|
|
3514 | |
|
|
3515 | common/item.c, common/utils.c, include/config.h: Add #define NEW_MATERIAL_CODE |
|
|
3516 | and checks in the other files for this - if this is commented out |
|
|
3517 | (default), then the new material naming code is disabled - material |
|
|
3518 | names won't be put in the items names as shown in the inventory |
|
|
3519 | (can still see material by examining an object), and objects that are |
|
|
3520 | created will be created with the default material (eg, iron for |
|
|
3521 | most armor/weapons, eg, brass, bronze, copper items won't show |
|
|
3522 | up anymore). |
|
|
3523 | lib/settings: Add comments from the old config.h file that describes |
|
|
3524 | what the options already does. Having no comments in this file |
|
|
3525 | or in config.h anymore is very unfriendly. |
|
|
3526 | MSW 2003-05-20 |
|
|
3527 | |
|
|
3528 | server/player.c: Have players start at max hp/grace/sp. |
|
|
3529 | MSW 2003-04-14 |
|
|
3530 | |
|
|
3531 | server/c_range.c: Add check to make sure we are actually removing a |
|
|
3532 | golem and that the object hasn't been freed/recycled and the |
|
|
3533 | player not updated. Fixes crashes. |
|
|
3534 | MSW 2003-04-13 |
|
|
3535 | |
|
|
3536 | acinclude.m4: Update path to find python includes, since aclocal.m4 gets |
|
|
3537 | derived from this file. |
|
|
3538 | configure.ac, configure: Add utils/scores.pl to list of files to substitute on. |
|
|
3539 | common/loader.l, loader.c: Add subtype for objects - will be used in future work. |
|
|
3540 | common/object.c: Add subtype diff check in CAN_MERGE() |
|
|
3541 | common/porting.c: Have it use SAVE_DIR_MODE when doing the mkdir, and not have |
|
|
3542 | hardcoded 777 permissions. |
|
|
3543 | doc/Makefile.in, doc/Makefile.am, doc/Developers/Makefile.am, |
|
|
3544 | doc/Developers/Makefile.in: Move some of the spell docs around and merge |
|
|
3545 | them together |
|
|
3546 | doc/Developers/objects: Add notes about subtype. |
|
|
3547 | doc/Developers/spells: New file, contains preliminary work on spell objects. |
|
|
3548 | include/config.h: Remove command about DM_MAIL and LIBDIR from file, as they |
|
|
3549 | are options no longer present. Update comment about SAVE_MODE, and add |
|
|
3550 | SAVE_DIR_MODE |
|
|
3551 | include/object.h: Add subtype field to object. |
|
|
3552 | server/login.c: Have it use SAVE_DIR_MODE when doing the mkdir, and not have |
|
|
3553 | hardcoded 6700 permissions. |
|
|
3554 | utils/Makefile.in: Updated to know about scores.pl |
|
|
3555 | utils/scores.pl.in: New file - reads player file to generate HTML score |
|
|
3556 | file. |
|
|
3557 | MSW 2003-04-04 |
|
|
3558 | |
|
|
3559 | TODO: Various update |
|
|
3560 | aclocal.m4,configure: Update path to find python (fix again) |
|
|
3561 | common/image.c: Minor update to a ocmment in the code. |
|
|
3562 | common/los.c: Add missing P_OUT_OF_MAP checks that resulted in some incorrect |
|
|
3563 | LOS calcuations. |
|
|
3564 | include/funcpoint.h: Remove draw_func function pointer. |
|
|
3565 | lib/Makefile.am, in: Remove bmaps.paths to from being installed or being part |
|
|
3566 | of distribution - bmaps.paths is only needed when collecting the image |
|
|
3567 | lib/*: Rebuilt |
|
|
3568 | server/c_object.c: Patch by Bernd Edler to have the apply functions take into |
|
|
3569 | acount if the item is equipped or not when looking for good matched items. |
|
|
3570 | server/commands.c: Move printlos to normal commands. I don't think it reveals |
|
|
3571 | any information that is in any way harmful. And since it dumps the |
|
|
3572 | output to the players screen, no concern of it filling up log files. |
|
|
3573 | Also, when doing LOS debugging, it is pointless to have it as a DM command |
|
|
3574 | because LOS is ignored for DM's. |
|
|
3575 | server/disease.c: Modify remove_symptoms to remove all symptoms the player |
|
|
3576 | may have a disease. Modify infect_object() to not allow a creature to |
|
|
3577 | have more than one instance of the same disease. |
|
|
3578 | socket/info.c: remove draw() - instead, draw_client_map() can be used, |
|
|
3579 | as that is most the only thing draw() did anyways. |
|
|
3580 | socket/loop.c: Update draw() calls to draw_client_map() |
|
|
3581 | socket/request.c: Remove special handling for darkness==4 cases (first |
|
|
3582 | space that is in full darkness) - this is extra complications and causes |
|
|
3583 | display problems. Update draw_client_map() to include the little bit |
|
|
3584 | of logic that draw() had that this function did not have. |
|
|
3585 | MSW 2003-04-01 |
|
|
3586 | |
|
|
3587 | |
|
|
3588 | common/glue.c, include/funcpoint.h: remove draw_func() pointer - no longer |
|
|
3589 | needed, so code that sets up pointer removed. |
|
|
3590 | lib/*: rebuilt - facings added to old player animation information. |
|
|
3591 | ruined_temple archetype added. |
|
|
3592 | server/init.c: remove set_draw() function |
|
|
3593 | server/player.c: remove call to draw() - socket code takes care of this. |
|
|
3594 | MSW 2003-03-24 |
|
|
3595 | |
|
|
3596 | server/spell_effect.c: Some code cleanuip to cast_change_attr - mostly |
|
|
3597 | to combine the processing of the stat improving spells together. |
|
|
3598 | The actual change to playability is that bless and holy possession |
|
|
3599 | don't stack if cast multiple times. |
|
|
3600 | server/spell_util.c: Modify create_aura so that player can't have more than |
|
|
3601 | one aura (of the same type) active at a time. |
|
|
3602 | MSW 2003-03-20 |
|
|
3603 | |
|
|
3604 | server/apply.c: Change weapon improving code to only use up the number of |
|
|
3605 | potions that it needs, and not all on the ground. Required adding |
|
|
3606 | another arg to eat_item() which is the number of items to consume. |
|
|
3607 | include/sproto.h: Rebuilt for new eat_item() (actually, a static, so no |
|
|
3608 | longer shows up in this file) |
|
|
3609 | server/attack.c: Change did_make_save to strip out magic attacktype when making |
|
|
3610 | saves for objects - otherwise, things like poison cloud destroy objects. |
|
|
3611 | server/time.c: deal with player animations special in process_object - need to |
|
|
3612 | pass in the facing value, and not direction, since direction gets reset. |
|
|
3613 | MSW 2003-03-19 |
|
|
3614 | |
|
|
3615 | common/anim.c: Pass direction to animate_object() - needed for player |
|
|
3616 | animations as player's facing may not match direction. |
|
|
3617 | crossedit/Attr.c, server/main.c, server/time.c: Update calls to animate_object() |
|
|
3618 | include/libproto.h: rebuilt |
|
|
3619 | include/newserver.h, plugin_animator/animator_box.c, socket/init.c, |
|
|
3620 | socket/request.c: Remove newanim field from socket structure - not needed - |
|
|
3621 | how to animate is determined by object, not by socket. |
|
|
3622 | server/move.c: Add check to P_OUT_OF_MAP in teleport function. |
|
|
3623 | server/player.c: change move_player to call animate_object, so it gets full |
|
|
3624 | power of functionality it supports instead of 4 way hardcode animation |
|
|
3625 | information. |
|
|
3626 | server/spell_effect.c: When altars are consecrated, don't look to arch name |
|
|
3627 | for first portion of name - always call them Altar of %s - fixes problem |
|
|
3628 | where altar is special god altar that has god's name in archetype, resulting |
|
|
3629 | in altar of .. of ... |
|
|
3630 | MSW 2003-03-18 |
|
|
3631 | |
|
|
3632 | Patch for 64 bit experience total, as well as flexible number of levels. |
|
|
3633 | Basically, max level is now dynamic, set in exp_table file. Experience |
|
|
3634 | is now a 64 bit value, so much higher totals now allowed. To |
|
|
3635 | allow for flexible levels, add new function - did_make_save() which is used |
|
|
3636 | for players/monsters to see if they make their saving throw - this is |
|
|
3637 | necessary because the savethrow[] array may not be as large as max level - |
|
|
3638 | did_make_save takes this into account. |
|
|
3639 | NOTE: If your updating a server, you will need to copy over/set up a |
|
|
3640 | new exp_table file that has max_levels defined and at least one of the |
|
|
3641 | tables uncommented. There are no longer any compiled in defaults |
|
|
3642 | -- |
|
|
3643 | configure, configure.ac: Add AC_CHECK_SIZEOF calls for long and long long |
|
|
3644 | so we can know which one to use for 64 bit support (other checks |
|
|
3645 | may need to be added) |
|
|
3646 | common/exp.c: Remove levels table, replace it with a 64 bit pointer. |
|
|
3647 | Change init_experience to allocate appropriately sized table, have it |
|
|
3648 | read max_level value from exp_table file. Replace atoi calls with |
|
|
3649 | atoll to get 64 bit value. Update dump_experience to properly |
|
|
3650 | print 64 bit values. |
|
|
3651 | common/info.c: Update dump routines that dump exp to properly print |
|
|
3652 | 64 bit values. |
|
|
3653 | common/init.c: Add initializing for settings.max_level value. |
|
|
3654 | common/item.c: Update sprintf's to handle 64 bit output of exp (speed) |
|
|
3655 | value in objects. |
|
|
3656 | common/living.c: change MAX_EXP define, update MAX_EXP_IN_OBJ define, |
|
|
3657 | add MAX_SAVE_LEVEL which corresponds to how large the savethrow |
|
|
3658 | table is. Change MAXLEVEL to settings.max_level. Change level_exp() |
|
|
3659 | to return 64 bit value, other updates in functions to use 64 bit |
|
|
3660 | values. Add did_make_save() function. |
|
|
3661 | common/loader.l, common/loader.c: Update load/save routins of exp to |
|
|
3662 | deal with 64 bit values. |
|
|
3663 | common/map.c: Update calculate_difficulty to use 64 bit values when |
|
|
3664 | storing exp - unlikely to make a difference, since unlikely any map |
|
|
3665 | will get to a point where it has that much exp on it. |
|
|
3666 | common/porting.c: Remove dead code from save_long(), add save_long_long() |
|
|
3667 | to save 64 bit values. |
|
|
3668 | include/autoconf.h.in: SIZEOF_LONG and SIZEOF_LONG_LONG values added. |
|
|
3669 | include/global.h: Add code to typedef sint64/uint64 types based on what |
|
|
3670 | type gives us those values. Add max_level to settings array. |
|
|
3671 | include/libproto.h: rebuilt. |
|
|
3672 | include/living.h: Replace exp field with 64 bit value. |
|
|
3673 | include/player.h: Update party kill log exp tracking to have 64 bit |
|
|
3674 | values. |
|
|
3675 | lib/exp_table: Udpate comments about max_level, uncomment what |
|
|
3676 | was the default table so new installs have working table. |
|
|
3677 | Add 5 levels to all the tables. |
|
|
3678 | random_maps/monster.c: Update place_monsters to use 64 bit when storing |
|
|
3679 | exp total for map/per square. |
|
|
3680 | server/apply.c: Replace MAXLEVEL with settings.max_level, add |
|
|
3681 | did_make_save calls where appropriate |
|
|
3682 | server/c_misc.c: have statistics command properly print 64 bit |
|
|
3683 | exp value. |
|
|
3684 | server/c_wiz.c: Have stats command properly display 64 bit value. |
|
|
3685 | server/hiscore.c: Replace exp values with 64 bit values, update to |
|
|
3686 | properly load/display them. |
|
|
3687 | server/player.c: replace savethrow[] reference with did_make_save() |
|
|
3688 | server/skill_util.c: Update skills command to properly show 64 bit exp values. |
|
|
3689 | server/spell_effect.c: replace savethrow[] reference with did_make_save(), |
|
|
3690 | allow players to cast directors right beneath themselves, but other |
|
|
3691 | walls must be on empty space. |
|
|
3692 | MSW 2003-03-07 |
|
|
3693 | |
|
|
3694 | Various bug fixes. |
|
|
3695 | crossedit/Attr.c: Minor cleanup to eliminate some compile time warnings. |
|
|
3696 | plugin/plugin_python.c: Remove some unused variables, thus fixing up some |
|
|
3697 | compiler warnings. |
|
|
3698 | random_maps/random_map.c, random_maps/random_map.h, random_maps/special.c: |
|
|
3699 | Add MIN_RANDOM_MAP_SIZE values instead of hardcode constants. |
|
|
3700 | server/monster.c: Fix communicate - odd bug can be map gets swapped out |
|
|
3701 | just after player is transferred to another map, causing crashes as |
|
|
3702 | map that was originally spoken on is no longer in memory. |
|
|
3703 | server/rune.c: add missing free_object call when erasing runes. |
|
|
3704 | server/skills.c: Change write_on_item to determine type of writing based |
|
|
3705 | on content of mesage, or lack thereof, and not the marked object. |
|
|
3706 | Fix problem of buf not being initalized. |
|
|
3707 | MSW 2003-03-06 |
|
|
3708 | |
|
|
3709 | |
|
|
3710 | Various bug fixes. |
|
|
3711 | Makefile.am, Makefile.in: Put crossedit as the last directory, so any build |
|
|
3712 | errors for crossedit doesn't effect anything else. |
|
|
3713 | README: Update ftp site listing. |
|
|
3714 | TODO: More things aded. |
|
|
3715 | aclocal.m4, configure: Add missing / when checking in /usr/local for |
|
|
3716 | python headers. |
|
|
3717 | common/map.c: Add some debugging in free_all_objects that checks to make sure |
|
|
3718 | there are not objects remaining that belong to the map just freed - |
|
|
3719 | only active if MANY_CORES is set. |
|
|
3720 | random_maps/random_map.c: Increase minimum random map size to 10x10 - this |
|
|
3721 | is need for square spirals to work properly I think. |
|
|
3722 | server/spell_effect.c: Have perceive self tell dragon players what they are |
|
|
3723 | currently focused on. Fix town portal to remove force objects from |
|
|
3724 | players if destination is no longer available. |
|
|
3725 | server/swap.c: Reset maps reset_time when loading them in in read_map_log() - |
|
|
3726 | this is only used if recycle temp maps is on. Also, do sanity checking |
|
|
3727 | on reset_time value - bogus values were observed on metalforge. |
|
|
3728 | socket/request.c: Update map timeout in draw_client_map() - in this way, |
|
|
3729 | we don't swap out a map within a players view only to swap it back |
|
|
3730 | in. |
|
|
3731 | MSW 2003-03-01 |
|
|
3732 | |
|
|
3733 | ------------------------------------------------------------------------------ |
|
|
3734 | Changes for 1.5.0: |
|
|
3735 | |
|
|
3736 | */Makefile.in, related files: Updated for 1.5.0 |
|
|
3737 | server/attack.c: Don't change weak wall image if no damage was actually done. |
|
|
3738 | server/c_object.c: Include math.h - needed for pow() |
|
|
3739 | server/spell_effect.c: fix infinite loop in town_portal |
|
|
3740 | MSW 2003-02-24 |
|
|
3741 | |
|
|
3742 | common/anim.c: Fix for 8 way facing animations. |
|
|
3743 | lib/treasures: Add sheep treasures |
|
|
3744 | lib/* (rest) - rebuilt |
|
|
3745 | server/spell_effect.c: Fix up counterspell - mainly fix a bug in that if |
|
|
3746 | counterspell hit a multipart magic that used magic as an attacktype, |
|
|
3747 | it would also crash. However, code also woudln't work properly on |
|
|
3748 | tiled maps, and I'm dubious if it would work properly if there was more |
|
|
3749 | than one effect on a space. |
|
|
3750 | MSW 2003-02-23 |
|
|
3751 | |
|
|
3752 | server/skills.c: Fix jump so that it updates the clients map properly. |
|
|
3753 | server/spell_effect.c: insert town portals below the player so it |
|
|
3754 | works better with apply. |
|
|
3755 | MSW 2003-02-20 |
|
|
3756 | |
|
|
3757 | server/move.c: Fix transfer_ob so that it sends newmap command to client |
|
|
3758 | if we're moving a playing - otherwise fog of war displays bad |
|
|
3759 | information on the client. |
|
|
3760 | MSW 2003-02-19 |
|
|
3761 | |
|
|
3762 | More bugfixes: |
|
|
3763 | server/c_wiz.c: Fix reset command - while it deleted the maps, it made things |
|
|
3764 | so that it never got removed from the map listing - instead, just let |
|
|
3765 | flush_old_maps do most of the work. |
|
|
3766 | server/main.c: If player tries to enter a random map that has been reset |
|
|
3767 | and that we have no informatino about (eg, going up in a dungeon), |
|
|
3768 | just say the exit is closed instead of making a completely random map |
|
|
3769 | that usually isn't in keeping with the dungeon (and still won't lead |
|
|
3770 | outdoors) |
|
|
3771 | server/move.c: In move_teleporter(), change it so that if a player uses |
|
|
3772 | a shop map yet there is no place to put the player, just drop him on |
|
|
3773 | top of a monster - this fixes problem of players getting trapped inside |
|
|
3774 | of shops in random dungeons. |
|
|
3775 | MSW 2003-02-16 |
|
|
3776 | |
|
|
3777 | random_map/random_map.c: Include parameters used to make map in msg of map - |
|
|
3778 | this can hopefully be used to debug what is really happening when bad |
|
|
3779 | maps are made. |
|
|
3780 | server/rune.c: Modify dispel_rune function (called from disarm spell) |
|
|
3781 | to erase marking runes. While at it, fix it so that it does the right |
|
|
3782 | thing with respect to tiled maps. |
|
|
3783 | MSW 2003-02-15 |
|
|
3784 | |
|
|
3785 | include/sproto.h, server/move.c: Modify try_fit() to take mapstruct parameter |
|
|
3786 | for which map we are trying to fit this on - fixes problems with rolling |
|
|
3787 | boulders accross map (only function that currently uses this). |
|
|
3788 | MSW 2003-02-14 |
|
|
3789 | |
|
|
3790 | common/item.c: make item_power stop showing up in ring short descriptions. |
|
|
3791 | fix some of the items that were double-displaying materialnames, like |
|
|
3792 | mithril mithril chainmail. |
|
|
3793 | common/loader.l: add tooltype |
|
|
3794 | common/utils.c: Unless the object is armour or weapons, pick the first |
|
|
3795 | materialname we find. Now, newly generated diamonds will stack. |
|
|
3796 | Fix name_to_material to return NULL if it finds nothing, fixes |
|
|
3797 | navar_city/museum crash. |
|
|
3798 | Change set_materialname to take a materialtype_t argument, allowing |
|
|
3799 | functions to manually set the materialname, rather than let the |
|
|
3800 | randomizer pick for them. |
|
|
3801 | include/define.h: Add TOOL and BUILDFAC for item building. |
|
|
3802 | include/object.h: add tooltype for item building. |
|
|
3803 | include/materials.h: add M_SPECIAL. Set this in an object, to prevent things |
|
|
3804 | like mithril mithril chainmail. This is primarily only needed in |
|
|
3805 | artifacts, because they change the base material of the arch. Also |
|
|
3806 | useful in things like the demonspawn shield, and on maps. |
|
|
3807 | lib/artifacts: sprinkle M_SPECIAL around. |
|
|
3808 | server/player.c: remove auto_heal. This never should have been |
|
|
3809 | committed, and was never referenced by any code. |
|
|
3810 | server/c_object.c: add item building, but add it disabled. Too many |
|
|
3811 | bugfixes were tied in with this code to cleanly add them. When |
|
|
3812 | enabled, this code will add player item building, similar to |
|
|
3813 | create to take place. Requires a host of graphics and arches |
|
|
3814 | to be useable. |
|
|
3815 | garbled 2003-02-13 |
|
|
3816 | |
|
|
3817 | random_maps/special.c: Fix possible bug with placement of special maps. |
|
|
3818 | Add lore/endlore to object structure to hold general information about objects: |
|
|
3819 | common/loader.c, common/loader.l: Add loading and saving of lore field. |
|
|
3820 | common/object.c: handle lore field for copy/free/other object operations. |
|
|
3821 | Also, update CAN_MERGE to look at materialname also. |
|
|
3822 | doc/Developers/objects: Add notes about lore. |
|
|
3823 | include/object.h: add lore field to object. |
|
|
3824 | server/apply.c: Fix bug in that cursed weapons were not equipped/ |
|
|
3825 | unequipped. |
|
|
3826 | MSW 2003-02-11 |
|
|
3827 | |
|
|
3828 | doc/Developers/objects: Add nodes about shared strings in objects. |
|
|
3829 | server/c_misc.c: Remove check for name length - check_name takes care |
|
|
3830 | of that for us. |
|
|
3831 | server/monster.c: store return value from get_map_flags - seen some |
|
|
3832 | crashes traced back to this area, want to see what it returned. |
|
|
3833 | Allow objects with no msg to still use scripts that listen. |
|
|
3834 | server/player.c: Fix potentional issue of freeing/adding players name |
|
|
3835 | when they enter play again - seen some crashes attributed to |
|
|
3836 | odd names. |
|
|
3837 | MSW 2003-02-08 |
|
|
3838 | |
|
|
3839 | |
|
|
3840 | More bugfixes: |
|
|
3841 | server/player.c: Fix permadeath without resurrection - wasn't deleting |
|
|
3842 | player save files as it was supposed to. If permadeath + |
|
|
3843 | resurrection was in use, I believe it all worked as expected. |
|
|
3844 | include/shop.h: remove _SHOP_H after endif, causing compiler warnings. |
|
|
3845 | include/skills.h: Add check to USING_SKILL to make sure chosen_skill |
|
|
3846 | is not null. |
|
|
3847 | server/c_chat.c: Add some missing return values, resulting in compiler |
|
|
3848 | warnings. |
|
|
3849 | server/skill_util.c: Remove unused variable. compiler warnings again. |
|
|
3850 | server/spell_effect.c: Change dimension door so that you can't go |
|
|
3851 | through spaces that block passsage and also block view (eg walls). |
|
|
3852 | This goes back to the more traditional behaviour. Remove |
|
|
3853 | some unused variables. |
|
|
3854 | server/spell_util.c: Add missing P_OUT_OF_MAP to move_missile, resulting |
|
|
3855 | in crashes. |
|
|
3856 | server/time.c: if generator is not on a map, don't have it generates. |
|
|
3857 | Fixes crashes. |
|
|
3858 | MSW 2003-02-02 |
|
|
3859 | |
|
|
3860 | New materialtype system for crossfire. Based in concept on my original |
|
|
3861 | design, but rewritten from scratch to make it easily extensible. |
|
|
3862 | |
|
|
3863 | In a nutshell: |
|
|
3864 | |
|
|
3865 | Each of the old materialtypes (metal, glass, stone, wood) are now a class |
|
|
3866 | of materials. When an item in the game is created, if it does not have a |
|
|
3867 | specific materialname of it's own, a materialname is generated randomly |
|
|
3868 | from the matching entries in the "lib/materials" file. This file |
|
|
3869 | contains all of the saving throws, and other material specific |
|
|
3870 | modifications for each of the expanded materials. |
|
|
3871 | |
|
|
3872 | Materials can be manually specified in the arch with the "materialname" |
|
|
3873 | directive. Such as the gold coins, which are specified to be made of, |
|
|
3874 | you guessed it, gold. |
|
|
3875 | |
|
|
3876 | Saving throws have been slightly rewritten to use the new materialtypes, |
|
|
3877 | and a few other minor details associated with materialtypes have been |
|
|
3878 | patched up. |
|
|
3879 | |
|
|
3880 | Adding a new type of stone or wood, is as simple as adding a new entry in |
|
|
3881 | the lib/materials file. The game will automatically start distributing |
|
|
3882 | them around randomly. |
|
|
3883 | garbled 2003-01-29 |
|
|
3884 | |
|
|
3885 | Various bug fixes: |
|
|
3886 | common/item.c: If nrof of an item is 0, have it print singular name and |
|
|
3887 | not plural name. |
|
|
3888 | server/c_object.c: Fix typo when printing value of optoins - had an |
|
|
3889 | extra 'the' in place. Also, don't print value of objects with |
|
|
3890 | no pick flag set. |
|
|
3891 | server/login.c: Enforce maximum name length for new characters. |
|
|
3892 | server/monster.c: Change parsing code for messages/@match code - |
|
|
3893 | new code is simpler, and should also be simpler and less bug |
|
|
3894 | ridden, but otherwise functionally equivalant. Also fix up |
|
|
3895 | communicate to work properly on tiled maps. |
|
|
3896 | server/spell_effect.c: fix up move_aura to not crash hopefully. |
|
|
3897 | MSW 2003-01-26 |
|
|
3898 | |
|
|
3899 | More bug fixes: |
|
|
3900 | common/item.c: Add missing braces - was resulting in some items getting |
|
|
3901 | display like 'gauntlets of strength (Str+1)(Str+1). |
|
|
3902 | include/map.h: Add MAGIC_MAP definitions to the file. |
|
|
3903 | server/shop.c: Put back in code that uses magic_mapping_mark to determine |
|
|
3904 | what items to display in inventory. Update for new one magic mapping |
|
|
3905 | code stores information away. |
|
|
3906 | server/spell_util.c: Add missing P_OUT_OF_FLAG check, which resulted |
|
|
3907 | in crashes. |
|
|
3908 | socket/info.c: Move MAGIC_MAP definations to map.h. Add check for |
|
|
3909 | P_OUT_OF_MAP. Remove code that stops on P_NO_MAGIC - with that |
|
|
3910 | it wouldn't search the shops. |
|
|
3911 | MSW 2003-01-16 |
|
|
3912 | |
|
|
3913 | server/move.c: fix try_to_fit and roll_ob to work properly on tiled maps. |
|
|
3914 | Also some performance improvements to those functions. |
|
|
3915 | MSW 2003-01-12 |
|
|
3916 | |
|
|
3917 | Bulk of this commit is to improve code for tiled maps - replace |
|
|
3918 | wall/blocks_magic/blocks_cleric, etc with get_map_flags which |
|
|
3919 | also does map tiling translation as needed. This should fix a lot |
|
|
3920 | of the bugs related to map tiling (there are sure to be more out |
|
|
3921 | there - all the get_map_ob still need to be checked). |
|
|
3922 | Other changes - many spells stopped progressing on spaces that |
|
|
3923 | blocked view - that is now removed - didn't make a lot of sense. |
|
|
3924 | Other fixes - some cleric spells (eg, word of recall) checked to |
|
|
3925 | see if magic was prohibited, didn't check to see if cleric |
|
|
3926 | was prohibited. |
|
|
3927 | Clean up some bugs in the lighting code that would cause erroneous |
|
|
3928 | results. Also, allow players to see immediately around them on |
|
|
3929 | outdoor maps no matter how dark the map really is - behaviour |
|
|
3930 | on indoor maps is the same. |
|
|
3931 | Lots of code reformatted, and lots of obsoleted/dead code removed. |
|
|
3932 | Add max range to dimension door. |
|
|
3933 | Fix magic map - got broken when the layer stuff was redone - was |
|
|
3934 | not showing proper colors. IT also works sensibly on tiled maps |
|
|
3935 | now - rather than display based on the map, it gives the player a |
|
|
3936 | 50x50 area centered on where the player is. |
|
|
3937 | Change fire_bow - move special player fire modes into own function - |
|
|
3938 | makes code much cleaner. |
|
|
3939 | Hopefully this fixes more bugs than it introduces. |
|
|
3940 | common/los.c, common/map.c, common/object.c, crossedit/Edit.c, |
|
|
3941 | include/libproto.h, include/sockproto.h, include/map.h, |
|
|
3942 | include/spellist.h, include/sproto.h, random_maps/treasure.c, |
|
|
3943 | random_maps/wall.c, server/attack.c, server/c_misc.c, |
|
|
3944 | server/c_wiz.c, server/disease.c, server/main.c, server/monster.c, |
|
|
3945 | server/pets.c, server/player.c, server/rune.c, server/shop.c, |
|
|
3946 | server/skill_util.c, server/skills.c, server/spell_effect.c, |
|
|
3947 | server/spell_util.c, server/time.c, socket/info.c: See note above |
|
|
3948 | server/apply.c: Limit number of times weapon can be enchanted so |
|
|
3949 | that it won't overflow item_power. Modify enchant armor |
|
|
3950 | to enchant as normal armor is enchanted, also only allows one |
|
|
3951 | item to be enchanted. |
|
|
3952 | MSW 2002-01-07 |
|
|
3953 | |
|
|
3954 | common/item.c: Add 'unidentified' to display of examined items if the |
|
|
3955 | item has not been identified. Only display spell regen penalty |
|
|
3956 | for armour if there is in fact a penalty. |
|
|
3957 | lib/archetypes: rebuilt for updated demon speed, pick up other new archs. |
|
|
3958 | lib/animations, lib/bmaps lib/bmaps.paths lib/crossfire.0 lib/crossfire.1 |
|
|
3959 | lib/faces: rebuilt |
|
|
3960 | server/main.c: Name random maps based on final map component (if available) |
|
|
3961 | or map they are spawned from - this gives so clue in 'who' command |
|
|
3962 | where the players really are. |
|
|
3963 | server/monster.c: Fix code that would cause monsters to ignore golems/ |
|
|
3964 | avatars. |
|
|
3965 | server/pets.c: Clean up a few warnings, fix bug in pet_move that caused |
|
|
3966 | crashes - owner of a pet isn't always a player. |
|
|
3967 | server/player.c: Remove on_same_map check - can_detect_monster also |
|
|
3968 | performed check, so no need to have extra call. |
|
|
3969 | server/spell_effect.c: modify alchemy to properly deal with tiled maps, |
|
|
3970 | change behavior for spells that block view - they no longer block |
|
|
3971 | alchemy, but spaces that block magic will. |
|
|
3972 | MSW 2002-01-05 |
|
|
3973 | |
|
|
3974 | TODO - add notes about item damage - clear it out of my mailbox. |
|
|
3975 | common/loader.l, loader.c: Add check at load time to see if monsters |
|
|
3976 | hp is higher than its maxhp and print a debug message if so. |
|
|
3977 | devel/Makefile: Remove - makefiles shouldn't be in CVS, only .in versions. |
|
|
3978 | server/attack.c: Fix calculation of max_damage in kill_object - this |
|
|
3979 | was being done incorrectly, resulting in fired spell objects causing |
|
|
3980 | incorrect amounts of damage, resulint in some monsters ending up with |
|
|
3981 | a lot of hp. Fix call to kill_object to pass in correct damage value. |
|
|
3982 | server/monster.c: Put in check so that monster won't regen to more hp |
|
|
3983 | than they should have. |
|
|
3984 | server/spell_util.c: Removed unused variable from move_missile. |
|
|
3985 | server/weather.c: fix bug that causes crash if empty space is encountered |
|
|
3986 | on map. |
|
|
3987 | MSW 2003-01-03 |
|
|
3988 | |
|
|
3989 | socket/request.c: Fix buffer (malloc) overrun in esrv_send_stats - more |
|
|
3990 | stuff has gotten to be added, without ever increasing the size of the |
|
|
3991 | buffer to hold it. |
|
|
3992 | MSW 2003-01-01 |
|
|
3993 | |
|
|
3994 | server/time.c: Fix bad code in stop_arrow that caused crashes/improper |
|
|
3995 | freeing of data. |
|
|
3996 | MSW 2002-12-30 |
|
|
3997 | |
|
|
3998 | common/treasure.c: Fix initialization of treasure structs to use calloc. |
|
|
3999 | server/player.c: Fix infinite loop. |
|
|
4000 | socket/loop.c: Make sure we put in null terminator for socket data. |
|
|
4001 | MSW 2002-12-26 |
|
|
4002 | |
|
|
4003 | |
|
|
4004 | New Arrow and Pet Code: |
|
|
4005 | Add bowmode and petmode commands. Allowing the player to change the firing |
|
|
4006 | style for bows to one of either threewide, or spreadshot. |
|
|
4007 | Allow players to change the operating modes of his pet with petmode. Can be |
|
|
4008 | either seek and destroy, defend, or normal historical behavior. |
|
|
4009 | Change bows to impart speed to arrows based on damage and other magical |
|
|
4010 | plusses. Damage decays over distance, to stop arrows from flying forever. |
|
|
4011 | Very fast moving arrows will pierce multiple targets. An arrow moving at a |
|
|
4012 | speed greater than 10.0 will go straight through a target, losing 1.0 of |
|
|
4013 | speed in the process. |
|
|
4014 | Change magic missile to use spell_find_dir instead of find_dir to stop it |
|
|
4015 | from flying in a circle and hitting the caster, and to make it stop |
|
|
4016 | flying into walls to hit creatures behind the walls. |
|
|
4017 | |
|
|
4018 | Various bug fixes: |
|
|
4019 | common/living.c: Reset glow_radius for players, so they stop glowing |
|
|
4020 | after they snuff out their torch or whatever. |
|
|
4021 | server/apply.c: Fix message about improving armour so that it is now |
|
|
4022 | accurate. |
|
|
4023 | server/monster.c: Add some debug lines that may show cause of excess |
|
|
4024 | monster hp. |
|
|
4025 | server/spell_effect.c: fix compile warning in summon_pet(). Clean up |
|
|
4026 | indentation of alchemy functions, but functional changes is to |
|
|
4027 | insert gold nuggets below player (so more of the actions work), |
|
|
4028 | as well as to reset the view position, so that it won't have the |
|
|
4029 | 'previous 50' object selection. Add suggested parens in |
|
|
4030 | cast_detection. |
|
|
4031 | server/weather.c: Fix crash in weather code if snow was only object |
|
|
4032 | on space. |
|
|
4033 | MSW 2002-12-20 |
|
|
4034 | |
|
|
4035 | +++ |
|
|
4036 | server/weather.c: |
|
|
4037 | More weather routines: |
|
|
4038 | |
|
|
4039 | Now the game will attempt to completely reformat the world, and modify it |
|
|
4040 | with the weather and elevation. When dynamiclevel is set to 5 or above, |
|
|
4041 | the game looks at each tile, and the weather conditions present in that |
|
|
4042 | tile. It then consults a table of different terrain types, and what |
|
|
4043 | conditions they prefer to grow under. If the conditions match the spot, |
|
|
4044 | and there is nothing special about the spot (like a house, or a road), |
|
|
4045 | then we drop the new tile type on the overlay map on that location. |
|
|
4046 | |
|
|
4047 | Tuning of this can be done at the top of weather.c, by changing the |
|
|
4048 | weather_tile array. |
|
|
4049 | |
|
|
4050 | Also.. add a feather_map() routine which tries to break up the blockiness |
|
|
4051 | of some of the weather effects by spreading the tiles around. |
|
|
4052 | |
|
|
4053 | This code works.. but needs tuning, and probably a little more testing. |
|
|
4054 | Some of the conditions for the various tiles really need to be looked at, |
|
|
4055 | and fiddled with. |
|
|
4056 | garbled 2002-12-08 |
|
|
4057 | +++ |
|
|
4058 | |
|
|
4059 | common/exp.c: Fix bug were drain attacks added exp. |
|
|
4060 | MSW 2002-12-05 |
|
|
4061 | |
|
|
4062 | server/player.c: Change move_player_attack() so that we look for monsters |
|
|
4063 | to attack even after finding a rollable object - there can be non |
|
|
4064 | blocking rollable objects with monsters on top - we want to attack |
|
|
4065 | the monster, not roll the object. |
|
|
4066 | MSW 2002-12-03 |
|
|
4067 | |
|
|
4068 | TODO: Move more items from my mailbox to the TODO list. |
|
|
4069 | common/living.c: Init item_power in player to zero in fix_player() - |
|
|
4070 | bogus results were getting generated as it just kept getting incremented. |
|
|
4071 | common/porting.c: fix remove_directory so it works properly - checking |
|
|
4072 | for . and .. entries too late, calling unlink instead of rmdir. |
|
|
4073 | include/sproto.h: rebuilt |
|
|
4074 | lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.0, |
|
|
4075 | lib/crossfire.1, lib/faces: Rebuilt - new archs added, catch is_thrown |
|
|
4076 | addition to thrown rock/boulder archs. |
|
|
4077 | server/c_move.c, server/c_range.c: Add another parameter to do_skill() - part, which |
|
|
4078 | is closest part of creature to target object - current only used |
|
|
4079 | for the throw code. Update calls to this function to add additional |
|
|
4080 | parameter. |
|
|
4081 | server/c_object.c: Remove the NDI_UNIQUE from the 'item is too heavy |
|
|
4082 | to pick up' so that it won't flood the client with them if players |
|
|
4083 | goes onto space with lots of objects. |
|
|
4084 | server/main.c: Minor cleanup to fix compiler warning about ambigous |
|
|
4085 | if/else. |
|
|
4086 | server/monster.c: Pass closest part of monster when having it use |
|
|
4087 | a skill so that it doesn't throw rocks into itself. Update calls to |
|
|
4088 | do_skill as described above. |
|
|
4089 | server/player.c: Cal delete_player() when player quits - this properly |
|
|
4090 | cleans up any per player unique maps they have. Also, check for |
|
|
4091 | any such maps currently in memory, and delete those so that unique |
|
|
4092 | maps don't get 'gifted' to the next character of the same name. |
|
|
4093 | Update calls to do_skill as described above. |
|
|
4094 | server/shop.c: Combine items of the same name together in the output |
|
|
4095 | of the shop listings. Include the number of items, remove special |
|
|
4096 | casing of some objects so that query_base_name is used for all item |
|
|
4097 | types. |
|
|
4098 | server/skill_util.c: Modify do_skill() to take additional param as |
|
|
4099 | described above. Also, have do_skill return 1 on success, |
|
|
4100 | 0 on failur to use skill, and not return exp - otherwise, |
|
|
4101 | monster code has no idea if skill was successfully used, as throw |
|
|
4102 | doesn't grant exp, and this caused monsters to move into the |
|
|
4103 | object they just threw. Update calls to do_skill as described |
|
|
4104 | above. |
|
|
4105 | server/skills.c: Clean up skill_throw function to return meaningfull |
|
|
4106 | value. Also, pass along extra part of closest monster part |
|
|
4107 | to target. Modify do_throw to return value, use closest |
|
|
4108 | part of body as origin point for thwon object. |
|
|
4109 | server/spell_effect.c: Use isqrt function instead of definining |
|
|
4110 | ISQRT that used float version. Cleans up compile warning - most |
|
|
4111 | likely not seen before as spell was #ifdef SPELL_ENCUMBERANCE out. |
|
|
4112 | server/time.c: Put sanity checking for players speed_left in |
|
|
4113 | move_player_mover() - got some reports of infinite negative speed |
|
|
4114 | on metalforge, and this is the only place in the code where I could |
|
|
4115 | see that happening given the description of the events. |
|
|
4116 | utils/arch2xml.py, utils/cfarches.xsl: New script (and template) by |
|
|
4117 | Todd Mitchell. Script can convert archs to xml, and the template |
|
|
4118 | is usuable with mozilla to look at the output. |
|
|
4119 | MSW 2002-12-02 |
|
|
4120 | |
|
|
4121 | |
|
|
4122 | common/object.c, include/object.h: Add INS_BELOW_ORIGINATOR flag to |
|
|
4123 | insert_ob_in_map - this is used for treasure chests so the |
|
|
4124 | treasure is put below the player. Also fix insertiong of items |
|
|
4125 | on spaces that block view - put them in proper order, and not just |
|
|
4126 | directly above the floor |
|
|
4127 | server/apply.c: Tell player what level they need to be if they are not |
|
|
4128 | of sufficient level to improve armor. Modify apply_treasure to |
|
|
4129 | use INS_BELOW_ORIGINATOR flag, clean up some of the other logic |
|
|
4130 | in apply_treasure. |
|
|
4131 | server/c_object.c: Modify command_take to use the container inventory |
|
|
4132 | when doing a pickup, and not the container itself. |
|
|
4133 | MSW 2002-11-30 |
|
|
4134 | |
|
|
4135 | TODO: Updated with dm 'follow' command. |
|
|
4136 | common/loader.l: Rebuilt. |
|
|
4137 | common/map.c: Fix up some formatting - no code change. |
|
|
4138 | include/player.h, server/apply.c, server/player.c, socket/info.c: Remove |
|
|
4139 | chosen_item_spell field - isn't needed anymore as that information |
|
|
4140 | is determined each time player fires wand/rod/horn. This fixes |
|
|
4141 | those items firing magic bullets if they were equipped when player |
|
|
4142 | saved and rejoined. Some additional cleanup done in rangetostring() - |
|
|
4143 | mostly formatting changes, but minor code changes. |
|
|
4144 | MSW 2002-11-29 |
|
|
4145 | |
|
|
4146 | |
|
|
4147 | include/shstr.h: Update REFCOUNT_TYPE to be an int - seems to at least fix |
|
|
4148 | the bug of server crashing when running around the bigworld - given the |
|
|
4149 | size of the maps, quite possible that enough objects of the same name |
|
|
4150 | would be in memory to overflow the size size of a short. |
|
|
4151 | MSW 2002-11-19 |
|
|
4152 | |
|
|
4153 | Changed a ton of #ifdefs into settings: |
|
|
4154 | convert #ifdef NOT_PERMADETH into settings.not_permadeth. |
|
|
4155 | SET_TITLE and RESURRECTION are now settings. |
|
|
4156 | #ifdef SEARCH_ITEMS -> settings.search_items |
|
|
4157 | #ifdef SPELL_ENCUMBRANCE -> settings.spell_encumbrance |
|
|
4158 | #ifdef SPELL_FAILURE_EFFECTS -> settings.spell_failure_effects |
|
|
4159 | #ifdef CASTING_TIME -> settings.casting_time |
|
|
4160 | #ifdef REAL_WIZ -> settings.real_wiz |
|
|
4161 | #ifdef RECYCLE_TMP_MAPS -> settings.recycle_tmp_maps |
|
|
4162 | #ifdef SPELLPOINT_LEVEL_DEPEND -> settings.spellpoint_level_depend |
|
|
4163 | #ifdef EXPLORE_MODE -> settings.explore_mode |
|
|
4164 | make explore mode actually *work*. |
|
|
4165 | #define MOTD -> settings.motd |
|
|
4166 | #define DM_MAIL -> settings.dm_mail |
|
|
4167 | garbled 2002-11-12 |
|
|
4168 | |
|
|
4169 | |
|
|
4170 | New alchemy code, as discussed on the developer list. Now recipies include |
|
|
4171 | two new tags: skill and cauldron. With skill, you can set which skill |
|
|
4172 | activates this recipie, and the cauldron, corresponds to the arch name of |
|
|
4173 | the facility you will use when creating the item. In this way, item |
|
|
4174 | creation is now more generalized than just alchemy, and specific formulae |
|
|
4175 | can be written to utilize different skills, or perhaps special formulae |
|
|
4176 | would require a hard-to-find cauldron. |
|
|
4177 | |
|
|
4178 | Functionally, the alchemy, or alchemy-like-skills are now activated by |
|
|
4179 | the use_skill command. The secondary use of the alchemy spell has been |
|
|
4180 | withdrawn, so now it functions in the way it was originally intended again. |
|
|
4181 | garbled 2002-11-11 |
|
|
4182 | |
|
|
4183 | socket/loop.c: add a setting fastclock. This makes the server's clock run |
|
|
4184 | *really* fast. For now, it's good for debugging purposes, but in the |
|
|
4185 | future it will allow a dm to ravage a world with weather quickly. |
|
|
4186 | include/define.h: add FLAG_IS_WATER |
|
|
4187 | include/global.h: add fastclock to settings |
|
|
4188 | include/map.h: add water to weathermap structure |
|
|
4189 | include/sproto.h: add tons of new functions in weather.c |
|
|
4190 | common/init.c: update for FLAG_IS_WATER |
|
|
4191 | common/loader.l: update for FLAG_IS_WATER |
|
|
4192 | server/init.c: add code to read fastclock setting |
|
|
4193 | server/weather.c: Complete update, largely rewritten. Now the world is |
|
|
4194 | cut into a 100x100 matrix of weathermaps. Each one of these maps is |
|
|
4195 | computed at initial boot, and written to disk, following which, they are |
|
|
4196 | simply read from disk at boot. For each of the main weather types |
|
|
4197 | (pressure, humitidy, base temperature, wind direction, wind speed) the |
|
|
4198 | game recomputes the entire weathermap, applying smoothing algorithims, or |
|
|
4199 | derriving each map from it's predecessor. Weathermaps are only used if |
|
|
4200 | you have set your dynamiclevel to 1 or greater, and, are using the bigmap |
|
|
4201 | set. At this time, there is still no functional change to the game, |
|
|
4202 | bigmap, or not. |
|
|
4203 | utils/maps.c: This program will generate ppm files from each of the |
|
|
4204 | weathermaps. Mostly for debugging, but curious DM's might find it useful |
|
|
4205 | to see the weather. |
|
|
4206 | garbled 2002-10-27 |
|
|
4207 | |
|
|
4208 | server/c_chat.c: Fix some buffer overflow issues - use snprintf or |
|
|
4209 | use new_draw_info_format instead. |
|
|
4210 | lib/artifacts: Update some cloaks not to require a minimum magic level, |
|
|
4211 | since that will never be met. |
|
|
4212 | MSW 2002-10-16 |
|
|
4213 | |
|
|
4214 | Minor bugfixes: |
|
|
4215 | common/living.c: Fix it so that if you die, you won't _gain_ exp in any |
|
|
4216 | skills - could happen if new table is harder - 3 level loss could still |
|
|
4217 | mean having higher exp total. |
|
|
4218 | common/map.c: Fix on_same_map so check to see if either object has null |
|
|
4219 | map value - prevents crashes. |
|
|
4220 | MSW 2002-10-13 |
|
|
4221 | |
|
|
4222 | |
|
|
4223 | Experience cleanup - the main functional change is that no upper limit of |
|
|
4224 | exp in an individual skill, save for the limit that there is an upper |
|
|
4225 | limit of total exp a player can have. Thus, if a player concentrates |
|
|
4226 | complete in one skill, he could get to level 110 in it. A lot of |
|
|
4227 | code cleanup was done - so much had gotten added to the exp code that it |
|
|
4228 | was a real mess. |
|
|
4229 | common/living.c: re-arrange some of the code, so all the exp related |
|
|
4230 | functions are together. remove adjust_exp(), change check_dm_add_exp_to_obj() |
|
|
4231 | to check_exp_adjust. Add new functions add_player_exp(), check_exp_loss(), |
|
|
4232 | check_exp_add(), subtract_player_exp(). |
|
|
4233 | include/libproto.h: rebuilt. |
|
|
4234 | server/c_wiz.c: Update command_addexp() to use new exp functions. |
|
|
4235 | server/gods.c: Update lose_priest_exp() to use new exp functions. |
|
|
4236 | MSW 2002-10-11 |
|
|
4237 | |
|
|
4238 | configure, configure.ac: Remove --enable-old-layout option - that is more than |
|
|
4239 | 3+ years old now. Add --enable-dmalloc option so code can be compiled |
|
|
4240 | with dmalloc debugging without needing to change/rebuild the configure |
|
|
4241 | files. |
|
|
4242 | common/porting.c: Add stdarg.h to list of included files. |
|
|
4243 | include/autoconf.h.in: rebuilt, HAVE_LIBDMALLOC undef added. |
|
|
4244 | random_maps/square_spiral.c: fix bound checking value. |
|
|
4245 | MSW 2002-10-07 |
|
|
4246 | |
|
|
4247 | common/item.c: Fix bug with identified potions not getting set to proper name. |
|
|
4248 | MSW 2002-10-03 |
|
|
4249 | |
|
|
4250 | Bugfixes: Add golem_count element to player structure so we can properly |
|
|
4251 | detect when golem is destroyed. This fixes a crash in some places as the |
|
|
4252 | code tried to remove this already removed golem. |
|
|
4253 | Fix crash when null player maps. |
|
|
4254 | include/player.h: Add golem_count element to player structure. |
|
|
4255 | server/player.c: Add code in handle_newscs_player() that checks status of |
|
|
4256 | golem, clears op->contr->golem is value is bogus |
|
|
4257 | server/spell_effect.c, server/spell_util.c: Initialize golem_count |
|
|
4258 | value when golem is created. |
|
|
4259 | socket/request.c: Check for null map value. |
|
|
4260 | MSW 2002-10-02 |
|
|
4261 | |
|
|
4262 | Mostly bugfixes, but the addition of a wiz 'hide' command which makes the |
|
|
4263 | wiz out of sight so to speak. |
|
|
4264 | -- |
|
|
4265 | common/loader.l, common/loader.c: Fix bug where flag values were being saved |
|
|
4266 | with actual value of the flag (eg, 32768, 16, etc) instead of 1/0 value - |
|
|
4267 | Code effectively worked the same, just was a bit odd looking at save files. |
|
|
4268 | include/player.h: Add hidden element to player structure. |
|
|
4269 | include/sproto.h: Add command_hide(), update proto for players_on_map() |
|
|
4270 | lib/Makefile.am, lib/Makefile.in: add wizhelp/hide file. |
|
|
4271 | server/apply.c: Add error checking to converts so it doesn't crash if the |
|
|
4272 | converter doesn't have a proper other_arch. Modify shopmats so that they |
|
|
4273 | don't transport spell effects, like fireballs an burning hands. |
|
|
4274 | server/attack.c: Modify code so players can drain other players exp. |
|
|
4275 | server/c_misc.c: Modify various functions to not show info on hidden DM. |
|
|
4276 | server/c_wiz.c: Add command_hide(), clean up command_invisible() a bit. |
|
|
4277 | server/commands.c: Add hide command to dispatch table. |
|
|
4278 | server/main.c: Add code to not update players on map for hidden dm. |
|
|
4279 | server/player.c: Give hidden dm perpetual invisiblity. |
|
|
4280 | server/skills.c: Only get exp if you actually stole an item - fixes abuse |
|
|
4281 | whereby players who couldn't carry item could continually 'steal' it from |
|
|
4282 | monster and just gain exp. |
|
|
4283 | server/swap.c: modify players_on_map() to take addition arg to determine if |
|
|
4284 | real players on map should be shown, or if we shouldn't count hidden dms. |
|
|
4285 | socket/info.c: Modify code so that oldsockets don't get reports on high verbose |
|
|
4286 | messages. |
|
|
4287 | socket/metaserver.c: Modify metaserver update to not include hidden dms. |
|
|
4288 | utils/Makefile.in: update datestmp. |
|
|
4289 | MSW 2002-09-27 |
|
|
4290 | |
|
|
4291 | |
|
|
4292 | server/pet.c: Add check to pet_move() to make sure the space we are |
|
|
4293 | checking is within the map, and handle map tiling. |
|
|
4294 | MSW 2002-09-23 |
|
|
4295 | |
|
|
4296 | Various updates: |
|
|
4297 | NOTE - You need to install the updated archetypes (included below) |
|
|
4298 | if you run this code without the updated archs, you will likely find |
|
|
4299 | many things do not work. |
|
|
4300 | acinclude.m4 aclocal.m4 configure: more refinements for libpython detection. |
|
|
4301 | common/button.c: Two push_button() changes - have it check for ACTIVATE_ON_ |
|
|
4302 | PUSH/RELEASE to determine if the object should get activated. Also, |
|
|
4303 | change behaviour of TIMED_GATE so that multipart timed gates work. |
|
|
4304 | common/loader.l, loader.c: Update with acttivate_on_push/release |
|
|
4305 | doc/Developers/objects: Add notes about how to add flags to objects. |
|
|
4306 | include/define.h: add new FLAG_ values |
|
|
4307 | include/win32.h: update by pstolarc so it compiles on Win32. |
|
|
4308 | lib/archetypes: rebuilt |
|
|
4309 | MSW 2002-09-17 |
|
|
4310 | |
|
|
4311 | common/map.c: Fix problem with ordering in check_linked() - checking |
|
|
4312 | for NO_PASS was before checks for inventory checkers, resulting in |
|
|
4313 | inventory checkers that require the player to have an item not working. |
|
|
4314 | MSW 2002-09-15 |
|
|
4315 | |
|
|
4316 | |
|
|
4317 | ------------------------------------------------------------------------------ |
|
|
4318 | Changes for 1.4.0: |
|
|
4319 | |
|
|
4320 | server/disease.c: Change move_disease() somehwat - before, if you were |
|
|
4321 | not susceptible to a disease, it would never run its course. Yet you |
|
|
4322 | would still get stuck with the symptoms. there was a case on |
|
|
4323 | metalforge where a character had a symptom with no disease, and |
|
|
4324 | had immunity, yet was still getting stuck with the symptoms. Not sure |
|
|
4325 | if this change will help prevent that in the future or not. |
|
|
4326 | include/player.h: Change item_power in player structure to be 16 bits - |
|
|
4327 | 8 bit values were getting overflowed. |
|
|
4328 | MSW 2002-09-14 |
|
|
4329 | |
|
|
4330 | INSTALL: Update directions with new automake method. |
|
|
4331 | common/Makefile.am, common/Makefile.in: Fix code for building the libproto.h |
|
|
4332 | file - it was including loader.l and not loader.c |
|
|
4333 | common/exp.c: Add init_experience() and dump_experience() functions - |
|
|
4334 | init_experience() loads the experience table from a file. Add default |
|
|
4335 | experience table into this file |
|
|
4336 | common/init.c: Add call to init_experience() |
|
|
4337 | common/living.c: Remove experience tables - players can select the one they |
|
|
4338 | want by changing the exp_table file. Remove reference to new_levels[] - |
|
|
4339 | only levels[] is used now for the formentioned reason. |
|
|
4340 | include/config.h: Update notes about SIMPLE_EXP system. |
|
|
4341 | include/libproto.h: rebuilt. |
|
|
4342 | lib/Makefile.am, lib/Makefile.in: Add exp_table to list of files. |
|
|
4343 | lib/exp_table: New file that contains experience information. |
|
|
4344 | server/c_object.c: Modify command_take() to look for objects above the player |
|
|
4345 | to pick up, then objects below. This fixes the bug with not being able |
|
|
4346 | to use the take command on items from a chest the player opens without |
|
|
4347 | moving off the space. |
|
|
4348 | server/init.c: Add -mexp dump switch to dump the experience table. Allow |
|
|
4349 | the simple experience system to be set in the settings file. |
|
|
4350 | server/skill_util.c: Fix oddness in calc_skill_exp() which could result |
|
|
4351 | in add amounts of exp given. |
|
|
4352 | MSW 2002-09-10 |
|
|
4353 | |
|
|
4354 | |
|
|
4355 | include/sproto.h: rebuilt |
|
|
4356 | lib/help/killpets: New file |
|
|
4357 | lib/Makefile.in: Add help/killpets file. |
|
|
4358 | server/c_misc.c: Add command_kill_pets(). |
|
|
4359 | server/commands.c: add killpets command which kills your pets. |
|
|
4360 | server/monster.c: Add some code in check_enemy so that the enemy |
|
|
4361 | has to be a monster/generator/player to be considered valid - |
|
|
4362 | I was seeing things like arrows ending up as target enemies. |
|
|
4363 | MSW 2002-09-07 |
|
|
4364 | |
|
|
4365 | More bugfixes: |
|
|
4366 | common/loader.l, loader.c: Fix up the handling with speed with respect |
|
|
4367 | to style maps - the objects were still getting put on the active |
|
|
4368 | list. |
|
|
4369 | common/map.c: Fix up blocked_link() to behave more like the |
|
|
4370 | blocked_two() function - inventory checkers and door handling. |
|
|
4371 | Comment out blocked_two since it isn't used anymore. Modify |
|
|
4372 | load_objects to remove objects on style maps from the active |
|
|
4373 | list. Remove some of the debug messages about map loading. |
|
|
4374 | common/object.c: Add remove_from_active_list() function for use |
|
|
4375 | in map.c to remove objects from active list. |
|
|
4376 | common/porting.c: Comment out debug message if open_and_uncompress() |
|
|
4377 | can open a file - caller of the function should print out messages, |
|
|
4378 | and it really isn't much of an error in any case. |
|
|
4379 | include/libproto.h: rebuilt. |
|
|
4380 | random_maps/special.c: Modify place_special_exit() - this should fix |
|
|
4381 | bug of very large treasure maps - problem was if the generated map |
|
|
4382 | size was too small, when generate_random_map was called, it would |
|
|
4383 | generate a newly sized map that was much larger. Code was also |
|
|
4384 | re-arranged some to make it a little more readable. |
|
|
4385 | server/attack.c: Fix crash when creature may not have an owner and |
|
|
4386 | it kills something else. |
|
|
4387 | server/move.c: comment added - no code change. |
|
|
4388 | socket/request.c: Fix off by one error in esrv_send_animation() - |
|
|
4389 | rare condition as it only showed up when trying to send the last |
|
|
4390 | animation (zombie) - only an issue if the player is put on top of |
|
|
4391 | a zombie for some reason (no other space for them) - observed when |
|
|
4392 | leaving the random dungeon in the undead church in scorn without |
|
|
4393 | clearing out all the zombies first. |
|
|
4394 | MSW 2002-09-06 |
|
|
4395 | |
|
|
4396 | |
|
|
4397 | CHANGES: Update build instructions for the plugin. |
|
|
4398 | random_maps/square_spiral.c: Fix bug that could cause the search |
|
|
4399 | function to go off the edge of the map looking for a clear space. |
|
|
4400 | Doesn't happen often, but one crash did happen here. |
|
|
4401 | server/monster.c: Fix some bugs with monsters and wakeup - remove |
|
|
4402 | check for friendly that could never be true, and also fix |
|
|
4403 | logic so that monsters will now find the players. |
|
|
4404 | MSW 2002-09-05 |
|
|
4405 | |
|
|
4406 | common/button.c: Fix do_mood_floor() to look at all objects on space for |
|
|
4407 | something to effect, not just things above the moodfloor. |
|
|
4408 | server/attack.c: Add missing check to make sure the plugin exists before |
|
|
4409 | we try to access the plugin function. |
|
|
4410 | common/readlable.c: Fix crash caused by passing null value to mon_desc - |
|
|
4411 | check for non null was at end of { } do loop - check should be at the |
|
|
4412 | start. |
|
|
4413 | server/monster.c: Make it so that monsters with see invisible are not |
|
|
4414 | immune to blind - monster can be given appropriate resistance to make |
|
|
4415 | it so it is not effected by blind. |
|
|
4416 | MSW 2002-09-04 |
|
|
4417 | |
|
|
4418 | server/main.c: Move #endif in crypt_string to more proper place. |
|
|
4419 | server/monster.c: Fix bad if statement that may have been waking up |
|
|
4420 | monsters when they shouldn't have been. |
|
|
4421 | MSW 2002-09-03 |
|
|
4422 | |
|
|
4423 | This change mostly deals with improving behaviour of pet monstes. |
|
|
4424 | Most of the code is from K. Reinert - however, I did some code cleanup/ |
|
|
4425 | fixes related to pet monsters, so it is difficult to note where |
|
|
4426 | each piece of code came from. One thing this does fix is handling of |
|
|
4427 | multipart pets - these now work properly. |
|
|
4428 | common/map.c: Update comment for get_rangevector() - no code change. |
|
|
4429 | common/object.c: Add get_search_arr() which is used in pet monster code. |
|
|
4430 | This returns a semi random scrambling of the freearr array. |
|
|
4431 | doc/Developers/protocol: Update documentation about map1a protocol command. |
|
|
4432 | include/libproto.h, include/sproto.h: rebuilt. |
|
|
4433 | server/attack.c: Have drain attacks return 1 damage so that it is clear |
|
|
4434 | that you are actually hitting your opponent. Otherwise, you would |
|
|
4435 | get messages that 'you missed xyz', even though you are draining it. |
|
|
4436 | This extra point of damage shouldn't change balance in any significant |
|
|
4437 | way. |
|
|
4438 | server/monster.c: Update hnadling of enemies for pet monsters. It should |
|
|
4439 | more intelligently choose the monsters and not switch/clear the |
|
|
4440 | enemy field for no reason anymore. Change find_nearest_living_creature to |
|
|
4441 | use the get_search_arr() to more randomly choose direction of target - |
|
|
4442 | before, there was a proclivity to always look in the north direction. |
|
|
4443 | Modify can_hit() to look for closes part of enemy - otherwise, monsters |
|
|
4444 | may not attack opponents even if they were right next to them because |
|
|
4445 | they couldn't get to the enemies head. Remove move_object from |
|
|
4446 | this function - merged with move_ob in move.c |
|
|
4447 | server/move.c: Fix move_ob to use 'cleaner' code of move_object, but |
|
|
4448 | also have specific features that move_ob had (player handling). |
|
|
4449 | Before move_ob didn't handle multipart objects correctly, and the |
|
|
4450 | two functions were largely the same. Now move_object() just calls |
|
|
4451 | move_ob - the only difference in the functions is that move_ob() |
|
|
4452 | takes 3 parameters instead of 2 of move_object() (added |
|
|
4453 | parameter is originator). I think this should now mean multipart |
|
|
4454 | player objects may now work. |
|
|
4455 | server/pets.c: get_pet_enemy enhanced to be much smarter about |
|
|
4456 | selecting/finding things for the pet to attack. |
|
|
4457 | server/player.c: Remove commented out line of init_beforeplay |
|
|
4458 | MSW 2002-08-31 |
|
|
4459 | |
|
|
4460 | server/attack.c: Modify drain attack code so that if some agent of the |
|
|
4461 | player is doing the drain (eg, avatar, summoned monster, or even spell), |
|
|
4462 | player gets exp added to his total. Otherwise, the agent could suck all |
|
|
4463 | the exp out of the monster, resulting in no gain for the player. |
|
|
4464 | Also, fix bug in drain code where uninitialized value was being used |
|
|
4465 | if enemy had 0 protection to drain. |
|
|
4466 | MSW 2002-08-30 |
|
|
4467 | |
|
|
4468 | Various bugfixes: |
|
|
4469 | common/map.c: Change so that same logic is used to determine pclose/fclose |
|
|
4470 | that is used to determine popen/fopen - otherwise, compressed map |
|
|
4471 | files probably don't work properly. |
|
|
4472 | common/treasure.c: Do a memset to make sure entire treasureslist is |
|
|
4473 | set to sane values. |
|
|
4474 | lib/archetypes: Fix 'slaying' field (which determines spell name) in |
|
|
4475 | god_spelldirect_face_of_death and god_spelldirect_finger_of_death |
|
|
4476 | server/apply.c: Fix infinite loop if the player had cursed items |
|
|
4477 | that needed to be unapplied to apply an item - setting up next |
|
|
4478 | item iteration was inside if check when it shouldn't be. Also, |
|
|
4479 | print message to player if this is the case. |
|
|
4480 | server/monster.c: Better format some of the code for improved readability. |
|
|
4481 | Fix indentation of can_see_enemy. Clean up invisiblity check - may |
|
|
4482 | have fixed a bug - old code should have worked, but wasn't very |
|
|
4483 | readable. |
|
|
4484 | server/move.c: Fix some bad code from last checkin - didn't fix |
|
|
4485 | the crash on no floor for door type, and instead removed |
|
|
4486 | check type from next line by accident. |
|
|
4487 | server/player.c: Remove call for init_beforeplay - this is already |
|
|
4488 | properly called, and re-calling it resulted in some things being |
|
|
4489 | redone when they shouldn't be. |
|
|
4490 | server/skills.c: Add message if there is nothing to steal form the monster. |
|
|
4491 | server/spell_effect.c: Improve message when invisiblity duration is |
|
|
4492 | maximized. |
|
|
4493 | socket/init.c: change O_NDELAY to O_NONBLOCK of fcntl. |
|
|
4494 | MSW 2002-08-25 |
|
|
4495 | |
|
|
4496 | doc/Developers/objects: Update with new (better) information from |
|
|
4497 | Todd Mitchell. Doc is more complete, and now has an index which |
|
|
4498 | should make it easier to find things. |
|
|
4499 | server/move.c: Fix dereferencing NULL problem - was looking at op->above, |
|
|
4500 | but op could be NULL if the map had no objects on a space (typically |
|
|
4501 | not the case, but...) No reason I can see that we care about the object |
|
|
4502 | above - just process in normal order. |
|
|
4503 | MSW 2002-08-21 |
|
|
4504 | |
|
|
4505 | server/time.c: Possible fix for bug seen on metalforge - |
|
|
4506 | in move_player_mover, make sure we are working with the head of the |
|
|
4507 | monster. |
|
|
4508 | MSW 2002-08-13 |
|
|
4509 | |
|
|
4510 | More spoiler-html fixes - was not including attacktype information, but |
|
|
4511 | also fixed some formatting issues. |
|
|
4512 | common/item.c: Include attacktypes in describe_monster. |
|
|
4513 | doc/scripts/Makefile.in: Add monsters-extract.pl file. |
|
|
4514 | doc/spoiler-html/Makefile.in: Update to use ../scripts/monster-extract.pl |
|
|
4515 | file, remove monster-extract file. |
|
|
4516 | doc/spoiler-html/spoiler.html: rebuilt. |
|
|
4517 | MSW 2002-08-11 |
|
|
4518 | |
|
|
4519 | Fix spoiler-html generation to show resistances. Need to do normal spoiler |
|
|
4520 | next. Add a new docs/scripts directory to hold the common scripts, |
|
|
4521 | instead of spoiler, spoiler-html, playbook, and playbook-html each having |
|
|
4522 | their own copies. |
|
|
4523 | configure, configure.in: Add doc/scripts directory. |
|
|
4524 | doc/spoiler-html/Makefile.in: Update build directions to use |
|
|
4525 | ../scripts/items-extract.pl |
|
|
4526 | doc/spoiler-html/spoiler.html: Rebuilt with updated information. |
|
|
4527 | doc/scripts/Makefile.in: Makefile for directory. |
|
|
4528 | doc/scripts/items-extract.pl: perl version of the items-extract file. |
|
|
4529 | doc/spoiler-html/items-extract: awk version - no longer used. |
|
|
4530 | MSW 2002-08-02 |
|
|
4531 | |
|
|
4532 | common/item.c: Have describe monster show resistances of monsters - useful |
|
|
4533 | for spoiler output, as well probe spell. |
|
|
4534 | server/disease.c: Fix typo. |
|
|
4535 | MSW 2002-08-02 |
|
|
4536 | |
|
|
4537 | include/global.h: add FREE_AND_CLEAR_STR macro, relocate DELETE_STRING |
|
|
4538 | by the other macros. |
|
|
4539 | server/c_misc.c: Fix string printout in applymode function. |
|
|
4540 | server/disease.c: Update name_pl in diseases. |
|
|
4541 | server/player.c: replace FREE_AND_CLEAR with FREE_AND_CLEAR_STR - was |
|
|
4542 | freeing data that shouldn't be freed. |
|
|
4543 | MSW 2002-08-01 |
|
|
4544 | |
|
|
4545 | Various fixes: |
|
|
4546 | INSTALL: Update with note about --with-includes configure option. |
|
|
4547 | common/loader.c, common/loader.l: Add comment about flag_invis_undead |
|
|
4548 | include/define.h: Add FLAG_INVIS_UNDEAD |
|
|
4549 | lib/adm/map_info: Modify to not follow symbolic links. |
|
|
4550 | server/monster.c: Modify can_detect_enemy to be a bit more straightforward |
|
|
4551 | in its logic. Also, modify detection of invisible creatures - don't |
|
|
4552 | reduce duration, just return that the monster can detect the player. |
|
|
4553 | There were also spurious messages about the player being seen. |
|
|
4554 | Modify can_see_enemy to check FLAG_INVIS_UNDEAD, also fix broken |
|
|
4555 | comparison |
|
|
4556 | server/player.c: Clear FLAG_INVIS_UNDEAD when invisibility ends. Fix |
|
|
4557 | action_makes_visible() - had reverse logic on FLAG_MAKE_INVIS check, |
|
|
4558 | and a typo in the printed message. |
|
|
4559 | server/spell_effect.c: cast_invisible() to use FLAG_INVIS_UNDEAD - |
|
|
4560 | also check for maximum duration, and only search active objects when |
|
|
4561 | clearing enemy. |
|
|
4562 | server/weather.c: Fix off by one on comparision when intializing maps |
|
|
4563 | darkness when loading map from disk. In dawn_to_dusk, don't do |
|
|
4564 | further processing if the light hasn't changed. |
|
|
4565 | MSW 2002-07-29 |
|
|
4566 | |
|
|
4567 | |
|
|
4568 | |
|
|
4569 | Various bug fixes, add glyph spell: |
|
|
4570 | TODO: Updated |
|
|
4571 | common/map.c: Fix change_map_light() - if darkness was reduced to zero, |
|
|
4572 | it wouldn't properly notify the players or update the maps they are |
|
|
4573 | on. Also, make it more robust to handle changes by more than one. |
|
|
4574 | include/define.h: Increase NROFREALSPELLS |
|
|
4575 | include/spellist.h: Add glyph spell. |
|
|
4576 | include/spells.h: Add SP_GLYPH entry. |
|
|
4577 | server/attack.c: Fix up kill_object() - it has had some many various |
|
|
4578 | additions that it was difficult to follow the logic. It should also now |
|
|
4579 | do better check on skill objects when awarding experience. |
|
|
4580 | server/player.c: Add some checks/addition to properly deal with freeing the |
|
|
4581 | name_pl in the player object. Fix it so that if you are braced, you |
|
|
4582 | still won't attack friendly creatures. |
|
|
4583 | server/rune.c: Add cast_generic_rune() to handle the glyph and rune spell. |
|
|
4584 | server/spell_effect.c: Fix up some pointers in cast_cause_disease() - |
|
|
4585 | needed so that it works properly when embedded in a glyph. Have it |
|
|
4586 | return 1 even if no one caught anything - you still cast the spell, so |
|
|
4587 | you should lose the grace for it. |
|
|
4588 | server/spell_util.c: Fix some formatting. Break out the code dealing |
|
|
4589 | with rune into cast_generic_rune() |
|
|
4590 | socket/loop.c: Add flag to player command mapping, and update structure - |
|
|
4591 | if flag is set, command can only be issued when player is in play, |
|
|
4592 | and not when waiting at the quit or login prompt - fixes crashes where |
|
|
4593 | players could wait for the map to get swapped out (after quitting), and |
|
|
4594 | then looking at a space. |
|
|
4595 | socket/request.c: Fix map2cmd so that invisible players are drawn. |
|
|
4596 | MSW 2002-07-24 |
|
|
4597 | |
|
|
4598 | Add dm command 'freeze' which freezes a player from doing anything for some |
|
|
4599 | amount of time. |
|
|
4600 | include/sproto.h: rebuilt. |
|
|
4601 | lib/Makefile.in: Add freeze to wizhelp files. |
|
|
4602 | lib/wizhelp/freeze: New file. |
|
|
4603 | server/c_wiz.c: Add command_freeze(). Also, break out |
|
|
4604 | get_other_player_from_name() - several functions need the same logic |
|
|
4605 | of getting a player named X that is not us - making it a function |
|
|
4606 | reduces the duplicate code. Fix some formatting for some functions. |
|
|
4607 | server/commands.c: Add command_freeze to the dispatch table. |
|
|
4608 | MSW 2002-07-17 |
|
|
4609 | |
|
|
4610 | lib/Makefile.in: add a 'archonly' directive that only collects archetypes |
|
|
4611 | and doesn't collect images. |
|
|
4612 | lib/archetypes: rebuilt for fixes made to arches. |
|
|
4613 | lib/collect.pl.in: modified to take second parameter -ARCHONLY, that causes |
|
|
4614 | it not to save out animation, bmaps and faces file. |
|
|
4615 | server/apply.c: Change order of print when applying/unapplying - print out |
|
|
4616 | the 'you apply/unapply' before we print out the changes that applying |
|
|
4617 | the item does. It seems odd for it to be 'you feel stronger. you apply |
|
|
4618 | xyz'. Fix can_apply_object() so that if a player needs to unapply |
|
|
4619 | several items, the right return code is returned and we don't say |
|
|
4620 | the player has a choice. |
|
|
4621 | server/player.c: Fix missing clearing of player->next. |
|
|
4622 | MSW 2002-07-15 |
|
|
4623 | |
|
|
4624 | -- Start body commit notes -- |
|
|
4625 | Major commit. This adds body locations which is used for equipping items. |
|
|
4626 | Equipment has information which body part it gets equipped to, and monsters |
|
|
4627 | have information on how which body locations they can have. |
|
|
4628 | |
|
|
4629 | As part of this work, I also did a lot of code cleanup. |
|
|
4630 | |
|
|
4631 | To use this, you must use up to date archetypes - the ones included |
|
|
4632 | in this commit are fine - just make sure you install them. If |
|
|
4633 | you don't, players will not be able to equip items. |
|
|
4634 | |
|
|
4635 | common/arch.c: Initialize body_used to be same as body_info for |
|
|
4636 | archetypes - this way when monsters are created, they can |
|
|
4637 | start equipping items right away. |
|
|
4638 | common/exp.c: update new_exp() - some flags it checked for before no longer |
|
|
4639 | exist or have new names. |
|
|
4640 | common/info.c: describe_item() now takes second parameter - update |
|
|
4641 | dump_abilities to use new calling convention. |
|
|
4642 | common/item.c: Add table that describes the body_info locations and |
|
|
4643 | their names. Add functions that calculate item power for objects |
|
|
4644 | that don't have it set. Update display functions to show |
|
|
4645 | item_power in items. Update describe_monster() - use_horn/wand/rod |
|
|
4646 | merged into just use_range. Modify describe_item() to take second |
|
|
4647 | paramater - who the item is being described for. Show item_power |
|
|
4648 | in describe_item. |
|
|
4649 | common/living.c: Pull out MAXLEVEL from being defined in this file - |
|
|
4650 | define in in define.h, since other files use it. Add NUM_STATS |
|
|
4651 | define - replace hard coded values of having just 7 stats with it. |
|
|
4652 | Update change_abil to not display that the player has a new |
|
|
4653 | attacktype when equipping a bow that has it - fix_player() ignores |
|
|
4654 | the attacktype of the bow, so it was incorrect information. |
|
|
4655 | fix_player(): Initialize player ranges structure to null - |
|
|
4656 | will get filled in by code in function, updated to deal with |
|
|
4657 | updating the body_used data from body_info in the objects. |
|
|
4658 | Replace instances of last_heal with gen_sp_armour. Rearrange |
|
|
4659 | some code to make function more readable. |
|
|
4660 | common/loader.c, common/loader.l: Remove the variable_const information - no |
|
|
4661 | longer needed and confusing for new people when adding in new object |
|
|
4662 | elements. Add set_body_info() - parses the string from the load file and |
|
|
4663 | sets the appropriate array element. Add check_loaded_object() - does |
|
|
4664 | sanity checking for an object after finished loading - replaces need for |
|
|
4665 | long processing directive in the actual rules by having seperate function. |
|
|
4666 | Remove unused flags from load directives (apply_once, no_pretext, |
|
|
4667 | can_apply), add some new ones (item_power, gen_sp_armour), update others |
|
|
4668 | to can_use_range. Replace flag_links with simple array that contains the |
|
|
4669 | name for each corresponding flag. Update get_ob_diff to not use the V_ |
|
|
4670 | values and just include the actual string name - all recent changes have |
|
|
4671 | done this, just updated for old stuff. Update get_ob_diff to save new |
|
|
4672 | values that have been added. |
|
|
4673 | common/object.c: clear_object: Modify to use memset to clear |
|
|
4674 | the structure to zero - this is less error prone than listing |
|
|
4675 | all the specific values, and probably faster. Also, makes it |
|
|
4676 | easier to add new elements - no need to update object.c in most |
|
|
4677 | cases. |
|
|
4678 | common/player.c: Remove get_player_ob routine - this is now merged |
|
|
4679 | in with get_player_ob in server/player.c. Remove generate_ext_title - |
|
|
4680 | not used. |
|
|
4681 | common/readable.c: Update to pass second argument to describe_item. |
|
|
4682 | common/treasure.c: Update to calculate item_power of generated items. |
|
|
4683 | Clean up a lot of code formatting. Update add_abilities |
|
|
4684 | to use gen_sp_armour values, not last heal (note, it appears |
|
|
4685 | the last_heal values weren't being used before). Update |
|
|
4686 | calls to describe item to take second parameter. |
|
|
4687 | doc/Developers/objects: Update will_apply notes, add note about |
|
|
4688 | item_power, body location. |
|
|
4689 | include/define.h: Comment out unused flags (flag_apply_once, flag_paralyzed, |
|
|
4690 | flag_no_pretext, flag_ready_rod, flag_read_horn). Add flag_use_shield. |
|
|
4691 | rename flag_use_wand to flag_use_range. rename flag_ready_wand to |
|
|
4692 | flag_ready_range. Add flag_ready_scroll. Update ARMOUR_SPELLS access |
|
|
4693 | macro. Add AP_PRINT flag to apply flags. Add CAN_APPLY_.. return types |
|
|
4694 | for can_apply_object function. |
|
|
4695 | include/includes.h: add strftime, mktime checks to this file. |
|
|
4696 | include/libproto.h: rebuilt. |
|
|
4697 | include/living.h: Add NUM_STATS define, update extern declarations |
|
|
4698 | to use it for sizing. |
|
|
4699 | include/loader.h: remove the V_.. info and xbm_.. externs that were not |
|
|
4700 | used. |
|
|
4701 | include/newserver.h: Remove ext_tile information. |
|
|
4702 | include/object.h: Add Body_Locations structure, NUM_BODY_LOCATIONS define. |
|
|
4703 | Add definitions for WILL_APPLY values. Clean up object structure - |
|
|
4704 | formatting is now consistent, ordering of values groups values |
|
|
4705 | together more logically. Update all types to use the int8/int16/int32 |
|
|
4706 | types. Several unused fields removed. |
|
|
4707 | include/player.h: Update rangetype enum. Add unapplymode enum. |
|
|
4708 | Clean up player structure - type updates, unused fields removed, |
|
|
4709 | formatting fixed up. |
|
|
4710 | include/spells.h: remove range_name extern. Update SpellTypeFrom |
|
|
4711 | field to combine wand/rod/horn into spellMisc - none of the |
|
|
4712 | spell casting code was differentiating these. |
|
|
4713 | include/sproto.h: rebuilt. |
|
|
4714 | lib/Makefile.in: Add new help files (applymode, bind, brace) |
|
|
4715 | lib/archetypes: rebuilt for body_info, gen_sp_armour, item_power, |
|
|
4716 | can_use_shield information. |
|
|
4717 | lib/artifacts: updated for item_poer and gen_sp_armour changes. |
|
|
4718 | lib/treasures: remove unused _force for player treasure. |
|
|
4719 | plugin/plugin_python.c: Change FLAG_USE_WAND to FLAG_USE_RANGE. |
|
|
4720 | server/apply.c: Move stftime, mktime to include/includes.h. Remove |
|
|
4721 | draw_find() - one line function can just as easly be in the |
|
|
4722 | code itself. Update calls to long_desc to pass second parameter. |
|
|
4723 | move gravestone_text() to player.c file. Add direction parameter to |
|
|
4724 | apply_scroll() - in this way monsters can use it properly. |
|
|
4725 | Remove dead code. Update apply_special function. Add |
|
|
4726 | unapply_special(), get_item_from_body_location(), unapply_for_ob(), |
|
|
4727 | and can_apply_object() functions. |
|
|
4728 | server/attack.c: Remove SET_FLAG(op, FLAG_PARALYZED) line - no code |
|
|
4729 | was ever checking status of FLAG_PARALYZED. |
|
|
4730 | server/c_misc.c: add command_body() which dumps body information for |
|
|
4731 | player. Update who as idle element in player structure removed - |
|
|
4732 | was not being used by anything. Add command_applymode() to |
|
|
4733 | set players prefered unapply method. Remove calls to unlock_player() |
|
|
4734 | in various functions - unlock_player() has not done anything |
|
|
4735 | meaningful for a while. |
|
|
4736 | server/c_object.c: Modify long_desc to take a second parameter |
|
|
4737 | which is who is examing the object. this is needed so that we |
|
|
4738 | can pass it down to some of the lower level functions. |
|
|
4739 | Update calls to describe_item to pass this second parameter. |
|
|
4740 | remove FLAG_NO_PRETEXT code - no archetyps were using it. When |
|
|
4741 | examining objects, also tell player where to put them on. |
|
|
4742 | server/c_range.c: Update legal_range() - we now store the object that |
|
|
4743 | is responsible for a range in the player object, so code is |
|
|
4744 | much simpler. Update change_spell() to not destroy golem |
|
|
4745 | just by readying another spell - we now let players regain control |
|
|
4746 | of golems after switching to another range. Update change_spell |
|
|
4747 | to use item name of object for range description. |
|
|
4748 | server/c_wiz.c: remove reference to count_left from player object - |
|
|
4749 | field removed from structure. |
|
|
4750 | server/commands.c: add new commands (applymode, body) to command dispatch |
|
|
4751 | table. |
|
|
4752 | server/login.c: Remove unlock_player() and lock_player() and calls to it - |
|
|
4753 | current checking of names at login should be sufficient to |
|
|
4754 | prevent duplicates. Remove dead code from check_name. Update |
|
|
4755 | load/save code for unapply mode value. Add set_flag(op, |
|
|
4756 | FLAG_USE_SHIELD) if player is allowed to use armor - needed since |
|
|
4757 | flag_use_shield is really a class feature and so is not automatically |
|
|
4758 | updated for old player files. |
|
|
4759 | server/main.c: Remove references to count_left. memset marker object to |
|
|
4760 | NULL - seems to increase stability on metalforge server. |
|
|
4761 | server/monster.c: Many updates related to the body info - monsters follow some |
|
|
4762 | rules as players. Add monster_should_cast_spell function - monsters will |
|
|
4763 | use this for all spellcasting related actions (abilities, scrolls, wands, |
|
|
4764 | etc). Update for merged rod/horn/wand ranges. Update bow use by monsters |
|
|
4765 | - they don't actually need to equip it to fire - this way we don't need to |
|
|
4766 | constantly swap the monsters weapons between the bow and melee item. Use |
|
|
4767 | fire_bow from player.c for most of the work. Modify scroll usage - |
|
|
4768 | monster will use it when player is near, not when it first picks it up. |
|
|
4769 | Add FLAG_READY_SCROLL to denote the monster has a scroll to use. Also, |
|
|
4770 | monster now casts it in appropriate direciton. Merge the |
|
|
4771 | monster_use_wand/rod/horn into monster_use_range. Modify |
|
|
4772 | check_good_weapon and check_good_armour to just look at the stats of the |
|
|
4773 | two items without needing the monster to apply it first. |
|
|
4774 | server/player.c: Print motd in green so it is more noticable. Update |
|
|
4775 | get_player function to do work it did before as well as that of |
|
|
4776 | get_player_ob. Have get_player take a parameter which is the object of |
|
|
4777 | the player if he has one. Modify to use memset to clear the player |
|
|
4778 | structure - more sure fire than explicitly listing values to initialize. |
|
|
4779 | Remove calls to unlock_player. Modify fire_bow so that monsters can also |
|
|
4780 | use the function. Add fire_misc_object() to fire_wand/rod/horn - removes |
|
|
4781 | code from fire(). Add gravesetone_text() to this file. |
|
|
4782 | server/shop.c: Update to pass second parameter to describe_item(). |
|
|
4783 | server/skill_util.c: Update check_skill_to_fire since there are fewer |
|
|
4784 | rangetypes now. change range_scroll name to range_golem, as that is |
|
|
4785 | a bit more accurate for what it actually does. Modify show_skills() |
|
|
4786 | to show player his item power and total of items he has equipped. |
|
|
4787 | server/skills.c: Add second paramater to long_desc, remove references to |
|
|
4788 | count_left. |
|
|
4789 | server/spell_effect.c: Add second paramater to long_desc, remove references to |
|
|
4790 | count_left. Update range_scroll to range_golem |
|
|
4791 | server/spell_util.c: remove references to count_left. Update messages |
|
|
4792 | if player trying to cast where he can't with new range names. |
|
|
4793 | socket/info.c: Update range information and how we display what it is - |
|
|
4794 | we will use the object name of the range if available. Remove |
|
|
4795 | reference last_known_spell, last_shoot, last_spell, last_value |
|
|
4796 | player structure fields. |
|
|
4797 | socket/init.c: Remove ext_title information. |
|
|
4798 | socket/request.c: Add element for life_stealing in the resistance array. |
|
|
4799 | Remove references to idle, count_left in player structure. remove |
|
|
4800 | ext2 title information. |
|
|
4801 | MSW 2002-07-14 |
|
|
4802 | -- End body commit notes -- |
|
|
4803 | |
|
|
4804 | common/anim.c, common/button.c, common/friend.c, common/glue.c, |
|
|
4805 | common/init.c,common/logger.c, common/los.c, common/porting.c, |
|
|
4806 | common/time.c, common/utils.c, crossedit/png.c, crossedit/xutil.c, |
|
|
4807 | include/attack.h, include/config.h, include/map.h, include/material.h, |
|
|
4808 | include/newclient.h, include/skills.h, include/treasure.h, |
|
|
4809 | random_maps/decor.c, random_maps/door.c, random_maps/floor.c, |
|
|
4810 | random_maps/monster.c, random_maps/special.c, random_maps/standalone.c, |
|
|
4811 | random_maps/style.c, random_maps/wall.c, server/alchemy.c, |
|
|
4812 | server/c_chat.c, server/c_party.c, server/gods.c, server/hiscore.c, |
|
|
4813 | server/init.c, server/pets.c, server/resurrection.c, server/rune.c, |
|
|
4814 | server/time.c, socket/metaserver.c: Update banner copyright |
|
|
4815 | with proper contact information. |
|
|
4816 | MSW 2002-07-14 |
|
|
4817 | |
|
|
4818 | server/disease.c: Fix propogation of diseases with negative damage (these |
|
|
4819 | do a percent of the creatures damage). The new disease was getting |
|
|
4820 | a damage rating of 1 in all cases because we were passing a negative |
|
|
4821 | value to random_roll for the top end of the range. |
|
|
4822 | MSW 2002-07-08 |
|
|
4823 | |
|
|
4824 | common/arch.c: Add 'unlocked' match for item_matched_string. |
|
|
4825 | lib/help/drop, lib/help/dropall: Help files for these commands. |
|
|
4826 | lib/Makefile.in: Update to include help commands above. |
|
|
4827 | server/spell_effect.c: Fix formatting of summon_pet() function. Modified so |
|
|
4828 | that it no longers sucks player spellpoints when casting it via scroll - |
|
|
4829 | scrolls should not cast the player spellpoints. No idea why that code was |
|
|
4830 | there - in fact, casting off a scroll used more sp than casting from |
|
|
4831 | memory. Modify cast_cause_disease() function so that if the passed |
|
|
4832 | direction is 0, we refer to the facing and cast in that direction - this |
|
|
4833 | means spells of cause disease now work. Also perform some minor formatting |
|
|
4834 | changes in the function. |
|
|
4835 | TODO: Add not about inscription. |
|
|
4836 | MSW 2002-07-05 |
|
|
4837 | |
|
|
4838 | common/arch.c: Fix bug in item_matched_string which was matching all |
|
|
4839 | values (inverse in fact) when passed with count > 1 in matching |
|
|
4840 | string - missing ! operator. |
|
|
4841 | README: Update - remove note about windows client, since it is currently |
|
|
4842 | unsupported and could stop working in some future release. |
|
|
4843 | MSW 2002-07-05 |
|
|
4844 | |
|
|
4845 | ------------------------------------------------------------------------------ |
|
|
4846 | Changes for 1.3.0: |
|
|
4847 | |
|
|
4848 | socket/request.c: If players were using the original map command with |
|
|
4849 | an even map size, server would try to send too much data to client - |
|
|
4850 | checking in server would result in an abort. Modify code to now properly |
|
|
4851 | send right number of spaces. |
|
|
4852 | lib/Makefile.in: remove extraneous / in front of motd entry in file list. |
|
|
4853 | include/version.h: Update for version 1.3.0 |
|
|
4854 | Makefile.in: Update for version 1.3.0 |
|
|
4855 | lib/archetypes: rebuilt. |
|
|
4856 | MSW 2002-07-01 |
|
|
4857 | |
|
|
4858 | doc updates: Rebuild the doc files, but most of this is fixing some of the |
|
|
4859 | doc build stuff to correctly working with the new image set naming |
|
|
4860 | scheme and fixing some bugs. Some doc is certainly out of date - the |
|
|
4861 | playbook doesn't mention the classes for example. |
|
|
4862 | doc/handbook.ps, doc/spoiler.ps: rebuilt |
|
|
4863 | Note: all the doc/playbook changes also apply to the same files in |
|
|
4864 | doc/playbook-html. |
|
|
4865 | doc/playbook/Makefile.in, doc/playbook/makeps, doc/playbook/makeps.pl: |
|
|
4866 | replace the awk makeps script with the perl one. |
|
|
4867 | doc/playbook/items-extract: Don't show invisible items. |
|
|
4868 | doc/playbook/levels-extract: Update so that it properly finds the declaration |
|
|
4869 | of the levels in living.c |
|
|
4870 | doc/playbook/treas1-extract: Clear type when we get a new Object header. was |
|
|
4871 | resulting in duplicate entries for the characters. |
|
|
4872 | doc/playbook/treas2-extract: Don't include forces of the no_class_face_change |
|
|
4873 | as part of characters treasures |
|
|
4874 | doc/playbook-html/chap1.html: Update ftp site information. |
|
|
4875 | doc/spoiler/Makefile.in, doc/spoiler/makeps.pl, doc/spoiler/makeps: |
|
|
4876 | replace the awk makeps script with the perl one. |
|
|
4877 | doc/spoiler/items-extract: Add a space after the name match so that it won't |
|
|
4878 | match on the name_pl field. |
|
|
4879 | doc/spoiler-html/items-extract: Add a space after the name match so that it won't |
|
|
4880 | match on the name_pl field. |
|
|
4881 | doc/spoiler-html/makeps.pl: Update to handle new naming scheme for images. |
|
|
4882 | doc/spoiler-html/spoiler.html: rebuilt. |
|
|
4883 | lib/Makefile.in: Fix error in variable not being surrounded by parens. |
|
|
4884 | MSW 2002-06-30 |
|
|
4885 | |
|
|
4886 | |
|
|
4887 | server/rune.c: Fix bug that allowed players to use marking runes to create |
|
|
4888 | arbitrary objects by embedding a endmsg in the string. |
|
|
4889 | MSW 2002-06-26 |
|
|
4890 | |
|
|
4891 | lib/ban_file: Update comments to describe how it actually works. |
|
|
4892 | server/commands.c: Add some time cost to shout, say, and tell commands. This |
|
|
4893 | prevents abusive players from issuing huge number of these commands. |
|
|
4894 | MSW 2002-06-20 |
|
|
4895 | |
|
|
4896 | doc/playbook-html/Makefile.in: Remove some superfluous blank lines |
|
|
4897 | in the file. |
|
|
4898 | configure, configure.in, plugin/Makefile.in: Modify configure script to |
|
|
4899 | subtitute PLUGIN_TARGET, have plugin/Makefile not build/install |
|
|
4900 | plugin if necessary support libraries are not in place. |
|
|
4901 | common/item.c, include/material.h: Move the declaration/initialization |
|
|
4902 | of materialtype from material.h to item.c |
|
|
4903 | server/main.c: Modify crypt_string so that on Freebsd systems, it will |
|
|
4904 | use des_crypt if available, if not, won't encrypt. |
|
|
4905 | MSW 2002-06-18 |
|
|
4906 | |
|
|
4907 | TODO: Additional updates. |
|
|
4908 | Add support for loading the EMERGENCY_.. locations from a .emergency file in |
|
|
4909 | the map directory. This makes it easy to switch map distributions without the |
|
|
4910 | need to recompile. The emergency information is now stored in the settings |
|
|
4911 | structure. |
|
|
4912 | common/init.c: add EMERGENCY_ defines to default values in setting. Add |
|
|
4913 | init_emergency_mappath which loads the information. |
|
|
4914 | include/config.h: Remove NEW_WORLD_MAP definition, as it is no longer |
|
|
4915 | needed. Update some of the EMERGENCY_.. information as we don't need |
|
|
4916 | to include the information for the new world map. |
|
|
4917 | include/global.h: Add emergency_.. fields to settings structure. |
|
|
4918 | server/login.c, server/main.c, server/player.c: Update references from |
|
|
4919 | the EMERGENCY.. values to settings.emergency values. |
|
|
4920 | MSW 2002-06-15 |
|
|
4921 | |
|
|
4922 | lib/Makefile.in: modified so that it doesn't overwrite commonly customized |
|
|
4923 | files (eg, motd, dm_file, ban_file). These files will get installed |
|
|
4924 | on new installations. |
|
|
4925 | MSW 2002-06-14 |
|
|
4926 | |
|
|
4927 | common/item.c: break out monster description into describe_monster |
|
|
4928 | function from describe_item - the later was a really long function. |
|
|
4929 | Reveal weapon speed for identified weapons, spell point regen |
|
|
4930 | penalty and max speed for identified armor - this was discussed about |
|
|
4931 | 6 weeks ago. Clean up the code to reduce the number of redundant |
|
|
4932 | if statements and otherwise confusing code in describe_item. |
|
|
4933 | MSW 2002-06-14 |
|
|
4934 | |
|
|
4935 | configure.in, configure, plugin/Makefile, plugin/Makefile.in, |
|
|
4936 | plugin/Makefile.old: Modify the plugin module to gets its needed |
|
|
4937 | information from configure. configure.in modified to look for Python.h and |
|
|
4938 | to find the python library. plugin/Makefile.in is a new file. |
|
|
4939 | plugin/Makefile.old is the old plugin/Makefile (removed) - may be useful |
|
|
4940 | for sites where configure does not work for some reason. The use of |
|
|
4941 | --with-includes=-I/usr/include/python2.2 (or the like) will likely be |
|
|
4942 | needed for configure to find the Python.h file. Note - if you |
|
|
4943 | are doing a CVS update, you will need to re-run configure with the |
|
|
4944 | appropriate options for this change to take effect. |
|
|
4945 | MSW 2002-06-13 |
|
|
4946 | |
|
|
4947 | server/main.c: If on freebsd system, don't crypt the password. |
|
|
4948 | Crypt on freebsd behaves diferently, and since there is little reason |
|
|
4949 | to encrypt passwords, easier to just leave them decrypted. |
|
|
4950 | Fix for sourceforge bug 469017 |
|
|
4951 | MSW 2002-06-13 |
|
|
4952 | |
|
|
4953 | More minor changes, including a fix for the disappearing object bug - |
|
|
4954 | this was caused by the flag_links not getting updated the last |
|
|
4955 | time new flags were added. Problem probably only showed up now |
|
|
4956 | because loader.c wasn't rebuilt until recent changes. |
|
|
4957 | -- |
|
|
4958 | common/loader.c, common/loader.l: add extern to arch_init, when |
|
|
4959 | loading and get an object from a file, complain and ignore it if |
|
|
4960 | arch_init is not set (only time we should get object (vs arch) for |
|
|
4961 | names is when we load the archetypes file). Add missing entries |
|
|
4962 | to flag_links array. |
|
|
4963 | common/treasure.c: Fix code so that proper plural names are generated |
|
|
4964 | for custom items (potions, flesh items, etc). |
|
|
4965 | include/define.h: Add note about updating flag_links when NUM_FLAGS is |
|
|
4966 | increased. |
|
|
4967 | server/skills.c: don't let players steal from players with FLAG_WIZ set. |
|
|
4968 | MSW 2002-06-09 |
|
|
4969 | |
|
|
4970 | Mostly bugfixes. I'm not sure if this will fix the disappearing arch problem- |
|
|
4971 | none of the changes made in the original multiple name would seem to |
|
|
4972 | cause it, so hard to say if any of these changes may fix it. |
|
|
4973 | -- |
|
|
4974 | common/arch.c: Change get_archetype_by_name to be more efficient and |
|
|
4975 | not leak memory. Modify code that frees all archetype data to free |
|
|
4976 | the name_pl information. Make sure the clone.name_pl is set to |
|
|
4977 | NULL. When singularites are created, set the name_pl for them. |
|
|
4978 | common/loader.l, common/loader.c: Modify code that fixes up name_pl |
|
|
4979 | to be more correct when it fixes up name_pl for old objects. |
|
|
4980 | common/map.c: Modify load_map_header so that tile_paths will be normalized - |
|
|
4981 | need for editor to be able to load maps that have a multipart object |
|
|
4982 | that spans the maps. |
|
|
4983 | crossedit/Edit.c: Modify some calls of out_of_map to OUT_OF_REAL_MAP, since |
|
|
4984 | tiling code really isn't fully in place for the editor. Modify |
|
|
4985 | EditPerformFill so that it actually works and doesn't crash the editor. |
|
|
4986 | include/global.h: Move FREE_AND_COPY macro from loader.l to here so that |
|
|
4987 | all source code files can use it. |
|
|
4988 | lib/adm/map_info: Modify to actually be able to examine just a sub |
|
|
4989 | portion of the map directories, and not all of them. Don't always |
|
|
4990 | show the unused objects - information isn't very interesting if only |
|
|
4991 | a portion is being examined. Modify the exit examining code to properly |
|
|
4992 | deal with random maps (if there is a finalmap component, make sure |
|
|
4993 | that does exist.) Loade the bmaps file and not the faces file to |
|
|
4994 | find valid faces. |
|
|
4995 | plugin/plugin_python.c: Add missing %s that described what script |
|
|
4996 | was actually loaded. |
|
|
4997 | random_maps/special.c, server/alchemy.c, server/c_misc.c, server/gods.c, |
|
|
4998 | server/login.c, server/player.c, server/spell_effect.c: Set up proper |
|
|
4999 | name_pl value for code that changes the name of objects. |
|
|
5000 | server/apply.c: Use FREE_AND_COPY to set up names. Set up proper |
|
|
5001 | name_pl values for cases that change name. In apply_lighter, call fix_player |
|
|
5002 | if player is lighting an object in his inventory - necessary for the |
|
|
5003 | players glow_radius to get updated so the change actually takes effect. |
|
|
5004 | socket/request.c: Modify esrv_map_scroll so that it properly clears cells |
|
|
5005 | that are moving out of view - failure to do this was resulting in the |
|
|
5006 | map1a updating these spaces with empty faces. This was causing |
|
|
5007 | fog of war wackiness with the client. |
|
|
5008 | MSW 2002-06-06 |
|
|
5009 | |
|
|
5010 | |
|
|
5011 | common/button.c: Fix mood floor code - before, it was changing the moods |
|
|
5012 | of all sorts of objects (luggage, itself, etc). Now, it only |
|
|
5013 | changes objects above the floor, and only monsters. |
|
|
5014 | MSW 2002-05-31 |
|
|
5015 | |
|
|
5016 | |
|
|
5017 | Main change is the addition of name_pl and client_type to object |
|
|
5018 | structure. The name_pl contains the proper plural name instance - fixes |
|
|
5019 | problem of '2 tooths'. client_type is sent to the client so that client |
|
|
5020 | doesn't need to figure out sorting on its own. Client_type is an object |
|
|
5021 | attribute, so can be modified in maps to hide the real type. |
|
|
5022 | -- |
|
|
5023 | common/arch.c: item_matched_string() modified to use the name_pl field |
|
|
5024 | when trying to match names, and not to try to make the name plural |
|
|
5025 | itself. |
|
|
5026 | common/item.c: query_short_name(),query_base_name() modified to |
|
|
5027 | use name_pl instead of trying to make the name plural. |
|
|
5028 | common/loader.c, common/loader.l: Add code to load and save the name_pl |
|
|
5029 | value and client_type. Add logic when object is finished loading |
|
|
5030 | to set name_pl value to same as name or arch name if no name_pl |
|
|
5031 | is specified - this supports old maps/characters in which the objects |
|
|
5032 | dont have a name_pl field yet. Disable logic for need_an and need_ie |
|
|
5033 | flags since they are no longer needed. Fix bug that caused |
|
|
5034 | elevation not to get saved. |
|
|
5035 | common/object.c: Add client_type check for CAN_MERGE function. Add |
|
|
5036 | appropriate logice in functions to handle setting, clearing, and |
|
|
5037 | copying of name_pl values. Remove unused anim_... fields |
|
|
5038 | initialization. |
|
|
5039 | doc/Developers/objects: Add information about the name_pl field and |
|
|
5040 | client_type. |
|
|
5041 | doc/Developers/protocol: Remove item protocol command info - it has |
|
|
5042 | been obsoleted. Add information about item2 protocol command. |
|
|
5043 | include/define.h: Remote ST1_* values - they were not being used. |
|
|
5044 | comment out FLAG_AN and FLAG_NEED_IE values. |
|
|
5045 | include/newserver.h: Add itemcmd to socket structure - this is the |
|
|
5046 | version of the item protocol command that will be sent to the client. |
|
|
5047 | include/object.h: Add name_pl and client_type field to object structure. |
|
|
5048 | Remove unused anim_* values. |
|
|
5049 | lib/archetypes: rebuilt with new archetypes that contain client_type |
|
|
5050 | and name_pl information. |
|
|
5051 | lib/bmaps, lib/bmaps.paths, lib/crossfire.1, lib/crossfire.0, lib/faces: |
|
|
5052 | rebuilt. |
|
|
5053 | server/monster.c: Remove anim_ references that were not being used. |
|
|
5054 | socket/init.c: Initialize itemcmd version in the socket to 1. |
|
|
5055 | socket/item.c: Remove special handling for clients of old versions - all |
|
|
5056 | clients now have to be at least sc_version 1024 (which has been around for |
|
|
5057 | a long time). This simplifies a lot of the object code that deals with |
|
|
5058 | sending or not sending plural names to the client - now always send them. |
|
|
5059 | Change code that sends item to client to use the item revision (currently |
|
|
5060 | 1 or 2) that the client wants. If version 2, send along client_type |
|
|
5061 | information. |
|
|
5062 | socket/request.c: Handle 'itemcmd' parameter in setup command. Make |
|
|
5063 | sure it is in proper range. If client is very old (sc_version < 1024) |
|
|
5064 | tell them so. |
|
|
5065 | MSW 2002-05-30 |
|
|
5066 | |
|
|
5067 | |
|
|
5068 | crossedit/png.c, crossedit/xutil.c: Increase size of temporary buffers that |
|
|
5069 | are used when loading images - necessary to allow the editor to run without |
|
|
5070 | crashing. |
|
|
5071 | include/newserver.h: Remove quick_pos from the MapCell structure. |
|
|
5072 | server/main.c: Add code to set the coordinates to the EMERGENCY_X/Y |
|
|
5073 | values if using the EMERGENCY_MAP. |
|
|
5074 | socket/request.c: Fix code that was causing darkness to get repeatedly |
|
|
5075 | sent for some spaces. |
|
|
5076 | MSW 2002-05-19 |
|
|
5077 | |
|
|
5078 | The bulk of this commit is to modify the server to only send the lower |
|
|
5079 | rightmost part of multipart archetypes that use the same head. This allows |
|
|
5080 | support of big images in the client. |
|
|
5081 | |
|
|
5082 | common/arch.c: Modify first_arch_pass to figure out the tail_x/y values for |
|
|
5083 | multipart archs. Rename the prev variable to head, as that it really what |
|
|
5084 | it is. Remove quick_pos info. |
|
|
5085 | common/object.c: remove quick_pos info from object. |
|
|
5086 | doc/Developers/images: Add notes about using merged images. |
|
|
5087 | doc/Developers/protocol: Add information about the map1a command, which |
|
|
5088 | is used to for big image support. Remove map2 documentation. |
|
|
5089 | include/map.h: Add MAP_LAYERS define instead of using hardcoded value of 3. |
|
|
5090 | include/newserver.h: Change the MapCell to use MAP_LAYERS - saves |
|
|
5091 | considerable memory. Add defines for MAX_CLIENT_ map sizes. |
|
|
5092 | Remove map1cmd, map2cmd elements from socket structure - instead use enumeration |
|
|
5093 | of mapmode - only one map type will be used at any time by the client, so |
|
|
5094 | no reason to have individual elements - it also makes it easier to add new |
|
|
5095 | mapmode commands. |
|
|
5096 | include/object.h: remove quick_pos, update_tag from object structure. |
|
|
5097 | Add tail_x, tail_y values to archetype structure. |
|
|
5098 | include/player.h: Remove some now unused values from the player structure |
|
|
5099 | (drawn, floor, floor2, darkmask). These have been superseded by the |
|
|
5100 | map cells in the socket structure for quite a while. |
|
|
5101 | include/sockproto.h: rebuilt |
|
|
5102 | server/player.c: Remove code that initialized the drawn values in the player |
|
|
5103 | structure since they no longer exist. |
|
|
5104 | socket/init.c: Replace map1cmd, map2cmd elements in socket structure with |
|
|
5105 | mapmode element. Modify init_ericserver so that it properly passes an |
|
|
5106 | int when setting the SO_REUSERADDR field. |
|
|
5107 | socket/request.c: Modify code in SetUp function to use the new mapmode |
|
|
5108 | enumeration in the socket structure. Add support for map1acmd setup |
|
|
5109 | option. Throughout map code, replace MAXMAPCELLFACES with MAP_LAYERS. |
|
|
5110 | modify map_clearcell to take options for values to clear the cell to. |
|
|
5111 | Add have_head, check_head, and update_space commands - used with the |
|
|
5112 | map1 command to store and find head information. |
|
|
5113 | draw_client_map1 modified to support map1a extensions, as well as added |
|
|
5114 | logic for checking for heads in blocked and out of viewable map spaces. |
|
|
5115 | Some of the code is simplified by using the update_space function, since |
|
|
5116 | the logic for processing each layer was otherwise the same. remove |
|
|
5117 | draw_client_map2 function. esrv_map_scroll has same logic - some |
|
|
5118 | variables and code formatting changes. |
|
|
5119 | MSW 2002-05-18 |
|
|
5120 | |
|
|
5121 | server/login.c, server/c_misc.c: Don't save characters with 0 experience. |
|
|
5122 | This apparantly fixes some abuses. MSW 2002-05-18 |
|
|
5123 | |
|
|
5124 | server/attack.c: Don't generate PLAYER_KILL_PLAYER messages if kill |
|
|
5125 | happened on battleground. Also, datestamp the messages. |
|
|
5126 | MSW 2002-05-13 |
|
|
5127 | |
|
|
5128 | server/attack.c: Generate log message when a player kills another player - |
|
|
5129 | include the ip address of the killer to make it easier to add them to |
|
|
5130 | ban files. MSW 2002-05-06 |
|
|
5131 | |
|
|
5132 | ------------------------------------------------------------------------------ |
|
|
5133 | Changes for 1.2.0: |
|
|
5134 | Makefile.in, include/version.h: Update for 1.2.0 release |
|
|
5135 | lib/Makefile.in: have it make an archive for the archetypes. |
|
|
5136 | MSW 2002-04-28 |
|
|
5137 | |
|
|
5138 | |
|
|
5139 | doc/Developers/protocol: Add documentation about the map2 protocol command. |
|
|
5140 | socket/request.c: Fix bad indentation for the map2 function. No actual |
|
|
5141 | functional code changes, but some comments updated. Running diff with the |
|
|
5142 | -w option will make the changes, or lack thereof, more viewable. |
|
|
5143 | MSW 2002-04-28 |
|
|
5144 | |
|
|
5145 | crossedit/xutil.c: Update to use name of png file. |
|
|
5146 | lib/archetypes: collected - pl_dragon arch changed a while back, with no |
|
|
5147 | new collect. |
|
|
5148 | lib/collect.pl.in: Add some notes about usage if no option is given or |
|
|
5149 | if --help is given. |
|
|
5150 | server/gods.c: Fix that resulted in weapon/armor restrictions not working. |
|
|
5151 | MSW 2002-04-23 |
|
|
5152 | |
|
|
5153 | Various minor bugfixes. Note the changes may appear larger than they |
|
|
5154 | really are due to formatting/indentation changes. Run diff -w to |
|
|
5155 | supress those: |
|
|
5156 | make_win32/installwin32.bat: Update for new image files. |
|
|
5157 | server/c_object.c: Fix SAVE_INTERVAL #ifdef block. It failed to compile |
|
|
5158 | as it was written. Simplify code, but it should have the same effect. |
|
|
5159 | server/move.c: Modify push_object so that if a player swaps position |
|
|
5160 | with his pet, we send a esrv_map_scroll. This should save bandwidth, |
|
|
5161 | and also prevents display corruption when fog of war on the client |
|
|
5162 | is in use. Add some new comments, adjust some formatting. |
|
|
5163 | server/player.c: Fix minor typo in comment. |
|
|
5164 | server/skills.c: Modify new_draw_info that is responsible for the |
|
|
5165 | "You pray" messages to not have the NDI_UNIQUE flag so that |
|
|
5166 | they can get batched up, depending on users value of output-count |
|
|
5167 | server/swap.c: Remove swapped out per player unique maps from the list |
|
|
5168 | of maps. Reduces cpu and memory consumption by a minor amount, and |
|
|
5169 | results in a cleaner 'maps command output. |
|
|
5170 | server/weather.c: Add standard crossfire banner to top of file. |
|
|
5171 | Modify long long declartion to just be a long. |
|
|
5172 | MSW 2002-04-20 |
|
|
5173 | |
|
|
5174 | socket/item.c: Add checks to esrv_move_object - before it just trusted |
|
|
5175 | the client that the destination target to move items into was a container. |
|
|
5176 | Now do valid checking that the object can be picked up, that the container |
|
|
5177 | can hold it, etc. MSW 2002-04-18 |
|
|
5178 | |
|
|
5179 | Add utils/crossloop.web.in script. This script is used on metalforge - |
|
|
5180 | it generates the backtrace file, compresses the core, and sends out |
|
|
5181 | mail. |
|
|
5182 | configure.in, configure: Rebuilt to make the crossloop.web script. |
|
|
5183 | utils/Makefile.in: Install the crossloop.web script. Include the |
|
|
5184 | crossloop.web.in script when making the archive. |
|
|
5185 | utils/crossloop.web.in: New file. |
|
|
5186 | MSW 2002-04-14 |
|
|
5187 | |
|
|
5188 | Update to improve image caching and faceset support in the client. |
|
|
5189 | The main change is adding the 'requestinfo image_info' and |
|
|
5190 | 'requestinfo image_sums' commands. |
|
|
5191 | common/image.c: Checksum the bmaps file when we load it - we send this as |
|
|
5192 | part of the image_info data. |
|
|
5193 | doc/Developers/protocol: Document the requestinfo data. |
|
|
5194 | include/global.h: Add extern for bmaps_checksum, and the define for |
|
|
5195 | ROTATE_RIGHT which is used for checksumming. |
|
|
5196 | include/newserver.h: Update SC version to 1027 so that clients can |
|
|
5197 | know if they can issue requestinfo commands. |
|
|
5198 | include/sockproto.h: rebuilt |
|
|
5199 | lib/adm/collect_images.pl: Add support for it to make a crossfire-images |
|
|
5200 | distribution that the client can use to bootstrap its image set. |
|
|
5201 | socket/image.c: Change SendFaceCmd to take a NewSocket parameter instead |
|
|
5202 | of a player parameter - in this way, it can be used before the |
|
|
5203 | AddMe command - this allows the client to download images before |
|
|
5204 | issuing that command. Add send_image_info and send_image_sums |
|
|
5205 | function which send the requestinfo data to the client. |
|
|
5206 | socket/loop.c: Move the askface command from the player commands to the |
|
|
5207 | newsocket commands. Add RequestInfo functino that determines the |
|
|
5208 | type of request and calls the specific function to deal with it. |
|
|
5209 | MSW 2002-03-25 |
|
|
5210 | |
|
|
5211 | ------------------------------------------------------------------------------ |
|
|
5212 | Changes for 1.1.0: |
|
|
5213 | |
|
|
5214 | Updates for 1.1.0 release - pretty much all minor bug fixes, like |
|
|
5215 | compiler warning messages, invalid ANSI C constructs, missing files to |
|
|
5216 | include in the distribution. |
|
|
5217 | Makefile.in, include/version.h: update version. |
|
|
5218 | include/Makefile.in: Add some missing files |
|
|
5219 | include/libproto.h, sproto.h: rebuilt to prevent compiler warnings |
|
|
5220 | lib/Makefile.in: Include the wizhelp files in the archive. |
|
|
5221 | server/apply.c, server/skill_util.c: fix invalid code (function parameter |
|
|
5222 | names can't match structs/typedefs), add a missing return value. |
|
|
5223 | server/c_move.c, server/c_new.c, server/c_object.c, server/commands.c, |
|
|
5224 | server/daemon.c: Don't include the sproto.h if CEXTRACT is defined. |
|
|
5225 | server/plugins.c: fix printf command that was printing wrong value type. |
|
|
5226 | doc/spoiler-html/Makefile.in: Remove extraneous newline |
|
|
5227 | |
|
|
5228 | server/player.c: modify play_again to remove the player object if not done so |
|
|
5229 | already. This fixes a crash observed on metalforge when a player quit at the |
|
|
5230 | roll/swap stats prompt (undocumented that you can use 'q' then to do so). It |
|
|
5231 | looks like this should also fix crashes that may be associated with the kick |
|
|
5232 | and shutdown wiz commands. |
|
|
5233 | MSW 2002-03-12 |
|
|
5234 | |
|
|
5235 | Added new dragon race to crossfire. |
|
|
5236 | Players of this dragon race can gain resistances |
|
|
5237 | by eating the flesh of their defeated foes. |
|
|
5238 | They can also specify in a certain resistance-type |
|
|
5239 | and gain various abilities when increasing levels. |
|
|
5240 | This "focus" can be switched by eating very special |
|
|
5241 | As announced on cf-devel, this is the patch which |
|
|
5242 | adds a new dragon-race to Crossfire. |
|
|
5243 | Players of this dragon race can gain resistances |
|
|
5244 | by eating the flesh of their defeated foes. |
|
|
5245 | They can also specify in a certain resistance-type |
|
|
5246 | and gain various abilities when increasing levels. |
|
|
5247 | This "focus" can be switched by eating very special |
|
|
5248 | flesh, which will be available for sale. |
|
|
5249 | Dragon players gain special titles which cannot |
|
|
5250 | be overwritten by manually set titles. |
|
|
5251 | AndreasV 2002-03-01 |
|
|
5252 | |
|
|
5253 | lib/collect.pl.in: Modified so that it uses the image.base.xyz.png to make |
|
|
5254 | sure each listed face in objects has an image, and not the old xbm images |
|
|
5255 | for that task. Also, ignore all files that end in .png, .xpm, or the |
|
|
5256 | face extension - consider them legitimate files for the arch directory. |
|
|
5257 | MSW 2002-02-25 |
|
|
5258 | |
|
|
5259 | socket/image.c: Change type of image data to be uint8 from char. Checksums |
|
|
5260 | were being incorrectly calculated when using the char type. MSW 2002-02-25 |
|
|
5261 | |
|
|
5262 | server/main.c: If exit is damned, update players death & WoR home-position |
|
|
5263 | and delete town portal. |
|
|
5264 | server/apply.c: Fix bug in move_apply. return was used instead of goto |
|
|
5265 | leave, so recursion_depth wasn't decremented. |
|
|
5266 | mids 02/13/2002 |
|
|
5267 | |
|
|
5268 | server/spell_effect.c: Fix bug in summon_cult_monster that would result |
|
|
5269 | in crash if monster was killed when inserted. MSW 2002-02-10 |
|
|
5270 | |
|
|
5271 | common/map.c: load_map_header: If the map message is empty, don't copy |
|
|
5272 | uninitialized data as the message. This fixes various crashes. |
|
|
5273 | lib/Makefile.in: Remove the adm/*xpm* utilities, as they are no longer |
|
|
5274 | needed or distributed. |
|
|
5275 | server/apply.c: set the player speed to zero after they use a savebed. |
|
|
5276 | Fixes crashes with players that have constant image animation (fireborns) |
|
|
5277 | when they apply the savebed and the map then gets swapped out. |
|
|
5278 | server/plugins.c: Fix some serious memory leaks. Some still remain, with |
|
|
5279 | my comments included. |
|
|
5280 | server/skills.c: Removed unused variable. |
|
|
5281 | MSW 2002-02-05 |
|
|
5282 | |
|
|
5283 | include/player.h include/sproto.h server/c_chat.c server/player.c: |
|
|
5284 | New player command 'reply', replies to the last person who told you |
|
|
5285 | something. |
|
|
5286 | server/c_wiz.c: New DM command 'teleport', lets a DM teleport next |
|
|
5287 | to target player, it is an inverse summon. |
|
|
5288 | server/commands.c: Add hooks for 'reply' and 'teleport'. |
|
|
5289 | mids 2002-01-16 |
|
|
5290 | |
|
|
5291 | TODO: updated with bugs, remove things that have been done and are no |
|
|
5292 | longer TODO's. |
|
|
5293 | configure.in, configure: Remove lib/xpmtopix.pl file form those to be |
|
|
5294 | built, as that file has been removed. |
|
|
5295 | common/object.c: Fix bug in check_walk_on which would result in spell |
|
|
5296 | objects not being properly processed - the intention is not to process |
|
|
5297 | spell objects - we should stop going up (in previous loop) when we |
|
|
5298 | get such an object, not on the way down. This fixes directors not |
|
|
5299 | working really well. |
|
|
5300 | MSW 2001-01-13 |
|
|
5301 | |
|
|
5302 | Add the concept of overlay maps to the code. An overlay map is a map which |
|
|
5303 | is loaded on top of another map, replacing values in the header, and placing |
|
|
5304 | objects on top of other objects. This is the fundamental part of the new |
|
|
5305 | weather code, but also can be used to allow dynamic editing of the worldmaps |
|
|
5306 | by DM's eventually. |
|
|
5307 | garbled 2002-01-01 |
|
|
5308 | |
|
|
5309 | server/spell_effect.c: fix animate_bomb so that if the bomb is in a container, |
|
|
5310 | it does not crash the server - the problem was that it was calling |
|
|
5311 | drop, which would then drop it right back into the container. also, the |
|
|
5312 | x and y coordinates were not being properly set. |
|
|
5313 | MSW 2001-12-31 |
|
|
5314 | |
|
|
5315 | This change lets the server have multiple image sets. The client |
|
|
5316 | can then request which image set to use, and the server will use |
|
|
5317 | that image set, falling back to other sets as necessary. I have tested |
|
|
5318 | this with CVS client, and works fine at least in terms of old functionality. |
|
|
5319 | = |
|
|
5320 | doc/Makefile.in: Add images file which describes image guideline. |
|
|
5321 | doc/Protocol: Various updates - some things missing, added other notes |
|
|
5322 | about facesets. |
|
|
5323 | doc/images: New file, describes guidelines for image sets, as well |
|
|
5324 | as some of the internals |
|
|
5325 | include/newserver.h: Update for multiple image set - redid most of the |
|
|
5326 | image definitions as they were out of date with only png being supported. |
|
|
5327 | include/sockproto.h: rebuilt |
|
|
5328 | lib/Makefile.in: remove crossfire.png, add crossfire.0, crossfire.0. Update |
|
|
5329 | build directions to use crossfire.0 instead of crossfire.png |
|
|
5330 | lib/adm/collect_images.pl: Modified to collect all the image sets, remove |
|
|
5331 | support for collect xpm and xbm images. |
|
|
5332 | lib/crossfire.0: new file, base images |
|
|
5333 | lib/crossfire.1: new file, alternate images |
|
|
5334 | lib/image_info: New file, describes image sets. |
|
|
5335 | lib/crossfire.png, lib/xpmtopix.pl.in: Removed - no longer needed. |
|
|
5336 | socket/Makefile.in: add image.c file. |
|
|
5337 | socket/image.c: Moved all image related data in this file - this includes |
|
|
5338 | loading the image files, as well as the protocol commands. |
|
|
5339 | socket/init.c: move read_client_images to image.c file. set ns->faceset |
|
|
5340 | and ns->facecache to 0. Move freeing of image data to image.c |
|
|
5341 | socket/request.c: fixed some indentation inconsistencies.add setup commands |
|
|
5342 | for faceset as facecache. Move SetFaceMode,SendFaceCmd,esrv_send_face |
|
|
5343 | to image.c file. |
|
|
5344 | MSW 2001-12-31 |
|
|
5345 | |
|
|
5346 | common/loader.l, common/loader.c, common/object.c, include/object.h, |
|
|
5347 | socket/item.c: |
|
|
5348 | Remove sub_type and sub_type2 information - |
|
|
5349 | these were poorly named fields and not properly implemented. |
|
|
5350 | common/treasure.c: Add missing return type to change_treasure function. |
|
|
5351 | crossedit/Edit.c: Add SET_MAP_FLAGS macro to set P_NEED_UPDATE flag |
|
|
5352 | before calling update_position. |
|
|
5353 | include/config.h: Add NEW_WORLD_MAP selection which results in proper |
|
|
5354 | emergency save paths if you are using the maps-bigworld distribution. |
|
|
5355 | server/c_wiz.c: Fix the formatting (indentation) of the command_create |
|
|
5356 | function. No actual changes in how it runs, but the old |
|
|
5357 | formatting was really terrible and inconsistent. |
|
|
5358 | server/main.c: remove call to send_mapstats_cmd |
|
|
5359 | server/monster.c: Update the comment style to be proper, as well |
|
|
5360 | as the comments themselves. |
|
|
5361 | socket/request.c: Fix up improper indentation in esrv_update_stats. |
|
|
5362 | remove send_mapstats_cmd function. |
|
|
5363 | MSW 2001-12-23 |
|
|
5364 | |
|
|
5365 | Lots of changes here. Basically implement a night and day system, as |
|
|
5366 | well as tracking of game time. A clockdata file is now created and |
|
|
5367 | updated by the server to increment time. Time increases by 1 hour, |
|
|
5368 | approximately every 2 minutes of real time. Right now this code has |
|
|
5369 | virtually no effect, but as maps are updated with outdoor settings, |
|
|
5370 | nightfall will occur automatically. The time command has been modified |
|
|
5371 | to show the current game time, and the clock objects have been changed to |
|
|
5372 | show the game time as well. |
|
|
5373 | garbled 2001-12-18 |
|
|
5374 | |
|
|
5375 | common/map.c: Fix some bugs relating to map tiling. MSW 2001-12-16 |
|
|
5376 | |
|
|
5377 | common/object.c random_maps/Makefile.in |
|
|
5378 | server/c_wiz.c server/player.c server/plugins.c server/timers.c |
|
|
5379 | socket/request.c: Most of the changes are to just fix compiling warnings |
|
|
5380 | or errors so that it compiles on sparc solaris with the workshop |
|
|
5381 | compiler (things like }; should just be }). Declaration for alphasort |
|
|
5382 | was missing in plugins.c. random_maps/Makefile.in had the wrong order in |
|
|
5383 | linking - the system library needs to be linked in after the crossfire |
|
|
5384 | libraries. |
|
|
5385 | crossedit/App.c: Fix for running on 8 bit color - colormap was not being |
|
|
5386 | initialized to usuable default value. |
|
|
5387 | crossedit/xutil.c: Broken code when duplicating faces for undefined |
|
|
5388 | images. That code should never really be used, as pixmaps currently |
|
|
5389 | are always contiguous. |
|
|
5390 | MSW 2001-12-15 |
|
|
5391 | |
|
|
5392 | |
|
|
5393 | Include mapstats cmd for extended clients (sdl iso). Cmd is needed for automaps |
|
|
5394 | ambient media infos, map name and map parameter infos. Paramter infos are used |
|
|
5395 | for "fire & forget" animation tags inside the map2 cmd (next patch). |
|
|
5396 | server/main.c: include a automatic mapstats cmd every time the player enters a new map. |
|
|
5397 | Its the "default" mapenter cmd. The script event should used for special cases. |
|
|
5398 | include/sockproto.h and socket/request.c: include the mapstats cmd function. |
|
|
5399 | MT 2001-12-03 |
|
|
5400 | |
|
|
5401 | This checkin for the most part removes support for xpm and xbm graphics - |
|
|
5402 | now the only image supported is the png. |
|
|
5403 | common/arch.c: comment out printing on warning of object having no type - |
|
|
5404 | getting 300 meaningless messages at startup is annoying. |
|
|
5405 | common/image.c: Remove X11 color information from colorname array. Remove |
|
|
5406 | processing of color_fg and color_bg information from face file - only |
|
|
5407 | use color_fg if no magicmap information is available - foreground |
|
|
5408 | and background infoformation was only needed for bitmap graphics. |
|
|
5409 | common/loader.c, loader.l: Add elevation element, comment out some logging |
|
|
5410 | messages that are excessive and only really relevant for people |
|
|
5411 | who want to fix them (really should be in the collect script |
|
|
5412 | anyways). Remove some unused code. |
|
|
5413 | common/map.c: add outdoor field to map structure - add support for loading |
|
|
5414 | and saving it. |
|
|
5415 | crossedit/App.c,crossedit/CrUtil.c, crossedit/Defines.h, crossedit/crossedit.c |
|
|
5416 | crossedit/xutil.c: Remove support for non png graphics. |
|
|
5417 | crossedit/Attr.c: Add support for elevation variable, remove code for non |
|
|
5418 | png graphics. |
|
|
5419 | doc/map-technical: Add note about outdoor field. |
|
|
5420 | include/face.h: remove fg, bg fields from face struecture. |
|
|
5421 | include/global.h: Update colorname array definition. |
|
|
5422 | include/loader.h: Add V_ELEVATION field. |
|
|
5423 | include/map.h: Add outdoor field to map structure. |
|
|
5424 | include/newserver.h: Update types so it only loads/knows about png information. |
|
|
5425 | include/object.h: Add elevation field to object structure. |
|
|
5426 | lib/Makefile.in: Remove support for building crossfire.xpm and crossfire.xbm |
|
|
5427 | files. |
|
|
5428 | lib/animations, lib/archetypes, lib/bmaps, lib/bmaps.paths, lib/crossfire.png, |
|
|
5429 | lib/faces: Rebuilt. Main difference is a few sea types, and the fact |
|
|
5430 | that it hadn't been collected for a while. |
|
|
5431 | server/spell_effect.c: Modify dimension door so that it calls MapNewmapCmd |
|
|
5432 | so that fog of war does not get confused. Also, removes call to |
|
|
5433 | draw as functions further up will do that. |
|
|
5434 | server/spell_util.c: Remove color information from attack information that |
|
|
5435 | shuffle_attack uses. |
|
|
5436 | socket/init.c, socket/request.c: Remove support for non png images. |
|
|
5437 | MSW 2001-12-02 |
|
|
5438 | |
|
|
5439 | Various minor bugfixes - |
|
|
5440 | common/loader.c: rebuilt |
|
|
5441 | include/map.h: Change width,height,enter_x,enter_y to be 16 bit instead |
|
|
5442 | of 8 bits. |
|
|
5443 | lib/treasures: change skull treasure to tooth instead of skull_tooth since |
|
|
5444 | the later is not currently in the distributed archetypes file |
|
|
5445 | server/monster.c: Optimize some code, remove some other that is not used. |
|
|
5446 | server/plugins.c: Fix un initialized value in initPlugins that would |
|
|
5447 | cause crash at startup if plugin directory does not exist. |
|
|
5448 | MSW 2001-11-13 |
|
|
5449 | |
|
|
5450 | common/object.c: Modify copy_owner so that if a player is passed in |
|
|
5451 | as the object to copy, we properly set that player as the owner of the |
|
|
5452 | object instead of returning. This fixes the lack of exp when poison |
|
|
5453 | inflicted from a weapon kills something. MSW 2001-11-05 |
|
|
5454 | |
|
|
5455 | common/map.c: Fix bug in get_rangevector which was causing reverse |
|
|
5456 | of documented procedure. This also resulted in monsters not attacking |
|
|
5457 | adjacent creatures with physical attacks. MSW 2001-11-03 |
|
|
5458 | |
|
|
5459 | Add weapontypes to the game. These are currently used for nothing other |
|
|
5460 | than messages, which are not fully written yet. Players should not see them |
|
|
5461 | appear yet. |
|
|
5462 | Fix the bug where you opened a door with a key and saw "You ." |
|
|
5463 | Fix a bug in the PLUGIN code where current_weapon wasn't set when the |
|
|
5464 | player loaded from savefile. |
|
|
5465 | Take the setting of current_weapon out of #ifdef PLUGIN |
|
|
5466 | garbled 2001-10-31 |
|
|
5467 | |
|
|
5468 | server/spell_util.c: Add out_of_map check to can_see_monsterP. Fixes |
|
|
5469 | crash when casting ball lightning/divine shock (and likely other events) |
|
|
5470 | on maps not surrounded by walls. MSW 2001-10-07 |
|
|
5471 | |
|
|
5472 | New attacktype messages for damage. Now it gives you the message for the |
|
|
5473 | damage type you actually did. So if you are attacking with stormbringer, |
|
|
5474 | you get electrical or drain-based messages. Also added special messages for |
|
|
5475 | the attack-based skills like punching, karate, etc. |
|
|
5476 | garbled 2001-10-06 |
|
|
5477 | |
|
|
5478 | common/map.c: Add INS_ON_TOP flag to insert_ob_in_map calls to preserve |
|
|
5479 | stacking order. Modify update_position to generate map spaces with |
|
|
5480 | more proper order. |
|
|
5481 | common/object.c: Modify insert_ob_in_map so that it preserves stacking |
|
|
5482 | if INS_ON_TOP is set. |
|
|
5483 | crossedit/CrEdit.c: Add missing code that would draw third face on a space. |
|
|
5484 | include/object.h: Add INS_ON_TOP flag/define. |
|
|
5485 | random_maps/exit.c: Modify code so that if the random maps leading to |
|
|
5486 | a special map are reset, they will properly link in with an already loaded |
|
|
5487 | final map (and update exit from final map back up) as needed. Also fix |
|
|
5488 | bug in that if the final map has been reset, a new one will now be properly |
|
|
5489 | loaded. |
|
|
5490 | random_maps/random_map.c:Update minimum size to be 7 (up from 6) - fixes |
|
|
5491 | bug which caused crashes when square_spiral maps of 6x6 would fail to |
|
|
5492 | generate. |
|
|
5493 | random_maps/random_map.h,random_maps/room_gen_onion.c: move OPT_values from |
|
|
5494 | room_gen_onion to random_map.h since the square_spiral code uses them. |
|
|
5495 | random_maps/square_spiral.c: Update call to map_gen_onion to use |
|
|
5496 | OPT_.. values instead of constant integer. |
|
|
5497 | random_maps/treasure.c: Add some casts to sprintf statements to eliminate |
|
|
5498 | some compiler warnings. |
|
|
5499 | server/main.c: Modify enter_exit code such that a random map has |
|
|
5500 | reset, we generate a new random map. This can happen when the random_map |
|
|
5501 | resets before the map that leads to them resets. |
|
|
5502 | MSW 2001-10-06 |
|
|
5503 | |
|
|
5504 | Add a new command category called communications commands. Place tell, |
|
|
5505 | shout and say in here. Also create emotion functions. These functions |
|
|
5506 | have no real effect on the game, but make communications between players |
|
|
5507 | more colorful and fun. They are mostly fluff. Included with this patch |
|
|
5508 | are two new convenience functions, new_info_map_except, and |
|
|
5509 | new_info_map_except2, which allow the programmer to write to an entire |
|
|
5510 | map, except for certain individuals. |
|
|
5511 | |
|
|
5512 | garbled 2001-09-27 |
|
|
5513 | |
|
|
5514 | Add complete processing code for luck. This new code removes all |
|
|
5515 | previous instances of luck, and adds a few new convenience utilities. |
|
|
5516 | Now, every die roll in the game is affected by luck in some small way. |
|
|
5517 | This causes luck to be an intangible benefit to the player, without |
|
|
5518 | totally unbalancing the game. The new functions are random_roll, |
|
|
5519 | die_roll, and rndm, which should be used in place of RANDOM() whenever |
|
|
5520 | possible. |
|
|
5521 | |
|
|
5522 | garbled 2001-09-26 |
|
|
5523 | |
|
|
5524 | This checkin mainly fixes multipart teleporters - they should now |
|
|
5525 | work properly. Also a minor fix to make the new pickup code work. |
|
|
5526 | server/apply.c: apply_shop_mat rewritten to be more 'presentable'. |
|
|
5527 | Minor changes were needed in any case to pass the player/creature |
|
|
5528 | a a second object to teleport. |
|
|
5529 | server/c_object.c: change the sscanf to be unsigned when getting value |
|
|
5530 | for new pickup mode. At least on my system, if the value in the |
|
|
5531 | string was larger than the max signed value, sscanf set it to the |
|
|
5532 | max value. |
|
|
5533 | server/move.c: teleport function largely re-written. Instead of the |
|
|
5534 | third arg being the 'originator', it is now the object to teleport. |
|
|
5535 | This allows the head of the teleporter to get passed to this function |
|
|
5536 | even if the object to teleport is not on the head. |
|
|
5537 | server/time.c: move_teleporter modified to also check for objects on the |
|
|
5538 | other parts of multipart teleporters. Also, pass the head object |
|
|
5539 | to the teleport function so that proper destination is used. |
|
|
5540 | MSW 2001-09-02 |
|
|
5541 | |
|
|
5542 | Add Nils Lohner patch that new selections to the pickup mode. |
|
|
5543 | |
|
|
5544 | include/define.h: Pickup type defines added. |
|
|
5545 | include/player.h: Change mode (pickup mode) to 32 bits. |
|
|
5546 | server/c_object.c: command_pickup function modified to support all |
|
|
5547 | the new pickup options. |
|
|
5548 | server/player.c: Fix for path_to_player to prevent crashes. Add check |
|
|
5549 | in move_player_attack just in case. check_pick function modified to |
|
|
5550 | support new pickup options. do_some_living modified to eat flesh |
|
|
5551 | items if player is starving and they don't have any food. |
|
|
5552 | server/spell_effect.c: cast_detection modified so that detect magic/curse |
|
|
5553 | will not show objects beneath the floor. Change so that detect_monster |
|
|
5554 | and detect_evil spells copy the face of what they detected - gives better |
|
|
5555 | appearance on client. |
|
|
5556 | socket/item.c: fix bug LookAt that ws checking blocked_los on wrong |
|
|
5557 | offset. |
|
|
5558 | MSW 2001-08-28 |
|
|
5559 | |
|
|
5560 | Enhancements to make monsters 'do the right thing' with relation |
|
|
5561 | to tiled maps (ie, will detect players and attack them if on an adjoining |
|
|
5562 | tiled maps). This involved a rewrite of path_to_player - I've tested this |
|
|
5563 | out, and if anything, it seems that monsters may be more aggressive on |
|
|
5564 | spellcasting. |
|
|
5565 | ++ |
|
|
5566 | common/map.c: blocked modify to make sure it is checking valid coordinate |
|
|
5567 | value. blocked_link,blocked_two modified to translate for tiled maps. |
|
|
5568 | Add load_and_link_tiled_map which loads a tiled map and links in all |
|
|
5569 | pointers relative to adjoining maps. out_of_map modified to use |
|
|
5570 | this function instead of doing the work itself. Add get_rangevector |
|
|
5571 | function that returns offset, direction, and distance between two |
|
|
5572 | objects, taking into account tiled maps. get_rangevector_from_mapcoord |
|
|
5573 | added which is similar to get_rangevector, but takes a map and coordinates |
|
|
5574 | instead of a second object. on_same_map function added which returns |
|
|
5575 | true if the two objects are on the same logical (ie tiled) maps. |
|
|
5576 | doc/crossfire.doc: Add note about what Int does for monsters. |
|
|
5577 | include/map.h: Add some comments, and add structure for rangevector |
|
|
5578 | function return values. |
|
|
5579 | server/attack.c: add calls to on_same_map instead of doing op->map |
|
|
5580 | comparisons. |
|
|
5581 | server/monster.c: Many functions modified to properly handle tiled |
|
|
5582 | maps properly. |
|
|
5583 | server/pets.c: get_pet_enemy modified to know about tiled maps. |
|
|
5584 | server/player.c: get_nearest_player modified to know about tiled maps. |
|
|
5585 | path_to_player rewritten to know about tiled maps - I think some other |
|
|
5586 | bugs were also fixed in return values. Split player_attack_door |
|
|
5587 | from move_player attack to keep functions a more reasonable size. |
|
|
5588 | move_player_attack, player_can_view modified to know about tiled |
|
|
5589 | maps. |
|
|
5590 | server/skills.c: can detect_enemy modified to take another parameter - |
|
|
5591 | call in steal updated to pass this parameter. |
|
|
5592 | server/spell_util.c: ok_to_put_more, can_see_monsterP modified to |
|
|
5593 | handle tiled maps properly. |
|
|
5594 | socket/item.c: look_at modified to return proper results when player |
|
|
5595 | looks at something on an adjoining tiled map. |
|
|
5596 | ++ End of checkin |
|
|
5597 | |
|
|
5598 | common/object.c:decrease_ob_nr modified to correctly update client when |
|
|
5599 | player uses item from container that is on the ground (bookshelf for |
|
|
5600 | example) |
|
|
5601 | server/time.c: move_teleporter modified to skip over wall/floors and |
|
|
5602 | teleport whatever is above them. |
|
|
5603 | MSW 2001-08-05 |
|
|
5604 | |
|
|
5605 | common/map.c: modify link_multipart_objects to preserve name and title of |
|
|
5606 | head when making the more parts. modify update_position so that it should |
|
|
5607 | never show an invisible face to the player. |
|
|
5608 | common/object.c: fix check_walk_on so that spells will now properly get |
|
|
5609 | affected by spinners and directories. |
|
|
5610 | include/sockproto.h: Rebuilt to include MapNewmapCmd |
|
|
5611 | server/hiscore.c: Fix crash if player savebeds map on map which does not |
|
|
5612 | have a name. Use the path instead. |
|
|
5613 | server/move.c: modify teleporter function to send MapNewmapCmd to client |
|
|
5614 | if player got teleported. Needed for fog of war code. |
|
|
5615 | server/time.c: modify move_teleporter so that it will not teleport walls. |
|
|
5616 | socket/Makefile.in: Modified to use cproto to generate proto files. |
|
|
5617 | MSW 2001-08-04 |
|
|
5618 | |
|
|
5619 | |
|
|
5620 | common/Makefile.in crossedit/Makefile.in doc/Makefile.in |
|
|
5621 | doc/playbook-html/Makefile.in doc/spoiler/Makefile.in |
|
|
5622 | doc/spoiler-html/Makefile.in lib/Makefile.in lib/crossfire.png |
|
|
5623 | random_maps/Makefile.in socket/Makefile.in utils/Makefile.in: Fix up |
|
|
5624 | so that distclean now clears out all appropriate files - MSW 2001-08-01 |
|
|
5625 | |
|
|
5626 | common/map.c free_map Set in_memory status to MAP_SWAPPED - fixed bugs of maps |
|
|
5627 | not getting reset properly |
|
|
5628 | common/object.c: insert_ob_in_map - was passing wrong value to check_walk_on, |
|
|
5629 | resulting in some things not working as expected. |
|
|
5630 | doc/Protocol: Clarify how the sending of the version command works. |
|
|
5631 | server/move.c: move_ob redone. It should hopefully be more efficient (only' |
|
|
5632 | remove objects after verifying they can in fact move). IMO, code is |
|
|
5633 | also simpler, and hopefully has fewer bugs. |
|
|
5634 | socket/init.c: InitConnection - modified to set faces_sent[0] to one |
|
|
5635 | so that we will never send any information about face 0 to the client. |
|
|
5636 | facecode 0 is sent in the map1 command to clear spaces/layers. |
|
|
5637 | MSW 2001-07-30 |
|
|
5638 | |
|
|
5639 | Added support for the newmap cmd needed for the fog_of_war code |
|
|
5640 | in the gtk client. |
|
|
5641 | include/newserver.h: added newmapcmd:1 to NewSocket struct |
|
|
5642 | server/main.c: added call to MapNewmapCmd in enter_map() |
|
|
5643 | socket/init.c: init code for new newmapcmd value in NewSocket |
|
|
5644 | socket/request.c: deal with "newmapcmd" value in client setup string |
|
|
5645 | Added MapNewmapCmd( player* pl) function. |
|
|
5646 | SMACFIGGEN 2001-07-21 |
|
|
5647 | |
|
|
5648 | |
|
|
5649 | common/object.c: remove_ob - set P_NEED_UPDATE before calling update_position |
|
|
5650 | to prevent warnings from update_position being called with P_NEED_UPDATE |
|
|
5651 | being set. MSW 2001-07-19 |
|
|
5652 | |
|
|
5653 | socket/request.c: Fix bug in map1 command which resulted in it sending |
|
|
5654 | too much data with even maps. For example, if the client requested |
|
|
5655 | a 16x16 map, the server would effectively send a 17x17 map to the client. |
|
|
5656 | MSW 2001-07-19 |
|
|
5657 | |
|
|
5658 | +++ |
|
|
5659 | Major redo of map code: |
|
|
5660 | 1) Remove encounter map support (with the much better random map code, |
|
|
5661 | I don't see much reason for it) |
|
|
5662 | 2) Remove map_ob from map structure, and instead store relevant information |
|
|
5663 | in map structure itself. Remove strange meanings (stand_still meaning |
|
|
5664 | fixed reset time for example) |
|
|
5665 | 3) Redo internal structure of map and how information on each space was |
|
|
5666 | stored - this should make future extensions much easier, as well |
|
|
5667 | as making debugging easier. |
|
|
5668 | 4) Make USE_LIGHTING standard part of game. |
|
|
5669 | 5) Redo how lighting objects are handled - instead of making a linked list |
|
|
5670 | of the light giving objects, at field to mapspace that contains |
|
|
5671 | lightsource for the space. |
|
|
5672 | 6) Rewrite insert_ob_in_map to take optional parameter that determines |
|
|
5673 | other behaviour. This replaces insert_ob_in_map_simple. |
|
|
5674 | Function now does sorting of some objects, so performance for lots of |
|
|
5675 | spell objects on one space should be much better. |
|
|
5676 | 7) Change how multipart objects are saved. Now only save the head, and |
|
|
5677 | link in the rest of the parts when map is loaded. Additional parts |
|
|
5678 | linked in are put just above floor level when linked in, so things like |
|
|
5679 | shops won't hide items that someone drops on them. For monsters, this |
|
|
5680 | linking shouldn't be a problem - once they start moving, they will get |
|
|
5681 | relinked as normal (on top). |
|
|
5682 | 8) Modify update_object to only call update_position when necessary |
|
|
5683 | (ie, space attributes change). Otherwise, let the map transmission |
|
|
5684 | code call update_position when necessary (ie, in players view) - this |
|
|
5685 | saves cpu time as time will not be spent updating spaces that no one |
|
|
5686 | will see (before, how the space looks was updated whenever a space |
|
|
5687 | had an object added or removed). |
|
|
5688 | |
|
|
5689 | TODO: remove some things that have now been done. |
|
|
5690 | common/Makefile.in: Remove ltostr.c and sqrt.c from list of files |
|
|
5691 | common/ltostr.c, common/sqrt.c: Moved into porting.c |
|
|
5692 | common/anim.c, common/button.c, common/item.c: Update calls to update_object |
|
|
5693 | common/living.c: have fix_player calculate light value for player/monster. |
|
|
5694 | common/logger.c: Remove code that has server exit if too many LOG messages |
|
|
5695 | happen too quickly. This was not a reliable mechanism, and it should |
|
|
5696 | really be up to the functions doing the logging to know if they can |
|
|
5697 | continue or not. |
|
|
5698 | common/los.c: Changes on how it deals with lighting on maps - get light |
|
|
5699 | value from map space array instead of using the linked list. Functions |
|
|
5700 | that managed the light list have been removed. Change logic of |
|
|
5701 | line of sight function to be more efficient (before, we may examine |
|
|
5702 | the same space multiple times). rename update_all_los to |
|
|
5703 | update_all_map_los, and change update_all_los to take coordinates |
|
|
5704 | so that we only have clients within view of the change recalculate |
|
|
5705 | los. Also, have update_all_los check for tiled maps that may have |
|
|
5706 | clients that need to get updated. |
|
|
5707 | common/map.c: remove refresh_map - this used to be used to try to recover |
|
|
5708 | from map errors if many_cores was not set - IMO better to core and |
|
|
5709 | just restart and really fix the error than try to deal with possible |
|
|
5710 | corruption that may otherwise result. |
|
|
5711 | Move open_and_uncompress and close_and_delete functions to porting.c - |
|
|
5712 | they are 'common' functions that are not related to the map code. |
|
|
5713 | Remove some lighting related code, as that is no longer done with |
|
|
5714 | a list. Many modifications because of new map structure. And |
|
|
5715 | logic to load and save the new map structure format. Modify |
|
|
5716 | many of the functions to take map tiling into account. Change |
|
|
5717 | way multipart objects are saved, and add logic to relink objects |
|
|
5718 | when maps are loaded up. Remove some functions that are only |
|
|
5719 | used by the editor into the editor. Move update_position from |
|
|
5720 | object.c to map.c as it is better placed in map.c. Modify |
|
|
5721 | function to figure out light for a space. Make out_of_map a |
|
|
5722 | function that knows about map tiling. New function - get_map_from_coord |
|
|
5723 | which knows about map tiling and does coordinate and map translation. |
|
|
5724 | common/object.c: Have update_object take another parameter which tells |
|
|
5725 | update object what has changed about the object. This lets the function |
|
|
5726 | know if it should call update_position right away or if it can just |
|
|
5727 | mark the space as needing an update at a later time. move update_position |
|
|
5728 | to map.c. |
|
|
5729 | insert_ob_in_map: now takes another parameter that describes actions not |
|
|
5730 | to do. modified to know about map tiling and do appropriate translation. |
|
|
5731 | Does some object sorting so it should handle spell objects more |
|
|
5732 | efficiently. |
|
|
5733 | insert_ob_in_map_simple is now replaced by |
|
|
5734 | using appropriate flag to this changed version of insert_ob_in_map. |
|
|
5735 | Clean up remove_ob - seemed to have done things in a more complicated |
|
|
5736 | fashion that is no longer necessary. Modify check_walk_on to look |
|
|
5737 | at all objects on space, not those below the object - with changes to |
|
|
5738 | insert_ob_in_map, new object won't always be on top. |
|
|
5739 | common/porting.c: functions from ltostr.c, sqrt.c, as open_and_uncompress |
|
|
5740 | close_and_delete, make_path_to_file from map.c |
|
|
5741 | common/treasure.c: Modified to use updated insert_ob_in_map |
|
|
5742 | crossedit/Attr.c: Rename Layout to AppLayout so other files can use it. |
|
|
5743 | crossedit/CrEdit.c: Modified to use new map header. Modified drawing |
|
|
5744 | routines, as face values could be null |
|
|
5745 | crossedit/Edit.c: Move many functions from common/map.c that are only |
|
|
5746 | used here and thus don't need to be in common/map.c. Modify to use |
|
|
5747 | new map structure. |
|
|
5748 | crossedit/Makefile.in: Change to use cproto to make proto.h file. |
|
|
5749 | crossedit/png.c: change user_read_data to be static so proto doesn't pick |
|
|
5750 | it up. |
|
|
5751 | doc/Makefile.in: add map-technical to list of files. |
|
|
5752 | doc/crossfire.doc: remove map information that was in this file. |
|
|
5753 | doc/map-technical: new file. Describes inner workings of how the maps work. |
|
|
5754 | include/config.h: remove RANDOM_ENCOUNTERS (no longer available) and |
|
|
5755 | USE_LIGHTING (now standard part and always on). |
|
|
5756 | include/define.h: move P_... values to map.h |
|
|
5757 | include/global.h: add definition for compression externals, as they |
|
|
5758 | are used in a few files. remove map macro functions - moved to map.h |
|
|
5759 | as appropriate. Add FREE_AND_CLEAR macro that frees data and then |
|
|
5760 | sets the pointer to NULL. |
|
|
5761 | include/map.h: Largely redone - many new macros, new map structure. |
|
|
5762 | include/object.h: remove lights object link pointer from objects. |
|
|
5763 | At some #defines that are the flags for update_object and |
|
|
5764 | insert_ob_in_map |
|
|
5765 | include/player.h: Add a few comments. |
|
|
5766 | random_maps/decor.c,random_maps/door.c, random_maps/exit.c, |
|
|
5767 | random_maps/floor.c,random_maps/monster.c,random_maps/special.c, |
|
|
5768 | random_maps/standalone.c, random_maps/style.c,random_maps/treasure.c, |
|
|
5769 | random_maps/wall.c: |
|
|
5770 | modified to use modified insert_ob_in_map function, |
|
|
5771 | use new macros to access map structure related data |
|
|
5772 | server/Makefile.in: Remove encounter.c file. Use cproto instead of |
|
|
5773 | cextract to create proto file. |
|
|
5774 | server/alchemy.c,server/attack.c,server/c_object.c,server/c_wiz.c, |
|
|
5775 | server/disease.c, server/login.c, server/main.c, server/monster.c, |
|
|
5776 | server/move.c, server/pets.c, server/player.c, server/resurrection.c, |
|
|
5777 | server/rune.c, server/shop.c,server/skill_util.c, server/skills.c, |
|
|
5778 | server/spell_effect.c, server/spell_util.c, server/swap.c, server/time.c |
|
|
5779 | modified to use modified insert_ob_in_map function, |
|
|
5780 | use new macros to access map structure related data. |
|
|
5781 | change calls to update_all_los, remove lighting related code. |
|
|
5782 | server/apply.c: modified to use new insert_ob_in_map function. Update |
|
|
5783 | calls to update_object. remove RANDOM_ENCOUNTER code. |
|
|
5784 | for exits, modified to use the head for valid coordinates since the |
|
|
5785 | other parts may not have valid values since they are not saved out to |
|
|
5786 | disk anymore. |
|
|
5787 | server/c_misc.c,server/hiscore.c: modified to use new map |
|
|
5788 | structure/information. |
|
|
5789 | server/commands.c: remove dumplights command. |
|
|
5790 | server/encounter.c: removed - code no longer used |
|
|
5791 | server/init.c: remove RANDOM_ENCOUNTERS code. |
|
|
5792 | server/script.c: change Script_getMapObject to return NULL since there |
|
|
5793 | is no longer a map object. Modify to use new insert_ob_in_map and |
|
|
5794 | update_object functions. |
|
|
5795 | socket/info.c: Modified to use new map structure/macros |
|
|
5796 | socket/request.c: Modify draw_map_routines to use get_map_from_coord so |
|
|
5797 | that it properly deals with tiled maps. Modified to deal |
|
|
5798 | with potentially NULL face values. Modified update routine to |
|
|
5799 | call update_position for spaces within player view which need an |
|
|
5800 | update |
|
|
5801 | MSW 2001-07-13 |
|
|
5802 | +++ |
|
|
5803 | |
|
|
5804 | |
|
|
5805 | common/object.c, common/player.c, include/object.h, server/skill_util.c: |
|
|
5806 | Remove the unused LINKED_SKILL code. |
|
|
5807 | common/Makefile.in: Use cproto to make prototypes - cextract fails for |
|
|
5808 | some reason and now seems unsupported. Cproto generates a bunch |
|
|
5809 | of warnings, but does do the job. |
|
|
5810 | common/arch.c,server/apply.c, server/main.c, server/monster.c: cleanup some |
|
|
5811 | compile warnings (unusued variables, returns without value |
|
|
5812 | doc/playbook/Makefile.in: Create proper dependencies for files. |
|
|
5813 | doc/playbook/treas2-extract: Add player_force to value to ignore. |
|
|
5814 | doc/spoiler-html/spoiler.html: rebuilt |
|
|
5815 | server/skill_util.c: Remove the unused LINKED_SKILL code. Prevent |
|
|
5816 | characters that have meditation skill from learning melee weapon skill. |
|
|
5817 | MSW 2001-06-28 |
|
|
5818 | |
|
|
5819 | doc/Protocol: Add 'darkness' setup option documentation. |
|
|
5820 | include/newserver.h: add darkness element to socket structure. |
|
|
5821 | include/script.h,server/script.c: remove static declaration from script.h, |
|
|
5822 | move it to script.c |
|
|
5823 | socket/init.c: init darkness element in socket structure. |
|
|
5824 | socket/request.c: Add support in setup command for client to set if it |
|
|
5825 | wants darkness information or not. Modify map update functions such |
|
|
5826 | that if the client does want darkness information, server does not |
|
|
5827 | send it. Improve darkness handling so that if using the map1 |
|
|
5828 | protocol command, send darkness for first blocked space due to |
|
|
5829 | darkness - this makes it possible for client to interpolate results |
|
|
5830 | better. |
|
|
5831 | MSW 2001-06-16 |
|
|
5832 | |
|
|
5833 | common/item.c: Add boots and gloves to items which are not magical just |
|
|
5834 | because they have resist physical. This bug resulted in most all boots |
|
|
5835 | and gloves being shown as magical, even though they had no special |
|
|
5836 | properties. |
|
|
5837 | socket/request.c: remove some dead code. Memset entire map cell |
|
|
5838 | to zero when scrolling and the map is cells is one that was not in |
|
|
5839 | view. This fixes redraw problems when using large viewable maps. |
|
|
5840 | MSW 2001-06-11 |
|
|
5841 | |
|
|
5842 | doc/Protocol: update information for the mapcmd, add map1cmd to |
|
|
5843 | section of setup commands. |
|
|
5844 | include/newserver.h,socket/init.c: add map1cmd element to socket structure that |
|
|
5845 | determines which protocol (map,map1) will be used for sending the |
|
|
5846 | map. |
|
|
5847 | socket/request.c:add 'map1cmd' to list of setup options. when sending |
|
|
5848 | the map, use the map1cmd element to determine what protocol command |
|
|
5849 | to use to send it. |
|
|
5850 | MSW 2001-06-07 |
|
|
5851 | |
|
|
5852 | server/shop.c: Fix bug that resulted in items in shop being paid, |
|
|
5853 | as well as not generating proper listing. MSW 2001-06-06. |
|
|
5854 | |
|
|
5855 | Checkin of code that supports larger map sizes (configurable in |
|
|
5856 | config.h). |
|
|
5857 | common/los.c: update los code since it only handled 11x11 maps. Now |
|
|
5858 | uses formulatic approach so any map size should be supported. This |
|
|
5859 | does result in a few more spaces getting blocked around corners, |
|
|
5860 | but it doesn't seem that bad - certainly not compared to the ability |
|
|
5861 | to have larger viewable maps. |
|
|
5862 | common/map.c, crossedit/CrEdit.c, crossedit/Edit.c, include/global.h, |
|
|
5863 | include/map.h,random_maps/monster.c,random_maps/special.c, |
|
|
5864 | random_maps/standalone.c, server/apply.c,server/c_misc.c, |
|
|
5865 | server/spell_effect.c,socket/info.c: |
|
|
5866 | change mapx,mapy to what they really point to, |
|
|
5867 | as it prevented using those as variable/structure element names. |
|
|
5868 | common/object.c: update_position - if faces for different layers are |
|
|
5869 | duplicate, set the duplicates to be blank to increase client |
|
|
5870 | update efficiency. |
|
|
5871 | doc/Protocol: Add map1 command description, update setup command to |
|
|
5872 | describe setting of mapsize. |
|
|
5873 | include/config.h: add MAP_CLIENT_X/Y to set maximum map size we can |
|
|
5874 | send to the client. |
|
|
5875 | include/newserver.h: add mapx, mapy values to socket structure |
|
|
5876 | include/player.h: Use MAP_CLIENT_X/Y for sizing arrays that hold |
|
|
5877 | map related information in player structure. |
|
|
5878 | server/player.c: As per player.h above, use appropriate sizing when |
|
|
5879 | initializing player stucture. |
|
|
5880 | server/shop.c: Update mapx,mapy like above, but re-do shop listings code as |
|
|
5881 | it was doing a lot more work than necessarily (I think some changes |
|
|
5882 | got put in for sorting, and the old object manipulation was never |
|
|
5883 | removed when that got done) |
|
|
5884 | socket/init.c: set default client map size to 11x11 in the socket. |
|
|
5885 | socket/item.c: LookAt - change checks for position checking (such that |
|
|
5886 | you can only look at things in bounds) use max viewable map size. |
|
|
5887 | socket/request.c: Make setup commands a little more forgiving if there are |
|
|
5888 | extra spaces. Add 'mapsize' command to setup command. Update |
|
|
5889 | old map sending code to use socket map sizes (to support even |
|
|
5890 | smaller than normal maps, or 13x13 or 15x15 maps). add draw_client_map1 |
|
|
5891 | command which implements the map1 protocol command. |
|
|
5892 | MSW 2001-06-03 |
|
|
5893 | |
|
|
5894 | random_maps/treasure.c, wall.c: fix a problem where hidden doors |
|
|
5895 | surrounding a treasure could destroy exits. --PeterM 5/31/2001 |
|
|
5896 | |
|
|
5897 | Make ALLOW_SKILLS standard part of game (remove #ifdef's for it) |
|
|
5898 | Files affected: common/living.c common/object.c common/treasure.c |
|
|
5899 | include/config.h include/player.h server/apply.c server/attack.c |
|
|
5900 | server/c_move.c server/c_range.c server/c_wiz.c server/commands.c |
|
|
5901 | server/init.c server/login.c server/monster.c server/player.c |
|
|
5902 | server/rune.c server/skill_util.c server/spell_util.c |
|
|
5903 | Make MULTIPLE_GODS standards part of game (remove #ifdefs for it) |
|
|
5904 | Files affected: common/readable.c include/spellist.h include/config.h |
|
|
5905 | server/attack.c server/gods.c server/skills.c server/spell_effect.c |
|
|
5906 | server/spell_util.c |
|
|
5907 | doc/Makefile.in, doc/Protocol: Add protocol description file here instead |
|
|
5908 | of in the client distribution. |
|
|
5909 | include/global.h: Move declaration of MAX_EXP_CAT near top of file |
|
|
5910 | so it is set before player.h is included. |
|
|
5911 | include/newclient.h: Add CS_STAT_SKILL* values for sending skill |
|
|
5912 | experience information to client. |
|
|
5913 | include/newserver.h: Add skillexp value to socket struct which determines |
|
|
5914 | if client wants skill experience informatiion. |
|
|
5915 | include/player.h: Add skill information tracking to player structure |
|
|
5916 | so we can easily know when to send updates to client. |
|
|
5917 | random_maps/expand2x.c: remove unused variable to prevent compiler warnings. |
|
|
5918 | random_maps/square_spiral.c: Include prototype information on all systems, |
|
|
5919 | not just win32 to prevent compiler warnings. |
|
|
5920 | server/skill_util.c: Initialize skill pointers to make it easier to |
|
|
5921 | find skill information when we want to update client. |
|
|
5922 | socket/init.c: Init socket->skillexp to 0. |
|
|
5923 | socket/loop.c: Fix indentation of table - whitespace change only |
|
|
5924 | socket/metaserver.c: Minor fix to prevent compile warnings (on the sprintf |
|
|
5925 | that composes the data to send to the metaserver) |
|
|
5926 | socket/request.c: Redo SetUp function to be more compact and IMO simpler as |
|
|
5927 | wll as easier to read (functionality remains the same). |
|
|
5928 | VersionCmd modified to warn users of on dxclients (code on MT) |
|
|
5929 | StatsCmd added to send skill information if client wants it. |
|
|
5930 | The sending of skill experience is by MT, rest of the changes by me. |
|
|
5931 | MSW 2001-05-28 |
|
|
5932 | |
|
|
5933 | common/readable.c: When making recipe books, give the recipe that they |
|
|
5934 | are for in the title. Makes it more worthwhile to buy them. |
|
|
5935 | lib/treasures.c: Increase the chance of readables in chests some (in fact, |
|
|
5936 | add a chance.) |
|
|
5937 | MSW 2001-05-25 |
|
|
5938 | |
|
|
5939 | lib/artifacts: Reduce potency of Poison artifact foods. |
|
|
5940 | server/apply.c: When eating poison artifact foods, hit player with poison |
|
|
5941 | attacktype instead of just subtracting hp. This way people with |
|
|
5942 | poison resistance get proper benefit. MSW 2001-05-24 |
|
|
5943 | |
|
|
5944 | doc/metaserver, doc/Makefile.in: Add metaserver file which describes |
|
|
5945 | working of metaserver and format of data fields. |
|
|
5946 | socket/metaserver.c: Add reporting of inbytes, output bytes, and uptime in |
|
|
5947 | seconds to notification of metaserver |
|
|
5948 | MSW 2001-05-24 |
|
|
5949 | |
|
|
5950 | server/player.c |
|
|
5951 | common/living.c |
|
|
5952 | include/libproto.h: New experience loss on death policy implemented. |
|
|
5953 | (As per consensus.) 3 levels or 20%, whichever is less. |
|
|
5954 | --PeterM 5/24/2001 |
|
|
5955 | |
|
|
5956 | server/spell_util.c: Fix typo in polymorph code (when enabled in config.h) |
|
|
5957 | MSW 2001-05-24 |
|
|
5958 | |
|
|
5959 | server/disease.c: replace disease->owner check with get_owner. |
|
|
5960 | MSW 2001-05-24 |
|
|
5961 | |
|
|
5962 | server/pets.c: pet_move - fix formatting to be 4 space indentation. |
|
|
5963 | if we remove the monster, free it here instead of having move_monster |
|
|
5964 | do it. Add check for was_destroyed after first call to move_ob - |
|
|
5965 | crashes have been observed in that function, and I believe that is the |
|
|
5966 | cause. |
|
|
5967 | server/monster.c: move_monster: let pet_move free the pet if necessary. |
|
|
5968 | server/spell_effect.c: Clear sleeping flag of monsters when casting |
|
|
5969 | summon pet monster (or other creatures). Some archs have this |
|
|
5970 | value on by default, so the monsters don't follow the player until |
|
|
5971 | an enemy is found. |
|
|
5972 | MSW 2001-05-22 |
|
|
5973 | |
|
|
5974 | socket/item.c: Don't raise player to top of stack when they look at |
|
|
5975 | something. I think this may be causing server crashes in some |
|
|
5976 | circumstances - plus its not really needed anyways. |
|
|
5977 | socket/loop.c: block_until_new_connections: Add call to flush_old_maps |
|
|
5978 | so maps are reset while waiting for a new player. |
|
|
5979 | MSW 2001-05-22 |
|
|
5980 | |
|
|
5981 | configure.in, configure: Fix png and Xpm library detection. Suggested |
|
|
5982 | patch by Yann Chackhoff, applied by MSW 2001-05-20 |
|
|
5983 | |
|
|
5984 | |
|
|
5985 | ------------------------------------------------------------------------------ |
|
|
5986 | Changes for 1.0.0: |
|
|
5987 | |
|
|
5988 | common/living.c: Fix AC wrapping problem - now limit ac to +/- 120. |
|
|
5989 | MSW 2001-05-12 |
|
|
5990 | |
|
|
5991 | include/config.h: Add NO_POLYMORPH feature selection |
|
|
5992 | include/spellist.h: If NO_POLYMORPH is set, make it so that polymorph will |
|
|
5993 | not show up in wands/rods |
|
|
5994 | server/spell_util.c: Handling for NO_POLYMORPH selection |
|
|
5995 | MSW 2001-05-11 |
|
|
5996 | |
|
|
5997 | server/rune.c: Make sure rune message is newline terminated. Fix map |
|
|
5998 | corruption problem. MSW 2001-05-10 |
|
|
5999 | |
|
|
6000 | Various improvements to make finding memory leaks easier. |
|
|
6001 | common/anim.c: Add free_all_anim function |
|
|
6002 | common/arch.c: Modify free_all_arch to free more data |
|
|
6003 | common/init.c: If running under MEMORY_DEBUG, don't pre-allocate objects. |
|
|
6004 | common/map.c: Add free_all_maps functiion. |
|
|
6005 | common/object.c: Modify object allocations if using MEMORY_DEBUG to only |
|
|
6006 | malloc one object at a time, and not pre-allocate objects. |
|
|
6007 | common/readable.c: Fix memory leak. |
|
|
6008 | common/shstr.c: Include autoconf.h so it can pull in dmalloc.h file. |
|
|
6009 | include/config.h: Remove notes of what was removed a long time ago. |
|
|
6010 | Add MEMORY_DEBUG option. |
|
|
6011 | include/libproto.h, include/sockproto.h, include/sproto.h: automatic rebuild |
|
|
6012 | server/c_misc.c: Fix 'malloc info command so it reports right memory total |
|
|
6013 | for maps. Add command_style_map_info which sums up memory used by |
|
|
6014 | style maps. |
|
|
6015 | server/commands.c: Add style_info wiz command which dumps memory usage |
|
|
6016 | for style maps. |
|
|
6017 | server/init.c: Have sighup handler call cleanup function. |
|
|
6018 | server/main.c: Fix clean_tmp_files which could result in crash if one |
|
|
6019 | of the maps in memory has 0 reset time. Modify cleanup function |
|
|
6020 | to free more data. |
|
|
6021 | server/player.c: op_on_battleground: Fix compile warning about unuused variable. |
|
|
6022 | socket/init.c: Change name of free_all_ericserver to free_all_newserver, |
|
|
6023 | have it free all face data. |
|
|
6024 | MSW 2001-05-08 |
|
|
6025 | |
|
|
6026 | socket/item.c: Modify look_at to not stop when it finds the first invisible |
|
|
6027 | object. |
|
|
6028 | server/monster.c: Modify monster_check_pickup to check to see if the |
|
|
6029 | next object got destroyed. I'm not sure the exact way this happens, |
|
|
6030 | but I've seen one crash where this did happen - I'm guess some |
|
|
6031 | function further down in the monster_check_apply look may call |
|
|
6032 | this or destroy the item. |
|
|
6033 | MSW 2001-05-01 |
|
|
6034 | |
|
|
6035 | common/object.c: Add clear_owner function. |
|
|
6036 | include/libproto.h: rebuild. |
|
|
6037 | server/player.c: Modify op_on_battleground to look for battleground |
|
|
6038 | anyplace on space. Temp for for wall of thorns on space - as long |
|
|
6039 | as maps don't try to abuse the use of battlegrounds, should be OK. |
|
|
6040 | server/time.c: Add clear_owner call to stop_arrow. Fixes problem of |
|
|
6041 | thrown objects not getting saved. |
|
|
6042 | MSW 2001-04-28 |
|
|
6043 | |
|
|
6044 | common/object.c: Have update_object map the look window for redraw if |
|
|
6045 | the object is not something the client normally animates (like a lever). |
|
|
6046 | MSW 2001-04-27 |
|
|
6047 | |
|
|
6048 | server/apply.c: Modify apply_id_altar check for player - had a && instead of |
|
|
6049 | a ||. |
|
|
6050 | socket/item.c: Modify ApplyCmd so a removed player can not apply objects. |
|
|
6051 | Fix crashes caused by players applying savebeds after they have |
|
|
6052 | used the bed. MSW 2001-04-26 |
|
|
6053 | |
|
|
6054 | server/spell_util.c: have put_a_monster generate random monster |
|
|
6055 | abilities. |
|
|
6056 | TODO, doc/mapguide: Various minor updates. |
|
|
6057 | MSW 2001-04-25 |
|
|
6058 | |
|
|
6059 | server/c_object.c: Pass right object to query_cost_string so that |
|
|
6060 | if you pick up an unpaid object into a container, it generates |
|
|
6061 | the correct price. MSW 2001-04-22 |
|
|
6062 | server/c_wiz.c: fix shutdown and reset_map wizard commands/function |
|
|
6063 | so they no longer crash the server. MSW 2001-04-22 |
|
|
6064 | |
|
|
6065 | server/monster.c: add check to was_destroyed when monster fires an |
|
|
6066 | arrow. Call was certainly missing, and appears to be responsible for |
|
|
6067 | crash. MSW 2001-04-20 |
|
|
6068 | |
|
|
6069 | server/player.c: Clear op->chosen_skill when we get to the play_again |
|
|
6070 | prompt. Otherwise, the server may try to use this later on, and it |
|
|
6071 | no longer points to a valid object, so it results in a crash. |
|
|
6072 | MSW 2001-04-19 |
|
|
6073 | |
|
|
6074 | server/skill_util.c: Add missing call to out_of_map in skill_attack which |
|
|
6075 | could result in crashes if player is at edge of maps and decides to attack |
|
|
6076 | in direction off map. MSW 2001-04-18 |
|
|
6077 | |
|
|
6078 | server/attack.c: Remove error message about golem without owners, |
|
|
6079 | also add better checking before clering the op->contr->golem field. |
|
|
6080 | common/map.c: set status flag on maps to MAP_SAVING so remove_ob does |
|
|
6081 | not do extra work when we are deleting a map (ie, immediate reset) |
|
|
6082 | from emory. |
|
|
6083 | server/skills.c: If someone is stolen from a player, send an esrv_delete_item |
|
|
6084 | to the client so the clients inventory remains correct. |
|
|
6085 | MSW 2001-04-16 |
|
|
6086 | |
|
|
6087 | common/re-cmp.c: Modify re_cmp functiion so that it properly matches |
|
|
6088 | strings not at the start 'ie, dude chain will now match against |
|
|
6089 | the chain value'. |
|
|
6090 | server/monster.c: Properly alter direction monster moves if they are |
|
|
6091 | feared or confused. It was properly altering direction when monsters |
|
|
6092 | were using range attacks, but not if they were just wanting to move. |
|
|
6093 | MSW 2001-04-12 |
|
|
6094 | |
|
|
6095 | common/living.c: Don't use the last_heal object in experience objects as |
|
|
6096 | sp regen penalty. This should fix the problem of inconsistent sp regen |
|
|
6097 | rates - last_heal is used in experience objects if the permanent experience |
|
|
6098 | option is turned on. MSW 2001-04-11 |
|
|
6099 | |
|
|
6100 | PeterM: |
|
|
6101 | server/spell_util.c: fix peace so it gives experience |
|
|
6102 | common/button.c: change the "error" to a "debug" message |
|
|
6103 | to reduce server crashing. |
|
|
6104 | |
|
|
6105 | ------------------------------------------------------------------------------ |
|
|
6106 | |
|
|
6107 | Changes for 0.98.0: |
|
|
6108 | |
|
|
6109 | server/skills.c: Modify inscription so that when inscribing cleric spells, |
|
|
6110 | it reduces grace. Before, reduced mana no matter the type of spell. |
|
|
6111 | server/c_object.c: Fix bug in pick_up where it was not using the right |
|
|
6112 | count for picking up objects if the player did not specify one. This |
|
|
6113 | allowed players to put objects into containers that should not really |
|
|
6114 | fit. |
|
|
6115 | server/player.c: Don't let players shoot arrows at themself. Also, |
|
|
6116 | minor changes to use new_draw_info_format. |
|
|
6117 | server/swap.c: If recycle temp maps, don't save out random maps to |
|
|
6118 | get recycled. MSW 2001/04/07 |
|
|
6119 | |
|
|
6120 | PeterM 2001/04/06: |
|
|
6121 | include/libproto.h common/object.c server/apply.c server/spell_util.c |
|
|
6122 | Added a new function: instead of stacking many burnout or firetrail |
|
|
6123 | objects, only 1 per square is added. Real reduction in server overhead. |
|
|
6124 | No reduction in cosmetic effect. |
|
|
6125 | |
|
|
6126 | common/porting.c: Fix compile warnings/bugs introduced by Win32 changes. |
|
|
6127 | server/time.c: Modify move_player_mover so that it determines direction |
|
|
6128 | of the mover and then process accordingly, as well as formatting |
|
|
6129 | changes. |
|
|
6130 | server/c_object.c: modify examine so that it properly shows info about |
|
|
6131 | magic bullet spell books. MSW 2001-04-05 |
|
|
6132 | |
|
|
6133 | common/item.c: Modify identify function to clear the NO_SKILL_IDENT |
|
|
6134 | flag so objects will now merge. Also, once the object has been |
|
|
6135 | identified, the no_skill_ident doesn't have meaning anymore. |
|
|
6136 | MSW 2001-04-03 |
|
|
6137 | |
|
|
6138 | server/c_object: Modify examine command to only be able to examine |
|
|
6139 | valid objects, and not whatever is on top of the space, which may be |
|
|
6140 | insivisible. MSW 2001-04-01 |
|
|
6141 | |
|
|
6142 | include/sproto.h, server/c_wiz.c server/main.c server/player.c socket/loop.c: |
|
|
6143 | Modify leave function to take a second parameter that determines if it |
|
|
6144 | should print a message about the player leaving the game or not. Proper |
|
|
6145 | use of this prevents duplicate XXX left the game messages. MSW 2001-03-29 |
|
|
6146 | |
|
|
6147 | common/image.c, include/define.h, include/global.h: Add empty_face structure |
|
|
6148 | and appropriate code to initialize it. This is used for the server side |
|
|
6149 | look selection. |
|
|
6150 | include/newserver.h: Add NUM_LOOK_OBJECTS to control number of look objects |
|
|
6151 | to send at any one time. add look_position field to the newsocket |
|
|
6152 | structure. |
|
|
6153 | server/move.c: clear look position as player moves. |
|
|
6154 | server/player.c: initalize look_position element in structure. |
|
|
6155 | socket/item.c: modify esrv_draw_look to sne NUM_LOOK_OBJECTS at any one |
|
|
6156 | time, and to also send pseudo objects that lets the player scroll up and down. |
|
|
6157 | modify ApplyCmd so that if it detects the application of one pseudo objects |
|
|
6158 | to adjust the look_position. |
|
|
6159 | MSW 2001-03-29 |
|
|
6160 | |
|
|
6161 | common/readable.c: Name spellbooks based on level of spell, and not |
|
|
6162 | just randomly. Patch by Preston Crow, applied by Mark Wedel 2001-03-29 |
|
|
6163 | |
|
|
6164 | configure, configure.in, include/autoconf.h, includes.h: add check for |
|
|
6165 | time.h and include it if we find it. |
|
|
6166 | socket/item.c: esrv_move_object - have it check to see if the object is |
|
|
6167 | already on the ground before we try to re-drop it. Likewise, check |
|
|
6168 | to see if it is already in players inventory before we try to pick |
|
|
6169 | it up. |
|
|
6170 | common/object.c: Don't send face updates to the client or make |
|
|
6171 | the space as needing to be redrawn. Client now deals with animation |
|
|
6172 | of the look window on its own. |
|
|
6173 | utils/(metaserver.pl crossloop add_throw.perl crossloop.pl) |
|
|
6174 | lib/(Makefie.in, checkarch.pl collect.pl xpmtopix.pl) - - deleted |
|
|
6175 | from CVS - '.in' versions of these files now exist and the real |
|
|
6176 | versions are created as part of the configure process. Update |
|
|
6177 | Makefile.in to reflect this change. |
|
|
6178 | MSW 2001/03/28 |
|
|
6179 | |
|
|
6180 | common/object.c: have update_position just update the flag that the |
|
|
6181 | server needs to send the look window to the client and don't send the |
|
|
6182 | item at this point, as sending the look will do that. |
|
|
6183 | server/main.c: process_players1: Remove call to draw (which updates |
|
|
6184 | the client map) - the handle newclient in socket/loop.c already |
|
|
6185 | does this and there is no reason to send multiple instances of the |
|
|
6186 | same map. |
|
|
6187 | MSW 2001/03/23 |
|
|
6188 | |
|
|
6189 | server/c_object.c: drop_object function: send delete item to client as |
|
|
6190 | item is dropped. This fixes a problem of phantom objects in the |
|
|
6191 | inventory. Unrelated change to not call esrv_send_item for objects |
|
|
6192 | that are dropped - esrv_draw_look will get called later on and will |
|
|
6193 | update this at that time. MSW 2001/03/23 |
|
|
6194 | |
|
|
6195 | server/c_object.c: Update the return value for some matches - they |
|
|
6196 | function was returning immediately when it got a match, but did not give |
|
|
6197 | them a high match value, so searching for 'key ring' used to return a |
|
|
6198 | match value of 6 or so on the key ring, but a 14 on a key. |
|
|
6199 | |
|
|
6200 | common/object.c: Modify find_free_spot to call arch_out_of_map so that |
|
|
6201 | it properly deals with multipart objects. |
|
|
6202 | server/main.c: Fix enter_map so that we first use the golem (and not player) |
|
|
6203 | when calling find_free_spot. Also, modify code so that it properly |
|
|
6204 | updates coordinates of the multipart golem. |
|
|
6205 | MSW 2001/03/20 |
|
|
6206 | |
|
|
6207 | server/skills.c: Fix orate so that we check for a positive chance (and just |
|
|
6208 | not nonzero chance) for successful oration. Due to adjustments, at low levels, |
|
|
6209 | the oratory chance can be negative. MSW 2001/03/20 |
|
|
6210 | |
|
|
6211 | server/spell_effect.c: Change cast_change_attr to find an enemy (and not |
|
|
6212 | friend) when casting the curse spell. MSW 2001/03/20 |
|
|
6213 | |
|
|
6214 | server/apply.c: Increase size of buf to be a HUGE_BUF to very |
|
|
6215 | long item names don't cause a stack overflow. MSW 2001/03/20 |
|
|
6216 | |
|
|
6217 | common/object.c: Modify update_position so that we don't show invisible |
|
|
6218 | players to other players. MSW 2001/03/20 |
|
|
6219 | |
|
|
6220 | ------------------------------------------------------------------------------ |
|
|
6221 | Changes for 0.97.0: |
|
|
6222 | |
|
|
6223 | MSW 2001/03/18: |
|
|
6224 | common/init.c: add RESET_LOCATION_TIME initializer to settings structure. |
|
|
6225 | include/config.h: Add RESET_LOCATION_TIME value. If nonzero and the save was longer than |
|
|
6226 | the specified time in seconds, player will be returned home upon login from |
|
|
6227 | save. |
|
|
6228 | include/global.h: Add reset_loc_time field to settings structure. |
|
|
6229 | server/login.c: Remove some unused variables, add support to return player |
|
|
6230 | home as described above. |
|
|
6231 | server/spell_effect.c: Fix for crashes when casting control undead and your |
|
|
6232 | god does not have an enemy. Now properly check to make sure we are not |
|
|
6233 | dereferencing null pointers. |
|
|
6234 | |
|
|
6235 | |
|
|
6236 | MSW 2001/03/16: |
|
|
6237 | Change code so that if player dies and loading the players savebed map does |
|
|
6238 | not work, return player to EMERGENCY_MAPPATH instead. New function added |
|
|
6239 | to server/main.c called enter_player_savebed which does the work, |
|
|
6240 | Files changed: include/sproto.h server/main.c server/player.c |
|
|
6241 | server/spell_effect.c (comment added) |
|
|
6242 | Unrelated change: Remove messages about multiple resist types set. |
|
|
6243 | Files changed: common/loader.l common/loader.c |
|
|
6244 | |
|
|
6245 | MSW 2001/03/15: |
|
|
6246 | server/spell_effect.c: Add physical attacktype when casting holy possession. |
|
|
6247 | Otherwise, characters who use karate end up not being able to damaage |
|
|
6248 | anything. |
|
|
6249 | |
|
|
6250 | MSW 2001/03/09: |
|
|
6251 | crossedit/App.c: Move the loading of images to later in the editor |
|
|
6252 | startup state. In this way, the client can allocate the colors it |
|
|
6253 | needs for its windows before the the png images use up all the colors. |
|
|
6254 | crossedit/png.c: New png loader implementation. New version is much |
|
|
6255 | faster (50 times faster). As part of this, only 8 bit displays, |
|
|
6256 | a private colormap will be allocated, and after that gets filled |
|
|
6257 | up, a color mapping routine will be used - this makes the png |
|
|
6258 | images loadable on an 8 bit system in addition to the speedup. |
|
|
6259 | crossedit/xutil.c: Adding timing information for loading of images. |
|
|
6260 | call init_pngx_loader before starting to load png images. Pass |
|
|
6261 | colormap to png_to_xpixmap by pointer and not value so that |
|
|
6262 | the loader can change the colormap. |
|
|
6263 | |
|
|
6264 | AV 2001/03/09: |
|
|
6265 | common/button.c: Added new attribute to altar triggers: "last_sp 1". |
|
|
6266 | If set, the altar trigger will push the connected value only |
|
|
6267 | by dropping the sacrifice, NOT by altar reset. If unset ("last_sp 0") |
|
|
6268 | it will work like it used to (push by sacrifice and by reset). |
|
|
6269 | |
|
|
6270 | MSW 2001/03/06: |
|
|
6271 | server/spell_effect.c: Fix message when consecration fails - use the ob->name |
|
|
6272 | field and not the ob->title field. Also fix broken logic that checked |
|
|
6273 | for the floor. |
|
|
6274 | server/init.c: Related to 3-4 change which changed the default name of |
|
|
6275 | the logfile to "" so we know to use stderr. This doesn't work for |
|
|
6276 | daemon mode, so if the name is "", we use the default logfile instead. |
|
|
6277 | |
|
|
6278 | MSW 2001/03/04: |
|
|
6279 | TODO: add re-connecting player to new client if client logs in with |
|
|
6280 | right name/password. |
|
|
6281 | common/init.c: Open up the logfile with the provide filename when given |
|
|
6282 | the -log option. |
|
|
6283 | server/init.c: Make set_logfile a first pass option so the init_library |
|
|
6284 | has the right logfile name to work with. |
|
|
6285 | server/main.c: Fix crash if map has an exit path yet that file does not |
|
|
6286 | exist. Give proper error message. |
|
|
6287 | |
|
|
6288 | |
|
|
6289 | MSW 2001/03/01: |
|
|
6290 | server/main.c: Modified random_map code so the server will not |
|
|
6291 | crash if the exit object has no message (and thus variables to set |
|
|
6292 | for the random map). |
|
|
6293 | Modified so that golems move away from player when player |
|
|
6294 | changes map. Values were reversed before, causing the golem to move |
|
|
6295 | towards the player. |
|
|
6296 | |
|
|
6297 | MSW 2001/02/25: General player login cleanup. This should fix the crash |
|
|
6298 | when players re-roll stats too often. So far, it also seems to |
|
|
6299 | have the additional effect that calculated players on map now appears |
|
|
6300 | to be correct. |
|
|
6301 | common/player.c: No longer allocate the player object structure in |
|
|
6302 | get_player_ob (function is really misnamed). Callers to this function |
|
|
6303 | were not using the allocated function. |
|
|
6304 | server/login.c: Add leave_map call when player is loaded. |
|
|
6305 | server/main.c: Add leave_map function. |
|
|
6306 | server/player.c: Move get_player function to start of file - can declare |
|
|
6307 | it static that way. Move some initialize from add_player to get_player. |
|
|
6308 | Add set_first_map function. Add appropriate calls to leave_map |
|
|
6309 | and set_first_map when players join and leaves the game. |
|
|
6310 | |
|
|
6311 | MSW 2001/02/22: |
|
|
6312 | TODO: Add some items, remove some others, remove outline of future versions, |
|
|
6313 | since it was out of date. |
|
|
6314 | common/loader.l,loader.c: Declare msgbuf a static outside the lex_load function. |
|
|
6315 | lex_load was otherwise clearing it each time it was called, which resulted |
|
|
6316 | in empty messages for the random artifacts (since the call lex_load one |
|
|
6317 | line at a time). Instead, we just zero this at start of load_object. |
|
|
6318 | Original reason of this change was due to purify errors - as I look at the |
|
|
6319 | code, it appears even before these changes that it was clearing the buffer |
|
|
6320 | properly. |
|
|
6321 | common/map.c: removing pending field from map objects. |
|
|
6322 | common/re-cmp.c: Comment out some code which was resulting in too many |
|
|
6323 | false compares. |
|
|
6324 | include/config.h: increase default for MAX_OBJECTS. 6000 is a bit small |
|
|
6325 | on current systems. |
|
|
6326 | include/map.h: Remove pending field from map structure. |
|
|
6327 | random_maps/treasure.c: Increase size of doorlist. Fixes crash, in that |
|
|
6328 | if a random map could place 8 doors around the treasure, the list |
|
|
6329 | was not terminated, so the problem would eventually try to read/dereference |
|
|
6330 | random memory after the array. |
|
|
6331 | server/c_misc.c: Remove pending field from maps, so remove functions |
|
|
6332 | and other places that referred to it (like the maps command) |
|
|
6333 | server/c_wiz.c: fix up wiz map reset command. Not really tested, but |
|
|
6334 | old code had some definate problems just from visual inspection. |
|
|
6335 | server/main.c: Further fix for unique exits - relative paths to unique maps |
|
|
6336 | from non unique maps should now work. |
|
|
6337 | server/monster.c: Various fixes - one is that should get more reliable distance |
|
|
6338 | values for multipart monsters. Second, modify dist_att to calculate from |
|
|
6339 | closest part of monster, and not the head of the monster. |
|
|
6340 | server/pets.c: Remove code dealing with pending objects. |
|
|
6341 | server/player.c: Don't remove invisible objects in players inventory when |
|
|
6342 | playing with permadeath mode. |
|
|
6343 | server/spell_util.c: If you try to cast denied spell, it no longer costs any |
|
|
6344 | spellpoints. |
|
|
6345 | socket/item.c: Fix bug where it was using 'item' protocol command instead of |
|
|
6346 | 'item1' |
|
|
6347 | End of MSW 2001/02/22 checkin. |
|
|
6348 | |
|
|
6349 | ------------------------------------------------------------------------------ |
|
|
6350 | Changes for 0.96.0: |
|
|
6351 | |
|
|
6352 | MSW 2001/01/11: |
|
|
6353 | include/rproto.h: Rebuilt for new random map code. |
|
|
6354 | server/player.c: remove player insert in key_roll_stat - player is already |
|
|
6355 | inserted. |
|
|
6356 | server/swap.c: When swapping out map, see if it has already reached reset time, |
|
|
6357 | and if so, just delete it and not save it. In flush_old_maps, now have |
|
|
6358 | it check for maps that have no timeout set - this sometimes happens when |
|
|
6359 | players save/die on maps. |
|
|
6360 | |
|
|
6361 | |
|
|
6362 | MSW 2001/01/11: |
|
|
6363 | Other than various general cleanups, the main change this code does is |
|
|
6364 | that style maps (for random maps) get loaded special now - they objects |
|
|
6365 | they contain are not put on the active list, and they use a private map |
|
|
6366 | list so they do not appear in the output of the 'maps command. |
|
|
6367 | common/arch.c, common/treasure.c,server/login.c: Update calls to load_object |
|
|
6368 | common/loaderl.l,loader.c: Update lex_load to take an optional flags option. |
|
|
6369 | This is currently only used so that the loader can decide if it should |
|
|
6370 | call update_ob_speedto put objects on the active list or not. |
|
|
6371 | Calls to lex_load updated. load_object modified to take another option |
|
|
6372 | common.map.c: remove PROCESS_WHILE_LOADING and CHECK_ACTIVE_MAPS ifdefs. |
|
|
6373 | update calls to load_object. Remove some dead code. |
|
|
6374 | include/config.h: Remove CHECK_ACTIVE_MAPS and PROCESS_WHILE_LOADING flags. |
|
|
6375 | Those options did not work, and in all likelihood, this would be done |
|
|
6376 | via threading now days and not what code was there. |
|
|
6377 | include/libproto.h, sproto.h: updated or various function changes. |
|
|
6378 | include/map.h: Add MAP_STYLE flag. |
|
|
6379 | random_maps/exit.c: Call set_map_timeout after we load the final map |
|
|
6380 | so it will get swapped out. |
|
|
6381 | random_maps/standalone.c: Add dummy set_map_timeout function so it compiles. |
|
|
6382 | random_maps/style.c: Add load_style_map function which does the job of |
|
|
6383 | actually checking to see if a style map is in memory, and if not, |
|
|
6384 | loads it up. Updates the pointers so it appears on a map style map list |
|
|
6385 | and not the general map list. |
|
|
6386 | server/main.c: create set_map_timeout function that deals with setting the |
|
|
6387 | map timeouts. Fix bug so server doesn't crash if two players kill each |
|
|
6388 | other on hall of selection. |
|
|
6389 | server/monster.c remove dead code. |
|
|
6390 | socket/loop.c: If realloc fails, catch it and exit with meaningful |
|
|
6391 | error message. |
|
|
6392 | End of MSW 2001/02/11 checkin. |
|
|
6393 | |
|
|
6394 | MSW 2001/02/08: |
|
|
6395 | server/login.c:Fix that would prevent maps from getting swapped out properly - |
|
|
6396 | we would try to swap out a map the player is in the process of leaving - move |
|
|
6397 | swap out code until after we have moved the player to the new map. MSW |
|
|
6398 | 2001-02-08 |
|
|
6399 | |
|
|
6400 | |
|
|
6401 | MSW 2001/02/06: |
|
|
6402 | common/porting.c: relocate clean_path from this file to server/main.c |
|
|
6403 | server/main.c: relocate clean_path from porting.c. Add unclean_path. |
|
|
6404 | Modify enter_unique_exit so it supports relative maps on unique maps. |
|
|
6405 | Modify enter_exit so word of recall (or other forcelike fields), work |
|
|
6406 | when the return point is a swapped out unique map. |
|
|
6407 | |
|
|
6408 | MSW 2001/02/05: |
|
|
6409 | server/attack.c: Fix blind and paralyze - logic for reducing duration was |
|
|
6410 | broken, resulting in zero duration for most characters. It should now |
|
|
6411 | work properly, reducing according to the amount of protection. |
|
|
6412 | |
|
|
6413 | |
|
|
6414 | MSW 2001/02/02: |
|
|
6415 | common/item.c: Don't have armour item types get returned as magical if they |
|
|
6416 | have an armour value - that is to be expected. This eliminates the false |
|
|
6417 | positives that you otherwise get on armor when you cast detect magic. |
|
|
6418 | include/newserver/h: and checksum field to FaceInfo struct. Update |
|
|
6419 | version_sc to 1026. |
|
|
6420 | socket/init.c: calculate image checksums as we load the images. |
|
|
6421 | socket/request.c: If client is at least version_Sc 1026, use face1 protocol |
|
|
6422 | command that includes the checksum. |
|
|
6423 | |
|
|
6424 | MSW 2001/01/31: |
|
|
6425 | common/object.c: Fix that that spells cast on spaces with no floors get |
|
|
6426 | set properly after the spell expires. |
|
|
6427 | common/player.c: Use skill tools first (lockpicks, talismans, etc) before |
|
|
6428 | using native skills. In this way, an object with bonus automatically |
|
|
6429 | gets used. |
|
|
6430 | common/living.c: Fix so that negative con bonuses work properly - fixes |
|
|
6431 | bug where a higher con could result in lower total hp due to improper |
|
|
6432 | calculation. |
|
|
6433 | |
|
|
6434 | MSW 2001/01/30: |
|
|
6435 | Complete rewrite of the exit handling code. Hopefully as an effect, this will |
|
|
6436 | fix the player appearing in the middle of the oceans. I think the code |
|
|
6437 | should also work better in many other areas. Main enhancements is a 3x3 |
|
|
6438 | area for pets to follow player to new map, as well as golems now following |
|
|
6439 | players to the new maps. |
|
|
6440 | include/sproto.h, random_maps/rproto.h - rebuilt. |
|
|
6441 | random_maps/random_map.c: Change generate_random_map to take a structure |
|
|
6442 | with the random map paremeters. |
|
|
6443 | random_maps/reader.l, reader.c: Add set_random_map_variable function that |
|
|
6444 | reads the map parameters from a char buffer. Also, remove some leftover |
|
|
6445 | comments that were from the common/loader.l file. |
|
|
6446 | random_maps/rogue_layout.c: Change some functions to be static so make proto |
|
|
6447 | doesn't collect them. |
|
|
6448 | random_maps/standalone.c: Add opening of parms file into main function since |
|
|
6449 | it ws removed from the random_map.c file. |
|
|
6450 | server/apply.c: Don't display the message of random maps to the players |
|
|
6451 | as they enter them, as this message is random map parameters, and not |
|
|
6452 | a real message. |
|
|
6453 | server/login.c: #if 0 out using of the player loading element in the structure. |
|
|
6454 | this isn't used right now. |
|
|
6455 | server/main.c: Bulk of the changes. main changes are to break apart the |
|
|
6456 | old enter_exit function into smaller functions that more logically do |
|
|
6457 | the needed function (random maps, unique maps, and transferring the player |
|
|
6458 | to the new map). random map code now passes the parameters via |
|
|
6459 | structure instead of file in /tmp. Code is much more understandable now |
|
|
6460 | and hopefully bugfree. |
|
|
6461 | server/pets.c: minor changes/bugfixes. Search full SIZEOFFREE array, use |
|
|
6462 | real owner variable when print out messages. |
|
|
6463 | server/player.c: Remove usage of the loading variable in the player structure. |
|
|
6464 | End of MSW 2001/01/30 checking. |
|
|
6465 | |
|
|
6466 | MSW 2001/01/23: |
|
|
6467 | Various cleanups/fixes as detected by purify: |
|
|
6468 | common/anim.c: animation[0] was given a null pointer as the name, but |
|
|
6469 | bsearch/or comparison function will try to de-reference it. |
|
|
6470 | Give it a unique name. |
|
|
6471 | common/loader.l: msgbuf was being used initialized in the main loading |
|
|
6472 | function. loader.c also regenerated. |
|
|
6473 | common/object.c: find_free functions were not checking to see if the |
|
|
6474 | spaces they were examining were out of the map. Added checks |
|
|
6475 | to do so. |
|
|
6476 | server/apply.c: buf was being used uninitialized in the function. |
|
|
6477 | socket/init.c: input buffer needs to be initialized as we do a |
|
|
6478 | strncasecmp against the buffer which may not have any data in it. |
|
|
6479 | |
|
|
6480 | |
|
|
6481 | MSW 2001/01/18: |
|
|
6482 | server/skill_util.c: add change_skill_to_skill function to be used when |
|
|
6483 | we already know the skill object we want to use. This is more efficient |
|
|
6484 | than change_skill which takes a skill number and then searches the |
|
|
6485 | inventory for the object. |
|
|
6486 | remove extra esrv_send_item from do_skill_attack - don't need to send |
|
|
6487 | skills to player. |
|
|
6488 | do_skill_attack: remove call to hth_damage - that function does not take |
|
|
6489 | into account objects in the player inventory that increase damage, |
|
|
6490 | and since that is called each attack, it is not feasible to have it |
|
|
6491 | search the players inventory. Instead, we just rely on damage generated |
|
|
6492 | by fix_player - only think hth_damage did was adjust damage based on |
|
|
6493 | level difference. |
|
|
6494 | |
|
|
6495 | PeterM 2001/01/16 |
|
|
6496 | Added randomly-generated nethack-style maps to crossfire's |
|
|
6497 | random map generator. |
|
|
6498 | |
|
|
6499 | MSW 2001/01/15: |
|
|
6500 | Change blindness and paralyze so that duration is reduced based on protection |
|
|
6501 | the player has. file server/attack.c |
|
|
6502 | |
|
|
6503 | MSW 2001/01/15: |
|
|
6504 | Various fixes for friendly object code: |
|
|
6505 | common/button.c: Add missing call to remove_friendly_object |
|
|
6506 | common/friend.c: Pretty much completely re-written. add_friendly_object now |
|
|
6507 | checks to make sure the object being added isn't already on the list, |
|
|
6508 | remove_friendly_object will remove objects whose tags don't match, |
|
|
6509 | and added clean_friendly_list. |
|
|
6510 | common/object.c: No reason to use the function pointer to |
|
|
6511 | remove_friendly_object since that function is in the lib. |
|
|
6512 | common/time.c: Make DEBUG_TIME always on (no longer compile time option). |
|
|
6513 | other areas use the global var pticks, so if it was turned off, compile |
|
|
6514 | would break anyways. |
|
|
6515 | common/treasuer.c: No longer print debug messages on artifacts created. |
|
|
6516 | Cluttered log file making it hard to see more important errors. |
|
|
6517 | include/config.h: Remove DEBUG_TIME define. |
|
|
6518 | include/libproto.h: Rebuilt for clean_friendly_list function. |
|
|
6519 | server/main.c: rewrote do_specials to do things based on pticks variable. |
|
|
6520 | This allows various specials to be spread out across multiple ticks |
|
|
6521 | easier. Also, added clean_friendly_function to part of what this does. |
|
|
6522 | server/skills.c: add missing call to remove_friendly_object. Also, removed |
|
|
6523 | from #if 0 .. #else .. #endif code. |
|
|
6524 | End of MSW 2000/01/15 checkin. |
|
|
6525 | |
|
|
6526 | PeterM 2001/01/08: Wrathful Eye spell implemented. |
|
|
6527 | |
|
|
6528 | MSW 2000/12/26: |
|
|
6529 | Checkin of Jan's new god intervention code. I haven't played around with |
|
|
6530 | it much, but I haven't seen any really obvious problems. |
|
|
6531 | common/living.c: remove learn_prayer_chance |
|
|
6532 | common/treasure.c: Various changes to treasure generation - mostly to |
|
|
6533 | deal with starting equipment and putting it in the inventory. |
|
|
6534 | doc/crossfire.doc: Update docs on god intervention. |
|
|
6535 | include/define.h: GT_... flags removed. |
|
|
6536 | include/treasure.h: GT_... flags added. Addition flags added from |
|
|
6537 | what was in define.h before. |
|
|
6538 | lib/archetypes, lib/crossfire.png, lib/treasures: Updated with new |
|
|
6539 | archetypes and treasures. |
|
|
6540 | random_maps/standalone.c,server/rune.c,server/time.c: Calls to |
|
|
6541 | create_treasure updated |
|
|
6542 | server/apply.c: New functions for god intervention added, update calls |
|
|
6543 | to create_treasure, other god related changes. |
|
|
6544 | server/c_wiz.c: Calls to create_treasure updated, various functions to |
|
|
6545 | allow DM's to learn/unlearn spells added. |
|
|
6546 | server/commands.c: Various commands added to the wiz set of commands. |
|
|
6547 | See commen for c_wiz.c |
|
|
6548 | server/disease.c: Changes to reduce_symptoms |
|
|
6549 | server/gods.c: Numerous updates for god intervention code. |
|
|
6550 | server/player.c: Modifications for starting player equipment. |
|
|
6551 | server/skill_util.c: Display the god the character worships when they |
|
|
6552 | issue the skills command. |
|
|
6553 | server/skills.c: Minor cosmetic change made to message when praying on altar. |
|
|
6554 | server/spell_effect.c: Changes related to gods, cure spells, and |
|
|
6555 | generation of treasures & items. |
|
|
6556 | End of MSW 2000/12/26 checkin. |
|
|
6557 | |
|
|
6558 | |
|
|
6559 | MSW 2000/12/23: |
|
|
6560 | include/define.h: Add SIZEOFFREE1 and SIZEOFFREE2 values to use instead of |
|
|
6561 | arbitrary constants in the code. |
|
|
6562 | server/monster.c: change communicate function to use above values. Before |
|
|
6563 | it was stopping one short of the full 2 space array, so one particular |
|
|
6564 | space (-1, -2 relative to player) would not hear players speech. |
|
|
6565 | server/attack.c: Don't exit hit_player function if damage is reduced to 0 |
|
|
6566 | in magical attacks. This was preventing face of death and probably a lot |
|
|
6567 | of effect only spells from working. |
|
|
6568 | server/spell_util.c: modify check_cone_push to use move_object to blow |
|
|
6569 | the objects. Before, multisquare monsters were getting sliced |
|
|
6570 | into their individual components - move_object deals with multisquare objects |
|
|
6571 | properly. |
|
|
6572 | |
|
|
6573 | PeterM 2000/12/18: Re-add the conflict spell (various files) |
|
|
6574 | attack.c: fix a bug which could easily have led to seg fault, |
|
|
6575 | and did when I was testing under efence. |
|
|
6576 | |
|
|
6577 | MSW 2000/12/17: Various changes. Note that the scope of files in this checkin |
|
|
6578 | make it appear that a lot was changed, but in fact it was mostly just |
|
|
6579 | re-orginization - very little code has actually changed. |
|
|
6580 | include/autoconf.h.in: Add HAVE_LIBDES to file. |
|
|
6581 | include/config.h: Remove comments after defines for MAP_MIN/MAX timeouts. |
|
|
6582 | This just removes some warnings during compile. comments are now |
|
|
6583 | on lines by themselves. |
|
|
6584 | include/player.h: remove shootstrength for player structure. It was unused. |
|
|
6585 | server/Makefile.in: remove input.c file, add c_range.c file. |
|
|
6586 | server/c_chat.c: remove command_last, add command_shout and command_tell |
|
|
6587 | from input.c to this file. Also fix bug in command tell which |
|
|
6588 | would let players crash server at will. |
|
|
6589 | server/c_misc.c,server/c_object.c: Relocate many functions |
|
|
6590 | from input.c into these files. |
|
|
6591 | server/c_move.c, server/c_new.c: Add standard crossfire banner comment. |
|
|
6592 | server/c_range.c: New file - contains range related commands, |
|
|
6593 | including spell casting (relocated from input.c) |
|
|
6594 | server/c_wiz.c: move command_invisible from input.c into this file. |
|
|
6595 | server/commands.c: Remove unused commands (bell, last, strength) |
|
|
6596 | server/input.c: removed file. |
|
|
6597 | server/main.c: Change HAVE_DES_H to HAVE_LIBDES |
|
|
6598 | server/player.c: When choosing a race, draw it facing south for best |
|
|
6599 | presentation of image. |
|
|
6600 | server/spell_util.c: Remove dead code (#if 0 shootstrength related |
|
|
6601 | code) |
|
|
6602 | socket/loop.c: remove unused variables. |
|
|
6603 | NOTE: Due to the addition/removal of files, you will need to do |
|
|
6604 | 'config.status; make depend; make' from the top level directory for |
|
|
6605 | everything to be compiled properly. |
|
|
6606 | End of MSW 2000/12/17 checkin. |
|
|
6607 | |
|
|
6608 | |
|
|
6609 | PeterM: 2000/12/17: Various problems fixed in |
|
|
6610 | random_maps/*.c: endless loop removed, |
|
|
6611 | exit leading to blocked area of spiral fixed. |
|
|
6612 | |
|
|
6613 | |
|
|
6614 | PeterM: 2000/12/17: Stat max bug fixed. |
|
|
6615 | server/apply.c |
|
|
6616 | |
|
|
6617 | |
|
|
6618 | MSW 2000/12/16: |
|
|
6619 | server/player.c: If the player race archetype has a message, print that out. |
|
|
6620 | This allows a descriptive message about what the different races will |
|
|
6621 | get. The message is removed from the player once they decide on the |
|
|
6622 | race. |
|
|
6623 | common/living.c: Add some parens around some PR resistant checks - eliminates |
|
|
6624 | warnings from gcc. |
|
|
6625 | server/disease.c: have cure_disease remove all diseases a player is infected |
|
|
6626 | with. The code suggested it was attempting to do so, and the |
|
|
6627 | messages it printed out certainly suggested that the character |
|
|
6628 | was disease free. |
|
|
6629 | |
|
|
6630 | |
|
|
6631 | PeterM: 2000/12/14: Added spiral map layout |
|
|
6632 | |
|
|
6633 | PeterM: 2000/12/14: |
|
|
6634 | Restructuring of the random map code. Functionally, it |
|
|
6635 | should be identical. All global variables moved into the |
|
|
6636 | functions. |
|
|
6637 | |
|
|
6638 | MSW 2000/12/10: |
|
|
6639 | utils/metaserver.pl: Various improvements. Main one is that tcp |
|
|
6640 | connections to port 13326 of the metaserver will dump the information |
|
|
6641 | in a easily parsable format for the client or other applications. |
|
|
6642 | include/config.h: Set ARCHTABLE size to correct value. |
|
|
6643 | server/player.c: Have server send update item to client for players face |
|
|
6644 | while select class. Added esrv_new_player in Roll_Again, because |
|
|
6645 | without it, the client had yet to receive information on what tag |
|
|
6646 | the player was so could not make sense of the updated face. |
|
|
6647 | server/spell_effect.c: Balance issues for polymorph. Reduce maximum |
|
|
6648 | value for high valued objects, remove ability to polymorph generators, |
|
|
6649 | put maximum level on polymorphed monsters and give them saving |
|
|
6650 | throws against the effects. |
|
|
6651 | |
|
|
6652 | MSW 2000/12/5: |
|
|
6653 | server/player.c: Move location of where it sets the player has_hit variable |
|
|
6654 | until after we have confirmed that the player has actually attacked a monster |
|
|
6655 | and not that the space is blocked. Fixes various problems and make |
|
|
6656 | behaviour more predictable. |
|
|
6657 | common/button.c: Do not set path_attuned when loading connected objects from within |
|
|
6658 | the editor. This is normally done for random map code/glue logic. |
|
|
6659 | common/player.c: When trying to find a skill to use, use a native skill |
|
|
6660 | first before going off and returning a skill object like a talisman. |
|
|
6661 | |
|
|
6662 | MSW 2000/12/4: |
|
|
6663 | common/treasure.c: Make it so resistances from artifact files are absolute |
|
|
6664 | adjustments. |
|
|
6665 | Makefile.in configure configure.in: Fix check for libdes to see if des_crypt |
|
|
6666 | exists in libdes before setting HAVE_LIBDES |
|
|
6667 | crossedit/Makefile.in: Add Cnv/libCnv.a before LIBS - should fix |
|
|
6668 | linking error on irix systems. |
|
|
6669 | utils/metaserver.pl: modified so it ignores entries from hosts that |
|
|
6670 | report their name as put.your.hostname.here |
|
|
6671 | |
|
|
6672 | MSW 2000/12/3: |
|
|
6673 | crossedit/Attr.c: Add the new resist names to set of variables one can set. |
|
|
6674 | |
|
|
6675 | MSW 2000/12/3: |
|
|
6676 | Misc changes. Main one is adding PNG support to the editor. |
|
|
6677 | TODO: Remove outdated things to do (like partial resistance code) |
|
|
6678 | configure, configure.in, include/autoconf.h.in: Add check for libpng. |
|
|
6679 | include/global.h: Remove displaymodes - moved to crossedit/Defines.h |
|
|
6680 | crossedit/App.c, crossedit/App.h crossedit/CrEdit.c crossedit/CrFace.c |
|
|
6681 | crossedit/CrList.c crossedit/CrUtil.c crossedit/Edit.c crossedit/crossedit.c |
|
|
6682 | crossedit/xutil.c, crossedit/png.c (new file): Add support for png display |
|
|
6683 | in crossedit. |
|
|
6684 | crossedit/Makefile.in: Add png.c file. |
|
|
6685 | server/c_misc.c: Change who command to only display real players, and not |
|
|
6686 | players in process of connecting/unconnecting. Also, remove code to display |
|
|
6687 | old sockets, since those are not supported anymore. |
|
|
6688 | |
|
|
6689 | MSW 2000/12/3: |
|
|
6690 | Checking for partial resistance code. Various minor errors also fixed |
|
|
6691 | (compiler warnings, unused variables, Makefile.in changes, etc). |
|
|
6692 | PR code also includes support to send protections to the client. |
|
|
6693 | Files changed: |
|
|
6694 | common/Makefile.in common/button.c common/exp.c |
|
|
6695 | common/friend.c common/holy.c common/info.c common/init.c |
|
|
6696 | common/item.c common/living.c common/loader.c common/loader.l |
|
|
6697 | common/object.c common/player.c common/re-cmp.c |
|
|
6698 | common/readable.c common/treasure.c crossedit/App.c |
|
|
6699 | crossedit/crossedit.c crossedit/proto.h doc/crossfire.doc |
|
|
6700 | include/define.h include/global.h include/libproto.h |
|
|
6701 | include/newclient.h include/newserver.h include/object.h |
|
|
6702 | include/player.h include/sproto.h lib/Makefile.in |
|
|
6703 | lib/archetypes lib/artifacts lib/crossfire.png |
|
|
6704 | lib/crossfire.xbm lib/crossfire.xpm random_maps/rproto.h |
|
|
6705 | random_maps/special.c random_maps/style.c server/Makefile.in |
|
|
6706 | server/apply.c server/attack.c server/c_misc.c |
|
|
6707 | server/c_object.c server/commands.c server/disease.c |
|
|
6708 | server/gods.c server/input.c server/monster.c server/player.c |
|
|
6709 | server/resurrection.c server/rune.c server/spell_effect.c |
|
|
6710 | server/spell_util.c server/swap.c socket/metaserver.c |
|
|
6711 | socket/request.c |
|
|
6712 | Added Files: |
|
|
6713 | include/attack.h |
|
|
6714 | |
|
|
6715 | |
|
|
6716 | ------------------------------------------------------------------------------ |
|
|
6717 | Changes for 0.95.8: |
|
|
6718 | |
|
|
6719 | MSW 2000/11/26: |
|
|
6720 | utils/metaserver.pl (added), utils/Makefile.in: Add metaserver.pl script. |
|
|
6721 | |
|
|
6722 | MSW 2000/11/25: |
|
|
6723 | include/patchlevel.h (removed), doc/spell-docs/Makefile (removed), |
|
|
6724 | include/Makefile.in, include/version.h, server/init.c, server/main.c, |
|
|
6725 | socket/metaserver.c: remove patchlevel.h - include the patchlevel in the |
|
|
6726 | version.h file, update other files to use version as a single string. |
|
|
6727 | |
|
|
6728 | MSW 2000/11/25: |
|
|
6729 | socket/metaserver.c: If on FreeBSD systems, do not attempt to connect to |
|
|
6730 | the metaserve. FreeBSD seems to have a problem using sendto on a connected |
|
|
6731 | soccket. |
|
|
6732 | |
|
|
6733 | MSW 2000/11/25: |
|
|
6734 | configure.in, configure, include/autoconf.h.in, server/main.c: Update |
|
|
6735 | to check for libdes.a and des.h and use those for password decryption - fixes |
|
|
6736 | a problem on freebsd if it is using md5 crypt. Hopefully it doesn't break |
|
|
6737 | anything. main.c was also checking for HAVE_CRYPT_H too early. |
|
|
6738 | include/sproto.h: Needed updating. Unrelated to above changes. |
|
|
6739 | |
|
|
6740 | |
|
|
6741 | MSW 2000/11/22 |
|
|
6742 | server/main.c: Modify enter_exit so that it properly uses per player |
|
|
6743 | unique maps that are only in memory and not on disk. Remove unused |
|
|
6744 | variable from process events (unrelated change). |
|
|
6745 | |
|
|
6746 | PeterM 2000/11/18: |
|
|
6747 | New spells added: |
|
|
6748 | 1) Sanctuary (aura of counterwall) |
|
|
6749 | 2) Peace (make monsters unable to fight) |
|
|
6750 | 3) Spiderweb (create spider webs) |
|
|
6751 | 4) rage (heroism, armour, haste, regenration combined) |
|
|
6752 | 5) forked lightning (lightning which forks and strikes ) |
|
|
6753 | 6) flaming aura (aura of fire) |
|
|
6754 | 7) vitriol combined ball/cone/pool acid attack spell |
|
|
6755 | 8) vitriol splash (spell for internal use only) |
|
|
6756 | 9) ironwood skin (clerical version of armour spell) |
|
|
6757 | |
|
|
6758 | Not implemented: 10) poison fog |
|
|
6759 | |
|
|
6760 | MSW 2000/11/17: |
|
|
6761 | socket/metaserver.c: More changes - use fcntl to set O_NONBLOCK. Don't |
|
|
6762 | close socket if connect fails, since with sendto it is not required |
|
|
6763 | that the connect works. |
|
|
6764 | |
|
|
6765 | PeterM: 2000/11/17 |
|
|
6766 | define.h spells.h spellist.h spell_util.c spell_effect.c: |
|
|
6767 | windstorm spell implemented. |
|
|
6768 | attack.c: saving throw behavior modified. Items take a bit |
|
|
6769 | of DAM to destroy now instead of being destroyed with 1hp attacks. |
|
|
6770 | |
|
|
6771 | MSW: 2000/11/16: |
|
|
6772 | socket/metaserver.c: Add #ifdef MSG_DONTWAIT into metaserver.c for systems |
|
|
6773 | that lack that definition. |
|
|
6774 | random_maps/style.c: alphasort was not properly de-referencing pointers |
|
|
6775 | when doing name comparisons, and thus returned garbage results, |
|
|
6776 | resulting in a crash when entering random maps. This only happens |
|
|
6777 | for systems which lack scandir in normal libraries (like Solaris). |
|
|
6778 | BSDs and linux have scandir built in, and did not have a problem. |
|
|
6779 | server/disease.c: fix infect_object - server would crash if player did |
|
|
6780 | not have praying skill and was infecting someone else. |
|
|
6781 | end of changes, MSW 2000/11/16 |
|
|
6782 | |
|
|
6783 | PeterM : 2000/11/14 |
|
|
6784 | PeterM: Made some changes so that non-disease effects may be done without |
|
|
6785 | being labelled as a disease. Also, fixed a bug in which we'd kill something |
|
|
6786 | and then try to insert something in the killed thing's map. |
|
|
6787 | |
|
|
6788 | |
|
|
6789 | |
|
|
6790 | metaserver update: |
|
|
6791 | common/init.c: Add meta_ fields to settings structure initialization. |
|
|
6792 | include/global.h: Add meta_ fields to settings structure. |
|
|
6793 | include/sockproto.h: Updated for new meta_ functions. |
|
|
6794 | lib/Makefile.in: Have it install settings file. |
|
|
6795 | lib/settings: Default settings file with some metaserver default value.s |
|
|
6796 | server/init.c: Add load_settings file. Add call to metaserver_init. |
|
|
6797 | server/main.c: Add call to metaserver_update in do_specials. |
|
|
6798 | socket/Makefile.in: Add metaserver.c to list of files. |
|
|
6799 | socket/metaserver.c: File that deals with metaserver related data. |
|
|
6800 | socket/item.c: Remove some unused variables. Unrelated to metaserver changes. |
|
|
6801 | socket/loop.c: Add calls to metaserver_update in block_until_new)connection. Change |
|
|
6802 | function so that if there are no active players, it still timeouts and |
|
|
6803 | does metaserver update. Basically changed to do it the way the |
|
|
6804 | WATCHDOG code did it. |
|
|
6805 | End of metaserver update. MSW 2000-11-13 |
|
|
6806 | |
|
|
6807 | server/player.c: removed unused tmp2 variable from move_player_attack. |
|
|
6808 | modify depletion in kill_player so the maximum depletion for a stat is -50. This |
|
|
6809 | should preven stat wrapping from -126 to 127. MSW 2000-11-08 |
|
|
6810 | |
|
|
6811 | ============================================================================== |
|
|
6812 | MSW 2000-11-07 |
|
|
6813 | common/item.c: query_base_name was not return plural version of items |
|
|
6814 | with 'of' in name. Also, much of the function was not using safe_strcat, |
|
|
6815 | which could result in buffer overlow problems. |
|
|
6816 | |
|
|
6817 | common/object.c: Change update_position so that we always generate |
|
|
6818 | 3 images per space. This fixes players standing on top of dragon transports, |
|
|
6819 | but generally works for things like monsters standing on objects. |
|
|
6820 | insert_ob_in_map: change 'return' statement to 'return NULL'. Also |
|
|
6821 | remove unused map pointer. |
|
|
6822 | decrease_ob_nr: Fix bug for client updates when player drops item that |
|
|
6823 | is then consume. It was using op->above after object was removed to |
|
|
6824 | find the player. Store above pointer before we remove the object. |
|
|
6825 | |
|
|
6826 | socket/item.c: Don't terminate pointer as returned by query_base_name - |
|
|
6827 | instead, terminator buffer after we copy it. For simple object, |
|
|
6828 | query_base_name may directly return a pointer to the objects name |
|
|
6829 | which is only long enough to hold the name itself. |
|
|
6830 | |
|
|
6831 | socket/lowlevel.c: Abort if we are trying to send the client a packet |
|
|
6832 | longer than supported by the protocol. Since that buffer is static, |
|
|
6833 | overflowing it will just create memory corruption - easier to stop |
|
|
6834 | then than try and debug it later. |
|
|
6835 | |
|
|
6836 | End of MSW checkin 2000-11-7 |
|
|
6837 | ============================================================================== |
|
|
6838 | |
|
|
6839 | |
|
|
6840 | PeterM: 2000-11-06 |
|
|
6841 | server/spell_util.c crash bug removed from move ball lightning: |
|
|
6842 | ball lightning mover improved in general. --PeterM |
|
|
6843 | |
|
|
6844 | -------------------------------------------- |
|
|
6845 | --- BEGIN stop_item() / attack fix patch --- Jan Echternach 2000-11-06 |
|
|
6846 | -------------------------------------------- |
|
|
6847 | |
|
|
6848 | Summary of this patch: Provide new stop_item() function for properly |
|
|
6849 | handling "moving" items on a map (flying arrows, thrown objects, |
|
|
6850 | active cones); obsoletes the workarounds. Fix some attack bugs (with |
|
|
6851 | possible server crashes) - many attackers attacked while being |
|
|
6852 | removed, even though much code could only handle the attacker being on |
|
|
6853 | the same map as the victim (not even the attacker being in the |
|
|
6854 | victim's inventory, e.g. poison). |
|
|
6855 | |
|
|
6856 | common/object.c: insert_ob_in_map(): Call check_walk_on() after |
|
|
6857 | update_object() because the latter needs to update some very |
|
|
6858 | important flags used by a lot of code before this code is called |
|
|
6859 | by check_walk_on(). |
|
|
6860 | |
|
|
6861 | common/object.c: get_split_ob(): Completed support for splitting |
|
|
6862 | removed objects. |
|
|
6863 | |
|
|
6864 | common/object.c: decrease_ob_nr(): Rewrote this function: Added |
|
|
6865 | support for removed objects. Removing an object completely didn't |
|
|
6866 | always update the environment's weight properly. Removing an amount |
|
|
6867 | of 0 from an object with nrof == 0 destroyed the object. Improved |
|
|
6868 | performance a bit (don't need to update the player's weight if an |
|
|
6869 | object below the player is modified). |
|
|
6870 | |
|
|
6871 | server/apply.c: move_apply(): Added recursion limit. |
|
|
6872 | |
|
|
6873 | server/apply.c: move_apply(): THROWN_OBJ and ARROW: Use new |
|
|
6874 | hit_with_arrow() function. |
|
|
6875 | |
|
|
6876 | server/apply.c: move_apply(): FBULLET and BULLET: Call |
|
|
6877 | check_fired_arch() only when the victim blocks the square (FLAG_NO_PASS |
|
|
6878 | or FLAG_ALIVE). |
|
|
6879 | |
|
|
6880 | server/attack.c: save_throw_object(): Use new stop_item() function |
|
|
6881 | before trying to modify an object. Added originator to all |
|
|
6882 | insert_ob_in_map() calls. |
|
|
6883 | |
|
|
6884 | server/attack.c: hit_map(): Added log message if the hitter is not on |
|
|
6885 | a map. Added was_destroyed() check after calling save_throw_object(). |
|
|
6886 | |
|
|
6887 | server/attack.c: get_attack_mode() and abort_attack(): New functions |
|
|
6888 | to determine the type of attack (simple or full attack). |
|
|
6889 | |
|
|
6890 | server/attack.c: attack_ob(): Now only attack_ob_simple() with default |
|
|
6891 | damage and weapon class values. |
|
|
6892 | |
|
|
6893 | server/attack.c: attack_ob_simple(): Contains most of old attack_ob(), |
|
|
6894 | but takes damage and weapon class as parameters, needed for |
|
|
6895 | hit_with_arrow(). Uses get_attack_mode() and abort_attack() to |
|
|
6896 | support new "simple" attack mode. |
|
|
6897 | |
|
|
6898 | server/attack.c: stick_arrow() and hit_with_arrow(): Moved those parts |
|
|
6899 | of old stop_arrow() and move_arrow() that dealt with attacking a |
|
|
6900 | victim over here. |
|
|
6901 | |
|
|
6902 | server/attack.c: hit_player(): Uses get_attack_mode() and |
|
|
6903 | abort_attack() to support new "simple" attack mode. |
|
|
6904 | |
|
|
6905 | server/attack.c: paralyze_player(): Use insert_ob_in_map_simple() |
|
|
6906 | instead of insert_ob_in_map() because the callers are not prepared for |
|
|
6907 | this function triggering any complex machinery, and |
|
|
6908 | insert_ob_in_map_simple() should be enough for plain visual effects. |
|
|
6909 | |
|
|
6910 | server/attack.c: thrown_item_effect(): Don't need to deal with thrown |
|
|
6911 | objects, hit_with_arrow() already does everything necessary. |
|
|
6912 | |
|
|
6913 | server/attack.c: adj_attackroll(): Added log message if hitter and |
|
|
6914 | victim are not on the same map. |
|
|
6915 | |
|
|
6916 | server/c_object.c: Fixed two typos in "can't pick up xxx" messages. |
|
|
6917 | |
|
|
6918 | server/c_object.c: pick_up_object(): Removed can_pick() check because |
|
|
6919 | pick_up() already checks this. Added support for picking up removed |
|
|
6920 | objects because the stop_item() in pick_up() can now call us with |
|
|
6921 | removed objects. Moved FLAG_STARTEQUIP check to pick_up(). Fixed |
|
|
6922 | weight limit lookup for monsters that have strength > MAX_STAT. |
|
|
6923 | |
|
|
6924 | server/c_object.c: pick_up(): Use new stop_item() function. |
|
|
6925 | |
|
|
6926 | server/player.c: fire_bow() and server/skills.c: do_throw(): Removed |
|
|
6927 | FLAG_NO_PICK workaround for flying objects. stop_item() now handles |
|
|
6928 | this correctly. |
|
|
6929 | |
|
|
6930 | server/rune.c: spring_trap(): Fix unlimited trap recursion. Since |
|
|
6931 | traps are triggered by move_apply(), the result of triggering a trap |
|
|
6932 | may trigger the trap again before it is deactivated. |
|
|
6933 | |
|
|
6934 | server/rune.c: spring_trap(): Runes that don't cast spells can only be |
|
|
6935 | triggered by living objects. |
|
|
6936 | |
|
|
6937 | server/spell_effect.c: move_cancellation(): Don't call hit_map() with |
|
|
6938 | a removed attacker. |
|
|
6939 | |
|
|
6940 | server/spell_util.c: cast_cone(): Only print warning message about |
|
|
6941 | cones that don't have FLAG_FLY/WALK_ON if the cone does any damage. |
|
|
6942 | |
|
|
6943 | server/spell_util.c: move_cone(): Removed workaround for cones in ice |
|
|
6944 | cubes. stop_item() now handles this correctly. |
|
|
6945 | |
|
|
6946 | server/spell_util.c: explode_object(): Rewrote this function: New |
|
|
6947 | interface - exploding object must not be removed when the function is |
|
|
6948 | called, it must have an other_arch (i.e. it must be able to explode), |
|
|
6949 | and it will be gone for sure when the function terminates. Removed |
|
|
6950 | some code with no effect. Don't call any attack functions with |
|
|
6951 | removed attackers. |
|
|
6952 | |
|
|
6953 | server/spell_util.c: check_fired_arch(): Rewrote this function. |
|
|
6954 | |
|
|
6955 | server/spell_util.c: move_fired_arch(): Rewrote most of this function: |
|
|
6956 | Don't attack with removed attackers. Call check_fired_arch() instead |
|
|
6957 | of duplicating its code. |
|
|
6958 | |
|
|
6959 | server/spell_util.c: move_ball_lightning(): Don't attack with removed |
|
|
6960 | attackers. Rewrote the movement algorithm to simplify this task. |
|
|
6961 | |
|
|
6962 | server/time.c: stop_item() and fix_stopped_item: New functions. |
|
|
6963 | |
|
|
6964 | server/time.c: fix_stopped_arrow(): Contains most of the old |
|
|
6965 | stop_arrow() function. Unlike stop_arrow(), it takes an arrow that is |
|
|
6966 | not removed. Removed FLACK_NO_PICK workaround. |
|
|
6967 | |
|
|
6968 | server/time.c: stop_arrow(): Stops arrows and thrown objects and puts |
|
|
6969 | them on the map. Sticking objects into targets is no longer handled |
|
|
6970 | by stop_arrow(), but by hit_with_arrow(). |
|
|
6971 | |
|
|
6972 | server/time.c: move_arrow(): Don't attack with removed attackers. |
|
|
6973 | |
|
|
6974 | socket/item.c: esrv_move_object(): Removed misleading comment. |
|
|
6975 | |
|
|
6976 | ------------------------------------------ |
|
|
6977 | --- END stop_item() / attack fix patch --- Jan Echternach 2000-11-06 |
|
|
6978 | ------------------------------------------ |
|
|
6979 | |
|
|
6980 | server/time.c: Add call to esrv_update_item to update the face for |
|
|
6981 | the client after the player chooses a class. MSW 11/3/2000 |
|
|
6982 | |
|
|
6983 | server/c_object.c, socket/item.c: Fixed for long item support. pick_up_object |
|
|
6984 | in c_object was overwriting a fixed length string, causing server crashes. |
|
|
6985 | item.c was not properly terminating plural version of object name, resulting |
|
|
6986 | in corrupt packets being sent to the client. MSW 11/2/2000 |
|
|
6987 | |
|
|
6988 | PeterM: |
|
|
6989 | ball lightning made stronger, strikes larger area, never |
|
|
6990 | hits player. |
|
|
6991 | divine shock spell added. |
|
|
6992 | |
|
|
6993 | include/sproto.h: Removed prototype of obsolete make_gravestone() |
|
|
6994 | function. |
|
|
6995 | server/apply.c: Put back gravestone_text() function that was removed |
|
|
6996 | accidently a while ago, needed by NOT_PERMADEATH. |
|
|
6997 | server/player.c: Don't use the dead player as the originator of object |
|
|
6998 | movements. Fixed string handling for NOT_PERMADEATH. |
|
|
6999 | - Jan Echternach 10/30/2000 |
|
|
7000 | |
|
|
7001 | |
|
|
7002 | Major race/class change by PeterM: |
|
|
7003 | BEGIN: |
|
|
7004 | ***************** |
|
|
7005 | apply.c: new function, apply changes to player. If the change is a CLASS, |
|
|
7006 | player receives certain attributes from the class. |
|
|
7007 | |
|
|
7008 | login.c: make sure people using the old race/class archetypes in their |
|
|
7009 | player files can still use them. |
|
|
7010 | |
|
|
7011 | player.c: |
|
|
7012 | 1) give_initial_items modified for greater flexibility: you |
|
|
7013 | can pass in a treasurelist. |
|
|
7014 | 2) Also, initial forces are applied to the player. |
|
|
7015 | 3) Comment added on the stat roll function. |
|
|
7016 | 4) Word of recall into the new class-choice map (unfortunately hard-wired.) for newly-rolled players. |
|
|
7017 | 5) gen_sp and gen_hp and gen_grace now allowed to go negative to slow down player |
|
|
7018 | regen. |
|
|
7019 | |
|
|
7020 | skill_util.c |
|
|
7021 | 1) Don't give out basic skills anymore. This interferes with the class code. |
|
|
7022 | |
|
|
7023 | spell_util.c |
|
|
7024 | 1) Praying failures moderated in frequency. |
|
|
7025 | 2) Summoned creatures enhanced in wc, speed, depending on casting level. |
|
|
7026 | 3) Word of recall allowed to work in no-magic areas if a flag is set. |
|
|
7027 | |
|
|
7028 | time.c |
|
|
7029 | 1) Move player changer function added. |
|
|
7030 | 2) Marker object expiration added. |
|
|
7031 | |
|
|
7032 | living.c: cleric fail chance array modified. |
|
|
7033 | |
|
|
7034 | map.c: bugfix for random map/recycle tmp map problem. |
|
|
7035 | |
|
|
7036 | define.h: defines added for playerchangers and class types |
|
|
7037 | base 10 numbers added for the spell paths. |
|
|
7038 | |
|
|
7039 | spellist.h: fixed up summoning spells a little |
|
|
7040 | |
|
|
7041 | sproto.h: new prototypes |
|
|
7042 | |
|
|
7043 | config.h: hate RECYCLE_TMP_MAPS, turned it off |
|
|
7044 | |
|
|
7045 | maps/HallOfSelection: new map for class choice. |
|
|
7046 | |
|
|
7047 | lib/treasures: classs/race stuff heavily modified |
|
|
7048 | lib/archetypes, animation, bmaps, bmaps.paths, crossfire.png faces |
|
|
7049 | crossfire.xbm New faces, etc. |
|
|
7050 | |
|
|
7051 | END race/class stuff 10/16/2000 |
|
|
7052 | apply.c: bugfix for random map/recycle tmp maps interaction. --PeterM 10/16/200 |
|
|
7053 | |
|
|
7054 | include/skill* server/skill_util.c: levitation skill added. |
|
|
7055 | 9/26/2000. --PeterM |
|
|
7056 | |
|
|
7057 | common/map.c server/apply.c: Fix an interaction between |
|
|
7058 | RECYCLE_TMP_MAPS and random maps which would cause crashing. |
|
|
7059 | peterm: 10/12/2000 |
|
|
7060 | |
|
|
7061 | disease.c spell_effect.c: peterm: 10/5/2000 |
|
|
7062 | 1) Diseases moderated in power by ~1/2 and randomized. |
|
|
7063 | Now monsters can have a mild/moderate/serious/fatal case |
|
|
7064 | of a particular disease. |
|
|
7065 | 2) cause disease spells modified to NOT go through objects |
|
|
7066 | spells ordinarily couldn't go through. |
|
|
7067 | |
|
|
7068 | ------------------------------------------------------------------------------ |
|
|
7069 | |
|
|
7070 | Changes for 0.95.7: |
|
|
7071 | |
|
|
7072 | README: Add crossfire.csua.berkeley.edu server. |
|
|
7073 | TODO: Remove entry about setable behaviour for keyrings, since that has now |
|
|
7074 | been done. |
|
|
7075 | include/patchlevel.h, Makefile.in: Update for 0.95.7 MSW 9/20/2000 |
|
|
7076 | |
|
|
7077 | lib/maps: got rid of the stuff that was there. Useless stuff. |
|
|
7078 | the maps dist. is the thing to use. --PeterM |
|
|
7079 | |
|
|
7080 | |
|
|
7081 | common/living.c, server/skill_util.c: Patches by Garth Denley: |
|
|
7082 | Fixes divide by zero crash, sets up perm exp when a new player is loaded, |
|
|
7083 | seperates permanent exp code/calculations into another function. |
|
|
7084 | checked in by MSW, 8/24/2000 |
|
|
7085 | |
|
|
7086 | lib/crossfire.png: ground/sea*png - remove transperancies from png images |
|
|
7087 | since they should not be transparent. MSW 8/23/2000 |
|
|
7088 | |
|
|
7089 | doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify |
|
|
7090 | to make gif images from png source instead of xpm images. A valid question |
|
|
7091 | to ask is why convert to gif at all and not just keep in PNG format. The |
|
|
7092 | answer right now is that png support in netscape at least still is not very |
|
|
7093 | good, and it displays gifs better. MSW 8/8/2000 |
|
|
7094 | |
|
|
7095 | Add/Remove some LOG calls: |
|
|
7096 | common/living.c: Remove log messages about gen_sp values on armor |
|
|
7097 | server/login.c, server/main.c: Add messages about player logins/logouts with |
|
|
7098 | IP address. Useful for tracking potentially troublesome players and where |
|
|
7099 | they are player from. MSW 8/7/2000 |
|
|
7100 | |
|
|
7101 | The following change basically does the following: When the server sends an |
|
|
7102 | item name to the client, this item name is now two pieces - the first piece |
|
|
7103 | of the name is its singular form, the second piece is the plural name. This |
|
|
7104 | now makes items in the inventory appear more proper in terms of pluralization |
|
|
7105 | and just normal English. I did notice that the server does not know how |
|
|
7106 | to properly make 'torch' plural - it turns it into torchs. A matching |
|
|
7107 | check in for the client has also been done. |
|
|
7108 | include/newserver.h: Update VERSION_SC to 1024 |
|
|
7109 | common/item.c: Change query_base_name to take a second option on whether |
|
|
7110 | we should generate a plural version of the name or not. |
|
|
7111 | socket/item.c: Modify functions to use second argument on the query_base_name |
|
|
7112 | function. Update item commands to send two part names (singular & plural). |
|
|
7113 | Modify esrv_send_look to use item1 protocol command instead of item command. |
|
|
7114 | server/c_object.c: Update item_matched_string to use second option to |
|
|
7115 | query_base_name. Modify function to check against both singular and |
|
|
7116 | plural versions of name. |
|
|
7117 | server/shop.c: Modify shop_listing command usage in query_basename to use |
|
|
7118 | second option. It will also generate the singular name, but that is only |
|
|
7119 | used on sorting, so I don't think it will generally cause any problems. |
|
|
7120 | include/libproto.h: rebuilt because query_base_name has an addition opt. |
|
|
7121 | Mark Wedel 8/6/2000 |
|
|
7122 | |
|
|
7123 | include/config.h, include/global.h, common/init.c, common/living.c, |
|
|
7124 | server/init.c, server/player.c, server/skill_util.c: Add permanent |
|
|
7125 | experience and balanced stat loss features (code by Garth Denley). |
|
|
7126 | Permanent experience make some experience in the skills permanent. Balance |
|
|
7127 | stat loss makes stat loss less likely/costly at low level and more costly |
|
|
7128 | at higher levels. These features are by default off, but can be turned |
|
|
7129 | on either in the config.h file or via command line options. Code checked |
|
|
7130 | in by MSW 8/1/2000 |
|
|
7131 | |
|
|
7132 | server/time.c: Update the change_object function such that if the object |
|
|
7133 | is in a players inventory, send a delete & send_item for the object that |
|
|
7134 | has changed (the delete + send_item is necessary due to the ways objects |
|
|
7135 | change, so we just can't sent a update_item). This fixes the 'torches |
|
|
7136 | go dim & then out but client inventory not updated' bug, and likely fixes |
|
|
7137 | some other problems - I am not sure how many other objects out there |
|
|
7138 | change. MSW 7/28/2000 |
|
|
7139 | |
|
|
7140 | random_maps/treasure.c: potential crash bug fixed. Only applied |
|
|
7141 | when a bad archetype was given as a wallstyle. I will also put |
|
|
7142 | in a redundant archetypes fix. --PeterM 7/26/00 |
|
|
7143 | |
|
|
7144 | lib/adm/map_info, lib/adm/map_check: Update to use new layout of installed |
|
|
7145 | files (share/crossfire), know about random exits (it doesn't do any checking |
|
|
7146 | to make sure the values are sane, which it probably should, but at least it |
|
|
7147 | won't complain about them), update to use /usr/bin/perl. MSW 7/25/2000 |
|
|
7148 | |
|
|
7149 | server/resurrection.c |
|
|
7150 | include/spellist.h: PeterM: fixed a few unintended things about |
|
|
7151 | resurrection: experience removal was wrong, spellpoints/levels |
|
|
7152 | changed. --PetrM |
|
|
7153 | |
|
|
7154 | lib/archetypes: Update to keep in sync with arch tree. Changes to |
|
|
7155 | about a dozen arch's to remove the 'a' in their name. MSW 6/27/2000 |
|
|
7156 | |
|
|
7157 | server/c_object.c: Fix command_drop which was doing incorrect check for |
|
|
7158 | invisible object - it was supposed to skip over them and only do visible |
|
|
7159 | objects, instead it was doing the reverse. Fixes the 'drop command. |
|
|
7160 | MSW 6/27/2000 |
|
|
7161 | |
|
|
7162 | server/input.c: Make the inventory command more robust for very long |
|
|
7163 | object names - specify a maximum number of characters we will take from |
|
|
7164 | the name. Without this, you could get buffer overruns that cause crashes. |
|
|
7165 | No normally generated items would ever likely have names long enough to |
|
|
7166 | exploit this bug however. MSW 6/27/2000 |
|
|
7167 | |
|
|
7168 | INSTALL, README: Update mailing address to real-time address. MSW 6/27/2000 |
|
|
7169 | |
|
|
7170 | server/login.c: Load and save usekeys value in player save file. MSW 6/27/2000 |
|
|
7171 | |
|
|
7172 | Patch by Jeffry Hantin which fixes glow objects in map. |
|
|
7173 | insert_ob_in_map_simple now will call the appropriate light updating code. |
|
|
7174 | Applied by MSW 6/26/2000 |
|
|
7175 | |
|
|
7176 | server/player.c: check_pick(): Rewrite of this function to consistently |
|
|
7177 | skip items that can't be picked up, and to only use a single loop over all |
|
|
7178 | items on the map square. - Jan Echternach 6/23/2000 |
|
|
7179 | |
|
|
7180 | ------------------------------------------------------------------------------ |
|
|
7181 | Changes for 0.95.6: |
|
|
7182 | |
|
|
7183 | server/monster.c: Patch by Neil Muller so that corrupt/bad @match entries |
|
|
7184 | will not cause the server to crash. Applied by MSW 6/21/2000 |
|
|
7185 | |
|
|
7186 | lib/archetypes: rebuilt for 0.95.6 |
|
|
7187 | lib/collect.pl: Modify to search the archetypes directories in alphabetical |
|
|
7188 | order - before I believe they were collected in basically inode order. |
|
|
7189 | This should make it easier to multiple people to run the collect script |
|
|
7190 | not have basically an entirely new archetyeps file. MSW 6/21/2000 |
|
|
7191 | |
|
|
7192 | server/commands.c; server/c_object.c: dump_object_from_tag(): Removed |
|
|
7193 | broken command. Fixes server crashes very easily triggered by players. |
|
|
7194 | - Jan Echternach 6/21/2000 |
|
|
7195 | |
|
|
7196 | server/attack.c: deathstrike_player(): Check for def_lev == 0 very early |
|
|
7197 | (and print error message if we find such an invalid level). Should fix |
|
|
7198 | server crash in case archetypes or maps get broken again in that an |
|
|
7199 | alive object has level < 1. - Jan Echternach 6/21/2000 |
|
|
7200 | |
|
|
7201 | Makefile.in: Update version to 0.95.6 |
|
|
7202 | include/patchlevel.h: Update to .6 for 0.95.6 release |
|
|
7203 | common/porting.c, include/config.h, include/loader.h, include/skills.h, |
|
|
7204 | include/spells.h, include/treasure.h, include/version.h, random_maps/style.c: |
|
|
7205 | Update my mail address and copyright date. Mostly committed to sync |
|
|
7206 | up my data with the CVS repository - MSW 6/20/2000 |
|
|
7207 | |
|
|
7208 | random_maps/treasure.c server/apply.c: made containers able to |
|
|
7209 | have more than one treasure in them, made a fix to treasure.c, which would |
|
|
7210 | change the options given to it in an unintended way. --PeterM 6/20/2000 |
|
|
7211 | |
|
|
7212 | |
|
|
7213 | common/living.c: fix_player(): Bugfix: Don't reset FLAG_FLYING, |
|
|
7214 | FLAG_REFL_SPELL, FLAG_REFL_MISSILE and FLAG_SEE_IN_DARK if the archetype |
|
|
7215 | has these flags. - Jan Echternach 6/19/2000 |
|
|
7216 | |
|
|
7217 | |
|
|
7218 | random_maps/* Numerous changes improving random maps, including |
|
|
7219 | two crash-fixes, a new type of 'special', ability to copy inventory |
|
|
7220 | of monsters when putting them into maps... --PeterM 6/19/2000 |
|
|
7221 | |
|
|
7222 | New naming scheme for random maps: they won't grow in size |
|
|
7223 | indefinitely anymore. --PeterM 6/17/2000 |
|
|
7224 | |
|
|
7225 | server/input.c: command_cast_spell(): Bugfix: Call check_skill_to_fire() |
|
|
7226 | even for wizards because this function has the important side effect |
|
|
7227 | of setting the current skill and experience objects. |
|
|
7228 | - Jan Echternach 6/19/2000 |
|
|
7229 | |
|
|
7230 | server/apply.c: apply_treasure(): Bugfix: We need to trigger runes as |
|
|
7231 | they are found in the treasure chest, because move_rune() will no longer |
|
|
7232 | trigger them for us. - Jan Echternach 6/18/2000 |
|
|
7233 | |
|
|
7234 | Updated the INSTALL directions. MSW 6/16/2000 |
|
|
7235 | |
|
|
7236 | Modified the editor to make certain objects (teleporters, creators, |
|
|
7237 | markers) more easily editable. --PeterM 6/16/2000 |
|
|
7238 | |
|
|
7239 | Modifed how firewalls worked. They can now be triggered by |
|
|
7240 | handles as well as turned. Ones which are turned by handles |
|
|
7241 | cannot be triggered by handles. PeterM 6/15/2000 |
|
|
7242 | |
|
|
7243 | fixes to random_maps: |
|
|
7244 | exit.c: won't crash if named final_map doesn't exist |
|
|
7245 | room_gen_onion.c: reordered the options more sanely |
|
|
7246 | special.c: fixed a crash-bug: nuke_map would nuke parts of monsters, but |
|
|
7247 | not the whole monster. --PeterM |
|
|
7248 | |
|
|
7249 | server/skill_util.c: Fix type in change_skill - was doing an == operation |
|
|
7250 | when it should just have been an =. MSW 6/13/2000 |
|
|
7251 | |
|
|
7252 | common/anim.c: animation_object() - return if object does not have a valid |
|
|
7253 | animation after logging error. Before, we logged the error and would |
|
|
7254 | promptly crash. MSW 6/13/2000 |
|
|
7255 | |
|
|
7256 | server/apply.c: apply_treasure(): Bugfix: Set FLAG_NO_APPLY before |
|
|
7257 | moving object to the top. - Jan Echternach 6/13/2000 |
|
|
7258 | |
|
|
7259 | server/time.c: move_marker(): Bugfix: Call update_ob_speed() after |
|
|
7260 | changing force->speed. - Jan Echternach 6/13/2000 |
|
|
7261 | |
|
|
7262 | server/spell_util.c: move_swarm_spell(): Improved distribution of |
|
|
7263 | fired objects. Fixed starting position of fired objects to be able to |
|
|
7264 | hit targets immediately in front the caster. - Patch by Jeffrey Hantin, |
|
|
7265 | applied by Jan Echternach 6/13/2000 |
|
|
7266 | |
|
|
7267 | server/disease.c, sproto.h, rune.c Fixes from jhantin@derringer.net for diseases: |
|
|
7268 | Reversed strstr calls, force argument added to infect_object, |
|
|
7269 | diseases in immune carrier last forever, needles use infect object, |
|
|
7270 | cast_cause_disease won't fail. --PeterM 6/9/2000 |
|
|
7271 | |
|
|
7272 | common/loader.l: Fix handling of objects with no animation. Fixes server |
|
|
7273 | crash if object's archetype has an animation, but object doesn't. |
|
|
7274 | - Jan Echternach 6/9/2000 |
|
|
7275 | |
|
|
7276 | common/loader.l: get_ob_diff(): Bugfix: Issue a "is_animated 0" line |
|
|
7277 | if the object has an animation, but doesn't have FLAG_ANIMATE. |
|
|
7278 | - Jan Echternach 6/9/2000 |
|
|
7279 | |
|
|
7280 | server/apply.c: manual_apply() and monster_apply_special(): Don't check |
|
|
7281 | for FLAG_UNPAID if object is applied. This should make the code more |
|
|
7282 | robust if an unpaid item get's applied accidently. |
|
|
7283 | - Jan Echternach 6/9/2000 |
|
|
7284 | |
|
|
7285 | server/apply.c: apply_special(): New optional flags AP_NO_MERGE and |
|
|
7286 | AP_IGNORE_CURSE. - Jan Echternach 6/9/2000 |
|
|
7287 | |
|
|
7288 | server/monster.c: find_mon_throw_ob(); server/skills.c: find_throw_ob(): |
|
|
7289 | Bugfix: Use AP_NO_MERGE flag to prevent unapplied object be merged with |
|
|
7290 | other objects. - Jan Echternach 6/9/2000 |
|
|
7291 | |
|
|
7292 | server/spell_effect.c: animate_weapon: Bugfixes: Correctly unapply |
|
|
7293 | weapon. Don't set FLAG_APPLIED directly on weapon in golem, but use |
|
|
7294 | apply_special(). Don't call esrv_send_item() when caster is not a player |
|
|
7295 | (fixes server crash if monster casts this spell). |
|
|
7296 | - Jan Echternach 6/9/2000 |
|
|
7297 | |
|
|
7298 | random_map/<various> Fixes in the map code for various things, including: |
|
|
7299 | 1) crash bug on |
|
|
7300 | multi-square monsters. 2) no treasures in final_map, 3) new feature of doing |
|
|
7301 | walls only, .... --PeterM 6/9/2000: |
|
|
7302 | |
|
|
7303 | common/button.c: do_mood_floor(): Bugfixes: Only players can have pets. |
|
|
7304 | Call add_friendly_object() for friendly monsters. |
|
|
7305 | - Jan Echternach 6/8/2000 |
|
|
7306 | |
|
|
7307 | server/spell_effect.c and server/spell_util.c: Several functions: Only |
|
|
7308 | add a pet if there really is a pet's owner, and it's a player. |
|
|
7309 | - Jan Echternach 6/8/2000 |
|
|
7310 | |
|
|
7311 | server/spell_effect.c: cast_charm() and cast_charm_undead(): Bugfixes: |
|
|
7312 | Only players can cast these spells. This fixes server crash if |
|
|
7313 | a monster casted a charm spell, and the charmed pet was killed. |
|
|
7314 | Call add_friendly_object for friendly monsters. |
|
|
7315 | - Jan Echternach 6/8/2000 |
|
|
7316 | |
|
|
7317 | common/friend.c: remove_friendly_object(): Use llevError for error |
|
|
7318 | messages. - Jan Echternach 6/8/2000 |
|
|
7319 | |
|
|
7320 | common/living.c: fix_player(); server/gods.c: tailor_god_spell(); |
|
|
7321 | server/spell_effect.c: summon_avatar() and animate_weapon(): Bugfix: Set |
|
|
7322 | a string to NULL after calling free_string(). This fixes a nasty bug |
|
|
7323 | that caused the string's reference count drop below 0, which resulted |
|
|
7324 | in corruption of malloc()'s internal data structures (and possibly |
|
|
7325 | server crashes). - Jan Echternach 6/8/2000 |
|
|
7326 | |
|
|
7327 | server/time.c: move_creator(): Bugfix: Call free_string() to free old |
|
|
7328 | values of op->name and op->title before overwriting them with new values. |
|
|
7329 | - Jan Echternach 6/8/2000 |
|
|
7330 | |
|
|
7331 | common/object.c: insert_ob_in_map_simple() and insert_ob_in_map(): |
|
|
7332 | Check that we don't insert freed objects. - Jan Echternach 6/8/2000 |
|
|
7333 | |
|
|
7334 | server/attack.c: hit_player_attacktype() and hit_player(): Bugfix: Check |
|
|
7335 | that find_god() really found a god, and that 'god->slaying' is not NULL. |
|
|
7336 | Fixes crash if a monster casted turn undead and actually hit something. |
|
|
7337 | - Jan Echternach 6/8/2000 |
|
|
7338 | |
|
|
7339 | server/attack.c: hit_player(): Check that a pet's owner is a player. |
|
|
7340 | Prevents server crashes if a monster has a pet monster due to a bug |
|
|
7341 | somewhere. Use llevError for error message. - Jan Echternach 6/8/2000 |
|
|
7342 | |
|
|
7343 | server/time.c: move_arrow(): Use llevDebug level for "Arrow had no |
|
|
7344 | map" message. - Jan Echternach 6/8/2000 |
|
|
7345 | |
|
|
7346 | server/c_object.c, server/spell_effect.c, server/spell_util.c: Bugfixes: |
|
|
7347 | Added some missing checks for destroyed objects. Use was_destroyed() |
|
|
7348 | or return value of insert_ob_in_map() to check for destroyed objects, |
|
|
7349 | not FLAG_FREED or FLAG_REMOVED. Don't use op->count of destroyed objects. |
|
|
7350 | - Jan Echternach 6/8/2000 |
|
|
7351 | |
|
|
7352 | server/shop.c: get_payment2(): Type of tag is 'tag_t', not 'long'. |
|
|
7353 | - Jan Echternach 6/8/2000 |
|
|
7354 | |
|
|
7355 | server/spell_effect.c: animate_bomb(): Fix environment checks. |
|
|
7356 | - Jan Echternach 6/8/2000 |
|
|
7357 | |
|
|
7358 | server/spell_util.c: fire_bolt(): Bugfix: Set level of bolt. |
|
|
7359 | - Jan Echternach 6/8/2000 |
|
|
7360 | |
|
|
7361 | server/spell_util.c: explosion(): Bugfix: Set FLAG_NO_APPLY before |
|
|
7362 | moving the exploding object to the top. - Jan Echternach 6/8/2000 |
|
|
7363 | |
|
|
7364 | server/spell_util.c: put_a_monster(): First create the monster |
|
|
7365 | completely, then just insert its head. - Jan Echternach 6/8/2000 |
|
|
7366 | |
|
|
7367 | server/time.c: generate_monster(): Bugfix: Don't free generators that |
|
|
7368 | are used up in this function. process_object() already does this. |
|
|
7369 | This fixes steambolt (which is a generator but must not used up here - |
|
|
7370 | generate_monster() wasn't looking at FLAG_IS_USED_UP) and all generators |
|
|
7371 | which should really be used up (because process_object() didn't expect |
|
|
7372 | generate_monster() to destroy the object). - Jan Echternach 6/8/2000 |
|
|
7373 | |
|
|
7374 | server/rune.c: trap_disarm(): Bugfix: Use SK_level() to determine |
|
|
7375 | disarmer's level. Fixes server crash if multisquare monster casts |
|
|
7376 | "disarm". - Jan Echternach 6/8/2000 |
|
|
7377 | |
|
|
7378 | server/attack.c: hit_map(): Use was_destroyed() to properly check for |
|
|
7379 | destroyed next object. Use llevError for error messages. Skip all |
|
|
7380 | objects that are (no longer) at the specified map position. |
|
|
7381 | - Jan Echternach 6/8/2000 |
|
|
7382 | |
|
|
7383 | server/map.h server/main.c Increased buffer sizes for map paths. |
|
|
7384 | Needed for random map code. --PeterM 6/6/2000 |
|
|
7385 | |
|
|
7386 | 6/4/2000: Fix done to disease.c which causes diseases to |
|
|
7387 | put experience into the appropriate category. --PeterM |
|
|
7388 | |
|
|
7389 | 6/4/2000: Added race fields to a lot of monsters. Modified |
|
|
7390 | disease arcs so that they'll be specific to races. Changed |
|
|
7391 | include/spellist.h to re-enable the disease spells. --PeterM |
|
|
7392 | |
|
|
7393 | 6/4/2000 (disease.c) Added a self-limiting parameter to diseases so |
|
|
7394 | that their power can be tuned to be reasonable. --PeterM |
|
|
7395 | |
|
|
7396 | lib/crossfire.png: Some floors modified to no longer have transperencies. |
|
|
7397 | include/newserver.h: Add Send_Face_Png made, also update versions of |
|
|
7398 | the protocol |
|
|
7399 | include/newclient.h: Add CF_FACE_PNG constant. |
|
|
7400 | socket/request.c: Add support for receiving PNG facemode request, |
|
|
7401 | ad final logic to send png images to the client. |
|
|
7402 | Changes by Mark Wedel, 6/2/2000 |
|
|
7403 | |
|
|
7404 | lib/checkarch.pl: Check for archetypes with type FIRECHEST but no level. |
|
|
7405 | - Jan Echternach 5/29/2000 |
|
|
7406 | |
|
|
7407 | server/apply.c: move_apply(): Added handling of THROWN_OBJ, CANCELLATION |
|
|
7408 | and BALL_LIGHTNING. |
|
|
7409 | server/spell_effect.c: cancellation(): Traverse inventory of objects |
|
|
7410 | with type THROWN_OBJ. |
|
|
7411 | - Jan Echternach 5/29/2000 |
|
|
7412 | |
|
|
7413 | server/player.c: fire_bow() and server_skills.c: do_throw(): Bugfix: Don't |
|
|
7414 | use op->count of freed objects. Use was_destroyed() to check for freed |
|
|
7415 | objects instead of QUERY_FLAG (FLAG_FREED). - Jan Echternach 5/29/2000 |
|
|
7416 | |
|
|
7417 | server/spell_util.c: fire_a_ball(): Bugfixes: Use op->other_arch as |
|
|
7418 | the archetype to fire, not FBULLET. (-> Firechests now cast fire balls |
|
|
7419 | again, not snowballs.) Set level of fired archetype. Check if object |
|
|
7420 | was destroyed after insert_ob_in_map(). - Jan Echternach 5/29/2000 |
|
|
7421 | |
|
|
7422 | server/time.c: move_firewall() and move_firechest(): Do nothing if |
|
|
7423 | object has no map. Fixes server crashes if a dm creates such a thing |
|
|
7424 | in the inventory. - Jan Echternach 5/29/2000 |
|
|
7425 | |
|
|
7426 | lib/collect.pl: Modify so that it does not complain about png files in the |
|
|
7427 | arch directory MSW 5/28/2000 |
|
|
7428 | |
|
|
7429 | common/item.c: Fix query_short_name - wasn't generating all item names |
|
|
7430 | properly because of changes made a few days ago - some areas manipulate |
|
|
7431 | the string being worked on and was not updating the length properly. |
|
|
7432 | MSW 5/26/2000 |
|
|
7433 | |
|
|
7434 | doc/mapguide: Fix some typos. MSW 5/26/2000 |
|
|
7435 | |
|
|
7436 | include/define.h: Add MIN_ACTIVE_SPEED value to determine what threshold |
|
|
7437 | something will be put on the active list or not instead of using |
|
|
7438 | varying values throughout the source code. |
|
|
7439 | common/item.c, common/object.c, server/monster.c, server/pets.c, |
|
|
7440 | server/spell_effect.c: Updated to use the MIN_ACTIVE_SPEED instead of |
|
|
7441 | hardcoded values. MSW 5/26/2000 |
|
|
7442 | |
|
|
7443 | include/define.h,include/global.h, common/image.c: Remove following old |
|
|
7444 | face information: INV_*_FACES, BLOCKED_FACE, STIPPLE[12]_FACE. This |
|
|
7445 | is just a general cleanup - the server has not used these since the |
|
|
7446 | X11 code was pulled from the server. MSW 5/26/2000 |
|
|
7447 | |
|
|
7448 | common/living.c: Add entries for the attack type AT_INTERNAL in description. |
|
|
7449 | include/material.h: Update to include saves against INTERNAL attacktype. |
|
|
7450 | include/living.h: Remove defunct objects_saves external referance. |
|
|
7451 | The additions of internal to the tables should not really be needed, as |
|
|
7452 | internal attacktypes should not be used publically, but these also act as |
|
|
7453 | placeholders for future attacktypes. MSW 5/26/2000 |
|
|
7454 | |
|
|
7455 | * server/attack.c: hit_map(), hit_player(); server/spell_effect.c: |
|
|
7456 | move_cone(); server/rune.c: spring_trap(); server/spell_util.c: |
|
|
7457 | move_missile(): Bugfix: Added missing was_destroyed() calls. |
|
|
7458 | * server/rune.c: spring_trap(): Bugfix: Call trap_show() before the rune |
|
|
7459 | has a chance to be destroyed. |
|
|
7460 | * server/attack.c: hit_map(), hit_player(): Check for freed objects |
|
|
7461 | right at the beginning of the function. Removed check that hitter has |
|
|
7462 | a name from hit_player(). |
|
|
7463 | * server/spell_util.c: move_cone(): Bugfix: Remove cone objects in |
|
|
7464 | inventories from active list, this fixes the cone without map problem when |
|
|
7465 | a flower was hit with ice and put into an icecube. |
|
|
7466 | * server/spell_util.c: move_missile(): Bugfix: Don't call hit_map() while |
|
|
7467 | missile is removed from the map. |
|
|
7468 | * server/apply.c: manual_apply(): Handle MMISSILE. |
|
|
7469 | - Jan Echternach 5/26/2000 |
|
|
7470 | |
|
|
7471 | * server/spell_effect.c: animate_weapon() and server/spell_util.c: |
|
|
7472 | summon_monster(): Bugfix: Set FLAG_FRIENDLY for friendly objects. |
|
|
7473 | - Jan Echternach 5/26/2000 |
|
|
7474 | |
|
|
7475 | * server/attack.c: hit_player(): Bugfix: remove_friendly_object() |
|
|
7476 | was called always after an object with type GOLEM had been killed, |
|
|
7477 | but friendly objects are objects with FLAG_FRIENDLY, not objects with |
|
|
7478 | type GOLEM. This fixes some "Remove_friendly_object(): Can't find |
|
|
7479 | object" errors. - Jan Echternach 5/26/2000 |
|
|
7480 | |
|
|
7481 | ----------------------------------- |
|
|
7482 | --- BEGIN apply() cleanup patch --- Jan Echternach 26/5/2000 |
|
|
7483 | ----------------------------------- |
|
|
7484 | |
|
|
7485 | * player specific code moved from apply() to player_apply() and |
|
|
7486 | player_apply_below(). |
|
|
7487 | |
|
|
7488 | * apply(): null pointer check removed |
|
|
7489 | |
|
|
7490 | * (bugfix?) print message if scroll is unusable because of invalid |
|
|
7491 | spell number |
|
|
7492 | |
|
|
7493 | * bugfix: if the altar casted a spell, the message was sent to the |
|
|
7494 | (destroyed!) sacrifice, not the player |
|
|
7495 | |
|
|
7496 | * split apply() -> move_apply() / manual_apply() |
|
|
7497 | |
|
|
7498 | * move_apply(), check_walk_on(), insert_ob_in_map() and other functions: |
|
|
7499 | New parameter 'originator' that is the object that caused another object |
|
|
7500 | to be inserted into the map. This removes the need to look through all |
|
|
7501 | map objects above an altar to find the player who dropped the sacrifice. |
|
|
7502 | |
|
|
7503 | * always check FLAG_UNPAID in manual_apply() |
|
|
7504 | |
|
|
7505 | * don't check FLAG_UNPAID in apply_special(), new function |
|
|
7506 | monster_apply_special() which checks FLAG_UNPAID and calls apply_special() |
|
|
7507 | |
|
|
7508 | * many new functions like apply_altar() and apply_spellbook() to make |
|
|
7509 | the switch statements in move_apply() and manual_apply() shorter |
|
|
7510 | |
|
|
7511 | * changes to actual apply() code: |
|
|
7512 | |
|
|
7513 | ALTAR: |
|
|
7514 | spell casting altars should work now if not operated by a player |
|
|
7515 | common/button.c, operate_altar(): altar's message is sent to altar's |
|
|
7516 | map, not player's map |
|
|
7517 | bugfix: if sacrifice was accepted, apply() didn't tell the caller |
|
|
7518 | that it has been destroyed |
|
|
7519 | ARROW, CONE, FBULLET, BULLET: |
|
|
7520 | now returns 'victim destroyed' if victim was killed by the attack |
|
|
7521 | TRAPDOOR: |
|
|
7522 | play sound only if something fell through the trapdoor |
|
|
7523 | print trapdoor message _before_ falling into trapdoor |
|
|
7524 | TRIGGER_ALTAR (in check_trigger()): |
|
|
7525 | don't check for sacrifices if called from animate_trigger() |
|
|
7526 | don't call check_trigger() from fix_auto_apply() anymore (this change |
|
|
7527 | breaks maps with altars that have their sacrifice already stored on |
|
|
7528 | them) |
|
|
7529 | DEEP_SWAMP: |
|
|
7530 | deep_swamp() -> walk_on_deep_swamp() / move_deep_swamp() |
|
|
7531 | when deep_swamp() (now move_deep_swamp()) is called from |
|
|
7532 | process_object(), assume that state (swamp->stats.food) is already 1 |
|
|
7533 | EXIT: |
|
|
7534 | removed support for multisquare players |
|
|
7535 | don't print 'is closed' message when moving on an exit, only print this |
|
|
7536 | message if exit is applied manually |
|
|
7537 | SIGN: |
|
|
7538 | only increment last_eat if it hadn't reached the limit yet |
|
|
7539 | SPELLBOOK: |
|
|
7540 | removed partial support for applying by monsters |
|
|
7541 | BOW, WAND, ROD, HORN: |
|
|
7542 | moved code to apply_special() |
|
|
7543 | CLOCK: |
|
|
7544 | bugfix: Monsters must not apply a clock, they would crash the server. |
|
|
7545 | POWER_CRYSTAL: |
|
|
7546 | Bugfix? Don't call esrv_update_item() if not applied by a player. |
|
|
7547 | LIGHTER: |
|
|
7548 | Bugfix? Just return 0 if not applied by a player. |
|
|
7549 | |
|
|
7550 | * changes to apply_special(): |
|
|
7551 | |
|
|
7552 | BOW: |
|
|
7553 | remove double check_skill_to_apply() |
|
|
7554 | ROD, HORN: |
|
|
7555 | change message from "you apply ..." to "you ready ..." |
|
|
7556 | |
|
|
7557 | BOW: FLAG_READY_BOW is now set by apply_special(), but that seems |
|
|
7558 | redundant because monster_check_apply() also sets this flag. Remove |
|
|
7559 | setting of this flag from apply_special() because it could have a |
|
|
7560 | more complex meaning in monster.c or remove setting of this flag from |
|
|
7561 | monster_check_apply() because such stuff should be handled in apply.c? |
|
|
7562 | FLAG_READY_BOW is also unset in apply_special() if a bow is unapplied. |
|
|
7563 | |
|
|
7564 | CONE: |
|
|
7565 | don't multiply damage by 20 |
|
|
7566 | SIGN: |
|
|
7567 | you can hear magic mouths even if you are blind |
|
|
7568 | however, now you can also read signs with FLAG_WALK_ON/FLAG_FLY_ON if you are |
|
|
7569 | blind |
|
|
7570 | (different object types or a new flag would be required) |
|
|
7571 | RUNE: |
|
|
7572 | detonation moved from move_rune() to move_apply() -> runes will now always |
|
|
7573 | detonate if somebody steps on them |
|
|
7574 | allow runes with FLAG_FLY_ON |
|
|
7575 | |
|
|
7576 | completely removed GRAVE and MONEY_CHANGER |
|
|
7577 | |
|
|
7578 | common/object.c: was_destroyed(): new function |
|
|
7579 | include/object.h: new typedef tag_t |
|
|
7580 | move_apply() returns void, check_walk_on() uses was_destroyed() |
|
|
7581 | |
|
|
7582 | lib/checkarch.pl: |
|
|
7583 | check for archetypes with walk_on, walk_off, fly_on or fly_off and without |
|
|
7584 | a type |
|
|
7585 | check for archetypes with type FIREWALL (type 62) and without a level |
|
|
7586 | |
|
|
7587 | * server/apply.c: Bugfix: Don't skip calls to change_skill() if wizard - |
|
|
7588 | calc_skill_exp() requires change_skill() to set the current experience object. |
|
|
7589 | |
|
|
7590 | * server/monster.c: find_mon_throw_ob(): Bugfix: Unapply applied object even |
|
|
7591 | if heaviest object was choosen. |
|
|
7592 | Bugfix: Use monster_apply_special() to unapply, clearing FLAG_APPLIED isn't |
|
|
7593 | enough. -> Should fix the "HAS_READY_BOW without bow" errors. |
|
|
7594 | * server/skills.c: find_throw_ob(): Bugfix: Use player_apply(), clearing |
|
|
7595 | FLAG_APPLIED isn't enough. |
|
|
7596 | Replace redundant check for FLAG_INV_LOCKED with error message at end of |
|
|
7597 | function if the first check failed somehow and we have choosen an object with |
|
|
7598 | FLAG_INV_LOCKED. |
|
|
7599 | make_throw_ob(): error message if object is applied |
|
|
7600 | |
|
|
7601 | * lib/checkarch.pl: check that potions (type 5, POTION) have a level |
|
|
7602 | |
|
|
7603 | * server/apply.c: apply_special(): Handle all cases of applying and unapplying |
|
|
7604 | skill objects. |
|
|
7605 | * server/apply.c: manual_apply(SKILL): Just call apply_special(). |
|
|
7606 | * server/skill_util.c: change_skill(): Rewrite to simply use apply_special() |
|
|
7607 | for changing skills. |
|
|
7608 | |
|
|
7609 | * server/apply.c: apply_special(): Bugfix: Fixed return values. |
|
|
7610 | |
|
|
7611 | * server/skill_util.c: link_player_skills(): Bugfix: Don't set exp_obj for |
|
|
7612 | (visible) skill tools. |
|
|
7613 | * server/skill_util.c: link_player_skills(): Bugfix? Reset op->chosen_skill |
|
|
7614 | and FLAG_READY_SKILL because we have unapplied all skills. |
|
|
7615 | * server/input.c: legal_range(): Bugfix: range_skill is valid only if |
|
|
7616 | op->chosen_skill != NULL, not when there is some (unapplied) skill somewhere |
|
|
7617 | in the inventory. |
|
|
7618 | * server/login.c: check_login(): Bugfix: call legal_range() after |
|
|
7619 | init_player_skills() - we can't handle range_skill correctly if skills haven't |
|
|
7620 | been initialized. |
|
|
7621 | * server/login.c: check_login(): Bugfix: Check return value of legal_range(), |
|
|
7622 | and reset op->contr->shoottype to range_none if range was invalid. |
|
|
7623 | * server/login.c: check_login(): Bugfix: Don't call fix_weight() - fixing |
|
|
7624 | the weight of _all_ players isn't necessary. Just initialize op->carrying |
|
|
7625 | directly with sum_weight() instead. This also removes the problem of |
|
|
7626 | updating the weight of an object that hasn't been sent to the client yet. |
|
|
7627 | * server/login.c: check_login(): Bugfix: We need to call fix_player() |
|
|
7628 | (init_player_skills() needs this, and it also makes the code more robust). |
|
|
7629 | |
|
|
7630 | * server/apply.c: apply_altar(): Bugfix: Print altar's message before |
|
|
7631 | casting the spell. |
|
|
7632 | |
|
|
7633 | * server/spell_util.c: move_cone(): Use copy_owner() instead of set_owner() |
|
|
7634 | and manually correcting the skill and experience object pointers. |
|
|
7635 | * server/spell_util.c: cast_cone(): Don't set FLAG_FLYING - the archetype |
|
|
7636 | needs to have this anyway for move_cone() to work properly. Instead, print |
|
|
7637 | error messages if FLAG_FLYING, FLAG_WALK_ON or FLAG_FLY_ON are missing. |
|
|
7638 | |
|
|
7639 | * server/apply.c: move_apply(): TRAPDOOR: Bugfix: Multiply by op->nrof when |
|
|
7640 | calculating the weight. |
|
|
7641 | |
|
|
7642 | * randommaps/standalone.c, server/apply.c: fix_auto_apply(): Bugfix: Don't |
|
|
7643 | call check_trigger() for objects of type TRIGGER. For other trigger types, |
|
|
7644 | call check_trigger() only if there is an object above the trigger. |
|
|
7645 | This can be used to implement doors that are only open shortly after the map |
|
|
7646 | has been loaded. |
|
|
7647 | * common/button.c: check_trigger(): Many changes. The triggers should now |
|
|
7648 | behave as described in crossfire.doc. -> This breaks maps that rely on old |
|
|
7649 | buggy behaviour. |
|
|
7650 | |
|
|
7651 | * server/monster.c: monster_apply_below(): will_apply & 1 now also applies |
|
|
7652 | TRIGGER objects, not only HANDLE objects. Allows an interesting solution for |
|
|
7653 | /asyvan/gate9 if there is no second player who can open the middle grate. |
|
|
7654 | |
|
|
7655 | * common/button.c: check_trigger(TRIGGER_PEDESTAL) and update_button(PEDESTAL): |
|
|
7656 | Bugfix: Handle objects with heads correctly. |
|
|
7657 | |
|
|
7658 | * server/c_object.c: drop_object() and socket/item.c: look_at(): Bugfix: If a |
|
|
7659 | player is moved on top with remove_ob()/insert_ob_in_map(), FLAG_NO_APPLY must |
|
|
7660 | be set temporarily. |
|
|
7661 | * common/object.c: remove_ob(): Bugfix: Don't call move_apply_func() if |
|
|
7662 | FLAG_NO_APPLY is set. |
|
|
7663 | |
|
|
7664 | * server/apply.c: manual_apply(): Don't call apply_special() for objects |
|
|
7665 | that are not in the inventory. Return 2 in this case. |
|
|
7666 | * server/apply.c: player_apply_below(): Skip objects for which manual_apply() |
|
|
7667 | returned 2. |
|
|
7668 | |
|
|
7669 | * server/apply.c: apply_spellbook(): Bugfix: Don't give experience for items |
|
|
7670 | with FLAG_STARTEQUIP. |
|
|
7671 | |
|
|
7672 | --------------------------------- |
|
|
7673 | --- END apply() cleanup patch --- Jan Echternach 26/5/2000 |
|
|
7674 | --------------------------------- |
|
|
7675 | |
|
|
7676 | server/input.c: modify examine_monster to use the maxhp field instead of |
|
|
7677 | the arch hp field to determine healthiness of the monster. Also, give |
|
|
7678 | this information for all creatures, not just monsters or players. |
|
|
7679 | MSW 5/23/200 |
|
|
7680 | |
|
|
7681 | socket/item.c: Add MAXITEMLEN define at top of file and use that to determine |
|
|
7682 | at what point item commands should be broken up. Prior hard coded value |
|
|
7683 | was not always large enough. MSW 5/23/2000 |
|
|
7684 | |
|
|
7685 | include/define.h: add safe_strcat inline/static function. Add |
|
|
7686 | DESCRIBE_ABILITY_SAFE and DESCRIBE_PATH_SAFE which use the safe_strcat |
|
|
7687 | to prevent buffer overuns. |
|
|
7688 | common/item.c: Have query_name use HUGE_BUF for its buffer - query_short_name |
|
|
7689 | uses that buffer size, and we call the same thing. have quer_name and |
|
|
7690 | query_short_name use the safe_strcat function. Increase buffer size |
|
|
7691 | in ring_desc to be a VERY_BIG_BUF and also use safe_strcat along with the |
|
|
7692 | DESCRIBE_*_SAFE macros. |
|
|
7693 | server/input.c: Modify examine.c to not get buffer overruns for very long/ |
|
|
7694 | complicated items. Modify long_desc to also handle long names/descriptions |
|
|
7695 | without buffer overruns. |
|
|
7696 | socket/item.c: Modify the functions that prepend the length to the name |
|
|
7697 | of the object to handle very long (>255) object names properly - now we |
|
|
7698 | just truncate it and only send the first 255 bytes. add function |
|
|
7699 | add_stringlen_to_sockbuf to make this task easier. |
|
|
7700 | With the above changes, very long named items/items with very long |
|
|
7701 | descriptions works properly in both the server (no crashes) and the |
|
|
7702 | client (no crashes/protocol errors) MSW 5/22/2000 |
|
|
7703 | |
|
|
7704 | common/item.c: Modify query_short_name to avoid buffer overflow on long |
|
|
7705 | ring descriptions. Also, increased size of buffer in this function so |
|
|
7706 | that longer ring descriptions will not get truncated. MSW 5/22/2000 |
|
|
7707 | |
|
|
7708 | server/c_chat.c: Add standard banner to top of file. Fix say command so |
|
|
7709 | that it does not crash the server if something beyond 256 characters is |
|
|
7710 | spoken - extra data is just truncated. MSW 5/22/2000 |
|
|
7711 | |
|
|
7712 | common/object.c: Splitted set_owner() into set_owner_simple() and |
|
|
7713 | set_owner(). copy_owner(): New function. |
|
|
7714 | server/spell_util.c: explode_object(): Use copy_owner() instead of setting |
|
|
7715 | skill and experience objects manually. Bugfix: Don't use op->owner |
|
|
7716 | directly (fixed by using the caster in call to SP_level_dam_adjust(), |
|
|
7717 | not the owner, which was wrong anyway). |
|
|
7718 | server/spell_util.c: fire_arch_from_position(): Use copy_owner() instead |
|
|
7719 | of set_owner() if 'op' isn't the real owner but only a spell object |
|
|
7720 | owned by somebody else. |
|
|
7721 | server/spell_util.c: move_swarm_spell(): Use the swarm spell object as |
|
|
7722 | the owner in call to fire_arch_from_position(), which now handles this |
|
|
7723 | case correctly. |
|
|
7724 | server/spell_util.c: fire_swarm(): Call tailor_god_spell(). |
|
|
7725 | server/gods.c: determine_god(): op->type==SWARM_SPELL is a spell. |
|
|
7726 | server/gods.c: tailor_god_spell(): op->type==SWARM_SPELL is a spell. |
|
|
7727 | Always abort function if we couldn't find a god. Always add god's |
|
|
7728 | attacktype if the spellop's attacktype has AT_GODPOWER. |
|
|
7729 | - Jan Echternach 22/5/2000 |
|
|
7730 | |
|
|
7731 | common/init.c, common/loger.c, include/logger.h, server/init.c: New |
|
|
7732 | log level llevInfo which is the new default log level. |
|
|
7733 | Many other files: Use llevInfo instead of llevError where appropriate. |
|
|
7734 | Use 'settings.debug >= llevDebug' instead of 'settings.debug'. |
|
|
7735 | - Jan Echternach 21/5/2000 |
|
|
7736 | |
|
|
7737 | server/main.c: Use a marker object to track current position in the list |
|
|
7738 | of active objects. Using a pointer didn't work because all objects on |
|
|
7739 | that list can be removed from it by process_object(). One of the things |
|
|
7740 | this fixes is bogus "Free object on list" errors. |
|
|
7741 | - Jan Echternach 21/5/2000 |
|
|
7742 | |
|
|
7743 | crossedite/Makefile.in: Modify to use $(MAKE) instead of make when |
|
|
7744 | descending into subdirectories - fixes compilation on FreeBSD - MSW 5/17/2000 |
|
|
7745 | |
|
|
7746 | socket/init.c: Fix incorrect check on return value from fread when |
|
|
7747 | loading xpm images. MSW 5/17/2000 |
|
|
7748 | |
|
|
7749 | Fix server/spell_effect.c - was assigning altar->other_arch to an object |
|
|
7750 | and not archetype MSW 5/16/2000 |
|
|
7751 | |
|
|
7752 | server/spell_effect.c: magic_wall(): Duration of darkness spell now |
|
|
7753 | implemented with op->stats.food. This avoids problems with very low |
|
|
7754 | speed values that were interpreted as infinite duration. |
|
|
7755 | lib/spell_params: Changed duration parameters of darkness spell to |
|
|
7756 | give a reasonable duration with the new formula. |
|
|
7757 | - Jan Echternach 16/5/2000 |
|
|
7758 | |
|
|
7759 | common/living.c: drain_stat(): There are 7 stats now, not 6. |
|
|
7760 | - Jan Echternach 15/5/2000 |
|
|
7761 | |
|
|
7762 | server/rune.c: rune_attack(): Check that victim still exists after |
|
|
7763 | hit_player() was missing. This fixes server crashes if monster applied |
|
|
7764 | a chest, found a diseased needle and was killed by it. |
|
|
7765 | - Jan Echternach 15/5/2000 |
|
|
7766 | |
|
|
7767 | server/spell_effect.c: cast_charm(): out_of_map() check was missing. |
|
|
7768 | This fixes server crashes when a player casted this spell near the |
|
|
7769 | edge of a map. - Jan Echternach 15/5/2000 |
|
|
7770 | |
|
|
7771 | |
|
|
7772 | Make image files and code more generic. This was largely done to make |
|
|
7773 | adding support for png files easier, but in reality, it means adding support |
|
|
7774 | for any new file format is now trivially easy. Format of the image |
|
|
7775 | file is: |
|
|
7776 | IMAGE <image num> <datalen> <image name>\n |
|
|
7777 | followed by the image data. |
|
|
7778 | This allows support for binary image formats (png), but also means that |
|
|
7779 | the server doesn't need to know anything about the image format - rather |
|
|
7780 | it is all just data as far as the server is concerned. I think this |
|
|
7781 | actuallyy loads the xpm data a little faster - it would make sense that |
|
|
7782 | it should, since it just reads all the data in with one fread instead |
|
|
7783 | of parsing it line by line waiting for the end image delimeter. |
|
|
7784 | Note: While png images are loaded, they are currently not supported |
|
|
7785 | in the client nor will the server send them - that is the next step |
|
|
7786 | in the work, but that will require just a few minor changes to the |
|
|
7787 | server - most of those change will be in the client. |
|
|
7788 | |
|
|
7789 | crossedit/xutil.c: Merge bitmap & pixmap load routine into one called |
|
|
7790 | ReadImages, function modified to use above format. |
|
|
7791 | crossedit/App.c: Call ReadImages to load images. |
|
|
7792 | include/newserver.h: Change FaceInfo structure to have arrays of data |
|
|
7793 | and datalength instead of explicity entries for pixmap vs bitmap data. |
|
|
7794 | lib/adm/make_xpm_file.pl, lib/crossfire.cfb, lib/xbmtobdf.c: Removed - |
|
|
7795 | either note needed or replaced by new naming scheme. |
|
|
7796 | lib/adm/collect_images.pl: Replacement/improvement of make_xpm_file.pl |
|
|
7797 | above - this handles all image formats (xbm, xpm, png). This is |
|
|
7798 | also more intelligent in that it will not try to rebuild the image files |
|
|
7799 | if there is not a valid arch directory. |
|
|
7800 | lib/crossfire.png, lib/crossfire.xbm (new files): .png file is for png |
|
|
7801 | images. xbm is to keep with the new standardized naming convention used |
|
|
7802 | and is for the bitmaps. |
|
|
7803 | lib/crossfire.xpm: New format used in file. |
|
|
7804 | lib/Makefile.in: Modified to collect via new script as well as new |
|
|
7805 | directives to collect (png files). |
|
|
7806 | socket/init.c: Modified to load with the new format and data structures. |
|
|
7807 | socket/request.c: Modified to send data with the new data structures |
|
|
7808 | provided. |
|
|
7809 | |
|
|
7810 | End of image changes, MSW 5/13/2000 |
|
|
7811 | |
|
|
7812 | configure.in, configure: Add check for perl so that we can call scripts |
|
|
7813 | properly - MSW 5/13/2000 |
|
|
7814 | |
|
|
7815 | common/re-cmp.c: Add some tolower calls in the comparisons so most |
|
|
7816 | regular expressions should not be case insenstive (makes matches & says |
|
|
7817 | work better). Note that I did not change the behaviour on range matches |
|
|
7818 | (Z-f for example), as I thought there may be side effects in that case. |
|
|
7819 | MSW 5/8/2000 |
|
|
7820 | |
|
|
7821 | socket/request.c: Add length checking to NewPlayerCmd so that if the client |
|
|
7822 | sends us a really long command, we just truncate the end of it and not |
|
|
7823 | overwrite our internal buffers causing crashes. MSW 5/8/2000 |
|
|
7824 | |
|
|
7825 | server/player.c: add out_of_map check to stand_near_hostile function. This |
|
|
7826 | fixes a server crash if the player uses a hiding skill near the edge of a map. |
|
|
7827 | MSW 5/8/2000 |
|
|
7828 | |
|
|
7829 | common/arch.c, common/loader.l (loader.c): Modify the load routines |
|
|
7830 | to strip off trailing whitespace in object names and other_arch fields - |
|
|
7831 | I believe this is why altars to Sorig did not generally work, and while |
|
|
7832 | generally that white space should not exist, doing a little extra checking |
|
|
7833 | for it is not a bad idea - MSW 4/26/2000 |
|
|
7834 | |
|
|
7835 | Add HOLY_ALTAR type, and use that for praying over for gods and the |
|
|
7836 | like. |
|
|
7837 | doc/crossfire.doc: Add description of HOLY_ALTAR type and meaning |
|
|
7838 | of fields. |
|
|
7839 | common/map.c: Disable consecration code for altars. |
|
|
7840 | include/define.h: Add type for HOLY_ALTAR |
|
|
7841 | include/sproto.h: Update for change of some functions below. |
|
|
7842 | server/c_wiz.c: Modify setgod command to call become_follower with |
|
|
7843 | proper second arg. |
|
|
7844 | server/gods.c: Change become_follower to take object pointer to god instead |
|
|
7845 | of name, since the holy_altar has the pointer in its other_arch. |
|
|
7846 | Modify pray_at_altar to use the new fields, as well as fixed |
|
|
7847 | what seemed to be numerous bugs in that function. |
|
|
7848 | sever/skills.c: Change check from ALTAR to HOLY_ALTAR, also change |
|
|
7849 | check to see if HOLY_ALTAR is consecrated by looking at the |
|
|
7850 | other_arch field. |
|
|
7851 | server/spell_effect.c: Update consecrate so that caster must be |
|
|
7852 | higher effective level than the altar, also update for |
|
|
7853 | differing fields. |
|
|
7854 | maps/thomas/sisters/shrine0, map/thomas/sisters/tower0: Remove |
|
|
7855 | title from altars on these maps - these were the only two maps |
|
|
7856 | using old style altars consecrated to a god. Since it appears the |
|
|
7857 | real purpose of the altars on these maps was to trigger something |
|
|
7858 | else, they were kept as old style altars. |
|
|
7859 | arch/gods/altars (relocated from arch/indoors, as I think the new |
|
|
7860 | location makes more logical sense): Update for new fields/format. |
|
|
7861 | This also affects lib/archetypes, lib/bmaps.paths, lib/crossfire.xpm, |
|
|
7862 | lib/crossfire.cfb |
|
|
7863 | lib/adm/archsearch.pl: Modified to hunt out old archetypes - some of the |
|
|
7864 | changes could be useful in general cases. |
|
|
7865 | MSW 4/26/2000 |
|
|
7866 | |
|
|
7867 | server/spell_util.c: Fix move_golem so that multi square avatars (golems) |
|
|
7868 | don't hit themselves. Remove will_hit_self function (only used in |
|
|
7869 | move_golem), since it did not work. Change structure & indenting of |
|
|
7870 | move_golem function so it isn't quite so nested - functionality |
|
|
7871 | remains the same. When we do find something to kill in move_golem, |
|
|
7872 | call attack_ob against it instead of hit_map - hit_map is not save |
|
|
7873 | for multi object hitters. MSW 4/24/2000 |
|
|
7874 | |
|
|
7875 | Key usage change: Add new command 'usekeys' that specify how keys |
|
|
7876 | are searched for. The three options are inventory, keyrings, and containers. |
|
|
7877 | These options apply to both standard keys and special keys. If the player |
|
|
7878 | has a key for the door but it is in a container that will not be used, |
|
|
7879 | print a friendly message of the key name and container name. Files |
|
|
7880 | affected: |
|
|
7881 | help/usekeys: Added describing options |
|
|
7882 | lib/Makefile.in: Addition of help/usekeys above. |
|
|
7883 | include/player.h: Add new enumeration and entry into player structure |
|
|
7884 | include/sproto.h: New function prototype |
|
|
7885 | server/apply.c: change of Find_Key to new function with slightly |
|
|
7886 | different options |
|
|
7887 | server/c_misc.c: add function to support 'usekeys command. |
|
|
7888 | server/commands.c: addition of usekeys command |
|
|
7889 | server/player.c: rewrite & rename of find_key command, as well as changes |
|
|
7890 | to move_player_attack |
|
|
7891 | Mark Wedel 4/21/2000 |
|
|
7892 | |
|
|
7893 | server/spell_effect.c: create_bomb(): New spell_type parameter, merely |
|
|
7894 | for consistency with itself and with other spell casting functions. |
|
|
7895 | - Jan Echternach 4/19/2000 |
|
|
7896 | |
|
|
7897 | server/spell_effect.c: create_bomb(): Set level of created bomb. |
|
|
7898 | Fixes the problem that the splints were casted without a level. |
|
|
7899 | - Jan Echternach 4/19/2000 |
|
|
7900 | |
|
|
7901 | lib/checkarch.pl: New perl script to check the archetypes file for |
|
|
7902 | obvious bugs (like object that is alive but doesn't have a level). |
|
|
7903 | - Jan Echternach 4/17/2000 |
|
|
7904 | |
|
|
7905 | include/spellist.h: "meteor swarm" is now a missile spell (PATH_MISSILE) |
|
|
7906 | just like "comet". - Jan Echternach 4/17/2000 |
|
|
7907 | |
|
|
7908 | server/spell_util.c: path_level_mod(): Rewrote to fix countless bugs. |
|
|
7909 | New interface with explicit base level parameter. |
|
|
7910 | server/spell_effect.c: finger_of_death(): Call path_level_mod() with |
|
|
7911 | correct base level. |
|
|
7912 | server/spell_util.c: casting_level(): New function that combines |
|
|
7913 | SK_level() with path_level_mod(). |
|
|
7914 | - Jan Echternach 4/17/2000 |
|
|
7915 | |
|
|
7916 | server/spell_util.c: Several cosmetic changes (spell type parameter name |
|
|
7917 | is spell_type, arch_to_object(get_archtetype(...)) is equivalent to |
|
|
7918 | get_archetype(...), use casting_level() if applicable). |
|
|
7919 | - Jan Echternach 4/17/2000 |
|
|
7920 | |
|
|
7921 | server/spell_util.c: fire_swarm(): New 'caster' parameter because |
|
|
7922 | owner and caster can be different. Level of the swarm object is casting |
|
|
7923 | level of the caster, not overall level of the owner. |
|
|
7924 | server/spell_util.c: fire_arch_from_position(): Set level of fired |
|
|
7925 | arch to casting level of caster. |
|
|
7926 | server/spell_util.c: cast_cone(), cast_smite_spell(): Set level of spell |
|
|
7927 | object to casting_level() and not SK_level() to honour path_attuned and |
|
|
7928 | path_repelled of the caster. |
|
|
7929 | server/spell_util.c: move_cone(): Just copy the level for new cone |
|
|
7930 | objects. |
|
|
7931 | |
|
|
7932 | Missing level meant AT_DEATH didn't work, missing call to |
|
|
7933 | path_level_mod()/casting_level() meant path_attuned/path_repelled was |
|
|
7934 | ignored. - Jan Echternach 4/17/2000 |
|
|
7935 | |
|
|
7936 | server/player.c: fire_bow(): Set level of fired arrow. Arrows with |
|
|
7937 | AT_DEATH are now working. - Jan Echternach 4/17/2000 |
|
|
7938 | |
|
|
7939 | server/player.c: fire(): Call check_skill_to_fire() even for wizards |
|
|
7940 | because this function has the important side effect of setting the current |
|
|
7941 | skill and experience objects. - Jan Echternach 4/17/2000 |
|
|
7942 | |
|
|
7943 | server/skills.c: do_throw(), server/time.c: stop_arrow(), server/player.c: |
|
|
7944 | fire_bow(): Flying arrows and thrown objects have FLAG_NO_PICK set because |
|
|
7945 | picking these objects is currently broken (and maybe it shouldn't be |
|
|
7946 | possible anyway - picking up a _flying_ arrow?). - Jan Echternach 4/17/2000 |
|
|
7947 | |
|
|
7948 | server/c_wiz.c: set_god(): Didn't work at all because it was trying to |
|
|
7949 | set the current player as his own god. - Jan Echternach 4/17/2000 |
|
|
7950 | |
|
|
7951 | server/map.c: check_path(): Return value was wrong if the name did not |
|
|
7952 | refer to a regular file. A symptom of this bug was that the server crashed |
|
|
7953 | if a wizard tried to enter a directory with the 'goto' command. |
|
|
7954 | - Jan Echternach 4/17/2000 |
|
|
7955 | |
|
|
7956 | server/map.c: open_and_uncompress(): Check that the file we have opened |
|
|
7957 | is (still) a regular file, fail if it's not. This is the right place |
|
|
7958 | for such checks if we want to avoid race conditions (e.g. file replaced by |
|
|
7959 | directory while trying to open it). - Jan Echternach 4/17/2000 |
|
|
7960 | |
|
|
7961 | c_party.c commands.c daemon.c disease.c gods.c spell_effect.c spell_util.c: |
|
|
7962 | Cosmetic fixes - updates to rcsid string to include right file name as well as |
|
|
7963 | updates to mail address and/or additions to top banner. Mark Wedel 4/13/2000 |
|
|
7964 | |
|
|
7965 | Various files: Updated my mailing address to be accurate - Mark Wedel |
|
|
7966 | 4/13/2000 |
|
|
7967 | |
|
|
7968 | doc/playbook/handbook.idx: Automatically generated file removed. This |
|
|
7969 | is not something normally included in packed up distributions, so no reason |
|
|
7970 | to have it in CVS - Mark Wedel 4/13/2000 |
|
|
7971 | |
|
|
7972 | doc/include_html.pl, doc/playbook/make_index.pl, doc/spoiler-html/makeps.pl, |
|
|
7973 | lib/adm/make_xpm_file.pl: |
|
|
7974 | |
|
|
7975 | Change to use /usr/bin/perl instead of /usr/local/bin/perl - real change is to |
|
|
7976 | find perl in configure.in and call the scripts with that. Mark Wedel |
|
|
7977 | 4/13/2000 |
|
|
7978 | |
|
|
7979 | |
|
|
7980 | server/input.c: Don't try to calculate spellpoint costs for denied spells, |
|
|
7981 | because these are undefined and are now causing lots of BUG messages. Also |
|
|
7982 | improved formatting: spellpoint costs can be > 99, and don't fill everything |
|
|
7983 | with zeros, use spaces instead. Patch by Jan Echternach, applied & checked in |
|
|
7984 | by Mark Wedel, 4/12/2000 |
|
|
7985 | |
|
|
7986 | server/skill_util.c: Fixed some log messages that were lacking a newline at |
|
|
7987 | the end. SK_level(): Rewrite of this function to simplify its structure. |
|
|
7988 | Print error message if we find an invalid level. Add top copyright/contact |
|
|
7989 | banner (msw) Patch by Jan Echternach, applied & checked in by Mark Wedel, |
|
|
7990 | 4/12/2000 |
|
|
7991 | |
|
|
7992 | server/apply.c, server/monster.c: Fix in apply.c for encounter maps |
|
|
7993 | so that proper message is generated, and differentiate behaviour if it |
|
|
7994 | is a floor vs not a floor. Also, change to both files in that apply_below |
|
|
7995 | stops at the floor object. Patch by Jan Echternach, applied & checked in by |
|
|
7996 | Mark Wedel, 4/12/2000 |
|
|
7997 | |
|
|
7998 | server/apply.c, doc/crossfire.doc: Fix to prevent server crashes when monster |
|
|
7999 | applies poison object. doc file is updated to include accurate information on |
|
|
8000 | values in poison object. Patch by Jan Echternach, applied & checked in by |
|
|
8001 | Mark Wedel, 4/11/2000 |
|
|
8002 | |
|
|
8003 | CREDITS, server/main.c: Add Peter Gardner to list of credits. |
|
|
8004 | Mark Wedel 4/4/2000 |
|
|
8005 | |
|
|
8006 | server/apply.c, improve_armour(): |
|
|
8007 | Maximum armour value reduced to 90. Items can now always be improved up |
|
|
8008 | to this value. For armour x you need level x, not level x + 1 as before. |
|
|
8009 | esrv_send_item() and fix_player() also called if only magic value was |
|
|
8010 | improved. Patch by Jan Echternach, applied & checked in by Mark Wedel, |
|
|
8011 | 4/4/2000 |
|
|
8012 | |
|
|
8013 | server/attack.c, attack_message(): |
|
|
8014 | More messages. "grind to dust" is more damage than "shred to pieces". |
|
|
8015 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
8016 | |
|
|
8017 | server/spell_effect.c, magic_wall(): |
|
|
8018 | Fix calculation of duration of darkness spell. Before, you could get |
|
|
8019 | huge negative speed values with high experience levels, which meant very |
|
|
8020 | short duration. |
|
|
8021 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
8022 | |
|
|
8023 | server/spell_util.c: |
|
|
8024 | 1) New argument of fire_swarm() to specify whether it's a magic attack. |
|
|
8025 | All swarm spells except meteor swarm are now magic (just as the |
|
|
8026 | underlying basic spell). |
|
|
8027 | 2) New function fire_arch_from_position() which doesn't use the owner's |
|
|
8028 | position as the starting position of the fired arch. |
|
|
8029 | 3) move_swarm_spell(): Correctly set owner and magic in call to |
|
|
8030 | fire_arch_from_position(). |
|
|
8031 | 4) Above changes fixes "cause many wounds" spell |
|
|
8032 | Patch by Jan Echternach, applied & checked in by Mark Wedel, 4/4/2000 |
|
|
8033 | |
|
|
8034 | |
|
|
8035 | common/map.c: Change calls in file to use insert_ob_in_map simple. |
|
|
8036 | This fixes bugs with buttons not being applied correctly when the map |
|
|
8037 | is loaded - the cause is that push_button is getting called for the |
|
|
8038 | button before all the objects the button is linked to have been loaded. |
|
|
8039 | Then when the map finishes loading, the call to update_button is called |
|
|
8040 | and they are not in sync. This change should make loading slightly faster, |
|
|
8041 | mostly because it does not call check_walk_on during the loading, so that |
|
|
8042 | buttons don't get pushed/changed around. Mark Wedel 3/28/2000 |
|
|
8043 | |
|
|
8044 | server/player.c: If player is using pickup mode 6, only have them pick up |
|
|
8045 | the item if they know it is magical. Prior to change, items would be |
|
|
8046 | picked up if they are magical, but not if the player knew that, so the code |
|
|
8047 | was giving extra knowledge to players. Bug reported by Kurt Fitzner, |
|
|
8048 | checked in by Mark Wedel, 3/26/2000 |
|
|
8049 | |
|
|
8050 | common/map.c: Code fix by Kurt Fitzner so that unique maps will get |
|
|
8051 | compressed if so needed. Fixes problem of unique maps not being |
|
|
8052 | able to get reloaded as they are saved with the compress suffix but |
|
|
8053 | not in compressed form. Code checked in by Mark Wedel, 3/26/2000 |
|
|
8054 | |
|
|
8055 | server/skills.c, server/spell_effect.c: Improve behaviour when identifying |
|
|
8056 | items - the identify routine already updates the client if it is |
|
|
8057 | in the players inventory, so only send update to client if the item is |
|
|
8058 | on the map. Also, do full item update, as many fields may change, and |
|
|
8059 | that is what the identify function does. Standard top of |
|
|
8060 | file banner also added to skills.c file. Fixes problem of |
|
|
8061 | objects in inventory being displayed with two numbers in from |
|
|
8062 | (ie, two two bows +1). |
|
|
8063 | Bug and initial fix of item updates by Kurt Fitzner, |
|
|
8064 | implemented in a bit different way by Mark Wedel. 3/26/2000 |
|
|
8065 | |
|
|
8066 | Makefile.in, doc/Makefile.in: Modified so that making the docarchive |
|
|
8067 | now works. The make must be done from the top level for it to work, since |
|
|
8068 | some values are passed, but the doc/Makefile.in was missing some declarations |
|
|
8069 | and had some other fixes that needed to be done. msw 3/22/2000 |
|
|
8070 | |
|
|
8071 | ------------------------------------------------------------------------------ |
|
|
8072 | Changes for 0.95.5: |
|
|
8073 | |
|
|
8074 | Makefile.in: comment out the EXTRA_FLAGS (which contains the -Wall |
|
|
8075 | entry) - the presumption that everyone is going to use gcc to compile |
|
|
8076 | crossfire is a poor one, and -Wall is only supported on gcc. I would |
|
|
8077 | rather have it compile on the maximum number of systems without it |
|
|
8078 | needing changes than to require the end user to make the customizations. |
|
|
8079 | A better long term solution is to have configure.in check for gcc or |
|
|
8080 | if -Wall is supported it and have it add it in. msw 3/21/2000 |
|
|
8081 | |
|
|
8082 | server/c_object.c: Fix pick_up_object function to deal with non players |
|
|
8083 | picking up objects - prior to fix, program would crash when monsters |
|
|
8084 | pick up objects. Also, add standard banner at top of file about |
|
|
8085 | copyright, contact, version information. msw 3/21/2000 |
|
|
8086 | |
|
|
8087 | CREDITS, README: Updated to contain my new mailing address. In reality, |
|
|
8088 | almost all the files have an out of date address for me, but these |
|
|
8089 | are probably the ones people will look at most. README also updated |
|
|
8090 | with new ftp location. msw 3/20/2000 |
|
|
8091 | |
|
|
8092 | include/Makefile.in: Update files to include material.h - need when |
|
|
8093 | packing up new releases - msw 3/20/2000 |
|
|
8094 | |
|
|
8095 | doc/hanbook.ps, doc/spoiler.ps, doc/spoiler-html/spoiler.html: Rebuilt with |
|
|
8096 | latest version of crossfire - not sure if there are any content changes, as |
|
|
8097 | the tools to build the file have been updated on my system, causing many |
|
|
8098 | changes to the prologue and outputted data. - msw 3/20/2000 |
|
|
8099 | |
|
|
8100 | |
|
|
8101 | Change doc/spoiler-html/Makefile.in and doc/playbook-html/Makefile.in to use |
|
|
8102 | $(datadir) instead of $(C_LIBDIR). Other add AWK and INCDIR lines so that it |
|
|
8103 | properly builds with autoconf setup. msw 3/19/2000 |
|
|
8104 | |
|
|
8105 | Change spoiler.tex, handbook.tex to build properly with later versions |
|
|
8106 | of tetex - added language specifier when using the babel package. |
|
|
8107 | msw 3/19/2000 |
|
|
8108 | |
|
|
8109 | Add missing doc/playbook/fig directory to the CVS reposistory - |
|
|
8110 | msw 3/18/2000 |
|
|
8111 | |
|
|
8112 | Change summon_cult_monster code so that it will no longer summon big monsters |
|
|
8113 | on top of walls or the player. Also, if there is not space for a big |
|
|
8114 | monster, try to find another pet monster that will fit in the space. |
|
|
8115 | File affected: server/spell_effect.c - msw |
|
|
8116 | |
|
|
8117 | Change gorokh.arc to use anim devil instead of anim Lucifer - fixes crash |
|
|
8118 | when using avatars of gorokh - msw |
|
|
8119 | |
|
|
8120 | Split off kill_player function from do some living, and check for player |
|
|
8121 | death upon player login. This splits up an otherwise very large function, |
|
|
8122 | but more importantly, the second point allows NOT_PERMADEATH to work as |
|
|
8123 | expected when the player is dead when logged out. Previous, the if the |
|
|
8124 | player was dead when they logged out, it would just kill off the character |
|
|
8125 | permanently (without grave marker or anything), even in NOT_PERMADEATH |
|
|
8126 | mode. Also, cleaned up player load code to remove code that supported |
|
|
8127 | very old style save files. |
|
|
8128 | Files changed: server/login.c server/player.c include/sproto.h - msw |
|
|
8129 | |
|
|
8130 | Change NO_STAT define in living.h,skillist.h,skill_util.c to NO_STAT_VAL |
|
|
8131 | to remove conflict on AIX systems. - msw |
|
|
8132 | |
|
|
8133 | Fix error in configure.in - was referancing BZIP2, when it should have |
|
|
8134 | used BZIP - msw 2/7/2000 |
|
|
8135 | |
|
|
8136 | server/skill_util.c: Fixed spelling of unwield |
|
|
8137 | configure.in: Update -z checks to not use eval, double quote the variable. |
|
|
8138 | This seems to be needed on solaris and probably other systems. |
|
|
8139 | Both changes commited by Mark Wedel, 2/7/2000 |
|
|
8140 | |
|
|
8141 | ---SMALL BUGFIX--- John Cater 5/11/1999 |
|
|
8142 | server/attack.c: |
|
|
8143 | - changed the logic in hit_player to attack enemy races with holy word |
|
|
8144 | playtested |
|
|
8145 | |
|
|
8146 | |
|
|
8147 | ---BEGIN BATCH UPDATE--- DAMN 9/17/1999 |
|
|
8148 | server/alchemy.c: |
|
|
8149 | - minor cleanup |
|
|
8150 | |
|
|
8151 | server/apply.c: |
|
|
8152 | - split multiple lighters |
|
|
8153 | |
|
|
8154 | server/attack.c: |
|
|
8155 | - vulnerability gives -4 to saving throw against non-damage attack effects |
|
|
8156 | - immunity to acid reduces the probability of corrosion |
|
|
8157 | - immunity and protection and not vulnerability to acid prevents corrosion |
|
|
8158 | - magic bonus improves item's saving throw against acid |
|
|
8159 | - vulnerability to drain doubles rate of exp loss, protection halves rate |
|
|
8160 | - holy word slaying is checked in hit_player, no need to double-check |
|
|
8161 | in hit_player_attacktype |
|
|
8162 | - prot:magic and vuln:magic affect all magical damage, not just raw magic |
|
|
8163 | - Holy Word and Turn Undead affect undead at half strength if they're not |
|
|
8164 | listed as an enemy race |
|
|
8165 | - Holy Word and Turn Undead have no effect on undead if they're listed as |
|
|
8166 | a friendly race |
|
|
8167 | - minor bugfix/cleanup |
|
|
8168 | |
|
|
8169 | server/gods.c: |
|
|
8170 | - minor bugfix/cleanup |
|
|
8171 | - luck slightly improves chance of divine intervention |
|
|
8172 | |
|
|
8173 | server/input.c: |
|
|
8174 | - fixed typo |
|
|
8175 | |
|
|
8176 | server/main.c: |
|
|
8177 | - trivial bulletproofing, probably no effect |
|
|
8178 | |
|
|
8179 | server/player.c: |
|
|
8180 | - sp regen penalty from armour calculated in fix_player instead of being |
|
|
8181 | recalculated for each spell point gained. |
|
|
8182 | |
|
|
8183 | server/shop.c: |
|
|
8184 | - payment will come from open pouches if you don't have enough in your |
|
|
8185 | top-level inventory |
|
|
8186 | - money for sold items will go into open pouches until they're full, |
|
|
8187 | then overflow into top-level inventory |
|
|
8188 | |
|
|
8189 | server/skills.c: |
|
|
8190 | - minor bugfix in throwing |
|
|
8191 | - writing in one of a stack of books seperates one book out first |
|
|
8192 | |
|
|
8193 | server/spell_effect.c: |
|
|
8194 | - generalized staff_to_snake to animate_weapon |
|
|
8195 | |
|
|
8196 | server/spell_util.c: |
|
|
8197 | - Staff to Snake, Dancing Sword, and Animate Weapon spells now all use |
|
|
8198 | animate_weapon function |
|
|
8199 | - holy golems avoid damaging their owners |
|
|
8200 | - raw mana spells |
|
|
8201 | |
|
|
8202 | common/living.c: |
|
|
8203 | - minor bugfix |
|
|
8204 | - fix_player now calculates sp regen penalty from armour |
|
|
8205 | |
|
|
8206 | common/readable.c: |
|
|
8207 | - spelling fix: grimore -> grimoire |
|
|
8208 | |
|
|
8209 | doc/crossfire.doc: |
|
|
8210 | - minor edits |
|
|
8211 | |
|
|
8212 | include/defines.h: |
|
|
8213 | - moved object type numbers to object.h |
|
|
8214 | - moved flag numbers to object.h |
|
|
8215 | - moved NROFREALSPELLS to spells.h |
|
|
8216 | - moved path numbers to spells.h |
|
|
8217 | - moved DESCRIBE_PATH macro to spells.h |
|
|
8218 | - moved ARMOUR_ and WEAPON_ macros to player.h |
|
|
8219 | - moved player state numbers to player.h |
|
|
8220 | - moved monster movement numbers to living.h |
|
|
8221 | - moved NROFSKILLS to skills.h |
|
|
8222 | |
|
|
8223 | include/global.h: |
|
|
8224 | - #defines from spells.h and material.h loaded early |
|
|
8225 | |
|
|
8226 | include/object.h: |
|
|
8227 | - now has the #defines for object type numbers |
|
|
8228 | |
|
|
8229 | include/skills.h: |
|
|
8230 | - moved NROFSKILLS here |
|
|
8231 | |
|
|
8232 | include/player.h: |
|
|
8233 | - added gen_sp_armour variable |
|
|
8234 | |
|
|
8235 | include/spellist.h: |
|
|
8236 | - added mana spells, Dancing Sword, and Animate Weapon |
|
|
8237 | |
|
|
8238 | include/spells.h: |
|
|
8239 | - moved NROFREALSPELLS here and updated it |
|
|
8240 | - now has the #defines for spell path nummbers |
|
|
8241 | - added mana spells, Dancing Sword, and Animate Weapon |
|
|
8242 | |
|
|
8243 | include/sproto.h: |
|
|
8244 | - added animate_weapon and pay_from_container prototypes |
|
|
8245 | |
|
|
8246 | include/material.h: |
|
|
8247 | - new |
|
|
8248 | |
|
|
8249 | lib/spell_params: |
|
|
8250 | - added entries for mana spells along with their fire equivalents |
|
|
8251 | |
|
|
8252 | lib/formulae: |
|
|
8253 | - minor spelling fixes to match minor spelling fixes in artifacts |
|
|
8254 | |
|
|
8255 | lib/artifacts: |
|
|
8256 | |
|
|
8257 | Weapons |
|
|
8258 | - Sanwe -> Gnarg (any weapon) |
|
|
8259 | chance 5, value x10, magic 0, dam 120% |
|
|
8260 | |
|
|
8261 | - Lythander (any weapon) |
|
|
8262 | chance 5, value x20, magic 0, luck +1, weight 90% |
|
|
8263 | |
|
|
8264 | - Gwormi -> Gaea (wooden weapons only) |
|
|
8265 | chance 20, value x50, magic 2, regen +1, dam 110% |
|
|
8266 | |
|
|
8267 | - Slay Demon -> Valriel (any weapon) |
|
|
8268 | chance 15, value x30, magic 2, weapon speed 120%, slaying demon |
|
|
8269 | |
|
|
8270 | - (new) Gorokh (any weapon) |
|
|
8271 | chance 15, value x30, magic 2, weapon speed 120%, slaying angel |
|
|
8272 | |
|
|
8273 | - (new) the Devourers (any weapon) |
|
|
8274 | chance 8, value x30, magic 1, attacktype: physical, cold, depletion |
|
|
8275 | |
|
|
8276 | - (new) Mostrai (axes and hammers only) |
|
|
8277 | chance 10, value x12, magic 1, dam 140%, weight 115% |
|
|
8278 | |
|
|
8279 | - (new) Sorig (metal weapons only) |
|
|
8280 | chance 5, value x15, magic 1, weight 95%, weapon speed 125% |
|
|
8281 | attacktype physical, electricity |
|
|
8282 | |
|
|
8283 | - (new) Ruggilli (metal weapons only) |
|
|
8284 | chance 5, value 15, magic 1, weight 85%, weapon speed 110% |
|
|
8285 | attacktype physical, fire |
|
|
8286 | |
|
|
8287 | Helmets (moved to after weapons, with the rest of the armour) |
|
|
8288 | - Lordliness -> Valriel (full helm only) |
|
|
8289 | chance 20, value x50, magic 2, Wis +1, Cha +1 |
|
|
8290 | |
|
|
8291 | - Uriel -> Sorig |
|
|
8292 | chance 10, value x20, magic 1, ac +1, armour 120%, prot electricity |
|
|
8293 | |
|
|
8294 | Shields |
|
|
8295 | - Theodin -> Mostrai |
|
|
8296 | chance 8, value x24, magic 1, prot fire |
|
|
8297 | |
|
|
8298 | - Gnarg |
|
|
8299 | chance 8, value x12, magic 1, ac +1, armour 180%, Cha -1 |
|
|
8300 | |
|
|
8301 | Gauntlets |
|
|
8302 | - (new) Sorig (gauntlets only) |
|
|
8303 | chance 15, value x75, magic 2, armour 10, weight 125%, attack: electricity |
|
|
8304 | |
|
|
8305 | - (new) Sorig (gloves only) |
|
|
8306 | chance 10, value x10, magic 1, armour 5, weight 125%, prot: electricity |
|
|
8307 | |
|
|
8308 | Armour |
|
|
8309 | - (new) Valriel (plate and scale only) |
|
|
8310 | chance 6, value x20, magic 1, armour 120%, weight 110% |
|
|
8311 | |
|
|
8312 | - (new) Gorokh (plate and scale only) |
|
|
8313 | chance 6, value x15, magic 1, ac +2, armour 110%, weight 105% |
|
|
8314 | |
|
|
8315 | - (new) Ruggilli (plate, scale, or dragon armour) |
|
|
8316 | chance 10, value x55, magic 3, ac +1, armour 120%, weight 90%, prot: fire |
|
|
8317 | |
|
|
8318 | - (new) Gaea |
|
|
8319 | chance 10, value x25, magic 2, ac +1, armour 120% |
|
|
8320 | |
|
|
8321 | Cloaks |
|
|
8322 | - (lesser version of cloak of the Underworld) the Devourers |
|
|
8323 | chance 3, difficulty 3, value x50, magic 3, weight 50%, material 0, Cha -2, |
|
|
8324 | prot: acid, drain, ghosthit, depletion |
|
|
8325 | |
|
|
8326 | Bows |
|
|
8327 | - (new) Valriel |
|
|
8328 | chance 10, value x15, magic 1, weight 110%, damage 200% |
|
|
8329 | |
|
|
8330 | - (new) Gorokh |
|
|
8331 | chance 15, value x15, magic 2, damage 160%, attacktype: physical, acid |
|
|
8332 | |
|
|
8333 | - (new) Lythander (not crossbow) |
|
|
8334 | chance 10, value x22, magic 1, weight 75%, wc +1, speed 150% |
|
|
8335 | |
|
|
8336 | - (new) Ruggilli (crossbow only) |
|
|
8337 | chance 10, value x18, magic 2, weight 85%, wc +1, speed 110%, |
|
|
8338 | attacktype: fire |
|
|
8339 | |
|
|
8340 | - (new) Sorig |
|
|
8341 | chance 12, value x20, magic 2, weight 95%, wc +1, speed 125%, |
|
|
8342 | attacktype: electricity |
|
|
8343 | |
|
|
8344 | - (new) Mostrai (crossbow only) |
|
|
8345 | chance 5, value x50, magic 3, damage 140%, speed 75%, |
|
|
8346 | attacktype: weaponmagic |
|
|
8347 | |
|
|
8348 | - (new) Thunder |
|
|
8349 | chance 10, dificulty 5, value x10, magic 2, weight 90%, damage 150%, wc +2 |
|
|
8350 | attacktype: physical, slow, paralyze |
|
|
8351 | |
|
|
8352 | ...and a few minor spelling fixes |
|
|
8353 | |
|
|
8354 | ---END OF BATCH UPDATE--- DAMN 9/17/1999 |
|
|
8355 | |
|
|
8356 | Add crossfire.oc.humbug.org.au server information to README file - msw |
|
|
8357 | |
|
|
8358 | Change compress method definitions from being determined by checks |
|
|
8359 | on system type to having autoconf find the utilities for us. Also, add |
|
|
8360 | bzip2 support. Files affected: Makefile.in configure.in common/map.c |
|
|
8361 | server/init.c server/login.c include/config.h include/define.h |
|
|
8362 | include/autoconf.h.in - msw |
|
|
8363 | |
|
|
8364 | Fix in server/rune.c - if the victim of a trap/rune is not on a map |
|
|
8365 | and the object has a disease, it would crash the server. Temporary |
|
|
8366 | fix put in to make sure there is a map, and if not, use a predefined |
|
|
8367 | difficult of 1. I think the real issue is how can an object not on a map |
|
|
8368 | be setting a trap (in this particular bug, reported by Klaus Elsbernd, |
|
|
8369 | the victim was a thrown object) - msw |
|
|
8370 | |
|
|
8371 | Change by dragonm@absolut.tegris.org - improve crossedit so that if you |
|
|
8372 | try to load a map you alreay have in memory, it will raise the window - |
|
|
8373 | it will also give you the option to forget, save changes, or just raise |
|
|
8374 | the window if the in memory version of that map has been modified. Checked |
|
|
8375 | in by msw. (crossedit, App.c, Edit.c, Edit.h) |
|
|
8376 | |
|
|
8377 | Bugfix in server/apply.c - apply_container() |
|
|
8378 | When checking for keys to locked containers, only searched player's |
|
|
8379 | inventory, not keyrings. Changed to use FindKey function in player.c, |
|
|
8380 | which does search keyrings. |
|
|
8381 | --DAMN |
|
|
8382 | |
|
|
8383 | Bugfix in server/main.c - enter_exit() |
|
|
8384 | Unique maps were using their actual location as a path for moving to |
|
|
8385 | a new map. They need to use the location of the original map, not |
|
|
8386 | the character's individual copy of it. This is re-constructed from |
|
|
8387 | the individual map's filename, which is based on the original path. |
|
|
8388 | --DAMN |
|
|
8389 | |
|
|
8390 | Remove xbmtobdf man page - since it is run automatically and it is likely |
|
|
8391 | that people will not run it manually (and it appears to be innacruate - or |
|
|
8392 | at least imcomplete), may as well remove it. - msw |
|
|
8393 | |
|
|
8394 | Change install location of man pages to section 6 instead of section 1 - msw |
|
|
8395 | |
|
|
8396 | New man page submitted by Egbert Hinzen that is actually correct and |
|
|
8397 | accurate as the options now relate to crossfire. - msw |
|
|
8398 | |
|
|
8399 | This one is a suggested fix for the alchemy bug that grants obscene |
|
|
8400 | amounts of experience for certain formulas. Those formulas are the ones |
|
|
8401 | that create items with a high fixed level, because those items are |
|
|
8402 | pretty worthless otherwise. Dust of Repelling Undead, for example, is |
|
|
8403 | level 30. |
|
|
8404 | The fix I implemented here is to base the chance of success largely |
|
|
8405 | on the level of the product, so it's very difficult to produce |
|
|
8406 | something like Dust of Repelling Undead, and therefore worth the |
|
|
8407 | extra experience. The chance of success is now based on the |
|
|
8408 | following factors: |
|
|
8409 | 1) level of product |
|
|
8410 | 2) number of ingredients in formula |
|
|
8411 | 3) rarity of formula as listed in "formulae" data file |
|
|
8412 | 4) number of batches being made |
|
|
8413 | 5) Alchemy skill (if present) |
|
|
8414 | 6) enchantment of cauldron |
|
|
8415 | 7) luck |
|
|
8416 | |
|
|
8417 | patch from DAMN |
|
|
8418 | This one makes a couple things level dependent that used to be fixed: |
|
|
8419 | 1) time it takes Word of Recall to take effect |
|
|
8420 | 2) amount of energy transferred by Transferrence spell |
|
|
8421 | 3) percentage of energy drained by Magic Drain spell |
|
|
8422 | |
|
|
8423 | Also, the following effects have been modified: |
|
|
8424 | 1) Followers of a cult that considers undead enemies have a penalty to |
|
|
8425 | Command Undead. |
|
|
8426 | 2) Magic Drain gives back to the caster a small portion of the energy |
|
|
8427 | drained from the victim. |
|
|
8428 | |
|
|
8429 | And a bug was fixed: |
|
|
8430 | 1) SP_level_dam_adjust used and SP_level_strength_adjust used the |
|
|
8431 | player's level, where they should have used the caster's level. |
|
|
8432 | --Patches from DAMN, applied by PeterM |
|
|
8433 | |
|
|
8434 | Marker object added, alchemy modified so that recipes |
|
|
8435 | can require keycodes and MARKS to execute, detectors modified |
|
|
8436 | to be able to detect MARKS, and all of this documented in |
|
|
8437 | crossfire.doc --PeterM |
|
|
8438 | |
|
|
8439 | server/gods.c -- changing gods now costs players their special |
|
|
8440 | prayers. --PeterM |
|
|
8441 | server/alchemy.c -- levels less than ten no longer produce |
|
|
8442 | cursed items, but only slag or nothing. --PeterM |
|
|
8443 | server/shop.c -- unidentified stuff is worth at most 60gp or so. |
|
|
8444 | ---PeterM |
|
|
8445 | |
|
|
8446 | random_maps/style.c - fix type in the scandir function which cause |
|
|
8447 | compilation problems for those systems that actually need it. - msw |
|
|
8448 | |
|
|
8449 | Change command_cast_spell so that it preserves a return value from |
|
|
8450 | find_spell. This re-enables partial spell matching (ie, cast prot |
|
|
8451 | will show all spells that start with that.) - msw |
|
|
8452 | |
|
|
8453 | ------------------------------------------------------------------------------ |
|
|
8454 | Change for 0.95.4: |
|
|
8455 | |
|
|
8456 | Add better comment in config.h about the DM_MAIL option - msw. |
|
|
8457 | |
|
|
8458 | Fixed and doc/playbook/Makefile.in doc/spoiler/Makefile.in so it works with |
|
|
8459 | autoconf setup. |
|
|
8460 | |
|
|
8461 | Updated to properly generated handbook.ps when needed - msw |
|
|
8462 | |
|
|
8463 | doc/crossfire.doc: Updated with disease code notes, detector notes. |
|
|
8464 | |
|
|
8465 | crossedit: Fix in edit.c to ensure map objects (mainly is_floor objects) |
|
|
8466 | are actually removed visually as well as from a pure object standpoint. |
|
|
8467 | |
|
|
8468 | Change to save_throw_object: If object is in players inventory and |
|
|
8469 | is destroyed, send update to client. This can happen when trying to |
|
|
8470 | ignite something in the inventory with flint and steel - msw. |
|
|
8471 | |
|
|
8472 | In apply_lighter, do more accurate check when seeing if the attempted |
|
|
8473 | object was actually destroyed. Also, cache the item name so that if |
|
|
8474 | it is destroyed, we have a proper name to print out. - msw |
|
|
8475 | |
|
|
8476 | fireborns changed to have Pow stat bonus instead of Wis |
|
|
8477 | stat bonus. --PeterM |
|
|
8478 | |
|
|
8479 | Some problems in the random map code fixed: specificially, |
|
|
8480 | 1) fountains no longer attempted placement outside map |
|
|
8481 | 2) Ignore files/dirs named CVS when looking for styles. |
|
|
8482 | |
|
|
8483 | I changed a few of the maps to have exits to random maps. |
|
|
8484 | I made one random house in Scorn, one random exit in the Hall of Bones |
|
|
8485 | to an undead maze, another exit to a random map in the hole SE of |
|
|
8486 | Scorn, and one in the bottom of the Tower of the Stars. --PeterM |
|
|
8487 | |
|
|
8488 | |
|
|
8489 | Update lib/Makefile.in to create empty bookarch and temp.maps files as |
|
|
8490 | part of install process. - msw |
|
|
8491 | |
|
|
8492 | Change configure.in script so that by default, files will be put in |
|
|
8493 | installdir/var/crossfire and installdir/share/crossfire instead of |
|
|
8494 | just installdir/var and installdir/share. This allows crossfire to be |
|
|
8495 | installed more cleaning without it having its own top level directory. |
|
|
8496 | Old installation behaviour can be gained by using --enable-old-layout when |
|
|
8497 | running the configure script. - msw |
|
|
8498 | |
|
|
8499 | Patch by Carsten Pluntke that fixes a problem with unique maps not being |
|
|
8500 | properly reloaded after being swapped out (main.c) - msw |
|
|
8501 | |
|
|
8502 | Fix so that when picking up objects from a container, the client gets |
|
|
8503 | an update to remove the object display from the container (ie, if |
|
|
8504 | you pick up all the gold coins from a container, the total in the players |
|
|
8505 | inventory always got corrected, but the client still displayed some in the |
|
|
8506 | container even if there should not be.) The change is in c_object.c - msw |
|
|
8507 | |
|
|
8508 | Check that hitter has a valid name before it attacks - fixes some |
|
|
8509 | crashes (attack.c) - msw |
|
|
8510 | |
|
|
8511 | Enhance lib/collect.pl to ignore CVS directories - msw. |
|
|
8512 | |
|
|
8513 | |
|
|
8514 | Improve auto_apply functions so that it will create treasures (random_* |
|
|
8515 | items) inside other objects. There is still a limit in that it will only |
|
|
8516 | look for these objects inside other top level objects - a random potion |
|
|
8517 | inside a chest inside a monster will not be processed. But that |
|
|
8518 | should be a rare case, and nesting containers very deep has never been |
|
|
8519 | well supported in the code. The code affects is in the apply.c file. -msw |
|
|
8520 | |
|
|
8521 | Add Xaw to start of libraries when linking crossedit - fixes focus problem. |
|
|
8522 | File affected configure.in - msw |
|
|
8523 | |
|
|
8524 | Fixed a bug in the "depletion on death" code. The depletion |
|
|
8525 | never had any stat removal specified. --PeterM |
|
|
8526 | |
|
|
8527 | Remove berzerk code/variable from player structure. The code had |
|
|
8528 | no effect - whatever functionality it once had has been removed in the |
|
|
8529 | past. - msw |
|
|
8530 | |
|
|
8531 | |
|
|
8532 | Add flag save information for FLAG_CLIENT_SENT that was otherwise |
|
|
8533 | missing (loader.l). This fixes the disappearing archetype bug - msw |
|
|
8534 | |
|
|
8535 | |
|
|
8536 | Fixed buffering bug in lowlevel.c |
|
|
8537 | --David |
|
|
8538 | |
|
|
8539 | ------------------------------------------------------------------------------ |
|
|
8540 | Changes from Crossfire 0.95.2 to 0.95.3: |
|
|
8541 | |
|
|
8542 | Fixed missing god animations in the archetypes. |
|
|
8543 | |
|
|
8544 | SIMPLE_EXP option added. From config.h: |
|
|
8545 | * Define this if you want to use the new (0.95.3) experience system. |
|
|
8546 | * The system has the following changes: |
|
|
8547 | * |
|
|
8548 | * 1) 2000 exp need for second level. All additional levels are shifted |
|
|
8549 | * accordingly. |
|
|
8550 | * 2) Your stats in your skill categories don't affect the amount of |
|
|
8551 | * exp you get. |
|
|
8552 | * 3) Your level difference doesn't affect the exp you get for killing |
|
|
8553 | * monsters. |
|
|
8554 | * |
|
|
8555 | * If this commented out, you get the old system. |
|
|
8556 | * |
|
|
8557 | * This can also be set by using -simple-exp/+simple-exp as a run |
|
|
8558 | * time option. |
|
|
8559 | |
|
|
8560 | |
|
|
8561 | Change treasure lists so that stat improving potions won't show up in |
|
|
8562 | shop. They should still show up on the ramdom_potion spaces on the |
|
|
8563 | maps (may in fact be slightly more common there than before) |
|
|
8564 | |
|
|
8565 | Move socket related code out of server directory and into socket directory |
|
|
8566 | and re-arrange cod so that what is in what file makes more sense. |
|
|
8567 | |
|
|
8568 | Code from Peter Mardahl to have death result in stat depletion and |
|
|
8569 | not actual stat loss. Setable by via STAT_LOSS_ON_DEATH option in config.h |
|
|
8570 | or -stat_loss_on_death/+stat_loss_on_death command line |
|
|
8571 | options. |
|
|
8572 | |
|
|
8573 | Patch by Peter Mardahl to change immunity spells from PATH_PROT to PATH_NULL |
|
|
8574 | - this will stop gods from giving out these spells. |
|
|
8575 | |
|
|
8576 | Patch by Peter Mardahl so that players will never fumble the reading |
|
|
8577 | of scrolls. You only get half as much exp for reading the scrolls now |
|
|
8578 | however. |
|
|
8579 | |
|
|
8580 | Update the README file - the list of public servers was grossly out of date |
|
|
8581 | and mostly removed. The instructions for running/playing were out of date, |
|
|
8582 | containing information for servers with the old X11 code. |
|
|
8583 | |
|
|
8584 | Change CAN_MERGE so that identified items with different been_applied |
|
|
8585 | will merge (this is currently done by just setting the been_applied flags |
|
|
8586 | for the object in CAN_MERGE if they have been identified) |
|
|
8587 | |
|
|
8588 | Temporary fix for disease code - I was seeing endless loops in weight |
|
|
8589 | contributions because an disease object op->env points back at itself. |
|
|
8590 | In do_symptoms, we check to see if the victim matches the disease we |
|
|
8591 | are about to infect them with, and if so, don't proceed further. The |
|
|
8592 | cause of this pointer recursion needs to be found instead of |
|
|
8593 | this current fix. |
|
|
8594 | |
|
|
8595 | Change daemon.c so that hpux systems can also use ioctl (.., TIOCTTY, ..) |
|
|
8596 | call in addition to SYSV systems. |
|
|
8597 | |
|
|
8598 | players and logs command added. players show all current player names |
|
|
8599 | currently in use, logs show sockets that are currently listening for |
|
|
8600 | kill log information. Add limited support for some commands from |
|
|
8601 | the socket (hiscore, logs, maps, motd, players, version, who). |
|
|
8602 | After socket has been authenticated to have valid server, shout and tell |
|
|
8603 | also available. To switch socket into old style mode, first command |
|
|
8604 | entered should be 'oldsocketmode'. Server code then knows not to |
|
|
8605 | prepend packet length information, so most functions work on this new |
|
|
8606 | socket without any changes. |
|
|
8607 | |
|
|
8608 | Add verify_player function to login.c (takes name and password and verifies |
|
|
8609 | they are ok - used for old socket emulation). Also notify all |
|
|
8610 | players when a player joins the game (this must have gotten removed |
|
|
8611 | at some point). |
|
|
8612 | |
|
|
8613 | change prototype for cs_write_string to take a constant string. In |
|
|
8614 | readpacket, have it read in 100 bytes even if length information looks |
|
|
8615 | incorrect (allows easier initial switching to oldsocketmode). If |
|
|
8616 | the length of the input buffer is for some reason negative, call abort. |
|
|
8617 | |
|
|
8618 | Clean up nconns in socket.c - it was being increased 2 times when |
|
|
8619 | a socket was added, and decreased by 2 when a socket was removed. |
|
|
8620 | Add newline to initial version command so people telneting in for |
|
|
8621 | old socket compatibilty get something a little more presentable. |
|
|
8622 | command char pointer added to newsocket structure - used for player |
|
|
8623 | name or listener html address. Fix in memory overrun/corruption when |
|
|
8624 | freeing the last allocated socket - it would write data beyond the allocated |
|
|
8625 | data. |
|
|
8626 | |
|
|
8627 | if new_draw_info is called to notify everyone, also notify sockets |
|
|
8628 | running in old mode if it isn't a kill log listener. |
|
|
8629 | |
|
|
8630 | Update commands.h file so that it won't declare various values if included |
|
|
8631 | multiple times - only the first time it is included will it declare the |
|
|
8632 | values. |
|
|
8633 | |
|
|
8634 | Add extern declaration for init_sockets to global.h since other functions |
|
|
8635 | now need to access them. |
|
|
8636 | |
|
|
8637 | Who command extended to also show active socket connections without a player |
|
|
8638 | attached. |
|
|
8639 | |
|
|
8640 | Kill log (watchable from socket) added. |
|
|
8641 | |
|
|
8642 | Add support to use old socket commands on the new port. |
|
|
8643 | |
|
|
8644 | Fix by Seikoh Nishita for weapons that slay multiple creatures - before |
|
|
8645 | fix, they would not slay anything (args to strstr were reversed) |
|
|
8646 | |
|
|
8647 | Don't give out exp for orating to monsters owned by another player - fixes |
|
|
8648 | abuse since 2 players could quickly orate back and forth and gets lots of |
|
|
8649 | exp. The orate function was also cleaned up a bit to be more efficient |
|
|
8650 | (presumption is made that there is only 1 monster on any one space, so once |
|
|
8651 | we find one, there is no need to do further processing) |
|
|
8652 | |
|
|
8653 | If door is passable, print a message to the player if he tries to |
|
|
8654 | pick the lock and don't let them pick it (examples here are the |
|
|
8655 | doors which you can walk through) |
|
|
8656 | |
|
|
8657 | Fix by Seikoh Nishita that should prevent some crashes when exiting |
|
|
8658 | shops - appears that there could be circumstances when i was trying |
|
|
8659 | to referance a null pointer in an error message. |
|
|
8660 | |
|
|
8661 | Add popen_local for sgi systems - without this, sgi can only open one |
|
|
8662 | compressed map before it fails to open further compressed maps. |
|
|
8663 | |
|
|
8664 | Fix by Timo Kokkonen so that resurrection works with the new player |
|
|
8665 | save method. This should also fix the problem that dead players when |
|
|
8666 | using PERMADEATH being able to log in after dying. |
|
|
8667 | |
|
|
8668 | Allow FORCE objects to increase digestion/hp/sp/grace regeneration. |
|
|
8669 | |
|
|
8670 | Remove style.h file, since we now have an automatically generated proto file |
|
|
8671 | from random directory source. Also fix in makefine to use proper ar |
|
|
8672 | when creating the archive. |
|
|
8673 | |
|
|
8674 | Add 'race *' to maps/styles/misc/fountains - this fixes a crash when |
|
|
8675 | entering random maps. |
|
|
8676 | |
|
|
8677 | If use presses an incorrect key at the play again prompt, reprint the |
|
|
8678 | play again question. |
|
|
8679 | |
|
|
8680 | Change find_free_spot to return -1 if no spot available, update calls so |
|
|
8681 | check for this return value instead of 0 (value = means current spot |
|
|
8682 | available) |
|
|
8683 | |
|
|
8684 | Change pet movement so that pets should no longer jump walls. |
|
|
8685 | |
|
|
8686 | Update configure, makefiles, and code to use proper locations of installed |
|
|
8687 | files (no longer $prefix/lib, instead $prefix/share for read only, |
|
|
8688 | and $prefix/var for read/write. |
|
|
8689 | |
|
|
8690 | When using a special key to open the door, print a message informing the |
|
|
8691 | player what key was used to open the door. |
|
|
8692 | |
|
|
8693 | Minor map cleanups/changes. Some improper exits changed to point the |
|
|
8694 | right place, extraneous style maps removed due to new gods, other maps |
|
|
8695 | updated to replace now missing altars with their replacements. |
|
|
8696 | |
|
|
8697 | Change gate code logic so instead of using speed to determine if the object |
|
|
8698 | can move itself, we instead check the ALIVE flag (this fixes problems for |
|
|
8699 | animated objects, and is a more accurate method in any case.) |
|
|
8700 | |
|
|
8701 | Fix by S.Nishita so that containers on the ground get properly unapplied |
|
|
8702 | when player moves off them. |
|
|
8703 | |
|
|
8704 | Fix by S.Yoshioka's so that damage for cone spells is calculated properly |
|
|
8705 | as they propogate. |
|
|
8706 | |
|
|
8707 | Remove server side referances to INFOLINES and INFOCHARS, since that is now |
|
|
8708 | controlled by the client. |
|
|
8709 | |
|
|
8710 | Code cleanup to random map generator to prevent compiler warnings. |
|
|
8711 | Also, change comparision of val == 0x1 to val-1 = null, since the |
|
|
8712 | later is more portable. |
|
|
8713 | |
|
|
8714 | added some missing newlines to log messages in the newsocket.c file. |
|
|
8715 | |
|
|
8716 | fix pickup modes some - mode 4 appeared to work ok (pickup all), but mode |
|
|
8717 | 5 wasn't working right (pickup all and stop). I have tested the modes |
|
|
8718 | with the X11 client, and they all appear to work properly. |
|
|
8719 | |
|
|
8720 | House of Healing map (with link from starting city) added by Peter Mardahl. |
|
|
8721 | |
|
|
8722 | Change player move code so you will no longer swap spaces with a pet |
|
|
8723 | monster/other friendly object is you are braced. |
|
|
8724 | |
|
|
8725 | Fix off by one error in the buffering socket buffering code - this would |
|
|
8726 | cause buffer overflows if the data being added equaled exactly the buffer |
|
|
8727 | size+1. Similar fix when reading in packets |
|
|
8728 | |
|
|
8729 | Increase NROFATTACKS to 24 in define.h so the AT_INTERNAL attacktype |
|
|
8730 | work properly. |
|
|
8731 | |
|
|
8732 | Patch by S.Yoshioka so that godpower/holyword spells are not magical. |
|
|
8733 | |
|
|
8734 | Fix in attack.c by S.Yoshioka to call free_object instead of free for |
|
|
8735 | splitting monsters. |
|
|
8736 | |
|
|
8737 | Fix by S.Yoshioka so that magic bullet or other pure magic spells do |
|
|
8738 | damage to other parts of multisquare monsters. |
|
|
8739 | |
|
|
8740 | Fix by S.Yoshioka so that you can not get exp in other skills with cone |
|
|
8741 | spells. |
|
|
8742 | |
|
|
8743 | Fix by Seikoh Nishita so that magic walsl can not be placed on top of |
|
|
8744 | other walls/monsters. |
|
|
8745 | |
|
|
8746 | Fix by Seikoh Nishita so that we don't clear the NO_STEAL flag on |
|
|
8747 | insert_ob_in_map - this makes singing/stealting from the same monster |
|
|
8748 | multiple times impossible. |
|
|
8749 | |
|
|
8750 | Patch by Seikoh Nishita so that boulders will roll off gates. |
|
|
8751 | |
|
|
8752 | Have server send updated weight of container when dropping all items from |
|
|
8753 | a container. |
|
|
8754 | |
|
|
8755 | New random map decore styles for new religions added. |
|
|
8756 | |
|
|
8757 | Patches from James Cameron to fix compile errors/warnings. |
|
|
8758 | |
|
|
8759 | Fix missing animations for some of the gods. |
|
|
8760 | |
|
|
8761 | Remove *.orig files from maps/picks directory. |
|
|
8762 | |
|
|
8763 | Maps updated wtih dtabb 2.60, navar_city 2.40 maps from John Cater. |
|
|
8764 | |
|
|
8765 | ------------------------------------------------------------------------------ |
|
|
8766 | Changes from Crossfire 0.95.1 to 0.95.2: |
|
|
8767 | |
|
|
8768 | speed_left values should not be changed when loading/saving maps with the |
|
|
8769 | editor. |
|
|
8770 | |
|
|
8771 | Map updates from Anthony Tyson and others (990128 version) |
|
|
8772 | |
|
|
8773 | Note: I was unable to reproduce the staff to snake killing the client bug. |
|
|
8774 | If still in this client/server release, please let me know. |
|
|
8775 | |
|
|
8776 | Set player->count in esrv_move_item when picking up objects. This fixes |
|
|
8777 | a bug introduced in 0.95.1 for the improved pickup code which only allowed |
|
|
8778 | picking up of all the objects on the ground. |
|
|
8779 | |
|
|
8780 | lifesaving items should now disappear from client inventory after they |
|
|
8781 | are used. |
|
|
8782 | |
|
|
8783 | Improve decrease_ob_nr so that items dropped on the ground will get removed |
|
|
8784 | from the players inventory if they are used up (fixes bug where you drop |
|
|
8785 | the last of some item on an altar but it would not disappear from your |
|
|
8786 | inventory) |
|
|
8787 | |
|
|
8788 | Add check to add_exp so that we don't add experience to non living creatures. |
|
|
8789 | This should fix the thrown objects getting lots of speed bug. |
|
|
8790 | |
|
|
8791 | Random map code by Peter Mardahl added. Various changes made so it will |
|
|
8792 | compile on non gcc systems as well as non bsd systems. |
|
|
8793 | |
|
|
8794 | Another fix for pits (holes) so objects should drop through. The fix |
|
|
8795 | in the last release made fixed a possible infinite loop, but also made |
|
|
8796 | it that once an object on the pit could not drop through, no other objects |
|
|
8797 | on the pit would drop through. The change made will attempt to drop all |
|
|
8798 | objects through the pit, but also not run into a problem with infinite loops. |
|
|
8799 | |
|
|
8800 | Update pedestal and detector code to also match on the lockcode of the |
|
|
8801 | special keys. |
|
|
8802 | |
|
|
8803 | Change detector function to call push_button instead of update_button. |
|
|
8804 | The later would only change the state of buttons, which doesn't do much |
|
|
8805 | good when you want to open a gate. push_button will cause gates and |
|
|
8806 | other connected objects to open. |
|
|
8807 | |
|
|
8808 | Change move_gate so that it won't roll off things like grass or other |
|
|
8809 | immovable objects. |
|
|
8810 | |
|
|
8811 | Update configure script to check for scandir function (needed by disease |
|
|
8812 | code) - if not found, then check in -lucb. |
|
|
8813 | |
|
|
8814 | Disease code from Peter Mardahl added. |
|
|
8815 | |
|
|
8816 | add break value in while loop in generate artifact message (readable.c) so |
|
|
8817 | we eventually break out if no match is found. |
|
|
8818 | |
|
|
8819 | reduce minimum supported map size in crossedit to 1x1 |
|
|
8820 | |
|
|
8821 | Don't let characters be easily saved on unholy ground. Player can't issue |
|
|
8822 | 'save' command when on unholy ground, and we don't autosave if on unholy |
|
|
8823 | ground. |
|
|
8824 | |
|
|
8825 | Improve pickup code mode 6 (pickup magic item) - call is_magical to |
|
|
8826 | determine if an item is magical instead of relying on known_magical flag. |
|
|
8827 | |
|
|
8828 | If the player has a marked item in need of identifying, identify that |
|
|
8829 | specific item first when an apply altar is used. This allows a player |
|
|
8830 | to selective choose what to identify. |
|
|
8831 | |
|
|
8832 | Fix in apply code between server and client. Containers on the ground |
|
|
8833 | now work properly. Server side simplified a bit, and updated to be a bit |
|
|
8834 | more bandwidth efficient (use update item to open/close containers.) Client |
|
|
8835 | updated to handle updating its container status via the update commands. |
|
|
8836 | |
|
|
8837 | Fix in pay_for_item in that it will not mistake kobans or other coins for |
|
|
8838 | gold coins when making change (or converting the older coins into new |
|
|
8839 | coins with the same arch but with a different value) |
|
|
8840 | |
|
|
8841 | Have player swap places with pet monster even if player no longer has peacful |
|
|
8842 | set. |
|
|
8843 | |
|
|
8844 | At confirmation when player quits, inform them that quitting will delete |
|
|
8845 | the chararacter. |
|
|
8846 | |
|
|
8847 | When a weapon is improved by the god, if it had no prior attactkype set, |
|
|
8848 | give it physical attacktype in addition to what the god gives it. |
|
|
8849 | |
|
|
8850 | By default, make new players peaceful. |
|
|
8851 | |
|
|
8852 | Fix up the fire cancellation function - it seems some of the code wasn't |
|
|
8853 | quite right (inserting in map vs setting the owner.) The fix should |
|
|
8854 | prevent some core dumps this could have caused. |
|
|
8855 | |
|
|
8856 | Fix for main loop in socket.c that should prevent infinite loops when |
|
|
8857 | a socket dies in some improper way. It should now drop the connection |
|
|
8858 | properly and continue with processing. |
|
|
8859 | |
|
|
8860 | Autoconf fixes - check for canonical system, specail check for |
|
|
8861 | alpha-dec-osf to add -std1 to cflags, add check for latex, add check |
|
|
8862 | for BOURNE_SHELL (this is used in hte makefiles, as some os's will use |
|
|
8863 | the users shell, but some constructs we use require bourne type shell), |
|
|
8864 | add check for number of args gettimeofday uses, change order when |
|
|
8865 | we create the makefiles to be proper. |
|
|
8866 | |
|
|
8867 | Use autoconf check above to get correct number of args for gettimeofday. |
|
|
8868 | |
|
|
8869 | Fix from Anthony Thyssen for the editor - should hopefully fix problem with |
|
|
8870 | delete not deleting the correct object. |
|
|
8871 | |
|
|
8872 | Remove font displaymode from editor - since we are not distributing any |
|
|
8873 | fonts anymore, doesn't make a lot of sense to support it. |
|
|
8874 | |
|
|
8875 | When connection is lost from player, save off the character - prevents |
|
|
8876 | items being dropped on the floor or the players duplicating the items. |
|
|
8877 | However, some additional logic will need to be added to prevent players |
|
|
8878 | from saving their characters in treasure rooms. |
|
|
8879 | |
|
|
8880 | Improvements in save_player which should better prevent saves from |
|
|
8881 | happening at inopportune times (like after they have mostly exited). |
|
|
8882 | |
|
|
8883 | Add stat_loss_on_death option (yes/no if stat is subtracted when you die.) |
|
|
8884 | Default can be set in config.h, and can also be changed with run |
|
|
8885 | time flags. |
|
|
8886 | |
|
|
8887 | Add / behind -I@x_includes@ in crossedit/Makefile.in. This should prevent |
|
|
8888 | the includes from being reset if there are no x_includes. |
|
|
8889 | |
|
|
8890 | Extend draw_look to send multiple item commands - this should only happen |
|
|
8891 | if there are a lot of items on one square. Fix should prevent crashes/memory |
|
|
8892 | corruption in that case. |
|
|
8893 | |
|
|
8894 | ------------------------------------------------------------------------------ |
|
|
8895 | Changes from Crossfire 0.95.0 to 0.95.1: |
|
|
8896 | |
|
|
8897 | Fix server crash if player ran into friendly object. |
|
|
8898 | |
|
|
8899 | Strip extra spaces that may be between the command and option (ie, |
|
|
8900 | "use_skill disarm" would result in " disarm" getting passed to the appropriate |
|
|
8901 | command function. Some functions could deal with this, others did not, |
|
|
8902 | and it makes sense to strip them out. |
|
|
8903 | |
|
|
8904 | Send update to client to remove item from players inventory when it |
|
|
8905 | disintegrates (demon ichors for example). |
|
|
8906 | |
|
|
8907 | Change load code so that player handling on unique maps should work better |
|
|
8908 | (I believe there were various strange cases if the player saved on a |
|
|
8909 | per player unique map and that map was or was not in memory, it might not |
|
|
8910 | load the per player unique map) |
|
|
8911 | |
|
|
8912 | Removed player file lockin during login. Extra lock files get left |
|
|
8913 | laying around in aborted login attempts. And in retrospect, I don't |
|
|
8914 | think it is ever really needed. |
|
|
8915 | |
|
|
8916 | Some excessive/annoying debugging messages removed. |
|
|
8917 | |
|
|
8918 | Some general cleanup in some functions that were previous setting |
|
|
8919 | automatic variables. If the variables are none changing, we now declare |
|
|
8920 | them static, otherwise we don't set the value as the initialization |
|
|
8921 | area - this prevents warnings with some compilers. Some casts added for |
|
|
8922 | some functions to also prevent warning messages. |
|
|
8923 | |
|
|
8924 | Remove HAVE_SAVE_UID in config.h - no longer any code using it. |
|
|
8925 | |
|
|
8926 | In free_player, only call remove_ob on pl->ob if it is not already removed. |
|
|
8927 | This fixes crashes when a player kills there login session before |
|
|
8928 | it is completed. |
|
|
8929 | |
|
|
8930 | Instead of calling draw_look (which causes all data on that space being |
|
|
8931 | sent to the client) each time the space changes, instead mark that we |
|
|
8932 | need to send that change, and have code higher up (top processing loop) |
|
|
8933 | send the data each tick if it needs to be send. This should result in less |
|
|
8934 | data being sent, and is easier to process. |
|
|
8935 | |
|
|
8936 | Add flag_client_sent for debugging purposes - makes it much easier to |
|
|
8937 | trace down cases where server was sending updates without actually having |
|
|
8938 | sent the object yet. Most all of those cases are fixed with the new draw_look |
|
|
8939 | logic mentioned above. Add dump_object_from_tag to figure help figure out |
|
|
8940 | the objects generating messages. dumptag command is available from within |
|
|
8941 | the game if compiled with DEBUG to use this fucntion. |
|
|
8942 | |
|
|
8943 | Pup land maps updated to version 1.3. |
|
|
8944 | |
|
|
8945 | Fixes in configure script to autodetect X11 libraries better. Fixes |
|
|
8946 | also in Makefiles so all rules should work and all needed variables should |
|
|
8947 | now be expanded. Add checks for a few more header files. Makefile fixes |
|
|
8948 | also include changes so that archive is packed in proper order that it should |
|
|
8949 | not try to rebuild pregenerated files. Master makefile now set to |
|
|
8950 | make bzip2 archives in addition to gzip archives. |
|
|
8951 | |
|
|
8952 | Added watchdog code from Christian Stieber - periodically sends out UDP |
|
|
8953 | packets so other programs can watch for them and restart the server if it |
|
|
8954 | doesn't see them (hung or down server). |
|
|
8955 | |
|
|
8956 | Added ISQRT macro to spell_effect.c - seemed that the code was changed |
|
|
8957 | a while back but that function wasn't added. It was only needed of |
|
|
8958 | SPELL_FAILURE_EFFECTS is compiled in as an option. |
|
|
8959 | |
|
|
8960 | Simplify checking of MAXNAMELEN in crossedite/include/Posix.h |
|
|
8961 | |
|
|
8962 | Updated list of options you get when you do -help - removed old options that |
|
|
8963 | are no longer around and added new ones. |
|
|
8964 | |
|
|
8965 | Dropping an active container will now result in all the items in the |
|
|
8966 | container being dropped, and not the container itself. It could be argued |
|
|
8967 | this should be a client issue (client send a move for each item in the |
|
|
8968 | container). However, dropping everything in the container should be faster |
|
|
8969 | than individually dropping (ie, you turn the container upside down), and |
|
|
8970 | client dropping them one by one would result in that many commands of the |
|
|
8971 | player being used. |
|
|
8972 | |
|
|
8973 | Change esrv_move_object to use the pick_up function instead of pick_up_object. |
|
|
8974 | The difference here is that pick_up will look for matching containers, so |
|
|
8975 | players manually picking stuff up in the client will have items go into |
|
|
8976 | active containers as appropriate. However, this can also cause problems |
|
|
8977 | with smarter clients that really want the object to go into the players |
|
|
8978 | inventory and not a container (I don't think any will have that problem |
|
|
8979 | currently) |
|
|
8980 | |
|
|
8981 | Fix in apply for holes - return 0 if we can not move the monster through |
|
|
8982 | the hole - this prevents an infinite loop in move_hole in time.c |
|
|
8983 | |
|
|
8984 | Added internal buffering for sockets if the OS's buffers fills up. This |
|
|
8985 | greatly improves reliability in the client. Size of buffering is |
|
|
8986 | setable in config.h |
|
|
8987 | |
|
|
8988 | Fixed makefile dependancies - make install should now depend on the |
|
|
8989 | actual programs it plans to install. |
|
|
8990 | |
|
|
8991 | Fix some bugs in the animation code - most notable is animations with |
|
|
8992 | just 2 facings like the quetcoutal. Changes to archetypes is to |
|
|
8993 | change the half orc to have 4 facings the quetzalcatl to have 2 facings. |
|
|
8994 | |
|
|
8995 | Fixed animations to always use the direction value for determing object |
|
|
8996 | animations. |
|
|
8997 | |
|
|
8998 | Change examine code so that if the first thing in an object message field |
|
|
8999 | is @match, don't display the message. |
|
|
9000 | |
|
|
9001 | Fix map update code that wasn't calling update_los before sending the |
|
|
9002 | map to the client. |
|
|
9003 | |
|
|
9004 | Fix from Timo Kokkonen for socket code - check to see if we got an |
|
|
9005 | interrupted system call (EINTR) on a read/write - if so, loop until it |
|
|
9006 | clears or we get a real error. Apparantly greatly improved reliability |
|
|
9007 | of the server. |
|
|
9008 | |
|
|
9009 | ------------------------------------------------------------------------------ |
|
|
9010 | Changes from Crossfire 0.94.3 to 0.95.0: |
|
|
9011 | |
|
|
9012 | Added diagnostic message if you try to use a skill and it can't find a match |
|
|
9013 | |
|
|
9014 | Fix in send item command to better handle objects with a huge number of |
|
|
9015 | items in its inventory. |
|
|
9016 | |
|
|
9017 | Shop listing code simplified - send all data to the client at once instead of |
|
|
9018 | havign to store it and wait for the player to hit a keypress. |
|
|
9019 | |
|
|
9020 | Fix bug in ghosthit which would cause server to crash (patch for 0.94.3 |
|
|
9021 | was released for this bug) |
|
|
9022 | |
|
|
9023 | Some general code cleanup - fixing/removing unreachable statements, removing |
|
|
9024 | unused variable. |
|
|
9025 | |
|
|
9026 | Build/configuration now done by autoconf (run ./configure). This cleans up |
|
|
9027 | a lot of special checks throughout the program, and hopefully should be |
|
|
9028 | more portable. |
|
|
9029 | |
|
|
9030 | Cleaned up/rearranaged the include/.h files. Prior, most all structures |
|
|
9031 | where included in structs.h. Structures and support values now in unique |
|
|
9032 | header files (ie, player structure and support enums and like in player.h, |
|
|
9033 | object structure and support in object.h, etc.). This doesn't change the |
|
|
9034 | working on the code, but is just easier to maintain. global.h takes care |
|
|
9035 | of including these is the correct order. |
|
|
9036 | |
|
|
9037 | Many options now removed from config.h file. Options removed either relate |
|
|
9038 | to X11 code/old server support or machine specific details which we can |
|
|
9039 | now pick up via autoconf. |
|
|
9040 | |
|
|
9041 | Better speed checking in update_object_speed. |
|
|
9042 | |
|
|
9043 | When improving a weapon, client should now get updated (code was updating |
|
|
9044 | the incorrect object) |
|
|
9045 | |
|
|
9046 | Improve apply below to be more bug free (that is to say, we preserve |
|
|
9047 | the pointer to the next object - I think there were cases where the |
|
|
9048 | last of an object was applied, and thus removed, but the apply function |
|
|
9049 | did not return a code specifying something was applied, so the code would |
|
|
9050 | then try to apply an object with an invalid pointer) |
|
|
9051 | |
|
|
9052 | Fix for collect.pl script to fix problem traversing directories. |
|
|
9053 | |
|
|
9054 | (note for 0.95.0, there were many large scale changes, so many of the |
|
|
9055 | entries below are more of just an overview of what changed, and not a highly |
|
|
9056 | detailed account of the changes.) |
|
|
9057 | |
|
|
9058 | Fix/improvement in player movers so that players trying to run in the |
|
|
9059 | direction they move don't move incredibly fast. They will still seem to |
|
|
9060 | move faster (I am guessing roughly player speed + mover speed now). I am |
|
|
9061 | not sure of the original bug, but my guess is that the mover moves the |
|
|
9062 | player to the next mover (which has a low speed). But now the player still |
|
|
9063 | has his own action left, and moves to the next mover which has high speed, |
|
|
9064 | so wisks the player to the next mover, which has low speed, so he |
|
|
9065 | effectively moves 3 spaces in one tick when he should just move one. |
|
|
9066 | |
|
|
9067 | Changed save player method so that a directory is created for each |
|
|
9068 | player. |
|
|
9069 | |
|
|
9070 | Added per player unique maps (new apartments). Maps from Christian |
|
|
9071 | Stieber, however the implementation is a bit different - if an exit is |
|
|
9072 | marked as unique, it will lead to a unique maps. The unique maps are |
|
|
9073 | stored in the new player save file directories as above. |
|
|
9074 | |
|
|
9075 | Removed all X11 support from the server code. Change crossedit so that |
|
|
9076 | it can read in the pixmaps as they are stored in for the client/server |
|
|
9077 | support (so that only 1 copy needs to be kept). This method of reading them |
|
|
9078 | in is slower than the montage method unfortunately. |
|
|
9079 | |
|
|
9080 | Changed socket handling. Port 13326 has been removed from active service. |
|
|
9081 | Socket information is now part of player structure, which cleans up a lot |
|
|
9082 | of the old code which had to do with find the player that correlates to |
|
|
9083 | a socket and vice versa. |
|
|
9084 | |
|
|
9085 | Fix bug so that if invaliad variable is given to dm 'patch' command, program |
|
|
9086 | no longer crashes. |
|
|
9087 | |
|
|
9088 | Fix bug so that containers that have a huge number of items don't crash |
|
|
9089 | the server (a container needed to have more than 250 items for this to |
|
|
9090 | happen). The real problem is containers that allow an infinite amount of |
|
|
9091 | junk to be stored in them (Lepreds bag, but this item/map isn't part of the |
|
|
9092 | standard distribution). Even with the fix, there still becomes some point |
|
|
9093 | where problems will occur (around 2000 items, the amount of data that |
|
|
9094 | needs to be sent would exceed the size of the output buffer). In any |
|
|
9095 | case, with that many items in place, the player will see a noticable |
|
|
9096 | performance hit when such containers are opened. |
|
|
9097 | |
|
|
9098 | Fix bug that caused the program to crash when attacking ghost or other |
|
|
9099 | creatures with ONE_HIT flag set. |
|
|
9100 | |
|
|
9101 | Print out message to player if they have old keybindings. |
|
|
9102 | |
|
|
9103 | Some map fixes by Christian Stieber - eliminate ability to bypass |
|
|
9104 | quest and typo fixed in other map. |
|
|
9105 | |
|
|
9106 | Fix so that perceive spell (off of rods/staves/scrolls) properly finds |
|
|
9107 | the god of the player. |
|
|
9108 | |
|
|
9109 | ------------------------------------------------------------------------------ |
|
|
9110 | Changes from Crossfire 0.94.2 to 0.94.3: |
|
|
9111 | |
|
|
9112 | Fixes to some recipes - before some had non existant ingredients. |
|
|
9113 | As part of this, a treasurelist for ogres added. |
|
|
9114 | |
|
|
9115 | archsearch.pl function added to lib/adm. Useful little perl script that |
|
|
9116 | can do object context searches (ie, immune to X and attacktype of Y) |
|
|
9117 | |
|
|
9118 | Old loader code removed - only lex loader supported now (no bugs reported, |
|
|
9119 | so it seems to be OK) |
|
|
9120 | |
|
|
9121 | Debugging output improved in various areas to be easier to read/better |
|
|
9122 | inform what is happening. |
|
|
9123 | |
|
|
9124 | Hopeful fix in place to prevent player movers causing players to have |
|
|
9125 | -infinite in speed_left. Fix right now is to just limit speed_left |
|
|
9126 | to -50 - I believe the real problem is that some player moves have |
|
|
9127 | speed=0.0, and it is diving by that value. |
|
|
9128 | |
|
|
9129 | Fix so that if a player dimension doors onto a player mover, he no longer |
|
|
9130 | gets stuck in an endless loop - he will now move along the movers as |
|
|
9131 | expected. |
|
|
9132 | |
|
|
9133 | When a player dies in NOT_PERMADEATH mode, clear the braced flag. |
|
|
9134 | |
|
|
9135 | In the case of spell failure, don't cast mana storm in no magic areas |
|
|
9136 | (instead, just kill the player) |
|
|
9137 | |
|
|
9138 | Only write out an updated bookarchive if data has actually changed and needs |
|
|
9139 | to be written out. |
|
|
9140 | |
|
|
9141 | Don't print out new client server usage logging if nothing has changed. |
|
|
9142 | |
|
|
9143 | Reduced power of 'loose mana' (it appears this only happens when a spell |
|
|
9144 | is failed really badly). It seemed to me that the area of affect and |
|
|
9145 | damage could be many times deadlier than anything else out there. |
|
|
9146 | |
|
|
9147 | Hopeful bug fix for thrown objects getting very fast speed (I am unable |
|
|
9148 | to reliably reproduce this, so am not sure.) Basically, I believe the |
|
|
9149 | problem was that set_owner was only being set for the wrapper in the |
|
|
9150 | thrown object, but it is the actual internal object that gets used at |
|
|
9151 | some point in the attack sequence. As such, I believe that the knife, |
|
|
9152 | spear, whatever was getting the exp for the kill (exp = speed in |
|
|
9153 | weapons). To hopefully fix this, I have also added a set_owner call |
|
|
9154 | on the real object so when it goes to grant exp, it should find a |
|
|
9155 | valid place for it and credit the player and not the weapon. |
|
|
9156 | |
|
|
9157 | Changed spell parsing so 'of' is not needed in some complex |
|
|
9158 | spells (ie, create food or marking rune). From kfitzner@nexus.v-wave.com |
|
|
9159 | |
|
|
9160 | Fixed bug in which you could kill multispace monsters with paralyze or |
|
|
9161 | slow attacktypes. |
|
|
9162 | |
|
|
9163 | Added ncom and comc commands to client and server. These commands allow |
|
|
9164 | client command queing/dropping (note that server will only send a comc if it |
|
|
9165 | gets a ncom first, so old clients should still work just fine). The |
|
|
9166 | protocol numbers increased to 1021. |
|
|
9167 | |
|
|
9168 | Added more objects to the show invisible list - hopefully the pupland |
|
|
9169 | maps should now be fully playable. |
|
|
9170 | |
|
|
9171 | RPLAY_SOUND definitions changed to RPLAY_SND - should make for cleaner |
|
|
9172 | compilations for those using that. |
|
|
9173 | |
|
|
9174 | Fixed #ifdef for NetBSD in common/time.c to use proper symbol. |
|
|
9175 | |
|
|
9176 | Fix so that counterspell should no longer kill monsters with magic |
|
|
9177 | attacktype (ie, jessys and probably others) |
|
|
9178 | |
|
|
9179 | Added debugging in deathstrike code to hopefully be able to better track |
|
|
9180 | down face of death problems. My guess is that it is a problem with level |
|
|
9181 | comparisons. |
|
|
9182 | |
|
|
9183 | Fixed/clarified many nexted if/else statements that were ambiguous. Now |
|
|
9184 | braces are properly in place (From Klaus Elsbernd) |
|
|
9185 | |
|
|
9186 | Hopeful bug for disappear objects when emptying bags. I believe the |
|
|
9187 | problem was that invisible objects ended up showing up in the containers |
|
|
9188 | somehow - this by itself is not a problem. However, the empty bag |
|
|
9189 | function calls drop with the object to drop and keeps the next value - |
|
|
9190 | however, drop would forward past the invisible object so the calling functions |
|
|
9191 | next value is no longer accurate. Drop function now does not skip over |
|
|
9192 | invisible objects in containers (will skip over them in player inventory) - |
|
|
9193 | it instead removes the invisible object since I believe it is garbage |
|
|
9194 | anyways. I am not sure if this will fix the problem, but there was |
|
|
9195 | certainly some problem in the code here. |
|
|
9196 | |
|
|
9197 | Fixed bug with multipart monsters & pits. Before, they got split into |
|
|
9198 | a few parts like a magician trick. Now they stay in one piece. At |
|
|
9199 | current time, the logic probably isn't great, as all that is currently checked |
|
|
9200 | for is the head of monster being on a pit - in reality, probably all the |
|
|
9201 | monster parts need to be on a pit. |
|
|
9202 | |
|
|
9203 | -m9 and -mt options added (Code from Raphakl Quinet). Formulas have |
|
|
9204 | been fixed such that all are now creatable (none missing archetypes). However, |
|
|
9205 | the output still shows some formulas out of balance in terms of costs. |
|
|
9206 | |
|
|
9207 | Changed AT_GHOSTHIT meaning and added ONE_HIT flag. GHOSTHIT is now treated |
|
|
9208 | like any other attacktype (monster will not be removed just for having |
|
|
9209 | ghosthit). ONE_HIT flag now means the monster will disappear. This fixes |
|
|
9210 | the acid sphere deadliness (before, they did have ghosthit as an |
|
|
9211 | attacktype). All the objects with ghosthit have been updated. However, |
|
|
9212 | there are probably some other undead which could now have ghosthit added |
|
|
9213 | to their attacktypes since it won't cause them to disappear now. |
|
|
9214 | |
|
|
9215 | Updated the programming_guide doc. Hopefully, it is a bit easier to read |
|
|
9216 | and a little more accurate. |
|
|
9217 | |
|
|
9218 | Improved polymorph. Invisible objects should no longer appear. Also improved |
|
|
9219 | so that all objects of a type would be possible results (before, it would |
|
|
9220 | be the first 80 weapons would be chosen from, or the first 80 monsters, etc.) |
|
|
9221 | Now it is unlimited. Smarter initial selection should also result in |
|
|
9222 | a few less meltdowns from it now being able to find an acceptable object. |
|
|
9223 | Also, possible fix that could cause crashes on rare occasion (monster |
|
|
9224 | polymorphed into something else, and when inserted into the map, something |
|
|
9225 | on that space kills it) Also, we stop processing a space once we hit the |
|
|
9226 | floor - I don't recall floor types ever changing anyways, but there could |
|
|
9227 | be other problems processing subfloor items. |
|
|
9228 | |
|
|
9229 | ------------------------------------------------------------------------------ |
|
|
9230 | Changes from Crossfire 0.94.1 to 0.94.2: |
|
|
9231 | |
|
|
9232 | Changed calls to send_query on server side to include the string on what |
|
|
9233 | the query is for. This is to make clients be able to do smarter/nicer |
|
|
9234 | things when it receives a query. |
|
|
9235 | |
|
|
9236 | Bug fix in check_walk_on which would cause crashes when objects are put on |
|
|
9237 | spaces with multiple destructive forces (ie, earthwall cast on top of |
|
|
9238 | a double pool of chaos). Once check_walk_on finds that the item has |
|
|
9239 | been freed, it stops doing any further processing on it. |
|
|
9240 | |
|
|
9241 | Animation code cleaned up. Animations are now object properties, and not |
|
|
9242 | archetype properties (and thus can be changed in maps). Also cleaned up so |
|
|
9243 | that the is_turning flag is removed - more complex animations available via |
|
|
9244 | the num_facings. Below is the section from the TODO file. Note that there |
|
|
9245 | is still potential to improve animations (many 1 frame animations could take |
|
|
9246 | advantage of the new code to have multi frame (ie, players can now have |
|
|
9247 | images for all directions, and animations for each of those) New code is in |
|
|
9248 | common/anim.c: |
|
|
9249 | Clean up animation code and make it more general purpose (instead of |
|
|
9250 | is_animated and is_turning flags, instead add a value that |
|
|
9251 | states how many animations/direction there are. For example, right |
|
|
9252 | now the big dragon has 8 animations and 2 facings (left & right), with |
|
|
9253 | 4 animations/facing. Something like num_facings could be added so we |
|
|
9254 | know there is 2 facings. For arrows, num_facings would be 8, so we |
|
|
9255 | know that it shouldn't be animated (since there are only 8 images in its |
|
|
9256 | animation.) This would make the code a little cleaner, and allow better/ |
|
|
9257 | more complex animations (an object that faces 8 directions could have |
|
|
9258 | animations for all directions, were as right now, that is not possible.) |
|
|
9259 | |
|
|
9260 | collect.pl changed to handle generation of animation file. |
|
|
9261 | |
|
|
9262 | Wipe below added to crossedit by Steven Unruh |
|
|
9263 | |
|
|
9264 | removed non NEW_HIT_PLAYER in attack.c (ie, old attack code removed) |
|
|
9265 | |
|
|
9266 | Added hitback code (looks like it was missing from the NEW_HIT_PLAYER |
|
|
9267 | code) |
|
|
9268 | |
|
|
9269 | dm commands will now be accepted from the new client (provided they |
|
|
9270 | have dm priveledges of course) |
|
|
9271 | |
|
|
9272 | Add AT_INTERNAL attacktype used only for internal calculations (ie, |
|
|
9273 | does that amount of damage). Actual damage section of poison now |
|
|
9274 | uses this. |
|
|
9275 | |
|
|
9276 | Fix spoiler generation - don't convert monster archetype names to |
|
|
9277 | lowercase - images generated properly for them now. Also, fixed problem |
|
|
9278 | with some images (dragon) being rotated when they shouldn't. |
|
|
9279 | |
|
|
9280 | Clear INV_LOCKED flag when stealing objects. |
|
|
9281 | |
|
|
9282 | Fixed couple of bugs in throw code. First, players remaining speed |
|
|
9283 | calculation seemed incorrect. Second, you can now specify an object |
|
|
9284 | name to throw (ie, throw ring, throw chair). Third, the client now |
|
|
9285 | gets properly updated with the new/changed item. |
|
|
9286 | |
|
|
9287 | Make UNIQUE_ITEMS standard feature. Removed LOCK_ITEMS as a secondary |
|
|
9288 | feature - running multiple servers against the same set of files is no |
|
|
9289 | longer supported. Note for compatibility reasons of both methods, it will |
|
|
9290 | look for unique files starting at v00 and will write new ones with the .v00 |
|
|
9291 | extensions. If you have .v01 files, these will be read in the first time |
|
|
9292 | through (provided you also don't have a .v00), but all new files will be |
|
|
9293 | written with the .v00 extension. Referances to ITEMS_DIR changed to |
|
|
9294 | be UNIQUE_DIR - I think that is more descriptive. This includes |
|
|
9295 | the environmental variable. |
|
|
9296 | |
|
|
9297 | Change ok_to_put_more to do more complete checking and also not to stop |
|
|
9298 | spells because of a monster with certain immunities being on a space. |
|
|
9299 | |
|
|
9300 | If hit_player is called with the 'tail' of a monster, it would previously |
|
|
9301 | just exit if the attacktype included slow or paralyze functions (must |
|
|
9302 | hit the head with those.) Changed hit_player so we just remove |
|
|
9303 | the slow and paralyze, and still hit with any remaining attacktypes. |
|
|
9304 | |
|
|
9305 | change explode_object so it only hits the monster once with the bullet/ |
|
|
9306 | meteor. Previously, it called hit_map, which then hit the player, and |
|
|
9307 | then called hit_player again. This effectively doubled the amount of damage |
|
|
9308 | caused by the bullet - it now does the correct amount of damage. As |
|
|
9309 | best as I can tell, meteor/meteor swarm does properly damage the monster |
|
|
9310 | even if the tail was hit. |
|
|
9311 | |
|
|
9312 | Bug fix in singing so exp should now be granted the first time singing |
|
|
9313 | is used on a monster. |
|
|
9314 | |
|
|
9315 | Changed so that server can be compiled with new client/server support but |
|
|
9316 | without old (port 13326) support. Various sections of code updated to |
|
|
9317 | work/compile in such a setting. |
|
|
9318 | |
|
|
9319 | Fixed premature freeing of map->tmpanme. Now in delete_map instead. |
|
|
9320 | |
|
|
9321 | Added checking in free_object to see if we are called on a non removed |
|
|
9322 | object. IF many cores is defined, will dump core here. I believe there |
|
|
9323 | is some section of code calling free_object on a monster without calling |
|
|
9324 | remove_object, which is causing a lot of error/warning messages when it |
|
|
9325 | happens (very infrequently.) With this test in, it should become quite easy |
|
|
9326 | to track down when it happens. |
|
|
9327 | |
|
|
9328 | Added free bsd & net bsd to those systems whose gettimeofday takes 2 |
|
|
9329 | arguments (common/time.c) -lcompat added to libraries needed for |
|
|
9330 | FreeBsd. Include unistd.h on freebsd. Don't include malloc.h in |
|
|
9331 | xbmtobdf.c on freebsd. |
|
|
9332 | |
|
|
9333 | Sample ban_file added to lib. Read in of ban_file will now |
|
|
9334 | ignore lines that start with #. Also, animations file (used for new |
|
|
9335 | animation code) included. |
|
|
9336 | |
|
|
9337 | Config file rearranged to hopefully be in better sections and easier |
|
|
9338 | to edit. NEW_IMPROVE_WEAPON and SIMPLE_PARTY_SYSTEMS removed from options - |
|
|
9339 | now always selected. NO_LOG, ONE_PLAYER_PR_UID, CHRFONT removed from |
|
|
9340 | sections - these can never be valid. NO_ADD added to prevent players |
|
|
9341 | from adding others |
|
|
9342 | |
|
|
9343 | Server updated to send full lines of text with query commands to client |
|
|
9344 | so for clients that pop up a dialog box, they can print meaningful data |
|
|
9345 | on what the request is for. |
|
|
9346 | |
|
|
9347 | Bug fix so that you can no longer apply multiple objects of the same |
|
|
9348 | type with apply -a |
|
|
9349 | |
|
|
9350 | Give better messages when attempting to light something. |
|
|
9351 | |
|
|
9352 | New client/server statistic gathering added - will periodically dump |
|
|
9353 | usage stats to the log file. Server will now longer crash if |
|
|
9354 | client/supposed client sends bad data - will now just close the connection |
|
|
9355 | instead. |
|
|
9356 | |
|
|
9357 | Server will not longer crash when player runs into a door. |
|
|
9358 | |
|
|
9359 | Can now longer polymorph objects into items that are invisible. |
|
|
9360 | |
|
|
9361 | Removed client directory from main archive. Too many people thought that |
|
|
9362 | was the new client creating confusion, and I don't see a big need to have |
|
|
9363 | it around (it will go away when the X11 code is yanked from the |
|
|
9364 | server anyways0. If you still like it, the old version of it will work just |
|
|
9365 | fine (no changes have been made to it in a very long time0 |
|
|
9366 | |
|
|
9367 | Map changes: |
|
|
9368 | color_ removed from map files. |
|
|
9369 | library card cost decreased some. |
|
|
9370 | oldcity maps updated to take full advantage of XPM mode.. |
|
|
9371 | Lake_Country/DA map changed - exp reduced, sp increased. |
|
|
9372 | |
|
|
9373 | ------------------------------------------------------------------------------ |
|
|
9374 | Changes from Crossfire 0.94.0 to 0.94.1: |
|
|
9375 | |
|
|
9376 | in artifacts file - moved some settings of difficulty before Object line. |
|
|
9377 | (difficulty after the Object line have no effect) |
|
|
9378 | |
|
|
9379 | In low level socket code, retry read/write again if we get a EWOULDBLOCK |
|
|
9380 | in addition to EAGAIN errors. Some systems return EAGAIN, others EWOULDBLOCK |
|
|
9381 | |
|
|
9382 | Fixed possible crash in move_monsters. I believe the problem was that |
|
|
9383 | the monster got killed by a door, and the function was not expecting |
|
|
9384 | it, and would use the invalid object. Not sure if the code I put in will |
|
|
9385 | really fix the problem, or just migrate it to a higher level calling |
|
|
9386 | function (have not seen the crash myself) |
|
|
9387 | |
|
|
9388 | If on linux, include crypt.h in main.c |
|
|
9389 | |
|
|
9390 | Various minor memory leaks fixed. |
|
|
9391 | |
|
|
9392 | Better error message for non wiz people trying to use shutdown command. |
|
|
9393 | Shutdown command actually added to command structures and is now usuable. |
|
|
9394 | |
|
|
9395 | Internal animations changed from explicit defines to use SET_ANIMATION |
|
|
9396 | macro. Much easier to read, and better supports client side animations. |
|
|
9397 | |
|
|
9398 | Include sounds.h/sound calls no matter what RPLAY is set to. Only |
|
|
9399 | rplay special code is in sounds.h. This way, client can still get sound |
|
|
9400 | information without rplay being defined. |
|
|
9401 | |
|
|
9402 | removed NPC_PROG code - not used at all - only thing there was a few |
|
|
9403 | #ifdefs setting values. |
|
|
9404 | |
|
|
9405 | Moved typedefs for function pointer stuff from structs.h to funcpoint.h. |
|
|
9406 | No outside affect on code, just makes more sense internally. |
|
|
9407 | |
|
|
9408 | Disable default selection of DEBUG_DMALLOC on crosssite.def |
|
|
9409 | |
|
|
9410 | Removed old/unused charisma bonus values from common/living.c |
|
|
9411 | |
|
|
9412 | Minor fix so that a space is properly added between item number and name. |
|
|
9413 | |
|
|
9414 | Added a lex loading routine. Performance seems to be roughly the same, |
|
|
9415 | but ease of maintenace/readability seems better to me. Modifications to |
|
|
9416 | loader.c should not be done - instead, they should be done to loader.l |
|
|
9417 | Loader directive flags and loader return flags added to loader.l - those |
|
|
9418 | are now used instead of arbitrary integer values. |
|
|
9419 | |
|
|
9420 | Fix c_wix.c dm goto command to set the destination object/map name. Otherwise, |
|
|
9421 | if an invalid map was entered, the enter_exit would try to print a null |
|
|
9422 | string - some systems handle this OK, others will crash. |
|
|
9423 | |
|
|
9424 | Changed common/time.c to use GETTIMEOFDAY macro defined once at top |
|
|
9425 | of file instead of having #ifdefs throughout the file. |
|
|
9426 | |
|
|
9427 | Fix so that items of differing values will not be merged. Also, when |
|
|
9428 | merging objects, do not clear startequip flag. |
|
|
9429 | |
|
|
9430 | Fix in doc/playbook-html so all include directives are handled properly |
|
|
9431 | with the include_html.pl script. |
|
|
9432 | |
|
|
9433 | More details printed about improved weapons (how many improvements done, |
|
|
9434 | max number of improvements.) Also, skills will show how many improvements |
|
|
9435 | the character can handle. |
|
|
9436 | |
|
|
9437 | Bargaining skill will be auto applied when in shops. |
|
|
9438 | |
|
|
9439 | Change teleporter code so the teleporter does not have to be the first |
|
|
9440 | or second item on the space - teleporter can be any object on the space. |
|
|
9441 | |
|
|
9442 | -a, -u apply options added (always apply/unapply instead of toggling). |
|
|
9443 | Internally, apply and apply_special have been changed to take one more option |
|
|
9444 | which is this flag. |
|
|
9445 | |
|
|
9446 | Applied rings will not be merged - instead they will remain seperate. Fixes |
|
|
9447 | problems with getting full bonuses, and also makes it easier to apply/unapply |
|
|
9448 | one item. |
|
|
9449 | |
|
|
9450 | Increased frequency of generation for strange ring (nodrain ring). This |
|
|
9451 | should make it appear probably roughly as often as the ring of life, |
|
|
9452 | or maybe even more often. |
|
|
9453 | |
|
|
9454 | Put maximum carry limit in - beyond the limit, a character can carry no more. |
|
|
9455 | This limit is fairly high right now, but should improve playbalance and |
|
|
9456 | prevent characters from getting a negative weight or carrying so much |
|
|
9457 | stuff it takes forever to move (session appears hung to them) |
|
|
9458 | |
|
|
9459 | Added CS_STAT_WEIGHT_LIM to newclient.h, so client can know how much |
|
|
9460 | the player can handle (only used for GUI, so it can do a carry/limit |
|
|
9461 | type of thing) |
|
|
9462 | |
|
|
9463 | Title information now used in hiscore displays. |
|
|
9464 | |
|
|
9465 | Show invisible spell will now make handles visible. |
|
|
9466 | |
|
|
9467 | New server code won't crash if player does nothing when it prompts for the |
|
|
9468 | name. Also, include necessary dummy functions so server will compile |
|
|
9469 | of ERIC_SERVER is not set. |
|
|
9470 | |
|
|
9471 | Will now search keyrings when running into special doors for matching |
|
|
9472 | keys (players can protect keys by putting them in other containers.) |
|
|
9473 | |
|
|
9474 | Change jump skill so that any spaces with FLY_ON set will affect |
|
|
9475 | the jumping player. This prevents the character from jumping over |
|
|
9476 | player movers. |
|
|
9477 | |
|
|
9478 | In create_wall - if insertion if the initial wall fails (new all is destroyed), |
|
|
9479 | don't extend the wall. Fixes the earthwall on top of pool of chaos which |
|
|
9480 | creates strange map problems. |
|
|
9481 | |
|
|
9482 | Map fixes: |
|
|
9483 | Lake_Country/ebony/masterlev altar should now accept fragment |
|
|
9484 | of chaos. |
|
|
9485 | Put no magic areas in apartment so it should no longer be able |
|
|
9486 | to dimension door and get keys. |
|
|
9487 | /city/houses/wizz.entry should now be entered at the correct position. |
|
|
9488 | /city/misc/library - library cards are now identified, so it should |
|
|
9489 | no longer be able to buy then sell at a profit. |
|
|
9490 | /city/houses/wizz* maps: removed ./ from start of some map paths - |
|
|
9491 | causes apparant problems. |
|
|
9492 | Lake_Country/Butakis/blacksmith - can no longer get free dragon mails |
|
|
9493 | or other items - have to pay for them now. |
|
|
9494 | Remove pup_land/rainbow/Lv4/\nkey (\n was an embedded newline). Map |
|
|
9495 | doesn't look to be needed. |
|
|
9496 | |
|
|
9497 | Archetype changes: |
|
|
9498 | |
|
|
9499 | Added blocksview to gwall so you can no longer see through them. |
|
|
9500 | |
|
|
9501 | Fixed up castle animation in bitmap mode (212/312 images needed to be swapped) |
|
|
9502 | |
|
|
9503 | Increased exp for skulls from 3500 to 5000, reduced exp of deathtrees from |
|
|
9504 | 1400 to 1000. |
|
|
9505 | |
|
|
9506 | fixed typo in gauntlets which meant title was set right. |
|
|
9507 | |
|
|
9508 | aggressive 1 values changed to unagressive 0 values in some archetypes |
|
|
9509 | (no such value as agressive) |
|
|
9510 | |
|
|
9511 | ------------------------------------------------------------------------------ |
|
|
9512 | Changes from Crossfire 0.93.7 to 0.94.0: |
|
|
9513 | |
|
|
9514 | Added outline of future versions in the TODO file. |
|
|
9515 | |
|
|
9516 | a mana storm should now hit with godpower attacktype. |
|
|
9517 | |
|
|
9518 | The spell create_food will now create food with 0 monetary value, and |
|
|
9519 | be marked as starting equipment, so can not be dropped. |
|
|
9520 | |
|
|
9521 | Player titles with spaces should now load properly. |
|
|
9522 | |
|
|
9523 | Updated command times for use skill, ready skill, and stay commands so |
|
|
9524 | when client executes them, proper amount of time is subtracted. |
|
|
9525 | |
|
|
9526 | drop_object now preserves the freeze inv/look window, which prevents |
|
|
9527 | slowdowns when picking up a lot of objects/dropped. |
|
|
9528 | |
|
|
9529 | Added yield to water of diamond, fixed typo for dust of frost recipe. |
|
|
9530 | If a recipe doesn't have a yield, recipe should still be properly |
|
|
9531 | generated. |
|
|
9532 | |
|
|
9533 | Hiscore savefile now stores maxgrace and seperates player title from |
|
|
9534 | player name. |
|
|
9535 | |
|
|
9536 | Option added to only swap out maps when MAX_OBJECTS is exceeded |
|
|
9537 | (MAX_OBJECTS_LWM) |
|
|
9538 | |
|
|
9539 | Changed internal definition from SOUND_EFFECTS to RPLAY_SOUND to properly |
|
|
9540 | reflect what it actually enables (sounds for the client are always |
|
|
9541 | enabled) |
|
|
9542 | |
|
|
9543 | No longer put a 'a' for single objects. |
|
|
9544 | |
|
|
9545 | Changed ring generation so rings of power can be generated. |
|
|
9546 | |
|
|
9547 | Change can_merge so that more objects are mergable, add nrof 1 to some |
|
|
9548 | objects. |
|
|
9549 | |
|
|
9550 | Improved set_owner which can fix getting into endless loops. |
|
|
9551 | |
|
|
9552 | Change insert_ob_in_map_simple so it doesn't call check_walk_on. fixes |
|
|
9553 | player being slowed way down when dropping objects on slow move space. |
|
|
9554 | |
|
|
9555 | Animations moved out of archetype and into seperate array. This is necessary |
|
|
9556 | for the client as it makes a unique referance number for each animations. |
|
|
9557 | Also, in future, this would make it easier to be able to change aminations |
|
|
9558 | in objects/maps. |
|
|
9559 | |
|
|
9560 | Print out level gain messages in red so they are more noticable. |
|
|
9561 | |
|
|
9562 | Change can_pick so that invisible objects can not be picked up. |
|
|
9563 | |
|
|
9564 | Change singing so you can calm a monster multiple times - you only get |
|
|
9565 | exp once however. |
|
|
9566 | |
|
|
9567 | Change show invisible so it only makes monsters and players visible, and not |
|
|
9568 | things like magic mouths and ears. |
|
|
9569 | |
|
|
9570 | Patch so that if peaceful is set, you will not attack other players even |
|
|
9571 | if they have attacked you. |
|
|
9572 | |
|
|
9573 | Auto apply woodsman/mountaineering benefit when in the appropriate terrain. |
|
|
9574 | |
|
|
9575 | Fix get command so it takes from a container if appropriate. |
|
|
9576 | |
|
|
9577 | shutdown and kick wizard commands added. |
|
|
9578 | |
|
|
9579 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
9580 | Client/Server changes for 0.94.0 |
|
|
9581 | |
|
|
9582 | Updated protocol version to 1010 |
|
|
9583 | |
|
|
9584 | Server debugging statements in ericserver can be enabled/disabled by |
|
|
9585 | define at top. |
|
|
9586 | |
|
|
9587 | Client can lock/unlock items on the server. |
|
|
9588 | |
|
|
9589 | Client can now look at spaces now. |
|
|
9590 | |
|
|
9591 | Send update of item to client when it is identified. |
|
|
9592 | |
|
|
9593 | Send update command to client from decrease_ob_nr to update players |
|
|
9594 | overall weight. |
|
|
9595 | |
|
|
9596 | Now send animation information to the client. |
|
|
9597 | |
|
|
9598 | Now send sound information to the client, client can send setsound |
|
|
9599 | to server to enable/disable sounds. |
|
|
9600 | |
|
|
9601 | Client side image caching fully supported. |
|
|
9602 | |
|
|
9603 | Added updates when picking up objects/dropping objects so that players |
|
|
9604 | weight and container weight is updated if necessary. Also, if object merges, |
|
|
9605 | make sure we then send a delete of the original object that is now gone |
|
|
9606 | to the client. |
|
|
9607 | |
|
|
9608 | Update object changed to send floor animations to the client. |
|
|
9609 | |
|
|
9610 | Send update when power crystal changes speed. |
|
|
9611 | |
|
|
9612 | Send update of player object after player is loaded. |
|
|
9613 | |
|
|
9614 | Change server so that only send map update and player stats once a tick - |
|
|
9615 | should be more efficient and equally sufficient. |
|
|
9616 | |
|
|
9617 | Added LOCKED flag to item transmission command so client can no which items |
|
|
9618 | are locked. |
|
|
9619 | |
|
|
9620 | Added item1 command which superceded item command - sends more informatin. |
|
|
9621 | |
|
|
9622 | Added update command to protocol, and function in server - only sends |
|
|
9623 | portions of an object that need to be updated. |
|
|
9624 | |
|
|
9625 | Server now properly handles repeat fire on. |
|
|
9626 | |
|
|
9627 | ------------------------------------------------------------------------------ |
|
|
9628 | Changes from Crossfire 0.93.6 to 0.93.7: |
|
|
9629 | |
|
|
9630 | set_god wiz command added. |
|
|
9631 | |
|
|
9632 | Changed call to 'index' to 'strchr' in commands.c - keeps with what |
|
|
9633 | the rest of the program does. |
|
|
9634 | |
|
|
9635 | Pupland archetypes and maps added (v1.2 of pupland distribution). |
|
|
9636 | |
|
|
9637 | Changed get_random_mon to be more random when a monster of a specific level |
|
|
9638 | is requested. |
|
|
9639 | |
|
|
9640 | Casting transferrance spell on another playing and having their head explode |
|
|
9641 | will no longet get the recipient of the spell exp - instead, the caster |
|
|
9642 | of the spell will get the exp for any kills. |
|
|
9643 | |
|
|
9644 | change put_a_monster function so it properly handles multi-square monsters |
|
|
9645 | (put_a_monster is called by summon_evil_monsters, at probably others) |
|
|
9646 | |
|
|
9647 | Changed alchemy so you no longer get exp for failed/random mixtures |
|
|
9648 | |
|
|
9649 | If a container on the ground that the player is using (ie opened) is |
|
|
9650 | somehow removed, update the players view to now be the ground and not |
|
|
9651 | the container. |
|
|
9652 | |
|
|
9653 | Player titles will now be loaded properly from save files. |
|
|
9654 | |
|
|
9655 | Can no longer sing and make the same monster unagressive multiple times. |
|
|
9656 | The implementation is actually borrowing the NO_STEAL flag, which means |
|
|
9657 | you can't steal after you sing, and after a failed steal, you can't sing |
|
|
9658 | and calm it down. Also, make sure that only the 'head' of a monster is |
|
|
9659 | sung to. |
|
|
9660 | |
|
|
9661 | Fixed up CSword_116 xpm file (too many chars on one line) |
|
|
9662 | |
|
|
9663 | Added note/option in config.h for systems lacking O_NDELAY. |
|
|
9664 | |
|
|
9665 | Fixed up some of the quests in Lake Country - can no longer just run and |
|
|
9666 | get the dragonbane or buy the armor with a lot of scales. |
|
|
9667 | |
|
|
9668 | New Client/Server changes: |
|
|
9669 | |
|
|
9670 | changed esrv_send_face to take the client_num instead of client_id |
|
|
9671 | (should be slightly more efficient). This does not affect the protocol |
|
|
9672 | in any way - it just makes the handling on the serverside more efficient. |
|
|
9673 | |
|
|
9674 | Changed item command to calculate objects total weight before sending |
|
|
9675 | it to the client (total weight = weight+carrying). This is needed because |
|
|
9676 | there are many times that the client does not know what is in the container |
|
|
9677 | and thus can not properly calculate the weight. |
|
|
9678 | |
|
|
9679 | Change server so it sends updates for the parent |
|
|
9680 | items that the object is being moved from/to (ie, when removing something |
|
|
9681 | from a sack, send an update for the sacks weight). For the client |
|
|
9682 | to properly handle the player being re-updated, some special handling |
|
|
9683 | had to be added so the inventory list would be updated and so that |
|
|
9684 | we don't try and add another player object (client search routine for |
|
|
9685 | tags didn't look at the player) |
|
|
9686 | |
|
|
9687 | Fixed server so it now properly updates the original item from which a |
|
|
9688 | portion of it is being dropped. |
|
|
9689 | |
|
|
9690 | Fixed bug in server handling which kept the -1 return code from a |
|
|
9691 | blocked socket and decreased amount to send by that - reset to zero |
|
|
9692 | so amount to be sent remains the same. |
|
|
9693 | |
|
|
9694 | askface and mapredraw commands added to Protocol by Phil. |
|
|
9695 | |
|
|
9696 | Changed load player function so it calls fix_player before sending |
|
|
9697 | initial data to client. |
|
|
9698 | |
|
|
9699 | Removed some printf/debug statements from pickup code for newcs in |
|
|
9700 | player.c |
|
|
9701 | ------------------------------------------------------------------------------ |
|
|
9702 | |
|
|
9703 | Changes from Crossfire 0.93.5 to 0.93.6: |
|
|
9704 | |
|
|
9705 | If we fail to save a map, all objects on that map should now be properly |
|
|
9706 | deleted from memory. |
|
|
9707 | |
|
|
9708 | Fix possible crash when score is being generated if player is on |
|
|
9709 | swapped out map. |
|
|
9710 | |
|
|
9711 | Default output buffer for new clients is now 64k. |
|
|
9712 | |
|
|
9713 | Partial code in place for client side image caching. |
|
|
9714 | |
|
|
9715 | Alchemy changes from Peter & Brian. Main change is that multiple recipes |
|
|
9716 | can be made at once. |
|
|
9717 | |
|
|
9718 | Bad grammer in messages printed out when readable object is beyond players |
|
|
9719 | comprehension. |
|
|
9720 | |
|
|
9721 | ethreality recipe commented out in formulae file. |
|
|
9722 | |
|
|
9723 | Some playbalance issues on maps fixed by Samuli Tursas. |
|
|
9724 | |
|
|
9725 | Internal handling of shop menus changed - instead of a list of objects, |
|
|
9726 | change it to an array of strings. |
|
|
9727 | |
|
|
9728 | Minor changes in porting.c to hopefully make that file compile properly on |
|
|
9729 | more systems. |
|
|
9730 | |
|
|
9731 | doc/experience updated with some more notes from Brian. |
|
|
9732 | |
|
|
9733 | CAN_MERGE changed from a macro in define.h to an inline function in |
|
|
9734 | object.c (only file it is used.). It makes it a bit clearer, and hopefully |
|
|
9735 | a little safer. There is an option at the top of config.h for handling |
|
|
9736 | of the INLINE function declaration. |
|
|
9737 | |
|
|
9738 | Possible fix so that altars should not be re-concecrated if god is |
|
|
9739 | set in the editor. |
|
|
9740 | |
|
|
9741 | Undead monsters can now see in the dark. |
|
|
9742 | |
|
|
9743 | Fixed bug in parse_command which would cause crashes if a socket connection |
|
|
9744 | entered a string with a ; in it. |
|
|
9745 | |
|
|
9746 | Increased string size in new_draw_info which prevents crashes/stack |
|
|
9747 | corruption when really ling strings from a socket is entered. |
|
|
9748 | |
|
|
9749 | Changed spell level/costs between invisibility and improved invis such so that |
|
|
9750 | the improved version is now a higher level and more sp. |
|
|
9751 | |
|
|
9752 | Now possible to steal from a creature more than once as long as character |
|
|
9753 | remains unseen. Each steal attempt will become harder in any case. |
|
|
9754 | |
|
|
9755 | Remove some special player checking in get_nearest_player - I think it |
|
|
9756 | caused some crashes, and wasn't necessary (in fact, clever players could use |
|
|
9757 | it to get it such that monsters would not target them.) |
|
|
9758 | |
|
|
9759 | When characters stop levitating, call check_walk_on so they will fall |
|
|
9760 | through pits or other applicable effects. |
|
|
9761 | |
|
|
9762 | Fixed up some archetypes which could be picked up when that should be |
|
|
9763 | set (trapdoor, bullet, meteor). The last 2 cases can not be picked up, |
|
|
9764 | but clever casting of alchemy could have nuetralized them. collect.pl will |
|
|
9765 | now print warning if an object has walk_on set but does not have no_pick set. |
|
|
9766 | |
|
|
9767 | Added new map from Bjoern Helfesrieder to starting town (Yarin's House) |
|
|
9768 | |
|
|
9769 | Fix in item matching code that could cause core dumps. |
|
|
9770 | |
|
|
9771 | Fixed clearinfo command so that it still works even if player is using |
|
|
9772 | scroll mode (only if player issues the clearinfo command - other uses |
|
|
9773 | of clearinfo in function won't clear in scroll mode.) |
|
|
9774 | |
|
|
9775 | Improved shop listings so they are sorted by type, then sorted by name. |
|
|
9776 | |
|
|
9777 | Fixed bug in backspacing the to the front of the first line of an |
|
|
9778 | extended command - it now works properly and puts you back in normal |
|
|
9779 | command mode (this got broken in the addition of extended line input.) |
|
|
9780 | |
|
|
9781 | Player should still be able to save if they were the wizard. However, |
|
|
9782 | wizard status will be stripped for save, but the fact they were a wizard |
|
|
9783 | will not be stripped. |
|
|
9784 | |
|
|
9785 | Imp made even wimpier by Peter M. |
|
|
9786 | |
|
|
9787 | If you set of traps, open doors, push a player, or roll a boulder, |
|
|
9788 | you now become visible. |
|
|
9789 | |
|
|
9790 | Change it so that when something/someone reads a scroll, only inform |
|
|
9791 | the other people on the map (perhaps this is still overkill?) |
|
|
9792 | |
|
|
9793 | ------------------------------------------------------------------------------ |
|
|
9794 | Changes from Crossfire 0.93.4 to 0.93.5: |
|
|
9795 | |
|
|
9796 | Replaced handbook make_index script with perl version. Much faster, and |
|
|
9797 | also fixes problem with echo command doing different things on different |
|
|
9798 | systems. |
|
|
9799 | |
|
|
9800 | Minor change in crossedit such that if it is not compiled with XPM |
|
|
9801 | support, it will give an error message if run with the -xpm option. |
|
|
9802 | |
|
|
9803 | Changed code so that experience objects no longer change stats (reverses |
|
|
9804 | 'fix' made in 0.92.9) Fixes problem of characters getting extra |
|
|
9805 | stat points from the experience objcts. |
|
|
9806 | |
|
|
9807 | Fix bug that could cause infinite recursion loop in spellpath_msg. From |
|
|
9808 | cameron@ripper.stl.dec.com (James Cameron) |
|
|
9809 | |
|
|
9810 | Fix bug in complex keybindings in which all the commands in the keybinding |
|
|
9811 | were executed that tick. Thus, if you bound a key to north;north;north;north |
|
|
9812 | and pressed that key, you would move 4 spaces north no matter what your speed |
|
|
9813 | was. It now works properly, and you move at proper speed (keybinding is |
|
|
9814 | copied into buffer in player structure, and removed as we go along.) Note: |
|
|
9815 | This buffer could also be used to hold keypresses not yet processed, but |
|
|
9816 | that hasn't been done yet. |
|
|
9817 | |
|
|
9818 | Added ability to enter lines longer than the info window is wide. This |
|
|
9819 | allows for longer keybindings or say commands. It isn't the most |
|
|
9820 | sophisitcated thing (the extra lines show up with a 1> and 2>, etc for the |
|
|
9821 | extra lines, and we just redraw the previous line if you backspace that |
|
|
9822 | far. After you complete the command, it does end up redrawing the entire |
|
|
9823 | command, which can take a few lines, which gives some confirmation on what |
|
|
9824 | you typed in. This feature was added to both the standard server code |
|
|
9825 | and the new client. |
|
|
9826 | |
|
|
9827 | Change use of tempnam to tempnam_local which we supply. Standard tempnam |
|
|
9828 | will look at the TMPDIR environmental variable, and use that to override any |
|
|
9829 | other value for the directory - this causes problems if different people |
|
|
9830 | runn the program and using the temporary maps accross runs. tempnam_local |
|
|
9831 | will not look at the TMPDIR variable, and will instead always use the value |
|
|
9832 | we pass it. This can be changed if we were not compiled in SECURE mode by |
|
|
9833 | changing the CROSSFIRE_TMPDIR environmental variable. Code was also changed |
|
|
9834 | so the CROSSFIRE_TMPDIR variable will not be used if compiled in SECURE mode. |
|
|
9835 | |
|
|
9836 | Fix so that you can no longer move really fast or fire really fast by using |
|
|
9837 | the mouse buttons in the game window. Using the mouse buttons in the game |
|
|
9838 | window should now result in the same speed as using the keyboard. |
|
|
9839 | |
|
|
9840 | Patches from Peter Mardahl: |
|
|
9841 | |
|
|
9842 | Dusts now cast as ability and not spells. This mean that they will not |
|
|
9843 | have magic as part of the attacktype. |
|
|
9844 | |
|
|
9845 | Spells that are cast on oneself now ignore direction. Thus, healing and |
|
|
9846 | protection potions can not be cast on something next to the player using |
|
|
9847 | the object. |
|
|
9848 | |
|
|
9849 | Detector object added. Similar to inventory checkers, but only |
|
|
9850 | periodically samples what is in the space, and doesn't look at the |
|
|
9851 | inventory, only objects actually on the map. |
|
|
9852 | |
|
|
9853 | Creators can now cause objects they create to inherit names. They can |
|
|
9854 | also periodically create items. |
|
|
9855 | |
|
|
9856 | Arch diffs: imps weakened, cold dragon spews forth cold, creator modified |
|
|
9857 | to have default speed 0. |
|
|
9858 | |
|
|
9859 | New FireTemple set of maps. These have been onto the Volcano in the |
|
|
9860 | southeast area of the continent. The maps that were there were moved to |
|
|
9861 | world_e2, under the crater. |
|
|
9862 | |
|
|
9863 | Gradual light/darkness code put in place. I fixed a few of the bugs |
|
|
9864 | that were in peters orignal version, so it works flawlessly for both |
|
|
9865 | server and new client. |
|
|
9866 | |
|
|
9867 | ------------------------------------------------------------------------------ |
|
|
9868 | Changes from Crossfire 0.93.3 to 0.93.4: |
|
|
9869 | |
|
|
9870 | Inventory checkers can now act as doors. If no_pass is set in an |
|
|
9871 | inventory checker, player can not move onto that space unless they meet |
|
|
9872 | the match requirements. |
|
|
9873 | |
|
|
9874 | Signs that are usuable only a fixed number of times added. |
|
|
9875 | |
|
|
9876 | Fix for pedestals & buttons so they are only activated once when a player |
|
|
9877 | moves onto a space (previously, they were being activated twice.) |
|
|
9878 | |
|
|
9879 | Fix for connected objects so that they will not be sacrificed on altars. |
|
|
9880 | This fixes a case where you might want to put a check_inv and altar with |
|
|
9881 | the same sacrifice on the same space. Before, the inventory checker would |
|
|
9882 | be sacrificed on the altar, causing the linked button list for |
|
|
9883 | inventory checker to be corrupt. |
|
|
9884 | |
|
|
9885 | Many maps updated to look better in xpm mode or just better in general. |
|
|
9886 | |
|
|
9887 | Change in crossedit so that if you set the randomitems variable for an object, |
|
|
9888 | it only sets the value at the head of the object, and not all parts of the |
|
|
9889 | object (it would be nice to allow non head parts to have this set, but I am |
|
|
9890 | not sure how to get what part was clicked on in the editor, since it seems the |
|
|
9891 | head is passed to the function.). |
|
|
9892 | |
|
|
9893 | xpmtopix.pl script added. Eventually, I hope this will replace the |
|
|
9894 | C version. For now, all it is good for is to verify that the XPM images |
|
|
9895 | are using the proper colors. Numerous XPM images were not using the proper |
|
|
9896 | colors (a lot were using brown, which is not an official color - see |
|
|
9897 | the xpm template for what is.) |
|
|
9898 | |
|
|
9899 | Cleanup of proto directive to turn __signed into signed. Also, change |
|
|
9900 | #if __STDC__ to #ifdef __STDC__ in proto files. |
|
|
9901 | |
|
|
9902 | Fix so it should now compile if SECURE is defined. |
|
|
9903 | |
|
|
9904 | Ability to more easily added needed libraries in crosssite.def - |
|
|
9905 | Extra_Libraries option added. |
|
|
9906 | |
|
|
9907 | Assume Linux has a prototype for tempnam (at least my version does.) |
|
|
9908 | |
|
|
9909 | Many objects added, and many XPM images updated/improved. |
|
|
9910 | |
|
|
9911 | Change in new CS code - don't send the version string until after we fully |
|
|
9912 | set up the structure. |
|
|
9913 | |
|
|
9914 | Change so crossfire will compile if SAVE_HOMEDIR is set. |
|
|
9915 | |
|
|
9916 | Reverse actions of -m8 and -m9 (Believe they were doing the wrong thing |
|
|
9917 | relative to the scripts and what the docs say.) |
|
|
9918 | |
|
|
9919 | Change in hiding code and detection by monsters. |
|
|
9920 | |
|
|
9921 | ------------------------------------------------------------------------------ |
|
|
9922 | Changes from Crossfire 0.93.2 to 0.93.3: |
|
|
9923 | |
|
|
9924 | Added a fill below function in crossedit. This make filling in backgrounds |
|
|
9925 | for maps much easier. Basically, it just puts whatever object you select as |
|
|
9926 | the bottom object of the bounding box. If the bottom object on the map |
|
|
9927 | matches the object being inserted, the object is not inserted. As a side |
|
|
9928 | effect of some code in GetMapObjectZ, if it matches the top object, it won't |
|
|
9929 | be inserted either. This makes things much easier to update map backgrounds |
|
|
9930 | for XPM mode. |
|
|
9931 | |
|
|
9932 | Hiding made easier for players. |
|
|
9933 | |
|
|
9934 | Stealing is made easier for players, but harder beyond the first item. |
|
|
9935 | |
|
|
9936 | Many image colored and perspective corrected David Sundqvist. Also, several |
|
|
9937 | new objects added (specialized altars, some more indoor furniture/more |
|
|
9938 | orientations, some sliding secret doors, and new wall types.) Barn image |
|
|
9939 | naming conventioned changed to follow what is considered proper. |
|
|
9940 | |
|
|
9941 | A few maps added by David (two temples in starting village, along with |
|
|
9942 | a mercenary recruitment building.) Also, some maps fixed to look better |
|
|
9943 | in XPM made. |
|
|
9944 | |
|
|
9945 | Party kill option added by Rauli Ruohonen. IT lets you see who has killed |
|
|
9946 | what recently in your party. |
|
|
9947 | |
|
|
9948 | Saving throw for objects cleaned up. Previously, an objects immunities/ |
|
|
9949 | protections were not being used correctly to determine if it made its saving |
|
|
9950 | throw (that is why icecubes could be destroyed by ice). It is now set up |
|
|
9951 | properly. |
|
|
9952 | |
|
|
9953 | Gods will no longer improve weapons that have been enchanted by other gods |
|
|
9954 | (Or I believe by yourself.) |
|
|
9955 | |
|
|
9956 | Fix memory overrun (1 entry) when initializing values for the images. |
|
|
9957 | |
|
|
9958 | Program will not recover properly when it attempts to load a temporary |
|
|
9959 | map. This means that load_temporary_map returns the map object to use, |
|
|
9960 | since it might change. |
|
|
9961 | |
|
|
9962 | When setting the owner of a monster, clear its ability to use skills |
|
|
9963 | |
|
|
9964 | Fix in decrease_ob_nr so it should now work on 64 bit systems. |
|
|
9965 | |
|
|
9966 | Mapguide updated with various suggestions made on the mailing list. |
|
|
9967 | |
|
|
9968 | Linux systems assumed to have at least random available (change in the config.h |
|
|
9969 | file.) |
|
|
9970 | |
|
|
9971 | 't' is now bound by default to 'ready_skill throw' |
|
|
9972 | |
|
|
9973 | missing demon types (imp, big_demon, Greater_Demon) added to the list |
|
|
9974 | of demon races. |
|
|
9975 | |
|
|
9976 | xpmtopix will print a warning if it detects and XPM file using a tab character |
|
|
9977 | in the color name - makes it easier to track possible image corruption. |
|
|
9978 | |
|
|
9979 | Check for power of improved weapons now in its own function. Also, we |
|
|
9980 | now properly check weapon power when improving one (before, you could |
|
|
9981 | improve it one level more than you could actually use.) |
|
|
9982 | |
|
|
9983 | When a container is applied, make sure it is a player applying it before |
|
|
9984 | checking for new client/server information - otherwise an invalid pointer |
|
|
9985 | is dereference. |
|
|
9986 | |
|
|
9987 | Complex keybindings added - thus, you can bind several commands seperated |
|
|
9988 | with semicolons to one key. |
|
|
9989 | |
|
|
9990 | Fix in encounter.c so if compiled with RANDOM_ENCOUNTERS, the new |
|
|
9991 | settings structure is used for map location. |
|
|
9992 | |
|
|
9993 | Added check fot out_of_map in various places that needed them - prevents |
|
|
9994 | some more core dumps. |
|
|
9995 | |
|
|
9996 | skill identifications will now look on objects on ground in addition to |
|
|
9997 | those in the inventory. |
|
|
9998 | |
|
|
9999 | perceive self should now tell you what god you worship. |
|
|
10000 | |
|
|
10001 | map reset times on maps (temporary maps accross multiple runs) will not be |
|
|
10002 | altered if there is no map reset time. |
|
|
10003 | |
|
|
10004 | ------------------------------------------------------------------------------ |
|
|
10005 | Changes from Crossfire 0.93.1 to 0.93.2: |
|
|
10006 | |
|
|
10007 | New argument parsing routine - we now parse arguments in phases. With this, |
|
|
10008 | I have moved many of the global settings into a settings structure, and |
|
|
10009 | allowed highscores to be displayed by class/name. The man page and -h |
|
|
10010 | option have also been updated. Also, all the files that could |
|
|
10011 | previously be specified via environmental variables can now be specified |
|
|
10012 | with command line options. |
|
|
10013 | |
|
|
10014 | The temporary directory can now be specified via -tmpdir command line option or |
|
|
10015 | CROSSFIRE_TMPDIR environmental variable. |
|
|
10016 | |
|
|
10017 | If you cast word of recall and then save before it takes effect, it will |
|
|
10018 | no longer corrupt the character (and will in fact take effect when you |
|
|
10019 | restart). |
|
|
10020 | |
|
|
10021 | Don't let players throw starting equipment. At the same time, don't mark |
|
|
10022 | throwable items as starting equipment - instead, just give it zero |
|
|
10023 | value. |
|
|
10024 | |
|
|
10025 | Fixed inscription - now properly writes scroll when passed no string instead |
|
|
10026 | of crashing. |
|
|
10027 | |
|
|
10028 | Artifact monsters now possible (monsters whose abilities are changed based |
|
|
10029 | on the artifacts file.) Top of the artifacts file has more information on |
|
|
10030 | this. For now, I have only set up the orc, ogre, and goblin to get |
|
|
10031 | special leaders. |
|
|
10032 | |
|
|
10033 | Temp maps can be reused across multiple runs. See config.h for more |
|
|
10034 | notes. |
|
|
10035 | |
|
|
10036 | Bug fix in inscription: If you inscribed a scroll and already had |
|
|
10037 | one like it in your inventory, the game would crash after they |
|
|
10038 | merged. Also, if you failed in inscribe a scroll, the game would |
|
|
10039 | also crash (object it was using to calculate experience had never been |
|
|
10040 | initialized). For now, I just changed it to return -10*spell level |
|
|
10041 | as the exp award. |
|
|
10042 | |
|
|
10043 | Items will now be merged with other items even if one has been inventory |
|
|
10044 | locked. This way, if you have some torches that are locked and you pick up |
|
|
10045 | some more, they will merge in instead of showing up seperately. |
|
|
10046 | |
|
|
10047 | Bug fix for saving throw on objects hit by cold. There could be cases |
|
|
10048 | where an object being processed is no longer on the map and would cause |
|
|
10049 | a crash. |
|
|
10050 | |
|
|
10051 | Change find_first_free_space to return -1 if there are no free spaces. |
|
|
10052 | Calling function should check this and then do the 'right thing'. This |
|
|
10053 | fixes problems with runes creating monsters on top of monsters (or |
|
|
10054 | below the player). |
|
|
10055 | |
|
|
10056 | Magic map cleanup. Now have magicmap field in NewFace structure. This |
|
|
10057 | field holds the color to use for magic map in low 4 bits, and various |
|
|
10058 | flags in high 4 (right now, only floor bit is used, since drawing may |
|
|
10059 | differ on bw systems with that value.) magicmap filed is now supported |
|
|
10060 | in .arc and faces file. collect.pl modified to automaticaly put |
|
|
10061 | magicmap into the faces file, will also copy is_floor into faces file. |
|
|
10062 | magicmap takes a color name. This seperation allows magic map colors |
|
|
10063 | to be set independant of foreground and background colors, and simplifies |
|
|
10064 | the code a good deal. Also, it makes new client magic map support easier. |
|
|
10065 | Now all the archetypes need to be updated (I have already done the armour, |
|
|
10066 | connect and construct directories.) |
|
|
10067 | |
|
|
10068 | Magic map for client now implemented. Definition of protocol added to |
|
|
10069 | Protocol file. Only limitation implementation has over direct server is |
|
|
10070 | it only flashes the position of the player who cast the spell. This |
|
|
10071 | seems perfectly reasonable to me (use color or other attribute to know |
|
|
10072 | where other players are.) |
|
|
10073 | |
|
|
10074 | Old client (telnet front end) changed so that it no longer requires |
|
|
10075 | libcross.a. |
|
|
10076 | |
|
|
10077 | save object should do a better job if it gets an object without an |
|
|
10078 | archetype. |
|
|
10079 | |
|
|
10080 | buffer size for LOG increased - there were cases where this buffer |
|
|
10081 | was not large enough and was causing crashes (sending large amounts of |
|
|
10082 | garbage data to the socket was one way.) |
|
|
10083 | |
|
|
10084 | Load map will now reload the original map if the temporary map is for some |
|
|
10085 | reason no longer around. |
|
|
10086 | |
|
|
10087 | Fix bug where randomitems may not have been properly initialized for now |
|
|
10088 | objects (was inside an #ifdef for CASTING_TIME) |
|
|
10089 | |
|
|
10090 | strerror_local added to porting.c. Lets up give up more reasonable |
|
|
10091 | error descriptions for certain errors. |
|
|
10092 | |
|
|
10093 | If an object is cursed, set its vulnerable values to its protected and |
|
|
10094 | immune fields, adn clear those fields. Fixes 'problems' with finding |
|
|
10095 | cursed rings which are not really cursed (pro fire/vuln cold rings.) |
|
|
10096 | |
|
|
10097 | If trying to switch to private colormap in XPM mode, check to see if |
|
|
10098 | we are successful. |
|
|
10099 | |
|
|
10100 | Fix crossedit so that if you have a map loaded and you then try to load |
|
|
10101 | an invalid file, it no longer crashes (now reverts back to old file) |
|
|
10102 | |
|
|
10103 | Archetype changes: Golden unicorn horn now has its own set of images. |
|
|
10104 | Editable field updated for the gods archetypes (they were showing up in all |
|
|
10105 | the menus.) living_chaos object added (need for Brian Thomas's maps.) |
|
|
10106 | |
|
|
10107 | Update the editor/picks map so that all archetypes are included in at least |
|
|
10108 | one of the maps. Modified the map_info script to print out unused |
|
|
10109 | archetype. |
|
|
10110 | |
|
|
10111 | New server: Only increase buffer size of socket if it would increase |
|
|
10112 | overall size. |
|
|
10113 | |
|
|
10114 | fix in skill experience calculation to use magic field properly. |
|
|
10115 | |
|
|
10116 | Alchemy spell changed. If there is a cauldron in area of effect, only |
|
|
10117 | do cauldron alchemy. Otherwise, do item to gold nugget conversion. |
|
|
10118 | |
|
|
10119 | Added a few more notes/thoughts to the mapguide/ |
|
|
10120 | |
|
|
10121 | ------------------------------------------------------------------------------ |
|
|
10122 | Changes from Crossfire 0.93.0 to 0.93.1: |
|
|
10123 | |
|
|
10124 | change race initialization functions to to fix cases where race is specified |
|
|
10125 | in race file but no race is specified in the arch it points to - before it |
|
|
10126 | would not be added to the proper race list. |
|
|
10127 | |
|
|
10128 | include handbook.ps in the standard distribution. |
|
|
10129 | |
|
|
10130 | Client server rewritten to no longer use eutl package. Other bugfixes for |
|
|
10131 | client server: server now properly sends delete item command to client, |
|
|
10132 | client now properly adds up a containers (and hence players) weight, pixmaps |
|
|
10133 | are now supported. |
|
|
10134 | |
|
|
10135 | Snowball spells added - these are the same idea as the fireball spells. (by |
|
|
10136 | peterm) |
|
|
10137 | |
|
|
10138 | Magic wall will consume several squares now. |
|
|
10139 | |
|
|
10140 | spells array (in spellist.h) updated - was missing a spell (cure blindness). |
|
|
10141 | |
|
|
10142 | splitter.pl (by peterm) added to arch/dev directory - takes a larger xpm |
|
|
10143 | file and splits it into 24x24 chunks. |
|
|
10144 | |
|
|
10145 | icestorm and small snowball added to possible list of starting spells. |
|
|
10146 | |
|
|
10147 | Only set minimum speed of 0.01 for players. This fixes the bug introduced |
|
|
10148 | in 0.93.0 where multisquare monsters moved too slow. |
|
|
10149 | |
|
|
10150 | Only print out a creature lost a spell if it is in fact a player. Only |
|
|
10151 | applies for casting time. |
|
|
10152 | |
|
|
10153 | fix_me command added - basically just calls the fixme function. Can be |
|
|
10154 | useful if you that your characters weight is for some reason incorrect. |
|
|
10155 | |
|
|
10156 | Fixed sprintf that was copying over static character data if you tried to |
|
|
10157 | form a party that already matched a name. Also, fixed a possible buffer |
|
|
10158 | overrun situation. |
|
|
10159 | |
|
|
10160 | More memory leaks fixed by Rupert Goldie - also fix to prevent orated monsters |
|
|
10161 | from attack themselves. |
|
|
10162 | |
|
|
10163 | New xpm images for woods and some buildings by David Sundqvist. The new |
|
|
10164 | buildings have a bit more texture and 3-d look, the new woods look a little |
|
|
10165 | bit more in scale and mesh together better. The old images are in the |
|
|
10166 | xpm_pref directory if you prefer those. |
|
|
10167 | |
|
|
10168 | More code added to free memory when server shuts down (useful for |
|
|
10169 | trying to track down some memory leaks). |
|
|
10170 | |
|
|
10171 | ------------------------------------------------------------------------------ |
|
|
10172 | Changes from Crossfire 0.92.9 to 0.93.0: |
|
|
10173 | |
|
|
10174 | Minor map changes: Some maps cleaned up to look better in XPM mode. |
|
|
10175 | Removed no magic areas from around the demilichs in lord ramsdre mansion. |
|
|
10176 | |
|
|
10177 | map_expand perl script added (located in lib/adm) |
|
|
10178 | |
|
|
10179 | Cleaned up use of externs and declarations of many structures. Depending |
|
|
10180 | on the linker, these would not be merged into one value, and thus not be |
|
|
10181 | initialized/set properly (fixes 'mark pushed you bug'). This was a problem |
|
|
10182 | at least on SGI systems, probably others. |
|
|
10183 | |
|
|
10184 | If on a sun and not using sun's acc, assuming Stupid Sun Headers, even |
|
|
10185 | if on a Solaris system. |
|
|
10186 | |
|
|
10187 | Changed change_abil so it returns true if a value actually changed (useful |
|
|
10188 | for printint out information when apply objects like potions.) A lot of |
|
|
10189 | return checking of this function in apply.c is removed - that checking |
|
|
10190 | now seems obsolete. |
|
|
10191 | |
|
|
10192 | Set visibility to zero at first stage initialization. |
|
|
10193 | |
|
|
10194 | Put a lower limit of 0.01 for player speed. This still gives an action |
|
|
10195 | every 12 seconds if you pick up way too much junk. |
|
|
10196 | |
|
|
10197 | When praying at altars, have gods grant out spells only if it is a spell |
|
|
10198 | they are attuned to. |
|
|
10199 | |
|
|
10200 | Cleaned up some memory leaks, courtesy of Rupert G. Goldie. |
|
|
10201 | |
|
|
10202 | Cleaned up the cast command code. Also, if you do something like 'cast p', it |
|
|
10203 | will now show all spells you know that start with p, instead of casting the |
|
|
10204 | first one it finds. |
|
|
10205 | |
|
|
10206 | Shift middle button in the inventory window should now mark an item. |
|
|
10207 | |
|
|
10208 | Fix button handling for look and message window so that only if it is clicked |
|
|
10209 | with the right 30 pixels do we consider it a scrollbar event (before, anything |
|
|
10210 | more than 270 from the left was considered scrollbar - works fine for |
|
|
10211 | default sizes, but if you resize, it would cause problems. |
|
|
10212 | |
|
|
10213 | If on SGI systems, don't default to using rand - it should now pick up |
|
|
10214 | lrand48 or random instead. |
|
|
10215 | |
|
|
10216 | Change spell casting such that if you aren't high enough level, it more |
|
|
10217 | obviously states it (previously it said you 'lack the skill', which can lead |
|
|
10218 | to confusion.) |
|
|
10219 | |
|
|
10220 | Fix so that the first recipe is now accessible when performing alchemies. |
|
|
10221 | |
|
|
10222 | Added many thoughts/ideas to the TODO list. |
|
|
10223 | |
|
|
10224 | Increase buffer size for examine command - some object could overflow the old |
|
|
10225 | buffer. |
|
|
10226 | |
|
|
10227 | remove no_magic from all monsters - immunity values should be used instead. |
|
|
10228 | am not sure |
|
|
10229 | |
|
|
10230 | Made changes for strcasecmp detect - was checking as defined(sun), now is |
|
|
10231 | defined(__sun__) - this is proper and what the rest of the code uses. |
|
|
10232 | |
|
|
10233 | define MAXNAMLEN in crossedit/Posix.h - needed for ultrix systems. |
|
|
10234 | |
|
|
10235 | Made it so that boots are not always considered magical (since there are |
|
|
10236 | now many plain boots out there.) Also, removed the always_magical function - |
|
|
10237 | is_magical should now handle it all. |
|
|
10238 | |
|
|
10239 | Allow items of type BOOK to be identified, since you can now find non |
|
|
10240 | identified readable items. |
|
|
10241 | |
|
|
10242 | Change loot_object so it doesn't remove experience objects - this way skills |
|
|
10243 | don't get removed when a player dies. |
|
|
10244 | |
|
|
10245 | ------------------------------------------------------------------------------ |
|
|
10246 | Changes from Crossfire 0.92.8 to 0.92.9: |
|
|
10247 | |
|
|
10248 | Make sure all skills are unapplied when changing the class. |
|
|
10249 | |
|
|
10250 | When generating a spell listing (cast with no options), display the |
|
|
10251 | level of the spell (or den if it is denied.) Also, display mage spells |
|
|
10252 | in one batch, priest spels in another group - I think this is more |
|
|
10253 | relevant now since these are seperate exp objects and draw on different |
|
|
10254 | power sources. Still no pause key (doing those is a real pain) - that |
|
|
10255 | is really a client issue or we should just add a scrollbar to the text |
|
|
10256 | window. |
|
|
10257 | |
|
|
10258 | Removed level 20 from artifact 'sword of Beserkgang' - was preventing |
|
|
10259 | characters from using it. |
|
|
10260 | |
|
|
10261 | Put cause many wounds spell in PATH_WOUNDING. Book chance for holy word |
|
|
10262 | increased. |
|
|
10263 | |
|
|
10264 | Let experience objects change stats. |
|
|
10265 | |
|
|
10266 | Many debugging messages added or updated to print out more useful/ |
|
|
10267 | detailed information. |
|
|
10268 | |
|
|
10269 | Changed usage and set_protocol function names in client/client.c. This |
|
|
10270 | prevents name collision with libcross. |
|
|
10271 | |
|
|
10272 | Web site locations added to the README file. |
|
|
10273 | |
|
|
10274 | Load and save window positions even if split windows is not set. This way, |
|
|
10275 | window posititions are lost if you run the game in non split mode (and I |
|
|
10276 | don't see any reason to discard these values.) Also, -split can |
|
|
10277 | be used in addition to -w to get split mode. |
|
|
10278 | |
|
|
10279 | Changed check inventory objects to recursively search through containers, |
|
|
10280 | and cleaned up the code. Also, added notes on crossfire.doc on using it, |
|
|
10281 | and made basic archetype to use. When using inventory checkers in |
|
|
10282 | crossedit, have the attributes by default come up with connected and |
|
|
10283 | lockcode fields. |
|
|
10284 | |
|
|
10285 | Made change to unique items: If the object is a floor and has unique items |
|
|
10286 | set, then all objects above and including the floor get saved as unique |
|
|
10287 | objects. Also, when merging maps and freeing old unique items, make sure we |
|
|
10288 | remove them from the button links. Made an apartment map which characters can |
|
|
10289 | buy permanent apartments and also store equipment in. When exiting the |
|
|
10290 | program, save off all maps so the unique items get written out. |
|
|
10291 | |
|
|
10292 | Xpm fixes: Moved floor setting from map loader to update_object. This |
|
|
10293 | makes it so that crossedit will display the map properly in XPM mode as |
|
|
10294 | you make updates. Also, made default visiblity 0 - this makes the double |
|
|
10295 | floor work properly. There still seems to be some bug when pasting objects |
|
|
10296 | in the editor with respect to updates. |
|
|
10297 | |
|
|
10298 | Change made to goths taverns and tavern in lake country. Change is so |
|
|
10299 | that some of the wimpier informants don't have really good stuff to take. |
|
|
10300 | |
|
|
10301 | Periodically write out the book archive during play, and not just when the |
|
|
10302 | program exits. |
|
|
10303 | |
|
|
10304 | Bug fix so 'drop x items' should no longer crash. Also, 'drop 1 item' |
|
|
10305 | should now only drop 1 item of 'item', and not all of 'item'. |
|
|
10306 | |
|
|
10307 | Bug fix so 'unlock item' should now work OK. |
|
|
10308 | |
|
|
10309 | When throwing objects, clear the APPLIED flag before the throw. |
|
|
10310 | |
|
|
10311 | Prayer granting from praying at altars changed around - you will get more |
|
|
10312 | unusual prayers, and a Wisdom of 25 is not a yes/no cutoff - value of |
|
|
10313 | sucess depends on wisdom. |
|
|
10314 | |
|
|
10315 | Archetype changes: remove no_magic flag from demon lord - I don't think |
|
|
10316 | this should be set in any monster - instead, immune should be set properly. |
|
|
10317 | Added damned flag to gates that are no magic (probably not necessary, |
|
|
10318 | but I think it makes sense.) Added check_inv object. Removed some |
|
|
10319 | duplicate skill types (same skill, different arch names.) |
|
|
10320 | |
|
|
10321 | Have get_pointed_target return the head of the monster if it is a multi |
|
|
10322 | part monster. |
|
|
10323 | |
|
|
10324 | Change smite and finger of death spell so they have no effect if creature |
|
|
10325 | reflects spells. |
|
|
10326 | |
|
|
10327 | Fix to prevent bug crashes with magic rune spell. |
|
|
10328 | |
|
|
10329 | Fix in spring_trap to correctly target the victim. Also, |
|
|
10330 | fix in find_traps which prevented the gaining of experience. |
|
|
10331 | |
|
|
10332 | If character has bonus grace, display it with percieve self. Also, load |
|
|
10333 | and store the last_grace value properly. |
|
|
10334 | |
|
|
10335 | Changes from Brians hide/attack patch: Adjustments for attacking based |
|
|
10336 | on varying factors, monsters wake up & call for help if it, can't remain |
|
|
10337 | hidden if you attack, changes for monster detection of hidden/dark/invisible |
|
|
10338 | players, players no longer remain invisible if attacking, adjustment in |
|
|
10339 | exp for stealing, stealing and hiding chances changed based on terrain |
|
|
10340 | and other modifiers, when generating flesh items, set no_steal, give |
|
|
10341 | chinese dragons some treasure, giants a little more gold. |
|
|
10342 | |
|
|
10343 | ------------------------------------------------------------------------------ |
|
|
10344 | Changes from Crossfire 0.92.7 to 0.92.8: |
|
|
10345 | |
|
|
10346 | races file changed, a bit more flexible. |
|
|
10347 | |
|
|
10348 | Additional dump flag (-m8) to dump god information. |
|
|
10349 | |
|
|
10350 | If attacktype is holyword, creature must be in slaying field of holyword. |
|
|
10351 | |
|
|
10352 | Better handling for items that remove/add protections,immunities, |
|
|
10353 | vulnerabilities. Only print changes if there is an actual change. |
|
|
10354 | |
|
|
10355 | holy power, blinding attacktypes added. |
|
|
10356 | |
|
|
10357 | Add poison to list of items that might not be identified. |
|
|
10358 | |
|
|
10359 | Two when windows are killed: 1) data is freed properly without causing |
|
|
10360 | crash now. 2) If player has saved but window is still active, will |
|
|
10361 | no longer make a save of the player. This save would be a no-item save |
|
|
10362 | that the character had been playing. |
|
|
10363 | |
|
|
10364 | Bug fix to prevent crashes if clicking a button in the message window |
|
|
10365 | and show_Buttons not enabled. Also, moved button handling in message |
|
|
10366 | window into its own function. |
|
|
10367 | |
|
|
10368 | Bug fix for pet monsters that should prevent cores if cycling through many |
|
|
10369 | maps very quickly. |
|
|
10370 | |
|
|
10371 | appendix for god information added to handbook (both latex and html versions.) |
|
|
10372 | |
|
|
10373 | gods2 patch applied from Brian Thomas. The main thrust of the patch is |
|
|
10374 | to make gods objects/archetype, and not array entries in the source code. A |
|
|
10375 | lot of code needed to be changed to support this difference. |
|
|
10376 | |
|
|
10377 | God patches so that game doesn't crash if no gods are set. |
|
|
10378 | |
|
|
10379 | Hopeful change for FreeBSD so it automatically pulls in the crypt |
|
|
10380 | library. |
|
|
10381 | |
|
|
10382 | Can no longer cast spells which are beyond your skill level. |
|
|
10383 | |
|
|
10384 | More powerful spell failures added. |
|
|
10385 | |
|
|
10386 | Can no longer read scrolls/other readable if blind. |
|
|
10387 | |
|
|
10388 | Fix bug that if a weapon had slaying, it slayed all monsters, not just |
|
|
10389 | the ones it was supposed to. |
|
|
10390 | |
|
|
10391 | Don't add the bows attacktype in when figuring out the attacktype of this |
|
|
10392 | player. This pretty much always gave the character a physical attacktype |
|
|
10393 | in addition to everything else. |
|
|
10394 | |
|
|
10395 | Fix 'peaceful' when using buttons so it doesn't crash the game. |
|
|
10396 | |
|
|
10397 | path_to_player changed to work better on diagonals. |
|
|
10398 | |
|
|
10399 | Spell choosing by monsters a bit more intelligent. |
|
|
10400 | |
|
|
10401 | No longer get experience for disarming/finding your own traps or those |
|
|
10402 | of other players. |
|
|
10403 | |
|
|
10404 | Add NO_STEAL flag, with obvious meaning. If a monster notices you stealing |
|
|
10405 | stuff, all his items are set to this, so nothing more can be stolen. Flag |
|
|
10406 | is automatically cleared when items are dropped. |
|
|
10407 | |
|
|
10408 | Add run and fire messages to message (stat bar) window. |
|
|
10409 | |
|
|
10410 | Make USE_BUTTONS playable setable item instead of compile time item. |
|
|
10411 | |
|
|
10412 | Don't insert heavy (>5 kg) missile objects into player when they hit - have |
|
|
10413 | them drop to the ground instead. |
|
|
10414 | |
|
|
10415 | -- |
|
|
10416 | Made more general object matching routines. item_matched_string sees if |
|
|
10417 | an object matches a string (which can be comma seperated list of many |
|
|
10418 | things.) find_best_object_match finds the best match in the players |
|
|
10419 | inventory. |
|
|
10420 | |
|
|
10421 | item_matched_string gets used for for matching multiple items. It is |
|
|
10422 | used in drop, get, take, lock/unlock |
|
|
10423 | |
|
|
10424 | find_best_object_match is used for apply, examine, mark, search-items. |
|
|
10425 | |
|
|
10426 | Also changed code so that certain actions are in sync with what display |
|
|
10427 | mode is set (mostly drop.) |
|
|
10428 | -- |
|
|
10429 | |
|
|
10430 | If levitating, you can now remove items from containers in your inventory |
|
|
10431 | (after all, they are levitation with you.) |
|
|
10432 | |
|
|
10433 | Clear is_changing flag if object is being thrown. |
|
|
10434 | |
|
|
10435 | Changes made to inscription code to work better. |
|
|
10436 | |
|
|
10437 | Changes mode to experience awarding for player skills. |
|
|
10438 | |
|
|
10439 | Fixes made to Peter Mardahl's dragonquest maps. |
|
|
10440 | |
|
|
10441 | Big Wizard, Belzebub, and Demon lord xpm versions colored. |
|
|
10442 | |
|
|
10443 | Minor bug fix to container in Thomas map. |
|
|
10444 | |
|
|
10445 | Some new archetypes/images for peterm/dragonquest maps. |
|
|
10446 | |
|
|
10447 | Make food creation spell more dynamic - food names/values no longer hard |
|
|
10448 | coded in. |
|
|
10449 | |
|
|
10450 | Additional demons added by Peter Mardahl |
|
|
10451 | |
|
|
10452 | Bug fix to prevent crashes with improve armor/weapon scrolls. |
|
|
10453 | |
|
|
10454 | Bug fix to prevent crossedit from crashing when exiting with edit windows |
|
|
10455 | open. |
|
|
10456 | |
|
|
10457 | Fix to prevent monsters from throwing certain good objects. |
|
|
10458 | |
|
|
10459 | Make sure praying over an altar only gets cleric spells. |
|
|
10460 | |
|
|
10461 | Increase saving throw array to correspond with max level. |
|
|
10462 | |
|
|
10463 | Monster hp/sp regeneration method changed some - more accurately tunable |
|
|
10464 | for low regeneration values. |
|
|
10465 | ------------------------------------------------------------------------------ |
|
|
10466 | Changes from Crossfire 0.92.6 to 0.92.7: |
|
|
10467 | |
|
|
10468 | Monsters now tend to be more agressive about firing spells. Several |
|
|
10469 | changes - now monsters will fire along diagonals. For multisquare monsters, |
|
|
10470 | we check to see if any part of the monster has a good shot at the player, |
|
|
10471 | not just the head. This changes tend to make it more likely that a monster |
|
|
10472 | will cast a spell and hit other monsters (makes a pack of wyverns more |
|
|
10473 | dangerous, as many will cast spells at you.) I am not sure if this is a bad |
|
|
10474 | thing - all it means is that you can't mix fire using creatures with |
|
|
10475 | monsters that will be damaged by fire. |
|
|
10476 | |
|
|
10477 | Let archetypes in the races file have spaces (for Arch Angel) |
|
|
10478 | |
|
|
10479 | Throwing code added - players and monsters can now throw objects. Some |
|
|
10480 | new throwable archetypes added. You need to add throwing_skill to any |
|
|
10481 | old players - you can run the utils/add_throw.perl <playerfile> to do this |
|
|
10482 | |
|
|
10483 | crossedit: If a object have editable of 0, make it so it doesn't appear in |
|
|
10484 | any of the menus. |
|
|
10485 | |
|
|
10486 | Max yield added to recipes. |
|
|
10487 | |
|
|
10488 | Better checks for insert_ob_in_ob to make sure we really have a player |
|
|
10489 | before calling some of the update functions. |
|
|
10490 | |
|
|
10491 | Weight limit for custom containers is now saved. |
|
|
10492 | |
|
|
10493 | If we load an object and find it has no archetype, just drop the object. |
|
|
10494 | This shouldn't happen, but can prevent core dumps for maps with missing |
|
|
10495 | objects or players from a different version. |
|
|
10496 | |
|
|
10497 | Add 5 static buffers to query_name - it is now safe to call it a few times |
|
|
10498 | in a sprintf or the like without losing the old value. |
|
|
10499 | |
|
|
10500 | Added 'statistics' command. Shows useful information about the |
|
|
10501 | character (none that can't be found in the docs.) Also changed |
|
|
10502 | 'skills' to show how much exp you need in each category for the next |
|
|
10503 | level. |
|
|
10504 | |
|
|
10505 | change_abil changed so that it only prints out what values/attributes |
|
|
10506 | have changed. Ie, if you remove a ring that gives protection from |
|
|
10507 | fire, but have other fire resistance, it won't say you are more vulnerable |
|
|
10508 | to file (since you are not.) |
|
|
10509 | |
|
|
10510 | Charisma bonus/mechanism changed (again.) Values in living.c are more |
|
|
10511 | easily/directly translated into what it means for buy/sell cost. Curve |
|
|
10512 | also balanced out some more. Query_cost changed so the value |
|
|
10513 | mechanism is a bit different (unfortunately, we need to multiply the value |
|
|
10514 | of objects by 4 to keep them roughly the same price as before.) |
|
|
10515 | |
|
|
10516 | Added 'mark' command. You use this to mark objects that are used for |
|
|
10517 | other objects (ie, torches with flint & steel, weapon with improvement |
|
|
10518 | scroll, etc.) This removes the necessity that the item you want to apply |
|
|
10519 | be the first thing in your inventory (in fact, that is no longer supported.) |
|
|
10520 | This should also make things easier for the client. |
|
|
10521 | |
|
|
10522 | Bug fix that prevents crashes on spaces which have a teleporter and sacrifice |
|
|
10523 | altar on the same space (/Lake_Country/DA). |
|
|
10524 | |
|
|
10525 | Some minor changes to lighting code, some maps also updated to |
|
|
10526 | use lighting code. |
|
|
10527 | |
|
|
10528 | Added halfling and half orc character to the game (From Brian Thomas) |
|
|
10529 | |
|
|
10530 | Changed valuation for FLESH items. Before it was value*level of creature. |
|
|
10531 | Now it is value*sqrt(level*2). For low level, this keeps roughly the same |
|
|
10532 | value, but for high levels, it keeps things more reasonable (drops the |
|
|
10533 | value of zombie corpses to about half previous value) |
|
|
10534 | |
|
|
10535 | Bug fix for monsters that have attacktype of ghosthit along with |
|
|
10536 | others (main fix ghasts, for Lake County, REtower/tower3, but |
|
|
10537 | this could happen for any monster.) |
|
|
10538 | |
|
|
10539 | Fix for attacks doing no damage against monsters they should. |
|
|
10540 | |
|
|
10541 | Bug fixes to readable code - should no longer core dump (At times) when |
|
|
10542 | books are created, should also be more robust and fix some other bugs. Also, |
|
|
10543 | give more detailed messages on how many levels beyond your comprehension |
|
|
10544 | a book is. |
|
|
10545 | |
|
|
10546 | randomitems now stored in object, not archetype. This means that treasure |
|
|
10547 | types can be changed in the map - a new archetype doesn't need to be added. |
|
|
10548 | However, the treasure to set must still be in the treasures file (or you |
|
|
10549 | can use none so treasure is not generated.) |
|
|
10550 | |
|
|
10551 | Removed color_fg and color_bg variables from game - these have long been |
|
|
10552 | obsoleted, but code to handle them has never been completely removed. |
|
|
10553 | |
|
|
10554 | Changed code so that best wc possible is +/-120 - should now prevent |
|
|
10555 | overflows. |
|
|
10556 | |
|
|
10557 | ------------------------------------------------------------------------------ |
|
|
10558 | Changes from Crossfire 0.92.5 to 0.92.6: |
|
|
10559 | |
|
|
10560 | If player deletes window and we can't save, delete player objects instead of |
|
|
10561 | dumping them on the map. |
|
|
10562 | |
|
|
10563 | Make NEW_PROCESS_EVENTS standard - remove old proces code and ifdefs. |
|
|
10564 | |
|
|
10565 | Remove temporary object from cast_spell - pass along both spellcasting |
|
|
10566 | and owner objects. Seems to fix some bugs and increase reliability (also |
|
|
10567 | is a better way to deal with it.) |
|
|
10568 | |
|
|
10569 | Change made so that converters are also knowledge about 'money' psuedotype. |
|
|
10570 | |
|
|
10571 | change spellcasting altars so they also push the button. Fixes altars |
|
|
10572 | on some old maps. |
|
|
10573 | |
|
|
10574 | Some minor tweaks made to the artifact file - mostly clarification of names |
|
|
10575 | or setting values correctly. |
|
|
10576 | |
|
|
10577 | spellcasting skill renamed to wizardry. |
|
|
10578 | |
|
|
10579 | Fix made so that 'old' potions (strength, int, etc) use correct price. |
|
|
10580 | |
|
|
10581 | If you examine food/flesh items, you now get detailed information (food |
|
|
10582 | value, protections, etc.) |
|
|
10583 | |
|
|
10584 | Code by brian thomas so that book titles will remain constant across |
|
|
10585 | different program runs. |
|
|
10586 | |
|
|
10587 | Bug fix for crashes caused by multisquare monsters stepping on |
|
|
10588 | deadly objects. Basically, fully insert the object, then start doing the |
|
|
10589 | check_walkon's one at a time to see if the creature dies. |
|
|
10590 | |
|
|
10591 | Brian Thomas' valley of the sisters quest added. Additional archetypes |
|
|
10592 | and treasures added to handle this. |
|
|
10593 | |
|
|
10594 | 'sort_inventory' option added (player setable.) IF set, when items are |
|
|
10595 | picked up, they will be inserted by type, then alphabetical. Very handy |
|
|
10596 | for scrolls and rings. |
|
|
10597 | |
|
|
10598 | Some fixes made to the kundi maps. |
|
|
10599 | |
|
|
10600 | Flesh/alchemy fixes by Brian Thomas. Flesh type now inherit properties |
|
|
10601 | from parent creature (weight, and possibly protections/vulnerabilities are |
|
|
10602 | added). |
|
|
10603 | |
|
|
10604 | Change made for alchemy - you can't toss a bunch of junk in a cauldron and |
|
|
10605 | get a good item out unless you sucessfully use alchemy. |
|
|
10606 | |
|
|
10607 | handbook added to the doc directory (tex/postscript.) And html version is |
|
|
10608 | also there, along with an html version to the spoiler. Tex version of |
|
|
10609 | spoiler also fixed so it is generated properly with new Latex. |
|
|
10610 | |
|
|
10611 | |
|
|
10612 | ------------------------------------------------------------------------------ |
|
|
10613 | Changes from Crossfire 0.92.4 to 0.92.5: |
|
|
10614 | |
|
|
10615 | Som bug fixes made dealing with cursed improvement potions. |
|
|
10616 | |
|
|
10617 | Always let players learn spells if they are in their starting spellbook. |
|
|
10618 | |
|
|
10619 | New attack methodology put in palce. To put in simply, if there is |
|
|
10620 | only 1 attacktype, things remain the same. If there are multiple attacktypes, |
|
|
10621 | we cycle through them one by one, and take the one that does the best |
|
|
10622 | damage and use it. Some attacktypes no longer do damage - they are effects |
|
|
10623 | (ie, paralyzation, slow.) In the case of of these, the effect will always |
|
|
10624 | be applied if appropriate. Code looks to behave pretty much the same, |
|
|
10625 | but is easier to follow. IF new code is buggy, or you don't want it, |
|
|
10626 | there is a define at the top of attack.c you can change. |
|
|
10627 | |
|
|
10628 | If god blesses you, lets actually remove the depletion object from the |
|
|
10629 | player inventory. |
|
|
10630 | |
|
|
10631 | Other god related fixes put in place - look to also deal with blessed |
|
|
10632 | weapons. |
|
|
10633 | |
|
|
10634 | Additional dump flag added. |
|
|
10635 | |
|
|
10636 | fix bugs with USE_BUTTONS and the peaceful button. |
|
|
10637 | |
|
|
10638 | Only allow write_rune to use objects of type RUNE |
|
|
10639 | |
|
|
10640 | Bugfix in get_pointed_target if it can't find a target - prevents endless |
|
|
10641 | loop |
|
|
10642 | |
|
|
10643 | NRSPELLPATHS set to correct value. |
|
|
10644 | |
|
|
10645 | Remove null terminator from gods array - not needed anymore. |
|
|
10646 | |
|
|
10647 | Fix savethrow array size to match maxlevel properly (was 1 short) |
|
|
10648 | |
|
|
10649 | remove damnation and remove curse now cleric spells. |
|
|
10650 | |
|
|
10651 | Fix some header code to better work on solaris 2.5 |
|
|
10652 | |
|
|
10653 | Support for compilation with the dmalloc (debug malloc) package. |
|
|
10654 | |
|
|
10655 | Allow altars and related items to match objects based on type. Use hp |
|
|
10656 | field of altar object as the type to match. |
|
|
10657 | |
|
|
10658 | Library patch by Brian Thomas. |
|
|
10659 | |
|
|
10660 | Various skill fixes by Brian Thomas. |
|
|
10661 | |
|
|
10662 | Alchemy patch by Brian Thomas. Here is a copy of his README: |
|
|
10663 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
|
|
10664 | The amount of work I put into this was substantial; other than |
|
|
10665 | new code -- I created new archetypes, revised archetypes, altered the |
|
|
10666 | treasures file and created 2 new object types and a flag. |
|
|
10667 | |
|
|
10668 | It therefore may be enjoyable to install this patch (incl code) |
|
|
10669 | and *not* define ALCHEMY in define.h. In particular, this patch |
|
|
10670 | does the following things: |
|
|
10671 | |
|
|
10672 | 1) more varieties of potions are available in shops. |
|
|
10673 | |
|
|
10674 | 2) new gems and types of food. |
|
|
10675 | |
|
|
10676 | 3) monsters will now leave behind body parts when you kill them. |
|
|
10677 | |
|
|
10678 | 4) if ALCHEMY is defined players may make potions/artifacts. |
|
|
10679 | |
|
|
10680 | I have included instructions for installation in INSTALL.PATCH, |
|
|
10681 | and a brief document for using the code (Alchemy.doc). |
|
|
10682 | |
|
|
10683 | Finally, as always, feedback is appreciated. |
|
|
10684 | |
|
|
10685 | b.t. |
|
|
10686 | thomas@astro.psu.edu |
|
|
10687 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
|
|
10688 | |
|
|
10689 | |
|
|
10690 | |
|
|
10691 | ------------------------------------------------------------------------------ |
|
|
10692 | Changes from Crossfire 0.92.3 to 0.92.4: |
|
|
10693 | |
|
|
10694 | Various bug fixes to readable code. |
|
|
10695 | |
|
|
10696 | Let altars be able to cast spells. sp field determine what spell to cast. |
|
|
10697 | |
|
|
10698 | Fix obscure bug that an arrow can be 'killed' if a monster that has hitback |
|
|
10699 | moves onto it while it is moving. Thus would then cause problems because |
|
|
10700 | apply would try to remove the object after it had been killed. |
|
|
10701 | |
|
|
10702 | Give quetzalcoatl melee attack skill. |
|
|
10703 | |
|
|
10704 | Give experience for clawing attacks. |
|
|
10705 | |
|
|
10706 | Include literacy skill with fighter skill - this should now give all starting |
|
|
10707 | classes literacy skill. I think it improves play balance. |
|
|
10708 | |
|
|
10709 | Don't mark a players starting money as being start equipment - otherwise |
|
|
10710 | they can't drop it on identify altars and it can get merged with money |
|
|
10711 | gained at a later date, yet still be marked as starting equipment. |
|
|
10712 | |
|
|
10713 | Bug fix in keybindings so that we check return of XKeysymToString to make |
|
|
10714 | sure we don't use a null value. Some keyboards have keys with no names, |
|
|
10715 | and on some systems, passing a null pointer as a string causes it to crash. |
|
|
10716 | |
|
|
10717 | ------------------------------------------------------------------------------ |
|
|
10718 | Changes from Crossfire 0.92.2 to 0.92.3: |
|
|
10719 | |
|
|
10720 | Removed ability to use unpaid objects for sacrifices. |
|
|
10721 | |
|
|
10722 | Changed weapon improvement code to be based on skill levels (if skills |
|
|
10723 | are used.) |
|
|
10724 | |
|
|
10725 | Code in place to generate hit points by average of fighter and overall |
|
|
10726 | level - to enable this, change the #if 0 to #if 1 at around line 1040 |
|
|
10727 | in common/living.c |
|
|
10728 | |
|
|
10729 | Books hack by Brian Thomas. This mainly means that when emptry books are |
|
|
10730 | created (or are otherwise on the map), that they will be filled with some type |
|
|
10731 | of information. Some (like monster/spells/gods/artifacts) are generated via |
|
|
10732 | the program itself. Information from a messages file that is stored in lib |
|
|
10733 | can also be found. Experience can be gained by reading this information. |
|
|
10734 | |
|
|
10735 | Read/write patch by Brian Thomas. This mainly encompasses the fact that |
|
|
10736 | players can now write messages in books, that you must be literate enough (as |
|
|
10737 | determined by literacy skill level) to read various books/scrolls. Scrolls |
|
|
10738 | are now not identified, but literacy can be used to identify them. Players |
|
|
10739 | can still read signs even if they are not literated (needed for game balance/ |
|
|
10740 | information) |
|
|
10741 | |
|
|
10742 | ------------------------------------------------------------------------------ |
|
|
10743 | Changes from Crossfire 0.92.1 to 0.92.2: |
|
|
10744 | |
|
|
10745 | Give artifact Gram weapon attacktype physical|confusion. Before, it was only |
|
|
10746 | confusion which would never actually damage anything. |
|
|
10747 | |
|
|
10748 | If a player dies in a shop, remove any unpaid items from his inventory and |
|
|
10749 | put them back in the map. Only applies in NOT_PERMADEATH mode. |
|
|
10750 | |
|
|
10751 | Put in better DM security - now checks for name, password, and hostname (any |
|
|
10752 | of those can be wildcarded out) - see the lib/dm_file for some demo. To |
|
|
10753 | supply a password for dm mode, just use dm with the password (ie, "'dm |
|
|
10754 | <fireball>") |
|
|
10755 | |
|
|
10756 | Lighting code added (with various support objects, spells, etc). No maps |
|
|
10757 | support this yet. |
|
|
10758 | |
|
|
10759 | Don't baptize altars if we are in the editor. Leave altars the way they |
|
|
10760 | are so that they will be baptized the crossfire loads the map instead. |
|
|
10761 | |
|
|
10762 | Allow the title of and object to be set from within crossedit. |
|
|
10763 | |
|
|
10764 | Allow individual players to set the inventory icon, now longer a compile time |
|
|
10765 | option. |
|
|
10766 | |
|
|
10767 | If we get a non critical error and do an emergency save just in case, |
|
|
10768 | then don't remove any information/objects. This probably fixes the |
|
|
10769 | disappearing inventory bug. |
|
|
10770 | |
|
|
10771 | ------------------------------------------------------------------------------ |
|
|
10772 | Changes from Crossfire 0.92.0 to 0.92.1: |
|
|
10773 | |
|
|
10774 | Improved altar sacrifice code (actually, any object type that calls |
|
|
10775 | check_altar) - treat a slaying field of 'money' as something special- don't |
|
|
10776 | care what form the money is in (see docs for more details) |
|
|
10777 | |
|
|
10778 | Improve identify table (in conjunction with altar code above) - now takes |
|
|
10779 | any type of money, won't take money if nothing needs to be identified, |
|
|
10780 | will identify as many things as money is dropped for (ie, drop 200 gold, it |
|
|
10781 | will do 10 items) |
|
|
10782 | |
|
|
10783 | In the map attributes in crossedit, you can select an option called |
|
|
10784 | "ShowWeakWalls". If this is selected, weak walls will be shown in a partial |
|
|
10785 | teardown state - makes working with some maps much easier. |
|
|
10786 | |
|
|
10787 | New client updated to support Power and Grace stats. |
|
|
10788 | |
|
|
10789 | Magic system broken into 2 forms of magic - clerical and mage (they are |
|
|
10790 | now seperate). Power stat also added to the game - plays into mage |
|
|
10791 | spellpoint (mana) total. Grace also added - used for cleric spell casting. |
|
|
10792 | |
|
|
10793 | Skill system greatly expanded - different experience types with skills |
|
|
10794 | associated with them (only has meaning if you are using the skill code) - thus |
|
|
10795 | you gain experience for certain categories as you use certain skills - see |
|
|
10796 | doc/skills.doc for more info |
|
|
10797 | |
|
|
10798 | Multiple gods added (via config option in config.h) - basically, different |
|
|
10799 | gods have different enemies, and the effects cleric spells have will depend |
|
|
10800 | on this. Altars are created for different gods. See doc/Multigod.doc for |
|
|
10801 | more information. Along with this, some new spells were added. |
|
|
10802 | |
|
|
10803 | Fix a problem of some objects falling out of sight when they shouldn't. |
|
|
10804 | |
|
|
10805 | Send delete item to client if decrease_ob reduces the items nrof to 0. |
|
|
10806 | |
|
|
10807 | Weight should now be fixed up when transferring stuff to/from containers. |
|
|
10808 | |
|
|
10809 | config option called NO_AUTO_SKILL_SWITCH added - it means range type |
|
|
10810 | doesn't automatically get switched to skill type when using melee weapon. |
|
|
10811 | Main effects is that it makes it easier to switch between melee and range |
|
|
10812 | weapons (pretty much makes it like it was prior to the skill code.) |
|
|
10813 | |
|
|
10814 | Sack code cleaned up - we don't need to split an object to see if it will |
|
|
10815 | actually fit in a container - we can just say how many we want to try to |
|
|
10816 | put in. |
|
|
10817 | |
|
|
10818 | Actually put wimpy command back in (all code was there, just the link to |
|
|
10819 | call the fucntion was missing.) |
|
|
10820 | |
|
|
10821 | Increase max count from 9999 to 99,999. Wasn't that uncommen for high level |
|
|
10822 | characters to have more than 10000 platinum coins. |
|
|
10823 | |
|
|
10824 | When invoking spells, temporarily switch the range type to range_magic - |
|
|
10825 | otherwise, a proper check for spellpoints is not done, and it then becomes |
|
|
10826 | possible to go negative. |
|
|
10827 | |
|
|
10828 | Modified crossloop so that it renames and compresses any core files created |
|
|
10829 | while it is running - very handy for debugging (note that you could easily |
|
|
10830 | modify it to remove the core files instead.) |
|
|
10831 | |
|
|
10832 | ------------------------------------------------------------------------------ |
|
|
10833 | Changes from Crossfire 0.91.9 to 0.92.0: |
|
|
10834 | |
|
|
10835 | Make sure the weight a container is carrying can never go below 0. |
|
|
10836 | |
|
|
10837 | Fixed fall below code, so that objects with visibility will not fall below |
|
|
10838 | objects that otherwise blocks view. |
|
|
10839 | |
|
|
10840 | Fixed colormap problems with xpm graphics on black and white displays. |
|
|
10841 | |
|
|
10842 | ALLOW_SKILLS is now the default in the config.h file. |
|
|
10843 | |
|
|
10844 | IS_SUMMON_SPELL macro fixed (= was supposed to be ==) |
|
|
10845 | |
|
|
10846 | Artifact foods added by Brian Thomas. These are foods that can give some |
|
|
10847 | nice benefits (stat improvements, etc), or be much nastier poisons. |
|
|
10848 | |
|
|
10849 | Bug fix made to skill selection that would otherwise cause core dumps. |
|
|
10850 | |
|
|
10851 | Bug fix made to query_cost that would cause core dumps if the alchemy spell |
|
|
10852 | was used. |
|
|
10853 | |
|
|
10854 | Fixed bug in dimension door that would cause core dumps if cast from a |
|
|
10855 | wand. |
|
|
10856 | |
|
|
10857 | find_target_for_friendly_spell fixed to use the get_owner call instead of |
|
|
10858 | referring to op->owner (get_owner should always be used.) Fixed core dumps |
|
|
10859 | that were caused when the owner would be killed, but still have a pet |
|
|
10860 | monster (vampires as an example.) get_owner makes checks to make sure |
|
|
10861 | the owner still exists. |
|
|
10862 | |
|
|
10863 | Only set the windows colormap if on a color display. |
|
|
10864 | |
|
|
10865 | ------------------------------------------------------------------------------ |
|
|
10866 | Changes from Crossfire 0.91.8 to 0.91.9: |
|
|
10867 | |
|
|
10868 | Changed some parameter names from spell to spellnum. Some compilers don't |
|
|
10869 | like parameter names that match structure names. |
|
|
10870 | |
|
|
10871 | Alot of skill code added by Brian Thomas. |
|
|
10872 | |
|
|
10873 | Assume that Suns running solaris have strncasecmp. Also, if using |
|
|
10874 | Xpm_Pix, assume the strcasecmp is available (the Xpm library should |
|
|
10875 | provide it.) |
|
|
10876 | |
|
|
10877 | get_player_ob function now uses the CALLOC define, instead of just |
|
|
10878 | calloc. |
|
|
10879 | |
|
|
10880 | When dropping items onto objects that blocks view, they now fall below the |
|
|
10881 | object that blocks the view. |
|
|
10882 | |
|
|
10883 | XPM mode now works with private colormaps. It will also switch to a private |
|
|
10884 | colormap if it runs out of color during the xpm creation (works for |
|
|
10885 | crossedit also). |
|
|
10886 | |
|
|
10887 | Don't let players put starting equipment into containers. |
|
|
10888 | |
|
|
10889 | A bows weapon class (WC) is now used to determined hit probability for |
|
|
10890 | arrows. |
|
|
10891 | |
|
|
10892 | When a player dies (in NOT_PERMADEATH mode), the character is immediately |
|
|
10893 | saved. Thus, if you die there is no advantage to crashing the server, |
|
|
10894 | hoping for a copy of your character from before you died. |
|
|
10895 | |
|
|
10896 | Set the value to 0 for arrows created with the create missile spell. |
|
|
10897 | |
|
|
10898 | When transferrance is cast excessively, don't hit the person receiving the |
|
|
10899 | spell with 9999 points of physical damage (otherwise, spell can be used to |
|
|
10900 | kill many powerful monsters.) |
|
|
10901 | |
|
|
10902 | Made some changes to make it compile properly under Solaris. |
|
|
10903 | |
|
|
10904 | Fixed bug in dropall that would cause an infinite loop if the player had |
|
|
10905 | an open container. |
|
|
10906 | |
|
|
10907 | Exits can now inflict damage on players. |
|
|
10908 | |
|
|
10909 | Fixed middle mouse button missle attack. Now clears the fire_on flag. |
|
|
10910 | |
|
|
10911 | ------------------------------------------------------------------------------ |
|
|
10912 | Changes from Crossfire 0.91.7 to 0.91.8: |
|
|
10913 | |
|
|
10914 | Messages about an objects speed no longer printed to the console. |
|
|
10915 | |
|
|
10916 | When players exit maps, no longer inform all the other players. |
|
|
10917 | |
|
|
10918 | install-same and install-font directives added to lib/Imakefile - used |
|
|
10919 | if game is being installed to same font it was unpacked in. |
|
|
10920 | |
|
|
10921 | Client now supports receiving bitmaps - server does not support |
|
|
10922 | sending them, however. |
|
|
10923 | |
|
|
10924 | Max experience achievable is based on max level, not a hard coded |
|
|
10925 | value (although, at present time, max level is hardcoded to 100) |
|
|
10926 | |
|
|
10927 | insert_ob_in_ob now returns an object - needed for client/server code. |
|
|
10928 | |
|
|
10929 | check_inv function added to button.c. Trigger will be altered depending if |
|
|
10930 | the character has a matching item (or lack of a matching item.) |
|
|
10931 | |
|
|
10932 | Option added to config.h to make it so that backup saves will save the player |
|
|
10933 | back at home, instead of the present map. Code adapated from code sent |
|
|
10934 | by John Steven Moerk (jsm@axon.ksc.nasa.gov) |
|
|
10935 | |
|
|
10936 | Minor bug in crossedit fixed that would cause it to exit if both |
|
|
10937 | -p and -xpm is specified. Both can now be specified - it will effectively |
|
|
10938 | ignore the -pix portion. |
|
|
10939 | |
|
|
10940 | New skills added, with corresponding code to use these skills (from Brian |
|
|
10941 | Thomas) Use of skill code is selectable in the config.h file. |
|
|
10942 | |
|
|
10943 | Two new spells: summon fog and steambolt (from Brian Thomas) |
|
|
10944 | |
|
|
10945 | Enchant armor code added (from Brian Thomas) |
|
|
10946 | |
|
|
10947 | Fixed bug in crossedit that would cause it to core dump whenever a non exit |
|
|
10948 | was selected and then the enter command run. |
|
|
10949 | |
|
|
10950 | Fixed bug in attack.c that was using info_all if CASTING_TIME was |
|
|
10951 | selected. |
|
|
10952 | |
|
|
10953 | Made it so that decrease_ob_nr will never decrease the object number below |
|
|
10954 | 0. This fixes a bug in that remove_ob would calculate a negative weight, |
|
|
10955 | and then call sub_weight with that negative value. This ended up resulting |
|
|
10956 | in weight being added to the player instead of subtracted. |
|
|
10957 | |
|
|
10958 | ------------------------------------------------------------------------------ |
|
|
10959 | Changes from Crossfire 0.91.6 to 0.91.7: |
|
|
10960 | |
|
|
10961 | Item saving throw changed around - items are only invulernable to attack |
|
|
10962 | types that they are protectected or immune to. For example, if an item is |
|
|
10963 | protected from magic, and is is by AT_FIRE | AT_MAGIC, it still needs to save |
|
|
10964 | against fire. Before, since it was protected from magic and the attack type |
|
|
10965 | includes magic, it would not have been affected in any way. |
|
|
10966 | |
|
|
10967 | insert_ob_in_map_simple function added. This is used in functions that what |
|
|
10968 | to examine all the objects on a space, yet insert new objects as it goes |
|
|
10969 | (polymorph). This function will not merge objects, so traversing the stack |
|
|
10970 | will work fine. Should fix removing removed object bugs that used to happen |
|
|
10971 | for polymorph (function should be used in other functions that do a similar |
|
|
10972 | thing) |
|
|
10973 | |
|
|
10974 | Damage field in objects is now 16 bits (signed). Needed because some |
|
|
10975 | high level spells would do more damage than could be stored in signed |
|
|
10976 | 8 bits. |
|
|
10977 | |
|
|
10978 | The 'old' client program no longer compares versions - there is no reason |
|
|
10979 | to, since the client doesn't do anything that requires an exact version |
|
|
10980 | match. |
|
|
10981 | |
|
|
10982 | Better handling of the Eutl library added - selection is now done |
|
|
10983 | in crosssite.def. |
|
|
10984 | |
|
|
10985 | Large lake faces expanded - now set up like walls, where auto join works. |
|
|
10986 | walls pick file expanded to include this image series and some other walls |
|
|
10987 | that were not previously set. |
|
|
10988 | |
|
|
10989 | Pacify spell added - code from Brian Thomas |
|
|
10990 | |
|
|
10991 | Show invisible and X-ray spell added (code by Peter Mardahl) |
|
|
10992 | |
|
|
10993 | Face data is static - that is to say the the color for any face can not be |
|
|
10994 | changed. In order to do a face with a different color, a new face needs to |
|
|
10995 | be created (or perhaps linked to the old). This change was made because for |
|
|
10996 | client/server communication, having a known color for each image greatly |
|
|
10997 | simplify things (also, on monochrome or XPM displays, color information |
|
|
10998 | didn't have any effect). Related changes: |
|
|
10999 | |
|
|
11000 | 1) color information is no longer stored in the archetypes file, |
|
|
11001 | but continues to be stored in the individual .arc files. collect.pl |
|
|
11002 | has been modified to store this information in a faces file. |
|
|
11003 | |
|
|
11004 | 2) visibility variable added. This is a face value, and it is meant |
|
|
11005 | to take the place of the DOUBLE_FLOOR_PATCH. System will work like |
|
|
11006 | this if DOUBLE_FLOOR_PATCH is enabled: the floor and the object |
|
|
11007 | with the highest visibility + the top object will be drawn. |
|
|
11008 | |
|
|
11009 | 3) color can not be changed in maps - in fact, since color is now |
|
|
11010 | stored in a different file, the color handling for objects has been |
|
|
11011 | removed. Note - when loading a map with crossedit, this information |
|
|
11012 | is silently ignored. Thus, when then saving the map, the color |
|
|
11013 | information will be lost. The maps should be updated with new faces |
|
|
11014 | if this color information is imporant. The lib/adm/map_info perl |
|
|
11015 | program now will print out warning messages for maps that are using |
|
|
11016 | color changes. Also, the code in loader.c can easily be changed to |
|
|
11017 | print out when it loads a color change (disabled because it is too |
|
|
11018 | verbose for most uses) |
|
|
11019 | |
|
|
11020 | PLAYER_COLORS config option and code support removed - with new static face |
|
|
11021 | information above, this can not be supported in any real way. |
|
|
11022 | |
|
|
11023 | Shop buildings no longer have is_floor set. This was a hack for the |
|
|
11024 | DOUBLE_FLOOR_PATCH for XPM mode. However, enabling it can make it so |
|
|
11025 | objects disappear beneath the shops (due to the way maps save.) Having |
|
|
11026 | objects not disappear is much more important (IMHO) than having things look |
|
|
11027 | just a little bit nicer for XPM mode. Archetypes exist for it, but are in |
|
|
11028 | the dev/unused/0.91/7/mood_floor directory, since no maps presently use them |
|
|
11029 | |
|
|
11030 | Mood floors added (code by thomas@nomad.astro.psu.edu). When activated, |
|
|
11031 | these floors can change the mode/flags of monsters (make them aggressive, |
|
|
11032 | make them unagressive, make them fall asleep, or charm them) |
|
|
11033 | |
|
|
11034 | New output mode in place - this uses a much smarter buffering method - it |
|
|
11035 | keeps track of several messages, and how often they are flushed is setable |
|
|
11036 | with the output-sync and output-flush commands (a help file does exist). |
|
|
11037 | All the various draw/write functions have been cleaned up, so that there now |
|
|
11038 | exists only 1 front end function (new_draw_info), which takes flags, |
|
|
11039 | priority, object, and the actual string. The flags are defined in |
|
|
11040 | newclient.h, as NDI_* (in this file because client should use the color |
|
|
11041 | flags sometime in the future, and it makes sense to keep all the flags in |
|
|
11042 | one place). Priority corresponds to the listen level that the player has |
|
|
11043 | set - the lower priority, the more likely it will be printed. |
|
|
11044 | |
|
|
11045 | Certain runes/traps now work properly (things like create bomb and magic |
|
|
11046 | draining would not work if the player is not on the same square as the rune) |
|
|
11047 | |
|
|
11048 | When a player kills a window, the players objects will be destroyed |
|
|
11049 | and not placed on the map. |
|
|
11050 | |
|
|
11051 | Scrolls, rods, wands, and staves will always be at least level 1. |
|
|
11052 | |
|
|
11053 | Beefed up demilich's. Previously, for the experience they were worth, |
|
|
11054 | it was much to easy to kill them. Main difference is that now their |
|
|
11055 | speed is 0.25 compared to 0.06 |
|
|
11056 | |
|
|
11057 | Fixed minor bugs with player movers - if the object to be moved had a |
|
|
11058 | speed greater than 1, it was possible to avoid all affects of the mover. |
|
|
11059 | |
|
|
11060 | Objects that slay are fixed up. Previously, only if the race matched the |
|
|
11061 | slaying type did it work. Now, in addition, f the race of archetype name |
|
|
11062 | matches the slaying, the object will slay. This fixes stakes, and probably |
|
|
11063 | a lot of other items that weren't slaying creatures properly. |
|
|
11064 | |
|
|
11065 | Changed some of the stat bonuses/penalties for all the classes. All the |
|
|
11066 | 'normal' races now have a net total of 0 (fireborn, wraith, and quetzalcoatl |
|
|
11067 | are not considered normal races, so their totals are unchanged.) |
|
|
11068 | |
|
|
11069 | Some of the items in the artifacts file have been fixed up - fixed |
|
|
11070 | spelling errors and errors in placement of the difficulty. |
|
|
11071 | |
|
|
11072 | ------------------------------------------------------------------------------ |
|
|
11073 | Changes from Crossfire 0.91.5 to 0.91.6: |
|
|
11074 | |
|
|
11075 | When player stops attacking, make sure his speed_left is not larger than his |
|
|
11076 | normal speed. Fixes a bug where you could attack a wall, then try to attack |
|
|
11077 | in another direction, and move quite quickly for a short time, since weapon |
|
|
11078 | speed would be used for that short burst of movement. |
|
|
11079 | |
|
|
11080 | Drain attacks become attack type physical when the character reaches the |
|
|
11081 | mininum experience possible. |
|
|
11082 | |
|
|
11083 | Do not allow equipped weapons to be improved if they would make it too |
|
|
11084 | powerful for the character to use. |
|
|
11085 | |
|
|
11086 | errmsg buffer sized increased to HUGE_BUF. Should fix some bugs that |
|
|
11087 | were causes when this was overflowed in dump_object2. |
|
|
11088 | |
|
|
11089 | SOUND_EFFECTS (if selected) is now defined when compiling all files. |
|
|
11090 | Previously, it was only set when compiling files in the server directory - |
|
|
11091 | this had the effect that the player structure was different between the |
|
|
11092 | server and common area. |
|
|
11093 | |
|
|
11094 | speed+2 items now increase speed properly. Values in the computation were |
|
|
11095 | not being cast to floats, so a speed+2 ended up giving the same amount of |
|
|
11096 | speed as a speed+1 item. |
|
|
11097 | |
|
|
11098 | Restoration changed around. The spell will no longer restore depleted stats |
|
|
11099 | - this can only be done with the potion. The potion is now only generic |
|
|
11100 | restoration - specific stat restoration potions removed. Also, perceive |
|
|
11101 | self will now tell the player what stats are drained and by how much. |
|
|
11102 | |
|
|
11103 | Reduce the amount of experience you get from killing other players to |
|
|
11104 | 1/10'th what it used to be. This should also discourage players from |
|
|
11105 | killing other players. |
|
|
11106 | |
|
|
11107 | SAVE_PLAYER removed from configurable options - it is always on. I can't |
|
|
11108 | see why anyone wouldn't want to be able to use this, and if you really |
|
|
11109 | don't want to use it, removing the save directory would pretty much |
|
|
11110 | work. |
|
|
11111 | |
|
|
11112 | Fixed dropall command. It wasn't dropping all items (seemed to |
|
|
11113 | stop at first locked item.) Also, 'dropall armour' now drops |
|
|
11114 | helmets in addition to shields and armor. |
|
|
11115 | |
|
|
11116 | Fixed heroism potion. It was casting the incorrect spell (detect curse). |
|
|
11117 | Now it casts heroism. |
|
|
11118 | |
|
|
11119 | Fixed bug that would cause remove object to try and remove object. When |
|
|
11120 | loading maps, an object in a container in a container would not be inserted |
|
|
11121 | (this mostly happened with an object in a chest in an icecube.) Changed |
|
|
11122 | code in load_objects to a recursive call, which can handle inventories any |
|
|
11123 | number of layers deep. |
|
|
11124 | |
|
|
11125 | Fixed bug in drop_all that would cause core dumps. |
|
|
11126 | |
|
|
11127 | ------------------------------------------------------------------------------ |
|
|
11128 | Changes from Crossfire 0.91.4 to 0.91.5 |
|
|
11129 | |
|
|
11130 | Inventory icons are now updated properly. Also, the inv_name and look_name |
|
|
11131 | arrays in the player structure have been redone - these are now arrays of |
|
|
11132 | function pointers and use the shared string libraries to allocated and free |
|
|
11133 | storage. This should take less space than the fixed size arrays that were |
|
|
11134 | previously used. |
|
|
11135 | |
|
|
11136 | When buying equipment, weight is now subtracted properly from the player |
|
|
11137 | for the coins that are used. |
|
|
11138 | |
|
|
11139 | Maps can now have a fixed reset time. This means that the map will reset |
|
|
11140 | after a set amount of time, no matter whether it is accessed or not. Useful |
|
|
11141 | for highly used maps that really need to be reset once in a while. |
|
|
11142 | |
|
|
11143 | Bug fixed in get_ob_diff. The difference array would get overflow, |
|
|
11144 | corrupting other data. Many core dumps were probably caused by this. |
|
|
11145 | |
|
|
11146 | Fixed bug in legal_range routine where legal_range would only check to |
|
|
11147 | first item of type BOW in a players inventory. This caused rotateshoottype |
|
|
11148 | to not list the bow entry if it was not the first bow equipped. |
|
|
11149 | |
|
|
11150 | Cloaks are not always turned into artifacts - normal cloaks can be found now. |
|
|
11151 | |
|
|
11152 | Charisma bonus changed around some more. Penalties are not quite as harsh |
|
|
11153 | for very ugly characters - with the change, a character will never pay |
|
|
11154 | more than 10 times to buy something than to sell that same item. |
|
|
11155 | |
|
|
11156 | Various functions changed around and some new ones added so things will |
|
|
11157 | work properly with the new client (still under developement.) Most notable |
|
|
11158 | changes were to common/xutil.c, with the newclient.c and newsocket.c |
|
|
11159 | files added. |
|
|
11160 | |
|
|
11161 | Unpaid items that are alchemied are now worth nothing. |
|
|
11162 | |
|
|
11163 | TWO_BYTES_FONT is now a standard. I can't see crossfire ever going back to |
|
|
11164 | having less than 256 images. |
|
|
11165 | |
|
|
11166 | free map->tmpname when it is no longer needed (before setting it to NULL). |
|
|
11167 | this pointer is assigned from a tempnam calls, which (on Sunos 4.1.x) uses |
|
|
11168 | malloc to allocate space. Note - if this is not true for you system, let me |
|
|
11169 | know, so I can put code in to handle this. |
|
|
11170 | |
|
|
11171 | destruction spell (from scrolls) fixed. This was actually a problem |
|
|
11172 | in that cast_spell was not setting the owner properly. |
|
|
11173 | |
|
|
11174 | Magic mapping improved for bw systems. This actually makes it work like |
|
|
11175 | it used to, with it doing stippling for object. |
|
|
11176 | |
|
|
11177 | Casting of director spells changed. Placement away from characters and |
|
|
11178 | underneath characters now possible |
|
|
11179 | |
|
|
11180 | New potion type added - Improvement: This will raise level hit point or |
|
|
11181 | spell point gain to the maximum value. It starts at the lowest level (ie, |
|
|
11182 | first hit/spell points gained), and will raise one value to maximum. |
|
|
11183 | |
|
|
11184 | Some patches added (From Manfred Weichel, manfred.weichel@mch.sni.de) which |
|
|
11185 | should make compiles on SVR4 work properly. |
|
|
11186 | |
|
|
11187 | New artifacts (in lib/artifacts file) added. |
|
|
11188 | |
|
|
11189 | Configurable option: cone attacks no longer propogate through monster - it |
|
|
11190 | will only hit the first row. |
|
|
11191 | |
|
|
11192 | Remove curse/damnation changed so that it will not remove curses which |
|
|
11193 | are a higher level than the spell caster. |
|
|
11194 | |
|
|
11195 | Polymorph code changed around. Greater chance of items being destroyed, |
|
|
11196 | value can never be greater than twice the original value, no mininum value. |
|
|
11197 | Also, now the item value and not clone value is used, so things like |
|
|
11198 | scrolls, wands, rods, etc should have the max price work correctly. magic |
|
|
11199 | is not maintained, rather, magic*4 is used as the difficulty for creating |
|
|
11200 | the new item, with max_magic of the new item never being greater than the |
|
|
11201 | magic of the old item. The number of objects remaining after a polymorph |
|
|
11202 | will be less than the original (10 arrows might become 8 bolts, for example.) |
|
|
11203 | |
|
|
11204 | You will no longer attack players in the group you are in by running |
|
|
11205 | into them. |
|
|
11206 | |
|
|
11207 | Titles now restored properly from save files (only makes a different if |
|
|
11208 | SET_TITLE is defined |
|
|
11209 | |
|
|
11210 | When doing a save, check the return value of fclose when writing to tmp file |
|
|
11211 | and the final file. If either of these writes file, use the backup file |
|
|
11212 | instead (previous save file is renamed as a backup file.) Should prevent |
|
|
11213 | problems when there are full filesystems of quotas in effect. The character |
|
|
11214 | will not be saved, but at least an older save file exsists instead of the |
|
|
11215 | character being totally gone (like before.) Patch from Laurent Wacrenier |
|
|
11216 | <Wacren@Gin.ObsPM.Fr> |
|
|
11217 | |
|
|
11218 | Plural names for items that have a 'of' in them is fixed/added. This mostly |
|
|
11219 | deal with potions (so instead of potion of dexterys, you get potions of |
|
|
11220 | dexterity) Patch from Laurent Wacrenier <Wacren@Gin.ObsPM.Fr> |
|
|
11221 | |
|
|
11222 | query_cost changed around so that value for very low priced items are now |
|
|
11223 | computed correctly. Before, the nrof of items was multiplied in very late, |
|
|
11224 | and various divisions (for being unidentified) were done previously. For |
|
|
11225 | low value items, this would result in a zero value. Zero values still |
|
|
11226 | result for low priced items if you only have 1 or 2 of them, but if you |
|
|
11227 | have 80 of them, a proper value is now generated. |
|
|
11228 | |
|
|
11229 | Code to control golems (and in fact many summoned creatures) now fixed. |
|
|
11230 | Help file added about golems. This also fixes a core dump that was caused |
|
|
11231 | when a summoned creature was around, and another scroll was used. |
|
|
11232 | |
|
|
11233 | Modified logger in common directory to no longer create a fatal error if you |
|
|
11234 | get too many minor errors in and the editor is what is being used. Before, |
|
|
11235 | occasional errors would be reported by the editor (mostly dealing with not |
|
|
11236 | found archetypes in maps), which would eventually cause a fatal error. This |
|
|
11237 | seemed erratic, because the editor never changes the tick, so loading one |
|
|
11238 | map might result in the fatal error because of the error total from the |
|
|
11239 | previous maps. Also, when using the editor, having missiong archetypes |
|
|
11240 | probably should not be a fatal condition. |
|
|
11241 | |
|
|
11242 | food value can be changed in artifact file. Food is mostly used to have |
|
|
11243 | various meanings in different objects. The artifact file has also been |
|
|
11244 | updated about everything that is changable, and what the values mean (ie, |
|
|
11245 | docs are built into the top of the file as comments) |
|
|
11246 | |
|
|
11247 | Weapons/armor no longer 'disappear' when a class that can not use such an |
|
|
11248 | item tries to equip a group of them. That is, if a class that could not use |
|
|
11249 | armor tried to equip 2 chain mails, one of the chain mails would disappear. |
|
|
11250 | |
|
|
11251 | ------------------------------------------------------------------------------ |
|
|
11252 | Changes from Crossfire 0.91.3 to 0.91.4 |
|
|
11253 | |
|
|
11254 | FLAG_NO_FIX_PLAYER is set before saving the player, and cleared after the |
|
|
11255 | player is loaded. Before, a character will full sp and hp could be save, and |
|
|
11256 | when reload, not be at full strength. This is because fix_player was being |
|
|
11257 | called during the load process, before all the characters items had been |
|
|
11258 | loaded and equipped. This, the maxsp and maxhp values were that of the |
|
|
11259 | character with no items. |
|
|
11260 | |
|
|
11261 | Artifacts can now pass the various spell paths to the newly created |
|
|
11262 | artifact. The values are or'd with the previous spell path values of the |
|
|
11263 | object. |
|
|
11264 | |
|
|
11265 | The artifact file now supports objects with name NONE. If this object is |
|
|
11266 | rolled up when trying to generate an artifact, then no artifact is |
|
|
11267 | generated. This allows for better tuning the chances of having certain |
|
|
11268 | artifacts, by just reducing the chance of having an artifact at all. The |
|
|
11269 | 'type' field of the Object in the artifact field is still required, but any |
|
|
11270 | other fields for the artifact object are not used. |
|
|
11271 | |
|
|
11272 | Crossedit fixed so that all the images do not appeared inversed when being |
|
|
11273 | used on a monochrome display. |
|
|
11274 | |
|
|
11275 | Changed common/xutil.h so that XPM mode will work on monochrome systems. In |
|
|
11276 | fact, XPM mode should now work on all systems, previously, the load process |
|
|
11277 | tried to create a pixmap 8 bits deep. If the X server did not support it, |
|
|
11278 | errors would result. So while playing in XPM mode on monochrome may be |
|
|
11279 | pointless, this allows play on systems where it may have some use. |
|
|
11280 | |
|
|
11281 | libproto.h and sproto.h only check that __STDC__ is defined. Previously, |
|
|
11282 | __STDC__ had to be nonzero, and not all compilers set this. Also, in |
|
|
11283 | global.h, if __STDC__ is not defined, return an error. Many compilers do not |
|
|
11284 | allow _STDC__ to be redefined. |
|
|
11285 | |
|
|
11286 | Updated changable variable in crossedit. Now the various spell paths can |
|
|
11287 | be set in the editor. |
|
|
11288 | |
|
|
11289 | SPEED_GAME now standard compile option, and not selectable. Having it as |
|
|
11290 | an option seemed to create more problems than bugs non speed game found. |
|
|
11291 | |
|
|
11292 | Crossfire man page updated. xledit.man changed to crossedit.man, to |
|
|
11293 | reflect the name of the program it represents. |
|
|
11294 | |
|
|
11295 | crossfire.doc updated with more information - mostly about new objects |
|
|
11296 | added to the game. |
|
|
11297 | |
|
|
11298 | More help files. |
|
|
11299 | |
|
|
11300 | Objects with type CREATOR were added. The objects, when applied, create |
|
|
11301 | other objects. Documentation in crossfire.doc. |
|
|
11302 | |
|
|
11303 | Object that cast spells (rod, scrolls, wands, and horns) now have a level |
|
|
11304 | associated with them. This level is used to determine at what level the |
|
|
11305 | spell should be cast, instead of using the owners level, which was typically |
|
|
11306 | used before (allows creation of super powerful wands/rods/horns, but having |
|
|
11307 | them be a very high level.) |
|
|
11308 | |
|
|
11309 | Bow, crossbow, bolt, and arrow code redone by Tero Haatanen. This cleans up |
|
|
11310 | the code, and allows for magical arrows and bolts. |
|
|
11311 | |
|
|
11312 | Race can now be changed in the artifacts file. |
|
|
11313 | |
|
|
11314 | A spell of Banishment has been added. |
|
|
11315 | |
|
|
11316 | Attacktype AT_DEATH is now more potent when if against a monster that |
|
|
11317 | the item also has slayign capability against. |
|
|
11318 | |
|
|
11319 | Bug fixed to prevent players from getting infinite experience for finding |
|
|
11320 | the same trap. Also, experience changed for disarming traps. |
|
|
11321 | |
|
|
11322 | ------------------------------------------------------------------------------ |
|
|
11323 | Changes from Crossfire 0.91.2 to 0.91.3 |
|
|
11324 | |
|
|
11325 | Changed artifact structure so that items with a chance greater than |
|
|
11326 | 255 are now possible. |
|
|
11327 | |
|
|
11328 | Object now put into icecubes when hit by a cold spell, like before. This |
|
|
11329 | probably got messed up in the saving throw re-write, where objects had to be |
|
|
11330 | either immune or protected from cold to be put in icecubes. In fact, the |
|
|
11331 | reverse was supposed (and now does) happen. IF an object is |
|
|
11332 | protected/immune from cold, it is also immune from being put in an icecbub. |
|
|
11333 | |
|
|
11334 | Fixed up is_magical and need_identify routines to handle more items. Rods, |
|
|
11335 | scrolls, and spellbooks are always considered magical in nature. Wands and |
|
|
11336 | staves are magical if they still have charges. Also, fixed up so that some |
|
|
11337 | of the Artifact items are now detected as being magical. |
|
|
11338 | |
|
|
11339 | If player lacks sufficient money to buy from shop, it now prints how much |
|
|
11340 | short he is in standard english string, (ie, 2 platinum 3 gold,etc), instead |
|
|
11341 | of gold.silver format (lacke 44.25 gold). |
|
|
11342 | |
|
|
11343 | Inventory drawing changed. Should be a little more efficient, and be more |
|
|
11344 | efficient on drawing. With auto pickup modes (that pick up more than one |
|
|
11345 | item), inventory will be drawn after all applicable items have been picked |
|
|
11346 | up, instead of after each one. |
|
|
11347 | |
|
|
11348 | Item status is printed next to item image in players inventory if |
|
|
11349 | SHOW_INV_ICON is selected in the config.h file. It would be nice if better |
|
|
11350 | imagines were designed for the status (right now, just words are printed |
|
|
11351 | out.) |
|
|
11352 | |
|
|
11353 | When connecting to the server, a one line welcome message is printed. |
|
|
11354 | Crossclient was modified to ignore this line if it starts with 'Welcome', so |
|
|
11355 | changing it may cause problems with crossclient. |
|
|
11356 | |
|
|
11357 | Potion of restorations are now handled by means of different archetypes and |
|
|
11358 | treasure lists, instead of having special code in the program to handle |
|
|
11359 | them. |
|
|
11360 | |
|
|
11361 | If a RUNE is found in an object inventory when free_object has been called, |
|
|
11362 | remove the rune instead of dropping it to the ground. This is so that traps |
|
|
11363 | (runes) disappear when the object they are placed on is destroyed. |
|
|
11364 | |
|
|
11365 | Doors are now trapped, and be detected & searched just like chest |
|
|
11366 | traps. |
|
|
11367 | |
|
|
11368 | Map difficulty can now be set in the map, and not be calculated at map load |
|
|
11369 | time. Crossedit has been modified so that 'Attributes' now contains a |
|
|
11370 | difficulty field, and if set, this will be used when loading a map (it is |
|
|
11371 | stored in the level field of the map). If this value is 0 (default), then |
|
|
11372 | the old formula for calculating the difficulty will be done. The advantage |
|
|
11373 | of this is that map creators can now set the difficulty of the map more to |
|
|
11374 | their liking, and certainly do a better job than the program can do. |
|
|
11375 | |
|
|
11376 | Pickup by value density fixed. The number of items is now taken into |
|
|
11377 | consideration (before it did not, so a lot of arrows would be picked up, |
|
|
11378 | because the total value divided by the weight of 1 arrow was greater than |
|
|
11379 | the pickup value.) |
|
|
11380 | |
|
|
11381 | Bug fixed in query_cost. Before, for F_TRUE value, unless the item was |
|
|
11382 | worth more than 10,000 sp, F_SELL value would be calculated instead of the |
|
|
11383 | true value. |
|
|
11384 | |
|
|
11385 | Merge several small files in common.c into one file called porting.c. |
|
|
11386 | porting.c contains common functions that are called by crossfire. This |
|
|
11387 | allows system dependent code by be in one file, instead of scattered |
|
|
11388 | throughout the program. |
|
|
11389 | |
|
|
11390 | -listen_port <num> command line option added. num is the port to use for |
|
|
11391 | connections, instead of the default (13326) |
|
|
11392 | |
|
|
11393 | Instances when a variable name is the same as a structure name have been |
|
|
11394 | fixed (by changing the variable name). On some compilers, this is a |
|
|
11395 | problem. I can not be sure that all such cases have been fixed, as I have |
|
|
11396 | not found a way for gcc to create warnings in this situation. |
|
|
11397 | |
|
|
11398 | Random happenings when a spell fails due to encumbrance has been added. |
|
|
11399 | This option is configurable in the config.h file. |
|
|
11400 | |
|
|
11401 | Trap code added. Chests and doors can now be trapped. 'search' and |
|
|
11402 | 'disarm' commands added. old 'search' command was changed to 'search items' |
|
|
11403 | |
|
|
11404 | Inventory locking added. Makes it so that items can be locked in a players |
|
|
11405 | inventory, and will not be dropped when a 'dropall' command is issued. |
|
|
11406 | 'inv-lock' and 'inv-unlock' commands were also added. |
|
|
11407 | |
|
|
11408 | 'gsay' command added for party mode. |
|
|
11409 | |
|
|
11410 | Spellbooks can now have their slaying field set to the name of the spell |
|
|
11411 | that the spellbook is of. |
|
|
11412 | |
|
|
11413 | Debugging output disabled in crossedit. It produced copious amounts of data |
|
|
11414 | that has little relevance except for the developers. It can easy be turned |
|
|
11415 | back on by editing the crossedit/include/debug.h file. |
|
|
11416 | |
|
|
11417 | Artifact gems (worth lots of money) and amulets added. |
|
|
11418 | |
|
|
11419 | Invisible object now appear in crossedit. Fixes a problem, but now makes |
|
|
11420 | use of the global 'editor' variable, making it likely it won't be obsolete |
|
|
11421 | any time soon. |
|
|
11422 | |
|
|
11423 | Artifacts (in artifacts file) can now have nrof field that will be used to |
|
|
11424 | generated the number of items instead of the treasure list. If the nrof in |
|
|
11425 | the artifact is 0, then the standard treasure list nrof is used instead. |
|
|
11426 | |
|
|
11427 | Artifacts can now grant reflect missile and spell ability. Also, by setting |
|
|
11428 | stand_still, the objects will not be animated. |
|
|
11429 | |
|
|
11430 | ------------------------------------------------------------------------------ |
|
|
11431 | Changes from Crossfire 0.91.1 to 0.91.2 |
|
|
11432 | |
|
|
11433 | Some options now standard part of game (SHOP_LISTINGS, Line of Sight). The |
|
|
11434 | config.h (for this release) contains these options, but they are commented |
|
|
11435 | out with the note they no longer do anything. |
|
|
11436 | |
|
|
11437 | Changed value pickup to pick up things based on true value, and not sell |
|
|
11438 | value. True value is how much the item is worth without applying charisma |
|
|
11439 | bonuses. Before, if two different characters used the same pickup mode, |
|
|
11440 | different stuff could be picked up because of charisma differences (or even |
|
|
11441 | if a character gained charisma, the same pickup mode may not work as it did |
|
|
11442 | before). By using true value, pickup mode operates the same between all |
|
|
11443 | characters, |
|
|
11444 | |
|
|
11445 | Items of type TREASURE can now have their experience set, and this will be |
|
|
11446 | used for the difficulty of the generated treasure instead of the map |
|
|
11447 | difficulty (as was done with shops). If experience is not set, then the map |
|
|
11448 | difficulty will instead be used (or 14 in the case of shop floors). |
|
|
11449 | |
|
|
11450 | Cure poison actually cures it, instead of reducing the duration. |
|
|
11451 | |
|
|
11452 | Don't use fseek when loading in map files. Some systems do not support |
|
|
11453 | fseek on pipes (which are used for compressed files). Instead, just |
|
|
11454 | set the variable with the data we read, instead of seeking back and |
|
|
11455 | re-reading it. |
|
|
11456 | |
|
|
11457 | Transferrance spell changed so that supercharging will have bad effects |
|
|
11458 | (first confuses the player, then a large fireball is created (with player |
|
|
11459 | losing all spellpoints) |
|
|
11460 | |
|
|
11461 | Poisoning made more vicious - it does more damage based on the level of the |
|
|
11462 | creature that uses it (level/2 in fact). This makes it so that very tough |
|
|
11463 | creatures that poison someone will have the poison do serious damage. |
|
|
11464 | Also, damage caused is no longer random. |
|
|
11465 | |
|
|
11466 | Chests can now contain multiple items. Code changed to handle this |
|
|
11467 | properly. Treasure is also always dropped on the floor (Even if the chest |
|
|
11468 | is in an objects inventory.) hp field used in chests (and in fact all |
|
|
11469 | treasures) to determine how many objects to create (thus, a chest with 3 hp |
|
|
11470 | will have 3 objects created). |
|
|
11471 | |
|
|
11472 | Crossedit now draws a rectangle around the selected area. Reversing the |
|
|
11473 | color of the images did not work in XPM mode. |
|
|
11474 | |
|
|
11475 | Have client.c include "includes.h". includes.h sets up all the name defines |
|
|
11476 | properly (ie, __sgi__, __sun__) |
|
|
11477 | |
|
|
11478 | SP_* functions changed (by Rupert Goldie) to take an object pointer instead |
|
|
11479 | of a level value. This makes adjustments for spell costs (via stuff like |
|
|
11480 | spell paths) easier to make, because now only the SP_* functions need to be |
|
|
11481 | changed. With the object structure, checking for known paths (or perhaps |
|
|
11482 | other things in the future) can easily be done. |
|
|
11483 | |
|
|
11484 | Bombs will now be dropped before exploding. |
|
|
11485 | |
|
|
11486 | New attack type (God Power) added. The cleric cause wound spells use this |
|
|
11487 | attack type. |
|
|
11488 | |
|
|
11489 | Charm monster spell added. |
|
|
11490 | |
|
|
11491 | Party system re-written by Scott MacFiggen <smurf@soda.berkeley.edu>. |
|
|
11492 | Characters will now only share experience if on the same map, and other |
|
|
11493 | features were also added. |
|
|
11494 | |
|
|
11495 | Modified check_item function (used in creating weapons with the improve |
|
|
11496 | scrolls). The objects being sacrificed do not need to be in one group (ie, |
|
|
11497 | two groups of 4 potions of dex will now be counted as 8 potions). This only |
|
|
11498 | applies to potions, since some can be identified and others not identified. |
|
|
11499 | Also, cursed or damned items will not count towards sacrifice count |
|
|
11500 | (although, they will be consumed). |
|
|
11501 | |
|
|
11502 | Changed way cancellation works on items. Before, if cancellation hit a |
|
|
11503 | player and the player failed the saving throws, the items got no saving |
|
|
11504 | throw versus cancellation (only if their absolute magic value was less than |
|
|
11505 | RANDOM()%6 did they survive). Now each item gets a saving throw. Note that |
|
|
11506 | if a container makes a saving throw, then the items inside do not need to |
|
|
11507 | make saving throws and are unaffected. |
|
|
11508 | |
|
|
11509 | A separate function did_make_save_item was split off from |
|
|
11510 | save_throw_object. did_make_save_item justs checks to see if the item made |
|
|
11511 | its saving throw based on the tables (and any protections or immunities |
|
|
11512 | grants it an automatic save, as before) save_throw_item calls this function, |
|
|
11513 | and in addition, does the appropriate actions (burns up items, turns them |
|
|
11514 | into icecubes, calls cancellation, etc.) |
|
|
11515 | |
|
|
11516 | Saving throw method changed. Before, each item got 5 chances to make a save |
|
|
11517 | for each item it is composed of. Now, it gets one chance for material it is |
|
|
11518 | composed of. Then, based on the number of saves it made, and the number |
|
|
11519 | materials it is composed of, an overall made save/failed save is |
|
|
11520 | determined. This change is to make it easier to figure out saving throw |
|
|
11521 | values, and hopefully make adjustment easier. |
|
|
11522 | |
|
|
11523 | Saving throw tables updated. In general, each item is +5 compared to what |
|
|
11524 | it was before. This should hopefully make it so that items have about the |
|
|
11525 | same success rate they did before. |
|
|
11526 | |
|
|
11527 | Crossedit modified to preserve value of connected field when cut/copying and |
|
|
11528 | pasting. Before, an object that was copied/cut would also have its |
|
|
11529 | connected field reset to 0. |
|
|
11530 | |
|
|
11531 | More XPM images colored. Filenames for the river directory have been |
|
|
11532 | re-done, to actually make it a bit clearer of what does what. The archetype |
|
|
11533 | names were not renamed however, to keep compatibility. |
|
|
11534 | |
|
|
11535 | World expanded. Another row of maps was added to the southern edge. The |
|
|
11536 | world maps were also renamed to a world_xy format, where x is a letter |
|
|
11537 | and y is a number. This represents the x and y location of the map, making |
|
|
11538 | it easier to figure out how maps related to each other. |
|
|
11539 | |
|
|
11540 | Map spaces can prevent magic user spells, cleric spells, or both. Before, |
|
|
11541 | an anti magic square prevented all types of spell casting. |
|
|
11542 | |
|
|
11543 | Have monsters regenerate spell points even if they don't cast a spell. |
|
|
11544 | Monsters have a 1:3 chance of casting spells, irregardless of any other |
|
|
11545 | factors. Before, spellpoints would only be regenerated if it got past this |
|
|
11546 | check. Also, some monsters (dragons, chinese dragons) have had their max |
|
|
11547 | spellpoint and regeneration rates increased to correspond with the higher |
|
|
11548 | cost of casting their breath weapons. |
|
|
11549 | |
|
|
11550 | Altars now will also match on the slaying field of the object being |
|
|
11551 | sacrificed. This is similar to how keys and special doors work. With this |
|
|
11552 | change, it is no longer required to make a unique item that then needs to be |
|
|
11553 | sacrificed (ie, the dagger, the cup, and the crown for the old city |
|
|
11554 | quests). Instead, a cup, and crown can be used, with the slaying field set |
|
|
11555 | appropriately (unfortunately, will not work for weapons, as it will think |
|
|
11556 | that is the monster to do extra damage against.) However, the altar code |
|
|
11557 | always did match item name, so calling it something special like 'The |
|
|
11558 | Dagger' and have the sacrifice look for that should also work. |
|
|
11559 | |
|
|
11560 | Spell encumbrance code added. More you are carrying the higher your |
|
|
11561 | chance for failure. |
|
|
11562 | |
|
|
11563 | ------------------------------------------------------------------------------ |
|
|
11564 | Changes from Crossfire 0.91.0 to 0.91.1: |
|
|
11565 | |
|
|
11566 | Fixed bug in the enchant weapon code. It was not allocing enough |
|
|
11567 | space for the string, and thus would corrupt the heap. |
|
|
11568 | |
|
|
11569 | Minor fix to spells.c. IT was using strdup instead of strdup_local, |
|
|
11570 | which caused the compile to fail on some machines. |
|
|
11571 | |
|
|
11572 | No longer gets errors when adding a player on a map that is not |
|
|
11573 | loaded in a multi player game. Before, process_events would see that |
|
|
11574 | the player has no object, and could get enough errors to cause the game |
|
|
11575 | to quit. Now, it suppresses errors if it is only loading objects |
|
|
11576 | for that map. |
|
|
11577 | |
|
|
11578 | Default map difficult for treasure that is created in shops was changed from |
|
|
11579 | 9 to 5. In this way, the likelihood is higher that good items will be found |
|
|
11580 | in dungeons, not in the shops (there are very few items with difficulty |
|
|
11581 | above 9) |
|
|
11582 | |
|
|
11583 | Archetypes cleaned up. All archetypes that were not being used in a map |
|
|
11584 | were moved to dev/unused/0.91.1. Note: There are still a few archetypes |
|
|
11585 | that are not used in any maps, but these are part of a collection (ie, one |
|
|
11586 | section type of a wall). This was done really because there is no reason to |
|
|
11587 | have archetypes that are not being used to be in the official distribution. |
|
|
11588 | It could be misleading for people looking through the arch directory (ie, 'I |
|
|
11589 | thought I looked at all the maps, but never saw this monster'). Also, I |
|
|
11590 | have no problem moving these archetypes back in, once some maps actually use |
|
|
11591 | them. |
|
|
11592 | |
|
|
11593 | 'grass' and 'sea' are no longer animated. There are a few reasons for |
|
|
11594 | this: 1) The animations never really were that interesting, 2) being |
|
|
11595 | animated put them on the speed list, and being that over all, they are the |
|
|
11596 | second and third most used objects, this is a performance hit, and 3) With |
|
|
11597 | pixmap and xpm images, re-draws are only done on squared the have changed |
|
|
11598 | (really improves performance). However, with them being animated, they |
|
|
11599 | often changed, so that more re-draws were needed. The old archetype and |
|
|
11600 | image files are in dev/old (in arch distribution) if you actually want to |
|
|
11601 | use the animated versions. |
|
|
11602 | |
|
|
11603 | Put a limit of 70 on damage bonus for weapons. |
|
|
11604 | |
|
|
11605 | Treasure lists expanded. The old treasure lists (in treasure.c) have been |
|
|
11606 | removed, and treasure lists added to the treasures file added to take their |
|
|
11607 | place. The treasure file has been expanded have list transitions, and |
|
|
11608 | treasure lists in which 1 object on that list will be generated. Archetypes |
|
|
11609 | (shop, random, and chest) updated to use the randomitems field to determine |
|
|
11610 | what treasure list to use to generate the items. Advantages of the new |
|
|
11611 | method: Ability to better tune treasure probabilities, re-compiling not |
|
|
11612 | necessary in order to update treasures. the create_treasure function was |
|
|
11613 | modified to add an extra argument - this is used to keep track of how many |
|
|
11614 | times it has been called on this attempt to create a treasure. In this way, |
|
|
11615 | infinite loops (with list transitions) are avoided. Generate treasure |
|
|
11616 | replaced with a simpler function that calls create_treasure, and returns the |
|
|
11617 | object. create_treasure takes a treasurelist instead of a integer |
|
|
11618 | treasurelist number, like it did before. The crossfire.doc file has |
|
|
11619 | been updated about the new treasures file capabilities. |
|
|
11620 | |
|
|
11621 | Chests are now created with their treasure as their inventory (this mostly |
|
|
11622 | happened because of the treasure changes above). Advantage is that when a |
|
|
11623 | chest burns up, its treasure may remain (or may be burned up). Before, when |
|
|
11624 | a chest was burned up, its treasure inside was not created. |
|
|
11625 | |
|
|
11626 | Rolling multi-part objects should now work better (not perfect, however). |
|
|
11627 | |
|
|
11628 | Carrying an open bag with a mode that picks everything up will no longer cause |
|
|
11629 | an infinite loop. |
|
|
11630 | |
|
|
11631 | Crossedit changed to draw selected areas as a black box. Fixes some problems |
|
|
11632 | with display in XPM mode. |
|
|
11633 | |
|
|
11634 | Fixed bug that would cause game to crash when pets were summoned. Problem |
|
|
11635 | was an infinite recursive loop, that would then cause the system to run out |
|
|
11636 | of stack space. Solution is to decrease the speed_left of the object before |
|
|
11637 | one of the function calls. This makes it so that at some point, one of the |
|
|
11638 | functions will not be called. |
|
|
11639 | |
|
|
11640 | When a rune is cast, use the s->archname for the archetype name, and |
|
|
11641 | not hard coded strings. Cured a bug with rune of transference. Also, |
|
|
11642 | allowed several case statements to be merged. Really, no archetype names |
|
|
11643 | should be used in spells.c, when casting spells. The archetype name should |
|
|
11644 | be gotten from the spell structure. |
|
|
11645 | |
|
|
11646 | If a button is being updated on a map that is being saved, just return |
|
|
11647 | from the function. Prevents errors 'object has speed but is free' |
|
|
11648 | |
|
|
11649 | Fixed bug that caused objects that got a speed_left of exactly 0 to |
|
|
11650 | be frozen. This was because speed_left >0 to have the object be processed, |
|
|
11651 | and <0 to have speed added. Now, speed is added if speed_left <=0. |
|
|
11652 | |
|
|
11653 | Some minor changes made to hopefully make it compile on AIX systems without |
|
|
11654 | any modifications. |
|
|
11655 | |
|
|
11656 | process_active_maps now called when a map is being loaded. It should |
|
|
11657 | hopefully work properly, since enter_exit was modified to not use any |
|
|
11658 | static variables. Also, process_events was modified to take a map as |
|
|
11659 | an argument, and if non null, only update objects on that map. That makes |
|
|
11660 | process_map obsolete. process_active_maps was also changed to still process |
|
|
11661 | even if there is only one player. |
|
|
11662 | Crossfire should let players still perform actions when a map is being |
|
|
11663 | saved. Problem is, handling a map that is in the process of it being |
|
|
11664 | saved, and having a character enter it. Crossfire needs to finish |
|
|
11665 | saving that map, then re-load it and insert the character. Large changes |
|
|
11666 | to how player interact with loading & saving of maps would probably |
|
|
11667 | be needed, and probably should be done. |
|
|
11668 | |
|
|
11669 | You no longer lose luck if you kill yourself, and the player who kills another |
|
|
11670 | player now loses the luck (before, the player killed would lose luck). |
|
|
11671 | |
|
|
11672 | Now inventory display modes - unpaid, cursed, magical, nonmagical. All pretty |
|
|
11673 | self explanatory. |
|
|
11674 | |
|
|
11675 | ------------------------------------------------------------------------------ |
|
|
11676 | Changes from Crossfire 0.90.5 to 0.91.0: |
|
|
11677 | |
|
|
11678 | Some new maps added to the standard distribution (Magara and some of |
|
|
11679 | the esben maps). Magara was added as a place to depart to by ship, the |
|
|
11680 | esben maps were merged in as new buildings or towers on existing maps, not |
|
|
11681 | as a new continent. |
|
|
11682 | |
|
|
11683 | Keyboard buffering is now selectable via 'keyboard' command. Before, |
|
|
11684 | an attempt to remove keystrokes from the X Events queue was made, but could |
|
|
11685 | not always remove all of them. Now, it should remove all of them, or none |
|
|
11686 | of them, depending on the keyboard buffer setting. The value will be |
|
|
11687 | saved with the player. |
|
|
11688 | |
|
|
11689 | Pickup mode value now saved and restored from the characters save files. |
|
|
11690 | |
|
|
11691 | Inventory and look window should only be re-drawn once when selling |
|
|
11692 | an item. |
|
|
11693 | |
|
|
11694 | Calls to draw_stats in common/living.c will only be made if the object |
|
|
11695 | type is a player (should prevent some warning messages) |
|
|
11696 | |
|
|
11697 | Fixed create earth wall spell so that it uses bdur as the base hit |
|
|
11698 | points of the wall (instead of bdam). This will prevent some core dumps, |
|
|
11699 | because otherwise, the wall can have 0 hit points. |
|
|
11700 | |
|
|
11701 | Program should not core dump when person quits that game and the map he |
|
|
11702 | is on has been swapped out. (ie, person saves or quits the character, |
|
|
11703 | but the map gets swapped out before they type 'q' to the play again |
|
|
11704 | question) |
|
|
11705 | |
|
|
11706 | Word activated teleporter code added (Peter Mardahl). |
|
|
11707 | |
|
|
11708 | Who can become DM, based on their user id, can now be set in the dm_file |
|
|
11709 | (assumed to be in lib.) (Tyler Van Gorder) |
|
|
11710 | |
|
|
11711 | Tell should now work properly (Eric Mehlhaff) |
|
|
11712 | |
|
|
11713 | Cloak code added (Peter Mardahl) |
|
|
11714 | |
|
|
11715 | Objects can not grant invisibility, make_invisible variable added to |
|
|
11716 | archetype files. |
|
|
11717 | |
|
|
11718 | Added information to the crossfire.doc file (was missing several |
|
|
11719 | attack types and materials). Added better information on what some of |
|
|
11720 | the flags do. Noticed that will_apply 4 applied for both scrolls |
|
|
11721 | and earthwalls, now only applies to earthwalls. To have a monster |
|
|
11722 | use scrolls, can_use_scroll should be used instead. |
|
|
11723 | |
|
|
11724 | Code added to deny users or sites from connecting. This is to prevent |
|
|
11725 | users who intentionally crash the server to connect and start up a window, |
|
|
11726 | which they then crash the server with. Patches from Tyler Van Gorder. |
|
|
11727 | |
|
|
11728 | Two floors will can now be drawn when using XPM mode and this options |
|
|
11729 | has been selected in config.h This allows for towers to sit on top of |
|
|
11730 | grass to look proper. From Gregor Schmid <schmid@fb3-s7.math.tu-berlin.de> |
|
|
11731 | |
|
|
11732 | Patches that modified 'create food' spell. Better food (ie, waybread) |
|
|
11733 | will be created at higher levels, and the caster can also specify what |
|
|
11734 | type of food to be created. From Peter Mardahl. |
|
|
11735 | |
|
|
11736 | Spell paths added by Rupert G. Goldie <rgg@aaii.oz.au>. Simply put, |
|
|
11737 | each 'spell path' contains a certain category of spells. Objects and |
|
|
11738 | races can be attuned, repelled, or denied certain paths (objects would |
|
|
11739 | apply the the person wearing them). Attuned allows casting of spells in |
|
|
11740 | that path at lower cost and greater efficiency, repelled paths are cast at |
|
|
11741 | a higher cost and lower efficiency, and denied paths can not be cast at all. |
|
|
11742 | Thus, a wand of small fireball that is attuned to Fire would cast more |
|
|
11743 | powerful fireballs. A character wearing a ring that is denied the path |
|
|
11744 | of fire could not cast fire spells at all. Right now, no items will |
|
|
11745 | be created using these features, and no characters have any of these, but |
|
|
11746 | these might be added in the future. Look at the spell-paths file in the |
|
|
11747 | doc directory for a little more information. |
|
|
11748 | |
|
|
11749 | Pickup mode 6 (pick up magical items) will not pick up known cursed items. |
|
|
11750 | |
|
|
11751 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
11752 | Object structure and process_events changed. Now, a separate list |
|
|
11753 | us used to keep track of active objects (objects whose speed is nonzero). |
|
|
11754 | All objects on the active list are still on the normal list, but |
|
|
11755 | process_objects only needs to go through the active_list for objects |
|
|
11756 | to process, saving a lot of time. The cost is adding two |
|
|
11757 | pointers (active_next and active_prev) to each objects. But the speed |
|
|
11758 | gains are well worth the minor memory cost. the 'malloc command |
|
|
11759 | was changed to display the number of objects on the active list - |
|
|
11760 | note that there is zero memory usage for these, since these objects |
|
|
11761 | are also on the normal object list. |
|
|
11762 | |
|
|
11763 | Programming note: Any time an objects speed is changed (doesn't |
|
|
11764 | happen too often), a call to update_ob_speed(object *) must be |
|
|
11765 | made, so that the object can be added or removed from the active |
|
|
11766 | list, as appropriate. |
|
|
11767 | |
|
|
11768 | In testing, I first ran crossfire, with process events using the |
|
|
11769 | normal object list, and printing out error messages if it found |
|
|
11770 | objects that had speed but were not in the active_list. I cleared out |
|
|
11771 | a couple warehouses in Navar without any errors. |
|
|
11772 | |
|
|
11773 | Then, I switched to using the active_list, and printing out errors if |
|
|
11774 | it found objects on that list with zero speed. I cleared out the |
|
|
11775 | mages tower in Navar city without any errors. |
|
|
11776 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
11777 | |
|
|
11778 | |
|
|
11779 | Selling items now works properly (it only failed to work if |
|
|
11780 | AUTO_SAVE was not set previously, and the value of the item was |
|
|
11781 | beyond a certain amount.) |
|
|
11782 | |
|
|
11783 | Look window code changed so that it does not erase the unused area |
|
|
11784 | unless necessary. Also, when a player moves, freeze_look is set. |
|
|
11785 | This was changed because the functions that move_ob calls update the look |
|
|
11786 | window, and the window was being updated 3 times each time the player moved. |
|
|
11787 | |
|
|
11788 | When poisoning ends, it no longer core dumps. |
|
|
11789 | |
|
|
11790 | Inventory window updated if reading an unidentified spell book and you |
|
|
11791 | already know that spell. |
|
|
11792 | |
|
|
11793 | Casting rune spells now works properly. |
|
|
11794 | |
|
|
11795 | Spells now (once again) sorted upon loading of characters. |
|
|
11796 | |
|
|
11797 | ------------------------------------------------------------------------------ |
|
|
11798 | Changes from Crossfire 0.90.4 to 0.90.5: |
|
|
11799 | |
|
|
11800 | Bug fixed with window titles getting their names changed. (Tero Haatanen) |
|
|
11801 | |
|
|
11802 | Container code changed around. Containers can be locked, they can be used |
|
|
11803 | from the ground. FLAG_CONTAINER removed, since there is already a type |
|
|
11804 | container, and bonus removed from object structure (Tero Haatanen) |
|
|
11805 | |
|
|
11806 | insert_ob_in_ob sorts objects, so items with more magic are before those |
|
|
11807 | with no magic bonuses even for unidentified. It also uses the absolute |
|
|
11808 | value of the magic, so it should be a little more difficult to know if the |
|
|
11809 | item is cursed or not. |
|
|
11810 | |
|
|
11811 | Added unique-flag and UNIQUE_ITEMS define. All items which have unique flag |
|
|
11812 | are saved to directory .../lib/unique-items. A filename is mapname + ".v" + |
|
|
11813 | number, where number is normally 01, but if two or more server is running |
|
|
11814 | same time it can be also greater. This feature can be used to banks and |
|
|
11815 | inns to save permanently items. The code is one limitation: if map contains |
|
|
11816 | unique item which can be carried away from map (e.g. an unique excalibur) |
|
|
11817 | there must be at least one unique item on map which can't be carried away. |
|
|
11818 | This is because unique items are loaded from original map only if unique |
|
|
11819 | items file doesn't exit. If all unique items are carried away from map then |
|
|
11820 | they are loaded back next time when someone enters that map. This should |
|
|
11821 | not a problem if map makers remembers this. (Tero Haatanen) |
|
|
11822 | |
|
|
11823 | Editor by Jarkko Sonninen. He added toggle button into attribute window and |
|
|
11824 | made map's reset time and timeout so that they can be configured in maps. He |
|
|
11825 | also fixed map archetype, so that map default stating coordinate is (2,2) |
|
|
11826 | like before. This seems break a gatehouse map, where it use default value |
|
|
11827 | on map (changed 0 to 2), but it's easy to fix. |
|
|
11828 | |
|
|
11829 | Change check_walk_on (common/object.c) so it no longer calls the draw_func. |
|
|
11830 | This eliminates a problem of seeing flashes of areas that should be blocked. |
|
|
11831 | This is because the draw function it called would re-draw the game window |
|
|
11832 | before the variable to re-calculate line of set was set. As I see it, this |
|
|
11833 | function call was not needed in any case, because this is called during the |
|
|
11834 | players movement. After the player moves, the draw function is called from |
|
|
11835 | the process_events (now process_players1) function. This should also |
|
|
11836 | conserver a little cpu time, and bandwidth. |
|
|
11837 | |
|
|
11838 | Coin code in shop.c changed. Patch from Kjetil Torgrim Homme made it so |
|
|
11839 | that coin value can be changed in archetypes and the shop code should still |
|
|
11840 | work properly. I made changes so that the number of coin types is set with |
|
|
11841 | a #define, making adding new coin types easier. |
|
|
11842 | |
|
|
11843 | AUTOSAVE, SAVE_INTERVAL, and NO_EMERGENCY_SAVE should now work properly. |
|
|
11844 | See include/config.h for more information on these options. |
|
|
11845 | |
|
|
11846 | Changed it so that updates to other maps will not be performed while |
|
|
11847 | loading a map. This caused a bug if two players entered exits |
|
|
11848 | at the same time. One or both of the players may end up in incorrect |
|
|
11849 | locations, all exits in that location may be closed, etc. |
|
|
11850 | |
|
|
11851 | Saving throw table expanded to handle all materials and attack |
|
|
11852 | types (Peter Mardahl) |
|
|
11853 | |
|
|
11854 | Fixes so that Turn Undead does not do physical damage (Peter Mardahl) |
|
|
11855 | |
|
|
11856 | Patch to make it impossible to prepare multiple weapons at the |
|
|
11857 | same time (Peter Mardahl) |
|
|
11858 | |
|
|
11859 | Added 'sea1' archetype. This is the same as the sea archetype, but allows |
|
|
11860 | for walk on. Its purpose is to use for backgrounds behind boats and similar |
|
|
11861 | objects. Because it will probably be needed in so many places, I decided to |
|
|
11862 | make an archetype, instead of editing the variables inside crossedit for the |
|
|
11863 | object. |
|
|
11864 | |
|
|
11865 | Removed xbm_values array. This was used to map a face number to that face |
|
|
11866 | location in memory. Since the bmaps file is created automatically without |
|
|
11867 | any holes, this is not longer necessary. |
|
|
11868 | |
|
|
11869 | Archetype for wonder spell now in place. This will prevent core |
|
|
11870 | dumps when the spell is cast. |
|
|
11871 | |
|
|
11872 | Pixmaps will now be freed upon exiting Crossfire. They will also be freed |
|
|
11873 | after emergency saves are performed. This fixes the problem that some |
|
|
11874 | X-Terminals would not free the memory used the the pixmaps otherwise, and |
|
|
11875 | run out of memory. This fix pertains to both -pix and -xpm mode. |
|
|
11876 | |
|
|
11877 | Patch to hopefully double death problem/core dumps with NOT_PERMADEATH |
|
|
11878 | mode. |
|
|
11879 | |
|
|
11880 | Changed the size of the temporary string that is used when loading |
|
|
11881 | messages. For a few very long messages, 1024 bytes was not enought. |
|
|
11882 | |
|
|
11883 | Patches put in Crossedit to allow for XPM mode. From Petri Heinil. |
|
|
11884 | |
|
|
11885 | Cleaned up the code for look window. Now, everything agrees (ie, |
|
|
11886 | when you click on something in the look window, it is actually |
|
|
11887 | that object.) Likewise, invisible objects are not displayed |
|
|
11888 | anywhere. This should also fix a bug of not being able to enter |
|
|
11889 | some building by clicking the middle mouse button on them. |
|
|
11890 | |
|
|
11891 | Added help file for pickup. Explains the 8 basic pickup modes |
|
|
11892 | plus the value-density pickup mode. |
|
|
11893 | |
|
|
11894 | Detect magic will detect magic on all items in a stack, not just the |
|
|
11895 | top object. |
|
|
11896 | |
|
|
11897 | Spells fixes (From Peter Mardahl): |
|
|
11898 | 1) Identify modified to identify items on the ground if inventory is |
|
|
11899 | identified. |
|
|
11900 | 2) Detect magic spell finds magical runes and makes them more visible |
|
|
11901 | 3) AT_CHAOS and AT_COUNTERSPELL reimplemented so that they are not |
|
|
11902 | treated as special cases by the move_cone function |
|
|
11903 | 4) Magical walls created by spells (firewall, frostwall, ....) are |
|
|
11904 | fixed |
|
|
11905 | |
|
|
11906 | If a map is reset, that map is then removed from the list of map objects |
|
|
11907 | (what you see when you type 'maps ). This way, the 'maps commands only |
|
|
11908 | displays maps that are reasonably active. This change should also save a |
|
|
11909 | little memory. |
|
|
11910 | |
|
|
11911 | make depend now descends into crossedit/Cnv to depend there. |
|
|
11912 | |
|
|
11913 | Changed some of the colors in the xutil.c file. This is so that it uses |
|
|
11914 | the same colors as the official colors for XPM files. It would have been |
|
|
11915 | better to make those colors part of the official XPM colors to start |
|
|
11916 | with, but it is a bit late to do that now. The change of the xutil.c file |
|
|
11917 | was made so that crossfire would not use quite as many entries in |
|
|
11918 | the colormap. The change in colors should be quite minor. |
|
|
11919 | |
|
|
11920 | Two new pickup modes added - one picks up all money and gems, the other |
|
|
11921 | all magical items. |
|
|
11922 | |
|
|
11923 | Removed a lot of dead code from the various header files. removed |
|
|
11924 | hiscore.h from distribution (wasn't declaring anything that was not |
|
|
11925 | being declared elsewhere.) |
|
|
11926 | |
|
|
11927 | |
|
|
11928 | ------------------------------------------------------------------------------ |
|
|
11929 | Changes from Crossfire 0.90.3 to 0.90.4: |
|
|
11930 | |
|
|
11931 | Many more XPM images now properly colored. NOTE TO COLORERS: A few minor |
|
|
11932 | changes have been to the xpm.template file (palegreen has been replaced with |
|
|
11933 | green3, and a more medium orange has been added.) I replaced palegreen |
|
|
11934 | because it was very close to the 'green' color already present. And a |
|
|
11935 | medium green was lacking. A medium orange was also lacking, so I added one |
|
|
11936 | in. |
|
|
11937 | |
|
|
11938 | New pickup modes, that can be based on value density (from |
|
|
11939 | Peter Mardahl <peterm@soda.berkeley.edu>) |
|
|
11940 | |
|
|
11941 | Spells now have a casting time. (From Matthew Zeher <matt@cs.odu.edu>) |
|
|
11942 | |
|
|
11943 | Added libproto1.h file. This will be used for function prototypes |
|
|
11944 | are affected by certain settings (ie, SPEED_GAME). This way, people |
|
|
11945 | should not need to run 'make proto' |
|
|
11946 | |
|
|
11947 | New XPM loading method. Creates montage of the xpm files, |
|
|
11948 | so that not as many calls to XPM are needed. This has reduced loading |
|
|
11949 | time to about 30% of what it was before. Note: This done mean it takes |
|
|
11950 | some more memory at start up, as the montage has to be stored |
|
|
11951 | temporarily. |
|
|
11952 | |
|
|
11953 | Changed charisma bonuses. At 30 charisma, it will no longer be possible to |
|
|
11954 | buy an item, and then sell it for more than you bought it for. |
|
|
11955 | |
|
|
11956 | Graphic exposures turned off on the GC's that are used in the game window. |
|
|
11957 | Should improve performance. |
|
|
11958 | |
|
|
11959 | When a raise stat spell ends, the proper message (ie, You look ugly, you |
|
|
11960 | feel less intelligent, etc) will now be printed out. |
|
|
11961 | |
|
|
11962 | If player NOT_PERMADEATH mode, and you die, a stat will only be decreased |
|
|
11963 | one. Before, that stat was decreased one, and the max stat was set to that |
|
|
11964 | value. So if the player was poisoned, or a stat was lowered due to some |
|
|
11965 | other reason, that loss would become permanent. Now, both the stat and |
|
|
11966 | orig_stat only gets decreased by one. |
|
|
11967 | |
|
|
11968 | invoke.c removed, cast_spell modified to handle what invoke.c did. |
|
|
11969 | |
|
|
11970 | Keep old shoot type if reading a scroll, instead of it being set to none. |
|
|
11971 | |
|
|
11972 | Raise stats spells should be progressively more costly (From Peter Mardahl) |
|
|
11973 | |
|
|
11974 | Should now be able to handle broken pipes without problem (ie, telnet |
|
|
11975 | session closing unexpectedly). Made it so that listen level 0 on a socket |
|
|
11976 | means that draw_all_sockets will not write to that socket. Crossclient uses |
|
|
11977 | this so that it does not get unexpected messages, and thinks that it failed. |
|
|
11978 | |
|
|
11979 | Added 'set font' option. This basically unsets color pixmaps or xpm mode. |
|
|
11980 | If crossclient was run without -xpm or -pix mode, it will send this command |
|
|
11981 | to use fonts. What this means is that set (font,pix,xpm) should set that |
|
|
11982 | display mode. Before, the display selection it defaulted to for crossclient |
|
|
11983 | seemed unreliable at best. |
|
|
11984 | |
|
|
11985 | Fixed memory allocation problem in commands.c (it was writing to more |
|
|
11986 | bytes than it had allocated) |
|
|
11987 | |
|
|
11988 | Draw message window almost complete re-written. In an effort to cut |
|
|
11989 | down on flashing of the the status bars. ( Niilo Neuvo <anipa@guru.magic.fi>) |
|
|
11990 | |
|
|
11991 | More bug fixes for spells (from Peter Mardahl) |
|
|
11992 | |
|
|
11993 | Fixed some bugs for compiling on the Alpha running OSF/1 1.3 |
|
|
11994 | |
|
|
11995 | ------------------------------------------------------------------------------ |
|
|
11996 | Changes from Crossfire 0.90.2 to 0.90.3: |
|
|
11997 | |
|
|
11998 | Added -xpm command line option to crossclient. |
|
|
11999 | |
|
|
12000 | All spells should not be handled in the switch statement in spells.c |
|
|
12001 | |
|
|
12002 | Let players buy zero value items from shop. This really shouldn't be a |
|
|
12003 | problem, the only zero value items of any use might be wands with very |
|
|
12004 | few charges. If someone wants to buy poison or cursed items, they should |
|
|
12005 | be able to. |
|
|
12006 | |
|
|
12007 | Fix spelling error of command line argument 'detatch'. It is now |
|
|
12008 | spelled properly (detach). |
|
|
12009 | |
|
|
12010 | Change draw_color_pix in server/xio.c. It now draws the images to an |
|
|
12011 | intermediate pixmap, and then draws that to the screen. May or may not be |
|
|
12012 | quicker (XSetClipOrigin only needs to be set once), but it does prevent |
|
|
12013 | flicker. Also add two more GC's to the player struct, to make these |
|
|
12014 | operations faster. |
|
|
12015 | |
|
|
12016 | Unless XPM_PIX is defined, draw_color_pix will note be compiled in the |
|
|
12017 | code. |
|
|
12018 | |
|
|
12019 | Fixes to make it compile on both Solaris and NeXT machines (hopefully) |
|
|
12020 | |
|
|
12021 | Removed PLAYER_COLOR #ifdefs and lines they control out of login.c. Those |
|
|
12022 | were not needed any more. |
|
|
12023 | |
|
|
12024 | Added 'mapinfo' command to valid input commands. |
|
|
12025 | |
|
|
12026 | Only have crossfire display -m as a valid command if it was compiled |
|
|
12027 | with DUMP_SWITCHES set. |
|
|
12028 | |
|
|
12029 | Changed install procedure to only copy those files necessary to playing |
|
|
12030 | into lib. Also, don't install obsolete scripts into the bin directory |
|
|
12031 | when installing. |
|
|
12032 | ----------------------------------------------------------------------------- |
|
|
12033 | Changes from Crossfire 0.90.1 to 0.90.2: |
|
|
12034 | |
|
|
12035 | Cleaned up the display from 'maps. Now things line up nicely. It |
|
|
12036 | doesn't print the name anymore, and truncates the path at 18 characters. |
|
|
12037 | But this doesn't make a difference for most maps, and now you can actually |
|
|
12038 | see what variables are set to what. |
|
|
12039 | |
|
|
12040 | Experience requirements changed. Initial values from Peter, but I changed |
|
|
12041 | them to be more round numbers. |
|
|
12042 | |
|
|
12043 | Change targets in server and crossclient from ComplexProgramTarget |
|
|
12044 | to AllTarget, DependTarget, and NormalProgramTarget. This is because |
|
|
12045 | ComplexProgramTarget expects man pages in those directories, which do |
|
|
12046 | not exist. |
|
|
12047 | |
|
|
12048 | Moved data initialization out of treasure.h and into common/treasure.h. |
|
|
12049 | In theory, no data initialization should be done in the .h files, it should |
|
|
12050 | all be done in the .c files, with the .h files declaring the appropriate |
|
|
12051 | externs. Likewise, no .c files should have extern's for other data |
|
|
12052 | functions, they should include the appropriate .h file to get those |
|
|
12053 | externs declared. This would fix the problem of having to go through |
|
|
12054 | the various .c files whenever one of the data structures change, to update |
|
|
12055 | all the externs made to it. Since the compiler will check to make sure that |
|
|
12056 | the extern in the .h file and the actual declaration in the .c file are |
|
|
12057 | the same, it prevents errors of mismatched declarations (ie, having |
|
|
12058 | something like char s[40][20], which at later point gets to |
|
|
12059 | char *s[40], but some files still think it is supposed to be s[40][20].) |
|
|
12060 | |
|
|
12061 | Changed doc/Imakefile so that make install.man will actually install |
|
|
12062 | the man pages. |
|
|
12063 | |
|
|
12064 | Characters that dies who were poisoned should have the poisoning |
|
|
12065 | removed. |
|
|
12066 | |
|
|
12067 | Changes from the Berkeley Folks: |
|
|
12068 | What we've done that's in this server code that I know of: |
|
|
12069 | |
|
|
12070 | --level dependency added to many spells. |
|
|
12071 | |
|
|
12072 | --level dependency tunable on the fly by editing the spell_params |
|
|
12073 | in the 'lib' dir and using the dm command 'spellreset' spellpoints |
|
|
12074 | and spell level are also changeable on the fly. |
|
|
12075 | |
|
|
12076 | --many new spells added |
|
|
12077 | --protection spells can now superimpose, as can gain stat spells. |
|
|
12078 | repeated applications of protective or stat spells yield diminishing |
|
|
12079 | returns. |
|
|
12080 | |
|
|
12081 | --runes added--an implementation of magical traps. any spell may |
|
|
12082 | go in a rune. Read the documentation. |
|
|
12083 | |
|
|
12084 | --new spell interface. invoke <spell> invokes that spell immediately. Some |
|
|
12085 | spells can take parameters now. invoke magic rune <spell> |
|
|
12086 | will store <spell> in a magic rune. invoke <spell> will not set the |
|
|
12087 | range spell. cast and prepare are synonymous. |
|
|
12088 | |
|
|
12089 | --Certain spells cannot be set as range spells now--less than 10 of these. |
|
|
12090 | These are spells which no one would want to use more than once in a while, |
|
|
12091 | like magic map. |
|
|
12092 | |
|
|
12093 | --A hack to object.c in common dir which makes objects created by objects |
|
|
12094 | with owners owned by the creating object's owner. (This allows players |
|
|
12095 | to get credit for a kill with the meteor swarm spell, which creates a |
|
|
12096 | 'swarm' object, which in turn creates the meteor objects.) |
|
|
12097 | -- End of Berkeley additions. |
|
|
12098 | |
|
|
12099 | New maps and archetypes added. |
|
|
12100 | |
|
|
12101 | Crossedit can now load maps that are compressed. |
|
|
12102 | |
|
|
12103 | Add Solaris 2.x compile support. |
|
|
12104 | |
|
|
12105 | Now prints out what the scroll name was that turned to dust. |
|
|
12106 | |
|
|
12107 | Minor artifact changes (ring of ice is blue, ring of fire is red) |
|
|
12108 | |
|
|
12109 | Horn range weapon now works properly, via using the + and - keys. |
|
|
12110 | |
|
|
12111 | New input method (From Jari Vanhala <jam@modeemi.cs.tut.fi>). Looks like |
|
|
12112 | it should now be possible to define keys to do most every command. Made |
|
|
12113 | a few minor changes to default key file to make the present set up |
|
|
12114 | act like the previous one. |
|
|
12115 | |
|
|
12116 | Fixed triggers and magic mouth. These devices will now open gates |
|
|
12117 | as would be expected. The problem was that the opening routine |
|
|
12118 | expects to see the op->value of these to be one, in order to open the |
|
|
12119 | gate or whatever. Changed routines to toggle value between 0 and 1. |
|
|
12120 | Note: As I understand, trigger handles return to their original state, but |
|
|
12121 | keep the same value. That is, you pull the trigger handle, the handle returns |
|
|
12122 | to its original position, but gate opens. Pull handle again, handle returns |
|
|
12123 | to same position, but gate now closes. Or at least that is how I implemented |
|
|
12124 | the devices. |
|
|
12125 | |
|
|
12126 | Make some more changes to the is_magical routine. Hopefully, it will now |
|
|
12127 | detect all rings and amulets that are magical. Also, it should not |
|
|
12128 | detect monsters (or any living object) as magical. |
|
|
12129 | |
|
|
12130 | Fixed bug with Color Pixmaps (XPM). Would try to free the pl->pixmaps |
|
|
12131 | area twice, causing core dump. Looks like the same thing should have |
|
|
12132 | happened when using bitmaps also. In any case, only one free(pl->pixmaps) |
|
|
12133 | is now performed. |
|
|
12134 | |
|
|
12135 | Bug fixed with XPM code, in which 'floors' would appear to be |
|
|
12136 | carried around with the player. This is because the players pixmap did |
|
|
12137 | not change, and hence, it did not update that square. Now fixed. |
|
|
12138 | |
|
|
12139 | Random encounter bug might now be fixed (patches from Frank) |
|
|
12140 | |
|
|
12141 | New FLAG method used. flags in the object structure is now an array, |
|
|
12142 | and SET_FLAG, CLEAR_FLAG and QUERY_FLAG functions are now used. This reduced |
|
|
12143 | a lot of code in common/loader.c |
|
|
12144 | |
|
|
12145 | Fixed bug in common/object.c in expand_objects function. Looks like |
|
|
12146 | braces were missing from for statement, so the the prev and flag fields of |
|
|
12147 | the new objects were not being set properly. |
|
|
12148 | |
|
|
12149 | Fixed bug that could cause core dump if trying to print map message when |
|
|
12150 | no message existed. (From Tero Haatanen <Tero.Haatanen@lut.fi>) |
|
|
12151 | |
|
|
12152 | Starting character will have uncursed, undamned and identified items |
|
|
12153 | at the start of the game. (From Tero Haatanen <Tero.Haatanen@lut.fi>) |
|
|
12154 | |
|
|
12155 | ----------------------------------------------------------------------------- |
|
|
12156 | Changes from Crossfire 0.90.0 to 0.90.1: |
|
|
12157 | |
|
|
12158 | Crossedit 0.7 was merged in with the 0.90.0 source. This once again creates |
|
|
12159 | a common distribution. |
|
|
12160 | |
|
|
12161 | I tried to retain the best features of both programs. This means that |
|
|
12162 | the artifact code, and cursed/uncursed items (from CF 0.90.0) remain. |
|
|
12163 | But I also used the filepaths for fonts, elimination of omaps for |
|
|
12164 | internals use, and creation of partially processed bitmap file for |
|
|
12165 | bitmap reading. |
|
|
12166 | |
|
|
12167 | The general patch method was to keep the cf 0.90.0, and create a diff |
|
|
12168 | file for crossedit 0.7 from crossfire 0.89.3. These patches were then |
|
|
12169 | applied. Many had to be implemented by hand. |
|
|
12170 | |
|
|
12171 | There are some exceptions. The crossedit program is almost the exact |
|
|
12172 | same thing as in the crossedit 0.7 distribution. I made a few minor changes |
|
|
12173 | to clean up compiling, but otherwise, no serious changes were made. |
|
|
12174 | |
|
|
12175 | The archetypes (lib/arch) structure was also taken from crossedit 0.7, as |
|
|
12176 | well as most of the archetypes themselves. I think the breakdown makes |
|
|
12177 | things much easier to handle for changes or improvements. NOTE: it is |
|
|
12178 | likely that directory (lib/arch) will not be in the standard distribution, |
|
|
12179 | but will instead be a separate file (to keep the size down). The various |
|
|
12180 | files (archetypes, bmaps, font, etc.) will be created for the distribution. |
|
|
12181 | All new archetypes from cf 0.90.0 were merged into the structure, as well |
|
|
12182 | as a few minor changes in the old archetypes I noticed. |
|
|
12183 | |
|
|
12184 | The maps are from the crossfire 0.90.0-a-maps distribution. A few |
|
|
12185 | simple programs (in lib/adm) were used convert them to use fontpaths |
|
|
12186 | and to change some monster names that conflicted with character classes. |
|
|
12187 | Note: Because in the old format, a 'food' field was used to determine the |
|
|
12188 | map to link to, it is possible some of these fields were changed when |
|
|
12189 | they were not supposed to be. This is because some other archetypes |
|
|
12190 | (altars for one) also use the food field. If you notice any converted |
|
|
12191 | by mistake, please let me know. |
|
|
12192 | |
|
|
12193 | A few minor memory leaks and other patches have also been applied. |
|
|
12194 | |
|
|
12195 | Other specific changes to this version: |
|
|
12196 | 'set' now gives better help message (like what can be set.) |
|
|
12197 | XPM code added. |
|
|
12198 | Fixed bug in 'who', which would cause a core dump if done when |
|
|
12199 | another playing was still creating their character. |
|
|
12200 | 'who' also display the map path of the other players, and not |
|
|
12201 | the map name. Map names seldom seem to be set. |
|
|
12202 | The crossfire.cfb and crossfire.pix files (in lib) can be compressed. |
|
|
12203 | Fixed bug that caused core dumps when pet monsters were summoned. |
|
|
12204 | If restoring a saved game, and the map it was saved on does not exist, |
|
|
12205 | start them on the standard starting level. |
|
|
12206 | Added option in config.h, that allows full ring and amulet descriptions |
|
|
12207 | to be printed in inventory and look window. |
|
|
12208 | Hopefully fixed bug which caused game to dump core when player died, |
|
|
12209 | if NOT_PERMADEATH was set on. |
|
|
12210 | Add flag HAS_MAGIC, and use that for the detect magic spell. This way, |
|
|
12211 | artifacts that have no magic, will still be shown as magical. |
|
|
12212 | So will rings that change abilities, etc. Doesn't work |
|
|
12213 | quite perfectly, but seems to work as well as the old method. |
|
|
12214 | Fixed bug so that if it can not find a map, it just prints that |
|
|
12215 | that exit is closed, instead of panicing. |
|
|
12216 | Have it re-draw the look window when you middle click on something (ie |
|
|
12217 | apply) in that window. This fixes a bug with bags/sacks, of it |
|
|
12218 | not updating when an item is used directly from a sack. |
|
|