Crossfire Server, Trunk
|
#include "global.h"
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include "sproto.h"
#include "spells.h"
#include "treasure.h"
#include "skills.h"
#include "assets.h"
Go to the source code of this file.
Macros | |
#define | STACK_SIZE 50 |
Enumerations | |
enum | { STACK_FROM_NONE = 0, STACK_FROM_TOP = 1, STACK_FROM_STACK = 2, STACK_FROM_NUMBER = 3 } |
Functions | |
bool | can_follow (object *op, player *other) |
static int | checkdm (object *op, const char *pl_name, const char *pl_passwd, const char *pl_host) |
void | command_abil (object *op, const char *params) |
void | command_accountpasswd (object *op, const char *params) |
void | command_addexp (object *op, const char *params) |
void | command_arrest (object *op, const char *params) |
void | command_banish (object *op, const char *params) |
void | command_create (object *op, const char *params) |
void | command_diff (object *op, const char *params) |
void | command_dm (object *op, const char *params) |
void | command_dmhide (object *op, const char *params) |
void | command_dump (object *op, const char *params) |
void | command_dumpabove (object *op, const char *params) |
void | command_dumpbelow (object *op, const char *params) |
void | command_follow (object *op, const char *params) |
void | command_forget_spell (object *op, const char *params) |
void | command_free (object *op, const char *params) |
void | command_freeze (object *op, const char *params) |
void | command_goto (object *op, const char *params) |
void | command_hide (object *op, const char *params) |
void | command_insert_into (object *op, const char *params) |
void | command_inventory (object *op, const char *params) |
void | command_invisible (object *op, const char *params) |
void | command_kick (object *op, const char *params) |
static void | command_kick2 (object *op, const char *params) |
void | command_learn_special_prayer (object *op, const char *params) |
void | command_learn_spell (object *op, const char *params) |
static void | command_learn_spell_or_prayer (object *op, const char *params, int special_prayer) |
void | command_listplugins (object *op, const char *params) |
void | command_loadplugin (object *op, const char *params) |
void | command_loadtest (object *op, const char *params) |
void | command_mon_aggr (object *op, const char *params) |
void | command_nowiz (object *op, const char *params) |
void | command_overlay_reset (object *op, const char *params) |
void | command_overlay_save (object *op, const char *params) |
void | command_patch (object *op, const char *params) |
void | command_possess (object *op, const char *params) |
void | command_purge_quest (object *op, const char *param) |
void | command_purge_quest_definitions (object *op, const char *param) |
void | command_recollect (object *op, const char *params) |
void | command_remove (object *op, const char *params) |
void | command_reset (object *op, const char *params) |
void | command_setgod (object *op, const char *params) |
void | command_settings (object *op, const char *ignored) |
void | command_shutdown (object *op, const char *params) |
void | command_skills (object *op, const char *params) |
void | command_speed (object *op, const char *params) |
void | command_stack_clear (object *op, const char *params) |
void | command_stack_list (object *op, const char *params) |
void | command_stack_pop (object *op, const char *params) |
void | command_stack_push (object *op, const char *params) |
void | command_stats (object *op, const char *params) |
void | command_style_map_info (object *op, const char *params) |
void | command_summon (object *op, const char *params) |
void | command_teleport (object *op, const char *params) |
void | command_toggle_shout (object *op, const char *params) |
void | command_unloadplugin (object *op, const char *params) |
static object * | dm_stack_peek (player *pl) |
static void | dm_stack_pop (player *pl) |
static void | dm_stack_push (player *pl, tag_t item) |
void | do_dump (object *who, object *what) |
static int | do_wizard_dm (object *op, const char *params, int silent) |
static void | do_wizard_hide (object *op, int silent_dm) |
static object * | find_object_both (const char *params) |
static object * | get_dm_object (player *pl, const char **params, int *from) |
static player * | get_other_player_from_name (object *op, const char *name) |
static object * | get_spell_by_name (object *op, const char *spell_name) |
int | player_arrest (object *who) |
static void | reset_faces_sent (struct socket_struct *socket) |
static void | unhide (object *op) |
Variables | |
struct shutdown_s | shutdown_state |
Those functions are used by DMs.
Definition in file c_wiz.c.
anonymous enum |
Values for 'from' field of get_dm_object()
Enumerator | |
---|---|
STACK_FROM_NONE | Item was not found |
STACK_FROM_TOP | Item is stack top |
STACK_FROM_STACK | Item is somewhere in stack |
STACK_FROM_NUMBER | Item is a number (may be top) |
Definition at line 2770 of file c_wiz.c.
References obj::contr, pl::ob, give::op, and pl::party.
Referenced by command_follow(), and do_follow().
|
static |
object *op is trying to become dm. pl_name is name supplied by player. Restrictive DM will make it harder for socket users to become DM - in that case, it will check for the players character name.
op | player wishing to become DM. |
pl_name | player's name. |
pl_passwd | entered password. |
pl_host | player's host. |
0 | invalid credentials. |
1 | op can become DM. |
Definition at line 2090 of file c_wiz.c.
References buf, Settings::confdir, DMFILE, llevDebug, llevError, LOG(), MAX_BUF, give::name, give::op, settings, and nlohmann::detail::void().
Referenced by do_wizard_dm().
void command_abil | ( | object * | op, |
const char * | params | ||
) |
Changes an object's statistics.
op | wizard. |
params | parameters, should be "player statistic new_value". |
Definition at line 1814 of file c_wiz.c.
References liv::Cha, liv::Con, liv::Dex, draw_ext_info(), draw_ext_info_format(), FALSE, first_player, fix_object(), FLAG_WAS_WIZ, liv::Int, Settings::max_stat, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::next, pl::ob, give::op, pl::orig_stats, roll-o-matic::params, altar_valkyrie::pl, liv::Pow, Settings::real_wiz, SET_FLAG, settings, obj::stats, liv::Str, and liv::Wis.
Referenced by commands_init().
void command_accountpasswd | ( | object * | op, |
const char * | params | ||
) |
Definition at line 1633 of file c_wiz.c.
References account_change_password(), draw_ext_info(), MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, give::op, and roll-o-matic::params.
Referenced by commands_init().
void command_addexp | ( | object * | op, |
const char * | params | ||
) |
This adds exp to a player. We now allow adding to a specific skill.
op | wizard. |
params | should be "player quantity [skill]". |
Definition at line 1671 of file c_wiz.c.
References buf, calc_perm_exp(), check_exp_adjust(), draw_ext_info(), draw_ext_info_format(), liv::exp, FALSE, find_skill_by_name(), first_player, FLAG_WAS_WIZ, MAX_BUF, MAX_NAME, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::next, pl::ob, give::op, roll-o-matic::params, altar_valkyrie::pl, player_lvl_adj(), item::q, Settings::real_wiz, SET_FLAG, settings, and obj::stats.
Referenced by commands_init().
void command_arrest | ( | object * | op, |
const char * | params | ||
) |
Wizard jails player.
op | wizard. |
params | player to jail. |
Definition at line 841 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), get_other_player_from_name(), llevInfo, LOG(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::ob, give::op, roll-o-matic::params, altar_valkyrie::pl, and player_arrest().
Referenced by commands_init().
void command_banish | ( | object * | op, |
const char * | params | ||
) |
Add player's IP to ban_file and kick them off the server.
I know most people have dynamic IPs but this is more of a short term solution if they have to get a new IP to play maybe they'll calm down. This uses the banish_file in the local directory *not *the ban_file The action is logged with a ! for easy searching. -tm
op | DM banishing. |
params | player to banish. Must be a complete name match. |
Definition at line 522 of file c_wiz.c.
References BANISHFILE, buf, command_kick2(), draw_ext_info(), draw_ext_info_format(), get_other_player_from_name(), socket_struct::host, llevDebug, Settings::localdir, LOG(), MAX_BUF, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_ALL, NDI_RED, NDI_UNIQUE, pl::ob, give::op, roll-o-matic::params, altar_valkyrie::pl, settings, and pl::socket.
Referenced by commands_init().
void command_create | ( | object * | op, |
const char * | params | ||
) |
Wizard wants to create an object.
This function is a real mess, because we're stucking getting the entire item description in one block of text, so we just can't simply parse it - we need to look for double quotes for example. This could actually get much simpler with just a little help from the client - if we could get line breaks, it makes parsing much easier, eg, something like:
which is much easier to parse than dragon name "big nasty creature" hp 5 sp 30 for example.
op | wizard. |
params | object description. |
Definition at line 999 of file c_wiz.c.
References arch_to_object(), reputation_trigger_connect::check(), archt::clone, create_treasure(), dm_stack_pop(), dm_stack_push(), draw_ext_info(), draw_ext_info_format(), FALSE, find_archetype_by_object_name(), find_artifactlist(), FLAG_ALIVE, FLAG_IDENTIFIED, FLAG_MONSTER, FLAG_WAS_WIZ, FREE_OBJ_NO_DESTROY_CALLBACK, give_artifact_abilities(), is_identifiable_type(), artifactstruct::item, artifactliststruct::items, legal_artifact_combination(), llevDebug, LOG(), MAX, MAX_BUF, monster_check_apply_all(), obj::more, archt::more, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, artifactstruct::next, obj::nrof, object_copy(), object_create_arch(), object_free(), object_give_identified_properties(), object_insert_in_map_at(), object_insert_in_ob(), give::op, obj::other_arch, out_of_map(), roll-o-matic::params, POTION, QUERY_FLAG, obj::randomitems, Settings::real_wiz, ROD, safe_strncpy, SCROLL, set_abs_magic(), SET_FLAG, set_magic(), set_variable(), settings, banquet::size_x, banquet::size_y, SPELL, SPELLBOOK, Ice::tmp, try_find_archetype(), obj::type, and WAND.
Referenced by commands_init().
void command_diff | ( | object * | op, |
const char * | params | ||
) |
Get a diff of specified items. Second item is compared to first, and differences displayed.
Ryo, august 2004
op | wizard. |
params | object specifier. |
Definition at line 2596 of file c_wiz.c.
References dm_stack_pop(), draw_ext_info(), get_dm_object(), get_ob_diff(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, object_find_by_tag_global(), give::op, roll-o-matic::params, STACK_FROM_NUMBER, STACK_FROM_TOP, stringbuffer_finish(), and stringbuffer_new().
Referenced by commands_init().
void command_dm | ( | object * | op, |
const char * | params | ||
) |
Actual command to perhaps become dm. Changed around a bit in version 0.92.2 to allow people on sockets to become dm, and allow better dm file
op | player wishing to become wizard. |
params | password. |
Definition at line 2187 of file c_wiz.c.
References do_wizard_dm(), give::op, and roll-o-matic::params.
Referenced by commands_init().
void command_dmhide | ( | object * | op, |
const char * | params | ||
) |
A players wants to become DM and hide. Let's see if that's authorized. Make sure to not tell anything to anyone.
op | wizard. |
params | password. |
Definition at line 2493 of file c_wiz.c.
References do_wizard_dm(), do_wizard_hide(), give::op, and roll-o-matic::params.
Referenced by commands_init().
void command_dump | ( | object * | op, |
const char * | params | ||
) |
Dumps the difference between an object and its archetype.
op | wiard. |
params | object to dump. |
Definition at line 1379 of file c_wiz.c.
References draw_ext_info(), FLAG_OBJ_ORIGINAL, get_dm_object(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, object_dump(), give::op, roll-o-matic::params, QUERY_FLAG, stringbuffer_finish(), stringbuffer_new(), and Ice::tmp.
Referenced by commands_init().
void command_dumpabove | ( | object * | op, |
const char * | params | ||
) |
Player wants to dump object above her.
op | player asking for information. |
params | unused. |
Definition at line 2876 of file c_wiz.c.
References do_dump(), give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_dumpbelow | ( | object * | op, |
const char * | params | ||
) |
Player wants to dump object below her.
op | player asking for information. |
params | unused. |
Definition at line 2861 of file c_wiz.c.
References do_dump(), give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_follow | ( | object * | op, |
const char * | params | ||
) |
Follow a player, or stop following a player.
op | Player follower |
params | player to follow. If NULL, stop following player. |
Definition at line 2783 of file c_wiz.c.
References add_string(), can_follow(), rv_vector::distance, draw_ext_info(), draw_ext_info_format(), find_player_partial_name(), FLAG_WIZ, FREE_AND_CLEAR_STR, get_rangevector(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_FAILURE, MSG_TYPE_COMMAND_SUCCESS, MSG_TYPE_COMMUNICATION, MSG_TYPE_COMMUNICATION_PARTY, obj::name, NDI_UNIQUE, pl::ob, give::op, roll-o-matic::params, and QUERY_FLAG.
Referenced by commands_init().
void command_forget_spell | ( | object * | op, |
const char * | params | ||
) |
Command for players to forget a spell. This command used to be available only to DMs.
op | player |
params | spell name to forget. |
Definition at line 2389 of file c_wiz.c.
References do_forget_spell(), draw_ext_info(), draw_ext_info_format(), lookup_spell_by_name(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, give::op, and roll-o-matic::params.
Referenced by commands_init().
void command_free | ( | object * | op, |
const char * | params | ||
) |
Totally free an object.
op | wizard. |
params | object to free. |
Definition at line 1607 of file c_wiz.c.
References dm_stack_pop(), draw_ext_info(), FLAG_REMOVED, get_dm_object(), HEAD, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, object_free_drop_inventory(), object_remove(), give::op, roll-o-matic::params, QUERY_FLAG, STACK_FROM_STACK, and Ice::tmp.
Referenced by commands_init().
void command_freeze | ( | object * | op, |
const char * | params | ||
) |
Freezes a player for a specified tick count, 100 by default.
op | wizard freezing the player. |
params | optional tick count, followed by player name. |
Definition at line 765 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), get_other_player_from_name(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_RED, NDI_UNIQUE, pl::ob, give::op, roll-o-matic::params, altar_valkyrie::pl, obj::speed, and obj::speed_left.
Referenced by commands_init().
void command_goto | ( | object * | op, |
const char * | params | ||
) |
Wizard teleports to a map.
op | wizard teleporting. |
params | map to teleport to. Can be absolute or relative path. |
Definition at line 744 of file c_wiz.c.
References do_goto(), draw_ext_info(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, give::op, and roll-o-matic::params.
Referenced by command_loadtest(), and commands_init().
void command_hide | ( | object * | op, |
const char * | params | ||
) |
Wizard 'hide' command.
op | DM wanting to hide. |
params | ignored. |
Definition at line 388 of file c_wiz.c.
References do_wizard_hide(), give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_insert_into | ( | object * | op, |
const char * | params | ||
) |
Puts an object into another.
op | wizard. |
params | object specifier. |
Definition at line 2660 of file c_wiz.c.
References dm_stack_pop(), draw_ext_info(), draw_ext_info_format(), esrv_update_item(), FLAG_REMOVED, get_dm_object(), MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, object_find_by_tag_global(), object_insert_in_ob(), object_remove(), give::op, roll-o-matic::params, PLAYER, QUERY_FLAG, query_name(), STACK_FROM_NUMBER, STACK_FROM_TOP, obj::type, UPD_NAME, UPD_NROF, UPD_WEIGHT, and python_pickup::where.
Referenced by commands_init().
void command_inventory | ( | object * | op, |
const char * | params | ||
) |
Shows the inventory or some item.
op | player. |
params | object count to get the inventory of. If NULL then defaults to op. |
Definition at line 1337 of file c_wiz.c.
References draw_ext_info(), inventory(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, object_find_by_tag_global(), give::op, roll-o-matic::params, and Ice::tmp.
Referenced by commands_init().
void command_invisible | ( | object * | op, |
const char * | params | ||
) |
Wizard wants to become invisible.
op | wizard. |
params | ignored. |
Definition at line 2199 of file c_wiz.c.
References draw_ext_info(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, object_update(), give::op, roll-o-matic::params, UP_OBJ_FACE, and nlohmann::detail::void().
Referenced by commands_init().
void command_kick | ( | object * | op, |
const char * | params | ||
) |
Kicks a player from the server.
op | DM kicking. |
params | player to kick. Must be a full name match. |
Definition at line 576 of file c_wiz.c.
References command_kick2(), give::op, and roll-o-matic::params.
Referenced by commands_init().
|
static |
Kicks a player from the server.
op | DM kicking. |
params | player to kick. Must be a full name match. |
Definition at line 467 of file c_wiz.c.
References draw_ext_info_format(), EVENT_KICK, events_execute_global_event(), first_player, FLAG_FREED, FLAG_REMOVED, hiscore_check(), MAP_TIMEOUT, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, obj::name, NDI_ALL, NDI_RED, NDI_UNIQUE, pl::next, Ns_Dead, pl::ob, object_remove(), give::op, roll-o-matic::params, altar_valkyrie::pl, QUERY_FLAG, save_player(), pl::socket, socket_struct::status, and nlohmann::detail::void().
Referenced by command_banish(), and command_kick().
void command_learn_special_prayer | ( | object * | op, |
const char * | params | ||
) |
Wizard wants to learn a god-given spell.
op | wizard. |
params | spell name. |
Definition at line 2376 of file c_wiz.c.
References command_learn_spell_or_prayer(), give::op, and roll-o-matic::params.
Referenced by commands_init().
void command_learn_spell | ( | object * | op, |
const char * | params | ||
) |
Wizard wants to learn a regular spell.
op | wizard. |
params | spell name. |
Definition at line 2364 of file c_wiz.c.
References command_learn_spell_or_prayer(), give::op, and roll-o-matic::params.
Referenced by commands_init().
|
static |
Wizards wants to learn a spell.
op | wizard. |
params | spell name to learn. |
special_prayer | if set, special (god-given) prayer. |
Definition at line 2331 of file c_wiz.c.
References check_spell_known(), do_learn_spell(), draw_ext_info(), draw_ext_info_format(), FREE_OBJ_NO_DESTROY_CALLBACK, get_spell_by_name(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, object_free(), give::op, roll-o-matic::params, and Ice::tmp.
Referenced by command_learn_special_prayer(), and command_learn_spell().
void command_listplugins | ( | object * | op, |
const char * | params | ||
) |
Lists all plugins currently loaded with their IDs and full names.
op | wizard. |
params | ignored. |
Definition at line 2417 of file c_wiz.c.
References give::op, roll-o-matic::params, plugins_display_list(), and nlohmann::detail::void().
Referenced by commands_init().
void command_loadplugin | ( | object * | op, |
const char * | params | ||
) |
Loads the given plugin. The DM specifies the name of the library to load (no pathname is needed). Do not ever attempt to load the same plugin more than once at a time, or bad things could happen.
op | DM loading a plugin. |
params | should be the plugin's name, eg cfpython.so |
Definition at line 2432 of file c_wiz.c.
References buf, draw_ext_info(), draw_ext_info_format(), llevDebug, llevInfo, LOG(), MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, give::op, roll-o-matic::params, and plugins_init_plugin().
Referenced by commands_init().
void command_loadtest | ( | object * | op, |
const char * | params | ||
) |
This command will stress server.
It will basically load all world maps (so 900 maps).
op | DM wanting to test the server. |
params | option, must be "TRUE" for the test to happen. |
Definition at line 305 of file c_wiz.c.
References buf, command_goto(), draw_ext_info(), draw_ext_info_format(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DEBUG, NDI_UNIQUE, give::op, roll-o-matic::params, settings, Settings::worldmapstartx, Settings::worldmapstarty, Settings::worldmaptilesx, Settings::worldmaptilesy, diamondslots::x, and diamondslots::y.
Referenced by commands_init().
void command_mon_aggr | ( | object * | op, |
const char * | params | ||
) |
When DM is possessing a monster, flip aggression on and off, to allow better motion.
op | wiard. |
params | ignored. |
Definition at line 1407 of file c_wiz.c.
References CLEAR_FLAG, draw_ext_info(), FLAG_FRIENDLY, FLAG_UNAGGRESSIVE, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, object_set_enemy(), give::op, roll-o-matic::params, QUERY_FLAG, SET_FLAG, and nlohmann::detail::void().
Referenced by commands_init().
void command_nowiz | ( | object * | op, |
const char * | params | ||
) |
Steps down from wizard mode.
op | wizard. |
params | ignored. |
Definition at line 2053 of file c_wiz.c.
References CLEAR_FLAG, draw_ext_info(), FLAG_WAS_WIZ, FLAG_WIZ, FLAG_WIZCAST, FLAG_WIZPASS, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, NDI_ALL, NDI_LT_GREEN, NDI_UNIQUE, give::op, roll-o-matic::params, Settings::real_wiz, settings, TRUE, unhide(), update_los(), and nlohmann::detail::void().
Referenced by commands_init().
void command_overlay_reset | ( | object * | op, |
const char * | params | ||
) |
Removes the overlay for op's current map.
op | DM acting. |
params | ignored. |
Definition at line 609 of file c_wiz.c.
References create_overlay_pathname(), draw_ext_info(), npc_dialog::filename, MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_overlay_save | ( | object * | op, |
const char * | params | ||
) |
Saves the op's map as an overlay - objects are persisted.
op | DM wanting to save. |
params | ignored. |
Definition at line 588 of file c_wiz.c.
References draw_ext_info(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_SUCCESS, NDI_UNIQUE, give::op, roll-o-matic::params, save_map(), SAVE_MODE_OVERLAY, and nlohmann::detail::void().
Referenced by commands_init().
void command_patch | ( | object * | op, |
const char * | params | ||
) |
Wizard wants to altar an object.
op | wizard. |
params | object and what to patch. |
Definition at line 1495 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), FALSE, FLAG_WAS_WIZ, get_dm_object(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, give::op, roll-o-matic::params, Settings::real_wiz, SET_FLAG, set_variable(), settings, and Ice::tmp.
Referenced by commands_init().
void command_possess | ( | object * | op, |
const char * | params | ||
) |
DM can possess a monster. Basically, this tricks the client into thinking a given monster, is actually the player it controls. This allows a DM to inhabit a monster's body, and run around the game with it. This function is severely broken - it has tons of hardcoded values,
op | wizard wanting to possess something. |
params | monster to possess. |
Definition at line 1434 of file c_wiz.c.
References buf, do_some_living(), draw_ext_info(), esrv_new_player(), esrv_send_inventory(), fix_object(), FLAG_WIZ, MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, NUM_BODY_LOCATIONS, pl::ob, object_find_by_name_global(), object_find_by_tag_global(), give::op, roll-o-matic::params, altar_valkyrie::pl, PLAYER, SET_FLAG, and reputation::victim.
void command_purge_quest | ( | object * | op, |
const char * | param | ||
) |
Definition at line 2827 of file c_wiz.c.
References draw_ext_info(), free_quest(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, NDI_UNIQUE, give::op, and nlohmann::detail::void().
Referenced by commands_init().
void command_purge_quest_definitions | ( | object * | op, |
const char * | param | ||
) |
Definition at line 2833 of file c_wiz.c.
References assets_collect(), ASSETS_QUESTS, Settings::datadir, draw_ext_info(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, NDI_UNIQUE, give::op, settings, and nlohmann::detail::void().
Referenced by commands_init().
void command_recollect | ( | object * | op, |
const char * | params | ||
) |
Definition at line 1533 of file c_wiz.c.
References Socket_Info::allocated_sockets, first_player, init_sockets, load_assets(), give::next, pl::next, Ns_Add, give::op, roll-o-matic::params, reset_faces_sent(), pl::socket, socket_info, takeitem::status, and nlohmann::detail::void().
Referenced by commands_init().
void command_remove | ( | object * | op, |
const char * | params | ||
) |
Remove an object from its position.
op | wizard. |
params | object to remove. |
Definition at line 1560 of file c_wiz.c.
References dm_stack_pop(), draw_ext_info(), draw_ext_info_format(), FLAG_REMOVED, get_dm_object(), HEAD, MAX_BUF, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, give::name, NDI_UNIQUE, object_remove(), object_update_speed(), give::op, roll-o-matic::params, PLAYER, QUERY_FLAG, query_name(), STACK_FROM_STACK, and Ice::tmp.
Referenced by commands_init().
void command_reset | ( | object * | op, |
const char * | params | ||
) |
Resets a map.
op | wizard. |
params | map to reset. Can be "." for current op's map, or a map path. |
Definition at line 1880 of file c_wiz.c.
References add_string(), draw_ext_info(), draw_ext_info_format(), enter_exit(), EXIT_PATH, EXIT_X, EXIT_Y, first_player, flush_old_maps(), FREE_OBJ_NO_DESTROY_CALLBACK, has_been_loaded(), HUGE_BUF, llevDebug, llevError, LOG(), m, obj::map, MAP_IN_MEMORY, map_remove_unique_files(), MAP_SWAPPED, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_RED, NDI_UNIQUE, pl::next, pl::ob, object_free(), object_insert_in_map_at(), object_new(), object_remove(), give::op, roll-o-matic::params, python_init::path, path_combine_and_normalize(), altar_valkyrie::pl, castle_read::playercount, altar_valkyrie::res, SAVE_ERROR_PLAYER, strlcpy(), swap_map(), and Ice::tmp.
Referenced by commands_init().
void command_setgod | ( | object * | op, |
const char * | params | ||
) |
Sets the god for some objects.
op | DM wanting to change an object. |
params | command options. Should contain two values, first the object to change, followed by the god to change it to. |
Definition at line 417 of file c_wiz.c.
References become_follower(), draw_ext_info(), draw_ext_info_format(), find_god(), find_object_both(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, guildjoin::ob, give::op, roll-o-matic::params, PLAYER, and make_face_from_files::str.
Referenced by commands_init().
void command_settings | ( | object * | op, |
const char * | ignored | ||
) |
Wizard wants to know some server settings, so display.
op | wizard asking for settings. |
ignored | ignored additional text. |
Definition at line 2888 of file c_wiz.c.
References Settings::allow_denied_spells_writing, Settings::casting_time, Settings::create_home_portals, Settings::death_penalty_level, Settings::death_penalty_ratio, draw_ext_info(), draw_ext_info_format(), Settings::item_power_factor, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, NDI_UNIQUE, Settings::no_player_stealing, Settings::not_permadeth, give::op, Settings::permanent_exp_ratio, Settings::resurrection, Settings::set_friendly_fire, Settings::set_title, settings, Settings::spell_encumbrance, Settings::spell_failure_effects, and nlohmann::detail::void().
Referenced by commands_init().
void command_shutdown | ( | object * | op, |
const char * | params | ||
) |
Totally shutdowns the server.
op | wizard shutting down the server. |
params | When to shut down the server. |
Definition at line 678 of file c_wiz.c.
References command_help(), draw_ext_info(), draw_ext_info_format(), llevInfo, LOG(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, MSG_TYPE_COMMAND_SUCCESS, NDI_ALL, NDI_UNIQUE, shutdown_s::next_warn, give::op, roll-o-matic::params, SHUTDOWN_IDLE, SHUTDOWN_NONE, shutdown_state, SHUTDOWN_TIME, shutdown_s::time, and shutdown_s::type.
Referenced by commands_init().
void command_skills | ( | object * | op, |
const char * | params | ||
) |
Player is asking for her skills.
Just show player's their skills for now. Dm's can already see skills w/ inventory command - b.t.
op | player. |
params | optional skill restriction. |
Definition at line 1367 of file c_wiz.c.
References give::op, roll-o-matic::params, and show_skills().
Referenced by commands_init().
void command_speed | ( | object * | op, |
const char * | params | ||
) |
Changes the server speed.
op | wizard. |
params | new speed, or NULL to see the speed. |
Definition at line 1727 of file c_wiz.c.
References draw_ext_info_format(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, give::op, roll-o-matic::params, reset_sleep(), set_tick_duration(), and tick_duration.
Referenced by commands_init().
void command_stack_clear | ( | object * | op, |
const char * | params | ||
) |
Empty DM item stack.
op | wizard. |
params | ignored. |
Definition at line 2570 of file c_wiz.c.
References draw_ext_info(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, NDI_UNIQUE, give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_stack_list | ( | object * | op, |
const char * | params | ||
) |
Displays stack contents.
op | wizard. |
params | ignored. |
Definition at line 2539 of file c_wiz.c.
References obj::count, draw_ext_info(), draw_ext_info_format(), say::item, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, obj::name, NDI_UNIQUE, object_find_by_tag_global(), give::op, roll-o-matic::params, pl::stack_items, pl::stack_position, and nlohmann::detail::void().
Referenced by commands_init().
void command_stack_pop | ( | object * | op, |
const char * | params | ||
) |
Pop the stack top.
op | wizard. |
params | ignored. |
Definition at line 2508 of file c_wiz.c.
References dm_stack_pop(), give::op, roll-o-matic::params, and nlohmann::detail::void().
Referenced by commands_init().
void command_stack_push | ( | object * | op, |
const char * | params | ||
) |
Push specified item on stack.
op | wizard. |
params | object specifier. |
Definition at line 2521 of file c_wiz.c.
References dm_stack_push(), get_dm_object(), guildjoin::ob, give::op, roll-o-matic::params, and STACK_FROM_NUMBER.
Referenced by commands_init().
void command_stats | ( | object * | op, |
const char * | params | ||
) |
Displays the statistics of a player.
op | wizard. |
params | player's name. |
Definition at line 1757 of file c_wiz.c.
References liv::ac, liv::Cha, liv::Con, liv::dam, liv::Dex, draw_ext_info(), draw_ext_info_format(), liv::exp, find_player_partial_name(), FMT64, liv::food, liv::grace, liv::hp, liv::Int, liv::maxhp, liv::maxsp, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::ob, give::op, roll-o-matic::params, altar_valkyrie::pl, liv::Pow, liv::sp, obj::stats, liv::Str, liv::wc, and liv::Wis.
Referenced by commands_init().
void command_style_map_info | ( | object * | op, |
const char * | params | ||
) |
Displays information about styles loaded for random maps.
op | wizard. |
params | ignored. |
Definition at line 2737 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), FOR_MAP_FINISH, FOR_MAP_PREPARE, MAP_HEIGHT, map_size(), MAP_WIDTH, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_MAPS, NDI_UNIQUE, mapdef::next, give::op, roll-o-matic::params, styles, Ice::tmp, nlohmann::detail::void(), diamondslots::x, and diamondslots::y.
Referenced by commands_init().
void command_summon | ( | object * | op, |
const char * | params | ||
) |
Summons player near DM.
op | DM. |
params | player to summon. |
Definition at line 886 of file c_wiz.c.
References add_string(), draw_ext_info(), draw_ext_info_format(), enter_exit(), EXIT_PATH, EXIT_X, EXIT_Y, FREE_OBJ_NO_DESTROY_CALLBACK, freearr_x, freearr_y, get_other_player_from_name(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::ob, object_find_free_spot(), object_free(), object_new(), give::op, roll-o-matic::params, and altar_valkyrie::pl.
Referenced by commands_init().
void command_teleport | ( | object * | op, |
const char * | params | ||
) |
Teleport next to target player.
op | DM teleporting. |
params | options sent by player. |
Definition at line 933 of file c_wiz.c.
References add_string(), draw_ext_info(), draw_ext_info_format(), enter_exit(), EXIT_PATH, EXIT_X, EXIT_Y, find_player_partial_name(), FREE_OBJ_NO_DESTROY_CALLBACK, freearr_x, freearr_y, obj::map, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_UNIQUE, pl::ob, object_find_free_spot(), object_free(), object_new(), give::op, roll-o-matic::params, mapdef::path, altar_valkyrie::pl, obj::x, and obj::y.
Referenced by commands_init().
void command_toggle_shout | ( | object * | op, |
const char * | params | ||
) |
A simple toggle for the no_shout field. AKA the MUZZLE command.
op | wizard toggling. |
params | player to mute/unmute. |
Definition at line 635 of file c_wiz.c.
References obj::contr, draw_ext_info(), draw_ext_info_format(), EVENT_MUZZLE, events_execute_global_event(), get_other_player_from_name(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, obj::name, NDI_ORANGE, NDI_RED, NDI_UNIQUE, pl::no_shout, pl::ob, give::op, roll-o-matic::params, and altar_valkyrie::pl.
Referenced by commands_init().
void command_unloadplugin | ( | object * | op, |
const char * | params | ||
) |
Unloads the given plugin. The DM specified the ID of the library to unload. Note that some things may behave strangely if the correct plugins are not loaded.
op | DM unloading a plugin. |
params | should be the plugin's internal name, eg Python |
Definition at line 2464 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), init_signals(), llevInfo, LOG(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, give::op, roll-o-matic::params, and plugins_remove_plugin().
Referenced by commands_init().
Get current stack top item for player. Returns NULL if no stacked item. If stacked item disappeared (freed), remove it.
Ryo, august 2004
pl | wizard. |
Definition at line 119 of file c_wiz.c.
References dm_stack_pop(), draw_ext_info(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, guildjoin::ob, pl::ob, object_find_by_tag_global(), pl::stack_items, and pl::stack_position.
Referenced by get_dm_object().
|
static |
Remove an item from the wizard's item stack.
pl | wizard. |
Definition at line 94 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, pl::ob, pl::stack_items, and pl::stack_position.
Referenced by command_create(), command_diff(), command_free(), command_insert_into(), command_remove(), command_stack_pop(), and dm_stack_peek().
Push specified item on player stack. Inform player of position. Initializes variables if needed.
pl | wizard. |
item | item to put on stack. |
Definition at line 149 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), say::item, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, pl::ob, pl::stack_items, pl::stack_position, and STACK_SIZE.
Referenced by command_create(), command_stack_push(), do_dump(), and get_dm_object().
Definition at line 2839 of file c_wiz.c.
References obj::count, dm_stack_push(), draw_ext_info(), MSG_SUBTYPE_NONE, MSG_TYPE_COMMAND, NDI_UNIQUE, object_dump(), stringbuffer_finish(), stringbuffer_new(), and autojail::who.
Referenced by command_dumpabove(), command_dumpbelow(), and examine_cmd().
|
static |
Actually changes a player to wizard.
op | player. |
params | password. |
silent | if zero, don't inform players of the mode change. |
0 | no mode change. |
1 | op is now a wizard. |
Definition at line 2138 of file c_wiz.c.
References checkdm(), clear_los(), draw_ext_info(), FLAG_WAS_WIZ, FLAG_WIZ, FLAG_WIZCAST, FLAG_WIZPASS, MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_ALL, NDI_LT_GREEN, NDI_UNIQUE, give::op, roll-o-matic::params, QUERY_FLAG, and SET_FLAG.
Referenced by command_dm(), and command_dmhide().
|
static |
Actually hides or unhides specified player (obviously a DM).
op | DM hiding. |
silent_dm | if non zero, other players are informed of DM entering/leaving, else they just think someone left/entered. |
Definition at line 351 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_DM, MSG_TYPE_ADMIN_PLAYER, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_SUCCESS, NDI_ALL, NDI_DK_ORANGE, NDI_LT_GREEN, NDI_UNIQUE, give::op, and unhide().
Referenced by command_dmhide(), and command_hide().
|
static |
This finds and returns the object which matches the name or object number (specified via num #whatever).
params | object to find. |
Definition at line 402 of file c_wiz.c.
References object_find_by_name_global(), object_find_by_tag_global(), and roll-o-matic::params.
Referenced by command_setgod().
Checks 'params' for object code.
Can be:
At function exit, params points to first non-object char
'from', if not NULL, contains at exit:
Ryo, august 2004
pl | wizard. |
params | object specified. |
from |
Definition at line 195 of file c_wiz.c.
References obj::count, dm_stack_peek(), dm_stack_push(), draw_ext_info_format(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_DM, MSG_TYPE_COMMAND_ERROR, NDI_UNIQUE, guildjoin::ob, pl::ob, object_find_by_tag_global(), roll-o-matic::params, STACK_FROM_NONE, STACK_FROM_NUMBER, STACK_FROM_STACK, STACK_FROM_TOP, pl::stack_items, and pl::stack_position.
Referenced by command_diff(), command_dump(), command_free(), command_insert_into(), command_patch(), command_remove(), and command_stack_push().
Enough of the DM functions seem to need this that I broke it out to a seperate function. name is the person being saught, op is who is looking for them. This prints diagnostics messages, and returns the other player, or NULL otherwise.
op | player searching someone. |
name | name to search for. |
Definition at line 59 of file c_wiz.c.
References draw_ext_info(), first_player, MAX_NAME, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, give::name, obj::name, NDI_UNIQUE, pl::next, pl::ob, give::op, altar_valkyrie::pl, ST_PLAYING, and pl::state.
Referenced by command_arrest(), command_banish(), command_freeze(), command_summon(), and command_toggle_shout().
Returns spell object (from archetypes) by name. Used for wizard's learn spell/prayer.
Ignores archetypes "spelldirect_xxx" since these archetypes are not used anymore (but may still be present in some player's inventories and thus cannot be removed). We have to ignore them here since they have the same name than other "spell_xxx" archetypes and would always conflict.
op | player issuing the command. |
spell_name | spell to find. |
Definition at line 2226 of file c_wiz.c.
References arch_to_object(), archt::clone, draw_ext_info_format(), is_valid_types_gen::found, get_next_archetype(), MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_ERROR, obj::name, archt::name, NDI_UNIQUE, give::op, SPELL, and obj::type.
Referenced by command_learn_spell_or_prayer().
int player_arrest | ( | object * | who | ) |
Put a player into jail, taking into account cursed exits and player's region.
who | player to put in jail |
0 | player was moved to jail. |
-1 | no jail found. |
-2 | couldn't move to jail (map loading error, or already at jail's position). |
-3 | op isn't a player. |
Definition at line 809 of file c_wiz.c.
References enter_exit(), FREE_OBJ_NO_DESTROY_CALLBACK, get_jail_exit(), object_free(), PLAYER, autojail::who, diamondslots::x, and diamondslots::y.
Referenced by attack_ob_simple(), cfapi_object_move(), and command_arrest().
|
static |
Definition at line 1527 of file c_wiz.c.
References socket_struct::faces_sent, socket_struct::faces_sent_len, and get_faces_count().
Referenced by command_recollect().
|
static |
Definition at line 332 of file c_wiz.c.
References draw_ext_info(), draw_ext_info_format(), MSG_TYPE_ADMIN, MSG_TYPE_ADMIN_PLAYER, MSG_TYPE_COMMAND, MSG_TYPE_COMMAND_SUCCESS, NDI_ALL, NDI_DK_ORANGE, NDI_UNIQUE, and give::op.
Referenced by command_nowiz(), and do_wizard_hide().
struct shutdown_s shutdown_state |
Definition at line 43 of file c_wiz.c.
Referenced by check_shutdown(), command_shutdown(), and login_check_shutdown().