PoA_PRC8/_module/nss/pc_wand_mod_load.nss

160 lines
7.2 KiB
Plaintext
Raw Normal View History

2022-10-07 14:20:31 -04:00
//Script Name: pc_wand_mod_load
//////////////////////////////////////////
//Created By: Genisys (Guile)
//Created On: 7/23/08
/////////////////////////////////////////
/*
This script is necessary because the wand
uses custom color tokens for the conversations
and a custom rest system, which also uses
the XP2 Rest System, so you MUST use
this script in your module, see below
where you can merge functions from
your own module load script..
*/
////////////////////////////////////////
#include "x2_inc_switches"
#include "x2_inc_restsys"
void main()
{
///////////EVERYTHING IN THIS BLOCK GOES AT THE TOP OF YOUR SCRIPT!/////////////
//IMPORTANT: This part is part of 2 color systems!
//It must be in your OnModuleLoad Event Script!!
//This set color to placeables in the module, it requires that the placeable
//tagged color is placed in the module somewhere out of reach.
string sColor = GetName(GetObjectByTag("COLORS"));
SetCustomToken(1001, GetSubString(sColor, 0, 6)); //white
SetCustomToken(1002, GetSubString(sColor, 6, 6)); //yellow
SetCustomToken(1003, GetSubString(sColor, 12, 6)); //magenta
SetCustomToken(1004, GetSubString(sColor, 18, 6)); //cyan
SetCustomToken(1005, GetSubString(sColor, 24, 6)); //red
SetCustomToken(1006, GetSubString(sColor, 30, 6)); //green
SetCustomToken(1007, GetSubString(sColor, 36, 6)); //blue
//More Custom Color Tokens for..
//Names / Item Descriptions /& About any text on items or objects..
//The following is an example of use...
// <CUSTOM101>Text You are Colorizing<CUSTOM100>
SetCustomToken(100, "</c>"); // CLOSE tag
SetCustomToken(101, "<c<> >"); // red
SetCustomToken(102, "<c <20> >"); // green
SetCustomToken(103, "<c <20>>"); // blue
SetCustomToken(104, "<c <20><>>"); // cyan
SetCustomToken(105, "<c<> <20>>"); // magenta
SetCustomToken(106, "<c<><63> >"); // yellow
SetCustomToken(107, "<c >"); // black
SetCustomToken(108, "<c<> >"); // dark red
SetCustomToken(109, "<c <20> >"); // dark green
SetCustomToken(110, "<c <20>>"); // dark blue
SetCustomToken(111, "<c <20><>>"); // dark cyan
SetCustomToken(112, "<c<> <20>>"); // dark magenta
SetCustomToken(113, "<c<><63> >"); // dark yellow
SetCustomToken(114, "<c<><63><EFBFBD>>"); // grey
SetCustomToken(117, "<c<><63><EFBFBD>>"); // dark grey
SetCustomToken(115, "<c<><63> >"); // orange
SetCustomToken(116, "<c<><63> >"); // dark orange
SetCustomToken(117, "<cڥ#>"); // brown
SetCustomToken(118, "<c† >"); // dark brown
SetCustomToken(119, "<c<>k<EFBFBD>>"); // Light Purple
SetCustomToken(120, "<c <20> >"); // Neon Green
SetCustomToken(121, "<c <20><>>"); // Light Blue
SetCustomToken(122, "<c` <20>>"); // Purple
SetCustomToken(123, "<c <20> >"); //Neon Green
////////////////////////////////////////////////////////////////////////////
//Enter Your OnModuleLoad Event Script code here...
////////////////////////////////////////////////////////////////////////////
//Standard Bioware X2 Module Switches: (X2 Rest System Activated!)
if (GetGameDifficulty() == GAME_DIFFICULTY_CORE_RULES || GetGameDifficulty() == GAME_DIFFICULTY_DIFFICULT)
{
// * Setting the switch below will enable a seperate Use Magic Device Skillcheck for
// * rogues when playing on Hardcore+ difficulty. This only applies to scrolls
SetModuleSwitch (MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE);
// * Activating the switch below will make AOE spells hurt neutral NPCS by default
// SetModuleSwitch (MODULE_SWITCH_AOE_HURT_NEUTRAL_NPCS, TRUE);
}
// * AI: Activating the switch below will make the creaures using the WalkWaypoint function
// * able to walk across areas
// SetModuleSwitch (MODULE_SWITCH_ENABLE_CROSSAREA_WALKWAYPOINTS, TRUE);
// * Spells: Activating the switch below will make the Glyph of Warding spell behave differently:
// * The visual glyph will disappear after 6 seconds, making them impossible to spot
// SetModuleSwitch (MODULE_SWITCH_ENABLE_INVISIBLE_GLYPH_OF_WARDING, TRUE);
// * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing,
// * but since it is described this way in the book, here is the switch to get it back...
// SetModuleSwitch (MODULE_SWITCH_ENABLE_CRAFT_WAND_50_CHARGES, TRUE);
// * Craft Feats: Use this to disable Item Creation Feats if you do not want
// * them in your module
// SetModuleSwitch (MODULE_SWITCH_DISABLE_ITEM_CREATION_FEATS, TRUE);
// * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size.
// * We do not support this check for balancing reasons, but you can still activate it...
// SetModuleSwitch (MODULE_SWITCH_SPELL_CORERULES_DMASTERTOUCH, TRUE);
// * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
// * did not fit into NWNs spell system and was confusing, so we took it out...
// SetModuleSwitch (MODULE_SWITCH_EPIC_SPELLS_HURT_CASTER, TRUE);
// * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
// * did not fit into NWNs spell system and was confusing, so we took it out...
// SetModuleSwitch (MODULE_SWITCH_RESTRICT_USE_POISON_TO_FEAT, TRUE);
// * Spellcasting: Some people don't like caster's abusing expertise to raise their AC
// * Uncommenting this line will drop expertise mode whenever a spell is cast by a player
// SetModuleSwitch (MODULE_VAR_AI_STOP_EXPERTISE_ABUSE, TRUE);
// * Item Event Scripts: The game's default event scripts allow routing of all item related events
// * into a single file, based on the tag of that item. If an item's tag is "test", it will fire a
// * script called "test" when an item based event (equip, unequip, acquire, unacquire, activate,...)
// * is triggered. Check "x2_it_example.nss" for an example.
// * This feature is disabled by default.
SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE);
if (GetModuleSwitchValue (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE)
{
// * If Tagbased scripts are enabled, and you are running a Local Vault Server
// * you should use the line below to add a layer of security to your server, preventing
// * people to execute script you don't want them to. If you use the feature below,
// * all called item scrips will be the prefix + the Tag of the item you want to execute, up to a
// * maximum of 16 chars, instead of the pure tag of the object.
// * i.e. without the line below a user activating an item with the tag "test",
// * will result in the execution of a script called "test". If you uncomment the line below
// * the script called will be "1_test.nss"
// SetUserDefinedItemEventPrefix("1_");
}
// * This initializes Bioware's wandering monster system as used in Hordes of the Underdark
// * You can deactivate it, making your module load faster if you do not use it.
// * If you want to use it, make sure you set "x2_mod_def_rest" as your module's OnRest Script
SetModuleSwitch (MODULE_SWITCH_USE_XP2_RESTSYSTEM, TRUE);
if (GetModuleSwitchValue(MODULE_SWITCH_USE_XP2_RESTSYSTEM) == TRUE)
{
// * This allows you to specify a different 2da for the wandering monster system.
// SetWanderingMonster2DAFile("des_restsystem");
//* Do not change this line.
WMBuild2DACache();
}
}