Crossfire Server, Branches 1.12
R18729
|
#include <global.h>
#include <sproto.h>
#include <spells.h>
#include <skills.h>
#include <newclient.h>
#include <commands.h>
Go to the source code of this file.
Functions | |
void | change_spell (object *op, char k) |
int | command_cast (object *op, char *params) |
int | command_cast_spell (object *op, char *params, char command) |
int | command_invoke (object *op, char *params) |
int | command_prepare (object *op, char *params) |
int | command_rotateshoottype (object *op, char *params) |
int | legal_range (object *op, int r) |
static void | show_matching_spells (object *op, char *params) |
Range related commands (casting, shooting, throwing, etc.).
Definition in file c_range.c.
void change_spell | ( | object * | op, |
char | k | ||
) |
Rotate the selected range attack.
op | player. |
k | '+' selects next range, other values previous range. |
Definition at line 321 of file c_range.c.
References obj::chosen_skill, obj::contr, draw_ext_info(), draw_ext_info_format(), legal_range(), MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, MSG_TYPE_COMMAND_SUCCESS, obj::name, NDI_UNIQUE, query_base_name(), query_name(), obj::race, range_bottom, range_bow, range_golem, range_magic, range_misc, range_none, range_size, range_skill, pl::ranges, and pl::shoottype.
Referenced by command_rotateshoottype().
int command_cast | ( | object * | op, |
char * | params | ||
) |
'cast' command, prepares a spell for laster casting.
op | player. |
params | spell. |
Definition at line 67 of file c_range.c.
References command_cast_spell().
int command_cast_spell | ( | object * | op, |
char * | params, | ||
char | command | ||
) |
Sets up to cast a spell.
Invoke casts a spell immediately, whereas cast just set up the range type.
op | caster. |
params | spell name. |
command | first letter of the spell type (c=cast, i=invoke, p=prepare). |
Definition at line 178 of file c_range.c.
References obj::below, cast_spell(), obj::contr, obj::count, draw_ext_info(), draw_ext_info_format(), obj::facing, find_skill_by_name(), free_object(), pl::golem_count, obj::inv, lookup_spell_by_name(), MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, MSG_TYPE_COMMAND_SUCCESS, MSG_TYPE_SKILL, MSG_TYPE_SKILL_MISSING, obj::name, NDI_UNIQUE, range_golem, range_magic, pl::ranges, remove_friendly_object(), remove_ob(), pl::shoottype, show_matching_spells(), obj::skill, SPELL, pl::spellparam, and obj::type.
Referenced by command_cast(), command_invoke(), and command_prepare().
int command_invoke | ( | object * | op, |
char * | params | ||
) |
'invoke' command, fires a spell immediately.
op | player. |
params | spell. |
Definition at line 53 of file c_range.c.
References command_cast_spell().
int command_prepare | ( | object * | op, |
char * | params | ||
) |
Equivalent to command_cast().
op | player. |
params | spell. |
Definition at line 82 of file c_range.c.
References command_cast_spell().
int command_rotateshoottype | ( | object * | op, |
char * | params | ||
) |
'rotateshoottype' command, switch range attack.
op | player. |
params | arguments to the command. |
Definition at line 394 of file c_range.c.
References change_spell().
int legal_range | ( | object * | op, |
int | r | ||
) |
Check for the validity of a player range.
This function could probably be simplified, eg, everything should index into the ranges[] array.
op | player to check. |
r | range to check. |
1 | range specified is legal - that is, the character has an item that is equipped for that range type. |
0 | no item of that range type that is usable. |
Definition at line 282 of file c_range.c.
References obj::chosen_skill, obj::contr, obj::count, pl::golem_count, range_bow, range_golem, range_magic, range_misc, range_none, range_skill, and pl::ranges.
Referenced by change_spell(), and check_login().
|
static |
Shows all spells that op knows.
Given there is more than one skill, we can't supply break them down to cleric/wizardry.
op | player wanting to knows her spells. |
params | if supplied, the spell name must match that. |
Definition at line 97 of file c_range.c.
References obj::below, draw_ext_info(), draw_ext_info_format(), obj::inv, obj::level, MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, MSG_TYPE_COMMAND_SUCCESS, obj::name, NDI_UNIQUE, NROFREALSPELLS, obj::path_attuned, obj::path_denied, obj::skill, snprintf(), SP_level_spellpoint_cost(), SPELL, SPELL_HIGHEST, and obj::type.
Referenced by command_cast_spell().