Areas and Fixes
Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
This commit is contained in:
72
_module/nss/_uoa_tchst_tlk1.nss
Normal file
72
_module/nss/_uoa_tchst_tlk1.nss
Normal file
@@ -0,0 +1,72 @@
|
||||
#include "nw_i0_plot"
|
||||
void main()
|
||||
{
|
||||
object oPC = GetPCSpeaker();
|
||||
object oSelf = OBJECT_SELF;
|
||||
AssignCommand(oSelf,DelayCommand(1.0,ExecuteScript("_open_chest2",oSelf)));
|
||||
int iChestLvl = GetLocalInt(oSelf,"iChestLevel");
|
||||
int iMinPickSkill = 10+(iChestLvl*5);
|
||||
int iPCSkill = GetSkillRank(SKILL_DISABLE_TRAP,oPC);
|
||||
int iDCRoll = d20(1)+iPCSkill;
|
||||
int iMinDCRoll = iMinPickSkill+10;
|
||||
|
||||
int iTrapDmg = GetMaxHitPoints(oPC);
|
||||
iTrapDmg = (iTrapDmg*2)/(11-iChestLvl);
|
||||
iTrapDmg = iTrapDmg/12;
|
||||
if (iTrapDmg<1) iTrapDmg=1;
|
||||
if (GetLocalInt(oSelf,"iAmTrapped")!=0)
|
||||
{
|
||||
SendMessageToPC(oPC,"Attempting to remove trap...");
|
||||
AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW,1.0,12.0));
|
||||
PlaySound("as_na_leafmove1");
|
||||
DelayCommand(3.0,PlaySound("as_na_leafmove3"));
|
||||
DelayCommand(4.0,PlaySound("as_na_x2iccrmb4"));
|
||||
DelayCommand(6.0,PlaySound("as_na_leafmove1"));
|
||||
DelayCommand(8.0,PlaySound("as_na_x2iccrmb4"));
|
||||
DelayCommand(9.0,PlaySound("as_na_leafmove2"));
|
||||
DelayCommand(9.8,PlaySound("as_na_leafmove3"));
|
||||
DelayCommand(9.9,SendMessageToPC(oPC,"You roll a "+IntToString(iDCRoll)+" vs a minimum DC of "+IntToString(iMinDCRoll)+"."));
|
||||
if (iDCRoll>=iMinDCRoll)
|
||||
{
|
||||
DelayCommand(10.0,SendMessageToPC(oPC,"You have successfully removed the trap!"));
|
||||
DelayCommand(10.1,GiveXPToCreature(oPC,iChestLvl*10));
|
||||
DelayCommand(10.2,SetLocalInt(oSelf,"iAmTrapped",0));
|
||||
}
|
||||
else
|
||||
{
|
||||
DelayCommand(10.0,SendMessageToPC(oPC,"You have failed to remove the trap!"));
|
||||
if (AutoDC(DC_SUPERIOR,SKILL_DISABLE_TRAP,oPC)==FALSE)
|
||||
{
|
||||
DelayCommand(10.1,SendMessageToPC(oPC,"You have triggered the trap!"));
|
||||
DelayCommand(10.2,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_ACID,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.3,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_BLUDGEONING,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_COLD,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.6,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_ELECTRICAL,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.7,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_FIRE,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.8,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(10.9,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_NEGATIVE,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(11.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_PIERCING,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(11.1,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_POSITIVE,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(11.2,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_SLASHING,DAMAGE_POWER_ENERGY),oPC));
|
||||
DelayCommand(11.3,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(iTrapDmg,DAMAGE_TYPE_SONIC,DAMAGE_POWER_ENERGY),oPC));
|
||||
switch (Random(7))
|
||||
{
|
||||
case 1:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_ACID,FALSE),oPC));break;}
|
||||
case 2:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_DIVINE,FALSE),oPC));break;}
|
||||
case 3:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_ELECTRICAL,FALSE),oPC));break;}
|
||||
case 4:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_FIRE,FALSE),oPC));break;}
|
||||
case 5:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_FROST,FALSE),oPC));break;}
|
||||
case 6:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_NEGATIVE,FALSE),oPC));break;}
|
||||
default:{DelayCommand(11.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_COM_HIT_SONIC,FALSE),oPC));break;}
|
||||
}
|
||||
DelayCommand(11.5,SetLocalInt(oSelf,"iAmTrapped",0));
|
||||
}
|
||||
else
|
||||
{
|
||||
DelayCommand(10.1,SendMessageToPC(oPC,"You avoided triggering the trap."));
|
||||
}
|
||||
}
|
||||
}
|
||||
AssignCommand(oSelf,DelayCommand(13.0,ActionStartConversation(oPC,"_uoa_tchest_tlk",TRUE,FALSE)));
|
||||
}
|
Reference in New Issue
Block a user