Further file organization
Further file organization
This commit is contained in:
61
nwn/nwnprc/trunk/scripts/prc_spellfire.nss
Normal file
61
nwn/nwnprc/trunk/scripts/prc_spellfire.nss
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
|
||||
prc_spellfire.nss - Spellfire functions called here, all routed through the one script
|
||||
|
||||
notes: data stored as persistant local ints
|
||||
|
||||
By: Flaming_Sword
|
||||
Created: December 17, 2005
|
||||
Modified: February 15, 2006
|
||||
|
||||
Naming conventions:
|
||||
nExpend <-> GetPersistantLocalInt(oPC, "SpellfireLevelExpend");
|
||||
nStored <-> GetPersistantLocalInt(oPC, "SpellfireLevelStored");
|
||||
|
||||
Called Elsewhere:
|
||||
|
||||
CheckSpellfire()
|
||||
|
||||
*/
|
||||
#include "prc_alterations"
|
||||
#include "prc_spellf_inc"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
if(GetHasFeat(FEAT_SHADOWWEAVE, oPC))
|
||||
{
|
||||
SendMessageToPC(oPC, "You no longer have access to the weave and cannot use spellfire");
|
||||
return;
|
||||
}
|
||||
int nSpellID = GetSpellId();
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
switch (nSpellID)
|
||||
{
|
||||
case SPELL_SPELLFIRE_ATTACK: SpellfireAttack(oPC, oTarget, TRUE); break;
|
||||
case SPELL_SPELLFIRE_HEAL: SpellfireHeal(oPC, oTarget); break;
|
||||
case SPELL_SPELLFIRE_CHECK: SendMessageToPC(oPC, "Spellfire levels stored: " + IntToString(GetPersistantLocalInt(oPC, "SpellfireLevelStored"))); break;
|
||||
case SPELL_SPELLFIRE_PLUS_ONE: AdjustSpellfire(oPC, 1); break;
|
||||
case SPELL_SPELLFIRE_PLUS_FIVE: AdjustSpellfire(oPC, 5); break;
|
||||
case SPELL_SPELLFIRE_PLUS_TEN: AdjustSpellfire(oPC, 10); break;
|
||||
case SPELL_SPELLFIRE_PLUS_TWENTY: AdjustSpellfire(oPC, 20); break;
|
||||
case SPELL_SPELLFIRE_MINUS_ONE: AdjustSpellfire(oPC, -1); break;
|
||||
case SPELL_SPELLFIRE_MINUS_FIVE: AdjustSpellfire(oPC, -5); break;
|
||||
case SPELL_SPELLFIRE_MINUS_TEN: AdjustSpellfire(oPC, -10); break;
|
||||
case SPELL_SPELLFIRE_MINUS_TWENTY: AdjustSpellfire(oPC, -20); break;
|
||||
case SPELL_SPELLFIRE_CHECK_EXP: SendMessageToPC(oPC, "Spellfire levels to expend: " + IntToString(GetPersistantLocalInt(oPC, "SpellfireLevelExpend"))); break;
|
||||
case SPELL_SPELLFIRE_QUICKSELECT_CHANGE: SpellfireQuickselectChange(oPC); break;
|
||||
case SPELL_SPELLFIRE_QUICKSELECT_1: //Gotta love cascading cases
|
||||
case SPELL_SPELLFIRE_QUICKSELECT_2:
|
||||
case SPELL_SPELLFIRE_QUICKSELECT_3: SpellfireQuickselect(oPC, nSpellID); break;
|
||||
case SPELL_SPELLFIRE_DRAIN_CHARGED: SpellfireDrain(oPC, oTarget); break;
|
||||
case SPELL_SPELLFIRE_RAPID_BLAST_TWO: SpellfireAttack(oPC, oTarget, TRUE, 2); break;
|
||||
case SPELL_SPELLFIRE_RAPID_BLAST_THREE: SpellfireAttack(oPC, oTarget, TRUE, 3); break;
|
||||
case SPELL_SPELLFIRE_DRAIN_PERMANENT: SpellfireDrain(oPC, oTarget, FALSE); break;
|
||||
case SPELL_SPELLFIRE_CHARGE_ITEM: SpellfireChargeItem(oPC, oTarget); break;
|
||||
case SPELL_SPELLFIRE_CROWN: SpellfireCrown(oPC); break;
|
||||
case SPELL_SPELLFIRE_MAELSTROM: SpellfireMaelstrom(oPC); break;
|
||||
case SPELL_SPELLFIRE_ABSORB: SpellfireToggleAbsorbFriendly(oPC); break;
|
||||
default: if(DEBUG) DoDebug("Unrecognized SpellID: " + IntToString(nSpellID), oPC);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user