public static void lareth_abandon(GameObject attachee, GameObject triggerer) { SelectedPartyLeader.RemoveFollower(attachee); return; }
public override bool OnEnterCombat(GameObject attachee, GameObject triggerer) { if (SelectedPartyLeader.GetPartyMembers().Any(o => o.HasFollowerByName(8730))) { var ron = Utilities.find_npc_near(SelectedPartyLeader, 8730); if (ron != null) { SelectedPartyLeader.RemoveFollower(ron); } } if ((!GetGlobalFlag(816) && !GetGlobalFlag(818))) { SetGlobalFlag(818, true); foreach (var target in PartyLeader.GetPartyMembers()) { if ((target.GetNameId() != 8072 && attachee.DistanceTo(target) <= 20 && target.type == ObjectType.pc)) { attachee.TurnTowards(target); target.BeginDialog(attachee, 2000); return(SkipDefault); } } attachee.FloatLine(2010, triggerer); var terjonLoc = attachee.GetLocation(); terjonLoc.locx -= 4; var terjon = GameSystems.MapObject.CreateObject(14007, terjonLoc); AttachParticles("sp-Dimension Door", terjon); terjon.TurnTowards(attachee); var calmert = attachee.GetInitiative(); terjon.AddToInitiative(); terjon.SetInitiative(calmert); UiSystems.Combat.Initiative.UpdateIfNeeded(); terjon.Attack(triggerer); } foreach (var npc in PartyLeader.GetPartyMembers()) { if ((npc.GetNameId() == 8072 && npc.GetLeader() != null && !GetGlobalFlag(819))) { var curr = npc.GetStat(Stat.hp_current); if ((curr >= 1)) { foreach (var target in PartyLeader.GetPartyMembers()) { if ((target.GetNameId() != 8072 && npc.DistanceTo(target) <= 20 && target.type == ObjectType.pc)) { npc.TurnTowards(target); target.BeginDialog(npc, 1000); return(SkipDefault); } } } } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8000))) { var elmo = Utilities.find_npc_near(triggerer, 8000); if ((elmo != null)) { triggerer.RemoveFollower(elmo); elmo.FloatLine(12021, triggerer); elmo.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8001))) { var paida = Utilities.find_npc_near(triggerer, 8001); if ((paida != null)) { triggerer.RemoveFollower(paida); paida.FloatLine(12021, triggerer); paida.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8014))) { var otis = Utilities.find_npc_near(triggerer, 8014); if ((otis != null)) { triggerer.RemoveFollower(otis); otis.FloatLine(12021, triggerer); otis.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8015))) { var meleny = Utilities.find_npc_near(triggerer, 8015); if ((meleny != null)) { triggerer.RemoveFollower(meleny); meleny.FloatLine(12021, triggerer); meleny.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8021))) { var ydey = Utilities.find_npc_near(triggerer, 8021); if ((ydey != null)) { triggerer.RemoveFollower(ydey); ydey.FloatLine(12021, triggerer); ydey.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8022))) { var murfles = Utilities.find_npc_near(triggerer, 8022); if ((murfles != null)) { triggerer.RemoveFollower(murfles); murfles.FloatLine(12021, triggerer); murfles.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8031))) { var thrommel = Utilities.find_npc_near(triggerer, 8031); if ((thrommel != null)) { triggerer.RemoveFollower(thrommel); thrommel.FloatLine(12021, triggerer); thrommel.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8039))) { var taki = Utilities.find_npc_near(triggerer, 8039); if ((taki != null)) { triggerer.RemoveFollower(taki); taki.FloatLine(12021, triggerer); taki.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8054))) { var burne = Utilities.find_npc_near(triggerer, 8054); if ((burne != null)) { triggerer.RemoveFollower(burne); burne.FloatLine(12021, triggerer); burne.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8060))) { var morgan = Utilities.find_npc_near(triggerer, 8060); if ((morgan != null)) { triggerer.RemoveFollower(morgan); morgan.FloatLine(12021, triggerer); morgan.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8069))) { var pishella = Utilities.find_npc_near(triggerer, 8069); if ((pishella != null)) { triggerer.RemoveFollower(pishella); pishella.FloatLine(12021, triggerer); pishella.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8071))) { var rufus = Utilities.find_npc_near(triggerer, 8071); if ((rufus != null)) { triggerer.RemoveFollower(rufus); rufus.FloatLine(12021, triggerer); rufus.Attack(triggerer); } } if (triggerer.GetPartyMembers().Any(o => o.HasFollowerByName(8714))) { var holly = Utilities.find_npc_near(triggerer, 8714); if ((holly != null)) { triggerer.RemoveFollower(holly); holly.FloatLine(1000, triggerer); holly.Attack(triggerer); } } return(RunDefault); }