Initial upload
Initial upload. PRC8 has been added. Module compiles, PRC's default AI & treasure scripts have been integrated. Started work on top hak for SLA / Ability / Scripting modifications.
This commit is contained in:
47
_module/nss/ty_alcovetrig3.nss
Normal file
47
_module/nss/ty_alcovetrig3.nss
Normal file
@@ -0,0 +1,47 @@
|
||||
void main()
|
||||
{
|
||||
object oPedestal = GetObjectByTag("alc3pedestal");
|
||||
object oPC = GetEnteringObject();
|
||||
int iLuck = d2(1);
|
||||
object oTrapStatue1 = GetObjectByTag("a3trapstatue1");
|
||||
object oTrapStatue2 = GetObjectByTag("a3trapstatue2");
|
||||
object oTrapStatue3 = GetObjectByTag("a3trapstatue3");
|
||||
object oTrapStatue4 = GetObjectByTag("a3trapstatue4");
|
||||
object oTrapStatue5 = GetObjectByTag("a3trapstatue5");
|
||||
|
||||
if(GetLocalInt(oPedestal, "alc3_trapset") == 1)
|
||||
{
|
||||
AssignCommand(GetNearestObject(OBJECT_TYPE_PLACEABLE, oPC), PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
|
||||
if (iLuck == 1)
|
||||
{
|
||||
int iDamage = GetMaxHitPoints(oPC);
|
||||
int nDamageAmount = FloatToInt(0.75 * iDamage);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageAmount, DAMAGE_TYPE_ELECTRICAL), oPC);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue1, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue2, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue3, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue4, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue5, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "plc_weathmark", GetLocation(oPC), TRUE);
|
||||
AssignCommand(oPC, PlaySound("al_mg_jacobs1"));
|
||||
AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_SPASM, 1.0, 1.0));
|
||||
DelayCommand(1.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 10.0)));
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue1, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue2, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue3, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue4, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oTrapStatue5, BODY_NODE_CHEST, FALSE), oPC, 3.0);
|
||||
CreateObject(OBJECT_TYPE_PLACEABLE, "plc_weathmark", GetLocation(oPC), TRUE);
|
||||
AssignCommand(oPC, PlaySound("al_mg_jacobs1"));
|
||||
AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_SPASM, 1.0, 1.0));
|
||||
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), GetEnteringObject()));
|
||||
}
|
||||
AssignCommand(GetNearestObject(OBJECT_TYPE_PLACEABLE,oPC), DelayCommand(5.0, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)));
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user