Initial upload.

Adding base PRC 4.19a files to repository.
This commit is contained in:
Jaysyn904
2022-10-07 13:51:24 -04:00
parent 646eb01834
commit 1662218bb4
22441 changed files with 1274376 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
//::///////////////////////////////////////////////
//:: Name Call Lemure Horde
//:: FileName sp_call_lemure.nss
//:://////////////////////////////////////////////
/**@file Call Lemure Horde
Conjuration (Calling) [Evil]
Level: Mortal Hunter 4, Sor/Wiz 5
Components: V S, Soul
Casting Time: 1 minute
Range: Close (25 ft. + 5 ft./2 levels)
Effect: 3d4 1emures
Duration: One year
Saving Throw: None
Spell Resistance: No
The caster calls 3d4 lemures from the Nine Hells to
where he is, offering them the soul that he has
prepared. In exchange, they will serve the caster
for one year as guards, slaves, or whatever else
he needs them for. They are non<6F>-intelligent,
so the caster cannot give them more complicated
tasks than can be described in about five words.
No matter how many times the caster casts this
spell, he can control no more than 2 HD worth
of fiends per caster level. If he exceeds this
number, all the newly called creatures fall under
the caster's control, and any excess from previous
castings become uncontrolled. The caster chooses
which creatures to release.
Author: Tenjac
Created:
*/
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
#include "prc_alterations"
#include "prc_inc_spells"
void main()
{
object oPC = OBJECT_SELF;
int nCasterLvl = PRCGetCasterLevel(oPC);
location lLoc = PRCGetSpellTargetLocation();
string sResRef = "prc_sum_lemure";
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
MultisummonPreSummon();
if(GetPRCSwitch(PRC_MULTISUMMON))
{
effect eSummon = EffectSummonCreature(sResRef);
eSummon = SupernaturalEffect(eSummon);
//determine how many to take control of
int nTotalCount = d4(2);
effect eModify = EffectModifyAttacks(1);
int i;
int nMaxHDControlled = nCasterLvl * 2;
int nTotalControlled = GetControlledFiendTotalHD(oPC);
//Summon loop
while(nTotalControlled < nMaxHDControlled
&& i < nTotalCount)
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSummon, oPC, 9999.0f);
i++;
nTotalControlled = GetControlledFiendTotalHD(oPC);
}
FloatingTextStringOnCreature(" You currently have "+IntToString(nTotalControlled)+"HD out of "+IntToString(nMaxHDControlled)+"HD.", OBJECT_SELF);
}
else
{
//non-multisummon
//this has a swarm type effect since dretches are useless individually
effect eSummon = EffectSwarm(TRUE, sResRef);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSummon, oPC, 9999.0f);
}
//SPEvilShift(oPC);
PRCSetSchool();
}