Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,117 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Power: Astral Construct
|
||||
//:: psi_ast_con_man
|
||||
//:://////////////////////////////////////////////
|
||||
/** @file
|
||||
Creates an astral construct as specified by the
|
||||
contents of a set of local variables set by
|
||||
the Astral Contruct Options conversation.
|
||||
|
||||
@author Ornedan
|
||||
@date Created - 2005.01.26
|
||||
@date Modified - 2006.01.31
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "psi_inc_ac_manif"
|
||||
#include "psi_spellhook"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Constant defintions */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
const int AC_SLOT_1 = 14036;
|
||||
const int AC_SLOT_2 = 14037;
|
||||
const int AC_SLOT_3 = 14038;
|
||||
const int AC_SLOT_4 = 14039;
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Function prototypes */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Determines which slot was used for this manifestation.
|
||||
*
|
||||
* @param nSpellID The spellID of this particular manifestation
|
||||
* @return The number of the slot used
|
||||
*/
|
||||
int GetACSlotUsed(int nSpellID);
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Function defintions */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
if (!PsiPrePowerCastCode()){ return; }
|
||||
// End of Spell Cast Hook
|
||||
|
||||
object oManifester = OBJECT_SELF;
|
||||
string sSlot = IntToString(GetACSlotUsed(PRCGetSpellId()));
|
||||
|
||||
int nACLevel = GetLocalInt(oManifester, ASTRAL_CONSTRUCT_LEVEL + sSlot);
|
||||
|
||||
if(nACLevel < 1 || nACLevel > 9)
|
||||
{
|
||||
SendMessageToPCByStrRef(oManifester, STRREF_INVALID_CONSTRUCT_IN_SLOT);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Check if the manifester can. Since AC is sort of a special case in the augmenting
|
||||
// scheme, we need to temporarily change the value of augmentation
|
||||
|
||||
// Do the augmentation override
|
||||
struct user_augment_profile uapOverride;
|
||||
uapOverride.nOption_1 = nACLevel - 1; // The other options are left auto-initialised to 0
|
||||
|
||||
SetAugmentationOverride(oManifester, uapOverride);
|
||||
|
||||
// Determine manifestation
|
||||
struct manifestation manif;
|
||||
manif = EvaluateManifestation(oManifester, OBJECT_INVALID,
|
||||
PowerAugmentationProfile(PRC_NO_GENERIC_AUGMENTS,
|
||||
2, PRC_UNLIMITED_AUGMENTATION
|
||||
),
|
||||
METAPSIONIC_EXTEND /*| METAPSIONIC_TWIN Can't be used as long as the effect is a real summon and not a henchmand*/
|
||||
);
|
||||
if(!manif.bCanManifest)
|
||||
return;
|
||||
|
||||
|
||||
int nOptionFlags = GetLocalInt(oManifester, ASTRAL_CONSTRUCT_OPTION_FLAGS + sSlot);
|
||||
int nResElemFlags = GetLocalInt(oManifester, ASTRAL_CONSTRUCT_RESISTANCE_FLAGS + sSlot);
|
||||
int nETchElemFlags = GetLocalInt(oManifester, ASTRAL_CONSTRUCT_ENERGY_TOUCH_FLAGS + sSlot);
|
||||
int nEBltElemFlags = GetLocalInt(oManifester, ASTRAL_CONSTRUCT_ENERGY_BOLT_FLAGS + sSlot);
|
||||
|
||||
DoAstralConstructCreation(manif, GetSpellTargetLocation(), nACLevel,
|
||||
nOptionFlags, nResElemFlags, nETchElemFlags, nEBltElemFlags);
|
||||
|
||||
// Mark the slot manifested out of on the manifester
|
||||
SetLocalString(oManifester, MANIFESTED_SLOT, sSlot);
|
||||
}
|
||||
|
||||
int GetACSlotUsed(int nSpellID)
|
||||
{
|
||||
int nRet;
|
||||
|
||||
switch(nSpellID)
|
||||
{
|
||||
case AC_SLOT_1: nRet = 1; break;
|
||||
case AC_SLOT_2: nRet = 2; break;
|
||||
case AC_SLOT_3: nRet = 3; break;
|
||||
case AC_SLOT_4: nRet = 4; break;
|
||||
|
||||
default: nRet = -1;
|
||||
}
|
||||
|
||||
if(DEBUG) DoDebug("GetACSlotUsed():\n"
|
||||
+ "nSpellID = " + IntToString(nSpellID) + "\n"
|
||||
+ "nRet = " + IntToString(nRet) + "\n"
|
||||
);
|
||||
|
||||
return nRet;
|
||||
}
|
Reference in New Issue
Block a user