Clear out experimental .35 files

Clear out experimental .35 files
This commit is contained in:
Jaysyn904
2024-02-11 13:04:14 -05:00
parent 2112b92e24
commit 618cd42b82
22356 changed files with 0 additions and 1248956 deletions

View File

@@ -1,18 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the priest test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC);
return bCondition;
}

View File

@@ -1,23 +0,0 @@
// Added compatibility for PRC base classes
// All divine classes - not really important
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC);
return bCondition;
}

View File

@@ -1,18 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the priest test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC);
return bCondition;
}

View File

@@ -1,19 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the priest test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF, "NW_L_TALKLEVEL") == 1
&& (GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC));
return bCondition;
}

View File

@@ -1,19 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the priest test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF, "NW_L_TALKLEVEL") == 2
&& (GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC));
return bCondition;
}

View File

@@ -1,17 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|| GetLevelByClass(CLASS_TYPE_DRUID, oPC)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oPC);
return !bCondition;
}

View File

@@ -1,40 +0,0 @@
//* If I've been healed, Trial has been completed
// Added compatibility for PRC base classes
#include "prc_class_const"
void main()
{
int nSpell = GetLastSpell();
//* Check if healed
if(nSpell == SPELL_CURE_MINOR_WOUNDS
|| nSpell == SPELL_CURE_LIGHT_WOUNDS
|| nSpell == SPELL_CURE_MODERATE_WOUNDS
|| nSpell == SPELL_CURE_SERIOUS_WOUNDS
|| nSpell == SPELL_CURE_CRITICAL_WOUNDS)
{
RemoveEffect(OBJECT_SELF,GetFirstEffect(OBJECT_SELF));
object oCaster = GetLastSpellCaster();
if(GetLocalInt(GetModule(),"NW_G_M1Q0HalfPriest") == TRUE
|| GetLevelByClass(CLASS_TYPE_ARCHIVIST, oCaster)
|| GetLevelByClass(CLASS_TYPE_BARD, oCaster)
|| GetLevelByClass(CLASS_TYPE_CLERIC, oCaster)
|| GetLevelByClass(CLASS_TYPE_DRUID, oCaster)
|| GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oCaster)
|| GetLevelByClass(CLASS_TYPE_HEALER, oCaster)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oCaster)
|| GetLevelByClass(CLASS_TYPE_SHAMAN, oCaster)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oCaster)
|| GetLevelByClass(CLASS_TYPE_TEMPLAR, oCaster)
|| GetLevelByClass(CLASS_TYPE_WITCH, oCaster))
{
SetLocalInt(GetModule(),"NW_G_M0Q01_PRIEST_TEST",2);
AssignCommand(GetNearestObjectByTag("M1Q0BElynwyd"),
SpeakOneLinerConversation());
}
else
{
SetLocalInt(GetModule(),"NW_G_M1Q0HalfPriest",TRUE);
SetLocalInt(GetModule(),"NW_G_M1Q0Healing",TRUE);
}
}
}

View File

@@ -1,20 +0,0 @@
void main()
{
object oGulnan = GetNearestObjectByTag("M1Q0EGulnan");
object oDevourer = GetNearestObjectByTag("M1Q0EDevourer");
if(GetUserDefinedEventNumber() == 30)
{
SetLocalInt(GetArea(OBJECT_SELF),"NW_G_M1Q0CutScene",30);
DelayCommand(2.0,SpeakOneLinerConversation("M1Q0EFinal"));
DelayCommand(4.0,SignalEvent(oGulnan,EventUserDefined(40)));
DelayCommand(4.0,SignalEvent(oDevourer,EventUserDefined(40)));
}
else if (GetUserDefinedEventNumber() == 0) // fix for enabling On Damaged UD event signal in the default script
{
ClearAllActions();
ActionForceMoveToObject(GetNearestObjectByTag("M1Q0ToChapter1"));
//ActionOpenDoor(GetNearestObjectByTag("-"));
ActionDoCommand(DestroyObject(OBJECT_SELF));
SetCommandable(FALSE);
}
}

View File

@@ -1,20 +0,0 @@
#include "prc_inc_castlvl"
void main()
{
object oPC = GetLastOpenedBy();
if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "M1S03ICLAY"))
&& !GetIsObjectValid(GetItemPossessedBy(oPC, "M1S03ICLAY")))
{
int i, nClass;
for(i = 1; i <= 3; i++)
{
nClass = GetClassByPosition(i, oPC);
if(GetIsArcaneClass(nClass))
{
CreateItemOnObject("M1S03ICLAY", OBJECT_SELF);
return;
}
}
}
}

View File

@@ -1,20 +0,0 @@
#include "prc_inc_castlvl"
void main()
{
object oPC = GetLastOpenedBy();
if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "M1S03IFOG"))
&& !GetIsObjectValid(GetItemPossessedBy(oPC, "M1S03IFOG")))
{
int i, nClass;
for(i = 1; i <= 3; i++)
{
nClass = GetClassByPosition(i, oPC);
if(GetIsArcaneClass(nClass))
{
CreateItemOnObject("M1S03IFOG", OBJECT_SELF);
return;
}
}
}
}

View File

@@ -1,20 +0,0 @@
#include "prc_inc_castlvl"
void main()
{
object oPC = GetLastOpenedBy();
if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "M1S03IFLASK"))
&& !GetIsObjectValid(GetItemPossessedBy(oPC, "M1S03IFLASK")))
{
int i, nClass;
for(i = 1; i <= 3; i++)
{
nClass = GetClassByPosition(i, oPC);
if(GetIsArcaneClass(nClass))
{
CreateItemOnObject("M1S03IFLASK", OBJECT_SELF);
return;
}
}
}
}

View File

@@ -1,20 +0,0 @@
#include "prc_inc_castlvl"
void main()
{
object oPC = GetLastOpenedBy();
if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, "M1S03IKINDLING"))
&& !GetIsObjectValid(GetItemPossessedBy(oPC, "M1S03IKINDLING")))
{
int i, nClass;
for(i = 1; i <= 3; i++)
{
nClass = GetClassByPosition(i, oPC);
if(GetIsArcaneClass(nClass))
{
CreateItemOnObject("M1S03IKINDLING", OBJECT_SELF);
return;
}
}
}
}

View File

@@ -1,41 +0,0 @@
// Added compatibility for PRC base classes
// All fighter-type classes - not really important
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oPC)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oPC)
|| GetLevelByClass(CLASS_TYPE_MONK, oPC)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oPC)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oPC)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oPC)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oPC)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oPC)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|| GetLevelByClass(CLASS_TYPE_BINDER, oPC);
return bCondition;
}

View File

@@ -1,22 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the arcane test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oPC);
return bCondition;
}

View File

@@ -1,13 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass *only* the rogue test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|| GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC);
return bCondition;
}

View File

@@ -1,11 +0,0 @@
// Added compatibility for PRC base classes
// classes that should pass the rogue and arcane test go here
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC);
return bCondition;
}

View File

@@ -1,12 +0,0 @@
// Added compatibility for PRC base classes
// classes similar to paladin - not important
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
return GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oPC);
}

