Added !powerful - useful for testing;

Testing quests, small changes (having a default objective;
Checking #101
This commit is contained in:
Lucca Faria Ferri 2023-01-26 21:52:15 -08:00
parent 7299279393
commit 3e7a4f033d
11 changed files with 819 additions and 811 deletions

View File

@ -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<ulong, ulong> 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<ulong, Channel> Channels = new Dictionary<ulong, Channel>();
public Dictionary<ulong, Channel> Channels = new();
public List<Channel> ChatChannels = new List<Channel>();
public List<Channel> ChatChannels = new();
public Channel PartyChannel; //Used for all non game related messages
public Channel GameChannel; //Used for all game related messages

View File

@ -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
{

View File

@ -7,7 +7,8 @@ namespace DiIiS_NA.GameServer.GSSystem.ObjectsSystem
public enum FixedAttribute
{
Invulnerable,
Speed
Speed,
Powerful
}
public class FixedMap

File diff suppressed because it is too large Load Diff

View File

@ -62,7 +62,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 82,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -280,7 +280,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 58,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -415,7 +415,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 54,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -498,7 +498,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 38,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -688,7 +688,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 2,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -801,7 +801,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 34,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -929,7 +929,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 40,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1168,7 +1168,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 39,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1351,7 +1351,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 23,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1423,7 +1423,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 12,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //complete
})
});

View File

@ -52,7 +52,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 8,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -141,7 +141,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 2,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -177,7 +177,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 18,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -396,7 +396,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 6,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -516,7 +516,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 10,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -586,7 +586,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 41,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 }, new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //complete
Game.CurrentEncounter.activated = false;
})

View File

@ -46,7 +46,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 2,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -146,7 +146,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 58,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -481,7 +481,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 18,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -565,7 +565,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 26,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //complete
})
});

View File

@ -95,7 +95,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 2,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -328,7 +328,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 62,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -701,7 +701,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 6,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -812,7 +812,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 65,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1105,7 +1105,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 17,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1184,7 +1184,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 41,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1346,7 +1346,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 25,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1505,7 +1505,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 12,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
//complete
})

View File

@ -40,7 +40,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 6,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -50,7 +50,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 4,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -96,7 +96,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 7,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -147,7 +147,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -186,7 +186,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -226,7 +226,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -307,7 +307,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -385,7 +385,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 18,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -465,7 +465,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 17,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -543,7 +543,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //enter vault
script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List<ActorSno> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -592,7 +592,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -646,7 +646,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //enter vault
script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List<ActorSno> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -695,7 +695,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //enter vault
script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List<ActorSno> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -744,7 +744,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //enter vault
script = new WavedInvasion(Game.SideQuestGizmo.Position, 30f, new List<ActorSno> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -793,7 +793,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -845,7 +845,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -895,7 +895,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -939,7 +939,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -984,7 +984,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
});
@ -1028,7 +1028,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //complete
foreach (var plr in Game.Players.Values)
{

View File

@ -44,7 +44,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = true,
NextStep = 2,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
@ -119,7 +119,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
@ -132,7 +132,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = -1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
@ -210,7 +210,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = 3,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => {
})
@ -221,7 +221,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
Completed = false,
Saveable = false,
NextStep = -1,
Objectives = new List<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { 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<Objective> { new Objective { Limit = 1, Counter = 0 } },
Objectives = new List<Objective> { Objective.Default() },
OnAdvance = new Action(() => { //complete
foreach (var plr in Game.Players.Values)
{

View File

@ -42,7 +42,7 @@ namespace DiIiS_NA.GameServer.GSSystem.QuestSystem
public int count;
public int counter;
public QuestEvent questEvent;
};
}
public class Quest
{
@ -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<int, QuestTrigger> QuestTriggers { get; set; }