#include "en5_treasure" #include "x2_inc_switches" #include "en5_w_a_check" #include "en5_include" #include "qst_main" #include "prc_inc_racial" #include "prc_class_const" void RemoveAllItems(object oPC); void AddToDynamicMerchant(object oPC); void CheckSpecialRace(object oPC); void SetupCharacter(object oPC); void SetupModule(); void SetupDynamicMerchant(); void SetupFence(int iFence); void AddToFence(object oPC, int iFence); void main() { object oPC; int iDebug; int iPCs; oPC = GetEnteringObject(); //iDebug=1; SetLocalInt(GetModule(),"ClientEnter",1); DelayCommand(1.0f,SetLocalInt(GetModule(),"ClientEnter",0)); //:: Number PCs to tell distinct henchmen apart if (GetLocalInt(oPC,"PlayerStart") == 0) { iPCs=GetLocalInt(GetModule(),"PCs"); iPCs++; SetLocalInt(GetModule(),"PCs",iPCs); SetLocalInt(oPC,"PCNumber",iPCs); } if (GetLocalInt(oPC,"PlayerStart") == 0 && iDebug==0) { SetupCharacter(oPC); if (GetLocalInt(oPC,"PCRacePower") == 0 || GetCampaignInt("Endless Nights VI","GameMode") == 1) SetLocalString(oPC,"Respawn","NH1_Spawn"); else { SetLocalString(oPC,"Respawn","spawn_purgatory"); SendMessageToPC(oPC,"PRC races with extra abilities/powers can only be used on Hack and Slash mode. Use the Endless Nights Information item to set the game mode."); } if (GetLocalInt(oPC,"PCRacePower") > 0) SetLocalInt(oPC,"Deaths",1); SetLocalInt(oPC,"PlayerStart",1); } else { if (GetLocalInt(oPC,"PlayerStart") == 0 && iDebug==1) { SetLocalInt(oPC,"Debug",1); //SetLocalString(oPC,"Respawn","NH1_Spawn"); //SetLocalInt(GetModule(),"MainQuest",2); //SetLocalString(oPC,"Respawn",GetOverallBossTag()); SetLocalString(oPC,"Respawn","TST_START"); //SetLocalString(oPC,"Respawn","MainQuest_F"); CreateItemOnObject("en5_info",oPC); } } if (GetLocalInt(GetModule(),"ModuleStart") == 0) { DelayCommand(0.1,SetupModule()); SetLocalInt(GetModule(),"ModuleStart",1); } } void SetSpecialVariables(object oPC) { SetLocalInt(oPC,"TM1_FOUNTAIN",Random(50)); SetLocalInt(oPC,"CC1_ALTER",Random(50)); SetLocalInt(oPC,"HC1_CHEST",Random(100)); SetLocalInt(oPC,"HC1_SPECIAL",Random(100)); SetLocalInt(oPC,"HC1_SDOOR",Random(10)); } void SetupCharacter(object oPC) { object oFaction; object oNPC; int iAnimal = GetLevelByClass(CLASS_TYPE_DRUID, oPC) + GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) + GetLevelByClass(CLASS_TYPE_HEALER, oPC) + GetLevelByClass(CLASS_TYPE_RANGER, oPC) + GetLevelByClass(CLASS_TYPE_SOULBORN, oPC) + GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC); SetXP(oPC,0); RemoveAllItems(oPC); CreateItemOnObject("en5_info",oPC); //Delay this to make sure plenty of Random statements have been run cuz randomization in NWN is subpar DelayCommand(3.0,SetSpecialVariables(oPC)); if (iAnimal > 0) { oFaction = GetObjectByTag("en6_animal"); AdjustReputation(oPC,oFaction,50); } if (Random(50)==40) { if (GetIsObjectValid(GetObjectByTag("en6_inheret2"))) oNPC = GetObjectByTag("en6_inheret2"); else { oNPC = CreateObject(OBJECT_TYPE_CREATURE,"en6_inheret2",GetLocation(GetObjectByTag("NH1_Q_NPC1"))); if (!GetIsObjectValid(oNPC)) oNPC = CreateObject(OBJECT_TYPE_CREATURE,"en6_inheret2",GetLocation(GetObjectByTag("NH1_Town"))); } SetLocalInt(oNPC,GetName(oPC),1); } } void RemoveAllItems(object oPC) { object oObject; string sTag; int iGold; int iRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC) + GetLevelByClass(CLASS_TYPE_SCOUT, oPC) + GetLevelByClass(CLASS_TYPE_NINJA, oPC) + GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) + GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC); int iArcane = GetLevelByClass(CLASS_TYPE_WIZARD, oPC) + GetLevelByClass(CLASS_TYPE_SORCERER, oPC) + GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC) + GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC) + GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC) + GetLevelByClass(CLASS_TYPE_BEGUILER, oPC) + GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC) + GetLevelByClass(CLASS_TYPE_WARMAGE, oPC) + GetLevelByClass(CLASS_TYPE_BINDER, oPC) + GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC) + GetLevelByClass(CLASS_TYPE_WARLOCK, oPC); int iMonk = GetLevelByClass(CLASS_TYPE_MONK, oPC) + GetLevelByClass(CLASS_TYPE_SOHEI, oPC) + GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC) + GetLevelByClass(CLASS_TYPE_PSION, oPC); oObject = GetFirstItemInInventory(oPC); while (GetIsObjectValid(oObject)) { //DelayCommand(1.0,SendMessageToPC(oPC,"Destroyed " + GetName(oObject))); DestroyObject(oObject); oObject = GetNextItemInInventory(oPC); } oObject=GetItemInSlot(INVENTORY_SLOT_ARMS,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_ARROWS,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_BELT,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_BOLTS,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_BOOTS,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_BULLETS,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_CHEST,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_CLOAK,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_HEAD,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_LEFTRING,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_NECK,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); DestroyObject(oObject); oObject=GetItemInSlot(INVENTORY_SLOT_RIGHTRING,oPC); DestroyObject(oObject); if (iRogue > 0 || GetLevelByClass(CLASS_TYPE_RANGER,oPC)>0) oObject = CreateItemOnObject("en5_start_rogue",oPC); else if (iArcane > 0) oObject = CreateItemOnObject("en5_start_sorc",oPC); else if (iMonk > 0) oObject = CreateItemOnObject("en5_start_monk",oPC); else oObject = CreateItemOnObject("en5_start_chain",oPC); DelayCommand(0.1,AssignCommand(oPC,ActionEquipItem(oObject,INVENTORY_SLOT_CHEST))); GetWeaponType(oPC); sTag = "en3_" + GetWeaponTag(oPC); oObject = CreateItemOnObject(sTag,oPC); DelayCommand(0.1,AssignCommand(oPC,ActionEquipItem(oObject,INVENTORY_SLOT_RIGHTHAND))); if (sTag == "en3_hxbow" || sTag == "en3_lxbow") CreateItemOnObject("en3_bolt",oPC,99); if (sTag == "en3_longbow" || sTag == "en3_sbow") CreateItemOnObject("en3_arrow",oPC,99); if (sTag == "en3_sling") CreateItemOnObject("en3_bullet",oPC,99); CreateItemOnObject("en5_potionclw",oPC,3); iGold=GetGold(oPC); DelayCommand(0.1,AssignCommand(oPC,TakeGoldFromCreature(iGold,oPC,TRUE))); DelayCommand(0.2,GiveGoldToCreature(oPC,50)); //if (GetGold(oPC)<50) // DelayCommand(0.1,GiveGoldToCreature(oPC,200-GetGold(oPC))); } void AddToDynamicMerchant(object oPC) { object oMer; int iIndex; oMer = GetObjectByTag("en5_dmer1"); GetMagicItem(oMer,3,0,oPC); GetMagicItem(oMer,Random(2)+1,1,oPC); GetMagicItem(oMer,Random(2)+1,3,oPC); GetMagicItem(oMer,Random(2)+1,13,oPC); if (Random(4)==0) GetMagicItem(oMer,Random(2)+2,1,oPC); if (Random(4)==0) GetMagicItem(oMer,Random(2)+2,3,oPC); } void CheckSpecialRace(object oPC) { int iMonstrous = 0; int iRacePower = 0; int iRace = GetRacialType(oPC); string sRace = GetRace(oPC); //SendMessageToPC(oPC,"Race = " + sRace); //SendMessageToPC(oPC,"Sub-Race = " + GetSubRace(oPC)); if (iRace == RACIAL_TYPE_AASIMAR) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ABOM_YUAN) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_AIR_GEN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ARANEA) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_ARC_DWARF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ARKAMOI) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_ASHERATI) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_AVARIEL) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_AZER) {iRacePower = 3; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_AZURIN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_BARIAUR) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_BHUKA) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_BLUE_GOBLIN) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_BRALANI) {iRacePower = 3; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_BROWNIE) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_BUGBEAR) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_BUOMMANS) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_CATFOLK) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_CENTAUR) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_CHANGELING) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_CHITINE) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_CRUCIAN) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_DEEP_GNOME) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_DEEP_HALFLING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_DOPPELGANGER) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_DRIDER) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_DROMITE) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_DROW_FEMALE) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_DROW_MALE) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_DUERGAR) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_DUSKLING) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_EARTH_GEN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ELAN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_EXTAMINAAR) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_FERAL_GARGUN) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_FEYRI) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FIRE_GEN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FIREBLOOD_DWARF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FLIND) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_FOR_GNOME) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FORESTLORD_ELF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FROST_FOLK) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_FROSTBLOOD_ORC) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_GHOSTWISE_HALFLING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GITHYANKI) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_GITHZERAI) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GLIMMERSKIN_HALFING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GLOURA) {iRacePower = 3; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GNOLL) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_GOBLIN) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_GOLD_DWARF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GOLIATH) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_GRAYORC) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_HADOZEE) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_HADRIMOI) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_HAGSPAWN) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_HALFDROW) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_HALFOGRE) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_HOBGOBLIN) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_HOUND_ARCHON) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_HYBSIL) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ILLITHID) {iRacePower = 3; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_IMASKARI) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_KALASHTAR) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_KARSITE) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_KHAASTA) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_KILLOREN) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_KOBOLD) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_KRINTH) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_LASHEMOI) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_LIZARDFOLK) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MAENADS) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_MARRULURK) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MARRUSAULT) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MARRUTACT) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MEPHLING_AIR) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_MEPHLING_EARTH) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_MEPHLING_FIRE) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_MEPHLING_WATER) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_MINOTAUR) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MONGRELFOLK) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_MUCKDWELLER) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_NATHRI) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_NAZTHARUNE_RAKSHASA) {iRacePower = 3; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_NEANDERTHAL) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_NERAPHIM) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_OGRE) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_ORC) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_OROG) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_PH_HALFGIANT) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_PIXIE) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_POISON_DUSK) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_PURE_YUAN) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_RAKSHASA) {iRacePower = 3; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_REDSPAWN_ARCANISS) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_RETH_DEKALA) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_RILKAN) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ROCK_GNOME) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SHADOWSWYFT) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SHARAKIM) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SHIFTER) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SILVERBROW_HUMAN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SKARN) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SKULK) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_SNOW_ELF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SPIKER) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_SPIRETOPDRAGON) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SPIRIT_FOLK) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_STONECHILD) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_STONEHUNTER_GNOME) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_STRONGHEART_HALFLING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SUN_ELF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_SUNSCORCH_HOBGOBLIN) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TAER) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TALLFELLOW_HALFLING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_TANARUKK) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TASLOI) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TIEFLING) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_TROGLODYTE) {iRacePower = 0; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TROLL) {iRacePower = 3; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_TUNDRA_HALFLING) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_TURLEMOI) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_ULDRA) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_UNDERFOLK) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_URDINNIR) {iRacePower = 1; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_VARAG) {iRacePower = 2; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_VILETOOTH_LIZARDFOLK) {iRacePower = 1; iMonstrous = 1;} else if (iRace == RACIAL_TYPE_VOLODNI) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WARFORGED) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WARFORGED_CHARGER) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WATER_GEN) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WEMIC) {iRacePower = 3; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WHISPER_GNOME) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WILD_DWARF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WILD_ELF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WILDREN) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_WOOD_ELF) {iRacePower = 0; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_XEPH) {iRacePower = 2; iMonstrous = 0;} else if (iRace == RACIAL_TYPE_ZAKYA_RAKSHASA) {iRacePower = 3; iMonstrous = 0;} if (iRacePower > 0) { SetLocalInt(oPC,"PCRacePower",iRacePower); SetLocalInt(oPC,"PCLevelMod",iRacePower); } } void SetupModule() { string sTag; int iRandom; SetLocalInt(GetModule(),"ModuleStart",1); SetMaxHenchmen(10); SetModuleSwitch(MODULE_SWITCH_ENABLE_UMD_SCROLLS,TRUE); SetModuleSwitch(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS,TRUE); SetModuleSwitch(MODULE_SWITCH_ENABLE_CROSSAREA_WALKWAYPOINTS,TRUE); SetModuleSwitch(MODULE_SWITCH_ENABLE_BEBILITH_RUIN_ARMOR,TRUE); /* SetLocalInt(GetModule(),"PRC_165_DEATH_IMMUNITY",TRUE); <-- All handled w/ personal_switch.2da SetLocalInt(GetModule(),"PRC_PNP_TRUESEEING",TRUE); SetLocalInt(GetModule(),"PRC_TIMESTOP_LOCAL",TRUE); SetLocalInt(GetModule(),"PRC_PNP_FEAR_AURAS",TRUE); SetLocalInt(GetModule(),"PRC_PNP_ANIMATE_DEAD",TRUE); SetLocalInt(GetModule(),"PRC_CREATE_UNDEAD_PERMANENT",TRUE); SetLocalInt(GetModule(),"PRC_USE_NEW_IMBUE_ARROW",TRUE); SetLocalInt(GetModule(),"PRC_STAFF_CASTER_LEVEL",TRUE); SetLocalInt(GetModule(),"PRC_PNP_ABILITY_DAMAGE_EFFECTS",TRUE); SetLocalInt(GetModule(),"PRC_PNP_ELEMENTAL_SWARM",TRUE); SetLocalInt(GetModule(),"PRC_MULTISUMMON",TRUE); SetLocalInt(GetModule(),"PRC_USE_BIOWARE_DATABASE",1500); */ SetLocalString(GetModule(),"EN6_QST_DB","EN6_QST"); WriteTimestampedLogEntry("*** Endless Night VI Loaded ***"); string sCampaign = "Endless Nights VI"; if (GetCampaignInt(sCampaign,"GameMode") == 1) { SetLocalInt(GetModule(),"GameMode",1); DelayCommand(2.0,SendMessageToPC(GetFirstPC(),"Game is set for Hack and Slash mode.")); } else { iRandom=Random(100); if (iRandom<1) SetLocalInt(GetModule(),"MagicLevel",3); else if (iRandom<3) SetLocalInt(GetModule(),"MagicLevel",2); else if (iRandom<10) SetLocalInt(GetModule(),"MagicLevel",1); else SetLocalInt(GetModule(),"MagicLevel",0); } SetupMainQuest(); //DelayCommand(1.0,SetupDynamicMerchant()); } void SetupDynamicMerchant() { object oMer; object oPC; int iIndex; oMer = GetObjectByTag("en5_dmer1"); oPC = GetFirstPC(); iIndex = 1; while (iIndex < 7) { GetMagicItem(oMer,1,0,oPC); iIndex++; } iIndex = 1; while (iIndex < 5) { GetMagicItem(oMer,2,0,oPC); iIndex++; } iIndex = 1; while (iIndex < 3) { GetMagicItem(oMer,3,0,oPC); iIndex++; } GetMagicItem(oMer,4,0,oPC); SetupFence(1); SetupFence(2); SetupFence(3); } void SetupFence(int iFence) { object oMer; object oPC; string sTag; int iIndex; sTag = "en6_fence" + IntToString(iFence); oPC = GetFirstPC(); oMer = GetObjectByTag(sTag); iIndex = 1; while (iIndex < 11) { GetMagicItem(oMer,Random(6)+1,0,oPC); iIndex++; } } void AddToFence(object oPC, int iFence) { object oMer; object oPC; string sTag; int iIndex; sTag = "en6_fence" + IntToString(iFence); oMer = GetObjectByTag(sTag); iIndex = 1; while (iIndex < 3) { GetMagicItem(oMer,Random(6)+1,1,oPC); iIndex++; } iIndex = 1; while (iIndex < 3) { GetMagicItem(oMer,Random(6)+1,2,oPC); iIndex++; } }