                               -=] X-GM v1.98 [=-

Programmed by: Roland Jakalys Rakshalon
Assembled using TASM 4.0
Revision 22

Commandline Format: XGM [/F] [/U]
/F - Forced Load.  This will bypass the check to determine if X-GM has
                   been previously loaded.
/U - Unload X-GM.  This will unload X-GM.  If done under Windows, it
                   will only disable it from the current DOS box, but not
                   under other DOS boxes running at the time, nor those
                   started later on.  If done under DOS, outside a
                   multitasking environment, X-GM will be unloaded
                   completely.

To Use: First enable X-GM by running the XGM.EXE file, before loading
        Windows, or the AOL Software for DOS.  Then load the AOL Software,
        and enter NWN.  X-GM will remain enabled until unloaded or
        disabled.  To use X-GM, pres ALT-X, then enter one of the
        commands listed below.

Command List:
BC    Control Monsters.
BS    Strip Effects From All Monsters.
BW    Weaken Monsters.
BX    Raise Monster Experience Values.
C-    Decrement Maximum HP by 1.
C+    Increment Maximum HP by 1.
CA    Change Alignment.
CC    Cure All Wounds.
CE    Wipe Effect.
CF    Cure Feeblemind.
CG    Fill Grimoire.
CI    Identify Items.
CM    Consolidate Money.
CR    Remorize All Spells.
CS-   Reset All Base Saving Throws to Normal.
CS+   Set All Base Saving Throws to 2.
CU    Unmemorize All Spells.
CV    Toggle Staff Store at 15,15.
CY    Set Age.
G     Toggle GM.
ID    Set Input Type to Decimal.
IH    Set Input Type to Hexadecimal.
L     Toggle Character Generator Lock.
O     Toggle Offline Mode.
SC    Set Class.
SH    Set Maximum HP.
SL... Set Levels.
SM    Set Racial Ability Score Limits.
SR    Set Race.
U     Make All Players Visible.
W     Wipe F5-F6 Chat Buffer.
To Force AUTO off, to recover control from fear, use the
command: <B> <Esc>.
To unload X-GM, use the command: <ALT-U> <ALT-L>.

To enter a byte on the decimal (default) input type, enter a number from
0 to 255, and press enter. To enter a word on the decimal input type, enter
a number from 0 to 65535. Unlike versions before v1.92, no zero-padding is
necessary. On the hexadecimal input type, you must enter two hexadecimal
digits for a byte, and four for a word.

Note that unloading X-GM under the Windows AOL software will only
disable it from the current DOS box.  Returning to the Windows AOL
software and entering NWN again will reenable X-GM.  Unloading
X-GM under the AOL Software for DOS will unload it completely.

(The + and - are those NOT on the numeric keypad.)

Function BC   Control Monsters.
              This function will give you normal control (a menu)
              for all monsters in the current combat.

                   Do NOT intervene from a monster's menu! This will
                   give you a runtime error.

Function BS   Strip Effects From All Monsters.
              This function will remove every effect (special attacks,
              special defenses, and spell effects) from all monsters
              in the current combat.

                   Be careful with this function! Using this in a fight
                   with monsters with magic resistance will strip their
                   magic-resistance. Be sure that any spells you cast
                   can normally affect the monsters casted at!

Function BW   Weaken Monsters.
              This function will change the AC, THAC0, and Base Saving
              Throws of every monster in the current combat to 50.

Function BX   Raise Monster Experience Values.
              This function will change every monster's experience value
              in the current combat to 65,535.

Function C-   Decrement Maximum HP by 1.
Function C+   Increment Maximum HP by 1.
              For safety, do not use these functions unless you are
              wounded.

Function CA   Change Alignment.
              When you use this function, it will pause for a number. The
              number entered is the alignment.  Valid alignments are:
              0: Lawful Good      3: Neutral Good     6: Chaotic Good
              1: Lawful Neutral   4: True Neutral     7: Chaotic Neutral
              2: Lawful Evil      5: Neutral Evil     8: Chaotic Evil

Function CC   Cure All Wounds.
              This function will do exactly what it says it does:
              cure all wounds.
            
Function CE   Wipe Effect.
              This function will wait for a byte to be entered, then
              convert any effect on your character matching that byte
              to a Bless effect with a one round duration.

                    To set HP on the decimal (default) input type,
                    enter the number of the effect, and press enter.
                    Unlike previous versions, no zero-padding is
                    necessary, but any may be used. On the
                    hexadecimal input type, you must use two
                    hexadecimal digits.


Function CF   Cure Feeblemind.
              This function will convert any Feeblemind effects on your
              character into Bless effects with a one round duration.
              (NOTE: After using this function, you will have to unready
                     and re-ready any INT or WIS stones you were using
                     for them to take effect.)

Function CG   Fill Grimoire.
              The Fill Grimoire function fills your grimoire with all the
              spells that you can memorize, and no more. It will NOT, for
              example, give you level 5 spells at level 6, or level 3
              spells at level 4.

Function CI   Identify Items.
              This function will identify all items on your character
              and in combat treasure. Items in a vault are not affected.

Function CM   Consolidate Money.
              This function will convert all pooled money and money held
              by your character into the least possible weight, by normal
              conversion ratios (100 Copper = 10 Silver = 1 Electrum,
              10 Electrum = 5 Gold = 1 Platinum.) There is little protection
              against overflow, so held money overflows to 0 at 65,536, and
              pooled money at 4,294,967,296.

Function CR   Rememorize All Spells.
              This function will rememorize all casted spells.
              I do not recommend using this in PvP (as players that pay
              attention may notice.)

              I am aware of a bug in this function! Some users of this
              function may experience a reduction in their age by 128.
              If you are affected by this bug, you will lose 128 years of
              age when you use this function when you age is 128-255 plus
              any whole multiple of 256. Not all users are affected by
              this bug... examining the source code finds no cause for it.

Function CS-  Reset All Base Saving Throws to Normal.
              This will undo the effect of function CS+.
              Before quitting to the system, you should use this function
              if you have used CS+ during the session. This is recommended
              because if you do not, the modified saving throws will be
              saved to the host, so the staff can find the change during
              scans of character data. They will be reset when you next
              enter the game, so not doing this does not make the effect
              permanent.

Function CS+  Set All Base Saving Throws to 2.
              This tool will set all your base saving throws to 2, meaning
              you only have a 5% chance of missing a saving throw, and
              rings have no effect, except against saves made at a penalty
              (for example, getting hit by a phase spider, requiring the
               victim to make a saving throw vs. poison at a -2 penalty or
               die from poison, while wearing a ring +2, which grants a
               +2 bonus to saving throws, will be made normally.)

Function CU   Unmemorize All Spells.
              This function will unmemorize all memorized and casted
              spells.  This is intended for users which, by GM/SPELLS,
              memorize a spell that they cannot cast.

Function CV   Toggle Staff Store at 15,15.
              This function toggles the event at 15,15 to and from the
              staff's store. This function only works in NW.

                   Do not buy the non-magical Fine Long Bow from this
                   store, because it has an inaccurate price.
                   
                   Do NOT buy and use or distribute Pearl Items from this
                   store, or you may be TOS'd!

Function CY   Set Age.
              This function waits for a word to be entered, which the
              character's age is set to.
              
                    GM must be enabled for this function to work.

                    This function is affected by the current Input Type.
             
Function G    Toggle GM.

              DO NOT use TP/ALL, RGN/ALL, or RGN/FOLLOWERS. When you use
              these, they will NOT take effect, and you will be booted
              out of the game. The host records this, and you will end
              up TOS'D!

              Do not use GM/ITEM for anything except duping (just select
              the item, and hit KEEP) unless you have an accurate list of
              item data for it.

              Do NOT use GM/WEALTH to edit HP! GM/WEALTH leaves a byte
              unchanged when it edits HP, which allows the change to be
              detected by the staff.

              Be careful with GM/SPELLS, because it allows you to memorize
              bonus spells and uncastable spells. If you leave the game
              with bonus spells, then return later without GM enabled,
              you'll likely be sent to prison. If you leave with either,
              it WILL save the bonus and/or uncastable spells to the host,
              which means they will show up in the staff's scans.
              If you do memorize uncastable spells, use the Unmemorize
              Spells function of X-GM (Function: CU) to remove them.

              Be careful with GM/COMBAT/BUG, which is the DEBUG toggle.
              DEBUG is a tool which allows you, when you enter a fight,
              to select replacements for the monsters defined for that
              fight. Doing this around other people (such as...monsters
              running THROUGH each other, monsters other people see
              as Lizard Men breathing acid, or the like) will sooner
              or later get you caught.

              Do not use ZAP, or DONE/ALTER/ZAP, which both cause you
              to INTERVENE in a fight, around other people.

              DO NOT use the GM/VISI command. This is the 'stealth' or
              invisible mode, which means you can walk around (with TP/WALK)
              and not be seen. But, the staff will detect it, and you will
              end up TOS'D!
             
              When you use this function, GM will be disabled when you quit
              to the system, not by X-GM, but by NWN.

Function ID   Set Input Type to Decimal.
Function IH   Set Input Type to Hexadecimal.
              These functions change the type of numerical input used for
              certain functions. The default Input Type when the program
              loads is decimal.

Function L    Toggle Character Generator Lock.
              This function will freeze the character generator to roll
              maximum ability scores for all races. Selecting this
              function after locking it will reset it to normal.
              This function does NOT affect the percentile STR bonus
              for fighter-type classes, nor does it affect HP rolls.

Function O    Toggle Offline Mode.
              This function toggles on and off the offline mode, a mode
              used in offline versions of NWN (for beta testing), which
              allows the player to take control of fights (noone else gets
              turns), and reset fights (entering someone else's fight will
              reset it as if you were the first to enter on the first
              round. When enabled, chat is disabled (by NWN).

              I strongly recommend that you do not use this around other
              people or enter someone else's fight with this enabled, for
              it is quite obvious!
                   
Function U    Make All Players Visible.
              This function will make all players that are currently
              invisible (by GM/VISI or a comparable method) visible.

              Occasionally this function will not work. If it works
              once in a session, it will work fine. If it fails once,
              it will always fail. If it fails, leave the game and
              return, and it should work.

Function W    Wipe F5-F6 Chat Buffer.
              This function will wipe all names from your chat buffer,
              as if you quit to the system and reentered NWN.

Function SC   Set Class.
              This function waits for a byte (0-255) to be entered, which
              the character's class is set to. This affects things like
              a paladin's 'heal', or experience division (for multi-class
              character's), but not castable spells.
              
                    GM must be enabled for this function to work.

Function SH   Set Maximum HP.
              This function waits for a byte (0-255) to be entered, which
              the character's maximum HP will be set to. For safety, I
              recommend not using this unless you are wounded.
              This function is affected by the current Input Type.
              
                    GM must be enabled for this function to work.

Function SL.. Set Levels.
              This is actually a set of functions that will set all current
              levels, old levels, or both, or will set individual current
              or old levels. The set single level functions are affected
              by the current Input Type. These functions are direct level
              sets - they do not affect memorizable spells, THAC0, etc.
              
                    GM must be enabled for these functions to work.
              
              The functions are:
              
              SLA - Set All Current Levels.
              (Waits for 8 Hexadecimal bytes which become the user's current
               Cleric, Druid, Fighter, Paladin, Ranger, Magic-User, Thief,
               and Monk levels respectively.)
              
              SLB - Set All Levels.
              (Waits for 16 Hexadecimal bytes which become the user's
               current Cleric, Druid, Fighter, Paladin, Ranger, Magic-User,
               Thief, Monk, and old Cleric, Druid, Fighter, Paladin, Ranger,
               Magic-User, Thief, and Monk levels respectively.)
              
              SLE - Set All Old Levels.
              (Waits for 8 Hexadecimal bytes which become the user's old
               Cleric, Druid, Fighter, Paladin, Ranger, Magic-User, Thief,
               and Monk levels respectively.)
              
              SLC, SLOC - Set Current/Old Cleric Level.
              (SLC/SLOC wait for a byte which becomes the user's Cleric
               level. SLC sets current level, SLOC sets old level.)
              
              SLD, SLOD - Set Current/Old Druid Level.
              (SLD/SLOD wait for a byte which becomes the user's Druid
               level. SLD sets current level, SLOD sets old level.)
              
              SLF, SLOF - Set Current/Old Fighter Level.
              (SLF/SLOF wait for a byte which becomes the user's Fighter
               level. SLF sets current level, SLOF sets old level.)
              
              SLM, SLOM - Set Current/Old Magic-User Level.
              (SLM/SLOM wait for a byte which becomes the user's Magic-User
               level. SLM sets current level, SLOM sets old level.)
              
              SLN, SLON - Set Current/Old Monk Level.
              (SLN/SLON wait for a byte which becomes the user's Monk
               level. SLN sets current level, SLON sets old level.)
              
              SLP, SLOP - Set Current/Old Paladin Level.
              (SLP/SLOP wait for a byte which becomes the user's Paladin
               level. SLP sets current level, SLOP sets old level.)
              
              SLR, SLOR - Set Current/Old Ranger Level.
              (SLR/SLOR wait for a byte which becomes the user's Ranger
               level. SLR sets current level, SLOR sets old level.)

Function SR   Set Race.
              This function waits for a digit from 0-7 to be entered
              (all other keystrokes will return to NWN doing nothing)
              which the character's race is set to. Things like the Elven
              Sword/Bow bonus, and the Dwarf/Gnome/Halfling abilities
              in 'lost' areas (such as seeing direction or map location)
              should be affected, but magic resistance will not be.
              
                    GM must be enabled for this function to work.
