Area & Encounter work. Added override kobold skins.

Area & Encounter work.  Added override kobold skins.  Remade "Gorgon Den".  Setup spawning in "Gargoyle Den".   Setup spawning in "City of Baleas: Wizard's Tower".  Added CODI AI to more creatures & NPCs.
This commit is contained in:
Jaysyn904
2022-12-04 23:14:34 -05:00
parent 269eca1d1e
commit 6c78e38de8
76 changed files with 22407 additions and 67595 deletions

View File

@@ -22,7 +22,7 @@ object oTarget;
oTarget = oPC;
effect eEffect;
eEffect = EffectCurse(0, 0, 0, 10, 10, 10);
eEffect = EffectCurse(0, 0, 0, 5, 5, 5);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 60.0f);

View File

@@ -1,5 +1,5 @@
//::///////////////////////////////////////////////
//:: On Spawn In
//:: no_spn_beh.nss
//::
//:://////////////////////////////////////////////
/*
@@ -16,13 +16,13 @@
void main()
{
//Behaviour config
AddBehaviour( "+AVOIDMELEE", 50 ); //avoid melee
AddBehaviour( "+EVACAOE", 80 ); //evac AOEs
AddBehaviour( "+EYERAYS", 90 ); //beholder eye rays
AddBehaviour( "+AVOIDMELEE", 50 ); //avoid melee
AddBehaviour( "+HEALSELF", 100 ); //heal self
AddBehaviour( "+REGROUP", 20 ); //regroup
AddBehaviour( "+FEATENHANCE", 10 ); //enhance self via feats
AddBehaviour( "+CENTRALEYE", 10 ); //beholder antimagic cone
AddBehaviour( "+EYERAYS", 100 ); //beholder eye rays
AddBehaviour( "+ATKMELEE", 100 ); //melee attack
//Other config

View File

@@ -5,20 +5,20 @@
//:://////////////////////////////////////////////
/*
For Wizards:
Produces scrolls for he following spells:
Produces scrolls for he following spells:
daze, detect magic, flare, ghost sound, light,
mage hand, prestidigitation, read magic, feather fall,
identify, mage armor, shield, sleep, alter self,
invisibility, mirror image, fireball, haste
burning hands, chill touch, mage armor, summon
burning hands, chill touch, mage armor, summon
monster I, blindness/deafness, ghoul touch, knock,
Melf<6C>s acid arrow, dispel magic, slow
For other Arcane magic users: Grants XP
For other Arcane magic users: Grants XP
For PCs w/ UMD: Grants XP
For PCs w/ UMD: Grants XP
*/
//:://////////////////////////////////////////////
//:: Created By: Jaysyn
@@ -31,78 +31,78 @@
void main()
{
object oPC;
object oItem;
object oPC;
object oItem;
int nEvent =GetUserDefinedItemEventNumber();
int nEvent =GetUserDefinedItemEventNumber();
if (nEvent == X2_ITEM_EVENT_ACTIVATE)
{
oPC = GetItemActivator();
oItem = GetItemActivated();
int nLevel = GetHitDice(oPC);
int nLearnChance = (18 * GetAbilityModifier(3, oPC));
{
oPC = GetItemActivator();
oItem = GetItemActivated();
int nLevel = GetHitDice(oPC);
int nUmd = GetSkillRank(SKILL_USE_MAGIC_DEVICE,oPC, TRUE);
int nLearnChance = (15 * GetAbilityModifier(3, oPC));
int nWiz = GetLevelByClass(CLASS_TYPE_WIZARD, oPC);
int nUmd = GetSkillRank(SKILL_USE_MAGIC_DEVICE,oPC, TRUE);
int nArc = GetLevelByClass(CLASS_TYPE_BARD, oPC)
+GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
+GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
+GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
+GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
+GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
+GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
+GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
+GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
+GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC);
int nWiz = GetLevelByClass(CLASS_TYPE_WIZARD, oPC);
if (nWiz >= 1)
{
FloatingTextStringOnCreature("You dig through the bandit's spellbook to find some new spells.",oPC);
//:: Spawn scrolls
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr112",oPC);} //:: Burning Hands scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("prc_scr_1137",oPC);} //:: Chill Touch scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr104",oPC);} //:: Mage Armor scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr105",oPC);} //:: Summon Creature I scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr211",oPC);} //:: Blindness / Deafness scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr209",oPC);} //:: Ghoul Touch scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr216",oPC);} //:: Knock scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr202",oPC);} //:: Melf's Acid Arrow scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr309",oPC);} //:: Fireball scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr301",oPC);} //:: Dispel Magic scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr313",oPC);} //:: Slow scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("nw_it_sparscr003",oPC);} //:: Daze scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("x1_it_sparscr001",oPC);} //:: Flare scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("nw_it_sparscr004",oPC);} //:: Light scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("prc_scr_945",oPC);} //:: Mage Hand scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("prc_scr_957",oPC);} //:: Read Magic scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr106",oPC);} //:: Identify scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("x1_it_sparscr103",oPC);} //:: Shield scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr108",oPC);} //:: Sleep scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("prc_scr_1431",oPC);} //:: Alter Self scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr207",oPC);} //:: Invisibility scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("prc_scr_1164",oPC);} //:: Mirror Image scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr312",oPC);} //:: Haste scroll
}
int nArc = GetLevelByClass(CLASS_TYPE_BARD, oPC)
+GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
+GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
+GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
+GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
+GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
+GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
+GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
+GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
+GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC);
else if (nArc >= 1)
{
GiveXPToCreature(oPC,(2000/nLevel));
FloatingTextStringOnCreature("You read the book, which provides you valuable arcane knowledge, the equivalent of hard-earned experience.",oPC);
}
if (nWiz >= 1)
{
FloatingTextStringOnCreature("You dig through the bandit's spellbook to find some new spells.",oPC);
else if (GetHasSkill(SKILL_USE_MAGIC_DEVICE,oPC))
{
GiveXPToCreature(oPC,((300+(nUmd*12))/nLevel));
FloatingTextStringOnCreature("You read the book, but not being an arcane spellcaster, you find much of it incomprehensible.",oPC);
}
else
{
FloatingTextStringOnCreature("You can't make heads or tails out of this book.",oPC);
}
}
}
//:: Spawn scrolls
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr112",oPC);} //:: Burning Hands scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("prc_scr_1137",oPC);} //:: Chill Touch scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr104",oPC);} //:: Mage Armor scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr105",oPC);} //:: Summon Creature I scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr211",oPC);} //:: Blindness / Deafness scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr209",oPC);} //:: Ghoul Touch scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr216",oPC);} //:: Knock scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("nw_it_sparscr202",oPC);} //:: Melf's Acid Arrow scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr309",oPC);} //:: Fireball scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr301",oPC);} //:: Dispel Magic scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr313",oPC);} //:: Slow scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("nw_it_sparscr003",oPC);} //:: Daze scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("x1_it_sparscr001",oPC);} //:: Flare scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("nw_it_sparscr004",oPC);} //:: Light scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("prc_scr_945",oPC);} //:: Mage Hand scroll
if( d100() < nLearnChance - 0) {CreateItemOnObject("prc_scr_957",oPC);} //:: Read Magic scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr106",oPC);} //:: Identify scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("x1_it_sparscr103",oPC);} //:: Shield scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr108",oPC);} //:: Sleep scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("prc_scr_1431",oPC);} //:: Alter Self scroll
if( d100() < nLearnChance - 5) {CreateItemOnObject("nw_it_sparscr207",oPC);} //:: Invisibility scroll
if( d100() < nLearnChance - 10) {CreateItemOnObject("prc_scr_1164",oPC);} //:: Mirror Image scroll
if( d100() < nLearnChance - 15) {CreateItemOnObject("nw_it_sparscr312",oPC);} //:: Haste scroll
}
else if (nArc >= 1)
{
GiveXPToCreature(oPC,(2000/nLevel));
FloatingTextStringOnCreature("You read the book, which provides you valuable arcane knowledge, the equivalent of hard-earned experience.",oPC);
}
else if (GetHasSkill(SKILL_USE_MAGIC_DEVICE,oPC))
{
GiveXPToCreature(oPC,((300+(nUmd*12))/nLevel));
FloatingTextStringOnCreature("You read the book, but not being an arcane spellcaster, you find much of it incomprehensible.",oPC);
}
else
{
FloatingTextStringOnCreature("You can't make heads or tails out of this book.",oPC);
}
}
}

