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