Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
/*
|
||||
prc_dnc_scabtch
|
||||
|
||||
Scabrous Touch
|
||||
Does contagion spell on touch
|
||||
*/
|
||||
|
||||
#include "prc_sp_func"
|
||||
#include "prc_inc_sp_tch"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oCaster = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nClass = GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oCaster);
|
||||
|
||||
int iAttackRoll = PRCDoMeleeTouchAttack(oTarget);
|
||||
if (iAttackRoll > 0)
|
||||
{
|
||||
int nDC = 10 + nClass/2 + GetAbilityModifier(ABILITY_CHARISMA, oCaster);
|
||||
|
||||
int nRand = Random(7)+1;
|
||||
int nDisease;
|
||||
//Use a random seed to determine the disease that will be delivered.
|
||||
switch (nRand)
|
||||
{
|
||||
case 1:
|
||||
nDisease = DISEASE_CONTAGION_BLINDING_SICKNESS;
|
||||
break;
|
||||
case 2:
|
||||
nDisease = DISEASE_CONTAGION_CACKLE_FEVER;
|
||||
break;
|
||||
case 3:
|
||||
nDisease = DISEASE_CONTAGION_FILTH_FEVER;
|
||||
break;
|
||||
case 4:
|
||||
nDisease = DISEASE_CONTAGION_MINDFIRE;
|
||||
break;
|
||||
case 5:
|
||||
nDisease = DISEASE_CONTAGION_RED_ACHE;
|
||||
break;
|
||||
case 6:
|
||||
nDisease = DISEASE_CONTAGION_SHAKES;
|
||||
break;
|
||||
case 7:
|
||||
nDisease = DISEASE_CONTAGION_SLIMY_DOOM;
|
||||
break;
|
||||
}
|
||||
if(!GetIsReactionTypeFriendly(oTarget))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_CONTAGION));
|
||||
effect eDisease = EffectDisease(nDisease);
|
||||
// Make the real first save against the spell's DC
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_SPELL))
|
||||
{
|
||||
//The effect is permament because the disease subsystem has its own internal resolution
|
||||
//system in place.
|
||||
// The first disease save is against an impossible fake DC, since at this point the
|
||||
// target has already failed their real first save.
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDisease, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, PRCGetSpellId()));
|
||||
|
||||
}
|
Reference in New Issue
Block a user