Crossfire Server, Branch 1.12
R12190
|
00001 /* alchemy.c */ 00002 int use_alchemy(object *op); 00003 /* apply.c */ 00004 int transport_can_hold(const object *transport, const object *op, int nrof); 00005 int should_director_abort(object *op, object *victim); 00006 void handle_apply_yield(object *tmp); 00007 int set_object_face_main(object *op); 00008 int apply_container(object *op, object *sack); 00009 void do_learn_spell(object *op, object *spell, int special_prayer); 00010 void do_forget_spell(object *op, const char *spell); 00011 int manual_apply(object *op, object *tmp, int aflag); 00012 int player_apply(object *pl, object *op, int aflag, int quiet); 00013 void player_apply_below(object *pl); 00014 int can_apply_object(object *who, object *op); 00015 int check_weapon_power(const object *who, int improvs); 00016 int apply_special(object *who, object *op, int aflags); 00017 int auto_apply(object *op); 00018 void fix_auto_apply(mapstruct *m); 00019 void scroll_failure(object *op, int failure, int power); 00020 void apply_changes_to_player(object *pl, object *change); 00021 void legacy_apply_container(object *op, object *sack); 00022 /* attack.c */ 00023 void save_throw_object(object *op, uint32 type, object *originator); 00024 int hit_map(object *op, int dir, uint32 type, int full_hit); 00025 int attack_ob(object *op, object *hitter); 00026 object *hit_with_arrow(object *op, object *victim); 00027 int friendly_fire(object *op, object *hitter); 00028 int hit_player(object *op, int dam, object *hitter, uint32 type, int full_hit); 00029 void confuse_living(object *op, object *hitter, int dam); 00030 void blind_living(object *op, object *hitter, int dam); 00031 void paralyze_living(object *op, object *hitter, int dam); 00032 /* ban.c */ 00033 int checkbanned(const char *login, const char *host); 00034 /* build_map.c */ 00035 void apply_builder_remove(object *pl, int dir); 00036 void apply_map_builder(object *pl, int dir); 00037 /* c_chat.c */ 00038 int command_say(object *op, char *params); 00039 int command_me(object *op, char *params); 00040 int command_cointoss(object *op, char *params); 00041 int command_orcknuckle(object *op, char *params); 00042 int command_shout(object *op, char *params); 00043 int command_chat(object *op, char *params); 00044 int command_tell(object *op, char *params); 00045 int command_dmtell(object *op, char *params); 00046 int command_reply(object *op, char *params); 00047 int command_nod(object *op, char *params); 00048 int command_dance(object *op, char *params); 00049 int command_kiss(object *op, char *params); 00050 int command_bounce(object *op, char *params); 00051 int command_smile(object *op, char *params); 00052 int command_cackle(object *op, char *params); 00053 int command_laugh(object *op, char *params); 00054 int command_giggle(object *op, char *params); 00055 int command_shake(object *op, char *params); 00056 int command_puke(object *op, char *params); 00057 int command_growl(object *op, char *params); 00058 int command_scream(object *op, char *params); 00059 int command_sigh(object *op, char *params); 00060 int command_sulk(object *op, char *params); 00061 int command_hug(object *op, char *params); 00062 int command_cry(object *op, char *params); 00063 int command_poke(object *op, char *params); 00064 int command_accuse(object *op, char *params); 00065 int command_grin(object *op, char *params); 00066 int command_bow(object *op, char *params); 00067 int command_clap(object *op, char *params); 00068 int command_blush(object *op, char *params); 00069 int command_burp(object *op, char *params); 00070 int command_chuckle(object *op, char *params); 00071 int command_cough(object *op, char *params); 00072 int command_flip(object *op, char *params); 00073 int command_frown(object *op, char *params); 00074 int command_gasp(object *op, char *params); 00075 int command_glare(object *op, char *params); 00076 int command_groan(object *op, char *params); 00077 int command_hiccup(object *op, char *params); 00078 int command_lick(object *op, char *params); 00079 int command_pout(object *op, char *params); 00080 int command_shiver(object *op, char *params); 00081 int command_shrug(object *op, char *params); 00082 int command_slap(object *op, char *params); 00083 int command_smirk(object *op, char *params); 00084 int command_snap(object *op, char *params); 00085 int command_sneeze(object *op, char *params); 00086 int command_snicker(object *op, char *params); 00087 int command_sniff(object *op, char *params); 00088 int command_snore(object *op, char *params); 00089 int command_spit(object *op, char *params); 00090 int command_strut(object *op, char *params); 00091 int command_thank(object *op, char *params); 00092 int command_twiddle(object *op, char *params); 00093 int command_wave(object *op, char *params); 00094 int command_whistle(object *op, char *params); 00095 int command_wink(object *op, char *params); 00096 int command_yawn(object *op, char *params); 00097 int command_beg(object *op, char *params); 00098 int command_bleed(object *op, char *params); 00099 int command_cringe(object *op, char *params); 00100 int command_think(object *op, char *params); 00101 /* c_misc.c */ 00102 void map_info(object *op, char *search); 00103 int command_language(object *op, char *params); 00104 int command_body(object *op, char *params); 00105 int command_motd(object *op, char *params); 00106 int command_rules(object *op, char *params); 00107 int command_news(object *op, char *params); 00108 void malloc_info(object *op); 00109 void current_region_info(object *op); 00110 void current_map_info(object *op); 00111 int command_whereabouts(object *op, char *params); 00112 void list_players(object *op, region *reg, partylist *party); 00113 int command_who(object *op, char *params); 00114 void display_who_entry(object *op, player *pl, const char *format); 00115 void get_who_escape_code_value(char *return_val, int size, const char letter, player *pl); 00116 int command_afk(object *op, char *params); 00117 int command_malloc(object *op, char *params); 00118 int command_mapinfo(object *op, char *params); 00119 int command_whereami(object *op, char *params); 00120 int command_maps(object *op, char *params); 00121 int command_strings(object *op, char *params); 00122 int command_time(object *op, char *params); 00123 int command_archs(object *op, char *params); 00124 int command_hiscore(object *op, char *params); 00125 int command_debug(object *op, char *params); 00126 int command_dumpbelow(object *op, char *params); 00127 int command_wizpass(object *op, char *params); 00128 int command_wizcast(object *op, char *params); 00129 int command_dumpallobjects(object *op, char *params); 00130 int command_dumpfriendlyobjects(object *op, char *params); 00131 int command_dumpallarchetypes(object *op, char *params); 00132 int command_ssdumptable(object *op, char *params); 00133 int command_dumpmap(object *op, char *params); 00134 int command_dumpallmaps(object *op, char *params); 00135 int command_printlos(object *op, char *params); 00136 int command_version(object *op, char *params); 00137 int command_output_sync(object *op, char *params); 00138 int command_output_count(object *op, char *params); 00139 int command_listen(object *op, char *params); 00140 int command_statistics(object *pl, char *params); 00141 int command_fix_me(object *op, char *params); 00142 int command_players(object *op, char *params); 00143 int command_applymode(object *op, char *params); 00144 int command_bowmode(object *op, char *params); 00145 int command_petmode(object *op, char *params); 00146 int command_showpets(object *op, char *params); 00147 int command_usekeys(object *op, char *params); 00148 int command_resistances(object *op, char *params); 00149 int command_help(object *op, char *params); 00150 int onoff_value(const char *line); 00151 int command_quit(object *op, char *params); 00152 int command_explore(object *op, char *params); 00153 int command_sound(object *op, char *params); 00154 void receive_player_name(object *op); 00155 void receive_player_password(object *op); 00156 int command_title(object *op, char *params); 00157 int command_save(object *op, char *params); 00158 int command_peaceful(object *op, char *params); 00159 int command_wimpy(object *op, char *params); 00160 int command_brace(object *op, char *params); 00161 int command_kill_pets(object *op, char *params); 00162 int command_passwd(object *pl, char *params); 00163 int do_harvest(object *pl, int dir, object *skill); 00164 /* c_move.c */ 00165 int command_east(object *op, char *params); 00166 int command_north(object *op, char *params); 00167 int command_northeast(object *op, char *params); 00168 int command_northwest(object *op, char *params); 00169 int command_south(object *op, char *params); 00170 int command_southeast(object *op, char *params); 00171 int command_southwest(object *op, char *params); 00172 int command_west(object *op, char *params); 00173 int command_stay(object *op, char *params); 00174 /* c_new.c */ 00175 int execute_newserver_command(object *pl, char *command); 00176 int command_run(object *op, char *params); 00177 int command_run_stop(object *op, char *params); 00178 int command_fire(object *op, char *params); 00179 int command_fire_stop(object *op, char *params); 00180 /* c_object.c */ 00181 int command_uskill(object *pl, char *params); 00182 int command_rskill(object *pl, char *params); 00183 int command_search(object *op, char *params); 00184 int command_disarm(object *op, char *params); 00185 int command_throw(object *op, char *params); 00186 int command_apply(object *op, char *params); 00187 int sack_can_hold(const object *pl, const object *sack, const object *op, uint32 nrof); 00188 void pick_up(object *op, object *alt); 00189 int command_take(object *op, char *params); 00190 void put_object_in_sack(object *op, object *sack, object *tmp, uint32 nrof); 00191 object *drop_object(object *op, object *tmp, uint32 nrof); 00192 void drop(object *op, object *tmp); 00193 int command_dropall(object *op, char *params); 00194 int command_drop(object *op, char *params); 00195 int command_empty(object *op, char *params); 00196 int command_examine(object *op, char *params); 00197 object *find_marked_object(object *op); 00198 int command_mark(object *op, char *params); 00199 void examine_monster(object *op, object *tmp); 00200 void examine(object *op, object *tmp); 00201 void inventory(object *op, object *inv); 00202 int command_pickup(object *op, char *params); 00203 int command_search_items(object *op, char *params); 00204 int command_rename_item(object *op, char *params); 00205 int command_lock_item(object *op, char *params); 00206 int command_use(object *op, char *params); 00207 /* c_party.c */ 00208 partylist *get_firstparty(void); 00209 partylist *form_party(object *op, const char *params); 00210 void remove_party(partylist *target_party); 00211 void obsolete_parties(void); 00212 int confirm_party_password(object *op); 00213 void receive_party_password(object *op); 00214 void send_party_message(object *op, char *msg); 00215 int command_gsay(object *op, char *params); 00216 int command_party(object *op, char *params); 00217 int command_party_rejoin(object *op, char *params); 00218 /* c_range.c */ 00219 int command_invoke(object *op, char *params); 00220 int command_cast(object *op, char *params); 00221 int command_prepare(object *op, char *params); 00222 int command_cast_spell(object *op, char *params, char command); 00223 int legal_range(object *op, int r); 00224 void change_spell(object *op, char k); 00225 int command_rotateshoottype(object *op, char *params); 00226 /* c_wiz.c */ 00227 int command_loadtest(object *op, char *params); 00228 void do_wizard_hide(object *op, int silent_dm); 00229 int command_hide(object *op, char *params); 00230 int command_setgod(object *op, char *params); 00231 int command_banish(object *op, char *params); 00232 int command_kick(object *op, const char *params); 00233 int command_overlay_save(object *op, char *params); 00234 int command_overlay_reset(object *op, char *params); 00235 int command_toggle_shout(object *op, char *params); 00236 int command_shutdown(object *op, char *params); 00237 int command_goto(object *op, char *params); 00238 int command_freeze(object *op, char *params); 00239 int command_arrest(object *op, char *params); 00240 int command_summon(object *op, char *params); 00241 int command_teleport(object *op, char *params); 00242 int command_create(object *op, char *params); 00243 int command_inventory(object *op, char *params); 00244 int command_skills(object *op, char *params); 00245 int command_dump(object *op, char *params); 00246 int command_mon_aggr(object *op, char *params); 00247 int command_possess(object *op, char *params); 00248 int command_patch(object *op, char *params); 00249 int command_remove(object *op, char *params); 00250 int command_free(object *op, char *params); 00251 int command_addexp(object *op, char *params); 00252 int command_speed(object *op, char *params); 00253 int command_stats(object *op, char *params); 00254 int command_abil(object *op, char *params); 00255 int command_reset(object *op, char *params); 00256 int command_nowiz(object *op, char *params); 00257 int do_wizard_dm(object *op, char *params, int silent); 00258 int command_dm(object *op, char *params); 00259 int command_invisible(object *op, char *params); 00260 int command_learn_spell(object *op, char *params); 00261 int command_learn_special_prayer(object *op, char *params); 00262 int command_forget_spell(object *op, char *params); 00263 int command_listplugins(object *op, char *params); 00264 int command_loadplugin(object *op, char *params); 00265 int command_unloadplugin(object *op, char *params); 00266 int command_dmhide(object *op, char *params); 00267 void dm_stack_pop(player *pl); 00268 object *dm_stack_peek(player *pl); 00269 void dm_stack_push(player *pl, tag_t item); 00270 object *get_dm_object(player *pl, char **params, int *from); 00271 int command_stack_pop(object *op, char *params); 00272 int command_stack_push(object *op, char *params); 00273 int command_stack_list(object *op, char *params); 00274 int command_stack_clear(object *op, char *params); 00275 int command_diff(object *op, char *params); 00276 int command_insert_into(object *op, char *params); 00277 int command_style_map_info(object *op, char *params); 00278 int command_follow(object *op, char *params); 00279 /* commands.c */ 00280 void init_commands(void); 00281 /* daemon.c */ 00282 void become_daemon(void); 00283 /* disease.c */ 00284 int move_disease(object *disease); 00285 int infect_object(object *victim, object *disease, int force); 00286 void move_symptom(object *symptom); 00287 void check_physically_infect(object *victim, object *hitter); 00288 int cure_disease(object *sufferer, object *caster); 00289 /* hiscore.c */ 00290 void check_score(object *op, int quiet); 00291 void display_high_score(object *op, int max, const char *match); 00292 /* gods.c */ 00293 const object *find_god(const char *name); 00294 const char *determine_god(object *op); 00295 void pray_at_altar(object *pl, object *altar, object *skill); 00296 void become_follower(object *op, const object *new_god); 00297 archetype *determine_holy_arch(const object *god, const char *type); 00298 int tailor_god_spell(object *spellop, object *caster); 00299 /* init.c */ 00300 void init(int argc, char **argv); 00301 void free_server(void); 00302 racelink *find_racelink(const char *name); 00303 /* login.c */ 00304 void emergency_save(int flag); 00305 void delete_character(const char *name); 00306 int verify_player(const char *name, char *password); 00307 int check_name(player *me, const char *name); 00308 void destroy_object(object *op); 00309 int save_player(object *op, int flag); 00310 void check_login(object *op); 00311 /* monster.c */ 00312 object *check_enemy(object *npc, rv_vector *rv); 00313 object *find_nearest_living_creature(object *npc); 00314 int compute_path(object *source, object *target, int default_dir); 00315 int move_monster(object *op); 00316 void monster_check_apply(object *mon, object *item); 00317 void npc_call_help(object *op); 00318 void check_earthwalls(object *op, mapstruct *m, int x, int y); 00319 void check_doors(object *op, mapstruct *m, int x, int y); 00320 void communicate(object *op, const char *txt); 00321 void npc_say(object *npc, const char *cp); 00322 object *find_mon_throw_ob(object *op); 00323 int can_detect_enemy(object *op, object *enemy, rv_vector *rv); 00324 int stand_in_light(object *op); 00325 int can_see_enemy(object *op, object *enemy); 00326 /* move.c */ 00327 int move_object(object *op, int dir); 00328 int move_ob(object *op, int dir, object *originator); 00329 int transfer_ob(object *op, int x, int y, int randomly, object *originator); 00330 int teleport(object *teleporter, uint8 tele_type, object *user); 00331 void recursive_roll(object *op, int dir, object *pusher); 00332 int push_ob(object *who, int dir, object *pusher); 00333 int move_to(object *op, int x, int y); 00334 /* ob_methods.c */ 00335 void init_ob_methods(void); 00336 /* ob_types.c */ 00337 void register_all_ob_types(void); 00338 /* pets.c */ 00339 object *get_pet_enemy(object *pet, rv_vector *rv); 00340 void terminate_all_pets(object *owner); 00341 void remove_all_pets(void); 00342 void follow_owner(object *ob, object *owner); 00343 void pet_move(object *ob); 00344 void move_golem(object *op); 00345 void control_golem(object *op, int dir); 00346 int summon_golem(object *op, object *caster, int dir, object *spob); 00347 int summon_object(object *op, object *caster, object *spell_ob, int dir, const char *stringarg); 00348 int should_arena_attack(object *pet, object *owner, object *target); 00349 /* player.c */ 00350 player *find_player(const char *plname); 00351 player *find_player_partial_name(const char *plname); 00352 void display_motd(const object *op); 00353 void send_rules(const object *op); 00354 void send_news(const object *op); 00355 int playername_ok(const char *cp); 00356 void add_player(socket_struct *ns); 00357 object *get_nearest_player(object *mon); 00358 int path_to_player(object *mon, object *pl, unsigned mindiff); 00359 void give_initial_items(object *pl, treasurelist *items); 00360 void get_name(object *op); 00361 void get_password(object *op); 00362 void play_again(object *op); 00363 void receive_play_again(object *op, char key); 00364 void confirm_password(object *op); 00365 void get_party_password(object *op, partylist *party); 00366 int roll_stat(void); 00367 void roll_stats(object *op); 00368 void roll_again(object *op); 00369 void key_roll_stat(object *op, char key); 00370 void key_change_class(object *op, char key); 00371 void key_confirm_quit(object *op, char key); 00372 int check_pick(object *op); 00373 int fire_bow(object *op, object *arrow, int dir, int wc_mod, sint16 sx, sint16 sy); 00374 void fire(object *op, int dir); 00375 object *find_key(object *pl, object *container, object *door); 00376 void move_player_attack(object *op, int dir); 00377 int move_player(object *op, int dir); 00378 int handle_newcs_player(object *op); 00379 void remove_unpaid_objects(object *op, object *env, int free_items); 00380 void do_some_living(object *op); 00381 void kill_player(object *op); 00382 void fix_weight(void); 00383 void fix_luck(void); 00384 void cast_dust(object *op, object *throw_ob, int dir); 00385 void make_visible(object *op); 00386 int is_true_undead(object *op); 00387 int hideability(object *ob); 00388 void do_hidden_move(object *op); 00389 int stand_near_hostile(object *who); 00390 int player_can_view(object *pl, object *op); 00391 int op_on_battleground(object *op, int *x, int *y, archetype **trophy); 00392 void dragon_ability_gain(object *who, int atnr, int level); 00393 void player_unready_range_ob(player *pl, object *ob); 00394 /* plugins.c */ 00395 int user_event(object *op, object *activator, object *third, const char *message, int fix); 00396 int execute_event(object *op, int eventcode, object *activator, object *third, const char *message, int fix); 00397 int execute_global_event(int eventcode, ...); 00398 int plugins_init_plugin(const char *libfile); 00399 void *cfapi_get_hooks(int *type, ...); 00400 int plugins_remove_plugin(const char *id); 00401 crossfire_plugin *plugins_find_plugin(const char *id); 00402 void plugins_display_list(object *op); 00403 void *cfapi_system_find_animation(int *type, ...); 00404 void *cfapi_system_find_face(int *type, ...); 00405 void *cfapi_system_strdup_local(int *type, ...); 00406 void *cfapi_system_register_global_event(int *type, ...); 00407 void *cfapi_system_unregister_global_event(int *type, ...); 00408 void *cfapi_system_add_string(int *type, ...); 00409 void *cfapi_system_remove_string(int *type, ...); 00410 void *cfapi_system_find_string(int *type, ...); 00411 void *cfapi_system_check_path(int *type, ...); 00412 void *cfapi_system_re_cmp(int *type, ...); 00413 void *cfapi_system_directory(int *type, ...); 00414 void *cfapi_get_time(int *type, ...); 00415 void *cfapi_get_season_name(int *type, ...); 00416 void *cfapi_get_weekday_name(int *type, ...); 00417 void *cfapi_get_month_name(int *type, ...); 00418 void *cfapi_get_periodofday_name(int *type, ...); 00419 void *cfapi_timer_create(int *type, ...); 00420 void *cfapi_timer_destroy(int *type, ...); 00421 void *cfapi_log(int *type, ...); 00422 void *cfapi_map_get_map(int *type, ...); 00423 void *cfapi_map_has_been_loaded(int *type, ...); 00424 void *cfapi_map_create_path(int *type, ...); 00425 void *cfapi_map_get_map_property(int *type, ...); 00426 void *cfapi_map_set_map_property(int *type, ...); 00427 void *cfapi_map_out_of_map(int *type, ...); 00428 void *cfapi_map_update_position(int *type, ...); 00429 void *cfapi_map_delete_map(int *type, ...); 00430 void *cfapi_map_message(int *type, ...); 00431 void *cfapi_map_get_object_at(int *type, ...); 00432 void *cfapi_map_present_arch_by_name(int *type, ...); 00433 void *cfapi_map_change_light(int *type, ...); 00434 void *cfapi_object_move(int *type, ...); 00435 void *cfapi_object_get_key(int *type, ...); 00436 void *cfapi_object_set_key(int *type, ...); 00437 void *cfapi_object_get_property(int *type, ...); 00438 void *cfapi_object_set_property(int *type, ...); 00439 void *cfapi_object_apply_below(int *type, ...); 00440 void *cfapi_object_apply(int *type, ...); 00441 void *cfapi_object_identify(int *type, ...); 00442 void *cfapi_object_describe(int *type, ...); 00443 void *cfapi_object_drain(int *type, ...); 00444 void *cfapi_object_fix(int *type, ...); 00445 void *cfapi_object_give_skill(int *type, ...); 00446 void *cfapi_object_transmute(int *type, ...); 00447 void *cfapi_object_remove(int *type, ...); 00448 void *cfapi_object_delete(int *type, ...); 00449 void *cfapi_object_clone(int *type, ...); 00450 void *cfapi_object_find(int *type, ...); 00451 void *cfapi_object_create(int *type, ...); 00452 void *cfapi_object_insert(int *type, ...); 00453 void *cfapi_object_split(int *type, ...); 00454 void *cfapi_object_merge(int *type, ...); 00455 void *cfapi_object_distance(int *type, ...); 00456 void *cfapi_object_update(int *type, ...); 00457 void *cfapi_object_clear(int *type, ...); 00458 void *cfapi_object_reset(int *type, ...); 00459 void *cfapi_object_check_inventory(int *type, ...); 00460 void *cfapi_object_clean_object(int *type, ...); 00461 void *cfapi_object_on_same_map(int *type, ...); 00462 void *cfapi_object_spring_trap(int *type, ...); 00463 void *cfapi_object_check_trigger(int *type, ...); 00464 void *cfapi_map_trigger_connected(int *type, ...); 00465 void *cfapi_object_query_cost(int *type, ...); 00466 void *cfapi_object_query_money(int *type, ...); 00467 void *cfapi_object_cast(int *type, ...); 00468 void *cfapi_object_learn_spell(int *type, ...); 00469 void *cfapi_object_forget_spell(int *type, ...); 00470 void *cfapi_object_check_spell(int *type, ...); 00471 void *cfapi_object_pay_amount(int *type, ...); 00472 void *cfapi_object_pay_item(int *type, ...); 00473 void *cfapi_object_transfer(int *type, ...); 00474 void *cfapi_object_find_archetype_inside(int *type, ...); 00475 void *cfapi_object_drop(int *type, ...); 00476 void *cfapi_object_change_abil(int *type, ...); 00477 void *cfapi_object_say(int *type, ...); 00478 void *cfapi_player_find(int *type, ...); 00479 void *cfapi_player_message(int *type, ...); 00480 void *cfapi_object_change_exp(int *type, ...); 00481 void *cfapi_player_can_pay(int *type, ...); 00482 void *cfapi_object_teleport(int *type, ...); 00483 void *cfapi_object_pickup(int *type, ...); 00484 void *cfapi_archetype_get_property(int *type, ...); 00485 void *cfapi_party_get_property(int *type, ...); 00486 void *cfapi_region_get_property(int *type, ...); 00487 void *cfapi_friendlylist_get_next(int *type, ...); 00488 void *cfapi_set_random_map_variable(int *type, ...); 00489 void *cfapi_generate_random_map(int *type, ...); 00490 void *cfapi_object_user_event(int *type, ...); 00491 command_array_struct *find_plugin_command(char *cmd, object *op); 00492 int initPlugins(void); 00493 void cleanupPlugins(void); 00494 /* resurrection.c */ 00495 int cast_raise_dead_spell(object *op, object *caster, object *spell, int dir, const char *arg); 00496 void dead_player(object *op); 00497 /* rune.c */ 00498 int write_rune(object *op, object *caster, object *spell, int dir, const char *runename); 00499 void spring_trap(object *trap, object *victim); 00500 int dispel_rune(object *op, object *caster, object *spell, object *skill, int dir); 00501 int trap_see(object *op, object *trap); 00502 int trap_show(object *trap, object *where); 00503 int trap_disarm(object *disarmer, object *trap, int risk, object *skill); 00504 void trap_adjust(object *trap, int difficulty); 00505 /* shop.c */ 00506 uint64 query_cost(const object *tmp, object *who, int flag); 00507 uint64 query_money(const object *op); 00508 int pay_for_amount(uint64 to_pay, object *pl); 00509 int pay_for_item(object *op, object *pl); 00510 int can_pay(object *pl); 00511 int get_payment(object *pl, object *op); 00512 void sell_item(object *op, object *pl); 00513 double shopkeeper_approval(const mapstruct *map, const object *player); 00514 int describe_shop(const object *op); 00515 int is_in_shop(object *ob); 00516 int coords_in_shop(mapstruct *map, int x, int y); 00517 StringBuffer *query_cost_string(const object *tmp, object *who, int flag, StringBuffer *buf); 00518 /* skills.c */ 00519 int steal(object *op, int dir, object *skill); 00520 int pick_lock(object *pl, int dir, object *skill); 00521 int hide(object *op, object *skill); 00522 int jump(object *pl, int dir, object *skill); 00523 int skill_ident(object *pl, object *skill); 00524 int use_oratory(object *pl, int dir, object *skill); 00525 int singing(object *pl, int dir, object *skill); 00526 int find_traps(object *pl, object *skill); 00527 int remove_trap(object *op, object *skill); 00528 int pray(object *pl, object *skill); 00529 void meditate(object *pl, object *skill); 00530 int write_on_item(object *pl, const char *params, object *skill); 00531 int skill_throw(object *op, object *part, int dir, const char *params, object *skill); 00532 /* skill_util.c */ 00533 void init_skills(void); 00534 void link_player_skills(object *op); 00535 object *find_skill_by_name(object *who, const char *name); 00536 object *find_skill_by_number(object *who, int skillno); 00537 int change_skill(object *who, object *new_skill, int flag); 00538 void clear_skill(object *who); 00539 int do_skill(object *op, object *part, object *skill, int dir, const char *string); 00540 sint64 calc_skill_exp(object *who, object *op, object *skill); 00541 int learn_skill(object *pl, object *scroll); 00542 void show_skills(object *op, const char *search); 00543 int use_skill(object *op, const char *string); 00544 int skill_attack(object *tmp, object *pl, int dir, const char *string, object *skill); 00545 /* spell_attack.c */ 00546 int fire_bolt(object *op, object *caster, int dir, object *spob, object *skill); 00547 void explode_bullet(object *op); 00548 void check_bullet(object *op); 00549 int fire_bullet(object *op, object *caster, int dir, object *spob); 00550 void cone_drop(object *op); 00551 int cast_cone(object *op, object *caster, int dir, object *spell); 00552 int create_bomb(object *op, object *caster, int dir, object *spell); 00553 int cast_smite_spell(object *op, object *caster, int dir, object *spell); 00554 int cast_destruction(object *op, object *caster, object *spell_ob); 00555 int cast_curse(object *op, object *caster, object *spell_ob, int dir); 00556 int mood_change(object *op, object *caster, object *spell); 00557 int fire_swarm(object *op, object *caster, object *spell, int dir); 00558 int cast_light(object *op, object *caster, object *spell, int dir); 00559 int cast_cause_disease(object *op, object *caster, object *spell, int dir); 00560 /* spell_effect.c */ 00561 void cast_magic_storm(object *op, object *tmp, int lvl); 00562 int recharge(object *op, object *caster, object *spell_ob); 00563 void polymorph(object *op, object *who, int level); 00564 int cast_polymorph(object *op, object *caster, object *spell_ob, int dir); 00565 int cast_create_missile(object *op, object *caster, object *spell, int dir, const char *stringarg); 00566 int cast_create_food(object *op, object *caster, object *spell_ob, int dir, const char *stringarg); 00567 int probe(object *op, object *caster, object *spell_ob, int dir); 00568 int makes_invisible_to(object *pl, object *mon); 00569 int cast_invisible(object *op, object *caster, object *spell_ob); 00570 int cast_earth_to_dust(object *op, object *caster, object *spell_ob); 00571 int cast_word_of_recall(object *op, object *caster, object *spell_ob); 00572 int cast_wonder(object *op, object *caster, int dir, object *spell_ob); 00573 int perceive_self(object *op); 00574 int cast_create_town_portal(object *op, object *caster, object *spell, int dir); 00575 int magic_wall(object *op, object *caster, int dir, object *spell_ob); 00576 int dimension_door(object *op, object *caster, object *spob, int dir); 00577 int cast_heal(object *op, object *caster, object *spell, int dir); 00578 int cast_change_ability(object *op, object *caster, object *spell_ob, int dir, int silent); 00579 int cast_bless(object *op, object *caster, object *spell_ob, int dir); 00580 int alchemy(object *op, object *caster, object *spell_ob); 00581 int remove_curse(object *op, object *caster, object *spell); 00582 int cast_item_curse_or_curse(object *op, object *caster, object *spell_ob); 00583 int cast_identify(object *op, object *caster, object *spell); 00584 int cast_detection(object *op, object *caster, object *spell); 00585 int cast_transfer(object *op, object *caster, object *spell, int dir); 00586 void counterspell(object *op, int dir); 00587 int cast_consecrate(object *op, object *caster, object *spell); 00588 int animate_weapon(object *op, object *caster, object *spell, int dir); 00589 int cast_change_map_lightlevel(object *op, object *caster, object *spell); 00590 int create_aura(object *op, object *caster, object *spell); 00591 int write_mark(object *op, object *spell, const char *msg); 00592 /* spell_util.c */ 00593 object *find_random_spell_in_ob(object *ob, const char *skill); 00594 void set_spell_skill(object *op, object *caster, object *spob, object *dest); 00595 void check_spells(void); 00596 void dump_spells(void); 00597 void spell_effect(object *spob, int x, int y, mapstruct *map, object *originator); 00598 int min_casting_level(const object *caster, const object *spell); 00599 int caster_level(const object *caster, const object *spell); 00600 sint16 SP_level_spellpoint_cost(object *caster, object *spell, int flags); 00601 int SP_level_dam_adjust(const object *caster, const object *spob); 00602 int SP_level_duration_adjust(const object *caster, const object *spob); 00603 int SP_level_range_adjust(const object *caster, const object *spob); 00604 object *check_spell_known(object *op, const char *name); 00605 object *lookup_spell_by_name(object *op, const char *spname); 00606 int reflwall(mapstruct *m, int x, int y, object *sp_op); 00607 int cast_create_obj(object *op, object *new_op, int dir); 00608 int ok_to_put_more(mapstruct *m, sint16 x, sint16 y, object *op, uint32 immune_stop); 00609 int fire_arch_from_position(object *op, object *caster, sint16 x, sint16 y, int dir, object *spell); 00610 void regenerate_rod(object *rod); 00611 void drain_rod_charge(object *rod); 00612 void drain_wand_charge(object *wand); 00613 object *find_target_for_friendly_spell(object *op, int dir); 00614 int spell_find_dir(mapstruct *m, int x, int y, object *exclude); 00615 int summon_hostile_monsters(object *op, int n, const char *monstername); 00616 void shuffle_attack(object *op, int change_face); 00617 void spell_failure(object *op, int failure, int power, object *skill); 00618 int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg); 00619 void store_spell_expiry(object *spell); 00620 void check_spell_expiry(object *spell); 00621 /* swap.c */ 00622 void read_map_log(void); 00623 int swap_map(mapstruct *map); 00624 void check_active_maps(void); 00625 void swap_below_max(const char *except_level); 00626 int players_on_map(mapstruct *m, int show_all); 00627 void flush_old_maps(void); 00628 /* time.c */ 00629 void remove_door(object *op); 00630 void remove_locked_door(object *op); 00631 object *stop_item(object *op); 00632 void fix_stopped_item(object *op, mapstruct *map, object *originator); 00633 object *fix_stopped_arrow(object *op); 00634 int free_no_drop(object *op); 00635 void move_firewall(object *op); 00636 void move_player_mover(object *op); 00637 int process_object(object *op); 00638 void legacy_remove_force(object *op); 00639 void legacy_animate_trigger(object *op); 00640 void legacy_move_hole(object *op); 00641 /* timers.c */ 00642 void cftimer_process_timers(void); 00643 int cftimer_create(int id, long delay, object *ob, int mode); 00644 int cftimer_destroy(int id); 00645 int cftimer_find_free_id(void); 00646 void cftimer_init(void); 00647 /* weather.c */ 00648 void set_darkness_map(mapstruct *m); 00649 void tick_the_clock(void); 00650 int similar_direction(int a, int b); 00651 /* server.c */ 00652 void version(object *op); 00653 void start_info(object *op); 00654 char *crypt_string(char *str, char *salt); 00655 int check_password(char *typed, char *crypted); 00656 void enter_player_savebed(object *op); 00657 void set_map_timeout(mapstruct *oldmap); 00658 void enter_exit(object *op, object *exit_ob); 00659 void process_events(void); 00660 void clean_tmp_files(void); 00661 void cleanup(void); 00662 void leave(player *pl, int draw_exit); 00663 int forbid_play(void); 00664 int server_main(int argc, char **argv);