diff --git a/src/DiIiS-NA/BGS-Server/Battle/BattleClient.cs b/src/DiIiS-NA/BGS-Server/Battle/BattleClient.cs index 08c1c6d..6bcdaca 100644 --- a/src/DiIiS-NA/BGS-Server/Battle/BattleClient.cs +++ b/src/DiIiS-NA/BGS-Server/Battle/BattleClient.cs @@ -43,24 +43,20 @@ namespace DiIiS_NA.LoginServer.Battle private static int REQUEST_SERVICE_ID = 0; private static int RESPONSE_SERVICE_ID = 254; //public object clientLock = new object(); - public readonly object _serviceLock = new object(); - public object messageLock = new object(); + public readonly object _serviceLock = new(); + public object messageLock = new(); private ulong _listenerId; // last targeted rpc object. public bool MOTDSent { get; private set; } private ConcurrentDictionary MappedObjects { get; set; } public bool GuildChannelsRevealed = false; public string GameTeamTag = ""; - - #region Overwatch - public byte[] k0, k1, k2, k3 = new byte[64]; public ulong CID = 0; - #endregion #region current channel - public Dictionary Channels = new Dictionary(); + public Dictionary Channels = new(); - public List ChatChannels = new List(); + public List ChatChannels = new(); public Channel PartyChannel; //Used for all non game related messages public Channel GameChannel; //Used for all game related messages diff --git a/src/DiIiS-NA/D3-GameServer/CommandManager/GameCommands.cs b/src/DiIiS-NA/D3-GameServer/CommandManager/GameCommands.cs index cff844d..cbfb6bb 100644 --- a/src/DiIiS-NA/D3-GameServer/CommandManager/GameCommands.cs +++ b/src/DiIiS-NA/D3-GameServer/CommandManager/GameCommands.cs @@ -1,51 +1,57 @@ -//Blizzless Project 2022 using DiIiS_NA.Core.Helpers.Math; -//Blizzless Project 2022 using DiIiS_NA.Core.MPQ; -//Blizzless Project 2022 using DiIiS_NA.Core.MPQ.FileFormats; using DiIiS_NA.D3_GameServer.Core.Types.SNO; -//Blizzless Project 2022 using DiIiS_NA.GameServer.Core.Types.Math; -//Blizzless Project 2022 using DiIiS_NA.GameServer.Core.Types.SNO; -//Blizzless Project 2022 using DiIiS_NA.GameServer.Core.Types.TagMap; -//Blizzless Project 2022 using DiIiS_NA.GameServer.GSSystem.ActorSystem; -//Blizzless Project 2022 using DiIiS_NA.GameServer.GSSystem.ItemsSystem; -//Blizzless Project 2022 using DiIiS_NA.GameServer.MessageSystem; -//Blizzless Project 2022 using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Effect; -//Blizzless Project 2022 using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Hireling; -//Blizzless Project 2022 using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Inventory; -//Blizzless Project 2022 using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Platinum; -//Blizzless Project 2022 using DiIiS_NA.LoginServer.Battle; -//Blizzless Project 2022 using System; -//Blizzless Project 2022 using System.Collections.Generic; -//Blizzless Project 2022 using System.Linq; -//Blizzless Project 2022 -using System.Text; -//Blizzless Project 2022 -using System.Threading.Tasks; using DiIiS_NA.GameServer.GSSystem.GameSystem; using DiIiS_NA.GameServer.GSSystem.ObjectsSystem; using DiIiS_NA.GameServer.GSSystem.PlayerSystem; using DiIiS_NA.LoginServer.AccountsSystem; -//Blizzless Project 2022 using static DiIiS_NA.Core.MPQ.FileFormats.GameBalance; namespace DiIiS_NA.GameServer.CommandManager { + [CommandGroup("powerful", "Makes your character with absurd amount of damage. Useful for testing.", Account.UserLevels.Tester)] + public class PowerfulCommand : CommandGroup + { + [DefaultCommand] + public string Powerful(string[] @params, BattleClient invokerClient) + { + if (invokerClient?.InGameClient?.Player is not {} player) + return "You must be in game to use this command."; + + if (player.Attributes.FixedMap.Contains(FixedAttribute.Powerful)) + { + player.Attributes.FixedMap.Remove(FixedAttribute.Powerful); + player.Attributes.BroadcastChangedIfRevealed(); + return "You are no longer powerful."; + } + + player.Attributes.FixedMap.Add(FixedAttribute.Powerful, (attributes) => + { + attributes[GameAttribute.Damage_Delta, 0] = float.MaxValue; + attributes[GameAttribute.Damage_Min, 0] = float.MaxValue; + attributes[GameAttribute.Damage_Weapon_Delta, 0] = float.MaxValue; + attributes[GameAttribute.Damage_Weapon_Min, 0] = float.MaxValue; + }); + player.Attributes.BroadcastChangedIfRevealed(); + return "You are now powerful."; + } + } + [CommandGroup("info", "Get current game information.")] public class InfoCommand : CommandGroup { @@ -79,11 +85,11 @@ namespace DiIiS_NA.GameServer.CommandManager foreach (var playerInWorld in world.Players) { info.Add($">>>>> Player[{playerInWorld.Value.PlayerIndex}] <<<<<"); - info.Add($" Id: {playerInWorld.Value.GlobalID}"); - info.Add($" Index: {playerInWorld.Value.PlayerIndex}"); - info.Add($" Name: {playerInWorld.Value.Name}"); - info.Add($" Class: {playerInWorld.Value.Toon.Class.ToString()}"); - info.Add($" Level: {playerInWorld.Value.Toon.Level}"); + info.Add($"Id: {playerInWorld.Value.GlobalID}"); + // info.Add($"Index: {playerInWorld.Value.PlayerIndex}"); + info.Add($"Name: {playerInWorld.Value.Name}"); + info.Add($"Class: {playerInWorld.Value.Toon.Class.ToString()}"); + info.Add($"Level: {playerInWorld.Value.Toon.Level}"); info.Add( $" Health: {playerInWorld.Value.Attributes[GameAttribute.Hitpoints_Cur]} / {playerInWorld.Value.Attributes[GameAttribute.Hitpoints_Max]}"); info.Add($" Damage: {playerInWorld.Value.Attributes[GameAttribute.Damage_Min, 0]}"); @@ -132,7 +138,7 @@ namespace DiIiS_NA.GameServer.CommandManager { if (invokerClient?.InGameClient is null) return "You must execute this command in-game."; - if (invokerClient.InGameClient.Player.World.Game.Difficulty == 1) + if (invokerClient.InGameClient.Player.World.Game.Difficulty == 0) return "Difficulty is already at minimum"; invokerClient.InGameClient.Player.World.Game.LowDifficulty(invokerClient.InGameClient, null); return $"Difficulty decreased - set to {invokerClient.InGameClient.Player.World.Game.Difficulty}"; @@ -739,16 +745,16 @@ namespace DiIiS_NA.GameServer.CommandManager if (@params == null) return - "Change the movement speed. Min 0 (Base), Max 2.\n You can use decimal values like 1,3 for example."; + "Change the movement speed. Min 0 (Base), Max 2.\n You can use decimal values like 1.3 for example."; float speedValue; - const float maxSpeed = 3; // 2; + const float maxSpeed = 2; const float baseSpeed = 0.36f; if (@params.Any()) { if (!float.TryParse(@params[0], out speedValue) || speedValue < 0 || speedValue > maxSpeed) - return ("Invalid speed value. Must be a number between 0 and 3."); + return ("Invalid speed value. Must be a number between 0 and 2."); } else { diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/ObjectsSystem/FixedMap.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/ObjectsSystem/FixedMap.cs index 2021852..9f5724a 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/ObjectsSystem/FixedMap.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/ObjectsSystem/FixedMap.cs @@ -7,7 +7,8 @@ namespace DiIiS_NA.GameServer.GSSystem.ObjectsSystem public enum FixedAttribute { Invulnerable, - Speed + Speed, + Powerful } public class FixedMap diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActI.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActI.cs index f296968..97550ee 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActI.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActI.cs @@ -77,8 +77,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 66, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { var world = Game.GetWorld(WorldSno.trout_town); Game.AddOnLoadWorldAction(WorldSno.trout_town, () => @@ -91,7 +91,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); SetActorOperable(world, ActorSno._trout_newtristram_gate_town, false); ListenConversation(151087, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(66, new QuestStep @@ -99,8 +99,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 42, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { var world = Game.GetWorld(WorldSno.trout_town); script = new SurviveTheWaves(); @@ -111,7 +111,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenKill(ActorSno._zombiecrawler_a, 7, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(42, new QuestStep @@ -119,8 +119,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 75, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go and talk to Leah var world = Game.GetWorld(WorldSno.trout_town); StartConversation(world, 151102); @@ -139,7 +139,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Open(world, ActorSno._trout_newtristram_gate_town); ActiveArrow(world, ActorSno._g_portal_rectangle_orange_icondoor, WorldSno.trout_tristram_inn); ListenConversation(151123, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(75, new QuestStep @@ -147,15 +147,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 46, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //fighting zombies script = new LeahInn(); script.Execute(Game.GetWorld(WorldSno.trout_tristram_inn)); ListenKill(ActorSno._zombieskinny_a_leahinn, 5, new LaunchConversation(151156)); ListenConversation(151156, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(46, new QuestStep @@ -163,8 +163,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 50, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Leah again ListenConversation(151167, new Advance()); Game.AddOnLoadWorldAction(WorldSno.trout_town, () => @@ -172,7 +172,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem if (Game.CurrentQuest == 87700) ActiveArrow(Game.GetWorld(WorldSno.trout_town), ActorSno._captainrumfoord); }); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(50, new QuestStep @@ -180,13 +180,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 60, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go and talk to Rumford - //ListenProximity(3739, new LaunchConversation(198503)); + //ListenProximity(3739, new LaunchConversation(198503)); ListenConversation(198503, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(60, new QuestStep @@ -194,8 +194,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 27, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill wretched mother var world = Game.GetWorld(WorldSno.trout_town); Break(world, ActorSno._trout_wagon_barricade); @@ -210,7 +210,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ActivateQuestMonsters(world, ActorSno._zombiefemale_a_tristramquest_unique); ListenKill(ActorSno._zombiefemale_a_tristramquest_unique, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(27, new QuestStep @@ -218,13 +218,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 55, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //MOAR wretched mothers StartConversation(Game.GetWorld(WorldSno.trout_town), 156223); ListenKill(ActorSno._zombiefemale_unique_wretchedqueen, 1, new Advance()); ListenKillBonus(ActorSno._zombiefemale_a_tristramquest_unique, 3, new SideTarget()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(55, new QuestStep @@ -232,13 +232,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default(), Objective.Default() }, + OnAdvance = () => { //return to New Tristram and talk to Rumford DeactivateQuestMonsters(Game.GetWorld(WorldSno.trout_town), ActorSno._zombiefemale_a_tristramquest_unique); ListenInteract(ActorSno._waypoint_oldtristram, 1, new CompleteObjective(0)); ListenConversation(198521, new Advance()); - }) + } }); Game.QuestManager.Quests[87700].Steps.Add(26, new QuestStep @@ -246,10 +246,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion #region Rescue Cain @@ -260,11 +260,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { StartConversation(Game.GetWorld(WorldSno.trout_town), 198541); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(7, new QuestStep @@ -272,8 +272,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 28, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //use Tristram Portal UnlockTeleport(1); ListenTeleport(101351, new Advance()); @@ -291,7 +291,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); }); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(28, new QuestStep @@ -299,8 +299,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 49, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to gates var world = Game.GetWorld(WorldSno.trout_town); StartConversation(world, 166678); @@ -312,7 +312,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ActiveArrow(world, ActorSno._trout_oldtristram_exit_gate); }); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(49, new QuestStep @@ -320,8 +320,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 39, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Adria house var world = Game.GetWorld(WorldSno.trout_town); if (world.GetActorsBySNO(ActorSno._trout_oldtristram_exit_gate).Where(d => d.Visible).FirstOrDefault() != null) @@ -333,7 +333,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ActiveArrow(world, ActorSno._g_portal_square_blue_cellar, WorldSno.trout_adriascellar); }); ListenProximity(ActorSno._g_portal_square_blue_cellar, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(39, new QuestStep @@ -341,12 +341,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //inspect house ListenProximity(ActorSno._g_portal_square_blue_cellar, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(41, new QuestStep @@ -354,8 +354,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 51, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to cave //DestroyFollower(4580); ListenTeleport(62968, new Advance()); @@ -371,7 +371,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem if (Game.CurrentQuest == 72095) ActiveArrow(world, ActorSno._trout_oldtristram_adriacellar_cauldron); }); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(51, new QuestStep @@ -379,12 +379,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 43, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //inspect cave ListenInteract(ActorSno._trout_oldtristram_adriacellar_cauldron, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(43, new QuestStep @@ -392,8 +392,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 45, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Daltin (156801) ActorSystem.Actor CapitanDaltyn = null; Vector3D[] Zombies = new Vector3D[4]; @@ -418,7 +418,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); ListenKill(ActorSno._unique_captaindaltyn, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(45, new QuestStep @@ -426,8 +426,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 47, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Leah in cave var world = Game.GetWorld(WorldSno.trout_adriascellar); foreach (var host in world.GetActorsBySNO(ActorSno._leah)) @@ -443,7 +443,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } DestroyFollower(ActorSno._leah); ListenConversation(198588, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(47, new QuestStep @@ -451,8 +451,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 23, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to church var world = Game.GetWorld(WorldSno.trout_town); ListenProximity(ActorSno._trdun_cath_cathedraldoorexterior, new Advance()); @@ -464,7 +464,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem if (cart != null) cart.Hidden = true; //this.Game.GetWorld(71150).GetActorBySNO(196224, true).Hidden = true; - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(23, new QuestStep @@ -472,11 +472,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to 1st floor of church ListenTeleport(19780, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(11, new QuestStep @@ -484,11 +484,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 15, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Cain in 1st floor ListenTeleport(60714, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(15, new QuestStep @@ -496,16 +496,16 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill skeletons //115403 elite - //this.Game.GetWorld(60713).SpawnMonster(115403, new Vector3D{X = 99.131f, Y = 211.501f, Z = 0.1f}); + //this.Game.GetWorld(60713).SpawnMonster(115403, new Vector3D{X = 99.131f, Y = 211.501f, Z = 0.1f}); Game.AddOnLoadWorldAction(WorldSno.trdun_cain_intro, () => { SetActorOperable(Game.GetWorld(WorldSno.trdun_cain_intro), ActorSno._trdun_skeletonking_intro_sealed_door, false); }); ListenKill(ActorSno._skeleton_a_cain_unique, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(17, new QuestStep @@ -513,13 +513,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Cain - //this.Game.GetWorld(60713).GetActorBySNO(5723, true).Hidden = true; + //this.Game.GetWorld(60713).GetActorBySNO(5723, true).Hidden = true; SetActorOperable(Game.GetWorld(WorldSno.trout_town), ActorSno._trout_newtristram_gate_town_nw, false); ListenConversation(17667, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(19, new QuestStep @@ -527,22 +527,23 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 32, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go with Cain Game.CurrentEncounter.activated = false; StartConversation(Game.GetWorld(WorldSno.trdun_cain_intro), 72496); ListenTeleport(19938, new Advance()); - }) + } }); + // TODO: this quest seems to be broken. Leah is not spawned in tristram. Game.QuestManager.Quests[72095].Steps.Add(32, new QuestStep { Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Leah in New Tristram var tristramWorld = Game.GetWorld(WorldSno.trout_town); Game.AddOnLoadWorldAction(WorldSno.trdun_cain_intro, () => @@ -554,18 +555,20 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem StartConversation(tristramWorld, 72498); }); //StartConversation(this.Game.GetWorld(71150), 72496); - var CheckLeah = tristramWorld.GetActorBySNO(ActorSno._leah, true); - if (CheckLeah == null) + // we check if Leah is spawned in New Tristram + + var leah = tristramWorld.GetActorBySNO(ActorSno._leah, true); + if (leah == null) { - var Leah = tristramWorld.GetActorBySNO(ActorSno._leah, false); - if (Leah != null) + leah = tristramWorld.GetActorBySNO(ActorSno._leah, false); + if (leah != null) { - Leah.Hidden = false; - Leah.SetVisible(true); + leah.Hidden = false; + leah.SetVisible(true); } } ListenConversation(198617, new Advance()); - }) + } }); Game.QuestManager.Quests[72095].Steps.Add(21, new QuestStep @@ -573,13 +576,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - //this.Game.GetWorld(71150).GetActorBySNO(196224).Destroy(); + //this.Game.GetWorld(71150).GetActorBySNO(196224).Destroy(); UnlockTeleport(2); PlayCutscene(1); - }) + } }); #endregion #region Shattered Crown @@ -590,8 +593,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { Game.AddOnLoadWorldAction(WorldSno.trout_town, () => { @@ -611,7 +614,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); //ListenConversation(198691, new Advance()); - }) + } }); //Указать цель Game.QuestManager.Quests[72221].Steps.Add(41, new QuestStep @@ -619,8 +622,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 43, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Hedric var world = Game.GetWorld(WorldSno.trout_town); ActiveArrow(world, ActorSno._pt_blacksmith_nonvendor); @@ -631,7 +634,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenConversation(198292, new Advance()); - }) + } }); //Поговорить с Хэдриком Game.QuestManager.Quests[72221].Steps.Add(43, new QuestStep @@ -639,8 +642,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 51, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to cellar and kill zombies var tristramWorld = Game.GetWorld(WorldSno.trout_town); DisableArrow(tristramWorld, tristramWorld.GetActorBySNO(ActorSno._pt_blacksmith_nonvendor)); @@ -672,7 +675,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenInteract(ActorSno._trdun_blacksmith_cellardoor_breakable, 1, new CellarZombies()); // Октрыть дверь ListenConversation(131339, new LaunchConversation(131774)); ListenKill(ActorSno._zombieskinny_a_leahinn, 14, new Advance()); // Убить всех - }) + } }); //Событие в подвале Game.QuestManager.Quests[72221].Steps.Add(51, new QuestStep @@ -680,14 +683,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 45, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Mira Imon ListenProximity(ActorSno._blacksmithwife, new LaunchConversation(131345)); ListenConversation(131345, new LaunchConversation(193264)); ListenConversation(193264, new SpawnMiraImon()); ListenKill(ActorSno._zombiefemale_a_blacksmitha, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(45, new QuestStep @@ -695,8 +698,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 35, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk to Hedric var world = Game.GetWorld(WorldSno.trout_oldtristram_cellar_f); var Hedric = world.GetActorBySNO(ActorSno._pt_blacksmith_nonvendor, true); @@ -710,7 +713,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem world.GetActorBySNO(ActorSno._pt_blacksmith_nonvendor).SetVisible(true); foreach (var plr in world.Players.Values) world.GetActorBySNO(ActorSno._pt_blacksmith_nonvendor).Reveal(plr); ListenConversation(198312, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(35, new QuestStep @@ -718,8 +721,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 25, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //open north gates ListenInteract(ActorSno._trout_newtristram_gate_town_nw, 1, new Advance()); if (!Game.Empty) @@ -734,7 +737,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } } SetActorOperable(Game.GetWorld(WorldSno.trout_town), ActorSno._trout_newtristram_gate_town_nw, true); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(25, new QuestStep @@ -742,11 +745,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 37, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to graveyard ListenProximity(ActorSno._cemetary_gate_trout_wilderness_no_lock, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(37, new QuestStep @@ -754,8 +757,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 59, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find crown holder var world = Game.GetWorld(WorldSno.trout_town); script = new CryptPortals(); @@ -765,7 +768,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Open(world, ActorSno._cemetary_gate_trout_wilderness_no_lock); ListenInteract(ActorSno._a1dun_crypts_leoric_crown_holder, 1, new Advance()); //199642 - holder - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(59, new QuestStep @@ -773,8 +776,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 61, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Imon advisor if (!Game.Players.IsEmpty) UnlockTeleport(6); Game.AddOnLoadWorldAction(WorldSno.trdun_crypt_skeletonkingcrown_02, () => @@ -783,7 +786,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem world.SpawnMonster(ActorSno._ghost_a_unique_chancellor, world.GetActorBySNO(ActorSno._ghost_a_unique_chancellor_spawner).Position);// or 156381 }); ListenKill(ActorSno._ghost_a_unique_chancellor, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(61, new QuestStep @@ -791,11 +794,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 54, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //get Leoric crown ListenInteract(ActorSno._a1dun_crypts_leoric_crown_holder_crowntreasureclass, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(54, new QuestStep @@ -803,11 +806,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Tristram (by town portal) and talk to Hedric ListenConversation(196041, new Advance()); - }) + } }); Game.QuestManager.Quests[72221].Steps.Add(17, new QuestStep @@ -815,10 +818,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion #region Reign of Black King @@ -829,11 +832,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 30, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { StartConversation(Game.GetWorld(WorldSno.trout_town), 80681); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(30, new QuestStep @@ -841,11 +844,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 28, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to cathedral garden ListenTeleport(19938, new BackToCath()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(28, new QuestStep @@ -853,15 +856,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //enter Hall of Leoric Game.AddOnLoadWorldAction(WorldSno.trdun_cain_intro, () => { SetActorOperable(Game.GetWorld(WorldSno.trdun_cain_intro), ActorSno._trdun_skeletonking_intro_sealed_door, true); }); ListenTeleport(60714, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(3, new QuestStep @@ -869,11 +872,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to 2nd level of Cath ListenTeleport(19783, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(6, new QuestStep @@ -881,11 +884,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 37, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //we need to go deeper (to 3rd level of Cath) ListenTeleport(87907, new Advance()); - }) + } }); @@ -894,8 +897,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 40, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //help Cormac(kill cultists) var Kormak_Imprisoned = Game.GetWorld(WorldSno.a1trdun_level05_templar).GetActorBySNO(ActorSno._templarnpc_imprisoned); foreach (var act in Kormak_Imprisoned.GetActorsInRange(80)) @@ -923,7 +926,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem if (Game.Players.IsEmpty) UnlockTeleport(3); //if (this.Game.Players.Count > 0) this.Game.GetWorld(105406).GetActorBySNO(104813, true).Hidden = true; ListenKill(ActorSno._triunecultist_a_templar, 7, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(40, new QuestStep @@ -931,8 +934,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 42, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Kormac's stuff 178657 Game.AddOnLoadWorldAction(WorldSno.a1trdun_level05_templar, () => { @@ -948,7 +951,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); ListenInteract(ActorSno._templarintro_stash, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(42, new QuestStep @@ -956,8 +959,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 56, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find and kill Jondar Game.AddOnLoadWorldAction(WorldSno.a1trdun_level05_templar, () => { @@ -975,7 +978,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); ListenKill(ActorSno._adventurer_d_templarintrounique, 1, new LaunchConversation(104676)); ListenConversation(104676, new JondarDeath()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(56, new QuestStep @@ -983,8 +986,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 44, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //join templar(wtf?) var world = Game.GetWorld(WorldSno.a1trdun_level05_templar); Game.AddOnLoadWorldAction(WorldSno.a1trdun_level05_templar, () => @@ -1018,7 +1021,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } } - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(44, new QuestStep @@ -1026,8 +1029,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 66, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //enter king's crypt Game.AddOnLoadWorldAction(WorldSno.a1trdun_level05_templar, () => { @@ -1037,7 +1040,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); ListenTeleport(19787, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(66, new QuestStep @@ -1045,11 +1048,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Leoric's crypt ListenProximity(ActorSno._trdun_skeletonking_sealed_door, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(16, new QuestStep @@ -1057,8 +1060,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 58, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //enter crypt Game.AddOnLoadWorldAction(WorldSno.a1trdun_king_level08, () => { @@ -1067,7 +1070,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem UnlockTeleport(4); ListenTeleport(19789, new Advance()); //if (!this.Game.Empty) this.Game.GetWorld(73261).GetActorBySNO(461, true).Hidden = true; - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(58, new QuestStep @@ -1075,8 +1078,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill skeletons Game.AddOnLoadWorldAction(WorldSno.a1trdun_king_level08, () => { @@ -1086,7 +1089,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); ListenKill(ActorSno._skeletonking_shield_skeleton, 4, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(19, new QuestStep @@ -1094,8 +1097,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //take crown on Leoric's head Game.AddOnLoadWorldAction(WorldSno.a1trdun_king_level08, () => { @@ -1103,7 +1106,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); //Open(this.Game.GetWorld(73261), 172645); ListenInteract(ActorSno._skeletonkinggizmo, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(21, new QuestStep @@ -1111,11 +1114,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 48, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Leoric ListenKill(ActorSno._skeletonking, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(48, new QuestStep @@ -1123,8 +1126,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 50, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to fallen star room Game.CurrentEncounter.activated = false; ListenTeleport(117411, new Advance()); @@ -1132,7 +1135,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem { Open(Game.GetWorld(WorldSno.a1trdun_king_level08), ActorSno._trdun_crypt_skeleton_king_throne_parts); }); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(50, new QuestStep @@ -1140,13 +1143,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 52, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Tyrael convList 117403 qr 176870 ListenInteract(ActorSno._stranger_crater, 1, new LaunchConversation(181910)); //cork ListenConversation(181910, new LaunchConversation(181912)); ListenConversation(181912, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(52, new QuestStep @@ -1154,11 +1157,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 54, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //return to New Tristram ListenTeleport(19947, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(54, new QuestStep @@ -1166,12 +1169,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 24, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Cain UnlockTeleport(5); ListenConversation(117371, new Advance()); - }) + } }); Game.QuestManager.Quests[72061].Steps.Add(24, new QuestStep @@ -1179,11 +1182,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete PlayCutscene(2); - }) + } }); #endregion #region Tyrael Sword @@ -1194,13 +1197,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { var world = Game.GetWorld(WorldSno.trout_town); StartConversation(world, 198706); world.GetActorBySNO(ActorSno._cemetary_gate_trout_wilderness_static).Hidden = true; - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(1, new QuestStep @@ -1208,8 +1211,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Wild Fields var world = Game.GetWorld(WorldSno.trout_town); ListenTeleport(19952, new Advance()); @@ -1223,7 +1226,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem CollFlags = 0 }, Gate); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(10, new QuestStep @@ -1231,11 +1234,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Hazra cave ListenTeleport(119893, new Advance()); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(3, new QuestStep @@ -1243,8 +1246,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find piece of sword Game.AddOnLoadWorldAction(WorldSno.fields_cave_swordofjustice_level01, () => { @@ -1255,7 +1258,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); //if (!this.Game.Empty) StartConversation(this.Game.GetWorld(119888), 130225); ListenProximity(ActorSno._triunecultist_e, new Advance()); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(18, new QuestStep @@ -1263,15 +1266,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill cultists UnlockTeleport(7); ListenKill(ActorSno._triunecultist_e, 6, new LaunchConversation(131144)); ListenConversation(131144, new LaunchConversation(194412)); ListenConversation(194412, new LaunchConversation(141778)); ListenConversation(141778, new Advance()); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(13, new QuestStep @@ -1279,11 +1282,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 5, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //get piece of sword ListenInteract(ActorSno._trdun_cave_swordofjustice_blade, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(5, new QuestStep @@ -1291,11 +1294,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //take piece to Cain ListenConversation(118037, new Advance()); - }) + } }); Game.QuestManager.Quests[117779].Steps.Add(7, new QuestStep @@ -1303,11 +1306,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete StartConversation(Game.GetWorld(WorldSno.trout_town), 198713); - }) + } }); #endregion #region Broken Blade @@ -1318,15 +1321,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 86, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { var world = Game.GetWorld(WorldSno.trout_town); var leah = world.GetActorBySNO(ActorSno._leah, true); LeahTempId = leah.GlobalID; leah.Hidden = true; StartConversation(world, 198713); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(86, new QuestStep @@ -1334,13 +1337,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 88, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Sunken Temple AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); ListenProximity(ActorSno._scoundrelnpc, new LaunchConversation(111893)); ListenConversation(111893, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(88, new QuestStep @@ -1348,8 +1351,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 90, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //follow Scoundrel NPC var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1358,7 +1361,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem //Open(this.Game.GetWorld(71150), 170913); StartConversation(world, 167656); ListenConversation(167656, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(90, new QuestStep @@ -1366,8 +1369,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 92, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with bandits var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1375,7 +1378,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem try { (world.FindAt(ActorSno._trout_tristramfield_field_gate, new Vector3D { X = 1523.13f, Y = 857.71f, Z = 39.26f }, 5.0f) as Door).Open(); } catch { } StartConversation(world, 167677); ListenConversation(167677, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(92, new QuestStep @@ -1383,15 +1386,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 94, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill the bandits var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); AddFollower(world, ActorSno._leah); world.SpawnMonster(ActorSno._graverobber_c_nigel, new Vector3D { X = 1471.473f, Y = 747.4875f, Z = 40.1f }); ListenKill(ActorSno._graverobber_c_nigel, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(94, new QuestStep @@ -1399,14 +1402,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 112, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Scoundrel DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); ListenProximity(ActorSno._scoundrelnpc, new LaunchConversation(111899)); ListenConversation(111899, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(112, new QuestStep @@ -1414,8 +1417,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //lead Scoundrel to waypoint var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1438,7 +1441,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem else plr.InGameClient.SendMessage(new HirelingSwapMessage() { NewClass = 2 }); //Возможность призвать } - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(8, new QuestStep @@ -1446,8 +1449,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Sunken Temple var world = Game.GetWorld(WorldSno.trout_town); StartConversation(world, 223934); @@ -1455,7 +1458,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem AddFollower(world, ActorSno._leah); DestroyFollower(ActorSno._scoundrelnpc); ListenProximity(ActorSno._ghostknight1_festering, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(26, new QuestStep @@ -1463,14 +1466,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 28, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Alaric DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); UnlockTeleport(8); ListenConversation(81576, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(28, new QuestStep @@ -1478,15 +1481,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Rotten forest var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); AddFollower(world, ActorSno._leah); Open(world, ActorSno._a1dun_caves_neph_waterbridge_a); //bridge ListenProximity(ActorSno._a1dun_caves_neph_waterbridge_a, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(12, new QuestStep @@ -1494,14 +1497,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default(), Objective.Default() }, + OnAdvance = () => { //find 2 Orbs DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); ListenInteract(ActorSno._a1dun_caves_nephalem_altar_a_chest_03, 1, new CompleteObjective(0)); ListenInteract(ActorSno._a1dun_caves_nephalem_altar_a_chest_03_b, 1, new CompleteObjective(1)); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(14, new QuestStep @@ -1510,7 +1513,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Saveable = true, NextStep = 30, Objectives = new List { new Objective { Limit = 2, Counter = 0 } }, - OnAdvance = new Action(() => + OnAdvance = () => { //use 2 stones var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1520,7 +1523,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem SetActorOperable(world, ActorSno._keybox_trout_tristramfield, true); ListenInteract(ActorSno._keybox_trout_tristramfield_02, 1, new CompleteObjective(0)); ListenInteract(ActorSno._keybox_trout_tristramfield, 1, new CompleteObjective(0)); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(30, new QuestStep @@ -1528,8 +1531,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 38, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //enter the temple var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1537,7 +1540,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Open(world, ActorSno._a1dun_caves_neph_waterbridge_a_short); //bridge Open(world, ActorSno._trout_nephalem_door_head_a); ListenTeleport(60398, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(38, new QuestStep @@ -1545,8 +1548,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 69, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //explore the temple DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); @@ -1556,7 +1559,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenKill(ActorSno._skeleton_b, 14, new LaunchConversation(108256)); ListenConversation(108256, new DrownedTemple2());//new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(69, new QuestStep @@ -1564,8 +1567,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 99, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill prophet Ezek and skeletons DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); @@ -1575,7 +1578,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem world.SpawnMonster(ActorSno._nephalem_ghost_a_drownedtemple_martyr_skeleton, new Vector3D(292f, 275f, -76f)); ListenKill(ActorSno._nephalem_ghost_a_drownedtemple_martyr_skeleton, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(99, new QuestStep @@ -1583,14 +1586,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 103, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Alaric in temple DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); StartConversation(Game.GetWorld(WorldSno.trdun_cave_nephalem_03), 133372); ListenConversation(133372, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(103, new QuestStep @@ -1598,8 +1601,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 71, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //defend the sword piece DestroyFollower(ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.trout_town), ActorSno._leah); @@ -1613,7 +1616,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); ListenProximity(ActorSno._trdun_cave_swordofjustice_shard, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(71, new QuestStep @@ -1621,8 +1624,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 56, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //use the piece of sword var world = Game.GetWorld(WorldSno.trout_town); DestroyFollower(ActorSno._leah); @@ -1631,7 +1634,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenConversation(198925, new LaunchConversation(133487)); ListenConversation(133487, new Advance()); world.GetActorByGlobalId(LeahTempId).Hidden = false; - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(56, new QuestStep @@ -1639,8 +1642,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //return to Tristram Game.AddOnLoadWorldAction(WorldSno.trdun_cave_nephalem_03, () => { @@ -1651,7 +1654,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); DestroyFollower(ActorSno._leah); ListenProximity(ActorSno._cain, new Advance()); - }) + } }); Game.QuestManager.Quests[72738].Steps.Add(21, new QuestStep @@ -1659,10 +1662,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion #region Doom of Vortham @@ -1673,11 +1676,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { StartConversation(Game.GetWorld(WorldSno.trout_town), 120357); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(34, new QuestStep @@ -1685,11 +1688,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 20, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with parom man ListenConversation(72817, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(20, new QuestStep @@ -1697,15 +1700,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 59, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Vortem square var AttackedTown = Game.GetWorld(WorldSno.trout_townattack); var Maghda = AttackedTown.GetActorBySNO(ActorSno._maghda_a_tempprojection); AttackedTown.Leave(Maghda); ListenProximity(ActorSno._townattack_cultist, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(59, new QuestStep @@ -1713,8 +1716,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill all cultists int Count = 0; foreach (var cultist in Game.GetWorld(WorldSno.trout_townattack).GetActorsBySNO(ActorSno._townattackcultistmelee)) @@ -1729,7 +1732,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem ListenConversation(194933, new LaunchConversation(194942)); ListenConversation(194942, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(11, new QuestStep @@ -1737,8 +1740,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { Game.AddOnLoadWorldAction(WorldSno.trout_townattack, () => { @@ -1748,7 +1751,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } ListenKill(ActorSno._townattack_summoner_unique, 1, new Advance()); }); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(16, new QuestStep @@ -1756,8 +1759,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 63, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill 3 berserkers Game.AddOnLoadWorldAction(WorldSno.trout_townattack, () => { @@ -1770,7 +1773,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem } }); ListenKill(ActorSno._townattack_berserker, 3, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(63, new QuestStep @@ -1778,18 +1781,18 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 65, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with priest Game.AddOnLoadWorldAction(WorldSno.trout_townattack, () => { if (Game.CurrentQuest == 73236 && Game.CurrentStep == 63) { - StartConversation(Game.GetWorld(WorldSno.trout_townattack), 120372); + StartConversation(Game.GetWorld(WorldSno.trout_townattack), 120372); } }); ListenConversation(120372, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(65, new QuestStep @@ -1797,15 +1800,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 67, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to church cellar - //this.Game.AddOnLoadAction(72882, () => - //{ - //this.Game.GetWorld(72882).GetActorBySNO(91162).Destroy(); - //}); + //this.Game.AddOnLoadAction(72882, () => + //{ + //this.Game.GetWorld(72882).GetActorBySNO(91162).Destroy(); + //}); ListenTeleport(119870, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(67, new QuestStep @@ -1813,13 +1816,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 69, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find piece of sword ListenInteract(ActorSno._trout_townattack_cellar_altar, 1, new LaunchConversation(165080)); ListenConversation(165080, new LaunchConversation(165101)); ListenConversation(165101, new Advance()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(69, new QuestStep @@ -1827,8 +1830,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 9, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Cain's house if (!Game.Empty) StartConversation(Game.GetWorld(WorldSno.fields_cave_swordofjustice_level01), 130225); @@ -1849,7 +1852,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem //ListenConversation(143386, new LaunchConversation(120382)); //ListenConversation(120382, new LaunchConversation(121703)); ListenConversation(121703, new EndSceneinHome()); - }) + } }); Game.QuestManager.Quests[73236].Steps.Add(9, new QuestStep @@ -1857,11 +1860,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { UnlockTeleport(10); - }) + } }); #endregion #region To the Black Cult @@ -1872,10 +1875,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(1, new QuestStep @@ -1883,8 +1886,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { Game.AddOnLoadWorldAction(WorldSno.trout_townattack_chapelcellar_a, () => { @@ -1906,7 +1909,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem (LeahAfterEvent as ActorSystem.InteractiveNPC).Attributes.BroadcastChangedIfRevealed(); ListenConversation(93337, new Advance()); Game.CurrentEncounter.activated = false; - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(8, new QuestStep @@ -1914,14 +1917,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Aranea Cave var LeahAfterEvent = Game.GetWorld(WorldSno.trout_town).GetActorBySNO(ActorSno._leah_afterevent31_exit); (LeahAfterEvent as ActorSystem.InteractiveNPC).Attributes[GameAttribute.Conversation_Icon, 0] = 1; (LeahAfterEvent as ActorSystem.InteractiveNPC).Attributes.BroadcastChangedIfRevealed(); ListenTeleport(78572, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(17, new QuestStep @@ -1929,13 +1932,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 31, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Aranea Queen lair Game.GetWorld(WorldSno.trout_town).GetActorBySNO(ActorSno._leah_afterevent31_exit, true).Hidden = true; //this.Game.GetWorld(71150).GetActorBySNO(138271,true).SetVisible(false); ListenTeleport(62726, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(31, new QuestStep @@ -1943,14 +1946,14 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with woman in web var world = Game.GetWorld(WorldSno.a1dun_spidercave_02); SetActorOperable(world, ActorSno._a2dun_spider_venom_pool, false); SetActorOperable(world, ActorSno._a2dun_spider_queen_web_door, false); ListenProximity(ActorSno._a2dun_spider_queen_web_door, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(19, new QuestStep @@ -1958,12 +1961,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Aranea Queen Game.GetWorld(WorldSno.a1dun_spidercave_02).SpawnMonster(ActorSno._spiderqueen, new Vector3D { X = 149.439f, Y = 121.452f, Z = 13.794f }); ListenKill(ActorSno._spiderqueen, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(21, new QuestStep @@ -1971,12 +1974,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 23, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //grab Aranea acid SetActorOperable(Game.GetWorld(WorldSno.a1dun_spidercave_02), ActorSno._a2dun_spider_venom_pool, true); ListenInteract(ActorSno._a2dun_spider_venom_pool, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(23, new QuestStep @@ -1984,12 +1987,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //use acid on Karina SetActorOperable(Game.GetWorld(WorldSno.a1dun_spidercave_02), ActorSno._a2dun_spider_queen_web_door, true); ListenInteract(ActorSno._a2dun_spider_queen_web_door, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(26, new QuestStep @@ -1997,11 +2000,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 47, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Southern Highlands ListenTeleport(93632, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(47, new QuestStep @@ -2009,13 +2012,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Karina SetActorOperable(Game.GetWorld(WorldSno.trout_town), ActorSno._trout_highlands_goatmen_chokepoint_gate, false); ListenProximity(ActorSno._mystic_b, new LaunchConversation(191511)); //cork ListenConversation(191511, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(29, new QuestStep @@ -2023,12 +2026,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 36, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Hazra staff ListenInteract(ActorSno._trout_highlands_mystic_wagon, 1, new Advance()); if (Game.Empty) UnlockTeleport(11); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(36, new QuestStep @@ -2036,13 +2039,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Hazra wall SetActorOperable(Game.GetWorld(WorldSno.trout_town), ActorSno._trout_highlands_goatmen_chokepoint_gate, true); UnlockTeleport(11); ListenInteract(ActorSno._trout_highlands_goatmen_chokepoint_gate, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(10, new QuestStep @@ -2050,11 +2053,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 51, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to the Leoric's Manor ListenInteract(ActorSno._trout_highlands_manor_front_gate, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(51, new QuestStep @@ -2062,11 +2065,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //enter the Leoric's Manor ListenTeleport(100854, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(34, new QuestStep @@ -2074,12 +2077,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 43, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //explore the Leoric's Manor UnlockTeleport(12); ListenInteract(ActorSno._a1dun_leor_manor_deathofcain_door, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(43, new QuestStep @@ -2087,8 +2090,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill cultists if (!Game.Empty) StartConversation(Game.GetWorld(WorldSno.a1dun_leor_manor), 134968); ListenConversation(134968, new LaunchConversation(134565)); @@ -2097,7 +2100,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem leah.Hidden = false; leah.SetVisible(true); ListenKill(ActorSno._triunecultist_a, 7, new Advance()); - }) + } }); Game.QuestManager.Quests[72546].Steps.Add(16, new QuestStep @@ -2105,10 +2108,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion #region Captived Angel @@ -2119,10 +2122,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(1, new QuestStep @@ -2130,12 +2133,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to 1st level of Torture Rooms UnlockTeleport(13); ListenTeleport(19774, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(21, new QuestStep @@ -2143,11 +2146,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 65, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to 2nd level of Torture Rooms ListenTeleport(19775, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(65, new QuestStep @@ -2155,12 +2158,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Highlands Bridge if (Game.Empty) UnlockTeleport(14); ListenTeleport(87832, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(2, new QuestStep @@ -2168,12 +2171,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //go to Leoric's Jail UnlockTeleport(14); ListenTeleport(94672, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(34, new QuestStep @@ -2181,15 +2184,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Asilla Queen (npc 103381) Game.AddOnLoadWorldAction(WorldSno.trdun_jail_level01, () => { SetActorOperable(Game.GetWorld(WorldSno.trdun_jail_level01), ActorSno._a1dun_leor_jail_door_a, false); }); ListenConversation(103388, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(17, new QuestStep @@ -2197,19 +2200,19 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //free 6 souls - //spawn souls on 104104, 104106, 104108 + //spawn souls on 104104, 104106, 104108 Game.AddOnLoadWorldAction(WorldSno.trdun_jail_level01, () => { var world = Game.GetWorld(WorldSno.trdun_jail_level01); SetActorOperable(world, ActorSno._a1dun_leor_jail_door_a, true); script = new SpawnSouls(); script.Execute(world); - }); + }); ListenInteract(ActorSno._ghost_jail_prisoner, 6, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(19, new QuestStep @@ -2217,15 +2220,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 36, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Overseer Game.AddOnLoadWorldAction(WorldSno.trdun_jail_level01, () => { Game.GetWorld(WorldSno.trdun_jail_level01).SpawnMonster(ActorSno._gravedigger_warden, new Vector3D { X = 360.236f, Y = 840.47f, Z = 0.1f }); }); ListenKill(ActorSno._gravedigger_warden, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(36, new QuestStep @@ -2233,8 +2236,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Butcher's Room if (Game.Empty) UnlockTeleport(15); Game.AddOnLoadWorldAction(WorldSno.trdun_jail_level01, () => @@ -2242,7 +2245,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Open(Game.GetWorld(WorldSno.trdun_jail_level01), ActorSno._a1dun_leor_jail_door_a_exit); }); ListenTeleport(90881, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(7, new QuestStep @@ -2250,8 +2253,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill Butcher Game.AddOnLoadWorldAction(WorldSno.trdun_butcherslair_02, () => { @@ -2263,7 +2266,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem }); UnlockTeleport(15); ListenKill(ActorSno._butcher, 1, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(41, new QuestStep @@ -2271,8 +2274,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 39, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //find Tyrael Game.CurrentEncounter.activated = false; Game.AddOnLoadWorldAction(WorldSno.trdun_butcherslair_02, () => @@ -2280,7 +2283,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem SetActorOperable(Game.GetWorld(WorldSno.trdun_butcherslair_02), ActorSno._a1dun_leor_gate_a, true); }); ListenTeleport(148551, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(39, new QuestStep @@ -2288,11 +2291,11 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //kill cultists ListenKill(ActorSno._triunevessel_event31, 6, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(11, new QuestStep @@ -2300,12 +2303,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Tyrael (npc 183117) ListenProximity(ActorSno._stranger_ritual, new LaunchConversation(120220)); //cork ListenConversation(120220, new Advance()); - }) + } }); Game.QuestManager.Quests[72801].Steps.Add(13, new QuestStep @@ -2313,10 +2316,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion #region Return to New Tristram @@ -2327,10 +2330,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { - }) + } }); Game.QuestManager.Quests[136656].Steps.Add(1, new QuestStep @@ -2338,13 +2341,13 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with Tyrael ListenProximity(ActorSno._tyrael, new LaunchConversation(72897)); //cork ListenConversation(72897, new Advance()); - }) + } }); Game.QuestManager.Quests[136656].Steps.Add(8, new QuestStep @@ -2352,12 +2355,12 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //talk with caravan leader ListenConversation(177564, new ChangeAct(100)); - }) + } }); Game.QuestManager.Quests[136656].Steps.Add(4, new QuestStep @@ -2365,10 +2368,10 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, - OnAdvance = new Action(() => + Objectives = new List { Objective.Default() }, + OnAdvance = () => { //complete - }) + } }); #endregion } diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActII.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActII.cs index 19c3d9d..d081e4b 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActII.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActII.cs @@ -62,7 +62,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 82, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { var world = Game.GetWorld(WorldSno.caout_town); //ListenProximity(151989, new Advance()); @@ -85,7 +85,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 85, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Caldeum ListenTeleport(55313, new Advance()); }) @@ -96,7 +96,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 50, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Asheera (201085) var world = Game.GetWorld(WorldSno.caout_town); world.GetActorBySNO(ActorSno._a2duncald_deco_sewer_lid).SetUsable(false); @@ -112,7 +112,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 61, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go through canyon try { @@ -130,7 +130,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 52, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill cultists var world = Game.GetWorld(WorldSno.caout_town); AddFollower(world, ActorSno._enchantressnpc); @@ -147,7 +147,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 102, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with enchantress DestroyFollower(ActorSno._enchantressnpc); //ListenProximity(85843, new LaunchConversation(85832)); @@ -163,7 +163,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 106, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Lakuni's var world = Game.GetWorld(WorldSno.caout_town); world.GetActorBySNO(ActorSno._enchantressnpc).Hidden = true; @@ -178,7 +178,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 91, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Steel Wolf's leader var world = Game.GetWorld(WorldSno.caout_town); DestroyFollower(ActorSno._enchantressnpc); @@ -196,7 +196,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 58, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //break rituals (2 counters) var world = Game.GetWorld(WorldSno.caout_town); DestroyFollower(ActorSno._enchantressnpc); @@ -213,7 +213,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 117, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Canyon Bridge DestroyFollower(ActorSno._enchantressnpc); AddFollower(Game.GetWorld(WorldSno.caout_town), ActorSno._enchantressnpc); @@ -226,7 +226,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with enchantress DestroyFollower(ActorSno._enchantressnpc); AddFollower(Game.GetWorld(WorldSno.caout_town), ActorSno._enchantressnpc); @@ -240,7 +240,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete DestroyFollower(ActorSno._enchantressnpc); Open(Game.GetWorld(WorldSno.caout_town), ActorSno._caoutstingingwinds_illusion_bridge); @@ -270,7 +270,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 76, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -280,7 +280,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 58, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go through Canyon bridge ListenProximity(ActorSno._waypoint, new Advance()); @@ -292,7 +292,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 46, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Khasim gate var world = Game.GetWorld(WorldSno.caout_town); ListenProximity(ActorSno._lore_belial_guardsorders, new Advance()); @@ -310,7 +310,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 74, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with leutenant Vahem UnlockTeleport(2); UnlockTeleport(3); @@ -324,7 +324,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 30, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter HQ ListenTeleport(61066, new Advance()); }) @@ -335,7 +335,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //kill demons and open cell Game.AddOnLoadWorldAction(WorldSno.caout_khamsin_mine, () => { @@ -364,7 +364,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 48, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill stealthed demons script = new SpawnSnakemans(); script.Execute(Game.GetWorld(WorldSno.caout_town)); @@ -377,7 +377,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with captain David Game.GetWorld(WorldSno.caout_town).ShowOnlyNumNPC(ActorSno._davyd, 1); //ListenProximity(80980, new LaunchConversation(60608)); @@ -390,7 +390,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete Open(Game.GetWorld(WorldSno.caout_town), ActorSno._caout_stingingwinds_khamsin_gate); }) @@ -405,7 +405,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 5, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -415,7 +415,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 54, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //exit through Khasim east gates and find Alcarnus ListenProximity(ActorSno._davyd, new CompleteObjective(0)); ListenProximity(ActorSno._body_hangedc_caout_gore, new CompleteObjective(1)); @@ -427,7 +427,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Maghda's lair and optionally, free 8 cells var encW = Game.GetWorld(WorldSno.caout_town); encW.SpawnMonster(ActorSno._caout_cage, new Vector3D(528.7084f, 1469.1945f, 197.2559f)); @@ -445,7 +445,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 9, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Maghda UnlockTeleport(4); ListenKill(ActorSno._maghda, 1, new Advance()); @@ -457,7 +457,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to camp Game.CurrentEncounter.activated = false; Game.AddOnLoadWorldAction(WorldSno.caout_cellar_alcarnus_main, () => @@ -473,7 +473,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(1); }) @@ -488,7 +488,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -498,7 +498,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 38, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Asheera //ListenProximity(3205, new LaunchConversation(201285)); Game.GetWorld(WorldSno.caout_town).ShowOnlyNumNPC(ActorSno._asheara, 0); @@ -511,7 +511,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Asheera for reach emperor's palace //ListenConversation(165807, new Advance()); ListenProximity(ActorSno._caldeumguard_captain_b_ravd, new AskBossEncounter(162231)); @@ -524,7 +524,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Emperor Game.AddOnLoadWorldAction(WorldSno.a2_belial_room_intro, () => { @@ -554,7 +554,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill demons int snakes = 0; Game.AddOnLoadWorldAction(WorldSno.a2_belial_room_intro, () => @@ -584,7 +584,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 31, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //escape the emperor's palace Game.AddOnLoadWorldAction(WorldSno.a2_belial_room_intro, () => { @@ -605,7 +605,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy 4 demon summoners Game.AddOnLoadWorldAction(WorldSno.a2dun_cald, () => { @@ -631,7 +631,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //hide into Caldeum drains Game.AddOnLoadWorldAction(WorldSno.a2dun_cald, () => { @@ -653,7 +653,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete Game.AddOnLoadWorldAction(WorldSno.a2dun_cald, () => { @@ -678,7 +678,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 9, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -688,7 +688,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Cursed Pit if (Game.Empty) UnlockTeleport(1); ListenTeleport(58494, new Advance()); @@ -700,7 +700,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 15, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill guardians Game.AddOnLoadWorldAction(WorldSno.a2dun_swr_adria_level01, () => { @@ -725,7 +725,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Adria in pit Game.AddOnLoadWorldAction(WorldSno.a2dun_swr_adria_level01, () => { @@ -740,7 +740,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Adria in camp var world = Game.GetWorld(WorldSno.a2dun_swr_adria_level01); Game.CurrentEncounter.activated = false; @@ -775,7 +775,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(2); Game.GetWorld(WorldSno.caout_town).GetActorBySNO(ActorSno._a2duncald_deco_sewer_lid).SetUsable(true); @@ -792,7 +792,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -801,7 +801,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find passage to Oasis if (Game.DestinationEnterQuest == 78266) if (Game.DestinationEnterQuestStep == -1 || Game.DestinationEnterQuestStep == 2) @@ -827,7 +827,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 31, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Emperor ListenProximity(ActorSno._hakan, new Advance()); }) @@ -838,7 +838,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Oasis ListenConversation(180063, new LaunchConversation(187093)); ListenTeleport(175367, new Advance()); @@ -857,7 +857,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter ruins in Oasis ListenTeleport(61632, new Advance()); if (Game.Empty) UnlockTeleport(5); @@ -869,7 +869,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 24, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Kulle's head UnlockTeleport(5); UnlockTeleport(6); @@ -882,7 +882,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get Kulle's head ListenInteract(ActorSno._a2dun_zolt_head_container, 1, new Advance()); }) @@ -893,7 +893,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Adria in camp ListenProximity(ActorSno._tyrael, new LaunchConversation(123146)); ListenConversation(123146, new Advance()); @@ -905,7 +905,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -919,7 +919,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -929,7 +929,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 40, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter to drain in Oasis ListenTeleport(62752, new Advance()); }) @@ -940,7 +940,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 52, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //turn east lever and turn west lever and open gates to drowned passage //try {(this.Game.GetWorld(59486).FindAt(83629, new Vector3D{X = 175.1f, Y = 62.275f, Z = 50.17f}, 20.0f) as Door).Open();} catch {} var world = Game.GetWorld(WorldSno.a2dun_aqd_special_01); @@ -960,7 +960,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 54, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter to drowned passage Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_special_01, () => { @@ -980,7 +980,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 56, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Deceiveds Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -999,7 +999,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 58, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //break talking barrel Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -1014,7 +1014,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 60, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with jeweler Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -1031,7 +1031,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 62, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find crucible Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -1049,7 +1049,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 64, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Gevin var world = Game.GetWorld(WorldSno.a2dun_aqd_oasis_level00); Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => @@ -1080,7 +1080,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 44, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get crucible Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -1099,7 +1099,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 24, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the ancient passage Game.AddOnLoadWorldAction(WorldSno.a2dun_aqd_oasis_level00, () => { @@ -1129,7 +1129,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //find blood in 2 caves if (Game.Empty) UnlockTeleport(7); DestroyFollower(ActorSno._intro_jeweler); @@ -1143,7 +1143,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(3); }) @@ -1158,7 +1158,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 25, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1168,7 +1168,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 39, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the Kulle's archives UnlockTeleport(7); UnlockTeleport(8); @@ -1181,7 +1181,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 35, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the Limit ListenProximity(ActorSno._hakanprojection, new Advance()); }) @@ -1192,7 +1192,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //open Abyss lock and open Stormhalls lock if (Game.Empty) UnlockTeleport(9); Game.AddOnLoadWorldAction(WorldSno.a2dun_zolt_lobby, () => @@ -1219,7 +1219,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 0, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the shadows world Game.AddOnLoadWorldAction(WorldSno.a2dun_zolt_lobby, () => { @@ -1235,7 +1235,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Kulle's body ListenInteract(ActorSno._a2dun_zolt_body_container, 1, new Advance()); }) @@ -1246,7 +1246,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Leah ListenProximity(ActorSno._leah, new LaunchConversation(62505)); foreach (var act in Game.GetWorld(WorldSno.a2dun_zolt_lobby).GetActorsBySNO(ActorSno._temp_zknavblocker)) @@ -1260,7 +1260,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 27, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the soulstone storage ListenTeleport(60194, new Advance()); }) @@ -1271,7 +1271,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Kulle Game.AddOnLoadWorldAction(WorldSno.a2dun_zolt_bossfight_level04, () => { @@ -1289,7 +1289,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 31, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Kulle ListenKill(ActorSno._zoltunkulle, 1, new Advance()); }) @@ -1300,7 +1300,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 33, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get Soulstone Game.AddOnLoadWorldAction(WorldSno.a2dun_zolt_bossfight_level04, () => { @@ -1315,7 +1315,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Adria in camp ListenProximity(ActorSno._adria, new LaunchConversation(80513)); ListenConversation(80513, new Advance()); @@ -1327,7 +1327,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -1341,7 +1341,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1351,7 +1351,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 23, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Asheara Game.AddOnLoadWorldAction(WorldSno.caout_town, () => { @@ -1369,7 +1369,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Asheara foreach (var Ashe in Game.GetWorld(WorldSno.caout_town).GetActorsBySNO(ActorSno._asheara)) AddQuestConversation(Ashe, 121359); @@ -1382,7 +1382,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //todo: timed event 115494 var world = Game.GetWorld(WorldSno.caout_town); try { (world.FindAt(ActorSno._a2dun_cald_exit_gate, new Vector3D { X = 3135.3f, Y = 1546.1f, Z = 250.545f }, 15.0f) as Door).Open(); } catch { } @@ -1399,7 +1399,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -1413,7 +1413,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1423,7 +1423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the Caldeum palace AddFollower(Game.GetWorld(WorldSno.a2_belial_room_intro), ActorSno._leah); AddFollower(Game.GetWorld(WorldSno.caout_refugeecamp), ActorSno._adria); @@ -1436,7 +1436,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to emperor's palace var world = Game.GetWorld(WorldSno.a2dun_cald_uprising); foreach (var door in world.GetActorsBySNO(ActorSno._a2dun_cald_gate_belial_destroyable)) @@ -1462,7 +1462,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Belial DestroyFollower(ActorSno._leah); DestroyFollower(ActorSno._adria); @@ -1519,7 +1519,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 27, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get Belial's soul Game.CurrentEncounter.activated = false; Game.AddOnLoadWorldAction(WorldSno.a2_belial_room_01, () => @@ -1536,7 +1536,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael in camp Game.AddOnLoadWorldAction(WorldSno.a2_belial_room_01, () => { @@ -1554,7 +1554,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with caravan leader ListenInteract(ActorSno._hub_caravanleader, 1, new LaunchConversation(177669)); ListenConversation(177669, new ChangeAct(200)); @@ -1567,7 +1567,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIII.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIII.cs index bc1e7f6..078811f 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIII.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIII.cs @@ -52,7 +52,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { Game.GetWorld(WorldSno.a3dun_hub_adria_tower_intro).GetActorBySNO(ActorSno._tyrael_act3, true).NotifyConversation(1); ListenInteract(ActorSno._tyrael_act3, 1, new LaunchConversation(204905)); @@ -65,7 +65,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //use fire torches var world = Game.GetWorld(WorldSno.a3dun_hub_adria_tower_intro); ListenInteract(ActorSno._a3dunrmpt_interactives_signal_fire_a, 5, new Advance()); @@ -79,7 +79,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find sergeant Dalen UnlockTeleport(0); ListenProximity(ActorSno._bastionskeepguard_melee_b_02_sgt_dalen, new LaunchConversation(196152)); @@ -93,7 +93,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -107,7 +107,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -141,7 +141,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to base UnlockTeleport(1); ListenProximity(ActorSno._tyrael_act3, new Advance()); @@ -153,7 +153,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -167,7 +167,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 20, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -177,7 +177,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to 2nd level of bastion keep ListenTeleport(93103, new Advance()); }) @@ -188,7 +188,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find breach on 2nd level if (Game.Empty) { @@ -207,7 +207,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find bastion's ambar (gluttony boss) ListenTeleport(111232, new Advance()); }) @@ -218,7 +218,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill gluttony UnlockTeleport(3); Game.AddOnLoadWorldAction(WorldSno.gluttony_boss, () => @@ -246,7 +246,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to base ListenProximity(ActorSno._tyrael_act3, new Advance()); }) @@ -257,7 +257,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -271,7 +271,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { var Tyrael = Game.GetWorld(WorldSno.a3dun_hub_keep).GetActorBySNO(ActorSno._tyrael_act3); (Tyrael as InteractiveNPC).Conversations.Add(new ActorSystem.Interactions.ConversationInteraction(183792)); @@ -286,7 +286,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Armory var Tyrael = Game.GetWorld(WorldSno.a3dun_hub_keep).GetActorBySNO(ActorSno._tyrael_act3); (Tyrael as InteractiveNPC).Conversations.Clear(); @@ -301,7 +301,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill shadows Game.AddOnLoadWorldAction(WorldSno.a3dun_keep_hub_inn, () => { @@ -347,7 +347,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Leah ListenProximity(ActorSno._leah, new LaunchConversation(134266)); ListenConversation(134266, new Advance()); @@ -371,7 +371,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(1); }) @@ -386,7 +386,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -396,7 +396,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to battlefields ListenTeleport(154644, new Advance()); }) @@ -407,7 +407,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 9, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with sergeant Pale var Serge = Game.GetWorld(WorldSno.a3_battlefields_02).GetActorBySNO(ActorSno._a3_battlefield_guard_sargeant); (Serge as InteractiveNPC).Conversations.Add(new ActorSystem.Interactions.ConversationInteraction(170486)); @@ -423,7 +423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go through Korsikk bridge Game.AddOnLoadWorldAction(WorldSno.a3_battlefields_02, () => { @@ -441,7 +441,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //kill 3 ballistas/destroy trebuchet if (Game.Empty) UnlockTeleport(4); Game.AddOnLoadWorldAction(WorldSno.a3_battlefields_02, () => @@ -458,7 +458,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Rakkis bridge if (!Game.Empty) UnlockTeleport(4); //69504 @@ -472,7 +472,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael Game.AddOnLoadWorldAction(WorldSno.a3_battlefields_02, () => { @@ -492,7 +492,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -506,7 +506,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -516,7 +516,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find demonic gates to Siegebreaker if (Game.Empty) UnlockTeleport(5); ListenProximity(ActorSno._a3dun_crater_st_demon_chainpylon_fire_azmodan, new Advance()); @@ -529,7 +529,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Siegebreaker if (!Game.Empty) UnlockTeleport(5); Game.AddOnLoadWorldAction(WorldSno.a3_battlefields_03, () => @@ -547,7 +547,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Adria Game.CurrentEncounter.activated = false; ListenProximity(ActorSno._adria, new LaunchConversation(196366)); @@ -561,7 +561,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(3); }) @@ -576,7 +576,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -586,7 +586,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Tower of the Doomed lv. 1 Game.AddOnLoadWorldAction(WorldSno.a3_battlefields_03, () => { @@ -605,7 +605,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 25, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Heart of Sin if (!Game.Empty) UnlockTeleport(6); if (Game.Empty) UnlockTeleport(7); @@ -618,7 +618,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default(), Objective.Default() }, OnAdvance = new Action(() => { //kill Daughters of Pain / Destroy Heart of Sin if (!Game.Empty) UnlockTeleport(7); ListenKill(ActorSno._succubus_daughterofpain, 3, new CompleteObjective(0)); @@ -631,7 +631,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Tower of Damned lv. 1 if (Game.Empty) UnlockTeleport(8); Game.AddOnLoadWorldAction(WorldSno.a3dun_crater_st_level04, () => @@ -647,7 +647,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 23, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Heart of Sin if (!Game.Empty) UnlockTeleport(8); if (Game.Empty) UnlockTeleport(9); @@ -660,7 +660,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 27, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Cydaea if (!Game.Empty) UnlockTeleport(9); ListenKill(ActorSno._mistressofpain, 1, new Advance()); @@ -683,7 +683,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Destroy Heart of Sin Game.CurrentEncounter.activated = false; ListenKill(ActorSno._a3dun_crater_st_giantdemonheart_mob, 1, new Advance()); @@ -703,7 +703,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 32, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Azmodan, finally if (Game.Empty) UnlockTeleport(10); ListenKill(ActorSno._azmodan, 1, new Advance()); @@ -722,7 +722,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 5, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get Azmodan's soul Game.CurrentEncounter.activated = false; ListenProximity(ActorSno._azmodan_bss_soulremnants, new Advance()); @@ -738,7 +738,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 39, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to base ListenProximity(ActorSno._tyrael_act3, new Advance()); Game.AddOnLoadWorldAction(WorldSno.a3dun_azmodan_arena, () => @@ -753,7 +753,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 46, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with leutenant Lavaile ListenProximity(ActorSno._a3_rampart_guard_captain_alt, new LaunchConversation(160644)); ListenConversation(160644, new Advance()); @@ -765,7 +765,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Armory ListenTeleport(185228, new Advance()); }) @@ -776,7 +776,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 36, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Adria tower event var World = Game.GetWorld(WorldSno.a3dun_hub_adria_tower); @@ -892,7 +892,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //use Heaven portal ListenInteract(ActorSno._event47_bigportal, 1, new ChangeAct(300)); }) @@ -903,7 +903,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete Game.CurrentEncounter.activated = false; }) diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIV.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIV.cs index 71dad52..edf9241 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIV.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActIV.cs @@ -46,7 +46,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { UnlockTeleport(0); //{[World] SNOId: 182944 GlobalId: 117440513 Name: a4dun_heaven_1000_monsters_fight_entrance} var Tyrael = Game.GetWorld(WorldSno.a4dun_heaven_1000_monsters_fight_entrance).GetActorBySNO(ActorSno._tyrael) as InteractiveNPC; @@ -65,7 +65,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael UnlockTeleport(1); Game.AddOnLoadWorldAction(WorldSno.a4dun_heaven_1000_monsters_fight_entrance, () => @@ -92,7 +92,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 15, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Hall of Light //ListenProximity(182963, new AskBossEncounter(182960)); ListenTeleport(109149, new Advance()); @@ -104,7 +104,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Iskatu if (!Game.Empty) { @@ -121,7 +121,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete Game.CurrentEncounter.activated = false; }) @@ -136,7 +136,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 66, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -146,7 +146,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 58, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Iterael var world = Game.GetWorld(WorldSno.a4dun_heaven_1000_monsters_fight); if (Game.Empty) UnlockTeleport(2); @@ -171,7 +171,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 40, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Iterael var Ityrael = Game.GetWorld(WorldSno.a4dun_heaven_1000_monsters_fight).GetActorBySNO(ActorSno._fate) as InteractiveNPC; @@ -191,7 +191,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Library of Fate if (!Game.Empty) UnlockTeleport(2); if (Game.Empty) UnlockTeleport(3); @@ -210,7 +210,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the Library ListenTeleport(143648, new Advance()); }) @@ -221,7 +221,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Rakanoth if (!Game.Empty) UnlockTeleport(3); var Library = Game.GetWorld(WorldSno.a4dun_libraryoffate); @@ -253,7 +253,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 33, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy Auriel's jail Game.CurrentEncounter.activated = false; @@ -275,7 +275,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 38, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Auriel var Library = Game.GetWorld(WorldSno.a4dun_libraryoffate); @@ -303,7 +303,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 42, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to Gardens of Hope lv. 1 PlayCutscene(1); var Library = Game.GetWorld(WorldSno.a4dun_libraryoffate); @@ -327,7 +327,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 44, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find demonic rift ListenProximity(ActorSno._a4_heaven_gardens_hellportal, new Advance()); }) @@ -338,7 +338,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 62, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy Eye of Hell ListenKill(ActorSno._a4dun_garden_hellportal_pillar, 1, new Advance()); @@ -350,7 +350,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 50, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //leave demonic rift var World = Game.GetWorld(WorldSno.a4dun_hell_portal_01); World.SpawnMonster(ActorSno._diablo_vo, World.Players.Values.First().Position); @@ -364,7 +364,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 52, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to 2nd lv. of Gardens of Hope ListenTeleport(109516, new Advance()); }) @@ -375,7 +375,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 48, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find another demonic rift if (Game.Empty) UnlockTeleport(4); ListenProximity(ActorSno._a4_heaven_gardens_hellportal, new Advance()); @@ -387,7 +387,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 60, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy Eye of Hell ListenKill(ActorSno._a4dun_garden_hellportal_pillar, 1, new Advance()); }) @@ -398,7 +398,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 56, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //leave demonic rift var World = Game.GetWorld(WorldSno.a4dun_hell_portal_02); World.SpawnMonster(ActorSno._diablo_vo, World.Players.Values.First().Position); @@ -412,7 +412,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 54, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find portal to Crystal Collonade ListenProximity(ActorSno._coreelitedemon_a_nopod_unique, new Advance()); }) @@ -423,7 +423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 23, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael if (!Game.Empty) UnlockTeleport(4); @@ -444,7 +444,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Crystal Collonade ListenTeleport(119882, new Advance()); }) @@ -455,7 +455,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete Game.CurrentEncounter.activated = false; PlayCutscene(2); @@ -471,7 +471,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -481,7 +481,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Imperius var CrystalWorld = Game.GetWorld(WorldSno.a4dun_garden3_spireentrance); @@ -504,7 +504,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Imperius //ListenProximity(195606, new LaunchConversation(196579)); ListenConversation(196579, new Advance()); @@ -516,7 +516,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to road to Spire Game.AddOnLoadWorldAction(WorldSno.a4dun_garden3_spireentrance, () => { @@ -541,7 +541,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -555,7 +555,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 24, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -565,7 +565,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 26, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Spire exterior if (Game.Empty) UnlockTeleport(5); ListenTeleport(215396, new Advance()); @@ -577,7 +577,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Izual if (!Game.Empty) UnlockTeleport(5); Game.AddOnLoadWorldAction(WorldSno.a4dun_spire_exterior, () => @@ -600,7 +600,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 20, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Spire entrance (heavens peak) if (Game.Empty) UnlockTeleport(6); ListenTeleport(205434, new Advance()); @@ -612,7 +612,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael if (!Game.Empty) UnlockTeleport(6); if (Game.Empty) UnlockTeleport(7); @@ -626,7 +626,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Crystal Arch ListenTeleport(109563, new Advance()); }) @@ -637,7 +637,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Diablo if (!Game.Empty) UnlockTeleport(7); Game.AddOnLoadWorldAction(WorldSno.a4dun_diablo_arena, () => @@ -653,7 +653,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Diablo (1st phase, to 50% hp) Game.AddOnLoadWorldAction(WorldSno.a4dun_diablo_arena, () => { @@ -672,7 +672,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Diablo Shadow (2nd phase) ListenKill(ActorSno._terrordiablo, 1, new Advance()); }) @@ -683,7 +683,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Diablo (3rd phase) var targetWorld = Game.GetWorld(WorldSno.a4dun_diablo_arena_phase3); TeleportToWorld(Game.GetWorld(WorldSno.a4dun_diablo_shadowrealm_01), targetWorld, 172); @@ -697,7 +697,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy Diablo StartConversation(Game.GetWorld(WorldSno.a4dun_diablo_arena_phase3), 205783); ListenConversation(205783, new Advance()); @@ -709,7 +709,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 5, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Auriel Game.GetWorld(WorldSno.a4dun_diablo_arena_phase3).GetActorBySNO(ActorSno._hope).NotifyConversation(1); if (Game.IsHardcore) @@ -734,7 +734,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActV.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActV.cs index 5121b5c..af600d7 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActV.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/ActV.cs @@ -95,7 +95,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Lorath Nahr ListenKill(ActorSno._x1_ghost_dark_introoverlook, 1, new LaunchConversation(320130)); @@ -108,7 +108,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 59, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter Westmarch var world = Game.GetWorld(WorldSno.x1_westm_intro); @@ -151,7 +151,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find a5 hub var npc = Game.GetWorld(WorldSno.x1_westm_intro).GetActorBySNO(ActorSno._x1_npc_westmarch_introguy); @@ -172,7 +172,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill mobs at hub var world = Game.GetWorld(WorldSno.x1_westm_intro); @@ -207,7 +207,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 57, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { var world = Game.GetWorld(WorldSno.x1_westm_intro); //Delete Monsters @@ -230,7 +230,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter the church var world = Game.GetWorld(WorldSno.x1_westm_intro); @@ -255,7 +255,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Kill unique 273419 ListenKill(ActorSno._x1_deathmaiden_unique_b, 1, new AfterKillBoss()); @@ -267,7 +267,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 67, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Tyrael UnlockTeleport(0); @@ -283,7 +283,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 5, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //leave the church var Tyrael = Game.GetWorld(WorldSno.x1_westmarch_hub).ShowOnlyNumNPC(ActorSno._x1_tyrael_hurt, 0) as InteractiveNPC; @@ -302,7 +302,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -318,7 +318,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 47, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -328,7 +328,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 62, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //OnTargetedActor ID: 315793, Name: x1_westm_Door_Cloister, NumInWorld: 0 Game.AddOnLoadWorldAction(WorldSno.x1_westmarch_hub, () => @@ -358,7 +358,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 57, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find orbs var world = Game.GetWorld(WorldSno.x1_westmarch_hub); @@ -374,7 +374,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 60, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy bodies var world = Game.GetWorld(WorldSno.x1_westm_deathorb_gideonscourt); @@ -407,7 +407,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //slay Drygha Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_gideonscourt, () => @@ -423,7 +423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 68, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy orb Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_gideonscourt, () => @@ -439,7 +439,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 30, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { var world = Game.GetWorld(WorldSno.x1_westm_deathorb_gideonscourt); //destroy effects @@ -461,7 +461,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 32, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Mystic Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_gideonscourt, () => @@ -503,7 +503,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 55, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //exit alley Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_gideonscourt, () => @@ -548,7 +548,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 49, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find death orb ListenTeleport(339158, new AdvanceWithNotify()); @@ -565,7 +565,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 53, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy bodies UnlockTeleport(2); @@ -592,7 +592,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 34, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //slay guardian Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_kerwinsrow, () => @@ -613,7 +613,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 40, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //destroy final orb Game.AddOnLoadWorldAction(WorldSno.x1_westm_deathorb_kerwinsrow, () => @@ -634,7 +634,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 42, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Mystic ListenProximity(ActorSno._pt_mystic_novendor_nonglobalfollower, new LaunchConversation(305871)); @@ -652,7 +652,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to hub ListenTeleport(270011, new Advance()); @@ -675,7 +675,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -691,7 +691,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -701,7 +701,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter Westmarch Heights ListenTeleport(263493, new AdvanceWithNotify()); @@ -713,7 +713,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Tower ListenTeleport(308487, new AdvanceWithNotify()); @@ -728,7 +728,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Urzael UnlockTeleport(3); @@ -741,7 +741,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Malthael spirit Game.AddOnLoadWorldAction(WorldSno.x1_urzael_arena, () => @@ -760,7 +760,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //return to the Hub ListenTeleport(270011, new AdvanceWithNotify()); @@ -772,7 +772,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Tyrael ListenInteract(ActorSno._x1_tyrael_hurt, 1, new LaunchConversation(283403)); @@ -785,7 +785,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(1); @@ -802,7 +802,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 67, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -812,7 +812,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 65, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find entrance //DisableArrow(this.Game.GetWorld(304235), target); @@ -870,7 +870,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 92, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill mobs Game.AddOnLoadWorldAction(WorldSno.x1_bog_adriaritual, () => @@ -894,7 +894,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 106, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Nephalem Guidestone Game.AddOnLoadWorldAction(WorldSno.x1_bog_adriaritual, () => @@ -912,7 +912,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 73, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //use waystone UnlockTeleport(4); @@ -927,7 +927,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 10, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find catacombs var world = Game.GetWorld(WorldSno.x1_bog_adriaritual); @@ -963,7 +963,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 110, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //search tomb var world = Game.GetWorld(WorldSno.x1_bog_adriaritual); @@ -1001,7 +1001,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go Adria UnlockTeleport(6); @@ -1014,7 +1014,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 78, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Adria //UnlockTeleport(7); //hacky @@ -1027,7 +1027,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 115, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Lorath Game.CurrentEncounter.activated = false; @@ -1059,7 +1059,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Tyrael foreach (var Myst in Game.GetWorld(WorldSno.x1_adria_boss_arena_02).GetActorsBySNO(ActorSno._x1_npc_lorathnahr)) //284530 @@ -1078,7 +1078,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(2); @@ -1095,7 +1095,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 15, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1105,7 +1105,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //go to Pandemonium Gate ListenTeleport(339468, new Advance()); @@ -1117,7 +1117,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill reapers and Lamiel ListenKill(ActorSno._x1_deathmaiden_unique_heaven, 1, new Advance()); @@ -1129,7 +1129,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Imperius Game.AddOnLoadWorldAction(WorldSno.x1_heaven_pandemonium_portal, () => @@ -1146,7 +1146,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //use portal ListenTeleport(299453, new Advance()); @@ -1158,7 +1158,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -1174,7 +1174,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 35, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1184,7 +1184,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 41, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //cork for Imperius Game.AddOnLoadWorldAction(WorldSno.x1_pand_ext_gateoverlook, () => @@ -1203,7 +1203,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //reach Imperius ListenInteract(ActorSno._x1_imperius, 1, new LaunchConversation(361245)); @@ -1222,7 +1222,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 51, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get to Siege Camp ListenProximity(ActorSno._x1_pand_ext_imperiuscharge_towers_chain, new Advance()); @@ -1234,7 +1234,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //gather siege rune ListenInteract(ActorSno._x1_pandext_siegerune, 1, new Advance()); @@ -1246,7 +1246,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 43, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Imperius ListenInteract(ActorSno._x1_imperius, 1, new LaunchConversation(361252)); @@ -1266,7 +1266,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 45, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //hunt for Siege Runes UnlockTeleport(8); @@ -1279,7 +1279,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 30, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter Siege outpost ListenTeleport(339397, new Advance()); @@ -1291,7 +1291,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 33, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Kill Ram Defense Captain (Thilor) ListenKill(ActorSno._x1_bigred_chronodemon_burned_ramguard, 1, new Advance()); @@ -1303,7 +1303,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 15, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Tyrael ListenInteract(ActorSno._x1_tyrael_pandext, 1, new LaunchConversation(346540)); @@ -1320,7 +1320,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -1336,7 +1336,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 32, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1346,7 +1346,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 25, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Board Ram UnlockTeleport(9); @@ -1386,7 +1386,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 27, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //breach phase ListenKill(ActorSno._x1_westmarchranged_b, 2, new Advance()); @@ -1402,7 +1402,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 29, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Fight Ram Boss ListenKill(ActorSno._x1_westmarchbrute_batteringramboss, 1, new Advance()); @@ -1419,7 +1419,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Finish the Gate @@ -1450,7 +1450,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter Breach var RamWorld = Game.GetWorld(WorldSno.x1_pand_batteringram); @@ -1478,7 +1478,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete PlayCutscene(3); @@ -1495,7 +1495,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 30, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1505,7 +1505,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //FortressIntroTyrael var world = Game.GetWorld(WorldSno.x1_fortress_level_01); @@ -1528,7 +1528,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 36, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Spirit Well 1 RemoveConversations(Game.GetWorld(WorldSno.x1_fortress_level_01).GetActorBySNO(ActorSno._tyrael)); @@ -1567,7 +1567,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 65, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Spirit Well 2 ListenTeleport(360494, new Advance()); @@ -1579,7 +1579,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 61, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Kill Death Maiden ListenKill(ActorSno._x1_deathmaiden_pand_a_fortressunique, 1, new Advance()); @@ -1595,7 +1595,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Destroy Soul Prison UnlockTeleport(11); @@ -1612,7 +1612,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 8, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Malthael ListenTeleport(330576, new Advance()); @@ -1624,7 +1624,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 21, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill Malthael ListenKill(ActorSno._x1_malthael_boss, 1, new Advance()); @@ -1636,7 +1636,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Success Game.CurrentEncounter.activated = false; @@ -1672,7 +1672,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/Events.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/Events.cs index f5b326e..6d91880 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/Events.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/Events.cs @@ -40,7 +40,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 6, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -50,7 +50,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //free Guards ListenKill(ActorSno._terrordemon_a_unique_1000monster, 1, new SideAdvance()); }) @@ -61,7 +61,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //guard winches ListenKill(ActorSno._terrordemon_a_unique_1000monster, 1, new SideAdvance()); }) @@ -72,7 +72,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -87,7 +87,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -96,7 +96,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 7, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { ListenKill(ActorSno._fleshpitflyerspawner_b_event_farmambush, 4, new SideAdvance()); }) @@ -106,7 +106,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { var world = Game.GetWorld(WorldSno.trout_town); StartConversation(world, 60182); @@ -120,7 +120,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { StartConversation(Game.GetWorld(WorldSno.trout_town), 60184); }) @@ -137,7 +137,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -147,7 +147,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //defend yourself var world = Game.GetWorld(WorldSno.trout_town); script = new Invasion(world.Players.First().Value.Position, 50f, new List { ActorSno._skeleton_b, ActorSno._skeletonarcher_b }, 30f, ActorSno._shield_skeleton_nephchamp, false); @@ -161,7 +161,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -176,7 +176,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -186,7 +186,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //escape to treasure room SetQuestTimer(120396, 180f, Game.GetWorld(WorldSno.a2dun_zolt_timed01_level01), new SideAbandon()); ListenTeleport(168200, new SideAdvance()); @@ -198,7 +198,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players) if (Game.QuestManager.QuestTimerEstimate >= 90f) @@ -216,7 +216,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 4, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -226,7 +226,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Break Totems ListenKill(ActorSno._trout_highlands_goatman_totem_gharbad, 2, new SideAdvance()); }) @@ -237,7 +237,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 12, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill shamans var world = Game.GetWorld(WorldSno.trout_town); script = new Invasion( @@ -258,7 +258,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 14, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk to Gharbad ListenConversation(81099, new SideAdvance()); }) @@ -269,7 +269,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //Kill gharbad (Game.GetWorld(WorldSno.trout_town).GetActorBySNO(ActorSno._gharbad_the_weak_ghost) as Gharbad).Resurrect(); ListenKill(ActorSno._goatmutant_melee_a_unique_gharbad, 1, new SideAdvance()); @@ -281,7 +281,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -297,7 +297,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 0, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -307,7 +307,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Poltahr ListenInteract(ActorSno._a2c2poltahr, 1, new LaunchConversation(18039)); ListenConversation(18039, new SideAdvance()); @@ -319,7 +319,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find Idol AddFollower(Game.GetWorld(WorldSno.a2c2dun_zolt_treasurehunter), ActorSno._a2c2poltahr); ListenProximity(ActorSno._interactlocation, new SideAdvance()); @@ -331,7 +331,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //get idol StartConversation(Game.GetWorld(WorldSno.a2c2dun_zolt_treasurehunter), 18038); ListenInteract(ActorSno._a2dun_zolt_pedestal, 1, new SideAdvance()); @@ -343,7 +343,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //stop ambush foreach (var spawner in Game.GetWorld(WorldSno.a2c2dun_zolt_treasurehunter).GetActorsBySNO(ActorSno._spawner_skeletonmage_cold_a)) { @@ -359,7 +359,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete DestroyFollower(ActorSno._a2c2poltahr); }) @@ -375,7 +375,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 16, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -385,7 +385,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 18, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever var world = Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_large); SetActorOperable(world, ActorSno._a2dun_aqd_godhead_door_largepuzzle, false); @@ -400,7 +400,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 20, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault SetActorOperable(Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_large), ActorSno._a2dun_aqd_godhead_door_largepuzzle, true); ListenInteract(ActorSno._a2dun_aqd_godhead_door_largepuzzle, 1, new SideAdvance()); @@ -412,7 +412,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //claim treasure ListenInteract(ActorSno._a2dun_aqd_chest_special_facepuzzle_large, 1, new SideAdvance()); }) @@ -423,7 +423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill unique var world = Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_large); foreach (var spawner in world.GetActorsBySNO(ActorSno._spawner_ghost_d_facepuzzle)) @@ -440,7 +440,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -455,7 +455,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -465,7 +465,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 17, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever var world = Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_small); SetActorOperable(world, ActorSno._a2dun_aqd_godhead_door, false); @@ -480,7 +480,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 22, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault SetActorOperable(Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_small), ActorSno._a2dun_aqd_godhead_door, true); ListenInteract(ActorSno._a2dun_aqd_godhead_door, 1, new SideAdvance()); @@ -492,7 +492,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 19, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //claim treasure ListenInteract(ActorSno._a2dun_aqd_chest_rare_facepuzzlesmall, 1, new SideAdvance()); }) @@ -503,7 +503,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //kill unique var world = Game.GetWorld(WorldSno.a2dun_aqd_oasis_randomfacepuzzle_small); foreach (var spawner in world.GetActorsBySNO(ActorSno._spawner_fastmummy_climb_a_smallfacepuzzle)) @@ -520,7 +520,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -533,7 +533,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -543,7 +543,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -554,7 +554,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List { ActorSno._x1_zombieskinny_a }, ActorSno._x1_zombieskinny_skeleton_a_lr_boss); script.Execute(Game.SideQuestGizmo.World); @@ -567,7 +567,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedShrine) (Game.SideQuestGizmo as CursedShrine).Activate(); @@ -582,7 +582,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -592,7 +592,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -603,7 +603,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion( Game.SideQuestGizmo.Position, @@ -621,7 +621,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedShrine) (Game.SideQuestGizmo as CursedShrine).Activate(); @@ -636,7 +636,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 13, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -646,7 +646,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -657,7 +657,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List { ActorSno._triunecultist_c_event }, ActorSno._cultist_crownleader); script.Execute(Game.SideQuestGizmo.World); @@ -670,7 +670,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedShrine) (Game.SideQuestGizmo as CursedShrine).Activate(); @@ -685,7 +685,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -695,7 +695,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -706,7 +706,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List { ActorSno._ghoul_a, ActorSno._ghoul_b }, ActorSno._ghoul_b_speedkill_rare); script.Execute(Game.SideQuestGizmo.World); @@ -719,7 +719,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedChest) (Game.SideQuestGizmo as CursedChest).Activate(); @@ -734,7 +734,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -744,7 +744,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -755,7 +755,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List { ActorSno._demontrooper_a_catapult }, ActorSno._x1_demontrooper_chronodemon_test_a); script.Execute(Game.SideQuestGizmo.World); @@ -768,7 +768,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedChest) (Game.SideQuestGizmo as CursedChest).Activate(); @@ -783,7 +783,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 11, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -793,7 +793,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //find lever ListenInteract(Game.SideQuestGizmo.SNO, 1, new SideAdvance()); }) @@ -804,7 +804,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //enter vault script = new WavedInvasion( Game.SideQuestGizmo.Position, @@ -822,7 +822,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete if (Game.SideQuestGizmo != null && Game.SideQuestGizmo is CursedChest) (Game.SideQuestGizmo as CursedChest).Activate(); @@ -836,7 +836,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -845,7 +845,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael var TristHab = Game.GetWorld(WorldSno.x1_tristram_adventure_mode_hub); var Tyrael = TristHab.GetActorBySNO(ActorSno._tyrael_heaven) as ActorSystem.InteractiveNPC; @@ -863,7 +863,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { @@ -885,7 +885,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -895,7 +895,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael ListenInteract(ActorSno._tyrael_heaven, 1, new LaunchConversation(357038)); ListenConversation(357038, new SideAdvance()); @@ -907,7 +907,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { @@ -929,7 +929,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -939,7 +939,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael ListenInteract(ActorSno._tyrael_heaven, 1, new LaunchConversation(357040)); ListenConversation(357040, new SideAdvance()); @@ -951,7 +951,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { @@ -974,7 +974,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -984,7 +984,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael ListenInteract(ActorSno._tyrael_heaven, 1, new LaunchConversation(357021)); ListenConversation(357021, new SideAdvance()); @@ -996,7 +996,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { @@ -1018,7 +1018,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) }); @@ -1028,7 +1028,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //talk with Tyrael ListenInteract(ActorSno._tyrael_heaven, 1, new LaunchConversation(357042)); ListenConversation(357042, new SideAdvance()); @@ -1040,7 +1040,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/OpenWorld.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/OpenWorld.cs index a09952c..b96083b 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/OpenWorld.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/OpenWorld.cs @@ -44,7 +44,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 2, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { script = new CryptPortals(); script.Execute(Game.GetWorld(WorldSno.trout_town)); @@ -83,7 +83,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -93,7 +93,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = true, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -108,7 +108,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) @@ -119,7 +119,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { @@ -132,7 +132,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete var NephalemWorld = Game.GetWorld(Game.WorldOfPortalNephalem); ActorSystem.Actor BossOfPortal = null; @@ -168,7 +168,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) }); @@ -178,7 +178,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { @@ -199,7 +199,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) @@ -210,7 +210,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = 3, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { }) @@ -221,7 +221,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete @@ -233,7 +233,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete }) @@ -244,7 +244,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem Completed = false, Saveable = false, NextStep = -1, - Objectives = new List { new Objective { Limit = 1, Counter = 0 } }, + Objectives = new List { Objective.Default() }, OnAdvance = new Action(() => { //complete foreach (var plr in Game.Players.Values) { diff --git a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/QuestProgress.cs b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/QuestProgress.cs index 242dc87..3d037b3 100644 --- a/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/QuestProgress.cs +++ b/src/DiIiS-NA/D3-GameServer/GSSystem/QuestSystem/QuestProgress.cs @@ -42,8 +42,8 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem public int count; public int counter; public QuestEvent questEvent; - }; - + } + public class Quest { public bool Completed; @@ -52,7 +52,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem public int RewardXp; public int RewardGold; public bool Saveable; - }; + } public class QuestStep { @@ -61,13 +61,15 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem public int NextStep; public Action OnAdvance; public bool Saveable; - }; + } public class Objective { public int Limit; public int Counter; - }; + + public static Objective Default() => new () { Limit = 1, Counter = 0 }; + } // key can be ActorSno (also multiplied), DestLevelAreaSno, ConversationSno public Dictionary QuestTriggers { get; set; }