public static void check_evidence_rep_bor(GameObject attachee, GameObject triggerer)
    {
        if ((PartyLeader.HasReputation(72)))
        {
            PartyLeader.AddReputation(75);
            PartyLeader.RemoveReputation(72);
        }
        else if ((PartyLeader.HasReputation(69)))
        {
            PartyLeader.AddReputation(72);
            PartyLeader.RemoveReputation(69);
        }
        else if ((!PartyLeader.HasReputation(69)))
        {
            if ((!PartyLeader.HasReputation(72)))
            {
                if ((!PartyLeader.HasReputation(75)))
                {
                    PartyLeader.AddReputation(69);
                }
            }
        }

        return;
    }
예제 #2
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        foreach (var pc in GameSystems.Party.PartyMembers)
        {
            pc.AddCondition("fallen_paladin");
        }

        if ((attachee.GetMap() == 5170 || attachee.GetMap() == 5135))
        {
            SetGlobalFlag(992, true);
            SetGlobalFlag(935, true);
            PartyLeader.AddReputation(44);
        }
        else if ((attachee.GetMap() == 5156))
        {
            if ((GetGlobalFlag(940)))
            {
                SetGlobalFlag(935, true);
                PartyLeader.AddReputation(44);
            }

            SetGlobalFlag(992, true);
        }

        return(RunDefault);
    }
예제 #3
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        if ((attachee.GetMap() == 5010))
        {
            rngfighttime_set();
            SetGlobalFlag(426, true);
        }

        SetGlobalFlag(814, true);
        if ((GetGlobalFlag(815)))
        {
            foreach (var pc in GameSystems.Party.PartyMembers)
            {
                if ((pc.HasReputation(23)))
                {
                    pc.RemoveReputation(23);
                }
            }
        }

        if ((!PartyLeader.HasReputation(9)))
        {
            PartyLeader.AddReputation(9);
        }

        return(RunDefault);
    }
예제 #4
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        foreach (var pc in GameSystems.Party.PartyMembers)
        {
            pc.AddCondition("fallen_paladin");
        }

        SetGlobalVar(334, GetGlobalVar(334) + 1);
        if ((GetGlobalVar(334) >= 2))
        {
            PartyLeader.AddReputation(35);
        }

        if ((GetQuestState(67) == QuestState.Accepted))
        {
            SetGlobalFlag(964, true);
        }

        StartTimer(60000, () => go_away(attachee));
        return(RunDefault);
    }
    public static void check_evidence_rep_rak(GameObject attachee, GameObject triggerer)
    {
        if ((PartyLeader.HasReputation(74)))
        {
            PartyLeader.AddReputation(77);
            PartyLeader.RemoveReputation(74);
        }
        else if ((PartyLeader.HasReputation(71)))
        {
            PartyLeader.AddReputation(74);
            PartyLeader.RemoveReputation(71);
        }
        else if ((!PartyLeader.HasReputation(71)))
        {
            if ((!PartyLeader.HasReputation(74)))
            {
                if ((!PartyLeader.HasReputation(77)))
                {
                    PartyLeader.AddReputation(71);
                }
            }
        }

        return;
    }
예제 #6
0
    public static void traders_runoff(GameObject attachee)
    {
        AttachParticles("orb-summon-fire-elemental", PartyLeader);
        var gremag = Utilities.find_npc_near(attachee, 8049);
        var rannos = Utilities.find_npc_near(attachee, 8048);

        if (gremag != null)
        {
            gremag.RunOff();
        }

        if (rannos != null)
        {
            rannos.RunOff(gremag.GetLocation().OffsetTiles(-3, 0));
        }

        if (!PartyLeader.HasReputation(23))
        {
            PartyLeader.AddReputation(23);
        }

        if (SelectedPartyLeader.GetMap() == 5051)
        {
            GameSystems.RandomEncounter.RemoveQueuedEncounter(3159);
        }

        attachee.Destroy();
        return;
    }
예제 #7
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        SetGlobalFlag(336, true);
        SetGlobalFlag(284, true);
        if ((attachee.GetLeader() == null && attachee.FindItemByName(5009) == null && GetGlobalFlag(850)))
        {
            SetGlobalFlag(850, false);
            Utilities.create_item_in_inventory(5009, attachee);
        }

        if ((!GetGlobalFlag(233)))
        {
            SetGlobalVar(23, GetGlobalVar(23) + 1);
            if ((GetGlobalVar(23) >= 2))
            {
                PartyLeader.AddReputation(92);
            }
        }
        else
        {
            SetGlobalVar(29, GetGlobalVar(29) + 1);
        }

        return(RunDefault);
    }
