Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
47 lines
1.7 KiB
Plaintext
47 lines
1.7 KiB
Plaintext
////////////////////////////////////////////////////////
|
|
// Alchemical Sleep Gas
|
|
// sp_alcslpgas.nss
|
|
/////////////////////////////////////////////////////////
|
|
|
|
/*
|
|
Alchemical Sleep Gas: This liquid evaporates quickly when
|
|
exposed to air, creating a temporary, mildly toxic cloud that puts
|
|
living creatures to sleep. You can throw a flask of sleep gas as a
|
|
grenadelike weapon. On a direct hit a living target must succeed
|
|
on a Fortitude save (DC 15) or fall asleep for 1 minute. After 1 minute,
|
|
the target must make another Fortitude save (DC 15) or sleep 1d4 additional
|
|
minutes. The sleep gas does not affect creatures that are immune to poison.
|
|
*/
|
|
|
|
#include "prc_inc_sp_tch"
|
|
|
|
void SleepSave(object oTarget)
|
|
{
|
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, 15, SAVING_THROW_TYPE_POISON))
|
|
{
|
|
int nTurns = d4(1);
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSleep(), oTarget, TurnsToSeconds(nTurns));
|
|
}
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nTarget = GetObjectType(oTarget);
|
|
int nTouch = PRCDoRangedTouchAttack(oTarget);
|
|
|
|
if(nTouch)
|
|
{
|
|
if(nTarget == OBJECT_TYPE_CREATURE)
|
|
{
|
|
if(!GetIsImmune(oTarget, IMMUNITY_TYPE_POISON))
|
|
{
|
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, 15, SAVING_THROW_TYPE_POISON))
|
|
{
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSleep(), oTarget, TurnsToSeconds(1));
|
|
DelayCommand(TurnsToSeconds(1), SleepSave(oTarget));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |