Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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());
|
||||
}
|
||||
}
|
@@ -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());
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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);
|
||||
|
||||
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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;
|
||||
}
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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
@@ -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);
|
||||
}
|
@@ -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();
|
||||
}
|
@@ -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();
|
||||
}
|
@@ -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();
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -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));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user