ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/sproto.h
Revision: 1.70
Committed: Sun Jul 1 05:00:18 2007 UTC (16 years, 11 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.69: +11 -12 lines
Log Message:
- upgrade crossfire trt to the GPL version 3 (hopefully correctly).
- add a single file covered by the GNU Affero General Public License
  (which is not yet released, so I used the current draft, which is
  legally a bit wavy, but its likely better than nothing as it expresses
  direct intent by the authors, and we can upgrade as soon as it has been
  released).
  * this should ensure availability of source code for the server at least
    and hopefully also archetypes and maps even when modified versions
    are not being distributed, in accordance of section 13 of the agplv3.

File Contents

# Content
1 /*
2 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
3 *
4 * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
5 *
6 * Crossfire TRT is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * The authors can be reached via e-mail to <crossfire@schmorp.de>
20 */
21
22 /* alchemy.c */
23 int need_identify (const object *obj);
24 int apply_shop_mat (object *shop_mat, object *op);
25 const char *cost_string_from_value (sint64 cost, int approx);
26 void pay_player (object *pl, sint64 amount);
27 sint64 pay_player_arch (object *pl, const char *arch, sint64 amount);
28 void attempt_do_alchemy (object *caster, object *cauldron);
29 int content_recipe_value (object *op);
30 int numb_ob_inside (object *op);
31 object *attempt_recipe (object *caster, object *cauldron, int ability, recipe *rp, int nbatches);
32 void adjust_product (object *item, int lvl, int yield);
33 object *make_item_from_recipe (object *cauldron, recipe *rp);
34 object *find_transmution_ob (object *first_ingred, recipe *rp, size_t *rp_arch_index, int create_item);
35 void alchemy_failure_effect (object *op, object *cauldron, recipe *rp, int danger);
36 void remove_contents (object *first_ob, object *save_item);
37 int calc_alch_danger (object *caster, object *cauldron, recipe *rp);
38
39 /* apply.c */
40 int transport_can_hold (const object *transport, const object *op, int nrof);
41 int apply_transport (object *pl, object *transport, int aflag);
42 int should_director_abort (object *op, object *victim);
43 int apply_potion (object *op, object *tmp);
44 int improve_weapon_stat (object *op, object *improver, object *weapon, signed char *stat, int sacrifice_count, const char *statname);
45 int prepare_weapon (object *op, object *improver, object *weapon);
46 int improve_weapon (object *op, object *improver, object *weapon);
47 int check_improve_weapon (object *op, object *tmp);
48 int improve_armour (object *op, object *improver, object *armour);
49 int convert_item (object *item, object *converter);
50 int apply_container (object *op, object *sack);
51 int esrv_apply_container (object *op, object *sack);
52 void move_apply (object *trap, object *victim, object *originator);
53 void do_learn_spell (object *op, object *spell, int special_prayer);
54 void do_forget_spell (object *op, const char *spell);
55 void apply_scroll (object *op, object *tmp, int dir);
56 int dragon_eat_flesh (object *op, object *meal);
57 void apply_poison (object *op, object *tmp);
58 int is_legal_2ways_exit (object *op, object *exit);
59 int manual_apply (object *op, object *tmp, int aflag);
60 int player_apply (object *pl, object *op, int aflag, int quiet);
61 void player_apply_below (object *pl);
62 int unapply_for_ob (object *who, object *op, int aflags);
63 int can_apply_object (object *who, object *op);
64 int apply_special (object *who, object *op, int aflags);
65 int monster_apply_special (object *who, object *op, int aflags);
66 int auto_apply (object *op);
67 void fix_auto_apply (maptile *m);
68 void eat_special_food (object *who, object *food);
69 void apply_lighter (object *who, object *lighter);
70 void scroll_failure (object *op, int failure, int power);
71 void apply_changes_to_player (object *pl, object *change);
72 void apply_item_transformer (object *pl, object *transformer);
73
74 /* attack.c */
75 void cancellation (object *op);
76 int did_make_save_item (object *op, int type, object *originator);
77 void save_throw_object (object *op, int type, object *originator);
78 int hit_map (object *op, int dir, int type, int full_hit);
79 void attack_message (int dam, int type, object *op, object *hitter);
80 int attack_ob (object *op, object *hitter);
81 object *hit_with_arrow (object *op, object *victim);
82 void tear_down_wall (object *op);
83 void scare_creature (object *target, object *hitter);
84 int hit_player_attacktype (object *op, object *hitter, int dam, uint32 attacknum, int magic);
85 int kill_object (object *op, int dam, object *hitter, int type);
86 int friendly_fire (object *op, object *hitter);
87 int hit_player (object *op, int dam, object *hitter, int type, int full_hit);
88 void poison_player (object *op, object *hitter, int dam);
89 void slow_player (object *op, object *hitter, int dam);
90 void confuse_player (object *op, object *hitter, int dam);
91 void blind_player (object *op, object *hitter, int dam);
92 void paralyze_player (object *op, object *hitter, int dam);
93 void deathstrike_player (object *op, object *hitter, int *dam);
94 int adj_attackroll (object *hitter, object *target);
95 int is_aimed_missile (object *op);
96
97 /* build_map.c */
98 int can_build_over (struct mapdef *map, object *tmp, short x, short y);
99 void remove_marking_runes (struct mapdef *map, short x, short y);
100 int find_unused_connected_value (struct mapdef *map);
101 int find_or_create_connection_for_map (object *pl, short x, short y, object *rune);
102 object *get_connection_rune (object *pl, short x, short y);
103 object *get_msg_book (object *pl, short x, short y);
104 object *get_wall (struct mapdef *map, int x, int y);
105 void fix_walls (maptile *map, int x, int y);
106 void fix_walls_around (maptile *map, int x, int y);
107 void apply_builder_floor (object *pl, object *material, short x, short y);
108 void apply_builder_wall (object *pl, object *material, short x, short y);
109 void apply_builder_item (object *pl, object *item, short x, short y);
110 void apply_builder_remove (object *pl, int dir);
111 void apply_map_builder (object *pl, int dir);
112 int adjust_sign_msg (object *pl, short x, short y, object *tmp);
113
114 /* c_misc.c */
115 int command_motd (object *op, char *params);
116 int command_bug (object *op, char *params);
117 void malloc_info (object *op);
118 int command_whereabouts (object *op, char *params);
119 int command_malloc (object *op, char *params);
120 int command_maps (object *op, char *params);
121 int command_strings (object *op, char *params);
122 int command_sstable (object *op, char *params);
123 int command_time (object *op, char *params);
124 int command_weather (object *op, char *params);
125 int command_archs (object *op, char *params);
126 int command_hiscore (object *op, char *params);
127 int command_debug (object *op, char *params);
128 int command_dumpbelow (object *op, char *params);
129 int command_dumpfriendlyobjects (object *op, char *params);
130 int command_wizpass (object *op, char *params);
131 int command_wizcast (object *op, char *params);
132 int command_printlos (object *op, char *params);
133 int command_version (object *op, char *params);
134 void bug_report (const char *reportstring);
135 int command_statistics (object *pl, char *params);
136 int command_fix_me (object *op, char *params);
137 int command_players (object *op, char *paramss);
138 int command_logs (object *op, char *params);
139 int command_bowmode (object *op, char *params);
140 int command_showpets (object *op, char *params);
141 int command_resistances (object *op, char *params);
142 int command_help (object *op, char *params);
143 int onoff_value (const char *line);
144 int command_quit (object *op, char *params);
145 int command_real_quit (object *op, char *params);
146 void receive_player_name (object *op, char k);
147 void receive_player_password (object *op, char k);
148 int command_title (object *op, char *params);
149 int command_kill_pets (object *op, char *params);
150 int command_quests (object *pl, char *params);
151
152 /* c_move.c */
153 int command_east (object *op, char *params);
154 int command_north (object *op, char *params);
155 int command_northeast (object *op, char *params);
156 int command_northwest (object *op, char *params);
157 int command_south (object *op, char *params);
158 int command_southeast (object *op, char *params);
159 int command_southwest (object *op, char *params);
160 int command_west (object *op, char *params);
161 int command_stay (object *op, char *params);
162
163 /* c_new.c */
164 void execute_newserver_command (object *pl, char *command);
165 int bad_command (object *op, char *params);
166
167 /* c_object.c */
168 object *find_best_object_match (object *pl, const char *params);
169 int command_build (object *pl, char *params);
170 int command_uskill (object *pl, char *params);
171 int command_rskill (object *pl, char *params);
172 int command_search (object *op, char *params);
173 int command_disarm (object *op, char *params);
174 int command_throw (object *op, char *params);
175 int command_apply (object *op, char *params);
176 int sack_can_hold (object *pl, object *sack, object *op, uint32 nrof);
177 void pick_up (object *op, object *alt);
178 int command_take (object *op, char *params);
179 void put_object_in_sack (object *op, object *sack, object *tmp, uint32 nrof);
180 void drop_object (object *op, object *tmp, uint32 nrof);
181 void drop (object *op, object *tmp);
182 int command_dropall (object *op, char *params);
183 int command_drop (object *op, char *params);
184 int command_examine (object *op, char *params);
185 object *find_marked_object (object *op);
186 void examine_monster (object *op, object *tmp);
187 const char *long_desc (object *tmp, object *pl);
188 void examine (object *op, object *tmp);
189 void inventory (object *op, object *inv);
190 int command_pickup (object *op, char *params);
191 void set_pickup_mode (object *op, int i);
192 int command_search_items (object *op, char *params);
193 int command_rename_item (object *op, char *params);
194
195 /* c_party.c */
196 partylist *get_firstparty (void);
197 void remove_party (partylist *target_party);
198 void obsolete_parties (void);
199 void add_kill_to_party (partylist *party, const char *killer, const char *dead, long exp);
200 int confirm_party_password (object *op);
201 void receive_party_password (object *op, char k);
202 void send_party_message (object *op, char *msg);
203 int command_gsay (object *op, char *params);
204 int command_party (object *op, char *params);
205
206 /* c_range.c */
207 int command_invoke (object *op, char *params);
208 int command_cast (object *op, char *params);
209 int command_prepare (object *op, char *params);
210 int command_cast_spell (object *op, char *params, char command);
211 int legal_range (object *op, int r);
212 void change_spell (object *op, char k);
213 int command_rotateshoottype (object *op, char *params);
214
215 /* c_wiz.c */
216 int command_loadtest (object *op, char *params);
217 void do_wizard_hide (object *op, int silent_dm);
218 int command_hide (object *op, char *params);
219 int command_setgod (object *op, char *params);
220 int command_banish (object *op, char *params);
221 int command_save_overlay (object *op, char *params);
222 int command_freeze (object *op, char *params);
223 int command_arrest (object *op, char *params);
224 int command_summon (object *op, char *params);
225 int command_teleport (object *op, char *params);
226 int command_create (object *op, char *params);
227 int command_inventory (object *op, char *params);
228 int command_skills (object *op, char *params);
229 int command_dump (object *op, char *params);
230 int command_patch (object *op, char *params);
231 int command_remove (object *op, char *params);
232 int command_free (object *op, char *params);
233 int command_addexp (object *op, char *params);
234 int command_speed (object *op, char *params);
235 int command_stats (object *op, char *params);
236 int command_abil (object *op, char *params);
237 int command_reset (object *op, char *params);
238 int command_nowiz (object *op, char *params);
239 int do_wizard_dm (object *op, char *params, int silent);
240 int command_dm (object *op, char *params);
241 int command_invisible (object *op, char *params);
242 int command_learn_spell (object *op, char *params);
243 int command_learn_special_prayer (object *op, char *params);
244 int command_forget_spell (object *op, char *params);
245 int command_listplugins (object *op, char *params);
246 int command_loadplugin (object *op, char *params);
247 int command_unloadplugin (object *op, char *params);
248 int command_dmhide (object *op, char *params);
249 void dm_stack_pop (player *pl);
250 object *dm_stack_peek (player *pl);
251 void dm_stack_push (player *pl, tag_t item);
252 object *get_dm_object (player *pl, char **params, int *from);
253 int command_stack_pop (object *op, char *params);
254 int command_stack_push (object *op, char *params);
255 int command_stack_list (object *op, char *params);
256 int command_stack_clear (object *op, char *params);
257 int command_diff (object *op, char *params);
258 int command_insert_into (object *op, char *params);
259
260 /* commands.c */
261 void init_commands (void);
262 CommFunc find_oldsocket_command (char *cmd);
263 CommFunc find_oldsocket_command2 (char *cmd);
264
265 /* daemon.c */
266 FILE *BecomeDaemon (const char *filename);
267
268 /* disease.c */
269 int move_disease (object *disease);
270 int remove_symptoms (object *disease);
271 object *find_symptom (object *disease);
272 int check_infection (object *disease);
273 int infect_object (object *victim, object *disease, int force);
274 int do_symptoms (object *disease);
275 int grant_immunity (object *disease);
276 int move_symptom (object *symptom);
277 int check_physically_infect (object *victim, object *hitter);
278 object *find_disease (object *victim);
279 int cure_disease (object *sufferer, object *caster);
280 int reduce_symptoms (object *sufferer, int reduction);
281
282 /* egoitem.c */
283 int create_artifact (object *op, const char *artifactname);
284 int apply_power_crystal (object *op, object *crystal);
285
286 /* hiscore.c */
287 char *spool (char *bp, char *error);
288 void check_score (object *op);
289 void display_high_score (object *op, int max, const char *match);
290
291 /* gods.c */
292 int lookup_god_by_name (const char *name);
293 object *find_god (const char *name);
294 const char *determine_god (object *op);
295 void pray_at_altar (object *pl, object *altar, object *skill);
296 void become_follower (object *op, object *new_god);
297 int worship_forbids_use (object *op, object *exp_obj, uint32 flag, const char *string);
298 void stop_using_item (object *op, int type, int number);
299 void update_priest_flag (object *god, object *exp_ob, uint32 flag);
300 archetype *determine_holy_arch (object *god, const char *type);
301 void god_intervention (object *op, object *god, object *skill);
302 int god_examines_priest (object *op, object *god);
303 int god_examines_item (object *god, object *item);
304 int get_god (object *priest);
305 const char *get_god_for_race (const char *race);
306 int tailor_god_spell (object *spellop, object *caster);
307
308 /* init.c */
309 void set_logfile (char *val);
310 void call_version (void);
311 void showscores (void);
312 void set_debug (void);
313 void unset_debug (void);
314 void set_mondebug (void);
315 void set_dumpmon1 (void);
316 void set_dumpmon2 (void);
317 void set_dumpmon3 (void);
318 void set_dumpmon4 (void);
319 void set_dumpmon5 (void);
320 void set_dumpmon6 (void);
321 void set_dumpmon7 (void);
322 void set_dumpmon8 (void);
323 void set_dumpmon9 (void);
324 void set_dumpmont (char *name);
325 void set_daemon (void);
326 void set_datadir (char *path);
327 void set_confdir (char *path);
328 void set_localdir (char *path);
329 void set_mapdir (char *path);
330 void set_archetypes (char *path);
331 void set_regions (char *path);
332 void set_treasures (char *path);
333 void set_uniquedir (char *path);
334 void set_templatedir (char *path);
335 void set_playerdir (char *path);
336 void set_tmpdir (char *path);
337 void showscoresparm (char *data);
338 void set_csport (char *val);
339 void init (int argc, char **argv);
340 void usage (void);
341 void help (void);
342 void init_beforeplay (void);
343 void init_startup (void);
344 void compile_info (void);
345 void init_signals (void);
346 void init_races (void);
347 void dump_races (void);
348 void add_to_racelist (const char *race_name, object *op);
349 racelink *get_racelist (void);
350 racelink *find_racelink (const char *name);
351
352 /* login.c */
353 void delete_character (const char *name);
354 int verify_player (const char *name, char *password);
355 int check_name (player *me, const char *name);
356 int create_savedir_if_needed (char *savedir);
357 void destroy_object (object *op);
358 void copy_file (const char *filename, FILE *fpout);
359
360 /* main.c */
361 void server_tick ();
362 void version (object *op);
363 void info_keys (object *op);
364 char *crypt_string (char *str, char *salt);
365 int check_password (char *typed, char *crypted);
366 void enter_player_savebed (object *op);
367 void leave_map (object *op);
368 void set_map_timeout (maptile *oldmap);
369 char *clean_path (const char *file);
370 char *unclean_path (const char *src);
371 void enter_exit (object *op, object *exit_ob);
372 void process_events ();
373 void clean_tmp_files (void);
374 void leave (player *pl,int draw_exit);
375 int forbid_play (void);
376 void do_specials (void);
377 int main (int argc, char **argv);
378
379 /* monster.c */
380 object *check_enemy (object *npc, rv_vector *rv);
381 object *find_nearest_living_creature (object *npc);
382 object *find_enemy (object *npc, rv_vector *rv);
383 int check_wakeup (object *op, object *enemy, rv_vector *rv);
384 int move_randomly (object *op);
385 int move_monster (object *op);
386 int can_hit (object *ob1, object *ob2, rv_vector *rv);
387 object *monster_choose_random_spell (object *monster);
388 int monster_cast_spell (object *head, object *part, object *pl, int dir, rv_vector *rv);
389 int monster_use_scroll (object *head, object *part, object *pl, int dir, rv_vector *rv);
390 int monster_use_skill (object *head, object *part, object *pl, int dir);
391 int monster_use_range (object *head, object *part, object *pl, int dir);
392 int monster_use_bow (object *head, object *part, object *pl, int dir);
393 int check_good_weapon (object *who, object *item);
394 int check_good_armour (object *who, object *item);
395 void monster_check_pickup (object *monster);
396 int monster_can_pick (object *monster, object *item);
397 void monster_apply_below (object *monster);
398 void monster_check_apply (object *mon, object *item);
399 void npc_call_help (object *op);
400 int dist_att (int dir, object *ob, object *enemy, object *part, rv_vector *rv);
401 int run_att (int dir, object *ob, object *enemy, object *part, rv_vector *rv);
402 int hitrun_att (int dir, object *ob, object *enemy);
403 int wait_att (int dir, object *ob, object *enemy, object *part, rv_vector *rv);
404 int disthit_att (int dir, object *ob, object *enemy, object *part, rv_vector *rv);
405 int wait_att2 (int dir, object *ob, object *enemy, object *part, rv_vector *rv);
406 void circ1_move (object *ob);
407 void circ2_move (object *ob);
408 void pace_movev (object *ob);
409 void pace_moveh (object *ob);
410 void pace2_movev (object *ob);
411 void pace2_moveh (object *ob);
412 void rand_move (object *ob);
413 void check_earthwalls (object *op, maptile *m, int x, int y);
414 void check_doors (object *op, maptile *m, int x, int y);
415 void communicate (object *op, const char *txt);
416 int talk_to_npc (object *op, object *npc, const char *txt);
417 int talk_to_wall (object *pl, object *npc, const char *txt);
418 object *find_mon_throw_ob (object *op);
419 int can_detect_enemy (object *op, object *enemy, rv_vector *rv);
420 int stand_in_light (object *op);
421 int can_see_enemy (object *op, object *enemy);
422
423 /* move.c */
424 int move_object (object *op, int dir);
425 int move_ob (object *op, int dir, object *originator);
426 int transfer_ob (object *op, int x, int y, int randomly, object *originator);
427 int teleport (object *teleporter, uint8 tele_type, object *user);
428 void recursive_roll (object *op, int dir, object *pusher);
429 int try_fit (object *op, maptile *m, int x, int y);
430 int roll_ob (object *op, int dir, object *pusher);
431 int push_ob (object *who, int dir, object *pusher);
432
433 /* pets.c */
434 object *get_pet_enemy (object *pet, rv_vector *rv);
435 void terminate_all_pets (object *owner);
436 void remove_all_pets (maptile *map);
437 int follow_owner (object *ob, object *owner);
438 void pet_move (object *ob);
439 object *fix_summon_pet (archetype *at, object *op, int dir, int is_golem);
440 void move_golem (object *op);
441 void control_golem (object *op, int dir);
442 int summon_golem (object *op, object *caster, int dir, object *spob);
443 object *choose_cult_monster (object *pl, object *god, int summon_level);
444 int summon_object (object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
445 object *get_real_owner (object *ob);
446 int should_arena_attack (object *pet, object *owner, object *target);
447
448 /* player.c */
449 player *find_player (const char *plname);
450 player *find_player_partial_name (const char *plname);
451 void display_motd (const object *op);
452 void send_rules (const object *op);
453 void send_news (const object *op);
454 int playername_ok (const char *cp);
455 archetype *get_player_archetype (archetype *at);
456 object *get_nearest_player (object *mon);
457 int path_to_player (object *mon, object *pl, unsigned mindiff);
458 void give_initial_items (object *pl, treasurelist *items);
459 void get_name (object *op);
460 void get_password (object *op);
461 void play_again (object *op);
462 int receive_play_again (object *op, char key);
463 void confirm_password (object *op);
464 void get_party_password (object *op, partylist *party);
465 void Roll_Again (object *op);
466 void Swap_Stat (object *op, int Swap_Second);
467 int key_roll_stat (object *op, char key);
468 int key_change_class (object *op, char key);
469 int key_confirm_quit (object *op, char key);
470 void flee_player (object *op);
471 int check_pick (object *op);
472 object *find_arrow (object *op, const char *type);
473 object *find_better_arrow (object *op, object *target, const char *type, int *better);
474 object *pick_arrow_target (object *op, const char *type, int dir);
475 int fire_bow (object *op, object *part, object *arrow, int dir, int wc_mod, sint16 sx, sint16 sy);
476 int player_fire_bow (object *op, int dir);
477 void fire_misc_object (object *op, int dir);
478 bool fire (object *op, int dir);
479 object *find_key (object *pl, object *container, object *door);
480 bool move_player_attack (object *op, int dir);
481 bool move_player (object *op, int dir);
482 bool handle_newcs_player (object *op);
483 int save_life (object *op);
484 void remove_unpaid_objects (object *op, object *env);
485 char *gravestone_text (object *op);
486 void do_some_living (object *op);
487 void kill_player (object *op);
488 void loot_object (object *op);
489 void fix_weight (void);
490 void fix_luck (void);
491 void cast_dust (object *op, object *throw_ob, int dir);
492 void make_visible (object *op);
493 int is_true_undead (object *op);
494 int hideability (object *ob);
495 void do_hidden_move (object *op);
496 int stand_near_hostile (object *who);
497 int player_can_view (object *pl, object *op);
498 int action_makes_visible (object *op);
499 int op_on_battleground (object *op, int *x, int *y);
500 void dragon_ability_gain (object *who, int atnr, int level);
501 void player_unready_range_ob (player *pl, object *ob);
502
503 /* plugins.c */
504 int execute_event (object *op, int eventcode, object *activator, object *third, const char *message, int fix);
505 int execute_global_event (int eventcode, ...);
506 int plugins_init_plugin (const char *libfile);
507 void *cfapi_get_hooks (int *type, ...);
508 int plugins_remove_plugin (const char *id);
509 crossfire_plugin *plugins_find_plugin (const char *id);
510 void plugins_display_list (object *op);
511 void *cfapi_system_find_animation (int *type, ...);
512 void *cfapi_system_strdup (int *type, ...);
513 void *cfapi_system_register_global_event (int *type, ...);
514 void *cfapi_system_unregister_global_event (int *type, ...);
515 void *cfapi_system_check_path (int *type, ...);
516 void *cfapi_system_re_cmp (int *type, ...);
517 void *cfapi_system_directory (int *type, ...);
518 void *cfapi_map_get_map (int *type, ...);
519 void *cfapi_map_has_been_loaded (int *type, ...);
520 void *cfapi_map_create_path (int *type, ...);
521 void *cfapi_map_get_map_property (int *type, ...);
522 void *cfapi_map_set_map_property (int *type, ...);
523 void *cfapi_map_out_of_map (int *type, ...);
524 void *cfapi_map_update_position (int *type, ...);
525 void *cfapi_map_delete_map (int *type, ...);
526 void *cfapi_map_message (int *type, ...);
527 void *cfapi_map_get_object_at (int *type, ...);
528 void *cfapi_map_get_flags (int *type, ...);
529 void *cfapi_map_present_arch_by_name (int *type, ...);
530 void *cfapi_object_move (int *type, ...);
531 void *cfapi_object_get_key (int *type, ...);
532 void *cfapi_object_set_key (int *type, ...);
533 void *cfapi_object_get_property (int *type, ...);
534 void *cfapi_object_set_property (int *type, ...);
535 void *cfapi_object_apply_below (int *type, ...);
536 void *cfapi_object_apply (int *type, ...);
537 void *cfapi_object_identify (int *type, ...);
538 void *cfapi_object_describe (int *type, ...);
539 void *cfapi_object_drain (int *type, ...);
540 void *cfapi_object_fix (int *type, ...);
541 void *cfapi_object_give_skill (int *type, ...);
542 void *cfapi_object_transmute (int *type, ...);
543 void *cfapi_object_remove (int *type, ...);
544 void *cfapi_object_delete (int *type, ...);
545 void *cfapi_object_clone (int *type, ...);
546 void *cfapi_object_find (int *type, ...);
547 void *cfapi_object_create (int *type, ...);
548 void *cfapi_object_insert (int *type, ...);
549 void *cfapi_object_split (int *type, ...);
550 void *cfapi_object_merge (int *type, ...);
551 void *cfapi_object_distance (int *type, ...);
552 void *cfapi_object_update (int *type, ...);
553 void *cfapi_object_clear (int *type, ...);
554 void *cfapi_object_reset (int *type, ...);
555 void *cfapi_object_check_inventory (int *type, ...);
556 void *cfapi_object_clean_object (int *type, ...);
557 void *cfapi_object_on_same_map (int *type, ...);
558 void *cfapi_object_spring_trap (int *type, ...);
559 void *cfapi_object_check_trigger (int *type, ...);
560 void *cfapi_object_query_cost (int *type, ...);
561 void *cfapi_object_query_money (int *type, ...);
562 void *cfapi_object_cast (int *type, ...);
563 void *cfapi_object_learn_spell (int *type, ...);
564 void *cfapi_object_forget_spell (int *type, ...);
565 void *cfapi_object_check_spell (int *type, ...);
566 void *cfapi_object_pay_amount (int *type, ...);
567 void *cfapi_object_pay_item (int *type, ...);
568 void *cfapi_object_transfer (int *type, ...);
569 void *cfapi_object_find_archetype_inside (int *type, ...);
570 void *cfapi_object_drop (int *type, ...);
571 void *cfapi_object_take (int *type, ...);
572 void *cfapi_object_say (int *type, ...);
573 void *cfapi_object_speak (int *type, ...);
574 void *cfapi_player_find (int *type, ...);
575 void *cfapi_player_message (int *type, ...);
576 void *cfapi_player_send_inventory (int *type, ...);
577 void *cfapi_object_teleport (int *type, ...);
578 void *cfapi_object_pickup (int *type, ...);
579 void *cfapi_archetype_get_first (int *type, ...);
580 void *cfapi_archetype_get_property (int *type, ...);
581 void *cfapi_party_get_property (int *type, ...);
582 void *cfapi_region_get_property (int *type, ...);
583 CommArray_s *find_plugin_command (char *cmd, object *op);
584 int initPlugins (void);
585
586 /* resurrection.c */
587 int cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg);
588 int resurrection_fails (int levelcaster, int leveldead);
589 void dead_player (object *op);
590 void dead_character (const char *name);
591 int dead_player_exists (const char *name);
592
593 /* rune.c */
594 int write_rune (object *op, object *caster, object *spell, int dir, const char *runename);
595 void move_rune (object *op);
596 void rune_attack (object *op, object *victim);
597 void spring_trap (object *trap, object *victim);
598 int dispel_rune (object *op, object *caster, object *spell, object *skill, int dir);
599 int trap_see (object *op, object *trap);
600 int trap_show (object *trap, object *where);
601 int trap_disarm (object *disarmer, object *trap, int risk, object *skill);
602 void trap_adjust (object *trap, int difficulty);
603
604 /* shop.c */
605 int get_payment (object *pl);
606 sint64 query_cost (const object *tmp, object *who, int flag);
607 const char *query_cost_string (const object *tmp, object *who, int flag);
608 sint64 query_money (const object *op);
609 int pay_for_amount (sint64 to_pay, object *pl);
610 int pay_for_item (object *op, object *pl);
611 int can_pay (object *pl);
612 void sell_item (object *op, object *pl);
613 double shopkeeper_approval (const maptile *map, const object *player);
614 int describe_shop (const object *op);
615 void shop_listing (object *sign, object *op);
616 bool is_in_shop (object *o);
617 bool is_in_shop (maptile *map, int x, int y);
618
619 /* skills.c */
620 int steal (object *op, int dir, object *skill);
621 int pick_lock (object *pl, int dir, object *skill);
622 int hide (object *op, object *skill);
623 int jump (object *pl, int dir, object *skill);
624 int do_skill_ident2 (object *tmp, object *pl, int obj_class, object *skill);
625 int skill_ident (object *pl, object *skill);
626 int use_oratory (object *pl, int dir, object *skill);
627 int singing (object *pl, int dir, object *skill);
628 int find_traps (object *pl, object *skill);
629 int remove_trap (object *op, int dir, object *skill);
630 int pray (object *pl, object *skill);
631 void meditate (object *pl, object *skill);
632 int write_on_item (object *pl, const char *params, object *skill);
633 int skill_throw (object *op, object *part, int dir, const char *params, object *skill);
634
635 /* skill_util.c */
636 void init_skills (void);
637 void link_player_skills (object *op);
638 int do_skill (object *op, object *part, object *skill, int dir, const char *string);
639 int calc_skill_exp (object *who, object *op, object *skill);
640 int learn_skill (object *pl, object *scroll);
641 void show_skills (object *op, const char *search);
642 int use_skill (object *op, const char *string);
643 int skill_attack (object *tmp, object *pl, int dir, const char *string, object *skill);
644
645 /* spell_attack.c */
646 void check_spell_knockback (object *op);
647 void forklightning (object *op, object *tmp);
648 void move_bolt (object *op);
649 int fire_bolt (object *op, object *caster, int dir, object *spob, object *skill);
650 void explosion (object *op);
651 void explode_bullet (object *op);
652 void check_bullet (object *op);
653 void move_bullet (object *op);
654 int fire_bullet (object *op, object *caster, int dir, object *spob);
655 void cone_drop (object *op);
656 void move_cone (object *op);
657 int cast_cone (object *op, object *caster, int dir, object *spell);
658 void animate_bomb (object *op);
659 int create_bomb (object *op, object *caster, int dir, object *spell);
660 object *get_pointed_target (object *op, int dir, int range, int type);
661 int cast_smite_spell (object *op, object *caster, int dir, object *spell);
662 void move_missile (object *op);
663 int make_object_glow (object *op, int radius, int time);
664 int cast_destruction (object *op, object *caster, object *spell_ob);
665 int cast_curse (object *op, object *caster, object *spell_ob, int dir);
666 int mood_change (object *op, object *caster, object *spell);
667 void move_ball_spell (object *op);
668 void move_swarm_spell (object *op);
669 int fire_swarm (object *op, object *caster, object *spell, int dir);
670 int cast_light (object *op, object *caster, object *spell, int dir);
671 int cast_cause_disease (object *op, object *caster, object *spell, int dir);
672
673 /* spell_effect.c */
674 void cast_magic_storm (object *op, object *tmp, int lvl);
675 int recharge (object *op, object *caster, object *spell_ob);
676 void polymorph_living (object *op);
677 void polymorph_melt (object *who, object *op);
678 void polymorph_item (object *who, object *op);
679 void polymorph (object *op, object *who);
680 int cast_polymorph (object *op, object *caster, object *spell_ob, int dir);
681 int cast_create_missile (object *op, object *caster, object *spell, int dir, const char *stringarg);
682 int cast_create_food (object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
683 int probe (object *op, object *caster, object *spell_ob, int dir);
684 int makes_invisible_to (object *pl, object *mon);
685 int cast_invisible (object *op, object *caster, object *spell_ob);
686 int cast_earth_to_dust (object *op, object *caster, object *spell_ob);
687 void execute_word_of_recall (object *op);
688 int cast_word_of_recall (object *op, object *caster, object *spell_ob);
689 int cast_wonder (object *op, object *caster, int dir, object *spell_ob);
690 int perceive_self (object *op);
691 int magic_wall (object *op, object *caster, int dir, object *spell_ob);
692 int dimension_door (object *op, object *caster, object *spob, int dir);
693 int cast_heal (object *op, object *caster, object *spell, int dir);
694 int cast_change_ability (object *op, object *caster, object *spell_ob, int dir, int silent);
695 int cast_bless (object *op, object *caster, object *spell_ob, int dir);
696 int alchemy (object *op, object *caster, object *spell_ob);
697 int remove_curse (object *op, object *caster, object *spell);
698 int cast_identify (object *op, object *caster, object *spell);
699 int cast_detection (object *op, object *caster, object *spell, object *skill);
700 int cast_transfer (object *op, object *caster, object *spell, int dir);
701 void counterspell (object *op, int dir);
702 int cast_consecrate (object *op, object *caster, object *spell);
703 int animate_weapon (object *op, object *caster, object *spell, int dir);
704 int cast_change_map_lightlevel (object *op, object *caster, object *spell);
705 int create_aura (object *op, object *caster, object *spell);
706 void move_aura (object *aura);
707 void move_peacemaker (object *op);
708 int write_mark (object *op, object *spell, const char *msg);
709
710 /* spell_util.c */
711 object *find_random_spell_in_ob (object *ob, const char *skill);
712 void set_spell_skill (object *op, object *caster, object *spob, object *dest);
713 void init_spells (void);
714 void dump_spells (void);
715 void spell_effect (object *spob, int x, int y, maptile *map, object *originator);
716 int min_casting_level (object *caster, object *spell);
717 int caster_level (object *caster, object *spell);
718 sint16 SP_level_spellpoint_cost (object *caster, object *spell, int flags);
719 int SP_level_dam_adjust (object *caster, object *spob);
720 int SP_level_duration_adjust (object *caster, object *spob);
721 int SP_level_range_adjust (object *caster, object *spob);
722 object *check_spell_known (object *op, const char *name);
723 object *lookup_spell_by_name (object *op, const char *spname);
724 int reflwall (maptile *m, int x, int y, object *sp_op);
725 int cast_create_obj (object *op, object *caster, object *new_op, int dir);
726 int ok_to_put_more (maptile *m, sint16 x, sint16 y, object *op, int immune_stop);
727 int fire_arch_from_position (object *op, object *caster, sint16 x, sint16 y, int dir, object *spell);
728 void regenerate_rod (object *rod);
729 void drain_rod_charge (object *rod);
730 object *find_target_for_friendly_spell (object *op, int dir);
731 int spell_find_dir (maptile *m, int x, int y, object *exclude);
732 void put_a_monster (object *op, const char *monstername);
733 int summon_hostile_monsters (object *op, int n, const char *monstername);
734 void shuffle_attack (object *op, int change_face);
735 void prayer_failure (object *op, int failure, int power);
736 void spell_failure (object *op, int failure, int power, object *skill);
737 int cast_party_spell (object *op, object *caster, int dir, object *spell_ob, char *stringarg);
738 int cast_spell (object *op, object *caster, int dir, object *spell_ob, char *stringarg);
739 void move_spell_effect (object *op);
740 void check_spell_effect (object *op);
741 void apply_spell_effect (object *spell, object *victim);
742
743 /* swamp.c */
744 void walk_on_deep_swamp (object *op, object *victim);
745 void move_deep_swamp (object *op);
746
747 /* swap.c */
748 void read_map_log (void);
749 void swap_map (maptile *map);
750 void check_active_maps (void);
751 maptile *map_least_timeout (char *except_level);
752 void swap_below_max (char *except_level);
753 int players_on_map (maptile *m, int show_all);
754 void flush_old_maps (void);
755
756 /* time.c */
757 void remove_door (object *op);
758 void remove_door2 (object *op);
759 void generate_monster (object *gen);
760 void remove_force (object *op);
761 void remove_blindness (object *op);
762 void poison_more (object *op);
763 void move_gate (object *op);
764 void move_timed_gate (object *op);
765 void move_detector (object *op);
766 void animate_trigger (object *op);
767 void move_hole (object *op);
768 object *stop_item (object *op);
769 void fix_stopped_item (object *op, maptile *map, object *originator);
770 object *fix_stopped_arrow (object *op);
771 void move_arrow (object *op);
772 void change_object (object *op);
773 void move_teleporter (object *op);
774 void move_player_changer (object *op);
775 void move_firewall (object *op);
776 void move_player_mover (object *op);
777 void move_duplicator (object *op);
778 void move_creator (object *creator);
779 void move_marker (object *op);
780 void process_object (object *op);
781
782 /* timers.c */
783 void cftimer_process_timers (void);
784 void cftimer_process_event (object *ob);
785 int cftimer_create (int id, long delay, object *ob, int mode);
786 int cftimer_destroy (int id);
787 int cftimer_find_free_id (void);
788
789 /* weather.c */
790 void set_darkness_map (maptile *m);
791 void adjust_daylight (void);