1 | /* |
1 | /* |
2 | * This file is part of Crossfire TRT, the Roguelike Realtime MORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team |
4 | * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * |
5 | * |
6 | * Crossfire TRT is free software: you can redistribute it and/or modify |
6 | * Deliantra is free software: you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by |
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 |
8 | * the Free Software Foundation, either version 3 of the License, or |
9 | * (at your option) any later version. |
9 | * (at your option) any later version. |
10 | * |
10 | * |
11 | * This program is distributed in the hope that it will be useful, |
11 | * This program is distributed in the hope that it will be useful, |
… | |
… | |
14 | * GNU General Public License for more details. |
14 | * GNU General Public License for more details. |
15 | * |
15 | * |
16 | * You should have received a copy of the GNU General Public License |
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/>. |
17 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
18 | * |
18 | * |
19 | * The authors can be reached via e-mail to <crossfire@schmorp.de> |
19 | * The authors can be reached via e-mail to <support@deliantra.net> |
20 | */ |
20 | */ |
21 | |
21 | |
22 | /* alchemy.c */ |
22 | /* alchemy.c */ |
23 | int need_identify (const object *obj); |
23 | int need_identify (const object *obj); |
24 | int apply_shop_mat (object *shop_mat, object *op); |
24 | int apply_shop_mat (object *shop_mat, object *op); |
… | |
… | |
39 | /* apply.c */ |
39 | /* apply.c */ |
40 | int transport_can_hold (const object *transport, const object *op, int nrof); |
40 | int transport_can_hold (const object *transport, const object *op, int nrof); |
41 | int apply_transport (object *pl, object *transport, int aflag); |
41 | int apply_transport (object *pl, object *transport, int aflag); |
42 | int should_director_abort (object *op, object *victim); |
42 | int should_director_abort (object *op, object *victim); |
43 | int apply_potion (object *op, object *tmp); |
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); |
44 | int prepare_weapon (object *op, object *improver, object *weapon); |
46 | int improve_weapon (object *op, object *improver, object *weapon); |
45 | int improve_weapon (object *op, object *improver, object *weapon); |
47 | int check_improve_weapon (object *op, object *tmp); |
46 | int check_improve_weapon (object *op, object *tmp); |
48 | int improve_armour (object *op, object *improver, object *armour); |
47 | 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); |
48 | int apply_container (object *op, object *sack); |
51 | int esrv_apply_container (object *op, object *sack); |
49 | int esrv_apply_container (object *op, object *sack); |
52 | void move_apply (object *trap, object *victim, object *originator); |
50 | void move_apply (object *trap, object *victim, object *originator); |
53 | void do_learn_spell (object *op, object *spell, int special_prayer); |
51 | void do_learn_spell (object *op, object *spell, int special_prayer); |
54 | void do_forget_spell (object *op, const char *spell); |
52 | void do_forget_spell (object *op, const char *spell); |
… | |
… | |
68 | void eat_special_food (object *who, object *food); |
66 | void eat_special_food (object *who, object *food); |
69 | void apply_lighter (object *who, object *lighter); |
67 | void apply_lighter (object *who, object *lighter); |
70 | void scroll_failure (object *op, int failure, int power); |
68 | void scroll_failure (object *op, int failure, int power); |
71 | void apply_changes_to_player (object *pl, object *change); |
69 | void apply_changes_to_player (object *pl, object *change); |
72 | void apply_item_transformer (object *pl, object *transformer); |
70 | void apply_item_transformer (object *pl, object *transformer); |
|
|
71 | extern void handle_apply_yield (object *op); |
73 | |
72 | |
74 | /* attack.c */ |
73 | /* attack.c */ |
75 | void cancellation (object *op); |
74 | void cancellation (object *op); |
76 | int did_make_save_item (object *op, int type, object *originator); |
75 | int did_make_save_item (object *op, int type, object *originator); |
77 | void save_throw_object (object *op, int type, object *originator); |
76 | void save_throw_object (object *op, int type, object *originator); |
… | |
… | |
184 | int command_examine (object *op, char *params); |
183 | int command_examine (object *op, char *params); |
185 | object *find_marked_object (object *op); |
184 | object *find_marked_object (object *op); |
186 | void examine_monster (object *op, object *tmp); |
185 | void examine_monster (object *op, object *tmp); |
187 | const char *long_desc (object *tmp, object *pl); |
186 | const char *long_desc (object *tmp, object *pl); |
188 | void examine (object *op, object *tmp); |
187 | void examine (object *op, object *tmp); |
189 | void inventory (object *op, object *inv); |
|
|
190 | int command_pickup (object *op, char *params); |
188 | int command_pickup (object *op, char *params); |
191 | void set_pickup_mode (object *op, int i); |
189 | void set_pickup_mode (object *op, int i); |
192 | int command_search_items (object *op, char *params); |
190 | int command_search_items (object *op, char *params); |
193 | int command_rename_item (object *op, char *params); |
191 | int command_rename_item (object *op, char *params); |
194 | |
192 | |
… | |
… | |
197 | void remove_party (partylist *target_party); |
195 | void remove_party (partylist *target_party); |
198 | void obsolete_parties (void); |
196 | void obsolete_parties (void); |
199 | void add_kill_to_party (partylist *party, const char *killer, const char *dead, long exp); |
197 | void add_kill_to_party (partylist *party, const char *killer, const char *dead, long exp); |
200 | int confirm_party_password (object *op); |
198 | int confirm_party_password (object *op); |
201 | void receive_party_password (object *op, char k); |
199 | void receive_party_password (object *op, char k); |
202 | void send_party_message (object *op, char *msg); |
200 | void send_party_message (object *op, const char *msg); |
203 | int command_gsay (object *op, char *params); |
201 | int command_gsay (object *op, char *params); |
204 | int command_party (object *op, char *params); |
202 | int command_party (object *op, char *params); |
205 | |
203 | |
206 | /* c_range.c */ |
204 | /* c_range.c */ |
207 | int command_invoke (object *op, char *params); |
205 | int command_invoke (object *op, char *params); |
… | |
… | |
240 | int command_dm (object *op, char *params); |
238 | int command_dm (object *op, char *params); |
241 | int command_invisible (object *op, char *params); |
239 | int command_invisible (object *op, char *params); |
242 | int command_learn_spell (object *op, char *params); |
240 | int command_learn_spell (object *op, char *params); |
243 | int command_learn_special_prayer (object *op, char *params); |
241 | int command_learn_special_prayer (object *op, char *params); |
244 | int command_forget_spell (object *op, char *params); |
242 | 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); |
243 | int command_dmhide (object *op, char *params); |
249 | void dm_stack_pop (player *pl); |
244 | void dm_stack_pop (player *pl); |
250 | object *dm_stack_peek (player *pl); |
245 | object *dm_stack_peek (player *pl); |
251 | void dm_stack_push (player *pl, tag_t item); |
246 | void dm_stack_push (player *pl, tag_t item); |
252 | object *get_dm_object (player *pl, char **params, int *from); |
247 | object *get_dm_object (player *pl, char **params, int *from); |
… | |
… | |
274 | int do_symptoms (object *disease); |
269 | int do_symptoms (object *disease); |
275 | int grant_immunity (object *disease); |
270 | int grant_immunity (object *disease); |
276 | int move_symptom (object *symptom); |
271 | int move_symptom (object *symptom); |
277 | int check_physically_infect (object *victim, object *hitter); |
272 | int check_physically_infect (object *victim, object *hitter); |
278 | object *find_disease (object *victim); |
273 | object *find_disease (object *victim); |
279 | int cure_disease (object *sufferer, object *caster); |
274 | int cure_disease (object *sufferer, object *caster, object *spell); |
280 | int reduce_symptoms (object *sufferer, int reduction); |
275 | int reduce_symptoms (object *sufferer, int reduction); |
281 | |
276 | |
282 | /* egoitem.c */ |
277 | /* egoitem.c */ |
283 | int create_artifact (object *op, const char *artifactname); |
278 | int create_artifact (object *op, const char *artifactname); |
284 | int apply_power_crystal (object *op, object *crystal); |
279 | int apply_power_crystal (object *op, object *crystal); |
… | |
… | |
338 | void set_csport (char *val); |
333 | void set_csport (char *val); |
339 | void init (int argc, char **argv); |
334 | void init (int argc, char **argv); |
340 | void usage (void); |
335 | void usage (void); |
341 | void help (void); |
336 | void help (void); |
342 | void init_beforeplay (void); |
337 | void init_beforeplay (void); |
343 | void init_startup (void); |
|
|
344 | void compile_info (void); |
|
|
345 | void init_signals (void); |
338 | void init_signals (void); |
346 | void init_races (void); |
339 | void init_races (void); |
347 | void dump_races (void); |
340 | void dump_races (void); |
348 | void add_to_racelist (const char *race_name, object *op); |
341 | void add_to_racelist (const char *race_name, object *op); |
349 | racelink *get_racelist (void); |
342 | racelink *get_racelist (void); |
… | |
… | |
352 | /* login.c */ |
345 | /* login.c */ |
353 | void delete_character (const char *name); |
346 | void delete_character (const char *name); |
354 | int verify_player (const char *name, char *password); |
347 | int verify_player (const char *name, char *password); |
355 | int check_name (player *me, const char *name); |
348 | int check_name (player *me, const char *name); |
356 | int create_savedir_if_needed (char *savedir); |
349 | int create_savedir_if_needed (char *savedir); |
357 | void destroy_object (object *op); |
|
|
358 | void copy_file (const char *filename, FILE *fpout); |
350 | void copy_file (const char *filename, FILE *fpout); |
359 | |
351 | |
360 | /* main.c */ |
352 | /* main.c */ |
361 | void server_tick (); |
353 | void server_tick (); |
362 | void version (object *op); |
354 | void version (object *op); |
363 | void info_keys (object *op); |
355 | void info_keys (object *op); |
364 | char *crypt_string (char *str, char *salt); |
356 | char *crypt_string (char *str, char *salt); |
365 | int check_password (char *typed, char *crypted); |
|
|
366 | void enter_player_savebed (object *op); |
357 | void enter_player_savebed (object *op); |
367 | void leave_map (object *op); |
358 | void leave_map (object *op); |
368 | void set_map_timeout (maptile *oldmap); |
359 | void set_map_timeout (maptile *oldmap); |
369 | char *clean_path (const char *file); |
360 | char *clean_path (const char *file); |
370 | char *unclean_path (const char *src); |
361 | char *unclean_path (const char *src); |
371 | void enter_exit (object *op, object *exit_ob); |
362 | void enter_exit (object *op, object *exit_ob); |
372 | void process_events (); |
363 | void process_events (); |
373 | void clean_tmp_files (void); |
364 | void clean_tmp_files (void); |
374 | void leave (player *pl,int draw_exit); |
365 | void leave (player *pl,int draw_exit); |
375 | int forbid_play (void); |
|
|
376 | void do_specials (void); |
366 | void do_specials (void); |
377 | int main (int argc, char **argv); |
367 | int main (int argc, char **argv); |
378 | |
368 | |
379 | /* monster.c */ |
369 | /* monster.c */ |
380 | object *check_enemy (object *npc, rv_vector *rv); |
370 | object *check_enemy (object *npc, rv_vector *rv); |
… | |
… | |
479 | object *find_key (object *pl, object *container, object *door); |
469 | object *find_key (object *pl, object *container, object *door); |
480 | bool move_player_attack (object *op, int dir); |
470 | bool move_player_attack (object *op, int dir); |
481 | bool move_player (object *op, int dir); |
471 | bool move_player (object *op, int dir); |
482 | bool handle_newcs_player (object *op); |
472 | bool handle_newcs_player (object *op); |
483 | int save_life (object *op); |
473 | int save_life (object *op); |
484 | void remove_unpaid_objects (object *op, object *env); |
|
|
485 | char *gravestone_text (object *op); |
474 | const char *gravestone_text (object *op); |
486 | void do_some_living (object *op); |
475 | void do_some_living (object *op); |
487 | void kill_player (object *op); |
476 | void kill_player (object *op); |
488 | void loot_object (object *op); |
477 | void loot_object (object *op); |
489 | void fix_weight (void); |
478 | void fix_weight (void); |
490 | void fix_luck (void); |
479 | void fix_luck (void); |
… | |
… | |
498 | int action_makes_visible (object *op); |
487 | int action_makes_visible (object *op); |
499 | int op_on_battleground (object *op, int *x, int *y); |
488 | int op_on_battleground (object *op, int *x, int *y); |
500 | void dragon_ability_gain (object *who, int atnr, int level); |
489 | void dragon_ability_gain (object *who, int atnr, int level); |
501 | void player_unready_range_ob (player *pl, object *ob); |
490 | void player_unready_range_ob (player *pl, object *ob); |
502 | |
491 | |
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 */ |
492 | /* resurrection.c */ |
587 | int cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg); |
493 | int cast_raise_dead_spell (object *op, object *caster, object *spell, int dir, const char *arg); |
588 | int resurrection_fails (int levelcaster, int leveldead); |
494 | int resurrection_fails (int levelcaster, int leveldead); |
589 | void dead_player (object *op); |
495 | void dead_player (object *op); |
590 | void dead_character (const char *name); |
496 | void dead_character (const char *name); |
… | |
… | |
607 | const char *query_cost_string (const object *tmp, object *who, int flag); |
513 | const char *query_cost_string (const object *tmp, object *who, int flag); |
608 | sint64 query_money (const object *op); |
514 | sint64 query_money (const object *op); |
609 | int pay_for_amount (sint64 to_pay, object *pl); |
515 | int pay_for_amount (sint64 to_pay, object *pl); |
610 | int pay_for_item (object *op, object *pl); |
516 | int pay_for_item (object *op, object *pl); |
611 | int can_pay (object *pl); |
517 | int can_pay (object *pl); |
612 | void sell_item (object *op, object *pl); |
518 | bool sell_item (object *op, object *pl); |
613 | double shopkeeper_approval (const maptile *map, const object *player); |
519 | double shopkeeper_approval (const maptile *map, const object *player); |
614 | int describe_shop (const object *op); |
520 | int describe_shop (const object *op); |
615 | void shop_listing (object *sign, object *op); |
521 | void shop_listing (object *sign, object *op); |
616 | bool is_in_shop (object *o); |
522 | bool is_in_shop (object *o); |
617 | bool is_in_shop (maptile *map, int x, int y); |
523 | bool is_in_shop (maptile *map, int x, int y); |
… | |
… | |
708 | int write_mark (object *op, object *spell, const char *msg); |
614 | int write_mark (object *op, object *spell, const char *msg); |
709 | |
615 | |
710 | /* spell_util.c */ |
616 | /* spell_util.c */ |
711 | object *find_random_spell_in_ob (object *ob, const char *skill); |
617 | object *find_random_spell_in_ob (object *ob, const char *skill); |
712 | void set_spell_skill (object *op, object *caster, object *spob, object *dest); |
618 | 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); |
619 | void spell_effect (object *spob, int x, int y, maptile *map, object *originator); |
716 | int min_casting_level (object *caster, object *spell); |
620 | int min_casting_level (object *caster, object *spell); |
717 | int caster_level (object *caster, object *spell); |
621 | int caster_level (object *caster, object *spell); |
718 | sint16 SP_level_spellpoint_cost (object *caster, object *spell, int flags); |
622 | sint16 SP_level_spellpoint_cost (object *caster, object *spell, int flags); |
719 | int SP_level_dam_adjust (object *caster, object *spob); |
623 | int SP_level_dam_adjust (object *caster, object *spob); |
… | |
… | |
777 | void move_duplicator (object *op); |
681 | void move_duplicator (object *op); |
778 | void move_creator (object *creator); |
682 | void move_creator (object *creator); |
779 | void move_marker (object *op); |
683 | void move_marker (object *op); |
780 | void process_object (object *op); |
684 | void process_object (object *op); |
781 | |
685 | |
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 */ |
686 | /* weather.c */ |
790 | void set_darkness_map (maptile *m); |
687 | void set_darkness_map (maptile *m); |
791 | void adjust_daylight (void); |
688 | void adjust_daylight (void); |