Further file organization
Further file organization
This commit is contained in:
77
nwn/nwnprc/trunk/include/inc_acp.nss
Normal file
77
nwn/nwnprc/trunk/include/inc_acp.nss
Normal file
@@ -0,0 +1,77 @@
|
||||
#include "prc_inc_switch"
|
||||
|
||||
const int PHENOTYPE_KENSAI = 5;
|
||||
const int PHENOTYPE_ASSASSIN = 6;
|
||||
const int PHENOTYPE_BARBARIAN = 7;
|
||||
const int PHENOTYPE_FENCING = 8;
|
||||
|
||||
string sLock = "acp_fightingstyle_lock";
|
||||
|
||||
/* This creates a LocalInt - a "lock" - ..we check further down if it exists...
|
||||
* if it does, we don't allow phenotype changing. To prevent lag spam. */
|
||||
void LockThisFeat()
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, sLock, TRUE);
|
||||
float fDelay = IntToFloat(GetPRCSwitch(PRC_ACP_DELAY))*60.0;
|
||||
if(fDelay == 0.0)
|
||||
fDelay = 90.0;
|
||||
if(fDelay == -60.0)
|
||||
fDelay = 0.0;
|
||||
DelayCommand(fDelay, DeleteLocalInt(OBJECT_SELF, sLock)); //Lock persists 1 min times switchval
|
||||
}
|
||||
|
||||
void ResetFightingStyle() //Resets the character phenotype to 0
|
||||
{
|
||||
int nCurrentPheno = GetPhenoType(OBJECT_SELF);
|
||||
|
||||
//If we are at phenotype 0 or 2, we do nothing. Tell the player that.
|
||||
if(nCurrentPheno == PHENOTYPE_NORMAL
|
||||
|| nCurrentPheno == PHENOTYPE_BIG)
|
||||
SendMessageToPC(OBJECT_SELF, "Your fighting style is already neutral.");
|
||||
|
||||
//else if we are at phenotype 5,6,7 or 8 we want to reset it to neutral.
|
||||
else if(nCurrentPheno == PHENOTYPE_KENSAI
|
||||
|| nCurrentPheno == PHENOTYPE_ASSASSIN
|
||||
|| nCurrentPheno == PHENOTYPE_BARBARIAN
|
||||
|| nCurrentPheno == PHENOTYPE_FENCING)
|
||||
{
|
||||
SetPhenoType(PHENOTYPE_NORMAL);
|
||||
LockThisFeat(); // Lock use!
|
||||
}
|
||||
|
||||
//else, warn that the player doesn't have a phenotype which can be reset right now
|
||||
else
|
||||
SendMessageToPC(OBJECT_SELF, "Your phenotype is non-standard and cannot be reset this way.");
|
||||
}
|
||||
|
||||
void SetCustomFightingStyle(int iStyle) //Sets character phenotype to 5,6,7 or 8
|
||||
{
|
||||
int nCurrentPheno = GetPhenoType(OBJECT_SELF);
|
||||
|
||||
//Maybe we're already using this fighting style? Just warn the player.
|
||||
if(nCurrentPheno == iStyle)
|
||||
SendMessageToPC(OBJECT_SELF, "You're already using this fighting style!");
|
||||
|
||||
//If we are at phenotype 0 or one of the styles themselves, we go ahead
|
||||
//and set the creature's phenotype accordingly! (safe thanks to previous 'if')
|
||||
else if(nCurrentPheno == PHENOTYPE_NORMAL
|
||||
|| nCurrentPheno == PHENOTYPE_KENSAI
|
||||
|| nCurrentPheno == PHENOTYPE_ASSASSIN
|
||||
|| nCurrentPheno == PHENOTYPE_BARBARIAN
|
||||
|| nCurrentPheno == PHENOTYPE_FENCING)
|
||||
{
|
||||
SetPhenoType(iStyle);
|
||||
LockThisFeat(); // Lock use!
|
||||
}
|
||||
|
||||
//At phenotype 2? Tell the player they're too fat!
|
||||
else if (nCurrentPheno == PHENOTYPE_BIG)
|
||||
SendMessageToPC(OBJECT_SELF, "You're too fat to use a different fighting style!");
|
||||
|
||||
//...we didn't fulfil the above conditions? Warn the player.
|
||||
else
|
||||
SendMessageToPC(OBJECT_SELF, "Your phenotype is non-standard / Unable to change style");
|
||||
}
|
||||
|
||||
// Test main
|
||||
//void main(){}
|
Reference in New Issue
Block a user