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.
85 lines
2.7 KiB
Plaintext
85 lines
2.7 KiB
Plaintext
/*
|
||
----------------
|
||
Call Weaponry
|
||
|
||
psi_pow_callweap
|
||
----------------
|
||
|
||
29/10/05 by Stratovarius
|
||
*/ /** @file
|
||
|
||
Call Weaponry
|
||
|
||
Psychoportation (Teleportation)
|
||
Level: Psychic warrior 1
|
||
Manifesting Time: 1 round
|
||
Range: 0 ft.
|
||
Effect: One weapon; see text
|
||
Duration: 1 min./level; see text
|
||
Saving Throw: None
|
||
Power Resistance: No
|
||
Power Points: 1
|
||
Metapsionics: Extend
|
||
|
||
You call a weapon “from thin air” into your waiting hand (actually, it is a
|
||
real weapon hailing from another location in space and time). You don’t have
|
||
to see or know of a weapon to call it-in fact, you can’t call a specific
|
||
weapon; you just specify the kind. If you call a projectile weapon, it comes
|
||
with 3d6 bolts, arrows, or sling bullets, as appropriate. The weapon is made
|
||
of ordinary materials as appropriate for its kind.
|
||
|
||
Weapons gained by call weaponry are distinctive due to their astral glimmer.
|
||
They are considered magic weapons and thus are effective against damage
|
||
reduction that requires a magic weapon to overcome.
|
||
|
||
Augment: For every 4 additional power points you spend, this power improves
|
||
the weapon’s enhancement bonus on attack rolls and damage rolls by 1.
|
||
*/
|
||
|
||
#include "psi_inc_psifunc"
|
||
#include "psi_inc_pwresist"
|
||
#include "psi_spellhook"
|
||
#include "prc_alterations"
|
||
#include "prc_inc_teleport"
|
||
|
||
void main()
|
||
{
|
||
/*
|
||
Spellcast Hook Code
|
||
Added 2004-11-02 by Stratovarius
|
||
If you want to make changes to all powers,
|
||
check psi_spellhook to find out more
|
||
|
||
*/
|
||
|
||
if (!PsiPrePowerCastCode())
|
||
{
|
||
// If code within the PrePowerCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||
return;
|
||
}
|
||
|
||
// End of Spell Cast Hook
|
||
|
||
object oManifester = OBJECT_SELF;
|
||
object oTarget = PRCGetSpellTargetObject();
|
||
struct manifestation manif =
|
||
EvaluateManifestation(oManifester, oTarget,
|
||
PowerAugmentationProfile(PRC_NO_GENERIC_AUGMENTS,
|
||
4, PRC_UNLIMITED_AUGMENTATION
|
||
),
|
||
METAPSIONIC_EXTEND
|
||
);
|
||
|
||
if(manif.bCanManifest)
|
||
{
|
||
float fDuration = 60.0f * manif.nManifesterLevel;
|
||
if(manif.bExtend) fDuration *= 2;
|
||
|
||
SetLocalInt(oManifester, "PRC_Power_CallWeapon_Augment", manif.nTimesAugOptUsed_1);
|
||
SetLocalFloat(oManifester, "PRC_Power_CallWeapon_Duration", fDuration);
|
||
|
||
// Dimensional travel prevention check
|
||
if(GetCanTeleport(oManifester, GetLocation(oManifester), FALSE, TRUE))
|
||
StartDynamicConversation("psi_callweapon", oManifester, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oManifester);
|
||
}
|
||
} |