public override bool OnUse(GameObject attachee, GameObject triggerer) { MakeAreaKnown(4); StoryState = 4; if (attachee.GetNameId() == 11002) { // note from smigmal Redhand, as opposed to Alira's Temple map SetGlobalFlag(425, true); } else if (attachee.GetNameId() == 11299) // Temple navigational map { if (!GameSystems.Combat.IsCombatActive()) { GameObject talk_dude = null; if (SelectedPartyLeader.type == ObjectType.pc && !SelectedPartyLeader.IsUnconscious()) { talk_dude = SelectedPartyLeader; } else { foreach (var dude in GameSystems.Party.PartyMembers) { if (dude.type == ObjectType.pc && !dude.IsUnconscious() && talk_dude == null) { talk_dude = dude; } } } if (talk_dude != null) { talk_dude.SetScriptId(ObjScriptEvent.Dialog, 435); if ((talk_dude.GetArea() == 4 || (new[] { 5064, 5065, 5066, 5067, 5079, 5080, 5092, 5105, 5110, 5111, 5112 }).Contains(talk_dude.GetMap())) && !((new[] { 5081, 5082, 5083, 5084 }).Contains(talk_dude.GetMap()))) { talk_dude.BeginDialog(talk_dude, 1000); } else { talk_dude.BeginDialog(talk_dude, 1210); } } } return(SkipDefault); } return(RunDefault); }