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

# User Rev Content
1 root 1.67 /*
2 root 1.70 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
3 root 1.67 *
4     * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
5     *
6 root 1.70 * 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 root 1.67 *
11 root 1.70 * 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 root 1.67 *
16 root 1.70 * 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 root 1.67 *
19     * The authors can be reached via e-mail to <crossfire@schmorp.de>
20     */
21    
22 root 1.1 /* alchemy.c */
23 elmex 1.12 int need_identify (const object *obj);
24 elmex 1.11 int apply_shop_mat (object *shop_mat, object *op);
25 pippijn 1.54 const char *cost_string_from_value (sint64 cost, int approx);
26 root 1.18 void pay_player (object *pl, sint64 amount);
27     sint64 pay_player_arch (object *pl, const char *arch, sint64 amount);
28 pippijn 1.54 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 root 1.1 /* apply.c */
40 pippijn 1.54 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 root 1.1 /* attack.c */
75 pippijn 1.54 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 root 1.1 /* build_map.c */
98 pippijn 1.54 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 root 1.1 /* c_misc.c */
115 pippijn 1.54 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 root 1.69 int command_dumpfriendlyobjects (object *op, char *params);
130 pippijn 1.54 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 root 1.1 /* c_move.c */
153 pippijn 1.54 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 root 1.1 /* c_new.c */
164 pippijn 1.54 void execute_newserver_command (object *pl, char *command);
165     int bad_command (object *op, char *params);
166    
167 root 1.1 /* c_object.c */
168 pippijn 1.54 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 root 1.57 const char *long_desc (object *tmp, object *pl);
188 pippijn 1.54 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 root 1.1 /* c_party.c */
196 pippijn 1.54 partylist *get_firstparty (void);
197     void remove_party (partylist *target_party);
198     void obsolete_parties (void);
199 root 1.57 void add_kill_to_party (partylist *party, const char *killer, const char *dead, long exp);
200 pippijn 1.54 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 root 1.1 /* c_range.c */
207 pippijn 1.54 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 root 1.1 /* c_wiz.c */
216 pippijn 1.54 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 root 1.1 /* commands.c */
261 pippijn 1.54 void init_commands (void);
262     CommFunc find_oldsocket_command (char *cmd);
263     CommFunc find_oldsocket_command2 (char *cmd);
264    
265 root 1.1 /* daemon.c */
266 pippijn 1.54 FILE *BecomeDaemon (const char *filename);
267    
268 root 1.1 /* disease.c */
269 pippijn 1.54 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 root 1.1 /* egoitem.c */
283 pippijn 1.54 int create_artifact (object *op, const char *artifactname);
284     int apply_power_crystal (object *op, object *crystal);
285    
286 root 1.1 /* hiscore.c */
287 pippijn 1.54 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 root 1.1 /* gods.c */
292 pippijn 1.54 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 root 1.1 /* init.c */
309 pippijn 1.54 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 root 1.1 /* login.c */
353 pippijn 1.54 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 root 1.1 /* main.c */
361 root 1.13 void server_tick ();
362 pippijn 1.54 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 root 1.1 /* monster.c */
380 pippijn 1.54 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 root 1.1 /* move.c */
424 pippijn 1.54 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 root 1.1 /* pets.c */
434 pippijn 1.54 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 root 1.1 /* player.c */
449 pippijn 1.54 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 root 1.65 bool fire (object *op, int dir);
479 pippijn 1.54 object *find_key (object *pl, object *container, object *door);
480 root 1.65 bool move_player_attack (object *op, int dir);
481     bool move_player (object *op, int dir);
482     bool handle_newcs_player (object *op);
483 pippijn 1.54 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 root 1.1 /* plugins.c */
504 pippijn 1.54 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 root 1.1 /* resurrection.c */
587 pippijn 1.54 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 root 1.1 /* rune.c */
594 pippijn 1.54 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 root 1.1 /* shop.c */
605 pippijn 1.54 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 elmex 1.58 void shop_listing (object *sign, object *op);
616 elmex 1.14 bool is_in_shop (object *o);
617 root 1.20 bool is_in_shop (maptile *map, int x, int y);
618 pippijn 1.54
619 root 1.1 /* skills.c */
620 pippijn 1.54 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 root 1.1 /* skill_util.c */
636 pippijn 1.54 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 root 1.1 /* spell_attack.c */
646 pippijn 1.54 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 root 1.1 /* spell_effect.c */
674 pippijn 1.54 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 root 1.1 /* spell_util.c */
711 pippijn 1.54 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 root 1.1 /* swamp.c */
744 pippijn 1.54 void walk_on_deep_swamp (object *op, object *victim);
745     void move_deep_swamp (object *op);
746    
747 root 1.1 /* swap.c */
748 pippijn 1.54 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 root 1.1 /* time.c */
757 pippijn 1.54 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 root 1.66 void process_object (object *op);
781 pippijn 1.54
782 root 1.1 /* timers.c */
783 pippijn 1.54 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 root 1.1 /* weather.c */
790 pippijn 1.54 void set_darkness_map (maptile *m);
791 root 1.56 void adjust_daylight (void);