예제 #8
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if ((attachee.GetLeader() == null))
        {
            if (CombatStandardRoutines.should_modify_CR(attachee))
            {
                CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
            }
        }

        SetGlobalFlag(501, true);
        SetGlobalVar(511, GetGlobalVar(511) + 1);
        if ((GetGlobalVar(511) >= 12 && GetGlobalFlag(501)))
        {
            SetGlobalFlag(511, true);
            if ((GetGlobalFlag(511) && GetGlobalFlag(512) && GetGlobalFlag(513) && GetGlobalFlag(514) && GetGlobalFlag(515) && GetGlobalFlag(516) && GetGlobalFlag(517) && GetGlobalFlag(518) && GetGlobalFlag(519) && GetGlobalFlag(520) && GetGlobalFlag(521) && GetGlobalFlag(522)))
            {
                SetQuestState(97, QuestState.Completed);
                PartyLeader.AddReputation(52);
                SetGlobalVar(501, 7);
            }
        }

        return(RunDefault);
    }
    public static void check_evidence_rep_pan(GameObject attachee, GameObject triggerer)
    {
        if ((PartyLeader.HasReputation(73)))
        {
            PartyLeader.AddReputation(76);
            PartyLeader.RemoveReputation(73);
        }
        else if ((PartyLeader.HasReputation(70)))
        {
            PartyLeader.AddReputation(73);
            PartyLeader.RemoveReputation(70);
        }
        else if ((!PartyLeader.HasReputation(70)))
        {
            if ((!PartyLeader.HasReputation(73)))
            {
                if ((!PartyLeader.HasReputation(76)))
                {
                    PartyLeader.AddReputation(70);
                }
            }
        }

        return;
    }
예제 #10
0
    public override bool OnUse(GameObject door, GameObject triggerer)
    {
        if ((door.GetNameId() == 1622))
        {
            if ((!GetGlobalFlag(532)))
            {
                SetGlobalFlag(534, true);
                return(SkipDefault);
            }
            // if doors to tunnels are locked, disable door portal, flag for attempt and fine
            else if ((GetGlobalFlag(532)))
            {
                if ((GetGlobalVar(548) <= 2))
                {
                    SetGlobalVar(548, GetGlobalVar(548) + 1);
                    if ((GetGlobalVar(548) == 3))
                    {
                        PartyLeader.AddReputation(68);
                        SetGlobalVar(548, 4);
                    }
                }

                return(RunDefault);
            }
        }

        return(RunDefault);
    }
예제 #11
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        SetGlobalFlag(196, true);
        if ((!GetGlobalFlag(232)))
        {
            attachee.FloatLine(12014, triggerer);
            SetGlobalVar(23, GetGlobalVar(23) + 1);
            if (GetGlobalVar(23) >= 2)
            {
                PartyLeader.AddReputation(92);
            }
        }
        else
        {
            SetGlobalVar(29, GetGlobalVar(29) + 1);
            attachee.FloatLine(12014, triggerer);
        }

        return(RunDefault);
    }
예제 #12
0
 public static void very_bad_things(GameObject attachee, GameObject triggerer)
 {
     SetGlobalVar(510, 2);
     SetGlobalFlag(504, true);
     SetQuestState(97, QuestState.Botched);
     PartyLeader.AddReputation(53);
     return;
 }
예제 #13
0
    public override bool OnFirstHeartbeat(GameObject attachee, GameObject triggerer)
    {
        if ((attachee.GetMap() == 5031))
        {
            if ((GetQuestState(9) == QuestState.Accepted))
            {
                if ((!Utilities.is_daytime()))
                {
                    attachee.SetObjectFlag(ObjectFlag.OFF);
                }
                else
                {
                    attachee.ClearObjectFlag(ObjectFlag.OFF);
                }
            }
            else if ((GetGlobalVar(4) == 3))
            {
                SetGlobalVar(4, 4);
                attachee.SetObjectFlag(ObjectFlag.OFF);
                SetGlobalFlag(99, true);
                SetGlobalVar(24, GetGlobalVar(24) + 1);
                if ((!PartyLeader.HasReputation(5)))
                {
                    PartyLeader.AddReputation(5);
                }

                if (((GetGlobalVar(24) >= 3) && (!PartyLeader.HasReputation(6))))
                {
                    PartyLeader.AddReputation(6);
                }
            }
            else if ((GetGlobalVar(4) == 5))
            {
                attachee.ClearObjectFlag(ObjectFlag.OFF);
            }
        }
        else if ((attachee.GetMap() == 5001))
        {
            if ((GetQuestState(9) == QuestState.Accepted))
            {
                if ((!Utilities.is_daytime()))
                {
                    attachee.ClearObjectFlag(ObjectFlag.OFF);
                }
                else
                {
                    attachee.SetObjectFlag(ObjectFlag.OFF);
                }
            }
            else
            {
                attachee.SetObjectFlag(ObjectFlag.OFF);
            }
        }

        return(RunDefault);
    }