View File

@@ -1,12 +0,0 @@
// Added compatibility for PRC base classes
// classes similar to ranger - not important
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
return GetLevelByClass(CLASS_TYPE_BOWMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oPC);
}

View File

@@ -1,12 +0,0 @@
// Added compatibility for PRC base classes
// classes similar to monk - not important
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_BRAWLER, oPC)
|| GetLevelByClass(CLASS_TYPE_MONK, oPC)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oPC);
return bCondition;
}

View File

@@ -1,28 +0,0 @@
// Added compatibility for PRC base classes
// All arcane classes - not really important
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a06chansgk6 running");
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oPC);
return bCondition;
}

View File

@@ -1,37 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
void main()
{
object oPC = GetPCSpeaker();
if(GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC))
{
// "PRC note: Though Jaroo will not say so, you may pass his test by using a spell or a power to destroy the statue."
FloatingTextStrRefOnCreature(0x01000000 + 49455 , oPC, FALSE);
// Give Ray of Frost scroll
object oScroll = CreateItemOnObject("nw_it_sparscr002", oPC);
// Remove all class restrictions from the scroll
itemproperty ipTest = GetFirstItemProperty(oScroll);
while(GetIsItemPropertyValid(ipTest))
{
if(GetItemPropertyType(ipTest) == ITEM_PROPERTY_USE_LIMITATION_CLASS)
RemoveItemProperty(oScroll, ipTest);
ipTest = GetNextItemProperty(oScroll);
}
}
SetLocalInt(OBJECT_SELF,"NW_L_TALKLEVEL",2);
}

View File

@@ -1,29 +0,0 @@
// Added compatibility for PRC base classes
// classes for arcane test
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a06jarosck3 running");
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF, "NW_L_TALKLEVEL") == 1
&& (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oPC));
return bCondition;
}

View File

@@ -1,29 +0,0 @@
// Added compatibility for PRC base classes
// classes for arcane test
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a06jarosck6 running");
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF,"NW_L_TALKLEVEL") == 2
&& (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oPC));
return bCondition;
}

View File

@@ -1,25 +0,0 @@
#include "prc_class_const"
void main()
{
object oPC = GetPCSpeaker();
if(GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC)
|| GetLevelByClass(CLASS_TYPE_MYSTIC, oPC)
|| GetLevelByClass(CLASS_TYPE_SHUGENJA, oPC))
{
// Give scroll of Cure Minor wounds
object oScroll = CreateItemOnObject("x2_it_spdvscr001", oPC);
// Remove all class restrictions from the scroll
itemproperty ipTest = GetFirstItemProperty(oScroll);
while(GetIsItemPropertyValid(ipTest))
{
if(GetItemPropertyType(ipTest) == ITEM_PROPERTY_USE_LIMITATION_CLASS)
RemoveItemProperty(oScroll, ipTest);
ipTest = GetNextItemProperty(oScroll);
}
}
SetLocalInt(OBJECT_SELF,"NW_L_TALKLEVEL",2);
SetLocalInt(GetModule(),"NW_G_M0Q01_PRIEST_TEST",1);
}

View File

@@ -1,22 +0,0 @@
// Added compatibility for PRC base classes
// classes with disable trap or open lock skills should take this test
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a08kettsck3 running");
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF, "NW_L_TALKLEVEL") == 1
&& !GetIsObjectValid(GetItemPossessedBy(oPC,"NW_ROGUE_ITEM"))
&& (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|| GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC));
return bCondition;
}

View File

@@ -1,21 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a08kettsck6 running");
object oPC = GetPCSpeaker();
int bCondition = GetLocalInt(OBJECT_SELF, "NW_L_TALKLEVEL") == 2
&& !GetIsObjectValid(GetItemPossessedBy(oPC,"NW_ROGUE_ITEM"))
&& (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|| GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC));
return bCondition;
}

View File

@@ -1,19 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a08kettsck8 running");
object oPC = GetPCSpeaker();
int bCondition = (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|| GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC))
&& GetLocalInt(GetModule(),"NW_G_M0Q01_ROGUE_TEST") < 2;
return bCondition;
}

View File

@@ -1,21 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
int StartingConditional()
{
if(DEBUG) DoDebug("m0q01a08kettsgk1 running");
object oPC = GetPCSpeaker();
int bCondition = GetIsObjectValid(GetItemPossessedBy(oPC,"NW_ROGUE_ITEM"))
&& GetLocalInt(GetModule(),"NW_G_M0Q01_ROGUE_TEST") == 1
&& (GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|| GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC));
return bCondition;
}

View File

@@ -1,41 +0,0 @@
// Added compatibility for PRC base classes
// All fighter-type classes
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oPC)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oPC)
|| GetLevelByClass(CLASS_TYPE_MONK, oPC)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oPC)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oPC)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oPC)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oPC)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oPC)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|| GetLevelByClass(CLASS_TYPE_BINDER, oPC);
return !bCondition;
}

View File

@@ -1,68 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
void main()
{
object oAttacker = GetLastAttacker();
//* Should only register if hit with a ranged weapon
if(GetWeaponRanged(GetLastWeaponUsed(oAttacker)))
{
SpeakOneLinerConversation();
if(GetLocalInt(GetModule(),"NW_G_M0Q01_FIGHTER_TEST") > 0 &&
GetLocalInt(GetModule(), "NW_PROLOGUE_PLOT") != 99)
{
if(GetDistanceToObject(oAttacker) > 12.0)
{
if(GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARD, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MONK, oAttacker)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oAttacker)
|| GetLevelByClass(CLASS_TYPE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BINDER, oAttacker))
{
SetLocalInt(GetModule(),"NW_G_M1Q0BRanged",TRUE);
if(GetLocalInt(GetModule(),"NW_G_M1Q0BMelee"))
{
SetLocalInt(GetModule(),"NW_G_M0Q01_FIGHTER_TEST",2);
}
}
else
{
SetLocalInt(GetModule(),"NW_G_M0Q01_NONFIGHTER_PASS",TRUE);
}
AssignCommand(GetNearestObjectByTag("M1Q0BHewwet"),SpeakOneLinerConversation("",oAttacker));
}
else
{
AssignCommand(GetNearestObjectByTag("M1Q0BHewwet"),SpeakOneLinerConversation("",oAttacker));
}
}
}
}

View File

@@ -1,54 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
void main()
{
object oAttacker = GetLastAttacker();
if(GetLocalInt(GetModule(), "NW_PROLOGUE_PLOT") != 99)
{
if(GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARD, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MONK, oAttacker)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oAttacker)
|| GetLevelByClass(CLASS_TYPE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BINDER, oAttacker))
{
SetLocalInt(GetModule(),"NW_G_M1Q0BMelee",TRUE);
if(GetLocalInt(GetModule(),"NW_G_M1Q0BRanged"))
{
SetLocalInt(GetModule(),"NW_G_M0Q01_FIGHTER_TEST",2);
}
}
else
{
SetLocalInt(GetModule(),"NW_G_M0Q01_NONFIGHTER_PASS2",TRUE);
}
AssignCommand(GetNearestObjectByTag("M1Q0BDendy"),SpeakOneLinerConversation());
}
}

