private static bool OnBeforeAmbusherDeath(NPC ambusher) { if (ambusher.FirstAttacker is Character) { var killer = (Character)ambusher.FirstAttacker; if (!killer.QuestLog.HasActiveQuest(AmbusherQuest)) { // quest isn't active return true; } // say something ambusher.Say("Oh kind sir, please don't kill me!"); // discarded the idea of the backstabber: //ambusher.MoveBehindThenExecute(killer, // attacker => attacker.SpellCast.Start(SpellId.ClassSkillBackstabRank1, false, killer)); // cast some AoE spell (ignoring all restrictions) ambusher.SpellCast.Trigger(SpellId.ClassSkillFrostNovaRank6); // Is now friendly with everyone ambusher.FactionId = FactionId.Friendly; // more health than ever before (not necessary here) ambusher.BaseHealth = ambusher.Health = 100000; // won't do anything stupid anymore ambusher.Brain.DefaultState = BrainState.Idle; ambusher.Brain.EnterDefaultState(); // never leave the killer alone: Approach again and again... ambusher.CallPeriodically(2000, obj => SeekForgiveness(ambusher, killer)); return false; // return false to indicate that the guy didn't die } return true; // die }