//:://///////////////////////////////////////////// //:: 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); }