View File

@@ -1,35 +0,0 @@
//* Check to see if a spell was cast at the statue, which will destroy it and
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void main()
{
if(DEBUG) DoDebug("m0q0_statue_06_9 running");
object oCaster = GetLastSpellCaster();
if(GetLevelByClass(CLASS_TYPE_ARTIFICER, oCaster)
|| GetLevelByClass(CLASS_TYPE_BARD, oCaster)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oCaster)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oCaster)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oCaster)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oCaster)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oCaster)
|| GetLevelByClass(CLASS_TYPE_PSION, oCaster)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oCaster)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oCaster)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oCaster)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oCaster)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oCaster)
|| GetLevelByClass(CLASS_TYPE_WILDER, oCaster)
|| GetLevelByClass(CLASS_TYPE_WITCH, oCaster)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oCaster))
{
effect eDeath = EffectDeath(TRUE);
SetPlotFlag(OBJECT_SELF,FALSE);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eDeath,OBJECT_SELF);
SetLocalInt(GetModule(),"NW_G_M0Q01_MAGE_TEST",2);
AssignCommand(GetNearestObjectByTag("M1Q0BJaroo"),
SpeakOneLinerConversation());
}
}

View File

@@ -1,42 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int bCondition = !GetIsObjectValid(oPC)
&& GetLocalInt(OBJECT_SELF, "Generic_Surrender") == 1
&& (GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oPC)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oPC)
|| GetLevelByClass(CLASS_TYPE_MONK, oPC)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oPC)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oPC)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oPC)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oPC)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oPC)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oPC)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|| GetLevelByClass(CLASS_TYPE_BINDER, oPC));
return bCondition;
}

View File

@@ -1,79 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
void main()
{
object oAttacker = GetLastAttacker();
if(GetWeaponRanged(GetLastWeaponUsed(oAttacker)) == FALSE)
{
SetLocalInt(OBJECT_SELF, "Generic_Surrender",1);
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE,
RADIUS_SIZE_HUGE,
GetLocation(OBJECT_SELF));
while(GetIsObjectValid(oTarget))
{
if(oTarget != OBJECT_SELF)
{
if(GetIsEnemy(oTarget))
{
AdjustReputation(oTarget, OBJECT_SELF, 50);
ClearPersonalReputation(oTarget);
SetIsTemporaryFriend(oTarget);
}
AssignCommand(oTarget, ClearAllActions());
AssignCommand(oTarget,ActionAttack(OBJECT_INVALID));
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE,
RADIUS_SIZE_HUGE,
GetLocation(OBJECT_SELF));
}
ClearAllActions();
if(GetLocalInt(GetModule(),"NW_G_M0Q01_FIGHTER_TEST") > 0)
{
if(GetLevelByClass(CLASS_TYPE_ANTI_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARBARIAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BARD, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BOWMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BRAWLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CRUSADER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FIGHTER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_KNIGHT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MARSHAL, oAttacker)
|| GetLevelByClass(CLASS_TYPE_MONK, oAttacker)
|| GetLevelByClass(CLASS_TYPE_NOBLE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PALADIN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oAttacker)
|| GetLevelByClass(CLASS_TYPE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SAMURAI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SCOUT, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOHEI, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULKNIFE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SWORDSAGE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TRUENAMER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER, oAttacker)
|| GetLevelByClass(CLASS_TYPE_WARBLADE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_TOTEMIST, oAttacker)
|| GetLevelByClass(CLASS_TYPE_SOULBORN, oAttacker)
|| GetLevelByClass(CLASS_TYPE_INCARNATE, oAttacker)
|| GetLevelByClass(CLASS_TYPE_FACTOTUM, oAttacker)
|| GetLevelByClass(CLASS_TYPE_BINDER, oAttacker))
{
SetLocalInt(GetModule(),"NW_G_M1Q0BMelee",TRUE);
if(GetLocalInt(GetModule(),"NW_G_M1Q0BRanged"))
{
SetLocalInt(GetModule(),"NW_G_M0Q01_FIGHTER_TEST",2);
}
}
else
{
SetLocalInt(GetModule(),"NW_G_M0Q01_NONFIGHTER_PASS2",TRUE);
}
}
SpeakOneLinerConversation();
}
}

View File

@@ -1,53 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void main()
{
if(DEBUG) DoDebug("m1q0boldgred_item running");
string sItemTemplate;
object oPC = GetPCSpeaker();
if(GetLocalInt(oPC,"NW_L_M1Q0Item1") == FALSE)
{
SetLocalInt(oPC,"NW_L_M1Q0Item1",TRUE);
if(GetLevelByClass(CLASS_TYPE_BARD,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEXBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARMAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWASHBUCKLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULKNIFE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0)
{
sItemTemplate = "nw_aarcl002"; //studded leather
}
else if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSION,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WILDER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHADOWCASTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WITCH,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WIZARD,oPC) > 0)
{
sItemTemplate = "nw_mcloth009"; //robe of fire resistance
}
else if(GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0)
{
sItemTemplate = "nw_mcloth018"; //robe of the shining hand +1
}
else
{
sItemTemplate = "nw_aarcl012"; //chainshirt
}
object oItem = CreateItemOnObject(sItemTemplate,oPC);
SetIdentified(oItem,TRUE);
}
}

View File

@@ -1,83 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void main()
{
if(DEBUG) DoDebug("m1q0bteach_item running");
string sItemTemplate;
object oPC = GetPCSpeaker();
if(GetLocalInt(oPC,"NW_L_M1Q0Item2") == FALSE)
{
SetLocalInt(oPC,"NW_L_M1Q0Item2",TRUE);
if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWORDSAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0)
{
sItemTemplate = "NW_IT_MRING024"; //boots of fortitude
}
else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0)
{
sItemTemplate = "nw_it_trap001"; //minor spike trap
}
else if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWASHBUCKLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TOTEMIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_INCARNATE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FACTOTUM,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CRUSADER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOHEI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEXBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CW_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULKNIFE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ARCHIVIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TEMPLAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BINDER, oPC) > 0)
{
sItemTemplate = "NW_IT_MBOOTS010"; //boots of reflex
}
else if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MYSTIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FIGHTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MARSHAL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULBORN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DUSKBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHUGENJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_KNIGHT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARMAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ANTI_PALADIN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYWAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BRAWLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PALADIN,oPC) > 0)
{
sItemTemplate = "nw_aarcl004"; //chain mail
}
else
{
sItemTemplate = "NW_WMGMRD006"; //wand of Frost
}
object oItem = CreateItemOnObject(sItemTemplate,oPC);
SetIdentified(oItem,TRUE);
if(GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0)
{
oItem = CreateItemOnObject(sItemTemplate,oPC);
SetIdentified(oItem,TRUE);
}
}
}

View File