예제 #14
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (!PartyLeader.HasReputation(9))
        {
            PartyLeader.AddReputation(9);
        }

        return(RunDefault);
    }
예제 #15
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        SetGlobalVar(23, GetGlobalVar(23) + 1);
        if ((GetGlobalVar(23) >= 2))
        {
            PartyLeader.AddReputation(1);
        }

        return(RunDefault);
    }
예제 #16
0
    public static bool play_dinner(GameObject attachee, GameObject triggerer)
    {
        Sound(4046, 1);
        if ((GetGlobalVar(699) == 3 || GetGlobalVar(699) == 4))
        {
            PartyLeader.AddReputation(57);
        }

        return RunDefault;
    }
예제 #17
0
 public static bool zuggtmoy_end_game_nc(GameObject zuggtmoy, GameObject pc)
 {
     // play slides and don't end game
     Utilities.set_end_slides_nc(zuggtmoy, pc);
     GameSystems.Movies.MovieQueuePlay();
     Utilities.create_item_in_inventory(11074, PartyLeader);
     PartyLeader.AddReputation(91);
     MakeAreaKnown(14);
     FadeAndTeleport(0, 0, 0, 5121, 228, 507);
     return(RunDefault);
 }
예제 #18
0
 public static bool ass_out(GameObject attachee, GameObject triggerer)
 {
     var wilfrick = Utilities.find_npc_near(attachee, 8703);
     AttachParticles("sp-Teleport", attachee);
     AttachParticles("sp-Teleport", wilfrick);
     Sound(4035, 1);
     attachee.SetObjectFlag(ObjectFlag.OFF);
     wilfrick.SetObjectFlag(ObjectFlag.OFF);
     PartyLeader.AddReputation(42);
     resume_fighting(attachee, triggerer);
     return RunDefault;
 }
예제 #19
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        SetQuestState(6, QuestState.Botched);
        SetGlobalFlag(334, true);
        SetGlobalVar(23, GetGlobalVar(23) + 1);
        if ((GetGlobalVar(23) >= 2))
        {
            PartyLeader.AddReputation(1);
        }

        return(RunDefault);
    }
예제 #20
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        SetGlobalVar(695, GetGlobalVar(695) + 1);
        if ((GetGlobalVar(695) == 4))
        {
            SetQuestState(102, QuestState.Completed);
            PartyLeader.AddReputation(59);
            random_fate();
        }

        return(RunDefault);
    }
예제 #21
0
    public static bool repo_man()
    {
        if ((GetGlobalVar(963) == 7))
        {
            SetQuestState(82, QuestState.Botched);
            SetGlobalVar(963, 8);
            SetGlobalFlag(966, false);
            PartyLeader.AddReputation(38);
            PartyLeader.RemoveReputation(37);
        }

        return(RunDefault);
    }
예제 #22
0
    public static void hextor_wins()
    {
        if (((GetGlobalVar(501) == 4 || GetGlobalVar(501) == 5 || GetGlobalVar(501) == 6) && GetQuestState(97) != QuestState.Completed) || (GetGlobalVar(510) == 1))
        {
            // you leave hommlet without killing all the hextorites after invasion has started or you leave Hommlet after turning down Ariakas
            SetQuestState(97, QuestState.Botched);
            PartyLeader.AddReputation(53);
            SetGlobalVar(510, 2);
            SetGlobalFlag(504, true);
        }

        return;
    }
예제 #23
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        if ((!PartyLeader.HasReputation(9)))
        {
            PartyLeader.AddReputation(9);
        }

        return(RunDefault);
    }
예제 #24
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if ((GetQuestState(9) >= QuestState.Accepted))
        {
            SetGlobalVar(4, 1);
        }

        if (!PartyLeader.HasReputation(9))
        {
            PartyLeader.AddReputation(9);
        }

        return(RunDefault);
    }
