//////////////////////////////////////////////////////////////////////////////// // // Olander's Realistic Systems - Master Configurations Script // opw_mod_onload // By Don Anderson // dandersonru@msn.com // /* This is a master configurations script for the module load. This centers all the Olander's Realistic Systems configurations to 1 location. These are the Global configurations you will come across throughout the scripts....mainly in the module onload scripts. There are also specific tweaks and configurations specific to a particular system like tweaking intensity values to HTF. This kind of stuff does not happen frequently and thus is not implemented here. See the Sections below to see the available configurations for each system. Cheers! Olander */ // // This goes in the Module On Load Event FIRST IN THE LIST OF wrap_mod_onload !!! // //////////////////////////////////////////////////////////////////////////////// #include "x2_inc_switches" #include "x2_inc_restsys" #include "nbde_inc" void main() { object oMod = GetModule(); //DM Control Switch Module Restart //Module Name - This is your file name!! string sMODNAME = "Olander Reality Systems All in One PW Kit"; SetLocalString(oMod,"MODNAME",sMODNAME); //PC Export Timer Start //DelayCommand(1200.0, SignalEvent(oMod, EventUserDefined(200))); //Module Minutes Per Hour Setting //Please set to Multiples of 2 and 60 is max!! //int nMPH = 60;//Minutes Per Hour Setting //AssignCommand(oMod,SetLocalInt(oMod,"MPH",nMPH)); int nGONG = 0;//Gongs ...yep Gongs. Turn them off by setting this to 0 AssignCommand(oMod,SetLocalInt(oMod,"GONG",nGONG)); //Clock Syncing /* Is your Module Time Clock not working properly? Will not cooperate? Well this is an indication that your module is under a great strain. You have a bunch of stuff functioning the module is laggin out or something strange is happening. Turn this beauty on to Sync the Module Clock. You Module will STILL be under strain but at least your Clock and timing will work again. This is on a 30Second Permanent Interval. */ //int nCLOCKSYNC = 1;//Set this to Clock Syncing (0 is OFF) //AssignCommand(oMod,SetLocalInt(oMod,"CLOCKSYNC",nCLOCKSYNC)); //AssignCommand(oMod,ExecuteScript("opw_timesync",oMod)); //:****************************************************************************/ //: OLANDER'S AI & MISC //OAI Critical Kill System (0 is OFF) /* This functions by taking into account Feats and Such to make Vorpal like kills to vital areas. Works with any weapons/hands that do Bludgeoning Piercing or Slashing Damage. */ int nOAICRIT = 0; AssignCommand(oMod,SetLocalInt(oMod,"OAICRIT",nOAICRIT)); //OAI Random Abilities (Original Provided by Lord Rosenkrantz) /* This adds some nice randomizations of NPC abilities to make each NPC unique is some fashion. No longer will you be able to see an Orc and assume it will be an easy fight...then again...maybe they will fall like a Goblin. =) */ int RANDOMABILITIES = 0;//Set this to Turn On Random Abilities (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"OAI_RANDOM_ABILITIES",RANDOMABILITIES)); //Small Creature Movement Penalities //10% Speed decrease for Small Creatures and Dwarves (Used In Crafting and AI) int nRACIALMOVE = 0;//Allow speed penalty to Racial Movement Rates PHB 3.5 (0 is Off) AssignCommand(oMod,SetLocalInt(oMod,"RACIALMOVE",nRACIALMOVE)); AssignCommand(oMod,SetLocalInt(oMod,"SML_CREATURE_MOVEPEN",20)); //Devastating Critical Allow int nDevCrit = 1;//Set to Allow Dev Crit for Players (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"DEVCRIT",nDevCrit)); //Leader Jump int nJump = 0;//Set to Allow Players to Jump to the Party Leader (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"LEADERJUMP",nJump)); int nTrainerXP = 15000;//Set this to the Max XP for Combat Trainers (Level 5 Default) //See fes_mod_onenter for all 40 Levels of XP values AssignCommand(oMod,SetLocalInt(oMod,"TRAINERXP",nTrainerXP)); //: OLANDER'S AI & MISC //:****************************************************************************/ //:****************************************************************************/ //: PERSISTENT TIME AND AUTO RELOAD SEQUENCE //Month Naming For Clocks and Time Stuff (Sindarin/Elvish Provided) string sMonth1 = "Narwain "; string sMonth2 = "Ninui "; string sMonth3 = "Gwaeron "; string sMonth4 = "Gwirith "; string sMonth5 = "Lothron "; string sMonth6 = "Norui "; string sMonth7 = "Cerveth "; string sMonth8 = "Urui "; string sMonth9 = "Ivanneth "; string sMonth10 = "Narbeleth "; string sMonth11 = "Hithui "; string sMonth12 = "Girithron "; AssignCommand(oMod,SetLocalString(oMod,"MONTH1",sMonth1)); AssignCommand(oMod,SetLocalString(oMod,"MONTH2",sMonth2)); AssignCommand(oMod,SetLocalString(oMod,"MONTH3",sMonth3)); AssignCommand(oMod,SetLocalString(oMod,"MONTH4",sMonth4)); AssignCommand(oMod,SetLocalString(oMod,"MONTH5",sMonth5)); AssignCommand(oMod,SetLocalString(oMod,"MONTH6",sMonth6)); AssignCommand(oMod,SetLocalString(oMod,"MONTH7",sMonth7)); AssignCommand(oMod,SetLocalString(oMod,"MONTH8",sMonth8)); AssignCommand(oMod,SetLocalString(oMod,"MONTH9",sMonth9)); AssignCommand(oMod,SetLocalString(oMod,"MONTH10",sMonth10)); AssignCommand(oMod,SetLocalString(oMod,"MONTH11",sMonth11)); AssignCommand(oMod,SetLocalString(oMod,"MONTH12",sMonth12)); //Persistent Time int nPERMTIME = 0;//Set this to Make Time Persistent (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"PERMTIME",nPERMTIME)); if(nPERMTIME == 1) { int nCurHour = GetTimeHour(); int nCurMin = GetTimeMinute(); int nCurSec = GetTimeSecond(); int nCurMS = GetTimeMillisecond(); //Check for a Existing DB and Set to the Module int nOldYear = NBDE_GetCampaignInt("TIME","TIMEYEAR",oMod); if(nOldYear > 0) { int nHour = NBDE_GetCampaignInt("TIME","TIMEHOUR",oMod); int nDay = NBDE_GetCampaignInt("TIME","TIMEDAY",oMod); int nMonth = NBDE_GetCampaignInt("TIME","TIMEMONTH",oMod); int nYear = NBDE_GetCampaignInt("TIME","TIMEYEAR",oMod); SetCalendar(nYear, nMonth, nDay); SetTime(nHour,0,0,0); //Now Make it Persistent NBDE_SetCampaignInt("TIME","TIMEHOUR",GetTimeHour(),oMod); NBDE_SetCampaignInt("TIME","TIMEDAY",GetCalendarDay(),oMod); NBDE_SetCampaignInt("TIME","TIMEMONTH",GetCalendarMonth(),oMod); NBDE_SetCampaignInt("TIME","TIMEYEAR",GetCalendarYear(),oMod); } //New Time DB else { //Now Make it Persistent NBDE_SetCampaignInt("TIME","TIMEHOUR",GetTimeHour(),oMod); NBDE_SetCampaignInt("TIME","TIMEDAY",GetCalendarDay(),oMod); NBDE_SetCampaignInt("TIME","TIMEMONTH",GetCalendarMonth(),oMod); NBDE_SetCampaignInt("TIME","TIMEYEAR",GetCalendarYear(),oMod); SetTime(nCurHour,0,0,0); } } //: PERSISTENT TIME AND AUTO RELOAD SEQUENCE //:****************************************************************************/ //:****************************************************************************/ //: PLAYER INFORMATION (Some Based off Invisible420's PC Stats System) int nSession = 1;//Set to Store the Player Session Time (0 is OFF) int nBirthday = 1;//Set to Store the Birthday of Player (0 is OFF) int nPKTrack = 1;//Set to Track Player Kills (0 is OFF) int nAvgCR = 1;//Set to Track Player Average Kill CR (0 is OFF) int nStrKill = 1;//Set to Track Player Strongest Kill Name and CR (0 is OFF) int nNPCKiller = 1;//Set to Track Last Creature who Killed Player (0 is OFF) int nPCKiller = 1;//Set to Track Last Player who Killed Player (0 is OFF) int nFavWeapon = 1;//Set to Track Player's Favorite Weapon (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"SESSION",nSession)); AssignCommand(oMod,SetLocalInt(oMod,"BIRTHDAY",nBirthday)); AssignCommand(oMod,SetLocalInt(oMod,"PKTRACK",nPKTrack)); AssignCommand(oMod,SetLocalInt(oMod,"AVGCR",nAvgCR)); AssignCommand(oMod,SetLocalInt(oMod,"STRKILL",nStrKill)); AssignCommand(oMod,SetLocalInt(oMod,"NPCKILLER",nNPCKiller)); AssignCommand(oMod,SetLocalInt(oMod,"PCKILLER",nPCKiller)); AssignCommand(oMod,SetLocalInt(oMod,"FAVWEAPON",nFavWeapon)); //: PLAYER INFORMATION //:****************************************************************************/ //:****************************************************************************/ //: DEATH, BLEEDING, and RESPAWN SYSTEMS // 0 = Bioware // 1 = Soul Rune and Binding Stones System int nDeathChoose = 0;//Set this number to one of the Systems Above int nBS = 0;//Set to turn on Binding Stones (0 is OFF) int nPermDeath = 0;//Set to turn on Permanent Death (0 is OFF) int nLifes = 10;//Number of Lifes Given to New Players float fHPInt = 60.0;//HP and Bleeding Status Persistent Write Interval int nXPPen = 0;//Set this to Give XP Penalties for Respawning (0 is OFF) int nXPRate = 10;//This is the % XP Penalty if XP Penalties is ON int nGPPen = 0;//Set this to Give Gold Penalties for Respawning (0 is OFF) int nGPRate = 10;//This is the % Gold Penalty if Gold Penalties is ON /* NOTE: Permanent Death is based upon TOTAL number of deaths throughout the Player's career. This will happen every time the player presses Respawn (Players can not cheat death by logging out). You can add lifes to a player via scripts see the script opw_dm_switch "DMAddLife" section for examples on how to do this. */ string sDeathPanel = "Olander's Realistic Systems Death Panel"; string sDeathSystem = "nw_o0_death"; string sDyingSystem = "nw_o0_dying"; string sRespawnSystem = "nw_o0_respawn"; switch(nDeathChoose) { case 0: { sDeathSystem = "nw_o0_death"; sDyingSystem = "nw_o0_dying"; sRespawnSystem = "nw_o0_respawn"; } break; case 1: { sDeathSystem = "bs_mod_ondeath"; sDyingSystem = "bs_mod_ondying"; sRespawnSystem = "bs_mod_respawn"; } break; } if(nDeathChoose == 1) { AssignCommand(oMod,SetLocalInt(oMod,"BS_ENABLE",nBS)); AssignCommand(oMod,SetLocalInt(oMod,"PERMDEATH",nPermDeath)); AssignCommand(oMod,SetLocalInt(oMod,"LIFES",nLifes)); AssignCommand(oMod,SetLocalFloat(oMod,"HPINTERVAL",fHPInt)); } AssignCommand(oMod,SetLocalInt(oMod,"DEATHCHOOSE",nDeathChoose)); AssignCommand(oMod,SetLocalString(oMod,"DEATHSYSTEM",sDeathSystem)); AssignCommand(oMod,SetLocalString(oMod,"DYINGSYSTEM",sDyingSystem)); AssignCommand(oMod,SetLocalString(oMod,"RESPAWNSYSTEM",sRespawnSystem)); AssignCommand(oMod,SetLocalString(oMod,"DEATHPANEL",sDeathPanel)); AssignCommand(oMod,SetLocalInt(oMod,"DEATHCHOOSE",nDeathChoose)); AssignCommand(oMod,SetLocalInt(oMod,"XPPEN",nXPPen)); AssignCommand(oMod,SetLocalInt(oMod,"XPRATE",nXPRate)); AssignCommand(oMod,SetLocalInt(oMod,"GPPEN",nGPPen)); AssignCommand(oMod,SetLocalInt(oMod,"GPRATE",nGPRate)); //: DEATH, BLEEDING, and RESPAWN SYSTEMS //:****************************************************************************/ //:****************************************************************************/ //: NPC LOOT CORPSE SYSTEM (by Scrotok and Keron Blackfeld) /* LOADS of configurations for this with good information as to what each does.... not worth copying over to here and restructuring the code there. Please look at the script: (instructions are at the top and configs are about in the middle) _kb_loot_corpse I have set this up the way I would use it but you can of course choose how you want this to act. */ //: NPC LOOT CORPSE SYSTEM //:****************************************************************************/ //:****************************************************************************/ //: FIRST ENTER STUFF int nXP = 15000;//Set to how much XP you want the Player to start at (See fes_mod_onenter) //PHB Settings int nPHBStrip = 0;//This will make the PHB Gold to be Class Specific (0 is OFF) int nGiveGold = 13000;//Set to how much Gold to give a New Player if PHB Strip is OFF //If you set this amount to 0 the Player will get an amount of //Gold per level Per PHB....Turn DOA Encumberance OFF!!!!!! AssignCommand(oMod,SetLocalInt(oMod,"STARTXP",nXP)); AssignCommand(oMod,SetLocalInt(oMod,"PHBSTRIP",nPHBStrip)); AssignCommand(oMod,SetLocalInt(oMod,"GIVEGOLD",nGiveGold)); //: FIRST ENTER STUFF //:****************************************************************************/ //:****************************************************************************/ //: XP SYSTEM (SEE NW_C2_DEFAULT7 FOR FURTHER INFORMATION) int BIOXP = 0;//Set this for Bioware XP System (0 is OFF) int OPWXP = 1;//Set this for Olander's XP System (0 is OFF) This is the Default System int PWFXP = 0;//Set this for Knat's PWFXP System v2.0 (0 is OFF) This Overrides DMGXP int DMGXP = 0;//Set this for ScrewTape's DMG XP System (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"BIOXP",BIOXP)); AssignCommand(oMod,SetLocalInt(oMod,"OPWXP",OPWXP)); AssignCommand(oMod,SetLocalInt(oMod,"PWFXP",PWFXP)); AssignCommand(oMod,SetLocalInt(oMod,"DMGXP",DMGXP)); //: XP SYSTEM //:****************************************************************************/ //:****************************************************************************/ //: HTF SYSTEM (HUNGER, THIRST, and FATIGUE) int nHTFGLOBAL = 0;//Set this to globally turn on or off the HTF System (0 is OFF) // Setting HUNGERSYSTEM to 0 will turn off the need for PCs to regularly consume // food and water to avoid death by starvation or dehydration. int nHUNGERSYSTEM = 0; // Setting FATIGUESYSTEM to 0 will turn off the ill effects recieved by a PC that // goes a time without resting. int nFATIGUESYSTEM = 0; // Setting CONBASEDHEAL to 0 will turn off the Natural Healing Ability due to CON // Note: This is like Natural Regeneration and happens ONCE Per Game Hour int nCONBASEDHEAL = 0; // Setting COLDSYSTEM to 0 will turn off the Cold effects recieved by a PC int nCOLDSYSTEM = 0; // How often in seconds to check the Hunger and Fatigue Checks (6.0 to 90.0) float fHLOOP = 30.0; // How often in seconds to check the Cold Checks (6.0 to 90.0) float fCLOOP = 30.0; //This determines at what percentage of the maximum hunger and thirst levels //a PC is unable to rest becuase of hunger and/or thirst. //The PC cannot rest if their current levels are below the given percentage. float fRESTRESTRICTIONPERCENT = 0.2; //Change the below value to increase or decrease the amount of changes the //water canteen item can hold. int nMAXCANTEENCHARGES = 5; //The Quantity of Hunger, Thirst, and Fatigue Hit Points int nHUNGER = 6000;//Default 6000 int nTHIRST = 6000;//Default 5500 int nFATIGUE = 12000;//Default 5000 //Percentage amount that players are allowed to go over quantites above float fBUFFER = 0.2; //The Value Ratings of Food and Drinks //Food int nRICH = 2000; int nNORM = 1000; int nPOOR = 500; //Drink int nHIGH = 2000; int nMED = 1000; int nLOW = 500; AssignCommand(oMod,SetLocalInt(oMod,"HTFGLOBAL", nHTFGLOBAL)); AssignCommand(oMod,SetLocalInt(oMod,"HUNGERSYSTEM", nHUNGERSYSTEM)); AssignCommand(oMod,SetLocalInt(oMod,"FATIGUESYSTEM", nFATIGUESYSTEM)); AssignCommand(oMod,SetLocalInt(oMod,"CONBASEDHEAL", nCONBASEDHEAL)); AssignCommand(oMod,SetLocalInt(oMod,"COLDSYSTEM", nCOLDSYSTEM)); AssignCommand(oMod,SetLocalFloat(oMod,"fHLOOP", fHLOOP)); AssignCommand(oMod,SetLocalFloat(oMod,"fCLOOP", fCLOOP)); AssignCommand(oMod,SetLocalFloat(oMod,"RESTRESTRICTIONPERCENT", fRESTRESTRICTIONPERCENT)); AssignCommand(oMod,SetLocalInt(oMod,"MAXCANTEENCHARGES", nMAXCANTEENCHARGES)); AssignCommand(oMod,SetLocalInt(oMod,"HUNGER", nHUNGER)); AssignCommand(oMod,SetLocalInt(oMod,"THIRST", nTHIRST)); AssignCommand(oMod,SetLocalInt(oMod,"FATIGUE", nFATIGUE)); AssignCommand(oMod,SetLocalFloat(oMod,"BUFFER", fBUFFER)); AssignCommand(oMod,SetLocalInt(oMod,"RICH", nRICH)); AssignCommand(oMod,SetLocalInt(oMod,"NORM", nNORM)); AssignCommand(oMod,SetLocalInt(oMod,"POOR", nPOOR)); AssignCommand(oMod,SetLocalInt(oMod,"HIGH", nMED)); AssignCommand(oMod,SetLocalInt(oMod,"MED", nMED)); AssignCommand(oMod,SetLocalInt(oMod,"LOW", nLOW)); //: HTF SYSTEM (HUNGER, THIRST, and FATIGUE) //:****************************************************************************/ //:****************************************************************************/ //: CAMPING AND RESTING int nRESTGLOBAL = 0;//Set this to globally turn on or off the HTF System (0 is OFF) int nRESTPHB = 0;//Set this for PHB Resting Rules (0 is Off) int nRESTLEVEL = 0;//Set this to the Level to Start Resting Restrictions int nRESTHOURS = 4;//The Number of Hours a Player Must Wait Between Rests int nNATREGEN = 1;//Set this for Natural Healing based on CON Bonus (0 is OFF) int nWISCOOK = 0;//Set this for Wisdom Based Cooking (0 is OFF) //These 3 will not function without PHB Resting int nRESTHEAL = 1;//Set this to make Healing on Resting Per HP per level Plus CON (0 is Off or Full Heal) int nRESTCON = 1;//Set this to add HP's equal to the Constitution Ability Score * CON Bonus (0 is Off) int nRESTHP = 1;//Set this to how many HP's per HD you wish to Heal AssignCommand(oMod,SetLocalInt(oMod,"RESTGLOBAL", nRESTGLOBAL)); AssignCommand(oMod,SetLocalInt(oMod,"RESTPHB", nRESTPHB)); AssignCommand(oMod,SetLocalInt(oMod,"RESTLEVEL", nRESTLEVEL)); AssignCommand(oMod,SetLocalInt(oMod,"RESTHOURS", nRESTHOURS)); AssignCommand(oMod,SetLocalInt(oMod,"NATREGEN", nNATREGEN)); AssignCommand(oMod,SetLocalInt(oMod,"WISCOOK", nWISCOOK)); AssignCommand(oMod,SetLocalInt(oMod,"RESTHEAL", nRESTHEAL)); AssignCommand(oMod,SetLocalInt(oMod,"RESTCON", nRESTCON)); AssignCommand(oMod,SetLocalInt(oMod,"RESTHP", nRESTHP)); //: CAMPING AND RESTING //:****************************************************************************/ //:****************************************************************************/ //: CRAFTING int nCRAFTGLOBAL = 0;//Set this to globally turn on or off the Crafting System (0 is OFF) int nCRAFTLICENSE = 0;//Set this to require the use of a Crafting License to Craft (0 is OFF) int nCRAFTSKILL = 0;//Set this to require the MINIMUM Skill required to Craft Without a License. //License will Disallow this Requirement. Either Armor or Weapon will Satisfy. //This ONLY Affects Armor and Weapon Crafting as Wand, Potion, and Traps are //Pretty much self regulated. //: REALITY SYSTEM CONFIGURATION SECTION //I have also given the ability to use the standard AC to Armor //Set to 0 to give AC to Armor instead of Damage Resistance int nDRSYS = 0; //Reality Armor rules to apply speed penalties while wearing armors Set to 0 to turn off int nARMORRULES = 0;//Allows System to function and allows speed penalties (0 is Off) int nARMORDAMAGE = 0;//When the Armor, Helm, or Shield are used in Combat they will take damage (0 is Off) int nARMORDESTROY = 0;//When the Armor, Helm, or Shield HP's are used up they will be destroyed (0 is Off) int nWEAPONDAMAGE = 0;//When the Weapon/Gloves is used in Combat they will take damage (0 is Off) int nWEAPONDESTROY = 0;//When the Weapon/Glove HP's are used up it will be destroyed (0 is Off) int nCLOAKDAMAGE = 0;//When the Cloak is used in Combat they will take damage (0 is Off) int nCLOAKDESTROY = 0;//When the Cloak HP's are used up it will be destroyed (0 is Off) int nBOOTSDAMAGE = 0;//When the Boots are used they will ALWAYS take damage (0 is Off) int nBOOTSDESTROY = 0;//When the Boots HP's are used up it will be destroyed (0 is Off) int nBELTDAMAGE = 0;//When the Belt is used in Combat they will take damage (0 is Off) int nBELTDESTROY = 0;//When the Belt HP's are used up it will be destroyed (0 is Off) int nDEFLECTMESSAGE = 0;//Shows the Deflection Messages (0 is Off) int nROLLMESSAGE = 0;//Shows the Weapon Roll Message (0 is Off) //: ARMOR CONFIGURATION SECTION //Number of rounds required to equip armor fully int nARMORLIGHT = 2; int nARMORMED = 3; int nARMORHEAVY = 4; //Movement penalty for wearing Armor % decrease in speeds int nARMOR10 = 5;//For Light Armors int nARMOR20 = 10;//For Medium Armors int nARMOR30 = 20;//For Heavy Armors //This is the Armor/Helm/Shield/Weapon Cycles - Psuedo HB (This is Multiplied by 6) int nCycle = 3; //This is the Armor Number of HP's int nAHP = 500;//This is the Base Armor HP int nLAMult = 2;//This is the Multiplier for Light Armor int nMAMult = 4;//This is the Multiplier for Medium Armor int nHAMult = 6;//This is the Multiplier for Heavy Armor int nSSMult = 1;//This is the Multiplier for Small Shield int nLSMult = 2;//This is the Multiplier for Large Shield int nTSMult = 3;//This is the Multiplier for Tower Shield //Regarding AC Values: //No Armor or Shield is indestructible just made better. //So they get multipliers to the Armor and Shields above //Over +5 will get the same +5 multiplier int nAC1Mult = 2;//This is the Multiplier for AC+1 Armor or Shield int nAC2Mult = 4;//This is the Multiplier for AC+2 Armor or Shield int nAC3Mult = 6;//This is the Multiplier for AC+3 Armor or Shield int nAC4Mult = 8;//This is the Multiplier for AC+4 Armor or Shield int nAC5Mult = 10;//This is the Multiplier for AC+5 Armor or Shield //: WEAPON CONFIGURATION SECTION //This is the Armor Number of HP's int nWHP = 2000;//This is the Base Weapon HP int nLWMult = 2;//This is the Multiplier for Light Weapons int nMWMult = 4;//This is the Multiplier for Medium Weapons int nHWMult = 6;//This is the Multiplier for Heavy Weapons //Regarding Enhancement Values: //No Weapon is indestructible just made better. //So they get multipliers to the Weapons above //Over +5 will get the same +5 multiplier int nAB1Mult = 2;//This is the Multiplier for AB+1 or EB+1 int nAB2Mult = 4;//This is the Multiplier for AB+2 or EB+2 int nAB3Mult = 6;//This is the Multiplier for AB+3 or EB+3 int nAB4Mult = 8;//This is the Multiplier for AB+4 or EB+4 int nAB5Mult = 10;//This is the Multiplier for AB+5 or EB+5 //: GLOVE/BRACER CONFIGURATION SECTION //NOTE: Gloves behave like Weapons and Bracers behave like Helms and Shields //Bracers are multiplied as above but only as Light Armor int nGHP = 1000;//This is the Base Glove HP int nBHP = 200;//This is the Base Bracer HP //: CLOAK CONFIGURATION SECTION //NOTE: Cloaks behave like Helms and Shields //Cloaks are multiplied as above but only as Light Armor int nCHP = 500;//This is the Base Cloak HP //: BOOTS CONFIGURATION SECTION //NOTE: Boots behave like Helms and Shields but are not restricted to only combat //Boots are multiplied with Personal Bonus and AC Bonus added together. +5 Max int nBTHP = 2000;//This is the Base Boots HP //: BELT CONFIGURATION SECTION //NOTE: Belts behave like Helms and Shields //Belts have Personal Bonus Multipliers. +5 Max int nBLHP = 500;//This is the Base Belt HP //: CRAFTING CONFIGURATION SECTION //These are all the configuration settings that are used throughout this //crafting system. Try to Remember that a Player can wear multiple items //that can stack bonuses.....so don't jack the numbers to high for each //enchantment or you WILL have SEVERE difficulties balancing your Module. //Then again....maybe you like that =) /* DR System Specs for Each Type of Armor Name of Armor Has Identifier in the Name: Plate: B 10/- , P 10/-, S 10/- Banded or Lamellar: B 10/- , P 6/-, S 8/- Splint: B 8/- , P 8/-, S 6/- Scale: B 8/- , P 8/-, S 6/- Chain: B 8/- , P 4/-, S 8/- Studded: B 6/- , P 3/-, S 4/- Hide: B 4/- , P 1/-, S 4/- Leather: B 4/- , P 0/-, S 4/- Note: Clothing ALWAYS gets AC (Capped at +6) because it is Purely Dexeterity Based!! Remember this!! So for example....if you have Studded Leather the script will determine you have "Studded" in the name and will apply the Studded properties NOT Leather. Another good example is Breast Plates. The AC Value is less so it is easier to hit BUT they are still Plate and have very good Resistance to Damage across the board.....so if the Breast Plate armor has "Plate" in the Name then it will get the Plate properties. So the idea is KNOW the name of your Armor to determine which properties you wish to add AND more importantly....WHEN TO STOP trying to Add Dusty Rose Ioun Stones to the Armor as More WILL NOT make them any better but you can STILL keep adding them! So pay ATTENTION please!! */ //ENCHANTING BONUSES int nABMAX = 5;//This is Max Attack and Damage Bonus (# of Diamonds) int nDRMAX = 10;//This is Max Damage Resistance (1/-) for each Armor int nACMAX = 6;//This is Max AC for Shields/Helms/Amulets and Armors(When DRSYS is Off) int nEMAX = 10;//This is Max Damage/Elemental Bonus For Each Type of Item int nTMAX = 3;//This is Max Damage/Elemental Bonus Combinations (Max is 6) int nPMAX = 5;//This is Max Personal Bonus Items int nENCDC = 30;//This is the DC to use the Enchanting Table (Recommend 30) //ORE SMELTING int nADAMDC = 30;//The DC to Smelt Adamantine Ore int nADAMQTY = 5;//The Quantity of Adamantine Ore Required to smelt a bar int nMITHDC = 25;//The DC to Smelt Mithril Ore int nMITHQTY = 5;//The Quantity of Mithril Ore Required to smelt a bar int nSTEELDC = 20;//The DC to Smelt Steel Ore int nSTEELQTY = 5;//The Quantity of Steel Ore Required to smelt a bar int nIRONDC = 15;//The DC to Smelt Iron Ore int nIRONQTY = 5;//The Quantity of Iron Ore Required to smelt a bar //MILLING int nIWOODDC = 25;//The DC to Mill Ironwood Planks int nIWOODQTY = 5;//The Quantity of Raw Ironwood Required to Mill Planks int nOAKDC = 20;//The DC to Mill Oak Planks int nOAKQTY = 5;//The Quantity of Raw Oak Required to Mill Planks int nELMDC = 15;//The DC to Mill Elm Planks int nELMQTY = 5;//The Quantity of Raw Elm Required to Mill Planks //EDUCATION int nHERBGP = 15;//Alchemy Amount of Gold Charged Per Credit * Class Level int nHERBMAX = 20;//Max Alchemy Credits (20) is Maximum (4 Credits Per Class) int nBLKGP = 15;//Blacksmithing Amount of Gold Charged Per Credit * Class Level int nBLKMAX = 20;//Max Woodworking Credits (20) is Maximum (4 Credits Per Class) int nWDWGP = 15;//Woodworking Amount of Gold Charged Per Credit * Class Level int nWDWMAX = 20;//Max Blacksmithing Credits (20) is Maximum (4 Credits Per Class) int nENCGP = 20;//Enchanting Amount of Gold Charged Per Credit * Class Level int nENCMAX = 20;//Max Enchanting Credits (20) is Maximum (4 Credits Per Class) //INTELLIGENCE/WISDOM REQUIREMENT int nIWREQ = 0;//Set to 1 to Require to have 14(+2) INT or WIS to use the Enchanting Forge //ILR (Item Level Restrictions) VARIABLES //These are settings that allow Enchanting cost and protecting the player a bit when enchanting //something that could require more experience than they have to enchant it. These also set a Gold //Value Maximum that will be allowed in the Enchanting table (Great for setup areas where a DM Run //campaign wants all the players to fit a certain range (See itemvalues 2da in the Source folder). int nILRSYS = 0;//Set to 1 to not allow crafting of more powerful items than the Player can use int nILRGOLD = 0;//Set to 1 to make enchanting cost something int nILRGMAX = 4200000;//Set this to the GP Max Value for the Max Level of your players (40th Default) //MINING AND HARVESTING int nOREADAM = 100;//The Damage Total Required to Mine Adamantine Ore float fTIMEADAM =1500.0;//Number of seconds to respawn Adamantine Ore int nOREMITH = 80;//The Damage Total Required to Mine Mithril Ore float fTIMEMITH =1500.0;//Number of seconds to respawn Mithril Ore int nORESTEEL = 60;//The Damage Total Required to Mine Steel Ore float fTIMESTEEL = 900.0;//Number of seconds to respawn Steel Ore int nOREIRON = 60;//The Damage Total Required to Mine Iron Ore float fTIMEIRON = 500.0;//Number of seconds to respawn Iron Ore int nTREEIRONW = 80;//The Damage Total Required to Harvest Ironwood float fTIMEIRONW =1500.0;//Number of seconds to respawn Ironwood int nTREEOAK = 60;//The Damage Total Required to Harvest Oak float fTIMEOAK = 900.0;//Number of seconds to respawn Oak int nTREEELM = 40;//The Damage Total Required to Harvest Elm float fTIMEELM = 900.0;//Number of seconds to respawn Elm //: SET UP GLOBAL VALUES AssignCommand(oMod,SetLocalInt(oMod,"CRAFTGLOBAL", nCRAFTGLOBAL)); AssignCommand(oMod,SetLocalInt(oMod,"CRAFTLICENSE", nCRAFTLICENSE)); AssignCommand(oMod,SetLocalInt(oMod,"CRAFTSKILL", nCRAFTSKILL)); //Enhancements AssignCommand(oMod,SetLocalInt(oMod,"ABMAX", nABMAX)); AssignCommand(oMod,SetLocalInt(oMod,"DRMAX", nDRMAX)); AssignCommand(oMod,SetLocalInt(oMod,"ACMAX", nACMAX)); AssignCommand(oMod,SetLocalInt(oMod,"EMAX", nEMAX)); AssignCommand(oMod,SetLocalInt(oMod,"TMAX", nTMAX)); AssignCommand(oMod,SetLocalInt(oMod,"PMAX", nPMAX)); //Crafting AssignCommand(oMod,SetLocalInt(oMod,"ENCDC", nENCDC)); AssignCommand(oMod,SetLocalInt(oMod,"HERBGP", nHERBGP)); AssignCommand(oMod,SetLocalInt(oMod,"HERBMAX", nHERBMAX)); AssignCommand(oMod,SetLocalInt(oMod,"BLKGP", nBLKGP)); AssignCommand(oMod,SetLocalInt(oMod,"BLKMAX", nBLKMAX)); AssignCommand(oMod,SetLocalInt(oMod,"WDWGP", nBLKGP)); AssignCommand(oMod,SetLocalInt(oMod,"WDWMAX", nBLKMAX)); AssignCommand(oMod,SetLocalInt(oMod,"ENCGP", nENCGP)); AssignCommand(oMod,SetLocalInt(oMod,"ENCMAX", nENCMAX)); AssignCommand(oMod,SetLocalInt(oMod,"IWREQ", nIWREQ)); AssignCommand(oMod,SetLocalInt(oMod,"ILRSYS", nILRSYS)); AssignCommand(oMod,SetLocalInt(oMod,"ILRGOLD", nILRGOLD)); AssignCommand(oMod,SetLocalInt(oMod,"ILRGMAX", nILRGMAX)); //Mining AssignCommand(oMod,SetLocalInt(oMod,"ADAMDC", nADAMDC)); AssignCommand(oMod,SetLocalInt(oMod,"ADAMQTY", nADAMQTY)); AssignCommand(oMod,SetLocalInt(oMod,"OREADAM", nOREADAM)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEADAM", fTIMEADAM)); AssignCommand(oMod,SetLocalInt(oMod,"MITHDC", nMITHDC)); AssignCommand(oMod,SetLocalInt(oMod,"MITHQTY", nMITHQTY)); AssignCommand(oMod,SetLocalInt(oMod,"OREMITH", nOREMITH)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEMITH", fTIMEMITH)); AssignCommand(oMod,SetLocalInt(oMod,"STEELDC", nSTEELDC)); AssignCommand(oMod,SetLocalInt(oMod,"STEELQTY", nSTEELQTY)); AssignCommand(oMod,SetLocalInt(oMod,"ORESTEEL", nORESTEEL)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMESTEEL", fTIMESTEEL)); AssignCommand(oMod,SetLocalInt(oMod,"IRONDC", nIRONDC)); AssignCommand(oMod,SetLocalInt(oMod,"IRONQTY", nIRONQTY)); AssignCommand(oMod,SetLocalInt(oMod,"OREIRON", nOREIRON)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEIRON", fTIMEIRON)); //Lumbering AssignCommand(oMod,SetLocalInt(oMod,"IWOODDC", nIWOODDC)); AssignCommand(oMod,SetLocalInt(oMod,"IWOODQTY", nIWOODQTY)); AssignCommand(oMod,SetLocalInt(oMod,"TREEIRONW", nTREEIRONW)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEIRONW", fTIMEIRONW)); AssignCommand(oMod,SetLocalInt(oMod,"OAKDC", nOAKDC)); AssignCommand(oMod,SetLocalInt(oMod,"OAKQTY", nOAKQTY)); AssignCommand(oMod,SetLocalInt(oMod,"TREEOAK", nTREEOAK)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEOAK", fTIMEOAK)); AssignCommand(oMod,SetLocalInt(oMod,"ELMDC", nELMDC)); AssignCommand(oMod,SetLocalInt(oMod,"ELMQTY", nELMQTY)); AssignCommand(oMod,SetLocalInt(oMod,"TREEELM", nTREEELM)); AssignCommand(oMod,SetLocalFloat(oMod,"TIMEELM", fTIMEELM)); //Armor and Shield AssignCommand(oMod,SetLocalInt(oMod,"DRSYS",nDRSYS)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORRULES",nARMORRULES)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORDAMAGE",nARMORDAMAGE)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORDESTROY",nARMORDESTROY)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORLIGHT",nARMORLIGHT)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORMED",nARMORMED)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORHEAVY",nARMORHEAVY)); AssignCommand(oMod,SetLocalInt(oMod,"ARMOR10",nARMOR10)); AssignCommand(oMod,SetLocalInt(oMod,"ARMOR20",nARMOR20)); AssignCommand(oMod,SetLocalInt(oMod,"ARMOR30",nARMOR30)); AssignCommand(oMod,SetLocalInt(oMod,"CYCLE",nCycle)); AssignCommand(oMod,SetLocalInt(oMod,"ARMORHP",nAHP)); AssignCommand(oMod,SetLocalInt(oMod,"LAMULT",nLAMult)); AssignCommand(oMod,SetLocalInt(oMod,"MAMULT",nMAMult)); AssignCommand(oMod,SetLocalInt(oMod,"HAMULT",nHAMult)); AssignCommand(oMod,SetLocalInt(oMod,"SSMULT",nSSMult)); AssignCommand(oMod,SetLocalInt(oMod,"LSMULT",nLSMult)); AssignCommand(oMod,SetLocalInt(oMod,"TSMULT",nTSMult)); AssignCommand(oMod,SetLocalInt(oMod,"AC1MULT",nAC1Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AC2MULT",nAC2Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AC3MULT",nAC3Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AC4MULT",nAC4Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AC5MULT",nAC5Mult)); //Weapon AssignCommand(oMod,SetLocalInt(oMod,"WEAPONDAMAGE",nWEAPONDAMAGE)); AssignCommand(oMod,SetLocalInt(oMod,"WEAPONDESTROY",nWEAPONDESTROY)); AssignCommand(oMod,SetLocalInt(oMod,"WEAPONHP",nWHP)); AssignCommand(oMod,SetLocalInt(oMod,"LWMULT",nLWMult)); AssignCommand(oMod,SetLocalInt(oMod,"MWMULT",nMWMult)); AssignCommand(oMod,SetLocalInt(oMod,"HWMULT",nHWMult)); AssignCommand(oMod,SetLocalInt(oMod,"AB1MULT",nAB1Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AB2MULT",nAB2Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AB3MULT",nAB3Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AB4MULT",nAB4Mult)); AssignCommand(oMod,SetLocalInt(oMod,"AB5MULT",nAB5Mult)); //The rest of the Gear AssignCommand(oMod,SetLocalInt(oMod,"CLOAKDAMAGE",nCLOAKDAMAGE)); AssignCommand(oMod,SetLocalInt(oMod,"CLOAKDESTROY",nCLOAKDESTROY)); AssignCommand(oMod,SetLocalInt(oMod,"BOOTSDAMAGE",nBOOTSDAMAGE)); AssignCommand(oMod,SetLocalInt(oMod,"BOOTSDESTROY",nBOOTSDESTROY)); AssignCommand(oMod,SetLocalInt(oMod,"BELTDAMAGE",nBELTDAMAGE)); AssignCommand(oMod,SetLocalInt(oMod,"BELTDESTROY",nBELTDESTROY)); AssignCommand(oMod,SetLocalInt(oMod,"GLOVEHP",nGHP)); AssignCommand(oMod,SetLocalInt(oMod,"BRACERHP",nBHP)); AssignCommand(oMod,SetLocalInt(oMod,"CLOAKHP",nCHP)); AssignCommand(oMod,SetLocalInt(oMod,"BOOTSHP",nBTHP)); AssignCommand(oMod,SetLocalInt(oMod,"BELTHP",nBLHP)); //Messages AssignCommand(oMod,SetLocalInt(oMod,"DEFLECTMESSAGE",nDEFLECTMESSAGE)); AssignCommand(oMod,SetLocalInt(oMod,"ROLLMESSAGE",nROLLMESSAGE)); //: CRAFTING //:****************************************************************************/ //:****************************************************************************/ //: OLANDER'S REALISTIC WEATHER int nWEATHERGLOBAL = 0;//Set this to globally turn on or off the Weather System (0 is OFF) //Debug Messages (Temperature and Humidity will always be seen) int nRWDebug = 0;//Debug Meesages (0 is OFF) int nSKYBOX = 1;//New Feature to diable Sky Box changes Dynamically //Note: /*There are some 'Hiccups' encountered with the Aurora Engine thay may cause the computer to go to 100% and cause the Server to diconnect (very much like a never ending loop!!). If you have this issue turn this off first then check to see if the issue went away. Should. */ AssignCommand(oMod,SetLocalInt(oMod,"WEATHERGLOBAL", nWEATHERGLOBAL)); //AssignCommand(oMod,SetLocalInt(oMod,"WEATHERCYCLE",nMPH)); AssignCommand(oMod,SetLocalInt(oMod,"WEATHERDUBUG",nRWDebug)); AssignCommand(oMod,SetLocalInt(oMod,"WEATHERSKYBOX", nSKYBOX)); //: OLANDER'S REALISTIC WEATHER //:****************************************************************************/ //:****************************************************************************/ //: PHB/CUSTOM SPELLS int nTimeStop = 0;//Area Specific Time Stop (0 is OFF) int nPHBHarm = 0;//PHB Harm Spell (0 is OFF) int nPHBHeal = 0;//PHB Heal Spell (0 is OFF) int nBlessW = 0;//CEP fix for Bless Weapon (0 is OFF) int nDarkfire = 0;//CEP fix for Darkfire (0 is OFF) int nFlameW = 0;//CEP fix for Flame Weapon (0 is OFF) int nGMagicW = 0;//CEP fix for Greater Magic Weapon (0 is OFF) int nMagicW = 0;//CEP fix for Magic Weapon (0 is OFF) int nHolySword = 0;//CEP fix for Holy Sword (0 is OFF) int nKeenEdge = 0;//CEP fix for Keen Edge (0 is OFF) int nCFlame = 0;//Continual Flame Exploit Fix (0 is OFF) int nSC1 = 0;//PHB Duration for Summon Creature I (0 is OFF) int nSC2 = 0;//PHB Duration for Summon Creature II (0 is OFF) int nSC3 = 0;//PHB Duration for Summon Creature III (0 is OFF) int nSC4 = 0;//PHB Duration for Summon Creature IV (0 is OFF) int nSC5 = 0;//PHB Duration for Summon Creature V (0 is OFF) int nSC6 = 0;//PHB Duration for Summon Creature VI (0 is OFF) int nSC7 = 0;//PHB Duration for Summon Creature VII (0 is OFF) int nSC8 = 0;//PHB Duration for Summon Creature VIII (0 is OFF) int nSC9 = 0;//PHB Duration for Summon Creature IX (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"TIMESTOP",nTimeStop)); AssignCommand(oMod,SetLocalInt(oMod,"PHBHARM",nPHBHarm)); AssignCommand(oMod,SetLocalInt(oMod,"PHBHEAL",nPHBHeal)); AssignCommand(oMod,SetLocalInt(oMod,"BLESSW",nBlessW)); AssignCommand(oMod,SetLocalInt(oMod,"DARKFIRE",nDarkfire)); AssignCommand(oMod,SetLocalInt(oMod,"FLAMEW",nFlameW)); AssignCommand(oMod,SetLocalInt(oMod,"GMAGICW",nGMagicW)); AssignCommand(oMod,SetLocalInt(oMod,"MAGICW",nMagicW)); AssignCommand(oMod,SetLocalInt(oMod,"HOLYSWORD",nHolySword)); AssignCommand(oMod,SetLocalInt(oMod,"KEENEDGE",nKeenEdge)); AssignCommand(oMod,SetLocalInt(oMod,"CFLAME",nCFlame)); AssignCommand(oMod,SetLocalInt(oMod,"SC1",nSC1)); AssignCommand(oMod,SetLocalInt(oMod,"SC2",nSC2)); AssignCommand(oMod,SetLocalInt(oMod,"SC3",nSC3)); AssignCommand(oMod,SetLocalInt(oMod,"SC4",nSC4)); AssignCommand(oMod,SetLocalInt(oMod,"SC5",nSC5)); AssignCommand(oMod,SetLocalInt(oMod,"SC6",nSC6)); AssignCommand(oMod,SetLocalInt(oMod,"SC7",nSC7)); AssignCommand(oMod,SetLocalInt(oMod,"SC8",nSC8)); AssignCommand(oMod,SetLocalInt(oMod,"SC9",nSC9)); //: PHB/CUSTOM SPELLS //:****************************************************************************/ //:****************************************************************************/ //: DOA GOLD ENCUMBERANCE int nDOA = 0;//Set this to use Gold Encumberance (0 is OFF) AssignCommand(oMod,SetLocalInt(oMod,"DOAGOLD",nDOA)); //: DOA GOLD ENCUMBERANCE //:****************************************************************************/ //:****************************************************************************/ //: REALISTIC TORCHES //This is the Torch/Lantern Cycle Time float fCycle = 30.0; AssignCommand(oMod,SetLocalFloat(oMod,"TORCHCYCLE",fCycle)); //This is the Torch Number of HP's (Set to Multiples of 4) int nTHP = 12;//12This is Equivalent to 3 Hours AssignCommand(oMod,SetLocalInt(oMod,"TORCHHP",nTHP)); //This is the Open Lantern Number of HP's (Set to Multiples of 4) int nOLHP = 24;//24This is Equivalent to 6 Hours AssignCommand(oMod,SetLocalInt(oMod,"OLANTERNHP",nOLHP)); //This is the Lantern Number of HP's (Set to Multiples of 4) int nLHP = 40;//40This is Equivalent to 10 Hours AssignCommand(oMod,SetLocalInt(oMod,"LANTERNHP",nLHP)); //: REALISTIC TORCHES //:****************************************************************************/ //:****************************************************************************/ //: AUTO SHUT DOOR DELAY float fASD = 10.0;//Set this to the Amount of Delay to Close the Door AssignCommand(oMod,SetLocalFloat(oMod,"ASD",fASD)); //: AUTO SHUT DOOR DELAY //:****************************************************************************/ //:****************************************************************************/ //: PACK ANIMALS & HORSES //Animal GP Cost int nType1 = 50;//Pack Penguin int nType2 = 100;//Pack Badger int nType3 = 300;//Pack Boar int nType4 = 500;//Pack Beetle int nType5 = 700;//Pack Ox int nType6 = 1000;//Pack Bear int nType7 = 700;//Pack Pony int nType8 = 1000;//Pack Horse int nType9 = 1000;//Black Horse int nType10 = 1000;//White Horse int nType11 = 1000;//Brown Horse int nType12 = 1000;//White Pony int nType13 = 1000;//Pinto Pony int nType14 = 1000;//Brown Pony AssignCommand(oMod,SetLocalInt(oMod,"T1PRICE",nType1)); AssignCommand(oMod,SetLocalInt(oMod,"T2PRICE",nType2)); AssignCommand(oMod,SetLocalInt(oMod,"T3PRICE",nType3)); AssignCommand(oMod,SetLocalInt(oMod,"T4PRICE",nType4)); AssignCommand(oMod,SetLocalInt(oMod,"T5PRICE",nType5)); AssignCommand(oMod,SetLocalInt(oMod,"T6PRICE",nType6)); AssignCommand(oMod,SetLocalInt(oMod,"T7PRICE",nType7)); AssignCommand(oMod,SetLocalInt(oMod,"T8PRICE",nType8)); AssignCommand(oMod,SetLocalInt(oMod,"T9PRICE",nType9)); AssignCommand(oMod,SetLocalInt(oMod,"T10PRICE",nType10)); AssignCommand(oMod,SetLocalInt(oMod,"T11PRICE",nType11)); AssignCommand(oMod,SetLocalInt(oMod,"T12PRICE",nType12)); AssignCommand(oMod,SetLocalInt(oMod,"T13PRICE",nType13)); AssignCommand(oMod,SetLocalInt(oMod,"T14PRICE",nType14)); //Pack Box Maximum Items /* Careful here. The Box has a maximum Page Total for placing Items into it. This is due to the limitation of the Box and the Transfer of items to the Storage Creature. Armor is Counted as 2 Items. */ int nPBMAX = 40; AssignCommand(oMod,SetLocalInt(oMod,"PBMAX",nPBMAX)); //: PACK ANIMALS //:****************************************************************************/ //:****************************************************************************/ //: MODULE SWITCHES //Other Definitions // * 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, FALSE); // * 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); // * Bioware Restrict Use Poison To Feat Only // 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, FALSE); 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(); } //: MODULE SWITCHES //:****************************************************************************/ //:****************************************************************************/ //: TEMPPLATE //: TEMPPLATE //:****************************************************************************/ }