@@ -1,73 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void main()
{
if(DEBUG) DoDebug("m1q0dchest1 running");
string sItemTemplate;
object oPC = GetLastOpenedBy();
if(GetIsObjectValid(oPC) == FALSE)
{
oPC = GetLastAttacker();
}
if(GetLocalInt(oPC,"NW_L_M1Q0Item3") == FALSE)
{
SetLocalInt(oPC,"NW_L_M1Q0Item3",TRUE);
if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWORDSAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DUSKBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOHEI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_KNIGHT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_RANGER,oPC) > 0)
{
sItemTemplate = "NW_AARCL010"; // breastplate
}
else if(GetLevelByClass(CLASS_TYPE_BARD,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CRUSADER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CW_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWASHBUCKLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MYSTIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ARCHIVIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TEMPLAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TOTEMIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULBORN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_INCARNATE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FACTOTUM,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BINDER, oPC) > 0)
{
sItemTemplate = "NW_IT_MNECK024"; //amulet of will
}
/* else if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSION,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WILDER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WIZARD,oPC) > 0)
{
sItemTemplate = "NW_IT_MBELT011"; //archer's belt
}*/
else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0)
{
sItemTemplate = "nw_aarcl012"; //chainshirt
}
else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0 || GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0)
{
sItemTemplate = "NW_IT_MBOOTS010";
}
else
{
sItemTemplate = "NW_IT_MRING024"; // ring of fortitude
}
object oItem = CreateItemOnObject(sItemTemplate);
SetIdentified(oItem,TRUE);
}
}

View File

@@ -1,105 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
void GiveItem(string sTemplate);
void main()
{
if(DEBUG) DoDebug("m1q0dchest2 running");
string sItemTemplate1;
string sItemTemplate2;
string sItemTemplate3;
string sItemTemplate4;
object oPC = GetLastOpenedBy();
if(GetIsObjectValid(oPC) == FALSE)
{
oPC = GetLastAttacker();
}
if(GetLocalInt(oPC,"NW_L_M1Q0Item4") == FALSE)
{
SetLocalInt(oPC,"NW_L_M1Q0Item4",TRUE);
if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FIGHTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MYSTIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWORDSAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CRUSADER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOHEI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_KNIGHT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ANTI_PALADIN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYWAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BRAWLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MARSHAL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULBORN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PALADIN,oPC) > 0)
{
sItemTemplate1 = "NW_AARCL005"; //Splintmail
}
else if(GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEXBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FACTOTUM,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TOTEMIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_INCARNATE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BINDER, oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) > 0)
{
sItemTemplate1 = "NW_IT_MBELT010"; //Brawler's belt
}
else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CW_SAMURAI,oPC) > 0)
{
sItemTemplate1 = "NW_AARCL010"; //Breastplate
}
else if(GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSION,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WILDER,oPC) > 0)
{
sItemTemplate1 = "NW_IT_MNECK024"; //Amulet of will
}
else if(GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHUGENJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WITCH,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ARCHIVIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TEMPLAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_RANGER,oPC) > 0)
{
sItemTemplate1 = "NW_MAARCL097"; //Cloak of prot vs. evil
}
else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0)
{
sItemTemplate1 = "NW_IT_TRAP002"; // average spike trap
sItemTemplate2 = "NW_IT_TRAP029"; // minor cold trap
sItemTemplate3 = "NW_IT_TRAP029"; // minor cold trap
}
else
{
sItemTemplate1 = "NW_IT_SPARSCR108"; //Sleep scoll
sItemTemplate2 = "NW_IT_SPARSCR104"; //Mage Armor
sItemTemplate3 = "NW_IT_SPARSCR110"; //Color spray
sItemTemplate4 = "NW_IT_SPARSCR105"; //Summon creature 1
}
GiveItem(sItemTemplate1);
GiveItem(sItemTemplate2);
GiveItem(sItemTemplate3);
GiveItem(sItemTemplate4);
}
}
void GiveItem(string sTemplate)
{
object oItem = CreateItemOnObject(sTemplate);
SetIdentified(oItem,TRUE);
return;
}

View File

@@ -1,77 +0,0 @@
// Added compatibility for PRC base classes
#include "inc_debug"
#include "prc_class_const"
// This script creates a treasure item based on the class of the
//PC who killed this creature
void main()
{
if(DEBUG) DoDebug("m1q0dmage7 running");
string sItemTemplate;
object oPC = GetLastKiller();
object oMaster = GetMaster(oPC);
if(GetIsObjectValid(oMaster))
{
oPC = oMaster;
}
if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSION,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHUGENJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARMAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHADOWCASTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WILDER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WITCH,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WIZARD,oPC) > 0 )
{
sItemTemplate = "nw_wmgwn012"; //Wand of Sleep
}
else if(GetLevelByClass(CLASS_TYPE_DUSKBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) > 0)
{
sItemTemplate = "NW_ASHMSW011"; //Shield of the Watch
}
else if(GetLevelByClass(CLASS_TYPE_BARD,oPC) > 0)
{
sItemTemplate = "NW_IT_MGLOVE005"; //Gloves of the Minstrel
}
else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN,oPC) > 0)
{
sItemTemplate = "NW_ASHMSW010"; //Shield of Dawn
}
else if(GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0)
{
sItemTemplate = "nw_it_mboots018"; //Boots of the sun soul
}
else if(GetLevelByClass(CLASS_TYPE_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_CW_SAMURAI,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ULTIMATE_RANGER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_RANGER,oPC) > 0)
{
sItemTemplate = "NW_IT_MBELT011"; //Archer's Belt
}
else if(GetLevelByClass(CLASS_TYPE_NINJA,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SWASHBUCKLER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SOULKNIFE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEXBLADE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0)
{
sItemTemplate = "nw_it_mglove009"; //Gloves of Swordplay
}
else
{
sItemTemplate = "NW_AARCL006"; //HalfPlate
}
object oItem = CreateItemOnObject(sItemTemplate);
SetIdentified(oItem,TRUE);
}

View File

@@ -1,64 +0,0 @@
// Added compatibility for PRC base classes
#include "prc_class_const"
#include "prc_alterations"
//This will create a tresure item based on the class of the PC
//that killed this creature
void main()
{
string sItemTemplate;
object oPC = GetLastKiller();
object oMaster = GetMaster(oPC);
int nStack = 1;
if(GetIsObjectValid(oMaster))
{
oPC = oMaster;
}
if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_MYSTIC,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TRUENAMER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARLOCK,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHAMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_HEALER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WITCH,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ARCHIVIST,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_TEMPLAR,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_DRUID,oPC) > 0 )
{
sItemTemplate = "NW_IT_MGLOVE004"; //Gloves of concentration
}
else if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WARMAGE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SHADOWCASTER,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_WIZARD,oPC) > 0 )
{
sItemTemplate = "m1q0wmgwn"; //Wand of Fire
}
else if(GetLevelByClass(CLASS_TYPE_BARD,oPC) > 0)
{
sItemTemplate = "NW_ASHMSW011"; //Shield of the dawn
}
else if(GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0)
{
sItemTemplate = "NW_MAARCL098"; //Cloak of Protection vs Chaos
}
else if(GetLevelByClass(CLASS_TYPE_BOWMAN,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_SCOUT,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE,oPC) > 0 ||
GetLevelByClass(CLASS_TYPE_ROGUE,oPC) > 0)
{
sItemTemplate = "nw_wammar004"; //Arrows of peircing
nStack = 10;
}
else
{
sItemTemplate = "NW_IT_MGLOVE008"; //Gloves of discipline
}
object oItem = CreateItemOnObject(sItemTemplate,OBJECT_SELF,nStack);
SetIdentified(oItem,TRUE);
}

