Added dialog to raise new players to 12th lvl

Added dialog to raise new players to 12th lvl
This commit is contained in:
Jaysyn904
2024-01-24 23:09:25 -05:00
parent fecfc845d8
commit f9f89b27cc
212 changed files with 24962 additions and 6756 deletions

View File

@@ -0,0 +1,14 @@
#include "nw_i0_tool"
void main()
{
object oPC = GetPCSpeaker();
RewardPartyXP(60000, oPC, FALSE);
string sTag=GetTag(OBJECT_SELF);
SetLocalInt(oPC, sTag, 1);
}

View File

@@ -0,0 +1,9 @@
void main()
{
object oPC=GetPCSpeaker();
string sTag=GetTag(OBJECT_SELF);
SetLocalInt(oPC, sTag, 1);
}

View File

@@ -0,0 +1,23 @@
//:: FileName henchman_joins
// Henchman joins PC, booting other henchman if necessary
#include "nw_i0_henchman"
void main()
{
if (GetIsObjectValid(GetHenchman(GetPCSpeaker())) == TRUE)
{ SetFormerMaster(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
object oHench = GetHenchman(GetPCSpeaker());
RemoveHenchman(GetPCSpeaker(), GetHenchman(GetPCSpeaker()));
AssignCommand(oHench, ClearAllActions());
}
SetWorkingForPlayer(GetPCSpeaker());
SetBeenHired();
ExecuteScript("NW_CH_JOIN", OBJECT_SELF);
SetLocalInt(GetObjectByTag("TownGuardintro2"), "nConversation", 4);
}

View File

@@ -0,0 +1,15 @@
#include "x0_i0_partywide"
void main()
{
//:: Declare major variables
object oPC = GetEnteringObject();
int iParty = GetNumberPartyMembers(oPC);
if (iParty >= 2)
return;
//ActionStartConversation(oPC, "ho_lvlup_pc", TRUE, FALSE);
BeginConversation("ho_lvlup_pc", oPC);
}

112
_module/nss/intro2.nss Normal file
View File

@@ -0,0 +1,112 @@
//::///////////////////////////////////////////////
//:: Default On Heartbeat
//:: NW_C2_DEFAULT1
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script will have people perform default
animations.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 23, 2001
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))
{
if(TalentAdvancedBuff(40.0))
{
SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);
return;
}
}
if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING))
{
int nDay = FALSE;
if(GetIsDay() || GetIsDawn())
{
nDay = TRUE;
}
if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay)
{
if(nDay == TRUE)
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE);
}
else
{
SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE);
}
WalkWayPoints();
}
}
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
if(!GetIsPostOrWalking())
{
if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF))
{
if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN))
{
PlayMobileAmbientAnimations();
}
else if(GetIsEncounterCreature() &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayMobileAmbientAnimations();
}
else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) &&
!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)))
{
PlayImmobileAmbientAnimations();
}
}
else
{
DetermineSpecialBehavior();
}
}
else
{
//DetermineCombatRound();
}
}
}
}
else
{
if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))
{
effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
if(d10() > 6)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
if(GetLocalInt(OBJECT_SELF, "nConversation") == 1)
{
ActionSpeakString("No, and I'll hear no more on the matter.\nWe have our orders and we continue to guard this road until we are told otherwise.");
SetLocalInt(OBJECT_SELF, "nConversation", 2);
}
if(GetLocalInt(OBJECT_SELF, "nConversation") == 4)
{
ActionSpeakString("Don't be an adventurous fool Williande! *sighs* But if you must go good luck to you.");
SetLocalInt(OBJECT_SELF, "nConversation", 5);
}
}

View File

