Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,424 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Astral Construct conversation include
|
||||
//:: psi_inc_ac_convo
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Ornedan
|
||||
//:: Created On: 25.01.2005
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "psi_inc_ac_const"
|
||||
#include "prc_feat_const"
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Function prototypes */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
int GetNumberOfFlagsRaised(int nFlagSet);
|
||||
int GetTotalNumberOfSlotsUsed(object oPC);
|
||||
int GetMaxFlagsForLevel(int nLevel);
|
||||
int GetHasBuff(int nFlags);
|
||||
|
||||
// Custom token stuff
|
||||
string GetSizeAsString(int nLevel);
|
||||
string GetHPAsString(int nLevel, int nFlags);
|
||||
string GetSpeedAsString(int nLevel, int nFlags);
|
||||
string StringAdder(string sOriginal, string sAdd, int bFirst);
|
||||
string GetMenuASelectionsAsString(object oPC);
|
||||
string GetMenuBSelectionsAsString(object oPC);
|
||||
string GetMenuCSelectionsAsString(object oPC);
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Function defintions */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
int GetNumberOfFlagsRaised(int nFlagSet)
|
||||
{
|
||||
int i, nReturn = 0;
|
||||
|
||||
for(i = 0; i < 32; i++)
|
||||
{
|
||||
if((nFlagSet >>> i) & TEST_FLAG)
|
||||
nReturn++;
|
||||
}
|
||||
|
||||
return nReturn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int GetTotalNumberOfSlotsUsed(object oPC)
|
||||
{
|
||||
int nFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_OPTION_FLAGS + EDIT);
|
||||
|
||||
int nFlagTotal = 0;
|
||||
|
||||
// Handle Menu A flags. Each flag costs 1 slot
|
||||
nFlagTotal += MENU_A_COST * GetNumberOfFlagsRaised(nFlags & MENU_A_MASK);
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_RESISTANCE)
|
||||
{
|
||||
nFlagTotal -= MENU_A_COST; //We don't want to count the flag twice
|
||||
nFlagTotal += MENU_A_COST * GetNumberOfFlagsRaised(GetLocalInt(oPC, ASTRAL_CONSTRUCT_RESISTANCE_FLAGS + EDIT));
|
||||
}
|
||||
|
||||
// Handle Menu B flags. Each flag costs 2 slots
|
||||
nFlagTotal += MENU_B_COST * GetNumberOfFlagsRaised(nFlags & MENU_B_MASK);
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_ENERGY_TOUCH)
|
||||
{
|
||||
nFlagTotal -= MENU_B_COST; //We don't want to count the flag twice
|
||||
nFlagTotal += MENU_B_COST * GetNumberOfFlagsRaised(GetLocalInt(oPC, ASTRAL_CONSTRUCT_ENERGY_TOUCH_FLAGS + EDIT));
|
||||
}
|
||||
|
||||
// Handle Menu C flags. Each flag costs 4 slots
|
||||
nFlagTotal += MENU_C_COST * GetNumberOfFlagsRaised(nFlags & MENU_C_MASK);
|
||||
|
||||
|
||||
return nFlagTotal;
|
||||
}
|
||||
|
||||
|
||||
int GetMaxSlotsForLevel(int nLevel, object oManifester)
|
||||
{
|
||||
int multiplier = 1;
|
||||
|
||||
if (GetHasFeat(FEAT_BOOST_CONSTRUCT, oManifester))
|
||||
{
|
||||
multiplier = 2;
|
||||
}
|
||||
|
||||
switch(nLevel)
|
||||
{
|
||||
case 1: case 2: case 3:
|
||||
return 1 * multiplier;
|
||||
case 4: case 5: case 6:
|
||||
return 2 * multiplier;
|
||||
case 7: case 8: case 9:
|
||||
return 4 * multiplier;
|
||||
|
||||
default:
|
||||
WriteTimestampedLogEntry("Invalid nLevel value passed to GetMaxFlagsForLevel");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int GetHasBuff(int nFlags)
|
||||
{
|
||||
if((nFlags & ASTRAL_CONSTRUCT_OPTION_BUFF) ||
|
||||
(nFlags & ASTRAL_CONSTRUCT_OPTION_IMP_BUFF) ||
|
||||
(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTRA_BUFF))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
string GetSizeAsString(int nLevel)
|
||||
{
|
||||
switch(nLevel)
|
||||
{
|
||||
case 1:
|
||||
return "Small";
|
||||
case 2: case 3: case 4:
|
||||
return "Medium";
|
||||
case 5: case 6: case 7: case 8:
|
||||
return "Large";
|
||||
case 9:
|
||||
return "Huge";
|
||||
|
||||
default:
|
||||
WriteTimestampedLogEntry("Invalid nLevel value passed to GetSizeAsString");
|
||||
}
|
||||
|
||||
return "ERROR!";
|
||||
}
|
||||
|
||||
|
||||
string GetHPAsString(int nLevel, int nFlags)
|
||||
{
|
||||
int nBaseHP;
|
||||
|
||||
switch(nLevel)
|
||||
{
|
||||
case 1: nBaseHP = 15; break;
|
||||
case 2: nBaseHP = 31; break;
|
||||
case 3: nBaseHP = 36; break;
|
||||
case 4: nBaseHP = 47; break;
|
||||
case 5: nBaseHP = 68; break;
|
||||
case 6: nBaseHP = 85; break;
|
||||
case 7: nBaseHP = 101; break;
|
||||
case 8: nBaseHP = 118; break;
|
||||
case 9: nBaseHP = 144; break;
|
||||
|
||||
default:
|
||||
WriteTimestampedLogEntry("Invalid nLevel value passed to GetHPAsString");
|
||||
return "ERROR!";
|
||||
}
|
||||
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_BUFF)
|
||||
nBaseHP += 5;
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_IMP_BUFF)
|
||||
nBaseHP += 15;
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTRA_BUFF)
|
||||
nBaseHP += 30;
|
||||
|
||||
return IntToString(nBaseHP);
|
||||
}
|
||||
|
||||
|
||||
string GetSpeedAsString(int nLevel, int nFlags)
|
||||
{
|
||||
int nSpeed;
|
||||
switch(nLevel)
|
||||
{
|
||||
case 1:
|
||||
nSpeed = 30;
|
||||
break;
|
||||
case 2: case 3: case 4:
|
||||
case 5: case 6: case 7: case 8:
|
||||
nSpeed = 40;
|
||||
break;
|
||||
case 9:
|
||||
nSpeed = 50;
|
||||
break;
|
||||
|
||||
default:
|
||||
WriteTimestampedLogEntry("Invalid nLevel value passed to GetSizeAsString");
|
||||
return "ERROR!";
|
||||
}
|
||||
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_CELERITY)
|
||||
nSpeed += 10;
|
||||
|
||||
return IntToString(nSpeed);
|
||||
}
|
||||
|
||||
|
||||
string StringAdder(string sOriginal, string sAdd, int bFirst)
|
||||
{
|
||||
if(bFirst) return sOriginal + sAdd;
|
||||
else return sOriginal + ", " + sAdd;
|
||||
}
|
||||
|
||||
|
||||
string GetMenuASelectionsAsString(object oPC)
|
||||
{
|
||||
string sReturn = "";
|
||||
int bFirst = TRUE;
|
||||
|
||||
int nFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_OPTION_FLAGS + EDIT);
|
||||
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_BUFF){
|
||||
sReturn = StringAdder(sReturn, "Buff", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_CELERITY){
|
||||
sReturn = StringAdder(sReturn, "Celerity", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_CLEAVE){
|
||||
sReturn = StringAdder(sReturn, "Cleave", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_IMPROVED_SLAM){
|
||||
sReturn = StringAdder(sReturn, "Improved Slam Attack", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_DEFLECTION){
|
||||
sReturn = StringAdder(sReturn, "Deflection", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_MOBILITY){
|
||||
sReturn = StringAdder(sReturn, "Mobility", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_POWER_ATTACK){
|
||||
sReturn = StringAdder(sReturn, "Power Attack", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_RESISTANCE){
|
||||
int nElemFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_RESISTANCE_FLAGS + EDIT);
|
||||
|
||||
if(nElemFlags & ELEMENT_ACID){
|
||||
sReturn = StringAdder(sReturn, "Resistance - Acid", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_COLD){
|
||||
sReturn = StringAdder(sReturn, "Resistance - Cold", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_ELECTRICITY){
|
||||
sReturn = StringAdder(sReturn, "Resistance - Electricity", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_FIRE){
|
||||
sReturn = StringAdder(sReturn, "Resistance - Fire", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_SONIC){
|
||||
sReturn = StringAdder(sReturn, "Resistance - Sonic", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_KNOCKDOWN){
|
||||
sReturn = StringAdder(sReturn, "Knockdown", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
|
||||
return sReturn;
|
||||
}
|
||||
|
||||
|
||||
string GetMenuBSelectionsAsString(object oPC)
|
||||
{
|
||||
string sReturn = "";
|
||||
int bFirst = TRUE;
|
||||
|
||||
int nFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_OPTION_FLAGS + EDIT);
|
||||
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_ENERGY_TOUCH){
|
||||
int nElemFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_ENERGY_TOUCH_FLAGS + EDIT);
|
||||
|
||||
if(nElemFlags & ELEMENT_ACID){
|
||||
sReturn = StringAdder(sReturn, "Energy Touch - Acid", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_COLD){
|
||||
sReturn = StringAdder(sReturn, "Energy Touch - Cold", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_ELECTRICITY){
|
||||
sReturn = StringAdder(sReturn, "Energy Touch - Electricity", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_FIRE){
|
||||
sReturn = StringAdder(sReturn, "Energy Touch - Fire", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_SONIC){
|
||||
sReturn = StringAdder(sReturn, "Energy Touch - Sonic", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTRA_ATTACK){
|
||||
sReturn = StringAdder(sReturn, "Extra Attack", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_FAST_HEALING){
|
||||
sReturn = StringAdder(sReturn, "Fast Healing", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_HEAVY_DEFLECT){
|
||||
sReturn = StringAdder(sReturn, "Heavy Deflection", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_IMP_BUFF){
|
||||
sReturn = StringAdder(sReturn, "Improved Buff", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_IMP_CRIT){
|
||||
sReturn = StringAdder(sReturn, "Improved Critical", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_IMP_DAM_RED){
|
||||
sReturn = StringAdder(sReturn, "Improved Damage Reduction", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_MUSCLE){
|
||||
sReturn = StringAdder(sReturn, "Muscle", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_POISON_TOUCH){
|
||||
sReturn = StringAdder(sReturn, "Poison Touch", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
|
||||
|
||||
return sReturn;
|
||||
}
|
||||
|
||||
|
||||
string GetMenuCSelectionsAsString(object oPC)
|
||||
{
|
||||
string sReturn = "";
|
||||
int bFirst = TRUE;
|
||||
|
||||
int nFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_OPTION_FLAGS + EDIT);
|
||||
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_BLINDFIGHT){
|
||||
sReturn = StringAdder(sReturn, "Blindfight", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_CONCUSSION){
|
||||
sReturn = StringAdder(sReturn, "Concussion", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_DIMENSION_SLIDE){
|
||||
sReturn = StringAdder(sReturn, "Dimension Slide", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_ENERGY_BOLT){
|
||||
int nElemFlags = GetLocalInt(oPC, ASTRAL_CONSTRUCT_ENERGY_BOLT_FLAGS + EDIT);
|
||||
|
||||
if(nElemFlags & ELEMENT_ACID){
|
||||
sReturn = StringAdder(sReturn, "Energy Bolt - Acid", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_COLD){
|
||||
sReturn = StringAdder(sReturn, "Energy Bolt - Cold", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_ELECTRICITY){
|
||||
sReturn = StringAdder(sReturn, "Energy Bolt - Electricity", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_FIRE){
|
||||
sReturn = StringAdder(sReturn, "Energy Bolt - Fire", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nElemFlags & ELEMENT_SONIC){
|
||||
sReturn = StringAdder(sReturn, "Energy Bolt - Sonic", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTRA_BUFF){
|
||||
sReturn = StringAdder(sReturn, "Extra Buff", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTREME_DAM_RED){
|
||||
sReturn = StringAdder(sReturn, "Extreme Damage Reduction", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_EXTREME_DEFLECT){
|
||||
sReturn = StringAdder(sReturn, "Extreme Deflection", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_NATURAL_INVIS){
|
||||
sReturn = StringAdder(sReturn, "Natural Invisibility", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_POWER_RESIST){
|
||||
sReturn = StringAdder(sReturn, "Power Resistance", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_REND){
|
||||
sReturn = StringAdder(sReturn, "Rend", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_SPRING_ATTACK){
|
||||
sReturn = StringAdder(sReturn, "Spring Attack", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
if(nFlags & ASTRAL_CONSTRUCT_OPTION_WHIRLWIND){
|
||||
sReturn = StringAdder(sReturn, "Whirlwind", bFirst);
|
||||
bFirst = FALSE;
|
||||
}
|
||||
|
||||
return sReturn;
|
||||
}
|
Reference in New Issue
Block a user