View File

@@ -1,16 +0,0 @@
#include "prc_inc_castlvl"
int StartingConditional()
{
object oPC = GetPCSpeaker();
int i, nClass;
for(i = 1; i <= 3; i++)
{
nClass = GetClassByPosition(i, oPC);
if(GetIsArcaneClass(nClass))
{
return FALSE;
}
}
return TRUE;
}

View File

@@ -1,57 +0,0 @@
//::///////////////////////////////////////////////
//:: NW_C2_BOSSDIE
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script fires when the boss monster dies.
It creates boss monster treasure on the creature.
*/
//:://////////////////////////////////////////////
//:: Created By:
//:: Created On:
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
#include "NW_O2_CONINCLUDE"
void main()
{
object oSelf = OBJECT_SELF;
object oKiller = GetLastKiller();
int nAlign = GetAlignmentGoodEvil(oSelf);
int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
if(GetLevelByClass(CLASS_TYPE_COMMONER, oSelf)
&& (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
if (GetIsObjectValid(oKiller))
{
// * If I have a master then use him to determine the treasure
if(GetIsObjectValid(GetMaster(oKiller)))
{
oKiller = GetMaster(oKiller);
}
// * generate boss treasure
// * May 13 2002: For some reason death seems able to happen multiple
// * times. Made it so that the treasure will only spawn once
if (GetLocalInt(oSelf, "NW_L_SPAWNTREASURE1X") == 0)
{
GenerateNPCTreasure(4, oSelf, oKiller);
SetLocalInt(oSelf, "NW_L_SPAWNTREASURE1X", 1);
}
}
else
AssignCommand(GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC), SpeakString("No Killer!"));
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
SignalEvent(oSelf, EventUserDefined(1007));
ExecuteScript("prc_npc_death", oSelf);
ExecuteScript("prc_pwondeath", oSelf);
}

View File

@@ -1,43 +0,0 @@
//::///////////////////////////////////////////////
//:: Check Arcane
//:: NW_D2_Arcane
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Checks if the PC is an arcane spellcaster
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Sept 18, 2001
//:://////////////////////////////////////////////
/**
* Modified by: fluffyamoeba
* oc_fix script for PRC base spellcasters to get through the prelude
*/
#include "prc_class_const"
int StartingConditional()
{
object oPC = GetPCSpeaker();
if(GetLevelByClass(CLASS_TYPE_ARTIFICER, oPC)
|| GetLevelByClass(CLASS_TYPE_BARD, oPC)
|| GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|| GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|| GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|| GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|| GetLevelByClass(CLASS_TYPE_PSION, oPC)
|| GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|| GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|| GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|| GetLevelByClass(CLASS_TYPE_WARLOCK, oPC)
|| GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|| GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|| GetLevelByClass(CLASS_TYPE_WITCH, oPC)
|| GetLevelByClass(CLASS_TYPE_WIZARD, oPC))
{
return TRUE;
}
return FALSE;
}

View File

@@ -1,28 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script BOOK
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateBookTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -1,37 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script BOSS
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: March 19 2002
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
// * May 13 2002: Must create appropriate treasure for each
// * faction member in the party.
if (GetIsObjectValid(oLastOpener) == TRUE)
{
object oMember = GetFirstFactionMember(oLastOpener, TRUE);
while (GetIsObjectValid(oMember) == TRUE)
{
GenerateBossTreasure(oMember, OBJECT_SELF);
oMember = GetNextFactionMember(oLastOpener, TRUE);
}
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
}
ShoutDisturbed();
}

View File

@@ -1,17 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script HIGH
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
void main()
{
ExecuteScript("nw_o2_generalhig", OBJECT_SELF);
}

View File

@@ -1,17 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
void main()
{
ExecuteScript("nw_o2_generallow", OBJECT_SELF);
}

View File

