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.
121 lines
4.1 KiB
Plaintext
121 lines
4.1 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Ghost Sound
|
||
//:: Spell FileName PHS_S_Ghostsnd
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Illusion (Figment)
|
||
Level: Brd 0, Sor/Wiz 0
|
||
Components: V, S, M
|
||
Casting Time: 1 standard action
|
||
Range: Close (8M)
|
||
Effect: Illusory sounds
|
||
Duration: 1 round/level (D)
|
||
Saving Throw: Will disbelief (if interacted with)
|
||
Spell Resistance: No
|
||
|
||
Ghost sound allows you to create a volume of sound that rises, recedes,
|
||
approaches, or remains at a fixed place. You choose what type of sound ghost
|
||
sound creates when casting it and cannot thereafter change the sound’s basic
|
||
character.
|
||
|
||
The volume of sound created depends on your level. You can produce as much
|
||
noise as four normal humans per caster level (maximum twenty humans). Thus,
|
||
talking, singing, shouting, walking, marching, or running sounds can be
|
||
created. The noise a ghost sound spell produces can be virtually any type
|
||
of sound within the volume limit. A horde of rats running and squeaking is
|
||
about the same volume as eight humans running and shouting. A roaring lion
|
||
is equal to the noise from sixteen humans, while a roaring dire tiger is
|
||
equal to the noise from twenty humans.
|
||
|
||
Ghost sound can enhance the effectiveness of a silent image spell.
|
||
|
||
Ghost sound can be made permanent with a permanency spell.
|
||
|
||
Material Component: A bit of wool or a small lump of wax.
|
||
|
||
|
||
|
||
Choose a set from the menu, and uses PlaySound for the sound effects.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
Ghost sounds...
|
||
|
||
This can be one of 4 pre-set sounds, which are castable by anyone (IE
|
||
the sounds is of 4 humans).
|
||
|
||
It is not a hostile spell, but DM's can make NPC's react accordingly, and
|
||
it can be used for roleplay.
|
||
|
||
There is a 5th spell which opens a conversation which can choose a sound
|
||
according to level and cast it.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell Hook Check.
|
||
if(!PHS_SpellHookCheck(PHS_SPELL_GHOST_SOUND)) return;
|
||
|
||
//Declare major variables
|
||
object oCaster = OBJECT_SELF;
|
||
location lTarget = GetSpellTargetLocation();
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
|
||
// The duration is 1 round/level, of the selected sound.
|
||
float fDuration = PHS_GetDuration(PHS_ROUNDS, nCasterLevel, nMetaMagic);
|
||
|
||
int nSpellId = GetSpellId();
|
||
|
||
// First, check if custom, or the base spell.
|
||
switch(nSpellId)
|
||
{
|
||
case PHS_SPELL_GHOST_SOUND_CUSTOM:
|
||
{
|
||
// If it is not a PC, run normal human sounds.
|
||
if(!GetIsPC(oCaster))
|
||
{
|
||
// Sounds set as human
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_HUMAN);
|
||
}
|
||
// If a PC, run any sound conversation
|
||
else
|
||
{
|
||
// Jass - none for now
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_HUMAN);
|
||
}
|
||
}
|
||
break;
|
||
// Else, we apply
|
||
case PHS_SPELL_GHOST_SOUND_HUMANS:
|
||
{
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_HUMAN);
|
||
}
|
||
break;
|
||
case PHS_SPELL_GHOST_SOUND_ORCS:
|
||
{
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_ORCS);
|
||
}
|
||
break;
|
||
case PHS_SPELL_GHOST_SOUND_RATS:
|
||
{
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_RATS);
|
||
}
|
||
break;
|
||
// Default to wind
|
||
default: //case PHS_SPELL_GHOST_SOUND_WIND:
|
||
{
|
||
SetLocalInt(oCaster, PHS_GHOST_SOUND_SOUNDS_CUSTOM, PHS_SOUNDS_WIND);
|
||
}
|
||
break;
|
||
}
|
||
// Apply it to a location.
|
||
effect eAOE = EffectAreaOfEffect(PHS_AOE_PER_GHOST_SOUND);
|
||
PHS_ApplyLocationDuration(lTarget, eAOE, fDuration);
|
||
}
|