//:://///////////////////////////////////////////// //:: Henchman Death Script //:: //:: NW_CH_AC7.nss #include "nw_i0_generic" #include "nw_i0_plot" void BringBack() { SetLocalObject(OBJECT_SELF,"NW_L_FORMERMASTER", GetMaster()); // : REMINDER: The delay is here for a reason DelayCommand(0.1, RemoveEffects(OBJECT_SELF)); DelayCommand(0.2, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectResurrection(), OBJECT_SELF)); DelayCommand(0.3, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectHeal(15), OBJECT_SELF)); DelayCommand(5.1, SetIsDestroyable(TRUE, TRUE, TRUE)); } void main() { // * This is used by the advanced henchmen // * Let Brent know if it interferes with animal // * companions et cetera if (GetIsObjectValid(GetMaster()) == TRUE) { object oMe = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, GetMaster()); if (oMe == OBJECT_SELF // * this is to prevent 'double hits' from stopping // * the henchmen from moving to the temple of tyr // * I.e., henchmen dies 'twice', once after leaving your party || GetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED") == TRUE) { SetPlotFlag(oMe, TRUE); SetAssociateState(NW_ASC_IS_BUSY, TRUE); //AddJournalQuestEntry("Henchman", 99, GetMaster(), FALSE, FALSE, FALSE); SetIsDestroyable(FALSE, TRUE, TRUE); SetLocalInt(OBJECT_SELF, "NW_L_HEN_I_DIED", TRUE); // RemoveHenchman(GetMaster()); // effect eRaise = EffectResurrection(); ClearAllActions(); DelayCommand(0.5, ActionDoCommand(SetCommandable(TRUE))); DelayCommand(5.0, ActionDoCommand(SetAssociateState(NW_ASC_IS_BUSY, FALSE))); DelayCommand(5.0, SetPlotFlag(oMe, FALSE)); DelayCommand(20.0, BringBack()); //BringBack(); //object oResPoint = GetWaypointByTag("WP_ResPoint"); //JumpToObject(oResPoint); //SetCommandable(FALSE); //CreateItemOnObject("RingofResurrection", GetMaster()); } } }