@@ -1,17 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script MEDIUM
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
void main()
{
ExecuteScript("nw_o2_generalmed", OBJECT_SELF);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
//::///////////////////////////////////////////////
//:: Weapon Spawn Script for Martial Classes
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in a magical SPECIFIC weapon suited for that class.
Will spawn in either a generic or specific, depending on the
value.
NOTE: Only works on containers
*/
//:://////////////////////////////////////////////
//:: Created By: Andrew, Brent
//:: Created On: February 2002
//:://////////////////////////////////////////////
void main()
{
ExecuteScript("nw_o2_classweap", OBJECT_SELF);
}

View File

@@ -1,26 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script HIGH
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -1,25 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if(GetLocalInt(OBJECT_SELF,"NW_DO_ONCE"))
return;
object oLastOpener = GetLastOpener();
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -1,27 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script Medium
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
void main()
{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}

View File

@@ -1,17 +0,0 @@
//::///////////////////////////////////////////////
//:: General Treasure Spawn Script Medium
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Spawns in general purpose treasure, usable
by all classes.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: February 26 2001
//:://////////////////////////////////////////////
void main()
{
ExecuteScript("nw_o2_generalmed", OBJECT_SELF);
}

View File

@@ -1,417 +0,0 @@
//::///////////////////////////////////////////////
//:: Name
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
If this is the first time the client is entering this area - he's coming
from Cutscene 1 - so spawn in the assassin in the First room.
*/
//:://////////////////////////////////////////////
//:: Created By: Keith Warner
//:: Created On: Oct 30/02
//:://////////////////////////////////////////////
// Updated July 2/03 - Several changes to script to accomodate low level
// characters. Further comments in body of this script.
//UPDATED JAN 6/03 - Changed to - On entry of hero PC - strip of all equipment.
// Place equipment in the chest at the foot of the PCs bed. Create key for
// chest on the PC and initiate dialog with prologue object
//UPDATED June 20/03 While removing all the item, total the value of their equipment.
//If they have less than 15000 gp in items, spawn a longsword +3
//(or quarterstaff +3 if wizard, monk, druid) and a ring of protection +3.
//UPDATE AUGUST 11/03 - Now the plan is to have the drow 'thief' steal the chest with
//the PCs stuff (which may turn up later on)..So store all the stuff in a box in the
//Random Treasure area.. Spawn in the assassin when the area is first entered..
#include "prc_alterations"
#include "inc_ecl"
//::///////////////////////////////////////////////
//:: ExcludeItem
//:: Copyright (c) 2003 Bioware Corp.
//:://////////////////////////////////////////////
/*
A function just to return true if this
item should not be allowed when the player first enters
the game.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: June 2003
//:://////////////////////////////////////////////
int ExcludeItem(object oGear)
{
string sTag = GetTag(oGear);
// * don't filter Tynan out. Is an easter egg in c2
if (sTag == "PortableDoor" || sTag == "x0_spellstaff" || sTag == "x0_powerstone"
||sTag == "golemmakerkey" || sTag == "Library_Pen" || sTag == "Library_Inkwell"
|| sTag=="q1monkitem" || sTag == "q1sorcereritem" || sTag == "q1rangeritem"
|| sTag == "q1clericitem" || sTag == "q1rogueitem" || sTag == "q1barbitem"
|| sTag == "q1paladinitem" || sTag == "q1barditem" || sTag == "q1mageitem"
|| sTag == "q1fighteritem" || sTag == "q1druiditem"
|| sTag == "q1footstagtrophy" || sTag == "TempleRites" || sTag == "x1dragontooth"
|| sTag == "x1mask" || sTag == "xp1_pcjournal" || sTag == "ShadowGem"
|| sTag == "NW_MSMLMISC23" || sTag == "NW_MSMLMISC10" || sTag == "NW_MSMLMISC19"
|| sTag == "NW_MSMISC17" || sTag == "Q2_KEY_PUZZLE_ROOM" || sTag == "q3_promissary"
|| sTag == "Q2_PROTECTIVE_HELMET"
)
{
return TRUE;
}
return FALSE;
}
void DeMagnitizePC(object oPC)
{
effect eEffect = GetFirstEffect(oPC);
while (GetIsEffectValid(eEffect) == TRUE)
{
RemoveEffect(oPC, eEffect);
eEffect = GetNextEffect(oPC);
}
}
void main()
{
//Level character up to 15, if character is below level 15
object oPC = GetEnteringObject();
if (GetIsPC(oPC) == FALSE)
return;
// * Oct 1
// * Brent
// *
// * If started with a low level character, saved, then
// * reloaded, restart the "level me up" dialog
// *
// * LOGIC: If in the start "second floor room"
// * and still I am not level 15, then try starting the conversation again
string sArea = GetTag(GetArea(oPC));
int nHitDie = GetECL(oPC);
// SendMessageToPC(oPC, sArea);
// SendMessageToPC(oPC, IntToString(nHitDie));
if (sArea == "q2a_yprooms" && nHitDie <12)
{
//variable for rest message for the room door
SetLocalInt(oPC, "X2_Q2ARestMessage", 1);
AssignCommand(oPC, ClearAllActions());
DelayCommand(2.0, AssignCommand(oPC, ActionStartConversation(OBJECT_SELF, "bk_levelup", FALSE, FALSE)));
return;
}
// *************************
// * If less than level 12
// * then entering this area
// * as a newbie. Should not
// * get the assassin until the
// * next day
// * BRENT
// *************************
/* BRENT MODIFICATION
For low level characters this conversation will not play the first time
*/
if (GetECL(oPC) < 12)
{
return; // * This will be ran when they return from the other cutscene
}
//Check to make sure enterer is a PC and assassin has never spawned (and that the PC has been to the cutscene and hasn't just saved and loaded in the rooms)
if (GetIsPC(oPC) && (GetLocalInt(GetModule(), "nAssassin") != 1 || GetLocalInt(GetModule(), "INIT_IMMOBILIZE_REMOVED") == 0)
&& GetLocalInt(oPC, "X2_Q2ASpawnTheAssassin") == 1)
{
if(GetLocalInt(GetModule(), "INIT_IMMOBILIZE_REMOVED") == 0 && GetLocalInt(GetModule(), "nAssassin") == 1)
{
object oDialog = GetObjectByTag("q2aprologue");
DelayCommand(1.5, AssignCommand(oDialog, ActionStartConversation(oPC, "pre_awake1")));
return;
}
//variable for rest message for the room door
SetLocalInt(oPC, "X2_Q2ARestMessage", 0);
BlackScreen(oPC);
DeMagnitizePC(oPC);
// * September 2003: Disable relic of reaper from working
// * until this variable is turned off (after the rogue is dead)
SetLocalInt(GetModule(), "x2_g_disabled", 10);
AddJournalQuestEntry("portalstone", 20, oPC, FALSE);
object oContainer = GetObjectByTag("x2_chapter1pcequip"); //NEW CONTAINER -
// This container is in the final area of Chapter 1!
// * pick up any equipment lying on the ground
// * Thanks Mr. Cheater!
object oArea = OBJECT_INVALID;
object oItem = GetFirstObjectInArea(oArea);
while (GetIsObjectValid(oItem) == TRUE)
{
if (GetObjectType(oItem) == OBJECT_TYPE_ITEM)
{
CopyItem(oItem, oContainer);
SetPlotFlag(oItem, FALSE);
DestroyObject(oItem, 0.1);
}
oItem = GetNextObjectInArea(oArea);
}
//if this is the main PC - who has had the dream
if (GetLocalInt(oPC, "nPCNumber") == 1)
{
//if this is the case, strip PC of all equipment, place
//it on the weapons rack ("q2a_pc_equip" and
//spawn in the assassin ("q2adrowassassin")
// Removing PC's equipment.
object oGear = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC);
object oGear2;
//object oContainer = GetObjectByTag("q2a_pc_equip");//OLD CONTAINER - IN PC START ROOM
int nGold = 0;
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BELT, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_NECK, oPC);
if(GetIsObjectValid(oGear) && GetTag(oGear) != "lichamulet" )
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC);
if(GetIsObjectValid(oGear))
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
//Empty all items from the PCs inventory
//Destroy any XP1 specific items
//UPDATE 08/11/03 - Keep XP1 items for now
oGear = GetFirstItemInInventory(oPC);
while (oGear != OBJECT_INVALID)
{
//Don't destroy the reaper stone, rogue stone or Deekin's book
//if (GetTag(oGear) != "x2_p_reaper" && GetTag(oGear) != "x2_p_rogue" && GetTag(oGear) != "bookoflegends")
//{
// don't destroy PRC items
// Lich's Phylactery or soul stones
// Shifters spark of life archfocusofpower
// Archmage Focus Power
if(GetTag(oGear) != "soul_gem" &&
GetTag(oGear) != "sparkoflife" &&
GetTag(oGear) != "lichamulet" &&
GetTag(oGear) != "archfocusofpower" &&
GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC) != oGear &&
GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC) != oGear &&
GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC) != oGear &&
GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC) != oGear
)
{
nGold = nGold + GetGoldPieceValue(oGear);
oGear2 = CopyItem(oGear, oContainer);
SetPlotFlag(oGear, FALSE);
DestroyObject(oGear);
}
oGear = GetNextItemInInventory(oPC);
}
//Get Rid of Gold
TakeGoldFromCreature(GetGold(oPC), oPC, TRUE);
// ******************************
// * EXTRA ITEM SPAWNING
// ******************************
//If they have less than 15000 gp in items, spawn a longsword +3
//(or quarterstaff +3 if wizard, monk, druid) and a ring of protection +3.
if (nGold < 15000)
{
if (GetLevelByClass(CLASS_TYPE_WIZARD, oPC) > 5 ||
GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC) > 5 ||
GetLevelByClass(CLASS_TYPE_MONK, oPC) > 5 ||
GetLevelByClass(CLASS_TYPE_DRUID, oPC) > 5)
{
//create quarterstaff
CreateItemOnObject("nw_wdbmqs009", oContainer);
}
else
{
//create longsword
CreateItemOnObject("nw_wswmls012", oContainer);
}
//Create ring of protection
CreateItemOnObject("nw_it_mring018", oContainer);
}
object oDialog = GetObjectByTag("q2aprologue");
DelayCommand(1.5, AssignCommand(oDialog, ActionStartConversation(oPC, "pre_awake1")));
// * July 2 2003: Spawn in reaper stone - BK
//if (GetIsObjectValid(GetItemPossessedBy(oPC, "x2_p_reaper")) == FALSE)
//{
object oStone = CreateItemOnObject("x2_p_reaper", oPC);
SetItemCursedFlag(oStone, TRUE);
// * create one rogue stone
CreateItemOnObject("x2_p_rogue", oPC, 1);
//}
// * Spawn Deekin's book on the player
CreateItemOnObject("bookoflegends", oPC);
}
else
{
//destroy any portal stones held by other players
if (GetIsObjectValid(GetItemPossessedBy(oPC, "x2_p_reaper")) == TRUE)
{
object oStone = GetItemPossessedBy(oPC, "x2_p_reaper");
DestroyObject(oStone);
}
}
//Do the following only the first time the area is entered
if (GetLocalInt(OBJECT_SELF, "nSaved") == 1)
return;
SetLocalInt(OBJECT_SELF, "nSaved", 1);
DoSinglePlayerAutoSave();
object oKiller = CreateObject(OBJECT_TYPE_CREATURE, "q2adrowassassin", GetLocation(GetWaypointByTag("wp_q2a_assassin")));
object oChest = GetObjectByTag("q2a_pc_equip");
AssignCommand(oKiller, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 60.0));
SetLocalInt(GetModule(), "nAssassin", 1);
// * Spawn and add the new complementary dagger
object oDagger = CreateItemOnObject("x2_newdag", oPC);
AssignCommand(oPC, ActionEquipItem(oDagger, INVENTORY_SLOT_RIGHTHAND));
// Added by: Brad Prince. This was done to cover the naked PC bumping that
// happened before drow assassin. Looked unpolished.
DelayCommand(1.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
}
}