@@ -0,0 +1,146 @@
//::///////////////////////////////////////////////
//:: Henchman Death Script
//::
//:: NW_CH_AC7.nss
//::
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:: <description>
//:://////////////////////////////////////////////
//::
//:: Created By:
//:: Modified by: Brent, April 3 2002
//:: Removed delay in respawning
//:: the henchman - caused bugs
//:://////////////////////////////////////////////
//::///////////////////////////////////////////////
//:: Greater Restoration
//:: NW_S0_GrRestore.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Removes all negative effects of a temporary nature
and all permanent effects of a supernatural nature
from the character. Does not remove the effects
relating to Mind-Affecting spells or movement alteration.
Heals target for 5d8 + 1 point per caster level.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 7, 2002
//:://////////////////////////////////////////////
//:: VFX Pass By: Preston W, On: June 20, 2001
#include "nw_i0_generic"
#include "nw_i0_plot"
/*
// * June 1: use RemoveEffects from plot include instead
void GreaterRestore(object oHench)
{
//Declare major variables
object oTarget = oHench;
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER);
effect eBad = GetFirstEffect(oTarget);
//Search for negative effects
while(GetIsEffectValid(eBad))
{
if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
GetEffectType(eBad) == EFFECT_TYPE_CURSE ||
GetEffectType(eBad) == EFFECT_TYPE_DISEASE ||
GetEffectType(eBad) == EFFECT_TYPE_POISON ||
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
{
//Remove effect if it is negative.
RemoveEffect(oTarget, eBad);
}
eBad = GetNextEffect(oTarget);
}
// ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget);
} */
void BringBack()
{
SetLocalObject(OBJECT_SELF,"NW_L_FORMERMASTER", GetMaster());
// : REMINDER: The delay is here for a reason
DelayCommand(0.1, RemoveEffects(OBJECT_SELF));
DelayCommand(0.2, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectResurrection(), OBJECT_SELF));
DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectHeal(GetMaxHitPoints(OBJECT_SELF)), OBJECT_SELF));
DelayCommand(5.1, SetIsDestroyable(TRUE, TRUE, TRUE));
object oWay = GetObjectByTag("NW_DEATH_TEMPLE");
if (GetIsObjectValid(oWay) == TRUE)
{
// * if in Source stone area, respawn at opening to area
if (GetTag(GetArea(OBJECT_SELF)) == "M4Q1D2")
{
DelayCommand(0.2, JumpToObject(GetObjectByTag("M4QD07_ENTER"), FALSE));
}
else
DelayCommand(0.2, JumpToObject(oWay, FALSE));
}
else
DelayCommand(0.3, ActionSpeakString("UT: No place to go"));
}
void main()
{
// * This is used by the advanced henchmen
// * Let Brent know if it interferes with animal
// * companions et cetera
if (GetIsObjectValid(GetMaster()) == TRUE)
{
object oMe = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, GetMaster());
if (oMe == OBJECT_SELF
// * this is to prevent 'double hits' from stopping
// * the henchmen from moving to the temple of tyr
// * I.e., henchmen dies 'twice', once after leaving your party
|| GetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED") == TRUE)
{
SetPlotFlag(oMe, TRUE);
SetAssociateState(NW_ASC_IS_BUSY, TRUE);
// AddJournalQuestEntry("Henchman", 99, GetMaster(), FALSE, FALSE, FALSE);
SetIsDestroyable(FALSE, TRUE, TRUE);
SetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED", TRUE);
// RemoveHenchman(GetMaster());
// effect eRaise = EffectResurrection();
ClearAllActions();
DelayCommand(0.5, ActionDoCommand(SetCommandable(TRUE)));
DelayCommand(5.0, ActionDoCommand(SetAssociateState(NW_ASC_IS_BUSY, FALSE)));
DelayCommand(5.0, SetPlotFlag(oMe, FALSE));
BringBack();
SetCommandable(FALSE);
}
else
// * I am a familiar, give 1d6 damage to my master
if (GetAssociate(ASSOCIATE_TYPE_FAMILIAR, GetMaster()) == OBJECT_SELF)
{
// April 2002: Made it so that familiar death can never kill the player
// only wound them.
int nDam =d6();
if (nDam >= GetCurrentHitPoints(GetMaster()))
{
nDam = GetCurrentHitPoints(GetMaster()) - 1;
}
effect eDam = EffectDamage(nDam);
FloatingTextStrRefOnCreature(63489, GetMaster(), FALSE);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDam, GetMaster());
}
}
}

7
_module/nss/orctext.nss Normal file
View File

@@ -0,0 +1,7 @@
int StartingConditional()
{
if (!(GetCurrentHitPoints(GetObjectByTag("orc_prisoner")) > 0))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,9 @@
int StartingConditional()
{
object oPC=GetPCSpeaker();
string sTag=GetTag(OBJECT_SELF);
return (GetLocalInt(oPC, sTag)==0);
//only returns true when variable is 0
}

5
_module/nss/signpost.nss Normal file
View File

@@ -0,0 +1,5 @@
void main()
{
string smessage = "East: Helmsfield\nWest: The Long Road";
SpeakString(smessage, TALKVOLUME_TALK);
}

View File

@@ -0,0 +1,13 @@
void main()
{
if (GetLocalInt(OBJECT_SELF, "nprisoner") == 0)
{
object oTrashCan = GetObjectByTag("TrashCan");
if(GetLocalInt(oTrashCan, "nGoodNPCDead") > 0)
{
location loc = GetLocation(GetObjectByTag("prisoner"));
CreateObject(OBJECT_TYPE_CREATURE, "prisoner1", loc, TRUE);
SetLocalInt(OBJECT_SELF, "nprisoner", 1);
}
}
}