View File

@@ -85,9 +85,37 @@ int SpawnCheckPCs(object oSpawn)
}
}
//
//:: Spawn with a 25DC Skill Check
if (nCheckPCs == 2)
{
// Get Current Number of Children
int nSpawnCount = GetLocalInt(oSpawn, "SpawnCount");
if (nSpawnCount == 0)
{
// DC of Hidden Placeable
int nItemDC = 25;
// Player's Skill
int nSkill = GetSkillRank(SKILL_SEARCH, oPC);
// Do Skill Check
int nDCCheck = d20() + nSkill;
if (nDCCheck >= nItemDC)
{
// Placeable Spotted!
string sSpotted = "You notice a hidden compartment in one of the daggers with ring in it.";
FloatingTextStringOnCreature(sSpotted, oPC, TRUE);
//Spawn it!
nProcessSpawn = TRUE;
}
}
}
//:: Spawn with a 25DC Skill Check
// Spawn Based on Journal Quest Entry
if (nCheckPCs == 1)
if (nCheckPCs == 3)
{
// Check Journal Quest Entry
int nQuest = GetLocalInt(oPC, "NW_JOURNAL_ENTRYQuest1");
@@ -100,7 +128,7 @@ int SpawnCheckPCs(object oSpawn)
//
// Spawn Based on Item in PC Inventory
if (nCheckPCs == 2)
if (nCheckPCs == 4)
{
// Check Player for Item
object oItem = GetFirstItemInInventory(oPC);