View File

@@ -1,178 +0,0 @@
//::///////////////////////////////////////////////
//:: Name q4a_statue_cut
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will start a tiny cutscene that
will show the statues in front of the cave
blowing up to open the path.
*/
//:://////////////////////////////////////////////
//:: Created By: Brad Prince
//:: Created On: Jan 14, 2003
//:://////////////////////////////////////////////
#include "prc_alterations"
#include "x2_inc_cutscenep"
void StartCutscene(object oPC, int iCut);
void main()
{
object oPC = GetLastUsedBy();
int iPulled = GetLocalInt(OBJECT_SELF, "on");
// Cutscene number.
int iCut = 50;
//SendMessageToPC(oPC, "Debug: "+Get2DAString("racialtypes", "Appearance", GetRacialType(oPC)));
// Don't let a polymorphed PC pull the switch. Give them appropriate
// feedback
if(GetAppearanceType(oPC) == APPEARANCE_TYPE_FAIRY) {
//SpeakString("[NOT IN STRING EDITOR] You are too small to operate the lever.");
SpeakStringByStrRef(85508);
}
else if(GetAppearanceType(oPC) == APPEARANCE_TYPE_DOG_WOLF) {
//SpeakString("[NOT IN STRING EDITOR] You cannot pull the lever with your paws.");
SpeakStringByStrRef(85509);
}
else if(GetAppearanceType(oPC) == APPEARANCE_TYPE_ELEMENTAL_EARTH_ELDER) {
//SpeakString("[NOT IN STRING EDITOR] You are too large to operate the lever.");
SpeakStringByStrRef(85510);
}
else if(GetAppearanceType(oPC) != StringToInt(Get2DACache("racialtypes", "Appearance", GetRacialType(oPC)))
/* GetAppearanceType(oPC) != APPEARANCE_TYPE_DWARF &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_ELF &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_HUMAN &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_HALF_ORC &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_HALFLING &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_GNOME &&
GetAppearanceType(oPC) != APPEARANCE_TYPE_HALF_ELF
*/
) {
//SpeakString("[NOT IN STRING EDITOR] You cannot operate the lever in this form");
SpeakStringByStrRef(85511);
}
else if(iPulled == 0) {
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
SetLocalInt(OBJECT_SELF, "on", 1);
// Store the camera.
// CutStoreCameraFacing(iCut, 0.0, oPC);
// Set the cutscene number on the PC.
// SetLocalInt(oPC, "nCutsceneNumber", iCut);
// Set the PC location.
CutSetActiveCutscene(iCut, CUT_DELAY_TYPE_CONSTANT);
CutSetActiveCutsceneForObject(oPC, iCut, TRUE);
CutDisableAbort(iCut);
CutSetLocation(0.0, oPC);
DelayCommand(1.0, StartCutscene(oPC, iCut));
}
else {
// Don't let a polymorphed PC pull the switch. Give them appropriate
// feedback
if(GetAppearanceType(oPC) == APPEARANCE_TYPE_FAIRY) {
//SpeakString("[NOT IN STRING EDITOR] You are too small to operate the lever.");
SpeakStringByStrRef(85508);
}
else if(GetAppearanceType(oPC) == APPEARANCE_TYPE_DOG_WOLF) {
//SpeakString("[NOT IN STRING EDITOR] You cannot pull the lever with your paws.");
SpeakStringByStrRef(85509);
}
else if(GetAppearanceType(oPC) == APPEARANCE_TYPE_ELEMENTAL_EARTH_ELDER) {
//SpeakString("[NOT IN STRING EDITOR] You cannot operate the lever in this form");
SpeakStringByStrRef(85510);
}
else
//SpeakString("[NOT IN STRING EDITOR] Nothing happens.");
SpeakStringByStrRef(85512);
}
}
void StartCutscene(object oPC, int iCut) {
// Store locations for the copy.
//StoreCampaignObject("cutscene50", "ThePlayer", oPC);
//SetLocalLocation(oPC, "cut50", GetLocation(oPC));
location lLoc2 = GetLocation(oPC);
//object oCopy = RetrieveCampaignObject("cutscene50", "ThePlayer", lLoc2);
object oCopy = CutCreatePCCopy(oPC, lLoc2, "PC_Copy");
// Cutscene objects - statues and trigger.
// Statues.
object oStatue1 = GetObjectByTag("q4a_statue1");
object oStatue2 = GetObjectByTag("q4a_statue2");
object oStatue3 = GetObjectByTag("q4a_statue3");
object oStatue4 = GetObjectByTag("q4a_statue4");
object oStatue5 = GetObjectByTag("q4a_statue5");
CutSetActiveCutsceneForObject(oStatue1, iCut);
CutSetActiveCutsceneForObject(oStatue2, iCut);
CutSetActiveCutsceneForObject(oStatue3, iCut);
CutSetActiveCutsceneForObject(oStatue4, iCut);
CutSetActiveCutsceneForObject(oStatue5, iCut);
// Trigger.
object oStatue6 = GetObjectByTag("q4a_statue6");
CutSetActiveCutsceneForObject(oStatue6, iCut);
// Jump location.
location lLoc = GetLocation(GetWaypointByTag("q4a_cutjump_wp"));
// Setup the cutscene. Destroy the trigger now. Adjust the camera.
CutBlackScreen(0.0, oPC);
CutJumpToLocation(0.3, oPC, lLoc);
CutSetCutsceneMode(0.1, oPC, TRUE, CUT_CAMERA_HEIGHT_LOW);
CutRemoveEffects(0.1, oPC);
CutDestroyObject(0.1, oStatue6);
//CutApplyEffectToObject(0.1, DURATION_TYPE_PERMANENT, VFX_DUR_CUTSCENE_INVISIBILITY, oPC);
CutSetCamera(0.1, oPC, CAMERA_MODE_TOP_DOWN, 180.0, 17.0, 50.0,
CAMERA_TRANSITION_TYPE_SNAP);
//CutJumpToLocation(0.2, oCopy, lLoc2);
CutStopFade(0.5, oPC);
// Set ints on the plot statues so they know what cutscene is running.
// This will allow them to bypass the check. Do this for the copy too.
/*SetLocalInt(oStatue1, "nCutsceneNumber", iCut);
SetLocalInt(oStatue2, "nCutsceneNumber", iCut);
SetLocalInt(oStatue3, "nCutsceneNumber", iCut);
SetLocalInt(oStatue4, "nCutsceneNumber", iCut);
SetLocalInt(oStatue5, "nCutsceneNumber", iCut);
SetLocalInt(oStatue6, "nCutsceneNumber", iCut);
SetLocalInt(oCopy, "nCutsceneNumber", iCut);
*/
// Destroy the statues. First turn their plots off.
CutSetPlotFlag(0.5, oStatue1, 0);
CutSetPlotFlag(0.5, oStatue2, 0);
CutSetPlotFlag(0.5, oStatue3, 0);
CutSetPlotFlag(0.5, oStatue4, 0);
CutSetPlotFlag(0.5, oStatue5, 0);
// Dramatic camera movement.
CutSetCamera(1.0, oPC, CAMERA_MODE_TOP_DOWN, 180.0, 7.0, 50.0,
CAMERA_TRANSITION_TYPE_SLOW);
// Apply effects to the statues.
CutApplyEffectToObject(1.3, DURATION_TYPE_INSTANT, VFX_FNF_SCREEN_SHAKE, oStatue4);
CutApplyEffectToObject(1.5, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, oStatue4);
CutApplyEffectToObject2(5.2, DURATION_TYPE_INSTANT, EffectDamage(1000), oStatue4);
CutApplyEffectToObject(3.3, DURATION_TYPE_INSTANT, VFX_FNF_SCREEN_SHAKE, oStatue3);
CutApplyEffectToObject(3.5, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, oStatue3);
CutApplyEffectToObject2(7.2, DURATION_TYPE_INSTANT, EffectDamage(1000), oStatue3);
CutApplyEffectToObject(5.3, DURATION_TYPE_INSTANT, VFX_FNF_SCREEN_SHAKE, oStatue2);
CutApplyEffectToObject(5.5, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, oStatue2);
CutApplyEffectToObject2(9.2, DURATION_TYPE_INSTANT, EffectDamage(1000), oStatue2);
CutApplyEffectToObject(7.3, DURATION_TYPE_INSTANT, VFX_FNF_SCREEN_SHAKE, oStatue1);
CutApplyEffectToObject(7.5, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, oStatue1);
CutApplyEffectToObject2(11.2, DURATION_TYPE_INSTANT, EffectDamage(1000), oStatue1);
CutApplyEffectToObject(9.3, DURATION_TYPE_INSTANT, VFX_FNF_SCREEN_SHAKE, oStatue5);
CutApplyEffectToObject(9.5, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, oStatue5);
CutApplyEffectToObject2(13.2, DURATION_TYPE_INSTANT, EffectDamage(1000), oStatue5);
// Reset the PC postion and camera settings. Get rid of the PC copy.
//CutJumpToLocation(14.2, oCopy, GetLocation(GetWaypointByTag("wp_cut20_pccopy_start")));
//CutDestroyObject(14.2, oCopy);
//CutRestoreLocation(14.4, oPC);
//CutRestoreCameraFacing(14.4, oPC);
//CutRemoveEffects(14.4, oPC);
CutFadeOutAndIn(15.5, oPC, 1.5);
CutDisableCutscene(iCut, 16.4, 14.4);
}

