Jaysyn904 defc8f9f6d Re-uploaded instead of migrated
Re-uploaded instead of migrated.
2024-08-03 15:05:13 -04:00

64 lines
2.1 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Generic On Pressed Respawn Button
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
// * June 1: moved RestoreEffects into plot include
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: November
//:://////////////////////////////////////////////
#include "nw_i0_plot"
#include "nw_i0_generic"
// * Applies an XP and GP penalty
// * to the player respawning
void ApplyPenalty(object oDead)
{
int nXP = GetXP(oDead);
int nPenalty = 50 * 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(0.10 * GetGold(oDead));
// * a cap of 10 000gp taken from you
if (nGoldToTake > 10000)
{
nGoldToTake = 10000;
}
AssignCommand(oDead, TakeGoldFromCreature(nGoldToTake, oDead, TRUE));
DelayCommand(4.0, FloatingTextStrRefOnCreature(58299, oDead, FALSE));
DelayCommand(4.8, FloatingTextStrRefOnCreature(58300, oDead, FALSE));
}
// Resurrection Shrine Script
// July 2002
// By: Dalantriel
// Teleports player to res shrine and returns factions towards neutral
// if the primary NPC of that faction still lives
void main()
{
object oRespawner = GetLastRespawnButtonPresser();
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectResurrection(),oRespawner);
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
RemoveEffects(oRespawner);
// Adjust the player faction to neutral (11) for Defender and Merchant
AdjustReputation(oRespawner, GetObjectByTag("Henrick"), 11);
AdjustReputation(oRespawner, GetObjectByTag("Belonor"), 11);
location respawnLoc;
respawnLoc = GetLocation(GetObjectByTag("Respoint"));
AssignCommand(oRespawner, JumpToLocation(respawnLoc));
ActionCastSpellAtObject (SPELL_HEAL, oRespawner, METAMAGIC_ANY, TRUE, 1, PROJECTILE_PATH_TYPE_DEFAULT, FALSE);
}