Crossfire Server, Branch 1.12
R12190
|
Implimentation of spellbooks. More...
#include <global.h>
#include <ob_methods.h>
#include <ob_types.h>
#include <sounds.h>
#include <sproto.h>
Go to the source code of this file.
Functions | |
void | init_type_spellbook (void) |
Initializer for the SPELLBOOK object type. | |
static method_ret | spellbook_type_apply (ob_methods *context, object *book, object *applier, int aflags) |
Applies a spellbook. |
Implimentation of spellbooks.
Definition in file spellbook.c.
void init_type_spellbook | ( | void | ) |
Initializer for the SPELLBOOK object type.
Definition at line 39 of file spellbook.c.
References register_apply(), SPELLBOOK, and spellbook_type_apply().
Referenced by register_all_ob_types().
static method_ret spellbook_type_apply | ( | ob_methods * | context, |
object * | book, | ||
object * | applier, | ||
int | aflags | ||
) | [static] |
Applies a spellbook.
Checks whether player has knowledge of required skill, doesn't already know the spell, stuff like that. Random learning failure too.
context | method context. |
book | Spellbook to apply. |
applier | object attempting to apply the spellbook. Should be a player. |
aflags | special flags (always apply/unapply). |
handle failure differently for praying/magic.
split into multiple functions
Definition at line 64 of file spellbook.c.
References calc_skill_exp(), change_exp(), check_spell_known(), decrease_ob, die_roll(), do_forget_spell(), do_learn_spell(), draw_ext_info(), draw_ext_info_format(), esrv_update_item(), find_skill_by_name(), FLAG_BLESSED, FLAG_BLIND, FLAG_CONFUSED, FLAG_CURSED, FLAG_DAMNED, FLAG_IDENTIFIED, FLAG_STARTEQUIP, FLAG_WIZ, get_levelnumber(), identify(), learn_spell, llevError, LOG(), MAX, MAX_BUF, METHOD_OK, MSG_TYPE_APPLY, MSG_TYPE_APPLY_ERROR, MSG_TYPE_APPLY_FAILURE, MSG_TYPE_APPLY_SUCCESS, NDI_UNIQUE, play_sound_player_only(), PLAYER, PREFER_LOW, QUERY_FLAG, query_name(), random_roll(), rndm(), scroll_failure(), settings, SOUND_TYPE_SPELL, Settings::spell_failure_effects, TRUE, UPD_FLAGS, and UPD_NAME.
Referenced by init_type_spellbook().