View File

@@ -1,69 +0,0 @@
// On-item acquired: handle any global items and send a local user-defined event to the module
// to hanlde any other plot items.
#include "x2_inc_intweapon"
void main()
{
object oItem = GetModuleItemAcquired();
object oPC = GetModuleItemAcquiredBy();
object oFrom = GetModuleItemAcquiredFrom();
// Player tries to give the deva an item other then her mace
if(GetTag(oPC) == "q3c_Lavoera" && GetTag(oItem) != "q3_dist_mace" )
{
SendMessageToPCByStrRef(oFrom, 100776);
AssignCommand(oPC, ClearAllActions());
DelayCommand(0.2, AssignCommand(oPC, ActionGiveItem(oItem, oFrom)));
}
else if (!GetIsPC(oPC))
{
return;
}
/*else if(GetTag(oItem) == "q3_artifact")
{
object oSparks = GetNearestObjectByTag("MagicSparksRed");
if(oSparks != OBJECT_INVALID)
DestroyObject(oSparks);
// The artifact from the draclich: some negative effects on user when acquired
effect eAbDec1 = EffectAbilityDecrease(ABILITY_CHARISMA, 4);
effect eAbDec2 = EffectAbilityDecrease(ABILITY_CONSTITUTION, 4);
effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
effect eLink = EffectLinkEffects(eAbDec1, eAbDec2);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
} */
//the Intelligent weapon (starts off as the black longsword)
else if(GetTag(oItem) == "iw_fakelongsword")
{
if (GetIsPC(oPC) == FALSE)
return;
object oWeapon;
int nWeapon = GetLocalInt(GetModule(), "IW_CHGWPN");
if (nWeapon < 2)
{
oWeapon = CreateItemOnObject("iw_longsword", oPC);
}
else if (nWeapon == 2)
{
oWeapon = CreateItemOnObject("iw_dagger", oPC);
}
else if (nWeapon == 3)
{
oWeapon = CreateItemOnObject("iw_shortsword", oPC);
}
else if (nWeapon == 4)
{
oWeapon = CreateItemOnObject("iw_greatsword", oPC);
}
DestroyObject(oItem);
IWCreateIntelligentWeapon(oWeapon);
}
else
{
SetLocalObject(OBJECT_SELF, "X2_ITEM_ACQUIRED", oItem);
SetLocalObject(OBJECT_SELF, "X2_ITEM_ACQUIRED_BY", oPC);
SignalEvent(OBJECT_SELF, EventUserDefined(4554));
}
}