#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include "define.h"
#include "struct.h"
/*
* COMMANDS
*/
class command_ident
{
public:
const char* name;
do_func* function;
};
command_ident command_list [] =
{
{ "-", do_avatar },
{ "'", do_say },
{ ":", do_buildchan },
{ "]", do_immtalk },
{ "}", do_god },
{ "accounts", do_accounts },
{ "allegiance", do_allegiance },
{ "ask", do_ask },
{ "auction", do_auction },
{ "atalk", do_atalk },
{ "berserk", do_berserk },
{ "bid", do_bid },
{ "bite", do_bite },
{ "build", do_build },
{ "bury", do_bury },
{ "buy", do_buy },
{ "calculate", do_calculate },
{ "cedit", do_cedit },
{ "changes", do_changes },
{ "chant", do_chant },
{ "chat", do_chat },
{ "clans", do_clans },
{ "close", do_close },
{ "configure", do_configure },
{ "consent", do_consent },
{ "cook", do_cook },
{ "ctell", do_ctell },
{ "custom", do_custom },
{ "define", do_define },
{ "dig", do_dig },
{ "dip", do_dip },
{ "disguise", do_disguise },
{ "dismount", do_dismount },
{ "down", do_down },
{ "drink", do_drink },
{ "drop", do_drop },
{ "east", do_east },
{ "emote", do_emote },
{ "empty", do_empty },
{ "enter", do_enter },
{ "equipment", do_equipment },
{ "exits", do_exits },
{ "exp", do_exp },
{ "extract", do_extract },
{ "filter", do_filter },
{ "garotte", do_garrote },
{ "get", do_get },
{ "give", do_give },
{ "gossip", do_gossip },
{ "gouge", do_gouge },
{ "grab", do_wear },
{ "gtell", do_gtell },
{ "hbug", do_hbug },
{ "homepage", do_homepage },
{ "identity", do_identity },
{ "iflag", do_iflag },
{ "ignite", do_ignite },
{ "index", do_index },
{ "info", do_info },
{ "introduce", do_introduce },
{ "kick", do_kick },
{ "kill", do_kill },
{ "knock", do_knock },
{ "label", do_label },
{ "language", do_language },
{ "ledit", do_ledit },
{ "lie", do_lie },
{ "list", do_list },
{ "load", do_load },
{ "lset", do_lset },
{ "lstat", do_lstat },
{ "marmor", do_marmor },
{ "mdesc", do_mdesc },
{ "medit", do_medit },
{ "meditate", do_meditate },
{ "melt", do_melt },
{ "melee", do_melee },
{ "message", do_message },
{ "mfind", do_mfind },
{ "mflag", do_mflag },
{ "mload", do_mload },
{ "mlog", do_mlog },
{ "mount", do_mount },
{ "mpflag", do_mpflag },
{ "mreset", do_mreset },
{ "mset", do_mset },
{ "mstat", do_mstat },
{ "mwhere", do_mwhere },
{ "north", do_north },
{ "ooc", do_ooc },
{ "pbug", do_pbug },
{ "purchase", do_purchase },
{ "pray", do_pray },
{ "prompt", do_prompt },
{ "ps", do_ps },
{ "qstat", do_qstat },
{ "repair", do_repair },
{ "reply", do_reply },
{ "reset", do_reset },
{ "rest", do_rest },
{ "reboot", do_reboot },
{ "rename", do_rename },
{ "request", do_request },
{ "review", do_review },
{ "rmwhere", do_rmwhere },
{ "roomlist", do_roomlist },
{ "rtable", do_rtable },
{ "rtwhere", do_rtwhere },
{ "say", do_say },
{ "sell", do_sell },
{ "shout", do_shout },
{ "sit", do_sit },
{ "sleep", do_sleep },
{ "smoke", do_smoke },
{ "south", do_south },
{ "split", do_split },
{ "stand", do_stand },
{ "tell", do_tell },
{ "to", do_to },
{ "typo", do_typo },
{ "up", do_up },
{ "value", do_value },
{ "vote", do_vote },
{ "wake", do_wake },
{ "wear", do_wear },
{ "west", do_west },
{ "whisper", do_whisper },
{ "wield", do_wear },
{ "yell", do_yell },
{ "relations", do_relations },
{ "eat", do_eat },
{ "fill", do_fill },
{ "hold", do_wear },
{ "inventory", do_inventory },
{ "junk", do_junk },
{ "lock", do_lock },
{ "open", do_open },
{ "pick", do_pick },
{ "put", do_put },
{ "quaff", do_quaff },
{ "remove", do_remove },
{ "sacrifice", do_sacrifice },
{ "unlock", do_unlock },
{ "assist", do_assist },
{ "backstab", do_backstab },
{ "bash", do_bash },
{ "camouflage", do_camouflage },
{ "charge", do_charge },
{ "consider", do_consider },
{ "disarm", do_disarm },
{ "flee", do_flee },
{ "glance", do_glance },
{ "punch", do_punch },
{ "rescue", do_rescue },
{ "shoot", do_shoot },
{ "spin", do_spin_kick },
{ "throw", do_throw },
{ "wimpy", do_wimpy },
{ "cast", do_cast },
{ "focus", do_focus },
{ "leech", do_leech },
{ "polymorph", do_polymorph },
{ "prepare", do_prepare },
{ "probe", do_probe },
{ "recite", do_recite },
{ "spells", do_spells },
{ "sweep", do_sweep },
{ "switch", do_switch },
{ "return", do_return },
{ "zap", do_zap },
{ "alias", do_alias },
{ "appearance", do_appearance },
{ "areas", do_areas },
{ "befriend", do_befriend },
{ "commands", do_commands },
{ "compare", do_compare },
{ "color", do_color },
{ "description", do_descript },
{ "help", do_help },
{ "keywords", do_keywords },
{ "last", do_last },
{ "look", do_look },
{ "motd", do_motd },
{ "options", do_options },
{ "peek", do_peek },
{ "pets", do_pets },
{ "qlook", do_qlook },
{ "quests", do_quests },
{ "qwho", do_qwho },
{ "reputation", do_reputation },
{ "score", do_score },
{ "socials", do_socials },
{ "statistics", do_statistics },
{ "time", do_time },
{ "who", do_who },
{ "whois", do_whois },
{ "mail", do_mail },
{ "notes", do_notes },
{ "title", do_title },
{ "follow", do_follow },
{ "group", do_group },
{ "name", do_name },
{ "order", do_order },
{ "delete", do_delete },
{ "password", do_password },
{ "quit", do_quit },
{ "save", do_save },
{ "balance", do_balance },
{ "deposit", do_deposit },
{ "withdraw", do_withdraw },
{ "abilities", do_abilities },
{ "appraise", do_appraise },
{ "bandage", do_bandage },
{ "climb", do_climb },
{ "hands", do_hands },
{ "hide", do_hide },
{ "inspect", do_inspect },
{ "practice", do_practice },
{ "scan", do_scan },
{ "search", do_search },
{ "skin", do_skin },
{ "skills", do_skills },
{ "sneak", do_sneak },
{ "steal", do_steal },
{ "heist", do_heist },
{ "energize", do_energize },
{ "track", do_track },
{ "untrap", do_untrap },
{ "advance", do_advance },
{ "approve", do_approve },
{ "ban", do_ban },
{ "beep", do_beep },
{ "bamfin", do_bamfin },
{ "bamfout", do_bamfout },
{ "bugs", do_bugs },
{ "disconnect", do_disconnect },
{ "identify", do_identify },
{ "pardon", do_pardon },
{ "reimburse", do_reimburse },
{ "where", do_where },
{ "tedit", do_tedit },
{ "tset", do_tset },
{ "tstat", do_tstat },
{ "dedit", do_dedit },
{ "dflag", do_dflag },
{ "dset", do_dset },
{ "dstat", do_dstat },
{ "rbug", do_rbug },
{ "redit", do_redit },
{ "rdesc", do_rdesc },
{ "rflag", do_rflag },
{ "rlog", do_rlog },
{ "rname", do_rname },
{ "rset", do_rset },
{ "rstat", do_rstat },
{ "odesc", do_odesc },
{ "oedit", do_oedit },
{ "oextra", do_oextra },
{ "ofind", do_ofind },
{ "oflag", do_oflag },
{ "oload", do_oload },
{ "olog", do_olog },
{ "oset", do_oset },
{ "ostat", do_ostat },
{ "owhere", do_owhere },
{ "opedit", do_opedit },
{ "opcode", do_opcode },
{ "opdata", do_opdata },
{ "opstat", do_opstat },
{ "opset", do_opset },
{ "hdesc", do_hdesc },
{ "hedit", do_hedit },
{ "hset", do_hset },
{ "acode", do_acode },
{ "adata", do_adata },
{ "aedit", do_aedit },
{ "aflag", do_aflag },
{ "aset", do_aset },
{ "astat", do_astat },
{ "mpedit", do_mpedit },
{ "mpcode", do_mpcode },
{ "mpdata", do_mpdata },
{ "mpstat", do_mpstat },
{ "mpset", do_mpset },
{ "cflag", do_cflag },
{ "qedit", do_qedit },
{ "qremove", do_qremove },
{ "qset", do_qset },
{ "qwhere", do_qwhere },
{ "shcustom", do_shcustom },
{ "shedit", do_shedit },
{ "shflag", do_shflag },
{ "affects", do_affects },
{ "high", do_high },
{ "level", do_level },
{ "memory", do_memory },
{ "move", do_move },
{ "pull", do_pull },
{ "push", do_push },
{ "read", do_read },
{ "system", do_system },
{ "wanted", do_wanted },
{ "whistle", do_whistle },
{ "functions", do_functions },
{ "return", do_return },
{ "deny", do_deny },
{ "echo", do_echo },
{ "force", do_force },
{ "freeze", do_freeze },
{ "god", do_god },
{ "goto", do_goto },
{ "holylight", do_holylight },
{ "immtalk", do_immtalk },
{ "imprison", do_imprison },
{ "invis", do_invis },
{ "lag", do_lag },
{ "map", do_map },
{ "peace", do_peace },
{ "purge", do_purge },
{ "recho", do_recho },
{ "restore", do_restore },
{ "rowhere", do_rowhere },
{ "shutdown", do_shutdown },
{ "snoop", do_snoop },
{ "slay", do_slay },
{ "sset", do_sset },
{ "tfind", do_tfind },
{ "train", do_train },
{ "transfer", do_transfer },
{ "trust", do_trust },
{ "users", do_users },
{ "wizlock", do_wizlock },
{ "write", do_write },
{ "", NULL }
};
void init_commands( )
{
int i, j;
for( i = 0; i < MAX_ENTRY_COMMAND; i++ ) {
for( j = 0; command_list[j].name[0] != '\0'; j++ ) {
if( !strcasecmp( command_table[i].func_name, command_list[j].name ) ) {
command_table[i].function = command_list[j].function;
break;
}
}
}
return;
}
/*
* SPELLS
*/
class spell_ident
{
public:
const char* name;
spell_func* function;
};
spell_ident spell_list [] =
{
{ "acid blast", spell_acid_blast },
{ "acid storm", spell_acid_storm },
{ "armor", spell_armor },
{ "astral gate", spell_astral_gate },
{ "augury", spell_augury },
{ "balm", spell_balm },
{ "banishment", spell_banishment },
{ "barkskin", spell_barkskin },
{ "bless", spell_bless },
{ "blind", spell_blind },
{ "blink", spell_blink },
{ "burning hands", spell_burning_hands },
{ "calm", spell_calm },
{ "call lightning", spell_call_lightning },
{ "cause critical", spell_cause_critical },
{ "cause light", spell_cause_light },
{ "cause serious", spell_cause_serious },
{ "conflagration", spell_conflagration },
{ "confuse", spell_confuse },
{ "construct golem", spell_construct_golem },
{ "create feast", spell_create_feast },
{ "create food", spell_create_food },
{ "create light", spell_create_light },
{ "create water", spell_create_water },
{ "cure blindness", spell_cure_blindness },
{ "cure critical", spell_cure_critical },
{ "cure light", spell_cure_light },
{ "cure poison", spell_cure_poison },
{ "cure serious", spell_cure_serious },
{ "detect invisible", spell_detect_invisible },
{ "displace", spell_displace },
{ "eagle eye", spell_eagle_eye },
{ "fear", spell_fear },
{ "find familiar", spell_find_familiar },
{ "fire shield", spell_fire_shield },
{ "fireball", spell_fireball },
{ "flame strike", spell_flame_strike },
{ "float", spell_float },
{ "fly", spell_fly },
{ "greater animation", spell_greater_animation },
{ "hallucinate", spell_hallucinate },
{ "harm", spell_harm },
{ "haste", spell_haste },
{ "heal", spell_heal },
{ "identify", spell_identify },
{ "invulnerability", spell_invulnerability },
{ "lesser summoning", spell_lesser_summoning },
{ "lightning bolt", spell_lightning_bolt },
{ "magic missile", spell_magic_missile },
{ "maelstrom", spell_maelstrom },
{ "major enchantment", spell_major_enchantment },
{ "mind blade", spell_mind_blade },
{ "minor enchantment", spell_minor_enchantment },
{ "neutralize", spell_neutralize },
{ "pass door", spell_pass_door },
{ "polymorph", spell_polymorph },
{ "poultice", spell_poultice },
{ "prismic missile", spell_prismic_missile },
{ "protection/good", spell_protect_good },
{ "protection/evil", spell_protect_evil },
{ "recall", spell_recall },
{ "remove curse", spell_remove_curse },
{ "request ally", spell_request_ally },
{ "resist acid", spell_resist_acid },
{ "resist cold", spell_resist_cold },
{ "resist fire", spell_resist_fire },
{ "resist shock", spell_resist_shock },
{ "resurrect", spell_resurrect },
{ "revitalize", spell_revitalize },
{ "sanctify", spell_sanctify },
{ "scry", spell_scry },
{ "sense danger", spell_sense_danger },
{ "slay", spell_slay },
{ "shock", spell_shock },
{ "sleep", spell_sleep },
{ "slow", spell_slow },
{ "summon", spell_summon },
{ "surcease", spell_surcease },
{ "transfer", spell_transfer },
{ "restoration", spell_restoration },
{ "turn undead", spell_turn_undead },
{ "vitality", spell_vitality },
{ "water breathing", spell_water_breathing },
{ "web", spell_web },
{ "wizard lock", spell_wizard_lock },
{ "youth", spell_youth },
{ "holy wrath", spell_holy_wrath },
{ "tame", spell_tame },
{ "faerie fire", spell_faerie_fire },
{ "invisibility", spell_invisibility },
{ "protection plants", spell_protection_plants },
{ "curse", spell_curse },
{ "mists of sleep", spell_mists_sleep },
{ "locust swarm", spell_locust_swarm },
{ "poison cloud", spell_poison_cloud },
{ "magic mapping", spell_magic_mapping },
{ "amnesia", spell_amnesia },
{ "detect hidden", spell_detect_hidden },
{ "detect good", spell_detect_good },
{ "detect evil", spell_detect_evil },
{ "ignite weapon", spell_ignite_weapon },
{ "chain lightning", spell_chain_lightning },
{ "infravision", spell_infravision },
{ "mystic shield", spell_mystic_shield },
{ "animate dead", spell_animate_dead },
{ "ogre strength", spell_ogre_strength },
{ "silence", spell_silence },
{ "drain life", spell_drain_life },
{ "blinding light", spell_blinding_light },
{ "gift of tongues", spell_gift_of_tongues },
{ "protect life", spell_protect_life },
{ "true sight", spell_true_sight },
{ "sense life", spell_sense_life },
{ "detect magic", spell_detect_magic },
{ "continual light", spell_continual_light },
{ "cure disease", spell_cure_disease },
{ "animate clay", spell_animate_clay },
{ "freeze", spell_freeze },
{ "chilling touch", spell_chilling_touch },
{ "ice storm", spell_ice_storm },
{ "replicate", spell_replicate },
{ "thorn shield", spell_thorn_shield },
{ "group serious", spell_group_serious },
{ "group critical", spell_group_critical },
{ "ion shield", spell_ion_shield },
{ "meteor swarm", spell_meteor_swarm },
{ "ice lance", spell_ice_lance },
{ "purify", spell_purify },
{ "wither", spell_wither },
{ "obscure", spell_obscure },
{ "conjure elemental", spell_conjure_elemental },
{ "find mount", spell_find_mount },
{ "hawks view", spell_hawks_view },
{ "", NULL }
};
void init_spells( )
{
int i, j;
for( i = 0; i < MAX_SPELL; i++ ) {
spell_table[i].function = NULL;
for( j = 0; spell_list[j].name[0] != '\0'; j++ ) {
if( !strcasecmp( spell_table[i].name, spell_list[j].name ) ) {
spell_table[i].function = spell_list[j].function;
break;
}
}
if( spell_table[i].function == NULL )
panic( "Init_Spells: Null function - %s", spell_table[i].name );
}
return;
}