Initial commit
Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
55
_module/nss/hc_inc_fatigue.nss
Normal file
55
_module/nss/hc_inc_fatigue.nss
Normal file
@@ -0,0 +1,55 @@
|
||||
//hc_inc_fatigue
|
||||
//
|
||||
// Created August 14, 2002 by Edward Beck.
|
||||
// Helper functions to apply fatigue effects to PC's, and save the state.
|
||||
// Include in scripts that want to use fatigue effects.
|
||||
|
||||
void MakePlayerFatigued(object oPC, string message = "")
|
||||
{
|
||||
if (!GetIsPC(oPC)) return;
|
||||
int bFatigued = GetLocalInt(oPC, "bFatigued");
|
||||
int bExhausted = GetLocalInt(oPC, "bExhausted");
|
||||
if (bFatigued || bExhausted) return;
|
||||
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectCurse(2, 2, 0, 0, 0, 0)), oPC));
|
||||
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectMovementSpeedDecrease(60)), oPC));
|
||||
if (message!="") FloatingTextStringOnCreature(message, oPC, FALSE);
|
||||
SetLocalInt(oPC,"bFatigued",TRUE);
|
||||
}
|
||||
|
||||
void MakePlayerExhausted(object oPC, string message = "")
|
||||
{
|
||||
if (!GetIsPC(oPC)) return;
|
||||
int bFatigued = GetLocalInt(oPC, "bFatigued");
|
||||
int bExhausted = GetLocalInt(oPC, "bExhausted");
|
||||
if (bExhausted) return;
|
||||
if (bFatigued) {
|
||||
RemoveEffect(oPC,ExtraordinaryEffect(EffectCurse(2, 2, 0, 0, 0, 0)));
|
||||
RemoveEffect(oPC,ExtraordinaryEffect(EffectMovementSpeedDecrease(60)));
|
||||
SetLocalInt(oPC,"bFatigued",FALSE);
|
||||
}
|
||||
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectCurse(6, 6, 0, 0, 0, 0)), oPC));
|
||||
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectMovementSpeedDecrease(80)), oPC));
|
||||
if (message!="") FloatingTextStringOnCreature(message, oPC, FALSE);
|
||||
SetLocalInt(oPC,"bExhausted",TRUE);
|
||||
}
|
||||
|
||||
void MakePlayerCollapse(object oPC, string message = "")
|
||||
{
|
||||
if (!GetIsPC(oPC)) return;
|
||||
effect eSnore = EffectVisualEffect(VFX_IMP_SLEEP);
|
||||
effect eBlind = EffectBlindness();
|
||||
effect eCollapse = EffectSleep();
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCollapse, oPC, 30.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSnore, oPC, 7.0);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBlind, oPC, 29.0);
|
||||
DelayCommand(7.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSnore, oPC, 7.0));
|
||||
|
||||
if (message!="") FloatingTextStringOnCreature(message, oPC, FALSE);
|
||||
}
|
||||
|
||||
void MakePCDrunk(object oPC, int IntLoss, string message = "")
|
||||
{
|
||||
if (!GetIsPC(oPC)) return;
|
||||
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectAbilityDecrease(ABILITY_INTELLIGENCE,IntLoss), oPC, 30.0));
|
||||
if (message!="") FloatingTextStringOnCreature(message, oPC, FALSE);
|
||||
}
|
||||
Reference in New Issue
Block a user