Mageslayer console commands

To access the console, hit the [~] key, just like in Quake. You can then type in commands followed by [Enter] to activate them. If the console prints too much info at once or you want to review things, [PgUp] and [PgDn] allow you to scroll through it.

The listing is probably note complete, but most of the more relevant commands should be here.

Control toggle codes

These codes are usually related to the player's controls and are typically bound to a key. Each one has a + and - version. When the +command is invoked, the action is turned on, while the -command turns it back off. When a +command is bound to a key, holding the key down makes the action active while releasing the key deactivates it. Invoking a +command on the console locks that action on until the corresponding -command is entered on the console.

+6dofFirst person view mode (it will soon become apparent that the game wasn't designed for this, though.)
+attackSpell attack (falls back on melee if you don't have enough mana).
+attack2Melee attack.
+backwardMove backward, according to the player's facing.
+jumpJump.
+forwardMove backward, according to player's facing.
+strafeeastStrafe east, relative to the screen.
+strafeleftStrafe left, relative to the player's facing.
+strafenorthStrafe north, relative to the screen.
+straferightStrafe right, relative to the player's facing.
+strafesouthStrafe south, relative to the screen.
+strafewestStrafe west, relative to the screen.
+turnleftRotate player's facing left.
+turnrightRotate player's facing right.
+vscoresView the scoreboard.

Impulse codes

Type impulse and a number to activate various commands. Like Quake's impulses, these are usually player control commands but some are cheats or hidden functions; the non-cheat ones are typically meant to be attached to key bindings. They differ from +command/-command actions in that holding down the bound key does not prolong the action, they only trigger once per key press.

There are supposed to be five suicide codes, but I have not found all of them. It seems like they must be in the high number range (hundreds/thousands) somewhere if they actually exist.

1Switch to or toggle power mode of spell 1.
2Switch to or toggle power mode of spell 2.
3Switch to or toggle power mode of spell 3.
10Activate your area-of-effect special attack. Not a cheat, despite some pages listing it as such.
11Toggle God mode (invulnerability) on or off.
42Print "Technically, this is an easter egg."
43Instant death.
69Instant death.
137Play a strange music track (does not interrupt MIDI/CD audio). This track also plays if you wait through the entire end credits sequence.
151Instant death.
666Game immediately bombs to Windows with a dialog box that says "This is the impulse that crashes."

Other controls

Other functions related to player controls that aren't +commands or impulses. Typically these would be bound to a key.

sayChat to players in multiplayer.
sb_nextitemScroll through inventory forwards.
sb_previtemScroll through inventory backwards.
sb_toggleinvCall up the big inventory wheel display.
sb_useitemUse inventory item.
speedtoggleToggle autorun on or off.
zoomtoggleMake the camera zoom in or out.

Map warp

Typing map and a map name will warp you to the map specified, if it's a valid map name. You will always spawn as a level 1 Earthlord when using this code.

The valid map names are as follows:

ctr1Ctr: Battle for the Bridge
ctr2Ctr: Fortress
death1Slayfest: Slayfest
death2Slayfest: Fury of a Friend
death3Slayfest: Rapid Death
death4Slayfest: Birthday Party
death5Slayfest: A-Mazing
death6Slayfest: Temple of Death
frost1The Stronghold of Fire and Ice: Into the Stronghold
frost2The Stronghold of Fire and Ice: The walls of the Stronghold
frost3The Stronghold of Fire and Ice: Bastion of Ice
frost4The Stronghold of Fire and Ice: Into the Depths
frostbsThe Stronghold of Fire and Ice: The Heart of Ice
fstscrt1Secret: Barbarian Toad Haven
fstscrt2Secret: Rolling Death
keep1The Desert Keep: The Sands of Time
keep2The Desert Keep: Movements of the Earth
keep3The Desert Keep: Machinations of Doom
keep4The Desert Keep: Corridors of the Ogeron
keepbsThe Desert Keep: Rampage of the Beast
kpscrt1Secret: Sand Fest
kpscrt2Secret: A Genie's Harem
lorethanThe Tombs of the Lore Thane: Conflagration of Death
sewer1Sewer Channels: Into the Sewers
sewer2Sewer Channels: Catacomb of the Rat
sewer3Sewer Channels: Rat Swarm
sewer4Sewer Channels: Holding Pool
sewerbsSewer Channels: Rat Lord's Lair
sewscrt1Secret: Run the Gauntlet
sewscrt2Secret: Maze of the Arborite
temple1The Temple: The Outer Gallery
temple2The Temple: Death of an Acolyte
temple3The Temple: The Fountain of Wisdom
temple4The Temple: Across the River of Despair
templebsThe Temple: The Temple of the Spider
tmbscrt1Secret: Corpse's Grave
tmbscrt2Secret: Apparition's Death
tmpscrt1Secret: Spider Weave
tmpscrt2Secret: Lore Thrall's Dream
tomb1The Tombs of the Lore Thane: The Catacombs
tomb2The Tombs of the Lore Thane: Tombs of Despair
tomb3The Tombs of the Lore Thane: World's End
tomb4The Tombs of the Lore Thane: Damnation's End
tombbsThe Tombs of the Lore Thane: The Final Resting Place
vaultThe Vault

A single file for "example" appears in the dir maps listing but it isn't a valid map you can load.

Debug functions

These let you look up internal data, manipulate various aspects of the game, or do other debug-related functions. Some can also be used to cheat.

a_friction (#)Use without a number to check the friction setting, or with one to change it. Smaller numbers mean slipperier movement.
a_gravity (#)Use without a number to check the gravity setting, or with one to change it. Smaller numbers mean weaker gravity; low gravity makes a better jump cheat than the fly command does.
a_jumpheight (#)Use without a number to check the jump height setting, or with one to change it. The default is 800, and 1776 is the maximum safe value before you will jump so high that you die coming back down. It appears not to be just a simple linear scale.
a_moveactor # # # #Move the actor specified by the first number to the position specified by the remaining three numbers.
a_moveme # # #Move the player to the position specified by the three numbers (west-east, north-south, down-up).
a_movemerel # # #This is like a_moveme, but instead of using the true map coordinates, the values given are added to the current ones. Useful for tweaking one's position a little.
dir (name)Print the directory listing of a directory inside the main data file. dir maps is a commonly referenced one for getting the map listing, but other directories like sprites, sounds, and music also exist.
pc_dump #Dump info about an actor on the map. Using 0 as the number will get the player's info and actor number. The player is usually the next-to-last actor (the last being the camera).
pc_runservice (name)Asks for a Service Name as an argument, currently unsure of correct input.
pc_statsShow tallies of some stuff, needs more research.
pc_topPrints some debugging info that I assume is related to the most frequently used or most resource intensive game functions, not 100% sure.
positionsShow the position(s) of players in the game. One use of this is to get positions to move players or other things to with some of the other commands like a_moveme and a_moveactor. According to some sites you have to bind it to a key for it to work correctly, but I didn't have a problem invoking it directly from the console.
res_fileinfo (name)Display info about a lump in the main data file, invoked by lump name. You can get some of the lump names with dir or res_idlist.
res_idlistShow a listing of lumps that have been loaded from the main data file, with the ID numbers of each lump (which can then be used with res_idstat
res_idstat #Show info on the specified lump from the main data file.
vp_flatshade (#)Check or set a 0/1 toggle for flat shading. When set, renders the map's static geometry with flat colors instead of texturing them. Unlikely to be of much interest to players, but could be useful for modders analyzing map structure or checking for geometry problems. Default is 0 (off).
vp_flatshadepolyobj (#)Check or set a 0/1 toggle for polyobject flat shading. Like vp_flatshade but this one is for the map's polyobjects (moving parts like doors and traps). Default is 0 (off).
vp_fov (#)Check or set the field of view setting. Higher numbers means a bigger view but also introduces some vertical distortion. You may also have to use the vp_renderdist command along with it if you want to avoid disappearing geometry on wider views.
vp_printfacedata #Displays some info on the specified face number ("light size" and "plane"). Techincal stuff I don't currently understand.
vp_renderdist (#)Check or set the render distance for map polygons. Setting a higher number keeps more distant geometry in view.
vp_rendertorches (#)Check or set a 0/1 toggle for whether the torch flames in levels will be rendered. Default is 1 (on).

Cheats

Miscellaneous functions that can be used as cheats. Type them in as they appear.

bigfinaleGo immediately to the victory sequence and end credits. (Technically, this just activates the finale script which is defined in autoexec.cfg)
flyYou are no longer affected by gravity, type again to reverse the effect. Jumping launches you up potentially infinitely since levels don't have ceilings, this is not very useful as you usually either launch out of the map or die when you fall back down after deactivating the code; setting a_gravity to something low would be better for jumping to high places but this can give you a bird's-eye-view of the map at least.
noclipYou can walk through walls, also seems to make you walk slower.
ode to jackRemove all enemies from the map.

pc_spawnthing?

Many Mageslayer cheat pages have a list of "pc_spawnthing" commands and the item codes to go with them, but there's just one problem: I haven't managed to get any of them to work in any version of Mageslayer I've tried: demo, patched, unpatched, doesn't seem to make a difference. I can't even find "pc_spawnthing" in a hex editor view of the game files. Since the similarity to other codes that do work and the detail of the listings for entity codes suggests that they must have worked under some circumstance, my best assumption is that some people got their hands on an alpha or beta leak of the game in which these dev codes were still active. If your version of Mageslayer works with these codes, please let me know the details.