예제 #25
0
    public static bool increment_rep(GameObject attachee, GameObject triggerer)
    {
        if ((PartyLeader.HasReputation(81)))
        {
            PartyLeader.AddReputation(82);
            PartyLeader.RemoveReputation(81);
        }
        else if ((PartyLeader.HasReputation(82)))
        {
            PartyLeader.AddReputation(83);
            PartyLeader.RemoveReputation(82);
        }
        else if ((PartyLeader.HasReputation(83)))
        {
            PartyLeader.AddReputation(84);
            PartyLeader.RemoveReputation(83);
        }
        else if ((PartyLeader.HasReputation(84)))
        {
            PartyLeader.AddReputation(85);
            PartyLeader.RemoveReputation(84);
        }
        else if ((PartyLeader.HasReputation(85)))
        {
            PartyLeader.AddReputation(86);
            PartyLeader.RemoveReputation(85);
        }
        else if ((PartyLeader.HasReputation(86)))
        {
            PartyLeader.AddReputation(87);
            PartyLeader.RemoveReputation(86);
        }
        else if ((PartyLeader.HasReputation(87)))
        {
            PartyLeader.AddReputation(88);
            PartyLeader.RemoveReputation(87);
        }
        else if ((PartyLeader.HasReputation(88)))
        {
            PartyLeader.AddReputation(89);
            PartyLeader.RemoveReputation(88);
        }
        else
        {
            PartyLeader.AddReputation(81);
        }

        return(RunDefault);
    }
예제 #26
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if ((attachee.GetLeader() != null))
        {
            SetGlobalVar(29, GetGlobalVar(29) + 1);
        }

        SetGlobalFlag(37, true);
        if ((StoryState <= 1))
        {
            StoryState = 2;
        }

        foreach (var pc in GameSystems.Party.PartyMembers)
        {
            if ((pc.HasReputation(18)))
            {
                pc.RemoveReputation(18);
            }
        }

        PartyLeader.AddReputation(15);
        if ((GetGlobalFlag(340)))
        {
            var new_lareth = GameSystems.MapObject.CreateObject(14060, attachee.GetLocation());

            new_lareth.SetObjectFlag(ObjectFlag.DONTDRAW);
            foreach (var obj in ObjList.ListVicinity(new_lareth.GetLocation(), ObjectListFilter.OLC_PC))
            {
                if ((Utilities.is_safe_to_talk(new_lareth, obj)))
                {
                    obj.BeginDialog(new_lareth, 370);
                    return(RunDefault);
                }
            }
        }
        else if ((!GetGlobalFlag(62)))
        {
            foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC))
            {
                if ((Utilities.is_safe_to_talk(attachee, obj)))
                {
                    obj.BeginDialog(attachee, 390);
                }
            }
        }

        return(RunDefault);
    }
예제 #27
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        SetGlobalFlag(974, true);
        if ((GetQuestState(77) == QuestState.Completed && GetGlobalFlag(992) && !GetGlobalFlag(935)))
        {
            PartyLeader.AddReputation(43);
        }

        return(RunDefault);
    }
예제 #28
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        SetGlobalVar(23, GetGlobalVar(23) + 1);
        if ((GetGlobalVar(23) >= 2))
        {
            PartyLeader.AddReputation(92);
        }

        return(RunDefault);
    }
예제 #29
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        SetGlobalFlag(948, true);
        if ((GetGlobalFlag(949) && GetGlobalFlag(950) && GetGlobalFlag(951) && GetGlobalFlag(952) && GetGlobalFlag(953) && GetGlobalFlag(954)))
        {
            PartyLeader.AddReputation(40);
        }

        return(RunDefault);
    }
예제 #30
0
    public override bool OnDying(GameObject attachee, GameObject triggerer)
    {
        if (CombatStandardRoutines.should_modify_CR(attachee))
        {
            CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level());
        }

        foreach (var pc in GameSystems.Party.PartyMembers)
        {
            pc.AddCondition("fallen_paladin");
        }

        if ((attachee.GetMap() == 5093))
        {
            ditch_rings(attachee, triggerer);
            if ((GetGlobalVar(956) == 0))
            {
                SetGlobalVar(957, GetGlobalVar(957) + 1);
            }
        }
        else if ((attachee.GetMap() == 5121 || attachee.GetMap() == 5135 || attachee.GetMap() == 5169 || attachee.GetMap() == 5170 || attachee.GetMap() == 5171 || attachee.GetMap() == 5172))
        {
            SetGlobalVar(334, GetGlobalVar(334) + 1);
            if ((GetGlobalVar(334) >= 2))
            {
                PartyLeader.AddReputation(35);
            }

            if ((GetQuestState(67) == QuestState.Accepted))
            {
                SetGlobalFlag(964, true);
            }

            if ((GetGlobalFlag(942)))
            {
                PartyLeader.AddReputation(35);
            }

            if ((attachee.GetNameId() == 8770))
            {
                StartTimer(86400000, () => new_entry_guard(attachee, triggerer));
            }

            StartTimer(60000, () => go_away(attachee));
        }

        return(RunDefault);
    }