public static void heavily_damage(GameObject npc) { // note: this script kills an NPC // since the san_dying is triggered, it makes the game think you killed him // so to avoid problems, reduce global_vars[23] (which counts the # of Hommeletans killed) beforehand bool flag; if ((GetGlobalVar(23) == 0)) { flag = false; } else { flag = true; SetGlobalVar(23, GetGlobalVar(23) - 1); } npc.Damage(null, DamageType.Poison, Dice.Parse("30d1")); npc.Damage(null, DamageType.Subdual, Dice.Parse("15d1")); if ((!flag && GetGlobalVar(23) > 0)) { SetGlobalVar(23, GetGlobalVar(23) - 1); } if ((GetGlobalVar(23) < 2 && PartyLeader.HasReputation(92))) { foreach (var pc in GameSystems.Party.PartyMembers) { pc.RemoveReputation(92); } } return; }
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; }
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; }
public override bool OnFirstHeartbeat(GameObject attachee, GameObject triggerer) { if ((attachee.GetMap() == 5156 && GetGlobalVar(704) == 3 && Utilities.is_daytime() && GetQuestState(76) != QuestState.Accepted)) { // turns on warehouse Wilfrick escort attachee.ClearObjectFlag(ObjectFlag.OFF); } else if ((attachee.GetMap() == 5093 && GetGlobalVar(960) == 3)) { // turns on Welkwood Thaddeus escort attachee.ClearObjectFlag(ObjectFlag.OFF); } else if ((attachee.GetMap() == 5171 && GetGlobalVar(944) == 4 && GetGlobalFlag(861))) { // turns on Watch Post main floor replacements attachee.ClearObjectFlag(ObjectFlag.OFF); } else if (((PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42)) && (attachee.GetMap() == 5121))) { // turns on Verbobonc Exterior backup patrol attachee.ClearObjectFlag(ObjectFlag.OFF); } else if (((!PartyLeader.HasReputation(35)) && (attachee.GetMap() == 5121))) { // turns off Verbobonc Exterior backup patrol attachee.SetObjectFlag(ObjectFlag.OFF); } return(RunDefault); }
public override bool OnHeartbeat(GameObject attachee, GameObject triggerer) { if (((attachee.GetMap() != 5171) && (PartyLeader.HasReputation(34) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42) || PartyLeader.HasReputation(44) || PartyLeader.HasReputation(45) || PartyLeader.HasReputation(43) || PartyLeader.HasReputation(46) || (GetGlobalVar(993) == 5 && !GetGlobalFlag(870))))) { if (((GetGlobalVar(969) == 0) && (!GetGlobalFlag(955)))) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { attachee.TurnTowards(obj); obj.BeginDialog(attachee, 30); } } } } } else if (((attachee.GetMap() == 5149) && (GetGlobalVar(944) == 1 || GetGlobalVar(944) == 2) && (!GetGlobalFlag(861)))) { attachee.RunOff(); SetGlobalFlag(861, true); } // game.new_sid = 0 return(RunDefault); }
public override bool OnDialog(GameObject attachee, GameObject triggerer) { attachee.TurnTowards(triggerer); if ((attachee.GetLeader() != null)) { triggerer.BeginDialog(attachee, 250); // pishella in party } else if ((attachee.GetMap() == 5014)) { triggerer.BeginDialog(attachee, 330); // WotGS Hommlet under attack } else if ((GetGlobalVar(911) == 32 && attachee.GetMap() != 5016 && attachee.GetMap() != 5019)) { triggerer.BeginDialog(attachee, 350); // have attacked 3 or more farm animals with pishella in party and not in castle main hall or parapet interior } else if ((SelectedPartyLeader.HasReputation(32) || SelectedPartyLeader.HasReputation(30) || SelectedPartyLeader.HasReputation(29))) { attachee.FloatLine(12014, triggerer); // have lawbreaker or convict or banished from hommlet reps } else if ((GetGlobalFlag(694))) { triggerer.BeginDialog(attachee, 400); // declined to share information on who is altering construction orders } else if ((PartyLeader.HasReputation(27))) { triggerer.BeginDialog(attachee, 180); // have rabble-rouser reputation } else { triggerer.BeginDialog(attachee, 1); // none of the above } return(SkipDefault); }
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; }
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; }
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); }
public override bool OnDialog(GameObject attachee, GameObject triggerer) { if ((GetGlobalVar(501) == 4 || GetGlobalVar(501) == 5 || GetGlobalVar(501) == 6)) { attachee.FloatLine(23000, triggerer); } else if ((GetGlobalFlag(835) && !GetGlobalFlag(37) && !GetGlobalFlag(842) && !GetGlobalFlag(839))) { triggerer.BeginDialog(attachee, 300); } else if ((PartyLeader.HasReputation(27))) { triggerer.BeginDialog(attachee, 120); } else if ((attachee.HasMet(triggerer))) { triggerer.BeginDialog(attachee, 130); } else { triggerer.BeginDialog(attachee, 1); } return(SkipDefault); }
public override bool OnDialog(GameObject attachee, GameObject triggerer) { if ((attachee.GetLeader() != null)) { triggerer.BeginDialog(attachee, 210); // rufus in party } else if ((GetGlobalVar(912) == 32 && attachee.GetMap() != 5016 && attachee.GetMap() != 5018)) { triggerer.BeginDialog(attachee, 240); // have attacked 3 or more farm animals with rufus in party and not in castle main hall or upper hall } else if ((GetGlobalFlag(835) && !GetGlobalFlag(37) && GetGlobalFlag(842) && !GetGlobalFlag(839))) { triggerer.BeginDialog(attachee, 320); // handled tower fight diplomatically and lareth is alive and have heard about prisoner lareth and have not liberated lareth } else if ((PartyLeader.HasReputation(27))) { triggerer.BeginDialog(attachee, 11002); // have rabble-rouser reputation - rufus won't talk to you } else { triggerer.BeginDialog(attachee, 1); // none of the above } return(SkipDefault); }
public override bool OnWillKos(GameObject attachee, GameObject triggerer) { if ((!PartyLeader.HasReputation(92))) { return(SkipDefault); } return(RunDefault); }
public override bool OnFirstHeartbeat(GameObject attachee, GameObject triggerer) { if ((GetGlobalVar(949) == 2 || PartyLeader.HasReputation(47))) { attachee.SetObjectFlag(ObjectFlag.OFF); } return(RunDefault); }
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); }
public override bool OnDying(GameObject attachee, GameObject triggerer) { if (!PartyLeader.HasReputation(9)) { PartyLeader.AddReputation(9); } return(RunDefault); }
public override bool OnHeartbeat(GameObject attachee, GameObject triggerer) { if ((GetGlobalFlag(525) && !GetGlobalFlag(526))) { if ((GetGlobalFlag(527))) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { StartTimer(1500, () => wakefield_talk(attachee, triggerer)); SetGlobalFlag(526, true); } } } else { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { StartTimer(1500, () => suspicious_talk(attachee, triggerer)); SetGlobalFlag(526, true); } } } } else if ((GetGlobalVar(501) == 3 && Utilities.find_npc_near(attachee, 14496) != null && !GetGlobalFlag(503))) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { StartTimer(1500, () => talkie_talkie(attachee, triggerer)); SetGlobalFlag(503, true); } } } else if ((!PartyLeader.HasReputation(52) && GetGlobalVar(505) == 2 && attachee.GetLeader() == null)) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { StartTimer(1500, () => bad_news(attachee, triggerer)); SetGlobalVar(505, 3); } } } return(RunDefault); }
public override bool OnFirstHeartbeat(GameObject attachee, GameObject triggerer) { if (((PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42)) && (attachee.GetMap() == 5121))) // turns on Verbobonc Exterior backup patrol { attachee.ClearObjectFlag(ObjectFlag.OFF); } else if (((!PartyLeader.HasReputation(35)) && (attachee.GetMap() == 5121))) // turns off Verbobonc Exterior backup patrol { attachee.SetObjectFlag(ObjectFlag.OFF); } return(RunDefault); }
public override bool OnWillKos(GameObject attachee, GameObject triggerer) { if ((PartyLeader.HasReputation(34)) || (PartyLeader.HasReputation(35))) { return(RunDefault); } else if ((!GetGlobalFlag(992)) || (!GetGlobalFlag(975))) { return(SkipDefault); } return(RunDefault); }
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); }
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); }
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); }
public override bool OnDialog(GameObject attachee, GameObject triggerer) { if (((GetGlobalFlag(202)) && (GetQuestState(42) != QuestState.Completed))) { triggerer.BeginDialog(attachee, 360); } else if ((PartyLeader.HasReputation(23) && GetGlobalFlag(94) && !GetGlobalFlag(851) && attachee.HasMet(triggerer))) { triggerer.BeginDialog(attachee, 400); } else { triggerer.BeginDialog(attachee, 1); } return(SkipDefault); }
public override bool OnDialog(GameObject attachee, GameObject triggerer) { if ((attachee.GetLeader() != null)) { attachee.FloatLine(10000, triggerer); } else if ((PartyLeader.HasReputation(61))) { triggerer.BeginDialog(attachee, 1); } else { triggerer.BeginDialog(attachee, 100); } return(SkipDefault); }
public override bool OnFirstHeartbeat(GameObject attachee, GameObject triggerer) { if ((attachee.GetMap() == 5001) && (GetGlobalVar(4) <= 1)) { if ((GetQuestState(9) == QuestState.Accepted)) { attachee.ClearObjectFlag(ObjectFlag.OFF); } else { attachee.SetObjectFlag(ObjectFlag.OFF); } } else if ((GetGlobalVar(4) == 5)) { attachee.ClearObjectFlag(ObjectFlag.OFF); } else if ((GetGlobalVar(4) == 3)) { SetGlobalVar(4, 4); attachee.SetStandpoint(StandPointType.Night, 230); attachee.SetStandpoint(StandPointType.Day, 230); attachee.SetObjectFlag(ObjectFlag.OFF); SetGlobalFlag(204, 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 ((GetQuestState(9) >= QuestState.Completed)) { attachee.SetObjectFlag(ObjectFlag.OFF); } else { attachee.ClearObjectFlag(ObjectFlag.OFF); } return(RunDefault); }
public override bool OnResurrect(GameObject attachee, GameObject triggerer) { SetGlobalFlag(814, false); if ((PartyLeader.HasReputation(9))) { foreach (var pc in GameSystems.Party.PartyMembers) { if ((!pc.HasReputation(23))) { pc.AddReputation(23); } } PartyLeader.RemoveReputation(9); } return(RunDefault); }
public override bool OnDying(GameObject attachee, GameObject triggerer) { if (CombatStandardRoutines.should_modify_CR(attachee)) { CombatStandardRoutines.modify_CR(attachee, CombatStandardRoutines.get_av_level()); } if ((attachee.GetNameId() == 8893)) { AttachParticles("Orb-Summon-Glabrezu", attachee); SetGlobalFlag(562, true); if ((GetGlobalFlag(560) && GetGlobalFlag(561))) { PartyLeader.AddReputation(62); } if ((!GetGlobalFlag(564))) { PartyLeader.AddReputation(90); } attachee.SetObjectFlag(ObjectFlag.OFF); spawn_phylactery(); } else if ((attachee.GetNameId() == 14949)) { AttachParticles("hit-HOLY-medium", attachee); SetGlobalFlag(564, true); Sound(4184, 1); if ((GetGlobalFlag(562))) { if ((PartyLeader.HasReputation(90))) { PartyLeader.RemoveReputation(90); } } attachee.SetObjectFlag(ObjectFlag.OFF); } return(RunDefault); }
public static void rep_routine(GameObject attachee, GameObject triggerer) { if ((PartyLeader.HasReputation(75))) { PartyLeader.AddReputation(78); PartyLeader.RemoveReputation(75); } else if ((PartyLeader.HasReputation(76))) { PartyLeader.AddReputation(78); PartyLeader.RemoveReputation(76); } else if ((PartyLeader.HasReputation(77))) { PartyLeader.AddReputation(78); PartyLeader.RemoveReputation(77); } return; }
public override bool OnHeartbeat(GameObject attachee, GameObject triggerer) { if (((attachee.GetMap() == 5170 || attachee.GetMap() == 5135) && GetGlobalVar(946) == 1)) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_groovier_to_talk(attachee, obj))) { StartTimer(2000, () => start_talking(attachee, triggerer)); DetachScript(); } } } } else { if ((PartyLeader.HasReputation(34) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42) || PartyLeader.HasReputation(44) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(43) || PartyLeader.HasReputation(46) || (GetGlobalVar(993) == 5 && !GetGlobalFlag(870)))) { if (((GetGlobalVar(969) == 0) && (!GetGlobalFlag(955)))) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { attachee.TurnTowards(obj); obj.BeginDialog(attachee, 230); SetGlobalVar(969, 1); } } } } } } return(RunDefault); }
public override bool OnHeartbeat(GameObject attachee, GameObject triggerer) { // get arrested for various reps if (((attachee.GetMap() != 5156) && (PartyLeader.HasReputation(34) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42) || PartyLeader.HasReputation(44) || PartyLeader.HasReputation(45) || PartyLeader.HasReputation(43) || PartyLeader.HasReputation(46) || (GetGlobalVar(993) == 5 && !GetGlobalFlag(870))))) { if (((GetGlobalVar(969) == 0) && (!GetGlobalFlag(955)))) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { StartTimer(2000, () => get_arrested(attachee, triggerer)); } } } } } // viscount guard talks about arrow to the knee else if ((attachee.GetNameId() == 8800)) { if ((GetGlobalVar(829) == 0)) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_peachy_to_talk(attachee, obj))) { StartTimer(2000, () => talk_arrow_knee(attachee, triggerer)); SetGlobalVar(829, 1); } } } } } return(RunDefault); }
public override bool OnHeartbeat(GameObject attachee, GameObject triggerer) { if ((PartyLeader.HasReputation(34) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(42) || PartyLeader.HasReputation(44) || PartyLeader.HasReputation(35) || PartyLeader.HasReputation(43) || PartyLeader.HasReputation(46) || (GetGlobalVar(993) == 5 && !GetGlobalFlag(870)))) { if (((GetGlobalVar(969) == 0) && (!GetGlobalFlag(955)))) { if ((!GameSystems.Combat.IsCombatActive())) { foreach (var obj in ObjList.ListVicinity(attachee.GetLocation(), ObjectListFilter.OLC_PC)) { if ((is_better_to_talk(attachee, obj))) { attachee.TurnTowards(obj); obj.BeginDialog(attachee, 320); SetGlobalVar(969, 1); } } } } } else if ((!GameSystems.Combat.IsCombatActive())) { if ((GetGlobalVar(914) >= 3)) { if ((attachee != null)) { var leader = attachee.GetLeader(); if ((leader != null)) { leader.RemoveFollower(attachee); attachee.FloatLine(22000, triggerer); } } } } return(RunDefault); }