Files
Anphillia_PRC8/_module/nss/hc_inc_rezpen.nss
Jaysyn904 28cdb617b3 Initial commit
Adding all of the current content for Anphillia Unlimited.
2024-01-04 07:49:38 -05:00

36 lines
1.3 KiB
Plaintext

#include "hc_text_health"
#include "dnd_inc_exp"
void hcRezPenalty(object oRespawner)
{
int nClass2=GetClassByPosition(2, oRespawner);
int nClass3=GetClassByPosition(3, oRespawner);
if (
(nClass2 != CLASS_TYPE_INVALID && GetLevelByPosition(2, oRespawner)==1) ||
(nClass3 != CLASS_TYPE_INVALID && GetLevelByPosition(3, oRespawner)==1) ||
((nClass2 != CLASS_TYPE_INVALID || nClass3 != CLASS_TYPE_INVALID)&&
GetLevelByPosition(1, oRespawner)==1))
{
SendMessageToPC(oRespawner, MEMLOSS);
string sID=GetName(oRespawner)+GetPCPublicCDKey(oRespawner);
SetLocalInt(GetModule(),"REZPEN"+sID,GetLocalInt(GetModule(),
"REZPEN"+sID)+500);
return;
}
int nHD = GetHitDice ( oRespawner );
int nNewXP = ((( nHD * ( nHD - 1)) / 2) * 1000)-((( nHD-1 ) * 1000 ) / 2 );
if ( nHD == 1 )
{
effect eRessickness = EffectAbilityDecrease ( ABILITY_CONSTITUTION, 1);
ApplyEffectToObject( DURATION_TYPE_PERMANENT, eRessickness, oRespawner );
}
else
{
SetXP( oRespawner, nNewXP);
}
if(GetLocalInt(GetModule(),"PWEXP"))
{
SetUpExp(oRespawner, 0);
}
}