Further file organization
Further file organization
This commit is contained in:
57
nwn/nwnprc/trunk/spells/sp_baccaran.nss
Normal file
57
nwn/nwnprc/trunk/spells/sp_baccaran.nss
Normal file
@@ -0,0 +1,57 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name Baccaran
|
||||
//:: FileName sp_baccaran.nss
|
||||
//:://////////////////////////////////////////////
|
||||
/** Script for the drug Baccaran
|
||||
|
||||
Author: Tenjac
|
||||
Created: 5/18/06
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_inc_drugfunc"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
effect eMind = EffectSavingThrowDecrease(SAVING_THROW_WILL,2,SAVING_THROW_TYPE_MIND_SPELLS);
|
||||
effect eWis = EffectAbilityIncrease(ABILITY_WISDOM,d6()+1);
|
||||
effect eDam = PRCEffectDamage(oPC, d6(2));
|
||||
|
||||
//Handle resetting addiction DC
|
||||
SetPersistantLocalInt(oPC, "PRC_Addiction_Baccaran_DC", 6);
|
||||
|
||||
//Handle satiation
|
||||
SetPersistantLocalInt(oPC, "PRC_BaccaranSatiation", 10);
|
||||
|
||||
//Make addiction check
|
||||
if(!GetHasSpellEffect(SPELL_DRUG_RESISTANCE, oPC))
|
||||
{
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oPC, 6, SAVING_THROW_TYPE_DISEASE))
|
||||
{
|
||||
effect eAddict = EffectDisease(DISEASE_BACCARAN_ADDICTION);
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eAddict, oPC);
|
||||
FloatingTextStringOnCreature("You have become addicted to Baccaran.", oPC, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
//Primary
|
||||
ApplyAbilityDamage(oPC, ABILITY_STRENGTH, 4, DURATION_TYPE_TEMPORARY, TRUE, -1.0f);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eMind, oPC, HoursToSeconds(d4(2)));
|
||||
|
||||
//Secondary - 1 minute after primary
|
||||
DelayCommand(60.0f, SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eWis, oPC, HoursToSeconds(d2())));
|
||||
|
||||
//Overdose
|
||||
if(GetOverdoseCounter(oPC, "PRC_BaccaranOD"))
|
||||
{
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oPC);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eMind, oPC, HoursToSeconds(d4(2)));
|
||||
}
|
||||
|
||||
//OD increment
|
||||
IncrementOverdoseTracker(oPC, "PRC_BaccaranOD", HoursToSeconds(24));
|
||||
}
|
||||
|
Reference in New Issue
Block a user