Crossfire Server, Trunk  R20513
Go to the documentation of this file.
1 /* account.c */
2 void accounts_clear(void);
3 void accounts_load(void);
4 void accounts_save(void);
5 const char *account_exists(const char *account_name);
6 int account_login(const char *account_name, const char *account_password);
7 int account_check_string(const char *str);
8 int account_new(const char *account_name, const char *account_password);
9 int account_link(const char *account_name, const char *player_name);
10 int account_remove_player(const char *account_name, const char *player_name);
11 char **account_get_players_for_account(const char *account_name);
12 const char *account_get_account_for_char(const char *charname);
13 player *account_get_logged_in_player(const char *name);
15 int account_is_logged_in(const char *name);
16 int account_change_password(const char *account_name, const char *current_password, const char *new_password);
17 /* account_char.c */
18 Account_Char *account_char_load(const char *account_name);
19 void account_char_save(const char *account, Account_Char *chars);
21 Account_Char *account_char_remove(Account_Char *chars, const char *pl_name);
22 void account_char_free(Account_Char *chars);
23 /* alchemy.c */
24 int use_alchemy(object *op);
25 /* apply.c */
26 int transport_can_hold(const object *transport, const object *op, int nrof);
27 int should_director_abort(const object *op, const object *victim);
28 void apply_handle_yield(object *tmp);
29 int set_object_face_main(object *op);
30 int apply_container(object *op, object *sack);
31 void do_learn_spell(object *op, object *spell, int special_prayer);
32 void do_forget_spell(object *op, const char *spell);
33 int apply_manual(object *op, object *tmp, int aflag);
34 int apply_by_living(object *pl, object *op, int aflag, int quiet);
35 void apply_by_living_below(object *pl);
36 int apply_can_apply_object(const object *who, const object *op);
37 int apply_check_weapon_power(const object *who, int improves);
38 int apply_special(object *who, object *op, int aflags);
39 int apply_auto(object *op);
40 void apply_auto_fix(mapstruct *m);
41 void scroll_failure(object *op, int failure, int power);
42 void apply_changes_to_player(object *pl, object *change, int limit_stats);
43 void legacy_apply_container(object *op, object *sack);
44 /* attack.c */
45 void save_throw_object(object *op, uint32_t type, object *originator);
46 int hit_map(object *op, int dir, uint32_t type, int full_hit);
47 int attack_ob(object *op, object *hitter);
48 object *hit_with_arrow(object *op, object *victim);
49 int friendly_fire(object *op, object *hitter);
50 int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit);
51 void confuse_living(object *op, object *hitter, int dam);
52 void blind_living(object *op, object *hitter, int dam);
53 void paralyze_living(object *op, int dam);
54 /* ban.c */
55 int checkbanned(const char *login, const char *host);
56 /* build_map.c */
57 void apply_builder_remove(object *pl, int dir);
58 void apply_map_builder(object *pl, int dir);
59 /* c_chat.c */
60 void command_say(object *op, const char *params);
61 void command_me(object *op, const char *params);
62 void command_cointoss(object *op, const char *params);
63 void command_orcknuckle(object *op, const char *params);
64 void command_shout(object *op, const char *params);
65 void command_chat(object *op, const char *params);
66 void command_tell(object *op, const char *params);
67 void command_dmtell(object *op, const char *params);
68 void command_reply(object *op, const char *params);
69 void command_nod(object *op, const char *params);
70 void command_dance(object *op, const char *params);
71 void command_kiss(object *op, const char *params);
72 void command_bounce(object *op, const char *params);
73 void command_smile(object *op, const char *params);
74 void command_cackle(object *op, const char *params);
75 void command_laugh(object *op, const char *params);
76 void command_giggle(object *op, const char *params);
77 void command_shake(object *op, const char *params);
78 void command_puke(object *op, const char *params);
79 void command_growl(object *op, const char *params);
80 void command_scream(object *op, const char *params);
81 void command_sigh(object *op, const char *params);
82 void command_sulk(object *op, const char *params);
83 void command_hug(object *op, const char *params);
84 void command_cry(object *op, const char *params);
85 void command_poke(object *op, const char *params);
86 void command_accuse(object *op, const char *params);
87 void command_grin(object *op, const char *params);
88 void command_bow(object *op, const char *params);
89 void command_clap(object *op, const char *params);
90 void command_blush(object *op, const char *params);
91 void command_burp(object *op, const char *params);
92 void command_chuckle(object *op, const char *params);
93 void command_cough(object *op, const char *params);
94 void command_flip(object *op, const char *params);
95 void command_frown(object *op, const char *params);
96 void command_gasp(object *op, const char *params);
97 void command_glare(object *op, const char *params);
98 void command_groan(object *op, const char *params);
99 void command_hiccup(object *op, const char *params);
100 void command_lick(object *op, const char *params);
101 void command_pout(object *op, const char *params);
102 void command_shiver(object *op, const char *params);
103 void command_shrug(object *op, const char *params);
104 void command_slap(object *op, const char *params);
105 void command_smirk(object *op, const char *params);
106 void command_snap(object *op, const char *params);
107 void command_sneeze(object *op, const char *params);
108 void command_snicker(object *op, const char *params);
109 void command_sniff(object *op, const char *params);
110 void command_snore(object *op, const char *params);
111 void command_spit(object *op, const char *params);
112 void command_strut(object *op, const char *params);
113 void command_thank(object *op, const char *params);
114 void command_twiddle(object *op, const char *params);
115 void command_wave(object *op, const char *params);
116 void command_whistle(object *op, const char *params);
117 void command_wink(object *op, const char *params);
118 void command_yawn(object *op, const char *params);
119 void command_beg(object *op, const char *params);
120 void command_bleed(object *op, const char *params);
121 void command_cringe(object *op, const char *params);
122 void command_think(object *op, const char *params);
123 /* c_misc.c */
124 void map_info(object *op, const char *search);
125 void command_language(object *op, const char *params);
126 void command_body(object *op, const char *params);
127 void command_motd(object *op, const char *params);
128 void command_rules(object *op, const char *params);
129 void command_news(object *op, const char *params);
130 void current_region_info(object *op);
131 void current_map_info(object *op);
132 void command_whereabouts(object *op, const char *params);
133 void list_players(object *op, region *reg, partylist *party);
134 void command_who(object *op, const char *params);
135 void display_who_entry(object *op, player *pl, const char *format);
136 void get_who_escape_code_value(char *return_val, int size, const char letter, player *pl);
137 void command_afk(object *op, const char *params);
138 void command_malloc(object *op, const char *params);
139 void command_mapinfo(object *op, const char *params);
140 void command_whereami(object *op, const char *params);
141 void command_maps(object *op, const char *params);
142 void command_strings(object *op, const char *params);
143 void command_time(object *op, const char *params);
144 void command_archs(object *op, const char *params);
145 void command_hiscore(object *op, const char *params);
146 void command_debug(object *op, const char *params);
147 void command_wizpass(object *op, const char *params);
148 void command_wizcast(object *op, const char *params);
149 void command_dumpallobjects(object *op, const char *params);
150 void command_dumpfriendlyobjects(object *op, const char *params);
151 void command_dumpallarchetypes(object *op, const char *params);
152 void command_ssdumptable(object *op, const char *params);
153 void command_dumpmap(object *op, const char *params);
154 void command_dumpallmaps(object *op, const char *params);
155 void command_printlos(object *op, const char *params);
156 void command_version(object *op, const char *params);
157 void command_listen(object *op, const char *params);
158 void command_statistics(object *pl, const char *params);
159 void command_fix_me(object *op, const char *params);
160 void command_players(object *op, const char *params);
161 void command_applymode(object *op, const char *params);
162 void command_bowmode(object *op, const char *params);
163 void command_unarmed_skill(object *op, const char *params);
164 void command_petmode(object *op, const char *params);
165 void command_showpets(object *op, const char *params);
166 void command_usekeys(object *op, const char *params);
167 void command_resistances(object *op, const char *params);
168 void command_help(object *op, const char *params);
169 int onoff_value(const char *line);
170 void command_quit(object *op, const char *params);
171 void command_sound(object *op, const char *params);
172 void receive_player_name(object *op);
173 void receive_player_password(object *op);
174 void command_title(object *op, const char *params);
175 void command_save(object *op, const char *params);
176 void command_peaceful(object *op, const char *params);
177 void command_wimpy(object *op, const char *params);
178 void command_brace(object *op, const char *params);
179 void command_kill_pets(object *op, const char *params);
180 void command_passwd(object *pl, const char *params);
181 void do_harvest(object *pl, int dir, object *skill);
182 /* c_move.c */
183 void command_east(object *op, const char *params);
184 void command_north(object *op, const char *params);
185 void command_northeast(object *op, const char *params);
186 void command_northwest(object *op, const char *params);
187 void command_south(object *op, const char *params);
188 void command_southeast(object *op, const char *params);
189 void command_southwest(object *op, const char *params);
190 void command_west(object *op, const char *params);
191 void command_stay(object *op, const char *params);
192 /* c_new.c */
193 void execute_newserver_command(object *pl, char *command);
194 void command_run(object *op, const char *params);
195 void command_run_stop(object *op, const char *params);
196 void command_fire(object *op, const char *params);
197 void command_fire_stop(object *op, const char *params);
198 /* c_object.c */
199 void command_uskill(object *pl, const char *params);
200 void command_rskill(object *pl, const char *params);
201 void command_search(object *op, const char *params);
202 void command_disarm(object *op, const char *params);
203 void command_throw(object *op, const char *params);
204 void command_apply(object *op, const char *params);
205 int sack_can_hold(const object *pl, const object *sack, const object *op, uint32_t nrof);
206 void pick_up(object *op, object *alt);
207 void command_take(object *op, const char *params);
208 void put_object_in_sack(object *op, object *sack, object *tmp, uint32_t nrof);
209 object *drop_object(object *op, object *tmp, uint32_t nrof);
210 void drop(object *op, object *tmp);
211 void command_dropall(object *op, const char *params);
212 void command_drop(object *op, const char *params);
213 void command_empty(object *op, const char *params);
214 void command_examine(object *op, const char *params);
215 object *find_marked_object(object *op);
216 void command_mark(object *op, const char *params);
217 void examine_monster(object *op, object *tmp, int level);
218 void examine(object *op, object *tmp);
219 void inventory(object *op, object *inv);
220 void command_pickup(object *op, const char *params);
221 void command_search_items(object *op, const char *params);
222 void command_rename_item(object *op, const char *params);
223 void command_lock_item(object *op, const char *params);
224 void command_use(object *op, const char *params);
225 /* c_party.c */
226 int confirm_party_password(object *op);
227 void receive_party_password(object *op);
228 void command_gsay(object *op, const char *params);
229 void command_party(object *op, const char *params);
230 void command_party_rejoin(object *op, const char *params);
231 /* c_range.c */
232 void command_invoke(object *op, const char *params);
233 void command_cast(object *op, const char *params);
234 void command_prepare(object *op, const char *params);
235 void command_cast_spell(object *op, const char *params, char command);
236 int legal_range(object *op, int r);
237 void command_rotateshoottype(object *op, const char *params);
238 /* c_wiz.c */
239 void command_loadtest(object *op, const char *params);
240 void command_hide(object *op, const char *params);
241 void command_setgod(object *op, const char *params);
242 void command_banish(object *op, const char *params);
243 void command_kick(object *op, const char *params);
244 void command_overlay_save(object *op, const char *params);
245 void command_overlay_reset(object *op, const char *params);
246 void command_toggle_shout(object *op, const char *params);
247 void command_shutdown(object *op, const char *params);
248 void command_goto(object *op, const char *params);
249 void command_freeze(object *op, const char *params);
250 int player_arrest(object *who);
251 void command_arrest(object *op, const char *params);
252 void command_summon(object *op, const char *params);
253 void command_teleport(object *op, const char *params);
254 void command_create(object *op, const char *params);
255 void command_inventory(object *op, const char *params);
256 void command_skills(object *op, const char *params);
257 void command_dump(object *op, const char *params);
258 void command_mon_aggr(object *op, const char *params);
259 void command_possess(object *op, const char *params);
260 void command_patch(object *op, const char *params);
261 void command_remove(object *op, const char *params);
262 void command_free(object *op, const char *params);
263 void command_addexp(object *op, const char *params);
264 void command_speed(object *op, const char *params);
265 void command_stats(object *op, const char *params);
266 void command_abil(object *op, const char *params);
267 void command_reset(object *op, const char *params);
268 void command_nowiz(object *op, const char *params);
269 void command_dm(object *op, const char *params);
270 void command_invisible(object *op, const char *params);
271 void command_learn_spell(object *op, const char *params);
272 void command_learn_special_prayer(object *op, const char *params);
273 void command_forget_spell(object *op, const char *params);
274 void command_listplugins(object *op, const char *params);
275 void command_loadplugin(object *op, const char *params);
276 void command_unloadplugin(object *op, const char *params);
277 void command_dmhide(object *op, const char *params);
278 void command_stack_pop(object *op, const char *params);
279 void command_stack_push(object *op, const char *params);
280 void command_stack_list(object *op, const char *params);
281 void command_stack_clear(object *op, const char *params);
282 void command_diff(object *op, const char *params);
283 void command_insert_into(object *op, const char *params);
284 void command_style_map_info(object *op, const char *params);
285 void command_follow(object *op, const char *params);
286 void command_purge_quest(object *op, const char *param);
287 void command_purge_quest_definitions(object *op, const char *param);
288 void command_dumpbelow(object *op, const char *params);
289 void command_settings(object *op, const char *ignored);
290 /* commands.c */
291 void init_commands(void);
292 /* disease.c */
293 int move_disease(object *disease);
294 int infect_object(object *victim, object *disease, int force);
295 void move_symptom(object *symptom);
296 void check_physically_infect(object *victim, object *hitter);
297 int cure_disease(object *sufferer, object *caster, sstring skill);
298 /* hiscore.c */
299 void hiscore_init(void);
300 void hiscore_check(object *op, int quiet);
301 void hiscore_display(object *op, int max, const char *match);
302 /* gods.c */
303 const object *find_god(const char *name);
304 const char *determine_god(object *op);
305 void pray_at_altar(object *pl, object *altar, object *skill);
306 int become_follower(object *op, const object *new_god);
307 archetype *determine_holy_arch(const object *god, const char *type);
308 int tailor_god_spell(object *spellop, object *caster);
309 /* init.c */
310 void init(int argc, char **argv);
311 void free_server(void);
312 racelink *find_racelink(const char *name);
313 /* knowledge.c */
314 void knowledge_give(player *pl, const char *marker, const object *book);
315 void knowledge_read(player *pl, object *book);
316 void command_knowledge(object *pl, const char *params);
317 void free_knowledge(void);
318 int knowledge_player_knows(const player *pl, const char *knowledge);
319 void knowledge_item_can_be_used_alchemy(object *op, const object *item);
324 void knowledge_show_monster_detail(object *op, const char *name);
325 /* login.c */
326 void emergency_save(int flag);
327 void delete_character(const char *name);
328 int verify_player(const char *name, char *password);
329 int check_name(player *me, const char *name);
330 void destroy_object(object *op);
331 int save_player(object *op, int flag);
332 void check_login(object *op, int check_pass);
333 /* monster.c */
334 object *monster_check_enemy(object *npc, rv_vector *rv);
335 object *monster_find_nearest_living_creature(object *npc);
336 int monster_compute_path(object *source, object *target, int default_dir);
337 void monster_do_living(object *op);
338 int monster_move(object *op);
339 void monster_check_apply_all(object *monster);
340 void monster_npc_call_help(object *op);
341 void monster_check_earthwalls(object *op, mapstruct *m, int x, int y);
342 void monster_check_doors(object *op, mapstruct *m, int x, int y);
343 void monster_do_say(const mapstruct *map, const char *message);
344 void monster_communicate(object *op, const char *txt);
345 void monster_npc_say(object *npc, const char *cp);
346 object *monster_find_throw_ob(object *op);
347 int monster_can_detect_enemy(object *op, object *enemy, rv_vector *rv);
348 int monster_stand_in_light(object *op);
349 int monster_can_see_enemy(object *op, object *enemy);
350 /* move.c */
351 int move_object(object *op, int dir);
352 int move_ob(object *op, int dir, object *originator);
353 int transfer_ob(object *op, int x, int y, int randomly, object *originator);
354 int teleport(object *teleporter, uint8_t tele_type, object *user);
355 void recursive_roll(object *op, int dir, object *pusher);
356 int push_ob(object *who, int dir, object *pusher);
357 int move_to(object *op, int x, int y);
358 /* ob_methods.c */
359 void init_ob_methods(void);
360 /* ob_types.c */
361 void register_all_ob_types(void);
362 /* party.c */
363 partylist *party_form(object *op, const char *partyname);
364 void party_join(object *op, partylist *party);
365 void party_leave(object *op);
366 partylist *party_find(const char *partyname);
367 void party_remove(partylist *party);
369 partylist *party_get_next(const partylist *party);
370 void party_obsolete_parties(void);
371 const char *party_get_password(const partylist *party);
372 void party_set_password(partylist *party, const char *password);
373 int party_confirm_password(const partylist *party, const char *password);
374 void party_send_message(object *op, const char *message);
375 const char *party_get_leader(const partylist *party);
376 /* pets.c */
377 object *pets_get_enemy(object *pet, rv_vector *rv);
378 void pets_terminate_all(object *owner);
379 void pets_remove_all(void);
380 void pets_follow_owner(object *ob, object *owner);
381 void pets_move(object *ob);
382 void pets_move_golem(object *op);
383 void pets_control_golem(object *op, int dir);
384 int pets_summon_golem(object *op, object *caster, int dir, object *spob);
385 int pets_summon_object(object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
386 int pets_should_arena_attack(object *pet, object *owner, object *target);
387 /* player.c */
388 player *find_player(const char *plname);
389 player *find_player_options(const char *plname, int options, const mapstruct *map);
390 player *find_player_partial_name(const char *plname);
392 void display_motd(const object *op);
393 void send_rules(const object *op);
394 void send_news(const object *op);
395 int playername_ok(const char *cp);
397 void set_first_map(object *op);
399 object *get_nearest_player(object *mon);
400 int path_to_player(object *mon, object *pl, unsigned mindiff);
401 void give_initial_items(object *pl, treasurelist *items);
402 void get_name(object *op);
403 void get_password(object *op);
404 void play_again(object *op);
405 void receive_play_again(object *op, char key);
406 void confirm_password(object *op);
407 int get_party_password(object *op, partylist *party);
408 int roll_stat(void);
409 void roll_stats(object *op);
410 void roll_again(object *op);
411 void key_roll_stat(object *op, char key);
412 void key_change_class(object *op, char key);
413 int check_race_and_class(living *stats, archetype *race, archetype *opclass);
414 int apply_race_and_class(object *op, archetype *race, archetype *opclass, living *stats);
415 void key_confirm_quit(object *op, char key);
416 int check_pick(object *op);
417 int fire_bow(object *op, object *arrow, int dir, int wc_mod, int16_t sx, int16_t sy);
418 void fire(object *op, int dir);
419 object *find_key(object *pl, object *container, object *door);
420 void move_player_attack(object *op, int dir);
421 int move_player(object *op, int dir);
422 int handle_newcs_player(object *op);
423 void remove_unpaid_objects(object *op, object *env, int free_items);
424 void do_some_living(object *op);
425 void kill_player(object *op, const object *killer);
426 void fix_weight(void);
427 void fix_luck(void);
428 void cast_dust(object *op, object *throw_ob, int dir);
429 void make_visible(object *op);
430 int is_true_undead(object *op);
431 int hideability(object *ob);
432 void do_hidden_move(object *op);
433 int stand_near_hostile(object *who);
434 int player_can_view(object *pl, object *op);
435 int op_on_battleground(object *op, int *x, int *y, archetype **trophy);
436 void dragon_ability_gain(object *who, int atnr, int level);
437 void player_unready_range_ob(player *pl, object *ob);
438 void player_set_state(player *pl, uint8_t state);
439 /* plugins.c */
440 int user_event(object *op, object *activator, object *third, const char *message, int fix);
441 int execute_event(object *op, int eventcode, object *activator, object *third, const char *message, int fix);
442 int plugin_event_say(object *npc, talk_info *talk);
443 int execute_global_event(int eventcode, ...);
444 int plugins_init_plugin(const char *libfile);
445 int plugins_remove_plugin(const char *id);
446 void plugins_display_list(object *op);
448 void initPlugins(void);
449 void cleanupPlugins(void);
450 /* quest.c */
451 int quest_get_player_state(player *pl, sstring quest_code);
452 void quest_start(player *pl, sstring quest_code, int state);
453 void quest_set_player_state(player *pl, sstring quest_code, int state);
454 int quest_was_completed(player *pl, sstring quest_code);
455 void command_quest(object *op, const char *params);
456 void dump_quests(void);
457 void free_quest(void);
458 void free_quest_definitions(void);
461 /* resurrection.c */
462 int cast_raise_dead_spell(object *op, object *caster, object *spell, int dir, const char *arg);
463 void dead_player(object *op);
464 /* rune.c */
465 int write_rune(object *op, object *caster, object *spell, int dir, const char *runename);
466 void spring_trap(object *trap, object *victim);
467 int dispel_rune(object *op, object *caster, object *spell, object *skill, int dir);
468 int trap_see(object *op, object *trap);
469 int trap_show(object *trap, object *where);
470 int trap_disarm(object *disarmer, object *trap, int risk, object *skill);
471 /* skills.c */
472 int steal(object *op, int dir, object *skill);
473 int pick_lock(object *pl, int dir, object *skill);
474 int hide(object *op, object *skill);
475 int jump(object *pl, int dir, object *skill);
476 int detect_curse_on_item(object *pl, object *tmp, object *skill);
477 int detect_magic_on_item(object *pl, object *tmp, object *skill);
478 int identify_object_with_skill(object *tmp, object *pl, object *skill, int print_on_success);
479 int skill_ident(object *pl, object *skill);
480 int use_oratory(object *pl, int dir, object *skill);
481 int singing(object *pl, int dir, object *skill);
482 int find_traps(object *pl, object *skill);
483 int remove_trap(object *op, object *skill);
484 int pray(object *pl, object *skill);
485 void meditate(object *pl, object *skill);
486 int write_on_item(object *pl, const char *params, object *skill);
487 int skill_throw(object *op, object *part, int dir, object *skill);
488 /* skill_util.c */
489 void init_skills(void);
490 void link_player_skills(object *op);
491 object *find_skill_by_name(object *who, const char *name);
492 object *find_skill_by_number(object *who, int skillno);
493 int change_skill(object *who, object *new_skill, int flag);
494 void clear_skill(object *who);
495 int do_skill(object *op, object *part, object *skill, int dir, const char *string);
496 int64_t calc_skill_exp(const object *who, const object *op, const object *skill);
497 int learn_skill(object *pl, object *scroll);
498 void show_skills(object *op, const char *search);
499 int use_skill(object *op, const char *string);
500 void skill_attack(object *tmp, object *pl, int dir, const char *string, object *skill);
501 /* spell_attack.c */
502 int fire_bolt(object *op, object *caster, int dir, object *spob);
503 void explode_bullet(object *op);
504 void check_bullet(object *op);
505 void cone_drop(object *op);
506 int cast_cone(object *op, object *caster, int dir, object *spell);
507 int create_bomb(object *op, object *caster, int dir, object *spell);
508 int cast_smite_spell(object *op, object *caster, int dir, object *spell);
509 int cast_destruction(object *op, object *caster, object *spell_ob);
510 int cast_curse(object *op, object *caster, object *spell_ob, int dir);
511 int mood_change(object *op, object *caster, object *spell);
512 int fire_swarm(object *op, object *caster, object *spell, int dir);
513 int cast_light(object *op, object *caster, object *spell, int dir);
514 int cast_cause_disease(object *op, object *caster, object *spell, int dir);
515 /* spell_effect.c */
516 void cast_magic_storm(object *op, object *tmp, int lvl);
517 int recharge(object *op, object *caster, object *spell_ob);
518 void polymorph(object *op, object *who, int level);
519 int cast_polymorph(object *op, object *caster, object *spell_ob, int dir);
520 int cast_create_missile(object *op, object *caster, object *spell, int dir, const char *stringarg);
521 int cast_create_food(object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
522 int probe(object *op, object *caster, object *spell_ob, int dir, int level);
523 int makes_invisible_to(object *pl, object *mon);
524 int cast_invisible(object *op, object *caster, object *spell_ob);
525 int cast_earth_to_dust(object *op, object *caster, object *spell_ob);
526 int cast_word_of_recall(object *op, object *caster, object *spell_ob);
527 int cast_wonder(object *op, object *caster, int dir, object *spell_ob);
528 int perceive_self(object *op);
529 int cast_create_town_portal(object *op, object *caster, object *spell, int dir);
530 int magic_wall(object *op, object *caster, int dir, object *spell_ob);
531 int dimension_door(object *op, object *caster, object *spob, int dir);
532 int cast_heal(object *op, object *caster, object *spell, int dir);
533 int cast_change_ability(object *op, object *caster, object *spell_ob, int dir, int silent);
534 int cast_bless(object *op, object *caster, object *spell_ob, int dir);
535 int alchemy(object *op, object *caster, object *spell_ob);
536 int remove_curse(object *op, object *caster, object *spell);
537 int cast_item_curse_or_curse(object *op, object *caster, object *spell_ob);
538 int cast_identify(object *op, object *caster, object *spell);
539 int cast_detection(object *op, object *caster, object *spell);
540 int cast_transfer(object *op, object *caster, object *spell, int dir);
541 void counterspell(object *op, int dir);
542 int cast_consecrate(object *op, object *caster, object *spell);
543 int animate_weapon(object *op, object *caster, object *spell, int dir);
544 int cast_change_map_lightlevel(object *op, object *caster, object *spell);
545 int create_aura(object *op, object *caster, object *spell);
546 int write_mark(object *op, object *spell, const char *msg);
547 /* spell_util.c */
548 object *find_random_spell_in_ob(object *ob, const char *skill);
549 void set_spell_skill(object *op, object *caster, object *spob, object *dest);
550 void check_spells(void);
551 void dump_spells(void);
552 void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator);
553 int min_casting_level(const object *caster, const object *spell);
554 int caster_level(const object *caster, const object *spell);
555 int16_t SP_level_spellpoint_cost(object *caster, object *spell, int flags);
556 int SP_level_dam_adjust(const object *caster, const object *spob);
557 int SP_level_duration_adjust(const object *caster, const object *spob);
558 int SP_level_range_adjust(const object *caster, const object *spob);
559 int SP_level_wc_adjust(const object *caster, const object *spob);
560 object *check_spell_known(object *op, const char *name);
561 object *lookup_spell_by_name(object *op, const char *spname);
562 int reflwall(mapstruct *m, int x, int y, object *sp_op);
563 int cast_create_obj(object *op, object *new_op, int dir);
564 int ok_to_put_more(mapstruct *m, int16_t x, int16_t y, object *op, uint32_t immune_stop);
565 int fire_arch_from_position(object *op, object *caster, int16_t x, int16_t y, int dir, object *spell);
566 void regenerate_rod(object *rod);
567 void drain_rod_charge(object *rod);
568 void drain_wand_charge(object *wand);
569 object *find_target_for_friendly_spell(object *op, int dir);
570 int spell_find_dir(mapstruct *m, int x, int y, object *exclude);
571 int summon_hostile_monsters(object *op, int n, const char *monstername);
572 void shuffle_attack(object *op, int change_face);
573 void spell_failure(object *op, int failure, int power, object *skill);
574 int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg);
575 void store_spell_expiry(object *spell);
576 void check_spell_expiry(object *spell);
577 void rod_adjust(object *rod);
578 /* swap.c */
579 void read_map_log(void);
580 int swap_map(mapstruct *map);
581 void check_active_maps(void);
582 void swap_below_max(const char *except_level);
583 int players_on_map(mapstruct *m, int show_all);
584 void flush_old_maps(void);
585 /* time.c */
586 void remove_door(object *op);
587 void remove_locked_door(object *op);
588 object *stop_item(object *op);
589 void fix_stopped_item(object *op, mapstruct *map, object *originator);
590 object *fix_stopped_arrow(object *op);
591 int free_no_drop(object *op);
592 void change_object(object *op);
593 void move_firewall(object *op);
594 void move_player_mover(object *op);
595 int process_object(object *op);
596 void legacy_remove_force(object *op);
597 void legacy_animate_trigger(object *op);
598 void legacy_move_hole(object *op);
599 int tick_length(float seconds);
600 /* timers.c */
601 void cftimer_process_timers(void);
602 int cftimer_create(int id, long delay, object *ob, int mode);
603 int cftimer_destroy(int id);
604 int cftimer_find_free_id(void);
605 void cftimer_init(void);
606 /* weather.c */
607 void set_darkness_map(mapstruct *m);
608 void tick_the_clock(void);
609 /* server.c */
610 char const* newhash(char const password[static 1]);
611 bool check_password(const char *typed, const char *crypted);
612 void enter_player_savebed(object *op);
613 void set_map_timeout(mapstruct *oldmap);
614 void enter_exit(object *op, object *exit_ob);
615 void process_events(void);
616 void clean_tmp_files(void);
617 void cleanup(void);
618 void leave(player *pl, int draw_exit);
619 int forbid_play(void);
620 void server_main(int argc, char *argv[]);
627 void enter_player_maplevel(object *op);
void command_speed(object *op, const char *params)
Changes the server speed.
Definition: c_wiz.c:1669
void command_smile(object *op, const char *params)
'smile' command.
Definition: c_chat.c:765
void spring_trap(object *trap, object *victim)
This function generalizes attacks by runes/traps.
Definition: rune.c:205
void regenerate_rod(object *rod)
Regenerates a rod's charges.
Definition: spell_util.c:804
void apply_by_living_below(object *pl)
Attempt to apply the object 'below' the player.
Definition: apply.c:618
void clean_tmp_files(void)
Remove temporary map files.
Definition: main.c:336
void set_map_timeout(mapstruct *oldmap)
Applies the map timeout.
Definition: main.c:307
object * lookup_spell_by_name(object *op, const char *spname)
Look at object 'op' and see if they know the spell spname.
Definition: spell_util.c:451
void command_bounce(object *op, const char *params)
'bounce' command.
Definition: c_chat.c:754
One player.
Definition: player.h:92
int apply_special(object *who, object *op, int aflags)
Apply an object.
Definition: apply.c:1082
int apply_manual(object *op, object *tmp, int aflag)
Main apply handler.
Definition: apply.c:510
const char * determine_god(object *op)
Determines if op worships a god.
Definition: gods.c:106
void polymorph(object *op, object *who, int level)
Handles polymorphing an object, living or not.
Definition: spell_effect.c:376
void command_arrest(object *op, const char *params)
Wizard jails player.
Definition: c_wiz.c:838
void show_skills(object *op, const char *search)
Displays a player's skill list, and some other non skill related info (god, max weapon improvements...
Definition: skill_util.c:837
void command_hiscore(object *op, const char *params)
Player is asking for the hiscore.
Definition: c_misc.c:818
command_array_struct * find_plugin_command(const char *cmd, command_array_struct *command)
Tries to find if a given command is handled by a plugin.
Definition: plugins.c:4704
void legacy_remove_force(object *op)
Definition: time.c:827
void command_east(object *op, const char *params)
'east' command.
Definition: c_move.c:57
int change_skill(object *who, object *new_skill, int flag)
This changes the object's skill to new_skill.
Definition: skill_util.c:356
int friendly_fire(object *op, object *hitter)
Find out if this is friendly fire (PVP and attacker is peaceful) or not.
Definition: attack.c:1812
void monster_do_say(const mapstruct *map, const char *message)
Output a NPC message on a map.
Definition: monster.c:2036
int move_player(object *op, int dir)
Player gave us a direction, check whether to move or fire.
Definition: player.c:3007
int skill_ident(object *pl, object *skill)
Main identification skill handling.
Definition: skills.c:895
void command_yawn(object *op, const char *params)
'yawn' command.
Definition: c_chat.c:1260
int64_t calc_skill_exp(const object *who, const object *op, const object *skill)
Calculates amount of experience can be gained for successful use of a skill.
Definition: skill_util.c:658
void enter_exit(object *op, object *exit_ob)
Tries to move 'op' to exit_ob.
Definition: server.c:706
This is used by get_rangevector to determine where the other creature is.
Definition: map.h:380
void roll_again(object *op)
Ask the player what to do with the statistics.
Definition: player.c:1112
void command_prepare(object *op, const char *params)
Equivalent to command_cast().
Definition: c_range.c:63
void quest_start(player *pl, sstring quest_code, int state)
Start a quest for a player.
Definition: quest.c:1096
int cast_raise_dead_spell(object *op, object *caster, object *spell, int dir, const char *arg)
This handles the raise dead / resurrection spells.
Definition: resurrection.c:181
treasureliststruct represents one logical group of items to be generated together.
Definition: treasure.h:82
void leave(player *pl, int draw_exit)
Player logs out, or was disconnected.
Definition: server.c:1180
int account_login(const char *account_name, const char *account_password)
Check if the given account exists, and whether the password is correct.
Definition: account.c:332
void command_diff(object *op, const char *params)
Get a diff of specified items.
Definition: c_wiz.c:2540
object * check_spell_known(object *op, const char *name)
Checks to see if player knows the spell.
Definition: spell_util.c:435
int check_name(player *me, const char *name)
Ensure player's name is valid.
Definition: login.c:162
void free_quest_definitions(void)
Free all quest definitions and steps.
Definition: quest.c:1307
void command_quit(object *op, const char *params)
Player wants to totally delete her character.
Definition: c_misc.c:1845
void command_bow(object *op, const char *params)
'bow' command.
Definition: c_chat.c:930
void command_skills(object *op, const char *params)
Player is asking for her skills.
Definition: c_wiz.c:1365
void remove_door(object *op)
Remove non locked doors.
Definition: time.c:37
int account_remove_player(const char *account_name, const char *player_name)
Removes a player name from an account.
Definition: account.c:496
void monster_communicate(object *op, const char *txt)
This function looks for an object or creature that is listening to said text.
Definition: monster.c:2118
void command_pout(object *op, const char *params)
'pout' command.
Definition: c_chat.c:1073
int caster_level(const object *caster, const object *spell)
This function returns the effective level the spell is being cast at.
Definition: spell_util.c:233
void command_motd(object *op, const char *params)
Display the message of the day.
Definition: c_misc.c:169
void command_strut(object *op, const char *params)
'strut' command.
Definition: c_chat.c:1194
void register_all_ob_types(void)
Calls the intialization functions for all individual types.
Definition: ob_types.c:31
void receive_player_password(object *op)
A player just entered her password, including for changing it.
Definition: c_misc.c:1905
void command_flip(object *op, const char *params)
'flip' command.
Definition: c_chat.c:996
void do_forget_spell(object *op, const char *spell)
Erases spell from player's inventory.
Definition: apply.c:432
void command_cast(object *op, const char *params)
'cast' command, prepares a spell for laster casting.
Definition: c_range.c:50
int makes_invisible_to(object *pl, object *mon)
This checks to see if 'pl' is invisible to 'mon'.
Definition: spell_effect.c:740
bool check_password(const char *typed, const char *crypted)
Hash a password and compare it to the stored version.
Definition: server.c:100
void shuffle_attack(object *op, int change_face)
This routine shuffles the attack of op to one of the ones in the list.
Definition: spell_util.c:1081
int cure_disease(object *sufferer, object *caster, sstring skill)
Do the cure disease stuff, from the spell "cure disease".
Definition: disease.c:685
void command_overlay_save(object *op, const char *params)
Saves the op's map as an overlay - objects are persisted.
Definition: c_wiz.c:585
int monster_can_see_enemy(object *op, object *enemy)
Assuming no walls/barriers, lets check to see if its possible to see an enemy.
Definition: monster.c:2505
unsigned char uint8_t
Definition: win32.h:161
void command_title(object *op, const char *params)
Player wishes to change her title.
Definition: c_misc.c:1997
static struct Command_Line_Options options[]
Actual valid command line options.
Definition: init.c:284
int cast_change_ability(object *op, object *caster, object *spell_ob, int dir, int silent)
Cast some stat-improving spell.
int apply_auto(object *op)
Map was just loaded, handle op's initialization.
Definition: main.c:214
void pets_follow_owner(object *ob, object *owner)
A pet is trying to follow its owner.
Definition: pets.c:293
void apply_handle_yield(object *tmp)
This checks whether the object has a "on_use_yield" field, and if so generated and drops matching ite...
Definition: apply.c:125
Contains information about a race.
Definition: race.h:12
void do_some_living(object *op)
Regenerate hp/sp/gr, decreases food.
Definition: player.c:3286
void command_dm(object *op, const char *params)
Actual command to perhaps become dm.
Definition: c_wiz.c:2136
void command_dump(object *op, const char *params)
Dumps the difference between an object and its archetype.
Definition: c_wiz.c:1377
void drain_wand_charge(object *wand)
Drains a charge from a wand.
Definition: spell_util.c:829
void command_snicker(object *op, const char *params)
'snicker' command.
Definition: c_chat.c:1150
player * add_player(socket_struct *ns, int flags)
Tries to add player on the connection passwd in ns.
Definition: player.c:453
One party.
Definition: party.h:10
void command_stay(object *op, const char *params)
'stay' command.
Definition: c_move.c:145
int player_arrest(object *who)
Put a player into jail, taking into account cursed exits and player's region.
Definition: c_wiz.c:806
void cast_dust(object *op, object *throw_ob, int dir)
Handles op throwing objects of type 'DUST'.
Definition: player.c:3912
void command_smirk(object *op, const char *params)
'smirk' command.
Definition: c_chat.c:1117
void command_grin(object *op, const char *params)
'grin' command.
Definition: c_chat.c:919
void command_invisible(object *op, const char *params)
Wizard wants to become invisible.
Definition: c_wiz.c:2148
int attack_ob(object *op, object *hitter)
Simple wrapper for attack_ob_simple(), will use hitter's values.
Definition: attack.c:903
int push_ob(object *who, int dir, object *pusher)
Something is pushing some other object.
Definition: move.c:417
void command_nod(object *op, const char *params)
'nod' command.
Definition: c_chat.c:721
int account_change_password(const char *account_name, const char *current_password, const char *new_password)
Change an account password.
Definition: account.c:657
int forbid_play(void)
Checks if server should be started.
Definition: server.c:1241
int monster_compute_path(object *source, object *target, int default_dir)
Computes a path from source to target.
Definition: monster.c:391
object * mon
Definition: comet_perf.c:74
void command_freeze(object *op, const char *params)
Freezes a player for a specified tick count, 100 by default.
Definition: c_wiz.c:762
void command_body(object *op, const char *params)
This command dumps the body information for object *op.
Definition: c_misc.c:128
int cast_bless(object *op, object *caster, object *spell_ob, int dir)
Improve statistics of some living object.
const char * account_get_account_for_char(const char *charname)
This looks at all the accounts and sees if charname is associated with any of them.
Definition: account.c:561
int identify_object_with_skill(object *tmp, object *pl, object *skill, int print_on_success)
Helper function for do_skill_ident, so that we can loop over inventory AND objects on the ground conv...
Definition: skills.c:796
void party_set_password(partylist *party, const char *password)
Sets a party's password.
Definition: party.c:275
void command_examine(object *op, const char *params)
'examine' command.
Definition: c_object.c:1225
int move_disease(object *disease)
Ticks the clock for disease: infect, aggravate symptoms, ...
Definition: disease.c:180
int account_new(const char *account_name, const char *account_password)
Adds an account.
Definition: account.c:407
void move_player_mover(object *op)
This function takes a PLAYERMOVER as an argument, and performs the function of a player mover...
Definition: time.c:675
void pets_move(object *ob)
Handles a pet's movement.
Definition: pets.c:329
void command_stack_pop(object *op, const char *params)
Pop the stack top.
Definition: c_wiz.c:2455
void knowledge_give(player *pl, const char *marker, const object *book)
Give a knowledge item from its code.
Definition: knowledge.c:1009
int save_player(object *op, int flag)
Saves a player to disk.
Definition: login.c:211
void command_sniff(object *op, const char *params)
'sniff' command.
Definition: c_chat.c:1161
partylist * party_get_next(const partylist *party)
Returns the next party from the list of all parties.
Definition: party.c:229
void command_loadplugin(object *op, const char *params)
Loads the given plugin.
Definition: c_wiz.c:2378
void command_dumpallarchetypes(object *op, const char *params)
Various archetypes-related statistics.
Definition: c_misc.c:938
void move_symptom(object *symptom)
Make the symptom do the nasty things it does.
Definition: disease.c:592
void fix_stopped_item(object *op, mapstruct *map, object *originator)
Put stopped item where stop_item() had found it.
Definition: time.c:490
void command_use(object *op, const char *params)
Try to use an item on another.
Definition: c_object.c:2292
void enter_player_maplevel(object *op)
Move a player to its stored map level.
Definition: server.c:651
void examine_monster(object *op, object *tmp, int level)
Player examine a monster.
Definition: c_object.c:1336
void key_roll_stat(object *op, char key)
Player is currently swapping stats.
Definition: player.c:1184
int cast_smite_spell(object *op, object *caster, int dir, object *spell)
The priest points to a creature and causes a 'godly curse' to descend.
Definition: spell_attack.c:546
void command_style_map_info(object *op, const char *params)
Displays information about styles loaded for random maps.
Definition: c_wiz.c:2681
void pick_up(object *op, object *alt)
Try to pick up an item.
Definition: c_object.c:446
void command_malloc(object *op, const char *params)
Display memory information.
Definition: c_misc.c:726
void command_scream(object *op, const char *params)
'scream' command.
Definition: c_chat.c:842
Socket structure, represents a client-server connection.
Definition: newserver.h:99
void spell_failure(object *op, int failure, int power, object *skill)
Handles the various effects for differing degrees of failure badness.
Definition: spell_util.c:1153
int check_pick(object *op)
Sees if there is stuff to be picked up/picks up stuff, for players only.
Definition: player.c:1688
const char * party_get_leader(const partylist *party)
Returns the name of the party's leader.
Definition: party.c:322
object * monster_check_enemy(object *npc, rv_vector *rv)
Checks npc->enemy and returns that enemy if still valid, NULL otherwise.
Definition: monster.c:71
int pick_lock(object *pl, int dir, object *skill)
Lock pick handling.
Definition: skills.c:386
void command_learn_special_prayer(object *op, const char *params)
Wizard wants to learn a god-given spell.
Definition: c_wiz.c:2323
int16_t SP_level_spellpoint_cost(object *caster, object *spell, int flags)
Scales the spellpoint cost of a spell by it's increased effectiveness.
Definition: spell_util.c:277
void command_whereabouts(object *op, const char *params)
'whereabouts' command.
Definition: c_misc.c:418
void command_chuckle(object *op, const char *params)
'chuckle' command.
Definition: c_chat.c:974
void command_reset(object *op, const char *params)
Resets a map.
Definition: c_wiz.c:1822
int free_no_drop(object *op)
Check whether the given object is FLAG_NO_DROP.
Definition: time.c:560
void command_glare(object *op, const char *params)
'glare' command.
Definition: c_chat.c:1029
int cast_word_of_recall(object *op, object *caster, object *spell_ob)
Word of recall causes the player to return 'home'.
Definition: spell_effect.c:899
void command_summon(object *op, const char *params)
Summons player near DM.
Definition: c_wiz.c:883
void command_create(object *op, const char *params)
Wizard wants to create an object.
Definition: c_wiz.c:996
const char * party_get_password(const partylist *party)
Returns the party's password.
Definition: party.c:263
void play_again(object *op)
Ask the player whether to play again or disconnect.
Definition: player.c:878
void command_version(object *op, const char *params)
Server version.
Definition: c_misc.c:1001
void legacy_move_hole(object *op)
Definition: time.c:835
void check_spell_expiry(object *spell)
Checks if player should be warned of soon expiring spell.
Definition: spell_util.c:2031
int checkbanned(const char *login, const char *host)
Check if a player and/or host is banned.
Definition: ban.c:32
int SP_level_dam_adjust(const object *caster, const object *spob)
Returns adjusted damage based on the caster.
Definition: spell_util.c:328
void command_cringe(object *op, const char *params)
'cringe' command.
Definition: c_chat.c:1293
void blind_living(object *op, object *hitter, int dam)
Blind a living thing.
Definition: attack.c:2260
const char * account_exists(const char *account_name)
Checks the existing accounts, and see if this account exists.
Definition: account.c:308
void swap_below_max(const char *except_level)
Tries to swap out maps which are still in memory, because of MAP_TIMEOUT until used objects is below ...
Definition: swap.c:242
int stand_near_hostile(object *who)
Determine if who is standing near a hostile creature.
Definition: player.c:4066
void accounts_load(void)
This loads all the account entries into memory.
Definition: account.c:121
void command_gasp(object *op, const char *params)
'gasp' command.
Definition: c_chat.c:1018
void command_passwd(object *pl, const char *params)
Player is asking to change password.
Definition: c_misc.c:2185
void command_settings(object *op, const char *ignored)
Wizard wants to know some server settings, so display.
Definition: c_wiz.c:2788
int roll_stat(void)
This rolls four 1-6 rolls and sums the best 3 of the 4.
Definition: player.c:1014
player * find_player_options(const char *plname, int options, const mapstruct *map)
Find a player.
Definition: player.c:65
int trap_disarm(object *disarmer, object *trap, int risk, object *skill)
Try to disarm a trap/rune.
Definition: rune.c:432
player * find_player(const char *plname)
Find a player by her full name.
Definition: player.c:54
int apply_can_apply_object(const object *who, const object *op)
Checks to see if 'who' can apply object 'op'.
Definition: apply.c:942
void party_leave(object *op)
Makes a player leave his party.
Definition: party.c:104
int verify_player(const char *name, char *password)
This verify that a character of name exits, and that it matches password.
Definition: login.c:109
Various statistics of objects.
Definition: living.h:34
int jump(object *pl, int dir, object *skill)
Jump skill handling.
Definition: skills.c:658
int monster_move(object *op)
Main monster processing routine.
Definition: monster.c:635
object * stop_item(object *op)
An item (ARROW or such) stops moving.
Definition: time.c:450
void command_insert_into(object *op, const char *params)
Puts an object into another.
Definition: c_wiz.c:2604
void command_wimpy(object *op, const char *params)
Player wants to change how soon she'll flee.
Definition: c_misc.c:2090
int remove_trap(object *op, object *skill)
This skill will disarm any previously discovered trap.
Definition: skills.c:1283
void command_wave(object *op, const char *params)
'wave' command.
Definition: c_chat.c:1227
void party_remove(partylist *party)
Removes and frees a party.
Definition: party.c:165
void command_abil(object *op, const char *params)
Changes an object's statistics.
Definition: c_wiz.c:1756
void fix_weight(void)
Check recursively the weight of all players, and fix what needs to be fixed.
Definition: player.c:3875
void command_fire_stop(object *op, const char *params)
Player wants to stop firing.
Definition: c_new.c:208
void account_char_free(Account_Char *chars)
This frees all data associated with the character information.
Definition: account_char.c:332
int create_bomb(object *op, object *caster, int dir, object *spell)
Create a bomb.
Definition: spell_attack.c:447
void dead_player(object *op)
Kill a player on a permanent death server with resurrection.
Definition: resurrection.c:294
void command_spit(object *op, const char *params)
'spit' command.
Definition: c_chat.c:1183
const object * find_god(const char *name)
Returns pointer to specified god's object through pntr_to_god_obj().
Definition: gods.c:80
void cone_drop(object *op)
Drops an object based on what is in the cone's "other_arch".
Definition: spell_attack.c:265
int apply_race_and_class(object *op, archetype *race, archetype *opclass, living *stats)
This is somewhat like key_change_class() above, except we know the race to change to...
Definition: player.c:1450
void legacy_apply_container(object *op, object *sack)
Definition: apply.c:1689
int legal_range(object *op, int r)
Check for the validity of a player range.
Definition: c_range.c:264
void command_search(object *op, const char *params)
'search' command.
Definition: c_object.c:147
int player_can_view(object *pl, object *op)
Check the player los field for viewability of the object op.
Definition: player.c:4134
int path_to_player(object *mon, object *pl, unsigned mindiff)
Returns the direction to the player, if valid.
Definition: player.c:629
void command_dance(object *op, const char *params)
'dance' command.
Definition: c_chat.c:732
void free_quest(void)
Free all quest status structures.
Definition: quest.c:1289
void command_language(object *op, const char *params)
This is the 'language' command.
Definition: c_misc.c:85
int reflwall(mapstruct *m, int x, int y, object *sp_op)
Decides weither the (spell-)object sp_op will be reflected from the given mapsquare.
Definition: spell_util.c:511
void pets_terminate_all(object *owner)
Removes all pets someone owns.
Definition: pets.c:231
int recharge(object *op, object *caster, object *spell_ob)
Recharge wands.
Definition: spell_effect.c:79
void command_quest(object *op, const char *params)
Command handler for 'quest'.
Definition: quest.c:1154
int swap_map(mapstruct *map)
Swaps a map to disk.
Definition: swap.c:135
The archetype structure is a set of rules on how to generate and manipulate objects which point to ar...
Definition: object.h:465
void command_party(object *op, const char *params)
'party' command, subdivided in different sub commands.
Definition: c_party.c:116
void command_stats(object *op, const char *params)
Displays the statistics of a player.
Definition: c_wiz.c:1699
int plugin_event_say(object *npc, talk_info *talk)
Definition: plugins.c:375
void command_players(object *op, const char *params)
Display all known players.
Definition: c_misc.c:1149
void command_think(object *op, const char *params)
'think' command.
Definition: c_chat.c:1304
void command_stack_list(object *op, const char *params)
Displays stack contents.
Definition: c_wiz.c:2485
int cast_cone(object *op, object *caster, int dir, object *spell)
Casts a cone spell.
Definition: spell_attack.c:297
void check_active_maps(void)
Finds maps in memory to reset.
Definition: swap.c:195
void command_fire(object *op, const char *params)
Player wants to start furing.
Definition: c_new.c:187
void command_remove(object *op, const char *params)
Remove an object from its position.
Definition: c_wiz.c:1532
void cleanup(void)
Clean up everything and exit.
Definition: server.c:1137
void command_slap(object *op, const char *params)
'slap' command.
Definition: c_chat.c:1106
int cast_create_food(object *op, object *caster, object *spell_ob, int dir, const char *stringarg)
Create food.
Definition: spell_effect.c:605
void dump_quests(void)
Dump all of the quests, then calls exit() - useful in terms of debugging to make sure that quests are...
Definition: quest.c:1280
void command_reply(object *op, const char *params)
Reply to last person who told you something [mids 01/14/2002].
Definition: c_chat.c:335
void command_gsay(object *op, const char *params)
'gsay' command, talks to party.
Definition: c_party.c:71
void hiscore_display(object *op, int max, const char *match)
Displays the high score file.
Definition: hiscore.c:386
void command_unarmed_skill(object *op, const char *params)
Player wants to change prefered unarmed skill.
Definition: c_misc.c:1300
void check_bullet(object *op)
Checks to see what op should do, given the space it is on (eg, explode, damage player, etc).
Definition: spell_attack.c:217
void get_name(object *op)
Waiting for the player's name.
Definition: player.c:854
void command_peaceful(object *op, const char *params)
Player toggles her peaceful status.
Definition: c_misc.c:2073
void command_clap(object *op, const char *params)
'clap' command.
Definition: c_chat.c:941
void command_say(object *op, const char *params)
'say' command.
Definition: c_chat.c:34
void command_strings(object *op, const char *params)
Various string-related statistics.
Definition: c_misc.c:774
void command_brace(object *op, const char *params)
Player toggles her braced status.
Definition: c_misc.c:2121
void pets_control_golem(object *op, int dir)
Makes the golem go in specified direction.
Definition: pets.c:648
int use_alchemy(object *op)
Handle use_skill for alchemy-like items.
Definition: alchemy.c:1020
int apply_check_weapon_power(const object *who, int improves)
This checks to see of the player (who) is sufficient level to use a weapon with improves improvements...
Definition: apply.c:1057
void command_whistle(object *op, const char *params)
'whistle' command.
Definition: c_chat.c:1238
void command_cough(object *op, const char *params)
'cough' command.
Definition: c_chat.c:985
int probe(object *op, object *caster, object *spell_ob, int dir, int level)
Try to get information about a living thing.
Definition: spell_effect.c:683
void display_who_entry(object *op, player *pl, const char *format)
Display a line of 'who' to op, about pl, using the formatting specified by format.
Definition: c_misc.c:574
int trap_show(object *trap, object *where)
Handles showing a trap/rune detonation.
Definition: rune.c:407
void apply_changes_to_player(object *pl, object *change, int limit_stats)
Applies (race) changes to a player.
Definition: apply.c:1581
void knowledge_item_can_be_used_alchemy(object *op, const object *item)
Displays known alchemy recipes an item can be used in.
Definition: knowledge.c:1342
void command_invoke(object *op, const char *params)
'invoke' command, fires a spell immediately.
Definition: c_range.c:38
int move_to(object *op, int x, int y)
Move an object one square toward a specified destination on the same map.
Definition: move.c:545
int cast_item_curse_or_curse(object *op, object *caster, object *spell_ob)
This alters player's marked item's cursed or blessed status, based on the spell_ob's fields...
void flush_old_maps(void)
Removes tmp-files of maps which are going to be reset next time they are visited. ...
Definition: swap.c:294
int cast_curse(object *op, object *caster, object *spell_ob, int dir)
Curse an object, reducing its statistics.
Definition: spell_attack.c:800
int skill_throw(object *op, object *part, int dir, object *skill)
Throwing skill handling.
Definition: skills.c:2230
void command_fix_me(object *op, const char *params)
Wrapper to fix a player.
Definition: c_misc.c:1136
void command_dmtell(object *op, const char *params)
Private communication, by a DM (can't be ignored by player).
Definition: c_chat.c:319
int fire_swarm(object *op, object *caster, object *spell, int dir)
The following routine creates a swarm of objects.
void command_twiddle(object *op, const char *params)
'twiddle' command.
Definition: c_chat.c:1216
void command_shiver(object *op, const char *params)
'shiver' command.
Definition: c_chat.c:1084
int apply_by_living(object *pl, object *op, int aflag, int quiet)
Living thing is applying an object.
Definition: apply.c:557
int tick_length(float seconds)
Calculate the number of ticks that correspond to real time.
Definition: time.c:378
void command_bowmode(object *op, const char *params)
Player wants to change the bowmode, how arrows are fired.
Definition: c_misc.c:1239
void do_hidden_move(object *op)
For hidden creatures - a chance of becoming 'unhidden' every time they move - as we subtract off 'inv...
Definition: player.c:4025
void confuse_living(object *op, object *hitter, int dam)
Confuse a living thing.
Definition: attack.c:2221
void kill_player(object *op, const object *killer)
Handle a player's death.
Definition: player.c:3465
void command_goto(object *op, const char *params)
Wizard teleports to a map.
Definition: c_wiz.c:726
int account_is_logged_in(const char *name)
This checkes if an account is logged in.
Definition: account.c:629
void command_addexp(object *op, const char *params)
This adds exp to a player.
Definition: c_wiz.c:1613
void accounts_save(void)
Save all the account information.
Definition: account.c:267
int detect_curse_on_item(object *pl, object *tmp, object *skill)
Runs a 'detect curse' check on a given item.
Definition: skills.c:695
void command_wizpass(object *op, const char *params)
Wizard toggling wall-crossing.
Definition: c_misc.c:854
int cast_create_town_portal(object *op, object *caster, object *spell, int dir)
This function cast the spell of town portal for op.
void command_tell(object *op, const char *params)
Private communication.
Definition: c_chat.c:307
void key_change_class(object *op, char key)
This function takes the key that is passed, and does the appropriate action with it (change race...
Definition: player.c:1260
int knowledge_player_knows(const player *pl, const char *knowledge)
Determines whether a player knows a specific knowledge or not.
Definition: knowledge.c:1306
signed short int16_t
Definition: win32.h:160
void command_search_items(object *op, const char *params)
'search-items' command.
Definition: c_object.c:2018
void monster_npc_say(object *npc, const char *cp)
Simple function to have some NPC say something.
Definition: monster.c:2237
racelink * find_racelink(const char *name)
Find the race information for the specified name.
Definition: init.c:1374
int SP_level_wc_adjust(const object *caster, const object *spob)
Returns adjusted wc based on the caster and the spell.
Definition: spell_util.c:403
void command_sneeze(object *op, const char *params)
'sneeze' command.
Definition: c_chat.c:1139
Structure used to build up dialog information when a player says something.
Definition: dialog.h:51
object * find_target_for_friendly_spell(object *op, int dir)
This function is commonly used to find a friendly target for spells such as heal or protection or arm...
Definition: spell_util.c:856
void drain_rod_charge(object *rod)
Drain charges from a rod.
Definition: spell_util.c:819
int hide(object *op, object *skill)
Main hide handling.
Definition: skills.c:491
void command_setgod(object *op, const char *params)
Sets the god for some objects.
Definition: c_wiz.c:413
void command_laugh(object *op, const char *params)
'laugh' command.
Definition: c_chat.c:787
void receive_party_password(object *op)
Player entered a party password.
Definition: c_party.c:49
void command_hug(object *op, const char *params)
'hug' command.
Definition: c_chat.c:875
int monster_stand_in_light(object *op)
Determine if op stands in a lighted square.
Definition: monster.c:2462
void key_confirm_quit(object *op, char key)
We receive the reply to the 'quit confirmation' message.
Definition: player.c:1562
void monster_npc_call_help(object *op)
A monster calls for help against its enemy.
Definition: monster.c:1767
void command_run(object *op, const char *params)
Player wants to start running.
Definition: c_new.c:152
void command_archs(object *op, const char *params)
Archetype-related statistics.
Definition: c_misc.c:806
void get_password(object *op)
Waiting for the player's password.
Definition: player.c:866
void monster_check_apply_all(object *monster)
Calls monster_check_apply() for all inventory objects.
Definition: monster.c:1757
This is a game region.
Definition: map.h:276
object * hit_with_arrow(object *op, object *victim)
hit_with_arrow() disassembles the missile, attacks the victim and reassembles the missile...
Definition: attack.c:945
int plugins_init_plugin(const char *libfile)
Try to load the specified plugin.
Definition: plugins.c:607
void command_shake(object *op, const char *params)
'shake' command.
Definition: c_chat.c:809
char const * newhash(char const password[static 1])
Definition: server.c:87
void player_set_state(player *pl, uint8_t state)
Set the player's state to the specified one.
Definition: player.c:4457
Account_Char * account_char_remove(Account_Char *chars, const char *pl_name)
This removes a character on this account.
Definition: account_char.c:296
object * get_nearest_player(object *mon)
Finds the nearest visible player for some object.
Definition: player.c:520
int pets_should_arena_attack(object *pet, object *owner, object *target)
Determines if checks so pets don't attack players or other pets should be overruled by the arena petm...
Definition: pets.c:1152
void account_password(char *buf, int len, socket_struct *ns)
Handles the account password change.
Definition: request.c:2862
int cast_create_obj(object *op, object *new_op, int dir)
Creates object new_op in direction dir or if that is blocked, beneath the player (op).
Definition: spell_util.c:535
socket_struct * account_get_logged_in_init_socket(const char *name)
This is like the above routine, but checks the init_sockets (account in process of logging in)...
Definition: account.c:607
void party_send_message(object *op, const char *message)
Send a message to all party members except the speaker.
Definition: party.c:305
int summon_hostile_monsters(object *op, int n, const char *monstername)
Summons hostile monsters and places them in nearby squares.
Definition: spell_util.c:1047
int perceive_self(object *op)
Living thing wants to know information.
Definition: spell_effect.c:995
int sack_can_hold(const object *pl, const object *sack, const object *op, uint32_t nrof)
Check if an item op can be put into a sack.
Definition: c_object.c:257
void command_rotateshoottype(object *op, const char *params)
'rotateshoottype' command, switch range attack.
Definition: c_range.c:368
int SP_level_duration_adjust(const object *caster, const object *spob)
Adjust the duration of the spell based on level.
Definition: spell_util.c:353
void command_rskill(object *pl, const char *params)
'ready_skill' command.
Definition: c_object.c:115
void command_throw(object *op, const char *params)
'throw' command.
Definition: c_object.c:174
void command_applymode(object *op, const char *params)
Players wants to change the apply mode, ie how to handle applying an item when no body slot available...
Definition: c_misc.c:1198
int pets_summon_golem(object *op, object *caster, int dir, object *spob)
Summons a monster.
Definition: pets.c:672
void knowledge_read(player *pl, object *book)
Player is reading a book, give knowledge if needed, warn player, and such.
Definition: knowledge.c:1064
void set_first_map(object *op)
This loads the first map an puts the player on it.
Definition: player.c:398
void command_chat(object *op, const char *params)
'chat' command.
Definition: c_chat.c:220
void read_map_log(void)
Reads temporary maps information from disk.
Definition: swap.c:70
int cast_light(object *op, object *caster, object *spell, int dir)
Illuminates something on a map, or try to blind a living thing.
void command_northeast(object *op, const char *params)
'northeast' command.
Definition: c_move.c:79
void command_stack_push(object *op, const char *params)
Push specified item on stack.
Definition: c_wiz.c:2467
void command_apply(object *op, const char *params)
'apply' command.
Definition: c_object.c:195
void command_cointoss(object *op, const char *params)
'cointoss' command.
Definition: c_chat.c:64
void command_dumpallmaps(object *op, const char *params)
Various map-related statistics.
Definition: c_misc.c:975
void command_shout(object *op, const char *params)
'shout' command.
Definition: c_chat.c:209
long seconds(void)
Return wall clock time in seconds.
Definition: time.c:344
int write_mark(object *op, object *spell, const char *msg)
This writes a rune that contains the appropriate message.
void command_knowledge(object *pl, const char *params)
Handle the 'knowledge' for a player.
Definition: knowledge.c:1221
player * account_get_logged_in_player(const char *name)
This checks to see if the account is logged in with a player attached If so, it returns the player ob...
Definition: account.c:586
Account_Char * account_char_load(const char *account_name)
For a given account name, load the character information and return it.
Definition: account_char.c:79
void command_wizcast(object *op, const char *params)
Wizard toggling "cast everywhere" ability.
Definition: c_misc.c:884
void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator)
Inserts into map a spell effect based on other_arch.
Definition: spell_util.c:183
void command_showpets(object *op, const char *params)
Players wants to know her pets.
Definition: c_misc.c:1400
int hit_map(object *op, int dir, uint32_t type, int full_hit)
Attack a spot on the map.
Definition: attack.c:320
One character account.
Definition: account_char.h:26
void command_learn_spell(object *op, const char *params)
Wizard wants to learn a regular spell.
Definition: c_wiz.c:2311
int is_true_undead(object *op)
Is the object a true undead?
Definition: player.c:3961
void legacy_animate_trigger(object *op)
Definition: time.c:831
int execute_global_event(int eventcode,...)
Definition: main.c:369
void command_blush(object *op, const char *params)
'blush' command.
Definition: c_chat.c:952
void command_inventory(object *op, const char *params)
Shows the inventory or some item.
Definition: c_wiz.c:1335
int steal(object *op, int dir, object *skill)
Main stealing function.
Definition: skills.c:276
int teleport(object *teleporter, uint8_t tele_type, object *user)
Teleport an item around a nearby random teleporter of specified type.
Definition: move.c:188
int infect_object(object *victim, object *disease, int force)
Try to infect something with a disease.
Definition: disease.c:317
int monster_can_detect_enemy(object *op, object *enemy, rv_vector *rv)
Determine if we can 'detect' the enemy.
Definition: monster.c:2322
void command_party_rejoin(object *op, const char *params)
Handles the 'party_rejoin' command.
Definition: c_party.c:333
void pets_remove_all(void)
This function checks all pets so they try to follow their master around the world.
Definition: pets.c:257
void confirm_password(object *op)
Ask the player to confirm her password during creation.
Definition: player.c:980
void command_lock_item(object *op, const char *params)
Alternate way to lock/unlock items (command line).
Definition: c_object.c:2249
void command_teleport(object *op, const char *params)
Teleport next to target player.
Definition: c_wiz.c:930
void hiscore_check(object *op, int quiet)
Checks if player should enter the hiscore, and if so writes her into the list.
Definition: hiscore.c:302
void remove_locked_door(object *op)
Same as remove_door() but for locked doors.
Definition: time.c:63
void paralyze_living(object *op, int dam)
Paralyze a living thing.
Definition: attack.c:2304
int do_skill(object *op, object *part, object *skill, int dir, const char *string)
Main skills use function-similar in scope to cast_spell().
Definition: skill_util.c:429
int cftimer_destroy(int id)
Destroys an existing timer.
Definition: timers.c:128
int move_ob(object *op, int dir, object *originator)
Op is trying to move in direction dir.
Definition: move.c:58
player * get_player(player *p)
Create a player's object, initialize a player's structure.
Definition: player.c:280
void do_learn_spell(object *op, object *spell, int special_prayer)
Actually makes op learn spell.
Definition: apply.c:391
void cftimer_init(void)
Initialize timers.
Definition: timers.c:157
int plugins_remove_plugin(const char *id)
Unload the specified plugin.
Definition: plugins.c:698
void examine(object *op, object *tmp)
Player examines some object.
Definition: c_object.c:1424
void execute_newserver_command(object *pl, char *command)
Player issued a command, let's handle it.
Definition: c_new.c:83
int trap_see(object *op, object *trap)
Should op see trap?
Definition: rune.c:380
void player_unready_range_ob(player *pl, object *ob)
Unready an object for a player.
Definition: player.c:4439
int min_casting_level(const object *caster, const object *spell)
This function takes a caster and spell and presents the effective level the caster needs to be to cas...
Definition: spell_util.c:203
int user_event(object *op, object *activator, object *third, const char *message, int fix)
Definition: plugins.c:308
int op_on_battleground(object *op, int *x, int *y, archetype **trophy)
Check if the given object (usually a player) is standing on a battleground tile.
Definition: player.c:4232
int cast_detection(object *op, object *caster, object *spell)
Detect magic or invisible items.
void cast_magic_storm(object *op, object *tmp, int lvl)
This is really used mostly for spell fumbles and the like.
Definition: spell_effect.c:44
void command_west(object *op, const char *params)
'west' command.
Definition: c_move.c:134
object * find_marked_object(object *op)
Return the object the player has marked with the 'mark' command below.
Definition: c_object.c:1256
partylist * party_find(const char *partyname)
Find a party by name.
Definition: party.c:147
void command_snap(object *op, const char *params)
'snap' command.
Definition: c_chat.c:1128
void tick_the_clock(void)
This performs the basic function of advancing the clock one tick forward.
Definition: weather.c:96
void command_debug(object *op, const char *params)
Player wants to see/change the debug level.
Definition: c_misc.c:830
void knowledge_show_monster_detail(object *op, const char *name)
Display the details of a monster if the player knows them.
Definition: knowledge.c:1536
void do_harvest(object *pl, int dir, object *skill)
Player is trying to harvest something.
Definition: c_misc.c:2208
void command_snore(object *op, const char *params)
'snore' command.
Definition: c_chat.c:1172
int process_object(object *op)
Main object move function.
Definition: time.c:767
void init(int argc, char **argv)
This is the main server initialization function.
Definition: init.c:978
void command_lick(object *op, const char *params)
'lick' command.
Definition: c_chat.c:1062
void command_resistances(object *op, const char *params)
Players wants to know her resistances.
Definition: c_misc.c:1513
void command_follow(object *op, const char *params)
DM wants to follow a player, or stop following a player.
Definition: c_wiz.c:2721
int cast_wonder(object *op, object *caster, int dir, object *spell_ob)
wonder is really just a spell that will likely cast another spell.
Definition: spell_effect.c:961
void command_thank(object *op, const char *params)
'thank' command.
Definition: c_chat.c:1205
void command_dumpfriendlyobjects(object *op, const char *params)
Various friendly object-related statistics.
Definition: c_misc.c:926
void command_listen(object *op, const char *params)
Change the player's listen level.
Definition: c_misc.c:1014
void cleanupPlugins(void)
Call the crossfire_plugin::closefunc on the various plugins, used at server shutdown.
Definition: plugins.c:4775
void process_events(void)
Process all active objects.
Definition: server.c:967
void fix_luck(void)
Fixes luck of players, slowly move it towards 0.
Definition: player.c:3891
int cast_invisible(object *op, object *caster, object *spell_ob)
Makes the player or character invisible.
Definition: spell_effect.c:787
void emergency_save(int flag)
Save all players.
Definition: main.c:333
partylist * party_get_first(void)
Returns the first party from the list of all parties.
Definition: party.c:217
int write_rune(object *op, object *caster, object *spell, int dir, const char *runename)
Player is attempting to write a magical rune.
Definition: rune.c:50
void knowledge_process_incremental(void)
Incrementally send knowledge information to players, and remove information for players who left...
Definition: knowledge.c:1447
void delete_character(const char *name)
Totally deletes a character.
Definition: login.c:86
int cast_consecrate(object *op, object *caster, object *spell)
A spell to make an altar your god's.
void plugins_display_list(object *op)
Displays a list of loaded plugins (keystrings and description) in the game log window.
Definition: plugins.c:740
void give_initial_items(object *pl, treasurelist *items)
Gives a new player her initial items.
Definition: player.c:762
void command_kill_pets(object *op, const char *params)
Player wants to get rid of pets.
Definition: c_misc.c:2145
void put_object_in_sack(object *op, object *sack, object *tmp, uint32_t nrof)
Something tries to put an object into another.
Definition: c_object.c:678
void command_forget_spell(object *op, const char *params)
Command for players to forget a spell.
Definition: c_wiz.c:2336
int quest_get_player_state(player *pl, sstring quest_code)
Get the quest state for a player.
Definition: quest.c:1076
void command_unloadplugin(object *op, const char *params)
Unloads the given plugin.
Definition: c_wiz.c:2412
void command_purge_quest(object *op, const char *param)
Definition: c_wiz.c:2749
void command_sigh(object *op, const char *params)
'sigh' command.
Definition: c_chat.c:853
int fire_bow(object *op, object *arrow, int dir, int wc_mod, int16_t sx, int16_t sy)
Creature (monster or player) fires a bow.
Definition: player.c:2173
int ok_to_put_more(mapstruct *m, int16_t x, int16_t y, object *op, uint32_t immune_stop)
Returns true if it is ok to put spell op on the space/may provided.
Definition: spell_util.c:571
void explode_bullet(object *op)
Causes an object to explode, eg, a firebullet, poison cloud ball, etc.
Definition: spell_attack.c:121
int cast_transfer(object *op, object *caster, object *spell, int dir)
This spell transfers sp from the player to another person.
void quest_send_initial_states(player *pl)
Send the current quest states for the specified player, if the client supports those notifications...
Definition: quest.c:1346
void drop(object *op, object *tmp)
Drop an item, either on the floor or in a container.
Definition: c_object.c:910
int players_on_map(mapstruct *m, int show_all)
Returns the count of players on a map, calculated from player list.
Definition: swap.c:276
void skill_attack(object *tmp, object *pl, int dir, const char *string, object *skill)
Core routine for use when we attack using a skills system.
Definition: skill_util.c:1240
void knowledge_first_player_save(player *pl)
Ensure the knowledge state is correctly saved for the player.
Definition: knowledge.c:1431
void command_north(object *op, const char *params)
'north' command.
Definition: c_move.c:68
int dimension_door(object *op, object *caster, object *spob, int dir)
Teleport through some doors and space.
void command_poke(object *op, const char *params)
'poke' command.
Definition: c_chat.c:897
void command_help(object *op, const char *params)
Player is asking for some help.
Definition: c_misc.c:1706
int handle_newcs_player(object *op)
Handles commands the player can send us, and various checks on invisibility, golem and such...
Definition: player.c:3092
void fire(object *op, int dir)
Received a fire command for the player - go and do it.
Definition: player.c:2466
void map_info(object *op, const char *search)
This is the 'maps' command.
Definition: c_misc.c:45
void command_maps(object *op, const char *params)
'maps' command.
Definition: c_misc.c:762
signed __int64 int64_t
Definition: win32.h:168
void save_throw_object(object *op, uint32_t type, object *originator)
Object is attacked with some attacktype (fire, ice, ...).
Definition: attack.c:156
int cast_destruction(object *op, object *caster, object *spell_ob)
Hit all monsters around the caster.
Definition: spell_attack.c:707
void command_free(object *op, const char *params)
Totally free an object.
Definition: c_wiz.c:1579
static const flag_definition flags[]
Flag mapping.
void command_cry(object *op, const char *params)
'cry' command.
Definition: c_chat.c:886
void inventory(object *op, object *inv)
Prints object's inventory.
Definition: c_object.c:1694
void move_firewall(object *op)
Move for FIREWALL.
Definition: main.c:330
Account_Char * account_char_add(Account_Char *chars, player *pl)
This adds a player to the list of accounts.
Definition: account_char.c:192
void receive_player_name(object *op)
A player just entered her name.
Definition: c_misc.c:1887
void command_dropall(object *op, const char *params)
Command to drop all items that have not been locked.
Definition: c_object.c:972
void command_cackle(object *op, const char *params)
'cackle' command.
Definition: c_chat.c:776
int learn_skill(object *pl, object *scroll)
Player is trying to learn a skill.
Definition: skill_util.c:750
const char * sstring
Strings that should be manipulated through add_string() and free_string().
Definition: global.h:40
void command_ssdumptable(object *op, const char *params)
Various string-related statistics.
Definition: c_misc.c:950
void remove_unpaid_objects(object *op, object *env, int free_items)
This goes throws the inventory and removes unpaid objects, and puts them back in the map (location an...
Definition: player.c:3221
unsigned int uint32_t
Definition: win32.h:162
void dump_spells(void)
Dumps all the spells - now also dumps skill associated with the spell.
Definition: spell_util.c:146
void check_spells(void)
It goes through the spells looking for any obvious errors.
Definition: spell_util.c:109
int set_object_face_main(object *op)
Makes an object's face the main face, which is supposed to be the "closed" one.
Definition: apply.c:149
void store_spell_expiry(object *spell)
Stores in the spell when to warn player of expiration.
Definition: spell_util.c:2006
void server_main(int argc, char *argv[])
Server main function.
Definition: server.c:1390
void knowledge_send_known(player *pl)
Send initial known knowledge to player, if requested.
Definition: knowledge.c:1411
int tailor_god_spell(object *spellop, object *caster)
Changes the attributes of cone, smite, and ball spells as needed by the code.
Definition: gods.c:1328
int account_check_string(const char *str)
Checks a string to make sure it does not have any invalid characters.
Definition: account.c:368
void command_empty(object *op, const char *params)
'empty' command.
Definition: c_object.c:1186
int account_link(const char *account_name, const char *player_name)
Adds a player name to an account.
Definition: account.c:460
int pray(object *pl, object *skill)
Praying skill handling.
Definition: skills.c:1356
Represents one command.
Definition: commands.h:37
void command_sulk(object *op, const char *params)
'sulk' command.
Definition: c_chat.c:864
void command_banish(object *op, const char *params)
Add player's IP to ban_file and kick them off the server.
Definition: c_wiz.c:519
void command_run_stop(object *op, const char *params)
Player wants to stop running.
Definition: c_new.c:175
int cast_cause_disease(object *op, object *caster, object *spell, int dir)
Let's try to infect something.
void command_growl(object *op, const char *params)
'growl' command.
Definition: c_chat.c:831
void command_dmhide(object *op, const char *params)
A players wants to become DM and hide.
Definition: c_wiz.c:2440
int detect_magic_on_item(object *pl, object *tmp, object *skill)
Runs a 'detect magic' check on a given item.
Definition: skills.c:744
int cast_heal(object *op, object *caster, object *spell, int dir)
Heals something.
void quest_set_player_state(player *pl, sstring quest_code, int state)
Set the state of a quest for a player.
Definition: quest.c:1132
void command_southeast(object *op, const char *params)
'southeast' command.
Definition: c_move.c:112
void command_giggle(object *op, const char *params)
'giggle' command.
Definition: c_chat.c:798
void pray_at_altar(object *pl, object *altar, object *skill)
Player prays at altar.
Definition: gods.c:296
archetype * determine_holy_arch(const object *god, const char *type)
Determines the archetype for holy servant and god avatar.
Definition: gods.c:735
object * find_random_spell_in_ob(object *ob, const char *skill)
This returns a random spell from 'ob'.
Definition: spell_util.c:48
int become_follower(object *op, const object *new_god)
This function is called whenever a player has switched to a new god.
Definition: gods.c:466
void command_burp(object *op, const char *params)
'burp' command.
Definition: c_chat.c:963
int cast_create_missile(object *op, object *caster, object *spell, int dir, const char *stringarg)
Create a missile (nonmagic - magic +4).
Definition: spell_effect.c:498
int SP_level_range_adjust(const object *caster, const object *spob)
Adjust the range of the spell based on level.
Definition: spell_util.c:379
player * find_player_socket(const socket_struct *ns)
Return a player for a socket structure.
Definition: player.c:118
void command_mapinfo(object *op, const char *params)
'mapinfo' command.
Definition: c_misc.c:738
int cftimer_create(int id, long delay, object *ob, int mode)
Creates a new timer.
Definition: timers.c:97
void command_time(object *op, const char *params)
Players asks for the time.
Definition: c_misc.c:794
void party_obsolete_parties(void)
Remove unused parties (no players), this could be made to scale a lot better.
Definition: party.c:236
int onoff_value(const char *line)
Utility function to convert a reply to a yes/no or on/off value.
Definition: c_misc.c:1808
object * monster_find_throw_ob(object *op)
Find an item for the monster to throw.
Definition: monster.c:2283
int mood_change(object *op, object *caster, object *spell)
This covers the various spells that change the moods of monsters - makes them angry, peaceful, friendly, etc.
Definition: spell_attack.c:904
void command_take(object *op, const char *params)
This takes (picks up) and item.
Definition: c_object.c:585
void recursive_roll(object *op, int dir, object *pusher)
An object is pushed by another which is trying to take its place.
Definition: move.c:276
void set_spell_skill(object *op, object *caster, object *spob, object *dest)
Utility function to assign the correct skill when casting.
Definition: spell_util.c:94
void command_south(object *op, const char *params)
'south' command.
Definition: c_move.c:101
int remove_curse(object *op, object *caster, object *spell)
This function removes the cursed/damned status on equipped items.
void command_rename_item(object *op, const char *params)
Changing the custom name of an item.
Definition: c_object.c:2063
int apply_container(object *op, object *sack)
Handle apply on containers.
Definition: apply.c:216
void command_groan(object *op, const char *params)
'groan' command.
Definition: c_chat.c:1040
void clear_skill(object *who)
This function just clears the chosen_skill and range_skill values in the player.
Definition: skill_util.c:396
void account_char_save(const char *account, Account_Char *chars)
Saves the character information for the given account.
Definition: account_char.c:145
int cftimer_find_free_id(void)
Finds a free ID for a new timer.
Definition: timers.c:144
void command_mon_aggr(object *op, const char *params)
When DM is possessing a monster, flip aggression on and off, to allow better motion.
Definition: c_wiz.c:1405
void command_save(object *op, const char *params)
Player wants to get saved.
Definition: c_misc.c:2048
int cast_earth_to_dust(object *op, object *caster, object *spell_ob)
Basically destroys earthwalls in the area.
Definition: spell_effect.c:848
void destroy_object(object *op)
Recursively object_free_drop_inventory() op and its inventory.
Definition: login.c:190
void command_stack_clear(object *op, const char *params)
Empty DM item stack.
Definition: c_wiz.c:2515
void command_northwest(object *op, const char *params)
'northwest' command.
Definition: c_move.c:90
void quest_first_player_save(player *pl)
Ensure the quest state is correctly saved for a player.
Definition: quest.c:1407
int singing(object *pl, int dir, object *skill)
Singing skill handling.
Definition: skills.c:1119
void check_login(object *op, int check_pass)
Actually login a player, load from disk and such.
Definition: login.c:494
void command_kiss(object *op, const char *params)
'kiss' command.
Definition: c_chat.c:743
void command_listplugins(object *op, const char *params)
Lists all plugins currently loaded with their IDs and full names.
Definition: c_wiz.c:2364
void command_dumpbelow(object *op, const char *params)
Player wants to dump object below her.
Definition: c_wiz.c:2767
void command_shutdown(object *op, const char *params)
Totally shutdowns the server.
Definition: c_wiz.c:674
void command_overlay_reset(object *op, const char *params)
Removes the overlay for op's current map.
Definition: c_wiz.c:605
void current_region_info(object *op)
'whereami' command.
Definition: c_misc.c:341
void command_disarm(object *op, const char *params)
'disarm' command.
Definition: c_object.c:159
void current_map_info(object *op)
'mapinfo' command.
Definition: c_misc.c:363
void check_physically_infect(object *victim, object *hitter)
Possibly infect due to direct physical contact i.e., AT_PHYSICAL.
Definition: disease.c:663
int fire_bolt(object *op, object *caster, int dir, object *spob)
Cast a bolt-like spell.
Definition: spell_attack.c:61
void party_join(object *op, partylist *party)
Makes a player join a party.
Definition: party.c:84
int transport_can_hold(const object *transport, const object *op, int nrof)
Can transport hold object op? This is a pretty trivial function, but in the future, possible transport may have more restrictions or weight reduction like containers.
Definition: apply.c:54
int move_object(object *op, int dir)
Try to move op in the direction "dir".
Definition: move.c:39
void command_bleed(object *op, const char *params)
'bleed' command.
Definition: c_chat.c:1282
void command_orcknuckle(object *op, const char *params)
Plays the "orcknucke" game.
Definition: c_chat.c:107
int execute_event(object *op, int eventcode, object *activator, object *third, const char *message, int fix)
Definition: main.c:364
void monster_check_doors(object *op, mapstruct *m, int x, int y)
Living creature attempts to open a door.
Definition: monster.c:2022
void scroll_failure(object *op, int failure, int power)
op made some mistake with a scroll, this takes care of punishment.
Definition: apply.c:1509
void command_possess(object *op, const char *params)
DM can possess a monster.
Definition: c_wiz.c:1431
void init_commands(void)
Sorts the command arrays for easy search through bsearch().
Definition: commands.c:286
void apply_auto_fix(mapstruct *m)
Go through the entire map (only the first time when an original map is loaded) and performs special a...
Definition: main.c:261
void cftimer_process_timers(void)
Processes all timers.
Definition: timers.c:44
int find_traps(object *pl, object *skill)
Checks for traps on the spaces around the player or in certain objects.
Definition: skills.c:1212
void command_nowiz(object *op, const char *params)
Steps down from wizard mode.
Definition: c_wiz.c:1995
int hideability(object *ob)
Look at the surrounding terrain to determine the hideability of this object.
Definition: player.c:3984
void list_players(object *op, region *reg, partylist *party)
Displays the players in a region or party.
Definition: c_misc.c:484
void get_who_escape_code_value(char *return_val, int size, const char letter, player *pl)
Returns the value of the escape code used in the who format specifier.
Definition: c_misc.c:630
void send_news(const object *op)
Send the news to a player.
Definition: player.c:201
void apply_builder_remove(object *pl, int dir)
Item remover.
Definition: build_map.c:889
void receive_play_again(object *op, char key)
Player replied to play again / disconnect.
Definition: player.c:930
int fire_arch_from_position(object *op, object *caster, int16_t x, int16_t y, int dir, object *spell)
Fires an archetype.
Definition: spell_util.c:672
void command_printlos(object *op, const char *params)
Various LOS-related statistics.
Definition: c_misc.c:987
void monster_check_earthwalls(object *op, mapstruct *m, int x, int y)
Living creature attempts to hit an earthwall.
Definition: monster.c:2006
void command_mark(object *op, const char *params)
'mark' command, to mark an item for some effects (enchant armor, ...).
Definition: c_object.c:1289
void command_hide(object *op, const char *params)
Wizard 'hide' command.
Definition: c_wiz.c:385
int party_confirm_password(const partylist *party, const char *password)
Checks whether a given password matches the party's password.
Definition: party.c:290
void send_rules(const object *op)
Send the rules to a player.
Definition: player.c:165
int alchemy(object *op, object *caster, object *spell_ob)
Change items to gold nuggets.
void link_player_skills(object *op)
This function goes through the player inventory and sets up the last_skills[] array in the player obj...
Definition: skill_util.c:112
int playername_ok(const char *cp)
Is the player name valid.
Definition: player.c:252
void accounts_clear(void)
This is used purely by the test harness - by clearing the accounts, it can then verify that the data ...
Definition: account.c:112
void initPlugins(void)
Plugins initialization.
Definition: plugins.c:4725
void counterspell(object *op, int dir)
Nullifies spell effects.
void command_hiccup(object *op, const char *params)
'hiccup' command.
Definition: c_chat.c:1051
int animate_weapon(object *op, object *caster, object *spell, int dir)
Generalization of staff_to_snake().
void command_frown(object *op, const char *params)
'frown' command.
Definition: c_chat.c:1007
int use_oratory(object *pl, int dir, object *skill)
Oratory skill handling.
Definition: skills.c:965
void monster_do_living(object *op)
For a monster, regenerate hp and sp, potentially clear scared status.
Definition: monster.c:500
void command_rules(object *op, const char *params)
Display the server rules.
Definition: c_misc.c:181
void dragon_ability_gain(object *who, int atnr, int level)
When a dragon-player gains a new stage of evolution, he gets some treasure.
Definition: main.c:345
void command_pickup(object *op, const char *params)
'pickup' command.
Definition: c_object.c:1884
void make_visible(object *op)
Makes an object visible again.
Definition: player.c:3941
void roll_stats(object *op)
Roll the initial player's statistics.
Definition: player.c:1038
void free_knowledge(void)
Free all knowledge data.
Definition: knowledge.c:1288
int pets_summon_object(object *op, object *caster, object *spell_ob, int dir, const char *stringarg)
General purpose summoning function.
Definition: pets.c:935
int transfer_ob(object *op, int x, int y, int randomly, object *originator)
Move an object (even linked objects) to another spot on the same map.
Definition: move.c:144
char ** account_get_players_for_account(const char *account_name)
Returns an array of strings for the characters on this account - the array is null terminated...
Definition: account.c:542
void command_sound(object *op, const char *params)
Player wants to change sound status.
Definition: c_misc.c:1865
void command_loadtest(object *op, const char *params)
This command will stress server.
Definition: c_wiz.c:305
object * find_key(object *pl, object *container, object *door)
We try to find a key for the door as passed.
Definition: player.c:2538
void command_cast_spell(object *op, const char *params, char command)
Sets up to cast a spell.
Definition: c_range.c:159
int cast_change_map_lightlevel(object *op, object *caster, object *spell)
This changes the light level for the entire map.
void rod_adjust(object *rod)
Adjusts rod attributes.
Definition: main.c:361
void command_patch(object *op, const char *params)
Wizard wants to altar an object.
Definition: c_wiz.c:1492
void apply_map_builder(object *pl, int dir)
Global building function.
Definition: build_map.c:959
void knowledge_send_info(socket_struct *ns)
Send the reply_info for 'knowledge_info'.
Definition: knowledge.c:1382
void set_darkness_map(mapstruct *m)
Set the darkness level for a map, based on the time of the day.
Definition: main.c:348
object * find_skill_by_number(object *who, int skillno)
This returns the skill pointer of the given name (the one that accumulates exp, has the level...
Definition: main.c:351
void command_dumpallobjects(object *op, const char *params)
Various object-related statistics.
Definition: c_misc.c:914
This is a game-map.
Definition: map.h:325
object * pets_get_enemy(object *pet, rv_vector *rv)
Given that 'pet' is a friendly object, this function returns a monster the pet should attack...
Definition: pets.c:57
partylist * party_form(object *op, const char *partyname)
Forms the party struct for a party called 'partyname'.
Definition: party.c:40
int use_skill(object *op, const char *string)
Similar to invoke command, it executes the skill in the direction that the user is facing...
Definition: skill_util.c:924
void command_southwest(object *op, const char *params)
'southwest' command.
Definition: c_move.c:123
void command_afk(object *op, const char *params)
Toggles the afk status of a player.
Definition: c_misc.c:706
int should_director_abort(const object *op, const object *victim)
Check if op should abort moving victim because of it's race or slaying.
Definition: apply.c:68
void free_server(void)
Frees all memory allocated around here:
Definition: init.c:1018
void command_whereami(object *op, const char *params)
'whereami' command.
Definition: c_misc.c:750
void command_news(object *op, const char *params)
Display the server news.
Definition: c_misc.c:193
void command_accuse(object *op, const char *params)
'accuse' command.
Definition: c_chat.c:908
int spell_find_dir(mapstruct *m, int x, int y, object *exclude)
Search what direction a spell should go in, first the center square then some close squares in the gi...
Definition: spell_util.c:929
void command_usekeys(object *op, const char *params)
Player wants to change how keys are used.
Definition: c_misc.c:1472
int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit)
Object is attacked by something.
Definition: attack.c:1861
void move_player_attack(object *op, int dir)
The player is also actually going to try and move (not fire weapons).
Definition: player.c:2690
void hiscore_init(void)
Initializes the module.
Definition: hiscore.c:284
int write_on_item(object *pl, const char *params, object *skill)
Implement the 'inscription' skill, which checks for the required skills and marked items before runni...
Definition: skills.c:1735
void command_shrug(object *op, const char *params)
'shrug' command.
Definition: c_chat.c:1095
void command_toggle_shout(object *op, const char *params)
A simple toggle for the no_shout field.
Definition: c_wiz.c:630
void enter_player_savebed(object *op)
This is a basic little function to put the player back to his savebed.
Definition: server.c:118
object * monster_find_nearest_living_creature(object *npc)
Returns the nearest living creature (monster or generator).
Definition: monster.c:152
void command_uskill(object *pl, const char *params)
'use_skill' command.
Definition: c_object.c:98
void command_dumpmap(object *op, const char *params)
Various map-related statistics.
Definition: c_misc.c:962
object * drop_object(object *op, object *tmp, uint32_t nrof)
Try to drop an object on the floor.
Definition: c_object.c:814
void command_beg(object *op, const char *params)
'beg' command.
Definition: c_chat.c:1271
player * find_player_partial_name(const char *plname)
Find a player by a partial name.
Definition: player.c:109
void meditate(object *pl, object *skill)
Meditation skill handling.
Definition: skills.c:1404
int quest_was_completed(player *pl, sstring quest_code)
Check if a quest was completed once for a player, without taking account the current state...
Definition: quest.c:1142
object * find_skill_by_name(object *who, const char *name)
This returns the skill pointer of the given name (the one that accumulates exp, has the level...
Definition: skill_util.c:213
void command_purge_quest_definitions(object *op, const char *param)
Definition: c_wiz.c:2754
void command_petmode(object *op, const char *params)
Player wants to change how her pets behave.
Definition: c_misc.c:1356
void init_ob_methods(void)
Initializes the ob_method system.
Definition: ob_methods.c:35
int cast_identify(object *op, object *caster, object *spell)
Identifies objects in the players inventory/on the ground.
void command_me(object *op, const char *params)
'me' command.
Definition: c_chat.c:47
void change_object(object *op)
Replaces op with its other_arch if it has reached its end of life.
Definition: time.c:583
void pets_move_golem(object *op)
Handles a golem's movement.
Definition: pets.c:534
int check_race_and_class(living *stats, archetype *race, archetype *opclass)
This checks to see if the race and class are legal.
Definition: player.c:1400
void command_statistics(object *pl, const char *params)
Prints out some useful information for the character.
Definition: c_misc.c:1045
int get_party_password(object *op, partylist *party)
Ask the player for the password of the party she wants to join.
Definition: player.c:996
int dispel_rune(object *op, object *caster, object *spell, object *skill, int dir)
Someone is trying to disarm a rune.
Definition: rune.c:299
void command_kick(object *op, const char *params)
Kicks a player from the server.
Definition: c_wiz.c:573
int create_aura(object *op, object *caster, object *spell)
Create an aura spell object and put it in the player's inventory.
void command_who(object *op, const char *params)
'who' command.
Definition: c_misc.c:557
object * fix_stopped_arrow(object *op)
An ARROW stops moving.
Definition: time.c:507
int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg)
Main dispatch when someone casts a spell.
Definition: spell_util.c:1471
void command_drop(object *op, const char *params)
'drop' command.
Definition: c_object.c:1096
void command_puke(object *op, const char *params)
'puke' command.
Definition: c_chat.c:820
int cast_polymorph(object *op, object *caster, object *spell_ob, int dir)
Polymorph spell casting.
Definition: spell_effect.c:430
void init_skills(void)
This just sets up the skill_names table above.
Definition: skill_util.c:67
void command_wink(object *op, const char *params)
'wink' command.
Definition: c_chat.c:1249
int magic_wall(object *op, object *caster, int dir, object *spell_ob)
This creates magic walls.
void display_motd(const object *op)
Sends the message of the day to the player.
Definition: player.c:134
int confirm_party_password(object *op)
Is the password the player entered to join a party the right one?
Definition: c_party.c:36