Crossfire Server, Trunk
sproto.h
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 void account_logout(const char *account_name);
8 int account_check_string(const char *str);
9 int account_new(const char *account_name, const char *account_password);
10 int account_link(const char *account_name, const char *player_name);
11 int account_remove_player(const char *account_name, const char *player_name);
12 char **account_get_players_for_account(const char *account_name);
13 linked_char *account_get_additional_chars(const char *account_name, const Account_Chars *chars, int *count);
14 const char *account_get_account_for_char(const char *charname);
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_Chars *account_char_load(const char *account_name);
19 void account_char_save(Account_Chars *chars);
21 void account_char_remove(Account_Chars *chars, const char *pl_name);
22 void account_char_free(Account_Chars *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, int aflags);
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);
41 void scroll_failure(object *op, int failure, int power);
42 void apply_changes_to_player(object *pl, object *change, int limit_stats);
43 /* attack.c */
44 void save_throw_object(object *op, uint32_t type, object *originator);
45 int slow_living_by(object *op, const int speed_penalty);
46 int hit_map(object *op, int dir, uint32_t type, int full_hit);
47 void get_attack_message_for_attack_type(int dam, uint8_t atm_type, const char *victim_name, char *buf1, char *buf2);
48 int attack_ob(object *op, object *hitter);
49 object *hit_with_arrow(object *op, object *victim);
50 int friendly_fire(object *op, object *hitter);
51 int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit);
52 void confuse_living(object *op, object *hitter, int dam);
53 void blind_living(object *op, object *hitter, int dam);
54 void paralyze_living(object *op, int dam);
55 /* ban.c */
56 int checkbanned(const char *login, const char *host);
57 /* build_map.c */
58 void apply_builder_remove(object *pl, int dir);
59 void apply_map_builder(object *pl, int dir);
60 /* c_chat.c */
61 void command_say(object *op, const char *params);
62 void command_me(object *op, const char *params);
63 void command_cointoss(object *op, const char *params);
64 void command_orcknuckle(object *op, const char *params);
65 void command_shout(object *op, const char *params);
66 void command_chat(object *op, const char *params);
67 void command_tell(object *op, const char *params);
68 void command_dmtell(object *op, const char *params);
69 void command_reply(object *op, const char *params);
70 void command_nod(object *op, const char *params);
71 void command_dance(object *op, const char *params);
72 void command_kiss(object *op, const char *params);
73 void command_bounce(object *op, const char *params);
74 void command_smile(object *op, const char *params);
75 void command_cackle(object *op, const char *params);
76 void command_laugh(object *op, const char *params);
77 void command_giggle(object *op, const char *params);
78 void command_shake(object *op, const char *params);
79 void command_puke(object *op, const char *params);
80 void command_growl(object *op, const char *params);
81 void command_scream(object *op, const char *params);
82 void command_sigh(object *op, const char *params);
83 void command_sulk(object *op, const char *params);
84 void command_hug(object *op, const char *params);
85 void command_cry(object *op, const char *params);
86 void command_poke(object *op, const char *params);
87 void command_accuse(object *op, const char *params);
88 void command_grin(object *op, const char *params);
89 void command_bow(object *op, const char *params);
90 void command_clap(object *op, const char *params);
91 void command_blush(object *op, const char *params);
92 void command_burp(object *op, const char *params);
93 void command_chuckle(object *op, const char *params);
94 void command_cough(object *op, const char *params);
95 void command_flip(object *op, const char *params);
96 void command_frown(object *op, const char *params);
97 void command_gasp(object *op, const char *params);
98 void command_glare(object *op, const char *params);
99 void command_groan(object *op, const char *params);
100 void command_hiccup(object *op, const char *params);
101 void command_lick(object *op, const char *params);
102 void command_pout(object *op, const char *params);
103 void command_shiver(object *op, const char *params);
104 void command_shrug(object *op, const char *params);
105 void command_slap(object *op, const char *params);
106 void command_smirk(object *op, const char *params);
107 void command_snap(object *op, const char *params);
108 void command_sneeze(object *op, const char *params);
109 void command_snicker(object *op, const char *params);
110 void command_sniff(object *op, const char *params);
111 void command_snore(object *op, const char *params);
112 void command_spit(object *op, const char *params);
113 void command_strut(object *op, const char *params);
114 void command_thank(object *op, const char *params);
115 void command_twiddle(object *op, const char *params);
116 void command_wave(object *op, const char *params);
117 void command_whistle(object *op, const char *params);
118 void command_wink(object *op, const char *params);
119 void command_yawn(object *op, const char *params);
120 void command_beg(object *op, const char *params);
121 void command_bleed(object *op, const char *params);
122 void command_cringe(object *op, const char *params);
123 void command_think(object *op, const char *params);
124 /* c_misc.c */
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 command_whereabouts(object *op, const char *params);
131 void list_players(object *op, region *reg, partylist *party);
132 void command_who(object *op, const char *params);
133 void command_afk(object *op, const char *params);
134 void command_malloc(object *op, const char *params);
135 void command_mapinfo(object *op, const char *params);
136 void command_whereami(object *op, const char *params);
137 void command_maps(object *op, const char *params);
138 void command_strings(object *op, const char *params);
139 void command_time(object *op, const char *params);
140 void command_archs(object *op, const char *params);
141 void command_hiscore(object *op, const char *params);
142 void command_debug(object *op, const char *params);
143 void command_wizpass(object *op, const char *params);
144 void command_wizcast(object *op, const char *params);
145 void command_dumpallobjects(object *op, const char *params);
146 void command_dumpfriendlyobjects(object *op, const char *params);
147 void command_dumpallarchetypes(object *op, const char *params);
148 void command_ssdumptable(object *op, const char *params);
149 void command_dumpmap(object *op, const char *params);
150 void command_dumpallmaps(object *op, const char *params);
151 void command_printlos(object *op, const char *params);
152 void command_version(object *op, const char *params);
153 void command_listen(object *op, const char *params);
154 void command_statistics(object *pl, const char *params);
155 void command_fix_me(object *op, const char *params);
156 void command_players(object *op, const char *params);
157 void command_applymode(object *op, const char *params);
158 void command_bowmode(object *op, const char *params);
159 void command_unarmed_skill(object *op, const char *params);
160 void command_petmode(object *op, const char *params);
161 void command_showpets(object *op, const char *params);
162 void command_usekeys(object *op, const char *params);
163 void command_resistances(object *op, const char *params);
164 void command_help(object *op, const char *params);
165 void command_delete(object *op, const char *params);
166 void command_quit(object *op, const char *params);
167 void command_sound(object *op, const char *params);
168 void receive_player_name(object *op, const char *name);
169 void receive_player_password(object *op, const char *password);
170 void command_title(object *op, const char *params);
171 void command_save(object *op, const char *params);
172 void command_peaceful(object *op, const char *params);
173 void command_wimpy(object *op, const char *params);
174 void command_brace(object *op, const char *params);
175 void command_kill_pets(object *op, const char *params);
176 void command_passwd(object *pl, const char *params);
177 void do_harvest(object *pl, int dir, object *skill);
178 /* c_move.c */
179 void command_east(object *op, const char *params);
180 void command_north(object *op, const char *params);
181 void command_northeast(object *op, const char *params);
182 void command_northwest(object *op, const char *params);
183 void command_south(object *op, const char *params);
184 void command_southeast(object *op, const char *params);
185 void command_southwest(object *op, const char *params);
186 void command_west(object *op, const char *params);
187 void command_stay(object *op, const char *params);
188 void do_goto(object *op, const char *name, int x, int y);
189 /* c_new.c */
190 void command_run(object *op, const char *params);
191 void command_run_stop(object *op, const char *params);
192 void command_fire(object *op, const char *params);
193 void command_fire_stop(object *op, const char *params);
194 void command_face(object *op, const char *params);
195 /* c_object.c */
196 void command_uskill(object *pl, const char *params);
197 void command_rskill(object *pl, const char *params);
198 void command_search(object *op, const char *params);
199 void command_disarm(object *op, const char *params);
200 void command_throw(object *op, const char *params);
201 void command_apply(object *op, const char *params);
202 int sack_can_hold(const object *pl, const object *sack, const object *op, uint32_t nrof);
203 void pick_up(object *op, object *alt);
204 void command_take(object *op, const char *params);
205 void put_object_in_sack(object *op, object *sack, object *tmp, uint32_t nrof);
206 object *drop_object(object *op, object *tmp, uint32_t nrof);
207 void drop(object *op, object *tmp);
208 void command_dropall(object *op, const char *params);
209 void command_drop(object *op, const char *params);
210 void command_empty(object *op, const char *params);
211 void command_examine(object *op, const char *params);
212 object *find_marked_object(object *op);
213 void command_mark(object *op, const char *params);
214 void examine_monster(object *op, object *tmp, int level);
215 void examine(object *op, object *tmp);
216 void inventory(object *op, object *inv);
217 void command_pickup(object *op, const char *params);
218 void command_search_items(object *op, const char *params);
219 void command_rename_item(object *op, const char *params);
220 void command_lock_item(object *op, const char *params);
221 void command_use(object *op, const char *params);
222 /* c_party.c */
223 void receive_party_password(object *op, const char *password);
224 void command_gsay(object *op, const char *params);
225 void command_party(object *op, const char *params);
226 void command_party_rejoin(object *op, const char *params);
227 /* c_range.c */
228 void command_invoke(object *op, const char *params);
229 void command_cast(object *op, const char *params);
230 void command_cast_spell(object *op, const char *params, int cast_now);
231 int legal_range(object *op, int r);
232 void command_rotateshoottype(object *op, const char *params);
233 /* c_wiz.c */
234 void command_loadtest(object *op, const char *params);
235 void command_hide(object *op, const char *params);
236 void command_setgod(object *op, const char *params);
237 void command_banish(object *op, const char *params);
238 void command_kick(object *op, const char *params);
239 void command_overlay_save(object *op, const char *params);
240 void command_overlay_reset(object *op, const char *params);
241 void command_toggle_shout(object *op, const char *params);
242 void command_shutdown(object *op, const char *params);
243 void command_goto(object *op, const char *params);
244 void command_freeze(object *op, const char *params);
245 int player_arrest(object *who);
246 void command_arrest(object *op, const char *params);
247 void command_summon(object *op, const char *params);
248 void command_teleport(object *op, const char *params);
249 void command_create(object *op, const char *params);
250 void command_inventory(object *op, const char *params);
251 void command_skills(object *op, const char *params);
252 void command_dump(object *op, const char *params);
253 void command_mon_aggr(object *op, const char *params);
254 void command_possess(object *op, const char *params);
255 void command_patch(object *op, const char *params);
256 void command_recollect(object *op, const char *params);
257 void command_remove(object *op, const char *params);
258 void command_free(object *op, const char *params);
259 void command_accountpasswd(object *op, const char *params);
260 void command_addexp(object *op, const char *params);
261 void command_speed(object *op, const char *params);
262 void command_stats(object *op, const char *params);
263 void command_abil(object *op, const char *params);
264 void command_reset(object *op, const char *params);
265 void command_nowiz(object *op, const char *params);
266 void command_dm(object *op, const char *params);
267 void command_invisible(object *op, const char *params);
268 void command_learn_spell(object *op, const char *params);
269 void command_learn_special_prayer(object *op, const char *params);
270 void command_forget_spell(object *op, const char *params);
271 void command_listplugins(object *op, const char *params);
272 void command_loadplugin(object *op, const char *params);
273 void command_unloadplugin(object *op, const char *params);
274 void command_dmhide(object *op, const char *params);
275 void command_stack_pop(object *op, const char *params);
276 void command_stack_push(object *op, const char *params);
277 void command_stack_list(object *op, const char *params);
278 void command_stack_clear(object *op, const char *params);
279 void command_diff(object *op, const char *params);
280 void command_insert_into(object *op, const char *params);
281 void command_style_map_info(object *op, const char *params);
282 void command_follow(object *op, const char *params);
283 void command_purge_quest(object *op, const char *param);
284 void command_purge_quest_definitions(object *op, const char *param);
285 void command_dumpabove(object *op, const char *params);
286 void command_dumpbelow(object *op, const char *params);
287 void command_settings(object *op, const char *ignored);
288 void do_dump(object *who, object *what);
289 bool can_follow(object* op, player* other);
290 /* commands.c */
291 void commands_init(void);
292 void command_list(object *pl, bool is_dm);
293 void command_execute(object *pl, char *command);
294 command_registration command_register(const char *name, uint8_t type, command_function func, float time);
295 command_registration command_register_extra(const char *name, const char *extra, uint8_t type, command_function_extra func, float time);
297 void commands_clear();
298 /* disease.c */
299 int move_disease(object *disease);
300 int infect_object(object *victim, object *disease, int force);
301 void move_symptom(object *symptom);
302 void check_physically_infect(object *victim, object *hitter);
303 int cure_disease(object *sufferer, object *caster, sstring skill);
304 /* hiscore.c */
305 void hiscore_init(void);
306 void hiscore_check(object *op, int quiet);
307 void hiscore_display(object *op, int max, const char *match);
308 /* gods.c */
309 const char *determine_god(object *op);
310 void pray_at_altar(object *pl, object *altar, object *skill);
311 int become_follower(object *op, const object *new_god);
312 archetype *determine_holy_arch(const object *god, const char *type);
313 int tailor_god_spell(object *spellop, object *caster);
314 /* init.c */
315 void init(int argc, char **argv);
316 void free_server(void);
318 void close_modules();
319 void init_signals();
320 /* knowledge.c */
321 void knowledge_give(player *pl, const char *marker, const object *book);
322 void knowledge_read(player *pl, object *book);
323 void command_knowledge(object *pl, const char *params);
324 void free_knowledge(void);
325 int knowledge_player_knows(const player *pl, const char *knowledge);
326 void knowledge_item_can_be_used_alchemy(object *op, const object *item);
331 void knowledge_add_probe_monster(object *op, object *mon);
332 /* login.c */
333 void emergency_save(int flag);
334 void delete_character(const char *name);
335 int verify_player(const char *name, char *password);
336 int check_name(player *me, const char *name);
337 void destroy_object(object *op);
338 int save_player(object *op, int flag);
339 void check_login(object *op, const char *password);
340 /* monster.c */
341 object *monster_check_enemy(object *npc, rv_vector *rv);
342 object *monster_find_nearest_enemy(object *npc, object *owner);
343 int monster_compute_path(object *source, object *target, int default_dir);
344 void monster_do_living(object *op);
345 int monster_move(object *op);
346 void monster_check_apply_all(object *monster);
347 void monster_npc_call_help(object *op);
348 void monster_check_earthwalls(object *op, mapstruct *m, int x, int y);
349 void monster_check_doors(object *op, mapstruct *m, int x, int y);
350 void monster_do_say(const mapstruct *map, const char *message);
351 void monster_communicate(object *op, const char *txt);
352 void monster_npc_say(object *npc, const char *cp);
353 object *monster_find_throw_ob(object *op);
354 int monster_can_detect_enemy(object *op, object *enemy, rv_vector *rv);
355 int monster_stand_in_light(object *op);
356 int monster_can_see_enemy(object *op, object *enemy);
357 const char *get_reply_text_own(reply_type rt);
358 /* move.c */
359 int move_object(object *op, int dir);
360 int move_ob(object *op, int dir, object *originator);
361 int transfer_ob(object *op, int x, int y, int randomly, object *originator);
362 int teleport(object *teleporter, uint8_t tele_type, object *user);
363 void recursive_roll(object *op, int dir, object *pusher);
364 int push_ob(object *who, int dir, object *pusher);
365 int move_to(object *op, int x, int y);
366 int object_teleport(object *op, mapstruct *map, int x, int y);
367 /* ob_methods.c */
368 void init_ob_methods(void);
369 /* ob_types.c */
370 void register_all_ob_types(void);
371 /* party.c */
372 partylist *party_form(object *op, const char *partyname);
373 void party_join(object *op, partylist *party);
374 void party_leave(object *op);
375 partylist *party_find(const char *partyname);
376 void party_remove(partylist *party);
378 partylist *party_get_next(const partylist *party);
379 void party_obsolete_parties(void);
380 const char *party_get_password(const partylist *party);
381 void party_set_password(partylist *party, const char *password);
382 int party_confirm_password(const partylist *party, const char *password);
383 void party_send_message(object *op, const char *message);
384 const char *party_get_leader(const partylist *party);
385 /* pets.c */
386 object *pets_get_enemy(object *pet, rv_vector *rv);
387 void pets_terminate_all(object *owner);
388 void pets_attempt_follow(object *for_owner, int force);
389 void pets_follow_owner(object *ob, object *owner);
390 void pets_move(object *ob);
391 void pets_move_golem(object *op);
392 void pets_control_golem(object *op, int dir);
393 int pets_summon_golem(object *op, object *caster, int dir, object *spob);
394 int pets_summon_object(object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
395 int pets_should_arena_attack(object *pet, object *owner, object *target);
396 /* player.c */
397 player *find_player(const char *plname);
398 player *find_player_options(const char *plname, int options, const mapstruct *map);
399 player *find_player_partial_name(const char *plname);
401 void display_motd(const object *op);
402 void send_rules(const object *op);
403 void send_news(const object *op);
404 int playername_ok(const char *cp);
406 void set_first_map(object *op);
409 object *get_nearest_criminal(object *mon);
410 object *get_nearest_player(object *mon);
411 int path_to_player(object *mon, object *pl, unsigned mindiff);
412 void give_initial_items(object *pl, treasurelist *items);
413 void get_name(object *op);
414 void get_password(object *op);
415 void play_again(object *op);
416 void receive_play_again(object *op, char key);
417 void confirm_password(object *op);
418 int get_party_password(object *op, partylist *party);
419 int roll_stat(void);
420 void roll_stats(object *op);
421 void roll_again(object *op);
422 void key_roll_stat(object *op, char key);
423 void key_change_class(object *op, char key);
424 int check_race_and_class(living *stats, archetype *race, archetype *opclass);
425 int apply_race_and_class(object *op, archetype *race, archetype *opclass, living *stats);
426 void key_confirm_quit(object *op, char key);
427 int check_pick(object *op);
428 int fire_bow(object *op, object *arrow, int dir, int wc_mod, int16_t sx, int16_t sy);
429 void fire(object *op, int dir);
430 object *find_key(object *pl, object *container, object *door);
431 void move_player_attack(object *op, int dir);
432 int move_player(object *op, int dir);
433 int face_player(object *op, int dir);
434 int handle_newcs_player(object *op);
435 void remove_unpaid_objects(object *op, object *env, int free_items);
436 void do_some_living(object *op);
437 void kill_player(object *op, const object *killer);
438 void fix_weight(void);
439 void fix_luck(void);
440 void cast_dust(object *op, object *throw_ob, int dir);
441 void make_visible(object *op);
442 int is_true_undead(object *op);
443 int hideability(object *ob);
444 void do_hidden_move(object *op);
445 int stand_near_hostile(object *who);
446 int player_can_view(object *pl, object *op);
447 int op_on_battleground(object *op, int *x, int *y, archetype **trophy);
448 void dragon_ability_gain(object *who, int atnr, int level);
449 void player_unready_range_ob(player *pl, object *ob);
450 void player_set_state(player *pl, uint8_t state);
453 /* plugins.c */
454 int plugins_init_plugin(const char *libfile);
455 int plugins_remove_plugin(const char *id);
456 void plugins_display_list(object *op);
457 void initPlugins(void);
458 void cleanupPlugins(void);
459 /* quest.c */
460 int quest_get_player_state(player *pl, sstring quest_code);
461 void quest_load_definitions(void);
462 void quest_start(player *pl, sstring quest_code, int state);
463 void quest_set_player_state(player *pl, sstring quest_code, int state);
464 int quest_was_completed(player *pl, sstring quest_code);
465 void command_quest(object *op, const char *params);
466 void dump_quests(void);
467 void free_quest(void);
468 void free_quest_definitions(void);
471 /* resurrection.c */
472 int cast_raise_dead_spell(object *op, object *caster, object *spell, int dir, const char *arg);
473 void dead_player(object *op);
474 /* rune.c */
475 int write_rune(object *op, object *caster, object *spell, int dir, const char *runename);
476 void spring_trap(object *trap, object *victim);
477 int dispel_rune(object *op, object *skill, int dir);
478 int trap_see(object *op, object *trap);
479 int trap_show(object *trap, object *where);
480 int trap_disarm(object *disarmer, object *trap, int risk, object *skill);
481 /* skills.c */
482 int steal(object *op, int dir, object *skill);
483 int pick_lock(object *pl, int dir, object *skill);
484 int hide(object *op, object *skill);
485 int jump(object *pl, int dir, object *skill);
486 int detect_curse_on_item(object *pl, object *tmp, object *skill);
487 int detect_magic_on_item(object *pl, object *tmp, object *skill);
488 int identify_object_with_skill(object *tmp, object *pl, object *skill, int print_on_success);
489 int skill_ident(object *pl, object *skill);
490 int use_oratory(object *pl, int dir, object *skill);
491 int singing(object *pl, int dir, object *skill);
492 int find_traps(object *pl, object *skill);
493 int remove_trap(object *op, object *skill);
494 int pray(object *pl, object *skill);
495 void meditate(object *pl, object *skill);
496 int write_on_item(object *pl, const char *params, object *skill);
497 int skill_throw(object *op, object *part, int dir, object *skill);
498 /* skill_util.c */
499 void init_skills(void);
500 object *find_skill_by_name(object *who, const char *name);
501 object *find_applied_skill_by_name(const object* op, const char* name);
502 object *find_skill_by_number(object *who, int skillno);
503 int change_skill(object *who, object *new_skill, int flag);
504 void clear_skill(object *who);
505 int do_skill(object *op, object *part, object *skill, int dir, const char *string);
506 int64_t calc_skill_exp(const object *who, const object *op, const object *skill);
507 int learn_skill(object *pl, object *scroll);
508 void show_skills(object *op, const char *search);
509 int use_skill(object *op, const char *string);
510 void skill_attack(object *tmp, object *pl, int dir, const char *string, object *skill);
511 /* spell_attack.c */
512 int fire_bolt(object *op, object *caster, int dir, object *spob);
513 void explode_bullet(object *op);
514 void check_bullet(object *op);
515 void cone_drop(object *op);
516 int cast_cone(object *op, object *caster, int dir, object *spell);
517 int create_bomb(object *op, object *caster, int dir, object *spell);
518 int cast_smite_spell(object *op, object *caster, int dir, object *spell);
519 int cast_destruction(object *op, object *caster, object *spell_ob);
520 int cast_curse(object *op, object *caster, object *spell_ob, int dir);
521 int mood_change(object *op, object *caster, object *spell);
522 int fire_swarm(object *op, object *caster, object *spell, int dir);
523 int cast_light(object *op, object *caster, object *spell, int dir);
524 int cast_cause_disease(object *op, object *caster, object *spell, int dir);
525 /* spell_effect.c */
526 void cast_magic_storm(object *op, object *tmp, int lvl);
527 int recharge(object *op, object *caster, object *spell_ob);
528 void polymorph(object *op, object *who, int level);
529 int cast_polymorph(object *op, object *caster, object *spell_ob, int dir);
530 int cast_create_missile(object *op, object *caster, object *spell, int dir, const char *stringarg);
531 int cast_create_food(object *op, object *caster, object *spell_ob, int dir, const char *stringarg);
532 int probe(object *op, object *caster, object *spell_ob, int dir, int level);
533 int makes_invisible_to(object *pl, object *mon);
534 int cast_invisible(object *op, object *caster, object *spell_ob);
535 int cast_earth_to_dust(object *op, object *caster, object *spell_ob);
536 int cast_word_of_recall(object *op, object *caster, object *spell_ob);
537 int cast_wonder(object *op, object *caster, int dir, object *spell_ob);
538 int perceive_self(object *op);
539 int cast_create_town_portal(object *op, object *caster, object *spell);
540 int magic_wall(object *op, object *caster, int dir, object *spell_ob);
541 int dimension_door(object *op, object *caster, object *spob, int dir);
542 int cast_heal(object *op, object *caster, object *spell, int dir);
543 int cast_change_ability(object *op, object *caster, object *spell_ob, int dir, int silent);
544 int cast_bless(object *op, object *caster, object *spell_ob, int dir);
545 int alchemy(object *op, object *caster, object *spell_ob);
546 int remove_curse(object *op, object *caster, object *spell);
547 int cast_item_curse_or_bless(object *op, object *spell_ob);
548 int cast_identify(object *op, object *caster, object *spell);
549 int cast_detection(object *op, object *caster, object *spell);
550 int cast_transfer(object *op, object *caster, object *spell, int dir);
551 void counterspell(object *op, int dir);
552 int cast_consecrate(object *op, object *caster, object *spell);
553 int animate_weapon(object *op, object *caster, object *spell, int dir);
554 int cast_change_map_lightlevel(object *op, object *spell);
555 int create_aura(object *op, object *caster, object *spell);
556 int write_mark(object *op, object *spell, const char *msg);
557 /* spell_util.c */
558 object *find_random_spell_in_ob(object *ob, const char *skill);
559 void set_spell_skill(object *op, object *caster, object *spob, object *dest);
560 void dump_spells(void);
561 void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator);
562 int min_casting_level(const object *caster, const object *spell);
563 int caster_level(const object *caster, const object *spell);
564 int16_t SP_level_spellpoint_cost(object *caster, object *spell, int flags);
565 int SP_level_dam_adjust(const object *caster, const object *spob);
566 int SP_level_duration_adjust(const object *caster, const object *spob);
567 int SP_level_range_adjust(const object *caster, const object *spob);
568 int SP_level_wc_adjust(const object *caster, const object *spob);
569 object *check_spell_known(object *op, const char *name);
570 object *lookup_spell_by_name(object *op, const char *spname);
571 int reflwall(mapstruct *m, int x, int y, object *sp_op);
572 int cast_create_obj(object *op, object *new_op, int dir);
573 int ok_to_put_more(mapstruct *m, int16_t x, int16_t y, object *op, uint32_t immune_stop);
574 int fire_arch_from_position(object *op, object *caster, int16_t x, int16_t y, int dir, object *spell);
575 void regenerate_rod(object *rod);
576 void drain_rod_charge(object *rod);
577 void drain_wand_charge(object *wand);
578 object *find_target_for_friendly_spell(object *op, int dir);
579 int spell_find_dir(mapstruct *m, int x, int y, object *exclude);
580 int summon_hostile_monsters(object *op, int n, const char *monstername);
581 void shuffle_attack(object *op);
582 void spell_failure(object *op, int failure, int power, object *skill);
583 int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg);
584 void store_spell_expiry(object *spell);
585 void check_spell_expiry(object *spell);
586 void rod_adjust(object *rod);
587 /* swap.c */
588 void read_map_log(void);
589 int swap_map(mapstruct *map);
590 void check_active_maps(void);
591 int players_on_map(mapstruct *m, int show_all);
592 bool map_can_reset(const mapstruct *map, long current_time);
593 void flush_old_maps(void);
594 /* time.c */
595 void remove_door(object *op);
596 void remove_locked_door(object *op);
597 object *stop_item(object *op);
598 void fix_stopped_item(object *op, mapstruct *map, object *originator);
599 object *fix_stopped_arrow(object *op);
600 int free_no_drop(object *op);
601 void change_object(object *op);
602 void move_firewall(object *op);
603 void move_player_mover(object *op);
604 void process_object(object *op);
605 void legacy_remove_force(object *op);
606 void legacy_animate_trigger(object *op);
607 void legacy_move_hole(object *op);
608 /* timers.c */
609 void cftimer_process_timers(void);
610 int cftimer_create(int id, long delay, object *ob, int mode);
611 int cftimer_destroy(int id);
612 int cftimer_find_free_id(void);
613 void cftimer_init(void);
614 /* weather.c */
616 void tick_the_clock(void);
617 /* server.c */
618 char const* newhash(char const *password);
619 bool check_password(const char *typed, const char *crypted);
620 void enter_player_savebed(object *op);
621 void set_map_timeout(mapstruct *oldmap);
622 void enter_exit(object *op, object *exit_ob);
623 void process_events(void);
624 void clean_tmp_files(void);
625 void cleanup(void);
626 void leave(player *pl, int draw_exit);
627 int forbid_play(void);
628 void server_main(int argc, char *argv[]);
629 /* race.cpp */
630 void load_races(BufferReader *reader, const char *filename);
631 void finish_races();
632 void dump_races(void);
633 void free_races(void);
634 object *races_get_random_monster(const char *race, int level);
635 /* item.c */
636 bool player_can_find(object *op, object *ob);
637 
638 
644 void enter_player_maplevel(object *op);
SP_level_range_adjust
int SP_level_range_adjust(const object *caster, const object *spob)
Definition: spell_util.cpp:338
find_player_socket
player * find_player_socket(const socket_struct *ns)
Definition: player.cpp:123
command_stack_pop
void command_stack_pop(object *op, const char *params)
Definition: c_wiz.cpp:2495
fix_weight
void fix_weight(void)
Definition: player.cpp:3890
paralyze_living
void paralyze_living(object *op, int dam)
Definition: attack.cpp:2397
command_style_map_info
void command_style_map_info(object *op, const char *params)
Definition: c_wiz.cpp:2724
do_skill
int do_skill(object *op, object *part, object *skill, int dir, const char *string)
Definition: skill_util.cpp:431
apply_changes_to_player
void apply_changes_to_player(object *pl, object *change, int limit_stats)
Definition: apply.cpp:1672
handle_newcs_player
int handle_newcs_player(object *op)
Definition: player.cpp:3086
command_dance
void command_dance(object *op, const char *params)
Definition: c_chat.cpp:733
set_spell_skill
void set_spell_skill(object *op, object *caster, object *spob, object *dest)
Definition: spell_util.cpp:94
path_to_player
int path_to_player(object *mon, object *pl, unsigned mindiff)
Definition: player.cpp:651
cftimer_find_free_id
int cftimer_find_free_id(void)
Definition: timers.cpp:144
command_shutdown
void command_shutdown(object *op, const char *params)
Definition: c_wiz.cpp:658
party_get_leader
const char * party_get_leader(const partylist *party)
Definition: party.cpp:292
command_cackle
void command_cackle(object *op, const char *params)
Definition: c_chat.cpp:777
command_stack_push
void command_stack_push(object *op, const char *params)
Definition: c_wiz.cpp:2508
fire_bolt
int fire_bolt(object *op, object *caster, int dir, object *spob)
Definition: spell_attack.cpp:61
tick_the_clock
void tick_the_clock(void)
Definition: weather.cpp:94
pets_terminate_all
void pets_terminate_all(object *owner)
Definition: pets.cpp:225
command_northeast
void command_northeast(object *op, const char *params)
Definition: c_move.cpp:79
options
static struct Command_Line_Options options[]
Definition: init.cpp:376
command_sound
void command_sound(object *op, const char *params)
Definition: c_misc.cpp:1910
command_bleed
void command_bleed(object *op, const char *params)
Definition: c_chat.cpp:1283
command_glare
void command_glare(object *op, const char *params)
Definition: c_chat.cpp:1030
command_delete
void command_delete(object *op, const char *params)
Definition: c_misc.cpp:1889
emergency_save
void emergency_save(int flag)
Definition: main.cpp:347
command_list
void command_list(object *pl, bool is_dm)
Definition: commands.cpp:389
command_dumpallmaps
void command_dumpallmaps(object *op, const char *params)
Definition: c_misc.cpp:1047
command_players
void command_players(object *op, const char *params)
Definition: c_misc.cpp:1227
command_nowiz
void command_nowiz(object *op, const char *params)
Definition: c_wiz.cpp:2041
command_snore
void command_snore(object *op, const char *params)
Definition: c_chat.cpp:1173
guildjoin.charname
def charname
Definition: guildjoin.py:45
command_remove
void command_remove(object *op, const char *params)
Definition: c_wiz.cpp:1540
command_dumpfriendlyobjects
void command_dumpfriendlyobjects(object *op, const char *params)
Definition: c_misc.cpp:991
legacy_move_hole
void legacy_move_hole(object *op)
Definition: time.cpp:870
find_skill_by_number
object * find_skill_by_number(object *who, int skillno)
Definition: main.cpp:375
hiscore_display
void hiscore_display(object *op, int max, const char *match)
Definition: hiscore.cpp:451
command_search_items
void command_search_items(object *op, const char *params)
Definition: c_object.cpp:2477
command_wizcast
void command_wizcast(object *op, const char *params)
Definition: c_misc.cpp:947
command_growl
void command_growl(object *op, const char *params)
Definition: c_chat.cpp:832
command_say
void command_say(object *op, const char *params)
Definition: c_chat.cpp:34
cast_consecrate
int cast_consecrate(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:2985
legacy_animate_trigger
void legacy_animate_trigger(object *op)
Definition: time.cpp:866
cast_create_food
int cast_create_food(object *op, object *caster, object *spell_ob, int dir, const char *stringarg)
Definition: spell_effect.cpp:627
command_sulk
void command_sulk(object *op, const char *params)
Definition: c_chat.cpp:865
monster_npc_say
void monster_npc_say(object *npc, const char *cp)
Definition: monster.cpp:2499
use_alchemy
int use_alchemy(object *op)
Definition: alchemy.cpp:1057
command_whistle
void command_whistle(object *op, const char *params)
Definition: c_chat.cpp:1239
send_news
void send_news(const object *op)
Definition: player.cpp:206
command_cringe
void command_cringe(object *op, const char *params)
Definition: c_chat.cpp:1294
monster_can_detect_enemy
int monster_can_detect_enemy(object *op, object *enemy, rv_vector *rv)
Definition: monster.cpp:2583
command_unarmed_skill
void command_unarmed_skill(object *op, const char *params)
Definition: c_misc.cpp:1381
player
Definition: player.h:105
command_clap
void command_clap(object *op, const char *params)
Definition: c_chat.cpp:942
roll_stat
int roll_stat(void)
Definition: player.cpp:1038
monster_stand_in_light
int monster_stand_in_light(object *op)
Definition: monster.cpp:2723
recursive_roll
void recursive_roll(object *op, int dir, object *pusher)
Definition: move.cpp:293
command_cough
void command_cough(object *op, const char *params)
Definition: c_chat.cpp:986
diamondslots.x
x
Definition: diamondslots.py:15
find_random_spell_in_ob
object * find_random_spell_in_ob(object *ob, const char *skill)
Definition: spell_util.cpp:48
n
based on the size of the this randomly makes land number of spaces randomly lower or higher The default is Note that this is run also based on the the altitude amount will likely be less So if you do something like l and n
Definition: land.6.txt:25
command_spit
void command_spit(object *op, const char *params)
Definition: c_chat.cpp:1184
command_poke
void command_poke(object *op, const char *params)
Definition: c_chat.cpp:898
newhash
char const * newhash(char const *password)
Definition: server.cpp:101
command_shrug
void command_shrug(object *op, const char *params)
Definition: c_chat.cpp:1096
plugins_remove_plugin
int plugins_remove_plugin(const char *id)
Definition: plugins.cpp:454
plugins_init_plugin
int plugins_init_plugin(const char *libfile)
Definition: plugins.cpp:373
command_time
void command_time(object *op, const char *params)
Definition: c_misc.cpp:868
cast_identify
int cast_identify(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:2503
command_groan
void command_groan(object *op, const char *params)
Definition: c_chat.cpp:1041
remove_locked_door
void remove_locked_door(object *op)
Definition: time.cpp:64
command_wave
void command_wave(object *op, const char *params)
Definition: c_chat.cpp:1228
party_remove
void party_remove(partylist *party)
Definition: party.cpp:164
dimension_door
int dimension_door(object *op, object *caster, object *spob, int dir)
Definition: spell_effect.cpp:1609
account_get_additional_chars
linked_char * account_get_additional_chars(const char *account_name, const Account_Chars *chars, int *count)
Definition: account.cpp:551
cast_change_map_lightlevel
int cast_change_map_lightlevel(object *op, object *spell)
Definition: spell_effect.cpp:3293
command_beg
void command_beg(object *op, const char *params)
Definition: c_chat.cpp:1272
command_hiccup
void command_hiccup(object *op, const char *params)
Definition: c_chat.cpp:1052
perceive_self
int perceive_self(object *op)
Definition: spell_effect.cpp:1002
command_me
void command_me(object *op, const char *params)
Definition: c_chat.cpp:47
command_south
void command_south(object *op, const char *params)
Definition: c_move.cpp:101
pets_should_arena_attack
int pets_should_arena_attack(object *pet, object *owner, object *target)
Definition: pets.cpp:1086
get_party_password
int get_party_password(object *op, partylist *party)
Definition: player.cpp:1021
do_learn_spell
void do_learn_spell(object *op, object *spell, int special_prayer)
Definition: apply.cpp:484
socket_struct
Definition: newserver.h:89
confuse_living
void confuse_living(object *op, object *hitter, int dam)
Definition: attack.cpp:2310
clear_skill
void clear_skill(object *who)
Definition: skill_util.cpp:398
make_visible
void make_visible(object *op)
Definition: player.cpp:3956
flush_old_maps
void flush_old_maps(void)
Definition: swap.cpp:289
cast_destruction
int cast_destruction(object *op, object *caster, object *spell_ob)
Definition: spell_attack.cpp:707
op_on_battleground
int op_on_battleground(object *op, int *x, int *y, archetype **trophy)
Definition: player.cpp:4249
command_kiss
void command_kiss(object *op, const char *params)
Definition: c_chat.cpp:744
command_shout
void command_shout(object *op, const char *params)
Definition: c_chat.cpp:210
command_thank
void command_thank(object *op, const char *params)
Definition: c_chat.cpp:1206
command_disarm
void command_disarm(object *op, const char *params)
Definition: c_object.cpp:224
cast_spell
int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg)
Definition: spell_util.cpp:1424
party_find
partylist * party_find(const char *partyname)
Definition: party.cpp:148
command_snap
void command_snap(object *op, const char *params)
Definition: c_chat.cpp:1129
command_party
void command_party(object *op, const char *params)
Definition: c_party.cpp:97
command_execute
void command_execute(object *pl, char *command)
Definition: commands.cpp:455
command_wink
void command_wink(object *op, const char *params)
Definition: c_chat.cpp:1250
monster_check_doors
void monster_check_doors(object *op, mapstruct *m, int x, int y)
Definition: monster.cpp:2280
tailor_god_spell
int tailor_god_spell(object *spellop, object *caster)
Definition: gods.cpp:1222
account_get_players_for_account
char ** account_get_players_for_account(const char *account_name)
Definition: account.cpp:520
command_recollect
void command_recollect(object *op, const char *params)
Definition: c_wiz.cpp:1511
accounts_save
void accounts_save(void)
Definition: account.cpp:256
detect_curse_on_item
int detect_curse_on_item(object *pl, object *tmp, object *skill)
Definition: skills.cpp:703
cleanup
void cleanup(void)
Definition: server.cpp:1259
command_cast_spell
void command_cast_spell(object *op, const char *params, int cast_now)
Definition: c_range.cpp:146
command_run_stop
void command_run_stop(object *op, const char *params)
Definition: c_new.cpp:64
magic_wall
int magic_wall(object *op, object *caster, int dir, object *spell_ob)
Definition: spell_effect.cpp:1456
spring_trap
void spring_trap(object *trap, object *victim)
Definition: rune.cpp:205
check_bullet
void check_bullet(object *op)
Definition: spell_attack.cpp:217
apply_map_builder
void apply_map_builder(object *pl, int dir)
Definition: build_map.cpp:960
Account_Chars
Definition: account_char.h:27
command_printlos
void command_printlos(object *op, const char *params)
Definition: c_misc.cpp:1061
set_map_timeout
void set_map_timeout(mapstruct *oldmap)
Definition: main.cpp:304
infect_object
int infect_object(object *victim, object *disease, int force)
Definition: disease.cpp:317
do_dump
void do_dump(object *who, object *what)
Definition: c_wiz.cpp:2826
cast_cause_disease
int cast_cause_disease(object *op, object *caster, object *spell, int dir)
Definition: spell_attack.cpp:1207
quest_set_player_state
void quest_set_player_state(player *pl, sstring quest_code, int state)
Definition: quest.cpp:716
command_usekeys
void command_usekeys(object *op, const char *params)
Definition: c_misc.cpp:1556
command_party_rejoin
void command_party_rejoin(object *op, const char *params)
Definition: c_party.cpp:307
monster_check_earthwalls
void monster_check_earthwalls(object *op, mapstruct *m, int x, int y)
Definition: monster.cpp:2264
guildjoin.ob
ob
Definition: guildjoin.py:42
get_password
void get_password(object *op)
Definition: player.cpp:892
write_on_item
int write_on_item(object *pl, const char *params, object *skill)
Definition: skills.cpp:1762
explode_bullet
void explode_bullet(object *op)
Definition: spell_attack.cpp:121
command_lock_item
void command_lock_item(object *op, const char *params)
Definition: c_object.cpp:2708
commongive.inv
inv
Definition: commongive.py:29
command
Crossfire Protocol most of the time after the actual code was already omit certain important and possibly make life miserable any new developer or curious player should be able to find most of the relevant information here If inconsistencies are found or this documentation proves to be consider the latest server side protocol code in the public source code repository as the authoritative reference Introduction If you were ever curious enough to telnet or netcat to a Crossfire chances are you were sorely disappointed While the protocol may seem to use plain text at it actually uses a mix of ASCII and binary data This handbook attempts to document various aspects of the Crossfire protocol As consult the README file to find out how to get in touch with helpful people via mailing and more History the communications plan was set to be a text based system It was up to the server and client to parse these messages and determine what to do These messages were assumed to be line per message At a reasonably early stage of Eric Anderson wrote a then the data itself you could send many data and after the other end could decode these commands This works fairly but I think the creation of numerous sub packets has some performance hit the eutl was not especially well so writing a client for a different platform became more Eric left to work on other products shortly after writing his which didn t really leave anyone with a full understanding of the socket code I have decided to remove the eutl dependency At least one advantage is that having this network related code directly in the client and server makes error handling a bit easier cleaner Packet Format the outside packet method the byte size for the size information is not included here Eutl originally used bytes for the size to bytes seems it makes a least some sense The actual data is something of the nature of the commands listed below It is a text command
Definition: protocol.txt:63
time
non standard information is not specified or uptime this means how long since the executable has been started A particular host may have been running a server for quite a long time
Definition: arch-handbook.txt:206
command_hiscore
void command_hiscore(object *op, const char *params)
Definition: c_misc.cpp:881
giveknowledge.knowledge
knowledge
DIALOGCHECK MINARGS 1 MAXARGS 1
Definition: giveknowledge.py:15
use_oratory
int use_oratory(object *pl, int dir, object *skill)
Definition: skills.cpp:996
init_ob_methods
void init_ob_methods(void)
Definition: ob_methods.cpp:35
mon
object * mon
Definition: comet_perf.cpp:75
command_invoke
void command_invoke(object *op, const char *params)
Definition: c_range.cpp:38
move_player
int move_player(object *op, int dir)
Definition: player.cpp:2948
races_get_random_monster
object * races_get_random_monster(const char *race, int level)
Definition: races.cpp:24
command_twiddle
void command_twiddle(object *op, const char *params)
Definition: c_chat.cpp:1217
SP_level_duration_adjust
int SP_level_duration_adjust(const object *caster, const object *spob)
Definition: spell_util.cpp:312
command_statistics
void command_statistics(object *pl, const char *params)
Definition: c_misc.cpp:1121
cast_curse
int cast_curse(object *op, object *caster, object *spell_ob, int dir)
Definition: spell_attack.cpp:800
get_player
player * get_player(player *p)
Definition: player.cpp:285
command_northwest
void command_northwest(object *op, const char *params)
Definition: c_move.cpp:90
singing
int singing(object *pl, int dir, object *skill)
Definition: skills.cpp:1149
flags
static const flag_definition flags[]
Definition: gridarta-types-convert.cpp:101
Ice.tmp
int tmp
Definition: Ice.py:207
command_diff
void command_diff(object *op, const char *params)
Definition: c_wiz.cpp:2583
monster_do_living
void monster_do_living(object *op)
Definition: monster.cpp:721
change_skill
int change_skill(object *who, object *new_skill, int flag)
Definition: skill_util.cpp:359
quest_load_definitions
void quest_load_definitions(void)
read_map_log
void read_map_log(void)
Definition: swap.cpp:70
command_who
void command_who(object *op, const char *params)
Definition: c_misc.cpp:623
command_overlay_reset
void command_overlay_reset(object *op, const char *params)
Definition: c_wiz.cpp:589
mode
linux kernel c mode(defun linux-c-mode() "C mode with adjusted defaults for use with the Linux kernel."(interactive)(c-mode)(c-set-style "K&R")(setq c-basic-offset 8))
command_throw
void command_throw(object *op, const char *params)
Definition: c_object.cpp:239
skill_ident
int skill_ident(object *pl, object *skill)
Definition: skills.cpp:927
destroy_object
void destroy_object(object *op)
Definition: login.cpp:209
cast_raise_dead_spell
int cast_raise_dead_spell(object *op, object *caster, object *spell, int dir, const char *arg)
Definition: resurrection.cpp:181
set_first_map
void set_first_map(object *op)
Definition: player.cpp:394
command_puke
void command_puke(object *op, const char *params)
Definition: c_chat.cpp:821
free_knowledge
void free_knowledge(void)
Definition: knowledge.cpp:1277
write_mark
int write_mark(object *op, object *spell, const char *msg)
Definition: spell_effect.cpp:3411
shuffle_attack
void shuffle_attack(object *op)
Definition: spell_util.cpp:1033
cast_polymorph
int cast_polymorph(object *op, object *caster, object *spell_ob, int dir)
Definition: spell_effect.cpp:425
hit_map
int hit_map(object *op, int dir, uint32_t type, int full_hit)
Definition: attack.cpp:355
get_nearest_criminal
object * get_nearest_criminal(object *mon)
Definition: player.cpp:583
rod_adjust
void rod_adjust(object *rod)
Definition: main.cpp:390
monster
the faster the spell may be cast there are several other common only the caster may be affected by the spell The most common spell range is that of touch This denotes that the caster much touch the recipient of the spell in order to release the spell monster
Definition: spell-info.txt:45
command_debug
void command_debug(object *op, const char *params)
Definition: c_misc.cpp:893
account_link
int account_link(const char *account_name, const char *player_name)
Definition: account.cpp:445
find_traps
int find_traps(object *pl, object *skill)
Definition: skills.cpp:1240
scroll_failure
void scroll_failure(object *op, int failure, int power)
Definition: apply.cpp:1601
plugins_display_list
void plugins_display_list(object *op)
Definition: plugins.cpp:479
cleanupPlugins
void cleanupPlugins(void)
Definition: plugins.cpp:4612
command_whereami
void command_whereami(object *op, const char *params)
Definition: c_misc.cpp:822
receive_play_again
void receive_play_again(object *op, char key)
Definition: player.cpp:956
set_player_socket
void set_player_socket(player *p, socket_struct *ns)
Definition: player.cpp:413
fire_arch_from_position
int fire_arch_from_position(object *op, object *caster, int16_t x, int16_t y, int dir, object *spell)
Definition: spell_util.cpp:629
source
Almost all the spell_ *base png files are taken from JXClient s source
Definition: readme-icons.txt:1
npc_dialog.filename
filename
Definition: npc_dialog.py:99
command_overlay_save
void command_overlay_save(object *op, const char *params)
Definition: c_wiz.cpp:568
partylist
Definition: party.h:10
apply_manual
int apply_manual(object *op, object *tmp, int aflag)
Definition: apply.cpp:597
move_player_attack
void move_player_attack(object *op, int dir)
Definition: player.cpp:2623
apply_by_living_below
void apply_by_living_below(object *pl)
Definition: apply.cpp:695
ok_to_put_more
int ok_to_put_more(mapstruct *m, int16_t x, int16_t y, object *op, uint32_t immune_stop)
Definition: spell_util.cpp:530
command_arrest
void command_arrest(object *op, const char *params)
Definition: c_wiz.cpp:821
add_server_collect_hooks
void add_server_collect_hooks()
Definition: init.cpp:1069
party_obsolete_parties
void party_obsolete_parties(void)
Definition: party.cpp:215
command_hug
void command_hug(object *op, const char *params)
Definition: c_chat.cpp:876
load_races
void load_races(BufferReader *reader, const char *filename)
Definition: races.cpp:49
command_face
void command_face(object *op, const char *params)
Definition: c_new.cpp:111
command_rename_item
void command_rename_item(object *op, const char *params)
Definition: c_object.cpp:2522
initPlugins
void initPlugins(void)
Definition: plugins.cpp:4564
hiscore_check
void hiscore_check(object *op, int quiet)
Definition: hiscore.cpp:348
key_confirm_quit
void key_confirm_quit(object *op, char key)
Definition: player.cpp:1592
command_petmode
void command_petmode(object *op, const char *params)
Definition: c_misc.cpp:1437
add_player
player * add_player(socket_struct *ns, int flags)
Definition: player.cpp:460
command_rules
void command_rules(object *op, const char *params)
Definition: c_misc.cpp:230
command_grin
void command_grin(object *op, const char *params)
Definition: c_chat.cpp:920
hit_with_arrow
object * hit_with_arrow(object *op, object *victim)
Definition: attack.cpp:979
get_nearest_player
object * get_nearest_player(object *mon)
Definition: player.cpp:540
command_stack_clear
void command_stack_clear(object *op, const char *params)
Definition: c_wiz.cpp:2557
cast_dust
void cast_dust(object *op, object *throw_ob, int dir)
Definition: player.cpp:3927
command_nod
void command_nod(object *op, const char *params)
Definition: c_chat.cpp:722
pets_move_golem
void pets_move_golem(object *op)
Definition: pets.cpp:519
forbid_play
int forbid_play(void)
Definition: server.cpp:1366
cast_detection
int cast_detection(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:2578
name
Plugin animator file specs[Config] name
Definition: animfiles.txt:4
cast_magic_storm
void cast_magic_storm(object *op, object *tmp, int lvl)
Definition: spell_effect.cpp:49
linked_char
Definition: global.h:96
command_west
void command_west(object *op, const char *params)
Definition: c_move.cpp:134
pets_summon_object
int pets_summon_object(object *op, object *caster, object *spell_ob, int dir, const char *stringarg)
Definition: pets.cpp:872
cast_light
int cast_light(object *op, object *caster, object *spell, int dir)
Definition: spell_attack.cpp:1136
command_quit
void command_quit(object *op, const char *params)
Definition: c_misc.cpp:1873
dragon_ability_gain
void dragon_ability_gain(object *who, int atnr, int level)
Definition: main.cpp:365
dump_races
void dump_races(void)
Definition: races.cpp:83
SockList
Definition: newclient.h:670
party_join
void party_join(object *op, partylist *party)
Definition: party.cpp:85
command_rskill
void command_rskill(object *pl, const char *params)
Definition: c_object.cpp:161
login
pluglist shows those as well as a short text describing each the list will simply appear empty The keyword for the Python plugin is Python plugout< keyword > Unloads a given identified by its _keyword_ So if you want to unload the Python you need to do plugout Python plugin< libname > Loads a given whose _filename_ is libname So in the case of you d have to do a plugin cfpython so Note that all filenames are relative to the default plugin it tries to load all available files in the SHARE plugins directory as plugin libraries It first displays the Initializing the plugin has the opportunity to signal itself by a message on the console Then the server displays an informative message containing both the plugin content and its keyword For the Python the standard load process thus GreenGoblin When a plugin has been it can request to be warned whenever a global event and are named freely by the developer If the directory doesn t nothing will happen< event name > can be login
Definition: plugins.txt:54
account_password
void account_password(char *buf, int len, socket_struct *ns)
Definition: request.cpp:3026
knowledge_read
void knowledge_read(player *pl, object *book)
Definition: knowledge.cpp:1053
store_spell_expiry
void store_spell_expiry(object *spell)
Definition: spell_util.cpp:1981
learn_skill
int learn_skill(object *pl, object *scroll)
Definition: skill_util.cpp:759
spell_effect
void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator)
Definition: spell_util.cpp:144
remove_door
void remove_door(object *op)
Definition: time.cpp:38
m
static event_registration m
Definition: citylife.cpp:425
set_darkness_map
void set_darkness_map(mapstruct *m)
Definition: main.cpp:371
knowledge_send_info
void knowledge_send_info(socket_struct *ns)
Definition: knowledge.cpp:1371
autojail.who
who
Definition: autojail.py:3
command_malloc
void command_malloc(object *op, const char *params)
Definition: c_misc.cpp:796
party_get_first
partylist * party_get_first(void)
Definition: party.cpp:196
apply_auto_fix
void apply_auto_fix(mapstruct *m)
Definition: main.cpp:258
command_banish
void command_banish(object *op, const char *params)
Definition: c_wiz.cpp:502
monster_find_nearest_enemy
object * monster_find_nearest_enemy(object *npc, object *owner)
Definition: monster.cpp:175
give_initial_items
void give_initial_items(object *pl, treasurelist *items)
Definition: player.cpp:784
command_inventory
void command_inventory(object *op, const char *params)
Definition: c_wiz.cpp:1315
command_kill_pets
void command_kill_pets(object *op, const char *params)
Definition: c_misc.cpp:2196
teleport
int teleport(object *teleporter, uint8_t tele_type, object *user)
Definition: move.cpp:204
cast_heal
int cast_heal(object *op, object *caster, object *spell, int dir)
Definition: spell_effect.cpp:1745
use_skill
int use_skill(object *op, const char *string)
Definition: skill_util.cpp:964
command_accountpasswd
void command_accountpasswd(object *op, const char *params)
Definition: c_wiz.cpp:1613
slow_living_by
int slow_living_by(object *op, const int speed_penalty)
Definition: attack.cpp:2226
command_forget_spell
void command_forget_spell(object *op, const char *params)
Definition: c_wiz.cpp:2376
disinfect.map
map
Definition: disinfect.py:4
spell_find_dir
int spell_find_dir(mapstruct *m, int x, int y, object *exclude)
Definition: spell_util.cpp:887
command_mark
void command_mark(object *op, const char *params)
Definition: c_object.cpp:1567
pick_lock
int pick_lock(object *pl, int dir, object *skill)
Definition: skills.cpp:391
pets_get_enemy
object * pets_get_enemy(object *pet, rv_vector *rv)
Definition: pets.cpp:54
command_teleport
void command_teleport(object *op, const char *params)
Definition: c_wiz.cpp:913
command_unregister
void command_unregister(command_registration command)
Definition: commands.cpp:534
command_uskill
void command_uskill(object *pl, const char *params)
Definition: c_object.cpp:144
send_rules
void send_rules(const object *op)
Definition: player.cpp:170
free_no_drop
int free_no_drop(object *op)
Definition: time.cpp:565
party_confirm_password
int party_confirm_password(const partylist *party, const char *password)
Definition: party.cpp:259
enter_player_savebed
void enter_player_savebed(object *op)
Definition: server.cpp:138
determine_god
const char * determine_god(object *op)
Definition: gods.cpp:55
drop
void drop(object *op, object *tmp)
Definition: c_object.cpp:1168
play_again
void play_again(object *op)
Definition: player.cpp:903
command_dump
void command_dump(object *op, const char *params)
Definition: c_wiz.cpp:1357
playername_ok
int playername_ok(const char *cp)
Definition: player.cpp:257
remove_curse
int remove_curse(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:2404
command_take
void command_take(object *op, const char *params)
Definition: c_object.cpp:845
fire
void fire(object *op, int dir)
Definition: player.cpp:2396
monster_find_throw_ob
object * monster_find_throw_ob(object *op)
Definition: monster.cpp:2544
friendly_fire
int friendly_fire(object *op, object *hitter)
Definition: attack.cpp:1853
mood_change
int mood_change(object *op, object *caster, object *spell)
Definition: spell_attack.cpp:904
blind_living
void blind_living(object *op, object *hitter, int dam)
Definition: attack.cpp:2353
cftimer_destroy
int cftimer_destroy(int id)
Definition: timers.cpp:128
move_ob
int move_ob(object *op, int dir, object *originator)
Definition: move.cpp:58
command_north
void command_north(object *op, const char *params)
Definition: c_move.cpp:68
command_save
void command_save(object *op, const char *params)
Definition: c_misc.cpp:2098
command_mon_aggr
void command_mon_aggr(object *op, const char *params)
Definition: c_wiz.cpp:1385
map_can_reset
bool map_can_reset(const mapstruct *map, long current_time)
Definition: swap.cpp:264
check_race_and_class
int check_race_and_class(living *stats, archetype *race, archetype *opclass)
Definition: player.cpp:1429
monster_do_say
void monster_do_say(const mapstruct *map, const char *message)
Definition: monster.cpp:2294
cftimer_init
void cftimer_init(void)
Definition: timers.cpp:157
check_login
void check_login(object *op, const char *password)
Definition: login.cpp:511
command_dropall
void command_dropall(object *op, const char *params)
Definition: c_object.cpp:1230
free_races
void free_races(void)
Definition: races.cpp:95
face_player
int face_player(object *op, int dir)
Definition: player.cpp:3027
account_get_account_for_char
const char * account_get_account_for_char(const char *charname)
Definition: account.cpp:580
treasurelist
Definition: treasure.h:85
remove_trap
int remove_trap(object *op, object *skill)
Definition: skills.cpp:1311
check_physically_infect
void check_physically_infect(object *victim, object *hitter)
Definition: disease.cpp:663
calc_skill_exp
int64_t calc_skill_exp(const object *who, const object *op, const object *skill)
Definition: skill_util.cpp:667
remove_unpaid_objects
void remove_unpaid_objects(object *op, object *env, int free_items)
Definition: player.cpp:3207
command_ssdumptable
void command_ssdumptable(object *op, const char *params)
Definition: c_misc.cpp:1019
account_char_free
void account_char_free(Account_Chars *chars)
Definition: account_char.cpp:345
roll_stats
void roll_stats(object *op)
Definition: player.cpp:1062
set_object_face_main
int set_object_face_main(object *op)
Definition: apply.cpp:146
examine_monster
void examine_monster(object *op, object *tmp, int level)
Definition: c_object.cpp:1614
party_leave
void party_leave(object *op)
Definition: party.cpp:123
command_listen
void command_listen(object *op, const char *params)
Definition: c_misc.cpp:1090
cone_drop
void cone_drop(object *op)
Definition: spell_attack.cpp:265
knowledge_add_probe_monster
void knowledge_add_probe_monster(object *op, object *mon)
Definition: knowledge.cpp:1525
account_remove_player
int account_remove_player(const char *account_name, const char *player_name)
Definition: account.cpp:475
legal_range
int legal_range(object *op, int r)
Definition: c_range.cpp:247
command_loadplugin
void command_loadplugin(object *op, const char *params)
Definition: c_wiz.cpp:2419
command_scream
void command_scream(object *op, const char *params)
Definition: c_chat.cpp:843
player_can_find
bool player_can_find(object *op, object *ob)
Definition: item.cpp:587
display_motd
void display_motd(const object *op)
Definition: player.cpp:139
apply_container
int apply_container(object *op, object *sack, int aflags)
Definition: apply.cpp:222
transport_can_hold
int transport_can_hold(const object *transport, const object *op, int nrof)
Definition: apply.cpp:54
move_symptom
void move_symptom(object *symptom)
Definition: disease.cpp:592
free_quest
void free_quest(void)
Definition: quest.cpp:891
command_follow
void command_follow(object *op, const char *params)
Definition: c_wiz.cpp:2770
process_events
void process_events(void)
Definition: server.cpp:1085
create_bomb
int create_bomb(object *op, object *caster, int dir, object *spell)
Definition: spell_attack.cpp:447
enter_player_maplevel
void enter_player_maplevel(object *op)
Definition: server.cpp:689
make_face_from_files.str
str
Definition: make_face_from_files.py:30
server_main
void server_main(int argc, char *argv[])
Definition: server.cpp:1581
command_strut
void command_strut(object *op, const char *params)
Definition: c_chat.cpp:1195
delete_character
void delete_character(const char *name)
Definition: login.cpp:88
command_chuckle
void command_chuckle(object *op, const char *params)
Definition: c_chat.cpp:975
should_director_abort
int should_director_abort(const object *op, const object *victim)
Definition: apply.cpp:68
navar-midane_pickup.msg
list msg
Definition: navar-midane_pickup.py:13
command_unloadplugin
void command_unloadplugin(object *op, const char *params)
Definition: c_wiz.cpp:2451
lookup_spell_by_name
object * lookup_spell_by_name(object *op, const char *spname)
Definition: spell_util.cpp:410
command_think
void command_think(object *op, const char *params)
Definition: c_chat.cpp:1305
polymorph
void polymorph(object *op, object *who, int level)
Definition: spell_effect.cpp:371
message
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your message
Definition: survival-guide.txt:34
do_goto
void do_goto(object *op, const char *name, int x, int y)
Definition: c_move.cpp:151
cast_create_town_portal
int cast_create_town_portal(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:1241
command_help
void command_help(object *op, const char *params)
Definition: c_misc.cpp:1772
show_skills
void show_skills(object *op, const char *search)
Definition: skill_util.cpp:860
quest_was_completed
int quest_was_completed(player *pl, sstring quest_code)
Definition: quest.cpp:726
counterspell
void counterspell(object *op, int dir)
Definition: spell_effect.cpp:2909
party_set_password
void party_set_password(partylist *party, const char *password)
Definition: party.cpp:244
command_examine
void command_examine(object *op, const char *params)
Definition: c_object.cpp:1489
trap_disarm
int trap_disarm(object *disarmer, object *trap, int risk, object *skill)
Definition: rune.cpp:433
spell
with a maximum of six This is not so if you are wearing plate you receive no benefit Armour is additive with all the supplementry forms of which means that it lasts until the next semi permanent spell effect is cast upon the character spell
Definition: tome-of-magic.txt:44
legacy_remove_force
void legacy_remove_force(object *op)
Definition: time.cpp:862
leave
void leave(player *pl, int draw_exit)
Definition: server.cpp:1305
move_firewall
void move_firewall(object *op)
Definition: main.cpp:343
command_free
void command_free(object *op, const char *params)
Definition: c_wiz.cpp:1587
account_new
int account_new(const char *account_name, const char *account_password)
Definition: account.cpp:400
create_aura
int create_aura(object *op, object *caster, object *spell)
Definition: spell_effect.cpp:3325
command_cry
void command_cry(object *op, const char *params)
Definition: c_chat.cpp:887
identify_object_with_skill
int identify_object_with_skill(object *tmp, object *pl, object *skill, int print_on_success)
Definition: skills.cpp:810
fix_stopped_item
void fix_stopped_item(object *op, mapstruct *map, object *originator)
Definition: time.cpp:495
apply_can_apply_object
int apply_can_apply_object(const object *who, const object *op)
Definition: apply.cpp:1016
caster_level
int caster_level(const object *caster, const object *spell)
Definition: spell_util.cpp:194
fix_stopped_arrow
object * fix_stopped_arrow(object *op)
Definition: time.cpp:512
command_kick
void command_kick(object *op, const char *params)
Definition: c_wiz.cpp:556
disinfect.count
int count
Definition: disinfect.py:7
say.max
dictionary max
Definition: say.py:148
push.match
bool match
Definition: push.py:61
monster_communicate
void monster_communicate(object *op, const char *txt)
Definition: monster.cpp:2376
command_pout
void command_pout(object *op, const char *params)
Definition: c_chat.cpp:1074
command_orcknuckle
void command_orcknuckle(object *op, const char *params)
Definition: c_chat.cpp:108
knowledge_item_can_be_used_alchemy
void knowledge_item_can_be_used_alchemy(object *op, const object *item)
Definition: knowledge.cpp:1331
archetype
Definition: object.h:474
command_search
void command_search(object *op, const char *params)
Definition: c_object.cpp:212
command_abil
void command_abil(object *op, const char *params)
Definition: c_wiz.cpp:1794
command_flip
void command_flip(object *op, const char *params)
Definition: c_chat.cpp:997
pray
int pray(object *pl, object *skill)
Definition: skills.cpp:1384
dump_spells
void dump_spells(void)
Definition: spell_util.cpp:108
move_to
int move_to(object *op, int x, int y)
Definition: move.cpp:563
command_possess
void command_possess(object *op, const char *params)
Definition: c_wiz.cpp:1412
find_key
object * find_key(object *pl, object *container, object *door)
Definition: player.cpp:2468
command_language
void command_language(object *op, const char *params)
Definition: c_misc.cpp:132
command_dumpallobjects
void command_dumpallobjects(object *op, const char *params)
Definition: c_misc.cpp:977
skill_throw
int skill_throw(object *op, object *part, int dir, object *skill)
Definition: skills.cpp:2277
SP_level_spellpoint_cost
int16_t SP_level_spellpoint_cost(object *caster, object *spell, int flags)
Definition: spell_util.cpp:236
cftimer_process_timers
void cftimer_process_timers(void)
Definition: timers.cpp:44
get_attack_message_for_attack_type
void get_attack_message_for_attack_type(int dam, uint8_t atm_type, const char *victim_name, char *buf1, char *buf2)
Definition: attack.cpp:538
become_follower
int become_follower(object *op, const object *new_god)
Definition: gods.cpp:413
list_players
void list_players(object *op, region *reg, partylist *party)
Definition: c_misc.cpp:550
account_is_logged_in
int account_is_logged_in(const char *name)
Definition: account.cpp:605
init_signals
void init_signals()
Definition: init.cpp:1298
detect_magic_on_item
int detect_magic_on_item(object *pl, object *tmp, object *skill)
Definition: skills.cpp:752
command_giggle
void command_giggle(object *op, const char *params)
Definition: c_chat.cpp:799
party_form
partylist * party_form(object *op, const char *partyname)
Definition: party.cpp:40
regenerate_rod
void regenerate_rod(object *rod)
Definition: spell_util.cpp:761
command_hide
void command_hide(object *op, const char *params)
Definition: c_wiz.cpp:389
command_accuse
void command_accuse(object *op, const char *params)
Definition: c_chat.cpp:909
accounts_clear
void accounts_clear(void)
Definition: account.cpp:153
command_stay
void command_stay(object *op, const char *params)
Definition: c_move.cpp:145
living
Definition: living.h:35
push_ob
int push_ob(object *who, int dir, object *pusher)
Definition: move.cpp:434
find_skill_by_name
object * find_skill_by_name(object *who, const char *name)
Definition: skill_util.cpp:211
command_dumpmap
void command_dumpmap(object *op, const char *params)
Definition: c_misc.cpp:1033
env
static std::shared_ptr< inja::Environment > env
Definition: mapper.cpp:2170
accounts_load
void accounts_load(void)
Definition: account.cpp:162
drop_object
object * drop_object(object *op, object *tmp, uint32_t nrof)
Definition: c_object.cpp:1073
command_settings
void command_settings(object *op, const char *ignored)
Definition: c_wiz.cpp:2875
command_purge_quest_definitions
void command_purge_quest_definitions(object *op, const char *param)
Definition: c_wiz.cpp:2820
checkbanned
int checkbanned(const char *login, const char *host)
Definition: ban.cpp:32
SP_level_wc_adjust
int SP_level_wc_adjust(const object *caster, const object *spob)
Definition: spell_util.cpp:362
receive_player_name
void receive_player_name(object *op, const char *name)
Definition: c_misc.cpp:1935
cast_bless
int cast_bless(object *op, object *caster, object *spell_ob, int dir)
Definition: spell_effect.cpp:2048
command_east
void command_east(object *op, const char *params)
Definition: c_move.cpp:57
command_dumpbelow
void command_dumpbelow(object *op, const char *params)
Definition: c_wiz.cpp:2848
command_peaceful
void command_peaceful(object *op, const char *params)
Definition: c_misc.cpp:2124
transfer_ob
int transfer_ob(object *op, int x, int y, int randomly, object *originator)
Definition: move.cpp:163
monster_check_apply_all
void monster_check_apply_all(object *monster)
Definition: monster.cpp:2001
command_wimpy
void command_wimpy(object *op, const char *params)
Definition: c_misc.cpp:2142
pets_move
void pets_move(object *ob)
Definition: pets.cpp:317
quest_first_player_save
void quest_first_player_save(player *pl)
Definition: quest.cpp:967
party_get_next
partylist * party_get_next(const partylist *party)
Definition: party.cpp:208
move_object
int move_object(object *op, int dir)
Definition: move.cpp:39
trap_show
int trap_show(object *trap, object *where)
Definition: rune.cpp:403
free_quest_definitions
void free_quest_definitions(void)
dead_player
void dead_player(object *op)
Definition: resurrection.cpp:297
probe
int probe(object *op, object *caster, object *spell_ob, int dir, int level)
Definition: spell_effect.cpp:699
key_roll_stat
void key_roll_stat(object *op, char key)
Definition: player.cpp:1213
command_bow
void command_bow(object *op, const char *params)
Definition: c_chat.cpp:931
init_skills
void init_skills(void)
Definition: skill_util.cpp:99
command_drop
void command_drop(object *op, const char *params)
Definition: c_object.cpp:1354
command_shake
void command_shake(object *op, const char *params)
Definition: c_chat.cpp:810
command_use
void command_use(object *op, const char *params)
Definition: c_object.cpp:2751
command_fire_stop
void command_fire_stop(object *op, const char *params)
Definition: c_new.cpp:98
pets_attempt_follow
void pets_attempt_follow(object *for_owner, int force)
Definition: pets.cpp:249
command_motd
void command_motd(object *op, const char *params)
Definition: c_misc.cpp:217
command_loadtest
void command_loadtest(object *op, const char *params)
Definition: c_wiz.cpp:306
region
Definition: map.h:273
apply_race_and_class
int apply_race_and_class(object *op, archetype *race, archetype *opclass, living *stats)
Definition: player.cpp:1479
command_smile
void command_smile(object *op, const char *params)
Definition: c_chat.cpp:766
reply_type
reply_type
Definition: dialog.h:7
monster_can_see_enemy
int monster_can_see_enemy(object *op, object *enemy)
Definition: monster.cpp:2766
command_learn_special_prayer
void command_learn_special_prayer(object *op, const char *params)
Definition: c_wiz.cpp:2363
apply_auto
int apply_auto(object *op)
Definition: main.cpp:211
command_applymode
void command_applymode(object *op, const char *params)
Definition: c_misc.cpp:1277
swap_map
int swap_map(mapstruct *map)
Definition: swap.cpp:135
altar_valkyrie.altar
altar
Definition: altar_valkyrie.py:27
command_news
void command_news(object *op, const char *params)
Definition: c_misc.cpp:243
command_quest
void command_quest(object *op, const char *params)
Definition: quest.cpp:738
hideability
int hideability(object *ob)
Definition: player.cpp:4000
command_whereabouts
void command_whereabouts(object *op, const char *params)
Definition: c_misc.cpp:484
hiscore_init
void hiscore_init(void)
Definition: hiscore.cpp:296
apply_handle_yield
void apply_handle_yield(object *tmp)
Definition: apply.cpp:122
command_afk
void command_afk(object *op, const char *params)
Definition: c_misc.cpp:775
command_summon
void command_summon(object *op, const char *params)
Definition: c_wiz.cpp:866
command_knowledge
void command_knowledge(object *pl, const char *params)
Definition: knowledge.cpp:1210
clean_tmp_files
void clean_tmp_files(void)
Definition: main.cpp:351
command_reset
void command_reset(object *op, const char *params)
Definition: c_wiz.cpp:1860
get_reply_text_own
const char * get_reply_text_own(reply_type rt)
Definition: monster.cpp:2320
command_learn_spell
void command_learn_spell(object *op, const char *params)
Definition: c_wiz.cpp:2351
alchemy
int alchemy(object *op, object *caster, object *spell_ob)
Definition: spell_effect.cpp:2304
animate_weapon
int animate_weapon(object *op, object *caster, object *spell, int dir)
Definition: spell_effect.cpp:3063
command_version
void command_version(object *op, const char *params)
Definition: c_misc.cpp:1076
SP_level_dam_adjust
int SP_level_dam_adjust(const object *caster, const object *spob)
Definition: spell_util.cpp:287
command_frown
void command_frown(object *op, const char *params)
Definition: c_chat.cpp:1008
command_toggle_shout
void command_toggle_shout(object *op, const char *params)
Definition: c_wiz.cpp:615
party_get_password
const char * party_get_password(const partylist *party)
Definition: party.cpp:232
commands_init
void commands_init(void)
Definition: commands.cpp:109
command_snicker
void command_snicker(object *op, const char *params)
Definition: c_chat.cpp:1151
me
Crossfire Protocol most of the time after the actual code was already omit certain important and possibly make life miserable any new developer or curious player should be able to find most of the relevant information here If inconsistencies are found or this documentation proves to be consider the latest server side protocol code in the public source code repository as the authoritative reference Introduction If you were ever curious enough to telnet or netcat to a Crossfire chances are you were sorely disappointed While the protocol may seem to use plain text at it actually uses a mix of ASCII and binary data This handbook attempts to document various aspects of the Crossfire protocol As consult the README file to find out how to get in touch with helpful people via mailing and more History the communications plan was set to be a text based system It was up to the server and client to parse these messages and determine what to do These messages were assumed to be line per message At a reasonably early stage of Eric Anderson wrote a then the data itself you could send many data and after the other end could decode these commands This works fairly but I think the creation of numerous sub packets has some performance hit the eutl was not especially well so writing a client for a different platform became more Eric left to work on other products shortly after writing his which didn t really leave anyone with a full understanding of the socket code I have decided to remove the eutl dependency At least one advantage is that having this network related code directly in the client and server makes error handling a bit easier cleaner Packet Format the outside packet method the byte size for the size information is not included here Eutl originally used bytes for the size to me
Definition: protocol.txt:56
dump_quests
void dump_quests(void)
Definition: quest.cpp:880
item
Definition: item.py:1
command_reply
void command_reply(object *op, const char *params)
Definition: c_chat.cpp:336
reputation.victim
victim
Definition: reputation.py:14
move_disease
int move_disease(object *disease)
Definition: disease.cpp:180
command_strings
void command_strings(object *op, const char *params)
Definition: c_misc.cpp:847
apply_check_weapon_power
int apply_check_weapon_power(const object *who, int improves)
Definition: apply.cpp:1131
command_yawn
void command_yawn(object *op, const char *params)
Definition: c_chat.cpp:1261
mapstruct
Definition: map.h:314
enter_exit
void enter_exit(object *op, object *exit_ob)
Definition: server.cpp:734
move_player_mover
void move_player_mover(object *op)
Definition: time.cpp:707
check_spell_known
object * check_spell_known(object *op, const char *name)
Definition: spell_util.cpp:394
BufferReader
Definition: bufferreader.cpp:21
command_setgod
void command_setgod(object *op, const char *params)
Definition: c_wiz.cpp:418
command_pickup
void command_pickup(object *op, const char *params)
Definition: c_object.cpp:2359
sstring
const typedef char * sstring
Definition: sstring.h:2
roll_again
void roll_again(object *op)
Definition: player.cpp:1141
give.op
op
Definition: give.py:33
monster_npc_call_help
void monster_npc_call_help(object *op)
Definition: monster.cpp:2014
command_skills
void command_skills(object *op, const char *params)
Definition: c_wiz.cpp:1345
party_send_message
void party_send_message(object *op, const char *message)
Definition: party.cpp:274
summon_hostile_monsters
int summon_hostile_monsters(object *op, int n, const char *monstername)
Definition: spell_util.cpp:1005
receive_player_password
void receive_player_password(object *op, const char *password)
Definition: c_misc.cpp:1955
cast_create_obj
int cast_create_obj(object *op, object *new_op, int dir)
Definition: spell_util.cpp:494
command_patch
void command_patch(object *op, const char *params)
Definition: c_wiz.cpp:1473
command_dmtell
void command_dmtell(object *op, const char *params)
Definition: c_chat.cpp:320
convert.dest
dest
Definition: convert.py:25
check_pick
int check_pick(object *op)
Definition: player.cpp:1717
command_rotateshoottype
void command_rotateshoottype(object *op, const char *params)
Definition: c_range.cpp:351
pets_summon_golem
int pets_summon_golem(object *op, object *caster, int dir, object *spob)
Definition: pets.cpp:651
command_shiver
void command_shiver(object *op, const char *params)
Definition: c_chat.cpp:1085
apply_by_living
int apply_by_living(object *pl, object *op, int aflag, int quiet)
Definition: apply.cpp:637
register_all_ob_types
void register_all_ob_types(void)
Definition: ob_types.cpp:31
spell_failure
void spell_failure(object *op, int failure, int power, object *skill)
Definition: spell_util.cpp:1103
command_stats
void command_stats(object *op, const char *params)
Definition: c_wiz.cpp:1737
pets_follow_owner
void pets_follow_owner(object *ob, object *owner)
Definition: pets.cpp:284
rv_vector
Definition: map.h:370
init
void init(int argc, char **argv)
Definition: init.cpp:1081
command_lick
void command_lick(object *op, const char *params)
Definition: c_chat.cpp:1063
roll-o-matic.params
params
Definition: roll-o-matic.py:193
dispel_rune
int dispel_rune(object *op, object *skill, int dir)
Definition: rune.cpp:295
monster_check_enemy
object * monster_check_enemy(object *npc, rv_vector *rv)
Definition: monster.cpp:72
hit_player
int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit)
Definition: attack.cpp:1902
command_chat
void command_chat(object *op, const char *params)
Definition: c_chat.cpp:221
do_hidden_move
void do_hidden_move(object *op)
Definition: player.cpp:4041
diamondslots.y
y
Definition: diamondslots.py:16
python_pickup.where
where
Definition: python_pickup.py:7
command_southwest
void command_southwest(object *op, const char *params)
Definition: c_move.cpp:123
do_harvest
void do_harvest(object *pl, int dir, object *skill)
Definition: c_misc.cpp:2263
free_server
void free_server(void)
Definition: init.cpp:1121
apply_special
int apply_special(object *who, object *op, int aflags)
Definition: apply.cpp:1156
command_bounce
void command_bounce(object *op, const char *params)
Definition: c_chat.cpp:755
command_smirk
void command_smirk(object *op, const char *params)
Definition: c_chat.cpp:1118
command_resistances
void command_resistances(object *op, const char *params)
Definition: c_misc.cpp:1597
cast_wonder
int cast_wonder(object *op, object *caster, int dir, object *spell_ob)
Definition: spell_effect.cpp:968
player_arrest
int player_arrest(object *who)
Definition: c_wiz.cpp:789
find_player_partial_name
player * find_player_partial_name(const char *plname)
Definition: player.cpp:114
account_change_password
int account_change_password(const char *account_name, const char *current_password, const char *new_password)
Definition: account.cpp:628
command_slap
void command_slap(object *op, const char *params)
Definition: c_chat.cpp:1107
check_spell_expiry
void check_spell_expiry(object *spell)
Definition: spell_util.cpp:2006
command_stack_list
void command_stack_list(object *op, const char *params)
Definition: c_wiz.cpp:2526
command_fire
void command_fire(object *op, const char *params)
Definition: c_new.cpp:77
fire_bow
int fire_bow(object *op, object *arrow, int dir, int wc_mod, int16_t sx, int16_t sy)
Definition: player.cpp:2093
stats
Player Stats effect how well a character can survie and interact inside the crossfire world This section discusses the various stats
Definition: stats.txt:2
change_object
void change_object(object *op)
Definition: time.cpp:592
command_invisible
void command_invisible(object *op, const char *params)
Definition: c_wiz.cpp:2187
meditate
void meditate(object *pl, object *skill)
Definition: skills.cpp:1432
steal
int steal(object *op, int dir, object *skill)
Definition: skills.cpp:279
command_purge_quest
void command_purge_quest(object *op, const char *param)
Definition: c_wiz.cpp:2814
knowledge_player_knows
int knowledge_player_knows(const player *pl, const char *knowledge)
Definition: knowledge.cpp:1295
account_char_add
void account_char_add(Account_Chars *chars, player *pl)
Definition: account_char.cpp:207
command_run
void command_run(object *op, const char *params)
Definition: c_new.cpp:41
castle_read.key
key
Definition: castle_read.py:64
npc_dialog.npc
npc
Definition: npc_dialog.py:95
command_freeze
void command_freeze(object *op, const char *params)
Definition: c_wiz.cpp:745
quest_start
void quest_start(player *pl, sstring quest_code, int state)
Definition: quest.cpp:680
find_player_options
player * find_player_options(const char *plname, int options, const mapstruct *map)
Definition: player.cpp:70
knowledge_give
void knowledge_give(player *pl, const char *marker, const object *book)
Definition: knowledge.cpp:993
save_player
int save_player(object *op, int flag)
Definition: login.cpp:230
monster_move
int monster_move(object *op)
Definition: monster.cpp:856
command_maps
void command_maps(object *op, const char *params)
Definition: c_misc.cpp:835
stop_item
object * stop_item(object *op)
Definition: time.cpp:455
command_dumpabove
void command_dumpabove(object *op, const char *params)
Definition: c_wiz.cpp:2863
can_follow
bool can_follow(object *op, player *other)
Definition: c_wiz.cpp:2757
command_function_extra
void(* command_function_extra)(object *op, const char *params, const char *extra)
Definition: commands.h:29
command_dumpallarchetypes
void command_dumpallarchetypes(object *op, const char *params)
Definition: c_misc.cpp:1005
fire_swarm
int fire_swarm(object *op, object *caster, object *spell, int dir)
Definition: spell_attack.cpp:1088
command_register
command_registration command_register(const char *name, uint8_t type, command_function func, float time)
Definition: commands.cpp:102
skill
skill
Definition: arch-handbook.txt:585
process_object
void process_object(object *op)
Definition: time.cpp:796
command_speed
void command_speed(object *op, const char *params)
Definition: c_wiz.cpp:1707
player_set_state
void player_set_state(player *pl, uint8_t state)
Definition: player.cpp:4475
cure_disease
int cure_disease(object *sufferer, object *caster, sstring skill)
Definition: disease.cpp:685
trap_see
int trap_see(object *op, object *trap)
Definition: rune.cpp:376
reflwall
int reflwall(mapstruct *m, int x, int y, object *sp_op)
Definition: spell_util.cpp:470
command_fix_me
void command_fix_me(object *op, const char *params)
Definition: c_misc.cpp:1213
inventory
void inventory(object *op, object *inv)
Definition: c_object.cpp:2165
player_get_delayed_buffer
SockList * player_get_delayed_buffer(player *pl)
Definition: player.cpp:4488
player_can_view
int player_can_view(object *pl, object *op)
Definition: player.cpp:4150
do_forget_spell
void do_forget_spell(object *op, const char *spell)
Definition: apply.cpp:525
quest.state
state
Definition: quest.py:13
cast_change_ability
int cast_change_ability(object *op, object *caster, object *spell_ob, int dir, int silent)
Definition: spell_effect.cpp:1900
command_registration
uint64_t command_registration
Definition: commands.h:32
check_password
bool check_password(const char *typed, const char *crypted)
Definition: server.cpp:114
do_some_living
void do_some_living(object *op)
Definition: player.cpp:3272
command_dm
void command_dm(object *op, const char *params)
Definition: c_wiz.cpp:2175
command_addexp
void command_addexp(object *op, const char *params)
Definition: c_wiz.cpp:1651
command_goto
void command_goto(object *op, const char *params)
Definition: c_wiz.cpp:724
object_teleport
int object_teleport(object *op, mapstruct *map, int x, int y)
Definition: move.cpp:597
command_empty
void command_empty(object *op, const char *params)
Definition: c_object.cpp:1450
command_cointoss
void command_cointoss(object *op, const char *params)
Definition: c_chat.cpp:64
cast_word_of_recall
int cast_word_of_recall(object *op, object *caster, object *spell_ob)
Definition: spell_effect.cpp:906
command_tell
void command_tell(object *op, const char *params)
Definition: c_chat.cpp:308
command_register_extra
command_registration command_register_extra(const char *name, const char *extra, uint8_t type, command_function_extra func, float time)
Definition: commands.cpp:525
command_showpets
void command_showpets(object *op, const char *params)
Definition: c_misc.cpp:1481
account_char_load
Account_Chars * account_char_load(const char *account_name)
Definition: account_char.cpp:135
key_change_class
void key_change_class(object *op, char key)
Definition: player.cpp:1289
finish_races
void finish_races()
Definition: races.cpp:100
receive_party_password
void receive_party_password(object *op, const char *password)
Definition: c_party.cpp:53
account_check_string
int account_check_string(const char *str)
Definition: account.cpp:361
write_rune
int write_rune(object *op, object *caster, object *spell, int dir, const char *runename)
Definition: rune.cpp:50
knowledge_send_known
void knowledge_send_known(player *pl)
Definition: knowledge.cpp:1400
param
No space after the left no space before the right paren Comma right after the formal param
Definition: style-guide.txt:215
fix_luck
void fix_luck(void)
Definition: player.cpp:3906
death_message.hitter
hitter
Definition: death_message.py:33
check_active_maps
void check_active_maps(void)
Definition: swap.cpp:199
account_char_remove
void account_char_remove(Account_Chars *chars, const char *pl_name)
Definition: account_char.cpp:313
commands_clear
void commands_clear()
Definition: commands.cpp:345
drain_rod_charge
void drain_rod_charge(object *rod)
Definition: spell_util.cpp:776
attack_ob
int attack_ob(object *op, object *hitter)
Definition: attack.cpp:937
cast_create_missile
int cast_create_missile(object *op, object *caster, object *spell, int dir, const char *stringarg)
Definition: spell_effect.cpp:493
stand_near_hostile
int stand_near_hostile(object *who)
Definition: player.cpp:4082
command_gsay
void command_gsay(object *op, const char *params)
Definition: c_party.cpp:75
find_target_for_friendly_spell
object * find_target_for_friendly_spell(object *op, int dir)
Definition: spell_util.cpp:813
close_modules
void close_modules()
Definition: init.cpp:80
command_mapinfo
void command_mapinfo(object *op, const char *params)
Definition: c_misc.cpp:809
command_gasp
void command_gasp(object *op, const char *params)
Definition: c_chat.cpp:1019
command_brace
void command_brace(object *op, const char *params)
Definition: c_misc.cpp:2172
cast_transfer
int cast_transfer(object *op, object *caster, object *spell, int dir)
Definition: spell_effect.cpp:2836
confirm_password
void confirm_password(object *op)
Definition: player.cpp:1006
command_body
void command_body(object *op, const char *params)
Definition: c_misc.cpp:175
account_login
int account_login(const char *account_name, const char *account_password)
Definition: account.cpp:319
command_passwd
void command_passwd(object *pl, const char *params)
Definition: c_misc.cpp:2239
reputation.killer
def killer
Definition: reputation.py:13
hide
int hide(object *op, object *skill)
Definition: skills.cpp:496
command_function
void(* command_function)(object *op, const char *params)
Definition: commands.h:17
verify_player
int verify_player(const char *name, char *password)
Definition: login.cpp:111
pets_control_golem
void pets_control_golem(object *op, int dir)
Definition: pets.cpp:630
check_name
int check_name(player *me, const char *name)
Definition: login.cpp:181
command_archs
void command_archs(object *op, const char *params)
command_sniff
void command_sniff(object *op, const char *params)
Definition: c_chat.cpp:1162
cast_item_curse_or_bless
int cast_item_curse_or_bless(object *op, object *spell_ob)
Definition: spell_effect.cpp:2452
save_throw_object
void save_throw_object(object *op, uint32_t type, object *originator)
Definition: attack.cpp:202
command_insert_into
void command_insert_into(object *op, const char *params)
Definition: c_wiz.cpp:2647
cast_smite_spell
int cast_smite_spell(object *op, object *caster, int dir, object *spell)
Definition: spell_attack.cpp:546
player_unready_range_ob
void player_unready_range_ob(player *pl, object *ob)
Definition: player.cpp:4457
account_char_save
void account_char_save(Account_Chars *chars)
Definition: account_char.cpp:158
cast_earth_to_dust
int cast_earth_to_dust(object *op, object *caster, object *spell_ob)
Definition: spell_effect.cpp:855
recharge
int recharge(object *op, object *caster, object *spell_ob)
Definition: spell_effect.cpp:84
pick_up
void pick_up(object *op, object *alt)
Definition: c_object.cpp:519
makes_invisible_to
int makes_invisible_to(object *pl, object *mon)
Definition: spell_effect.cpp:756
examine
void examine(object *op, object *tmp)
Definition: c_object.cpp:1983
sack_can_hold
int sack_can_hold(const object *pl, const object *sack, const object *op, uint32_t nrof)
Definition: c_object.cpp:317
altar_valkyrie.pl
pl
Definition: altar_valkyrie.py:28
kill_player
void kill_player(object *op, const object *killer)
Definition: player.cpp:3488
min_casting_level
int min_casting_level(const object *caster, const object *spell)
Definition: spell_util.cpp:164
command_apply
void command_apply(object *op, const char *params)
Definition: c_object.cpp:251
command_cast
void command_cast(object *op, const char *params)
Definition: c_range.cpp:50
find_applied_skill_by_name
object * find_applied_skill_by_name(const object *op, const char *name)
Definition: living.cpp:1921
command_listplugins
void command_listplugins(object *op, const char *params)
Definition: c_wiz.cpp:2404
command_bowmode
void command_bowmode(object *op, const char *params)
Definition: c_misc.cpp:1318
find_marked_object
object * find_marked_object(object *op)
Definition: c_object.cpp:1520
command_title
void command_title(object *op, const char *params)
Definition: c_misc.cpp:2047
drain_wand_charge
void drain_wand_charge(object *wand)
Definition: spell_util.cpp:786
command_wizpass
void command_wizpass(object *op, const char *params)
Definition: c_misc.cpp:917
ring_occidental_mages.r
r
Definition: ring_occidental_mages.py:6
knowledge_process_incremental
void knowledge_process_incremental(void)
Definition: knowledge.cpp:1436
command_create
void command_create(object *op, const char *params)
Definition: c_wiz.cpp:979
apply_builder_remove
void apply_builder_remove(object *pl, int dir)
Definition: build_map.cpp:890
cast_invisible
int cast_invisible(object *op, object *caster, object *spell_ob)
Definition: spell_effect.cpp:803
monster_compute_path
int monster_compute_path(object *source, object *target, int default_dir)
Definition: monster.cpp:465
command_dmhide
void command_dmhide(object *op, const char *params)
Definition: c_wiz.cpp:2480
cast_cone
int cast_cone(object *op, object *caster, int dir, object *spell)
Definition: spell_attack.cpp:297
command_blush
void command_blush(object *op, const char *params)
Definition: c_chat.cpp:953
is_valid_types_gen.type
list type
Definition: is_valid_types_gen.py:25
is_true_undead
int is_true_undead(object *op)
Definition: player.cpp:3976
determine_holy_arch
archetype * determine_holy_arch(const object *god, const char *type)
Definition: gods.cpp:675
account_exists
const char * account_exists(const char *account_name)
Definition: account.cpp:297
command_sneeze
void command_sneeze(object *op, const char *params)
Definition: c_chat.cpp:1140
command_burp
void command_burp(object *op, const char *params)
Definition: c_chat.cpp:964
account_logout
void account_logout(const char *account_name)
Definition: account.cpp:338
quest_send_initial_states
void quest_send_initial_states(player *pl)
Definition: quest.cpp:909
put_object_in_sack
void put_object_in_sack(object *op, object *sack, object *tmp, uint32_t nrof)
Definition: c_object.cpp:937
quest_get_player_state
int quest_get_player_state(player *pl, sstring quest_code)
Definition: quest.cpp:660
skill_attack
void skill_attack(object *tmp, object *pl, int dir, const char *string, object *skill)
Definition: skill_util.cpp:1270
cftimer_create
int cftimer_create(int id, long delay, object *ob, int mode)
Definition: timers.cpp:97
jump
int jump(object *pl, int dir, object *skill)
Definition: skills.cpp:666
pray_at_altar
void pray_at_altar(object *pl, object *altar, object *skill)
Definition: gods.cpp:258
command_southeast
void command_southeast(object *op, const char *params)
Definition: c_move.cpp:112
get_name
void get_name(object *op)
Definition: player.cpp:881
dragon_attune.force
force
Definition: dragon_attune.py:45
command_laugh
void command_laugh(object *op, const char *params)
Definition: c_chat.cpp:788
knowledge_first_player_save
void knowledge_first_player_save(player *pl)
Definition: knowledge.cpp:1420
players_on_map
int players_on_map(mapstruct *m, int show_all)
Definition: swap.cpp:232
find_player
player * find_player(const char *plname)
Definition: player.cpp:59
command_sigh
void command_sigh(object *op, const char *params)
Definition: c_chat.cpp:854
level
Definition: level.py:1