UW2_PRC8/_module/nss/npcdeath10.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

45 lines
1.6 KiB
Plaintext

// * Applies an XP and GP penalty
// * to the player respawning
void ApplyPenalty(object oDead)
{
int nXP = GetXP(oDead);
int nPenalty = 500 * GetHitDice(oDead);
int nHD = GetHitDice(oDead);
// * You can not lose a level with this respawning
int nMin = ((nHD * (nHD - 1)) / 2) * 1000;
int nNewXP = nXP - nPenalty;
if (nNewXP < nMin)
nNewXP = nMin;
SetXP(oDead, nNewXP);
int nGoldToTake = FloatToInt(1.00 * GetGold(oDead));
// * a cap of 10 000gp taken from you
if (nGoldToTake > 99999)
{
nGoldToTake = 99999;
}
AssignCommand(oDead, TakeGoldFromCreature(nGoldToTake, oDead, TRUE));
DelayCommand(4.0, FloatingTextStrRefOnCreature(58299, oDead, FALSE));
DelayCommand(4.8, FloatingTextStrRefOnCreature(58300, oDead, FALSE));
}
void main()
{
object oArea = GetArea(OBJECT_SELF);
location lBegLoc = GetLocation(OBJECT_SELF);
//The "beggmale001" needs to be changed to whatever your module
//names the BLUEPRINT for your custom created creature. You
//cannot use a completely standard creature, because then you
//won't be able to change the scripts. Just create a regular
//instance of an NPC, right click it and pick properties. Switch
//to the scripts tag and fill in this script's name under the
//on death script. Then close that, and right click on your
//newly created NPC and add pick add blueprint. Then from the
//advanced tab of the properties for the blueprint, find out
//what the blueprint name is.
CreateObject(OBJECT_TYPE_CREATURE, "jailguard1", lBegLoc);
ApplyPenalty(GetLastKiller());
}