… | |
… | |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * it under the terms of the GNU General Public License as published by |
9 | * the terms of the Affero GNU General Public License as published by the |
10 | * the Free Software Foundation, either version 3 of the License, or |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
11 | * (at your option) any later version. |
11 | * option) any later version. |
12 | * |
12 | * |
13 | * This program is distributed in the hope that it will be useful, |
13 | * This program is distributed in the hope that it will be useful, |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | * GNU General Public License for more details. |
16 | * GNU General Public License for more details. |
17 | * |
17 | * |
18 | * You should have received a copy of the GNU General Public License |
18 | * You should have received a copy of the Affero GNU General Public License |
19 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 | * and the GNU General Public License along with this program. If not, see |
|
|
20 | * <http://www.gnu.org/licenses/>. |
20 | * |
21 | * |
21 | * The authors can be reached via e-mail to <support@deliantra.net> |
22 | * The authors can be reached via e-mail to <support@deliantra.net> |
22 | */ |
23 | */ |
23 | |
24 | |
24 | #ifndef LIBPROTO_H_ |
25 | #ifndef LIBPROTO_H_ |
… | |
… | |
53 | /* button.c */ |
54 | /* button.c */ |
54 | extern void push_button (object *op, object *originator); |
55 | extern void push_button (object *op, object *originator); |
55 | extern void update_button (object *op, object *originator); |
56 | extern void update_button (object *op, object *originator); |
56 | extern void use_trigger (object *op, object *originator); |
57 | extern void use_trigger (object *op, object *originator); |
57 | extern void animate_turning (object *op); |
58 | extern void animate_turning (object *op); |
58 | extern int check_altar_sacrifice (const object *altar, const object *sacrifice); |
59 | extern int check_altar_sacrifice (object *altar, object *sacrifice, object *originator = 0); |
59 | extern int operate_altar (object *altar, object **sacrifice); |
60 | extern int operate_altar (object *altar, object **sacrifice, object *originator = 0); |
60 | extern void trigger_move (object *op, int state, object *originator); |
61 | extern void trigger_move (object *op, int state, object *originator); |
61 | extern int check_trigger (object *op, object *cause); |
62 | extern int check_trigger (object *op, object *cause, object *originator = 0); |
62 | extern int get_button_value (const object *button); |
63 | extern int get_button_value (const object *button); |
63 | extern void do_mood_floor (object *op, object *source = 0); |
64 | extern void do_mood_floor (object *op, object *source = 0); |
64 | extern object *check_inv_recursive (object *op, const object *trig); |
65 | extern object *check_inv_recursive (object *op, const object *trig); |
65 | extern void check_inv (object *op, object *trig); |
66 | extern void check_inv (object *op, object *trig); |
66 | extern void verify_button_links (const maptile *map); |
67 | extern void verify_button_links (const maptile *map); |
… | |
… | |
108 | extern int get_power_from_ench (int ench); |
109 | extern int get_power_from_ench (int ench); |
109 | extern int calc_item_power (const object *op, int flag); |
110 | extern int calc_item_power (const object *op, int flag); |
110 | extern const typedata *get_typedata (int itemtype); |
111 | extern const typedata *get_typedata (int itemtype); |
111 | extern const typedata *get_typedata_by_name (const char *name); |
112 | extern const typedata *get_typedata_by_name (const char *name); |
112 | extern const char *describe_resistance (const object *op, int newline); |
113 | extern const char *describe_resistance (const object *op, int newline); |
113 | extern const char *query_weight (const object *op); |
|
|
114 | extern const char *get_levelnumber (int i); |
114 | extern const char *get_levelnumber (int i); |
115 | extern const char *get_number (int i); |
115 | extern const char *get_number (int i); |
116 | extern const char *ring_desc (const object *op); |
116 | extern const char *ring_desc (const object *op); |
117 | extern const char *query_short_name (const object *op); |
|
|
118 | extern const char *query_name (const object *op); |
|
|
119 | extern const char *query_base_name (const object *op, int plural); |
|
|
120 | extern const char *describe_item (const object *op, object *owner); |
117 | extern const char *describe_item (const object *op, object *owner); |
121 | extern int is_magical (const object *op); |
118 | extern int is_magical (const object *op); |
122 | extern int need_identify (const object *op); |
119 | extern int need_identify (const object *op); |
123 | extern void identify (object *op); |
120 | extern void identify (object *op); |
124 | /* links.c */ |
121 | /* links.c */ |
… | |
… | |
211 | extern const char *quest_get_override_msg (const object *ob, const object *pl); |
208 | extern const char *quest_get_override_msg (const object *ob, const object *pl); |
212 | extern void quest_apply_items (object *wrapper, player *pl); |
209 | extern void quest_apply_items (object *wrapper, player *pl); |
213 | extern int quest_on_activate (object *ob, player *pl); |
210 | extern int quest_on_activate (object *ob, player *pl); |
214 | extern int quest_is_override_compatible (const object *marker, const object *pl); |
211 | extern int quest_is_override_compatible (const object *marker, const object *pl); |
215 | /* readable.c */ |
212 | /* readable.c */ |
216 | extern int nstrtok (const char *buf1, const char *buf2); |
|
|
217 | extern char *strtoktolin (const char *buf1, const char *buf2); |
|
|
218 | extern int book_overflow (const char *buf1, const char *buf2, int booksize); |
|
|
219 | extern void init_readable (); |
213 | extern void init_readable (); |
220 | extern void change_book (object *book, int msgtype); |
|
|
221 | extern object *get_random_mon (int level); |
214 | extern object *get_random_mon (int level); |
222 | extern char *mon_desc (const object *mon); |
|
|
223 | extern object *get_next_mon (object *tmp); |
|
|
224 | extern char *mon_info_msg (int level, int booksize); |
|
|
225 | extern const char *artifact_msg (int level, int booksize); |
|
|
226 | extern char *spellpath_msg (int level, int booksize); |
|
|
227 | extern void make_formula_book (object *book, int level); |
|
|
228 | extern char *msgfile_msg (int level, int booksize); |
|
|
229 | extern const char *god_info_msg (int level, int booksize); |
|
|
230 | extern void tailor_readable_ob (object *book, int msg_type); |
215 | extern void tailor_readable_ob (object *book, int msg_type); |
231 | extern void free_all_readable (); |
216 | extern void free_all_readable (); |
232 | extern void write_book_archive (); |
217 | extern void write_book_archive (); |
233 | extern readable_message_type *get_readable_message_type (object *readable); |
218 | extern readable_message_type *get_readable_message_type (object *readable); |
234 | /* recipe.c */ |
219 | /* recipe.c */ |