1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Data/DutyRegistry.cs
2026-08-17 20:29:32 +10:00

1343 lines
50 KiB
C#

using System.Collections.Generic;
using Questionable.Model.Questing;
namespace Questionable.Data;
internal static class DutyRegistry
{
public static readonly Dictionary<uint, DutyEntry> Duties;
public static readonly Dictionary<ushort, SinglePlayerDutyEntry[]> SinglePlayerDuties;
static DutyRegistry()
{
Dictionary<uint, DutyEntry> dictionary = new Dictionary<uint, DutyEntry>
{
[1u] = new DutyEntry(true, null, false, null, null),
[2u] = new DutyEntry(true, null, false, null, null),
[3u] = new DutyEntry(true, null, false, null, null),
[4u] = new DutyEntry(true, null, false, null, null),
[5u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null)
};
string[] notes = new string[1] { "(after boss 2) Will not pick up the bloody parchment, and instead run off to open a random unrelated chest that it can't reach" };
dictionary[6u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
notes = new string[1] { "(boss 2) Will walk out of the boss arena to try and attack optional enemies on the upper level, thus resetting the boss and breaking the path" };
dictionary[8u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[10u] = new DutyEntry(true, null, false, null, null);
notes = new string[2] { "(boss 1) AI will not face cleaves away from healer, typically killing them", "(boss 3) AI will not face cleaves away from healer, which doesn't always kill them" };
dictionary[11u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[13u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[14u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[15u] = new DutyEntry(true, null, false, null, null);
dictionary[16u] = new DutyEntry(true, null, false, null, null);
dictionary[17u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[18u] = new DutyEntry(true, null, false, null, null);
dictionary[19u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[20u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[21u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[22u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[23u] = new DutyEntry(true, null, false, null, null);
dictionary[24u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[25u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[26u] = new DutyEntry(true, null, false, null, null);
dictionary[27u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[28u] = new DutyEntry(true, EDutyMode.UnsyncSolo, false, null, null);
dictionary[31u] = new DutyEntry(true, null, false, null, null);
dictionary[32u] = new DutyEntry(true, null, false, null, null);
dictionary[34u] = new DutyEntry(true, null, false, null, null);
dictionary[36u] = new DutyEntry(false, null, true, null, null);
dictionary[37u] = new DutyEntry(true, null, false, null, null);
dictionary[38u] = new DutyEntry(true, null, false, null, null);
dictionary[39u] = new DutyEntry(true, null, false, null, null);
dictionary[56u] = new DutyEntry(true, null, false, null, null);
dictionary[57u] = new DutyEntry(true, null, false, null, null);
dictionary[58u] = new DutyEntry(true, null, false, null, null);
dictionary[59u] = new DutyEntry(false, null, false, null, null);
dictionary[60u] = new DutyEntry(false, null, false, null, null);
dictionary[61u] = new DutyEntry(false, null, false, null, null);
dictionary[63u] = new DutyEntry(false, null, false, null, null);
dictionary[64u] = new DutyEntry(false, null, false, null, null);
dictionary[65u] = new DutyEntry(false, null, false, null, null);
dictionary[66u] = new DutyEntry(false, null, false, null, null);
dictionary[72u] = new DutyEntry(false, null, false, null, null);
dictionary[74u] = new DutyEntry(false, null, false, null, null);
dictionary[75u] = new DutyEntry(false, null, false, null, null);
dictionary[76u] = new DutyEntry(false, null, false, null, null);
dictionary[77u] = new DutyEntry(false, null, false, null, null);
dictionary[78u] = new DutyEntry(false, null, false, null, null);
dictionary[79u] = new DutyEntry(false, null, false, null, null);
dictionary[80u] = new DutyEntry(false, null, false, null, null);
dictionary[81u] = new DutyEntry(false, null, false, null, null);
dictionary[82u] = new DutyEntry(false, null, false, null, null);
dictionary[84u] = new DutyEntry(false, null, false, null, null);
dictionary[85u] = new DutyEntry(false, null, false, null, null);
dictionary[86u] = new DutyEntry(false, null, false, null, null);
dictionary[87u] = new DutyEntry(false, null, false, null, null);
dictionary[88u] = new DutyEntry(false, null, false, null, null);
dictionary[89u] = new DutyEntry(false, null, false, null, null);
dictionary[90u] = new DutyEntry(false, null, false, null, null);
dictionary[92u] = new DutyEntry(false, null, true, null, null);
dictionary[102u] = new DutyEntry(false, null, true, null, null);
dictionary[111u] = new DutyEntry(false, null, true, null, null);
dictionary[112u] = new DutyEntry(false, null, false, null, null);
dictionary[113u] = new DutyEntry(false, null, false, null, null);
dictionary[114u] = new DutyEntry(false, null, false, null, null);
dictionary[115u] = new DutyEntry(false, null, false, null, null);
dictionary[120u] = new DutyEntry(false, null, false, null, null);
dictionary[134u] = new DutyEntry(false, null, false, null, null);
dictionary[136u] = new DutyEntry(false, null, false, null, null);
dictionary[137u] = new DutyEntry(false, null, false, null, null);
dictionary[138u] = new DutyEntry(false, null, false, null, null);
dictionary[139u] = new DutyEntry(false, null, false, null, null);
dictionary[141u] = new DutyEntry(true, null, false, "0.0.0.191", null);
dictionary[168u] = new DutyEntry(false, null, false, null, null);
dictionary[169u] = new DutyEntry(false, null, false, null, null);
notes = new string[2] { "(boss 1) Doesn't knock all moogles out of the rez area", "(boss 3) Stack goal zone isn't properly removed from NPC, so the character will stack even for spread markers + slide into AOEs during ice" };
dictionary[171u] = new DutyEntry(Enabled: false, null, LowPriority: false, "0.0.0.227", "0.3.0.5", notes);
notes = new string[2] { "(after boss 1) the drawbridges being up will lead you to die from the spikes", "(after boss 1) the lift isn't working properly" };
dictionary[182u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[183u] = new DutyEntry(false, null, false, null, null);
dictionary[186u] = new DutyEntry(false, null, false, null, null);
dictionary[187u] = new DutyEntry(false, null, false, null, null);
dictionary[188u] = new DutyEntry(false, null, false, null, null);
dictionary[189u] = new DutyEntry(false, null, false, null, null);
dictionary[196u] = new DutyEntry(false, null, false, null, null);
dictionary[219u] = new DutyEntry(true, null, false, null, null);
dictionary[220u] = new DutyEntry(false, null, false, null, null);
dictionary[223u] = new DutyEntry(false, null, false, null, null);
dictionary[235u] = new DutyEntry(false, null, true, null, null);
dictionary[238u] = new DutyEntry(true, null, false, null, null);
dictionary[239u] = new DutyEntry(false, null, false, null, null);
dictionary[240u] = new DutyEntry(false, null, false, null, null);
dictionary[241u] = new DutyEntry(true, null, false, null, null);
notes = new string[2] { "(before boss 2) AD doesn't attack magitek pods, but waits for enemies to spawn from them (even though it has explicit waypoints)", "(boss 2) VBM moves out of the towers before their mechanic is resolved, sometimes killing the NPC healer" };
dictionary[242u] = new DutyEntry(Enabled: true, null, LowPriority: false, null, null, notes);
dictionary[243u] = new DutyEntry(false, null, false, null, null);
dictionary[247u] = new DutyEntry(false, null, false, null, null);
dictionary[252u] = new DutyEntry(false, null, false, null, null);
dictionary[253u] = new DutyEntry(false, null, false, null, null);
dictionary[254u] = new DutyEntry(false, null, false, null, null);
dictionary[255u] = new DutyEntry(false, null, false, null, null);
dictionary[263u] = new DutyEntry(false, null, false, null, null);
dictionary[279u] = new DutyEntry(true, null, false, null, null);
dictionary[281u] = new DutyEntry(false, null, false, null, null);
dictionary[284u] = new DutyEntry(false, null, false, null, null);
dictionary[286u] = new DutyEntry(false, null, false, null, null);
dictionary[287u] = new DutyEntry(false, null, false, null, null);
dictionary[288u] = new DutyEntry(false, null, false, null, null);
dictionary[289u] = new DutyEntry(false, null, false, null, null);
dictionary[290u] = new DutyEntry(false, null, false, null, null);
dictionary[536u] = new DutyEntry(false, null, false, null, null);
dictionary[537u] = new DutyEntry(false, null, false, null, null);
dictionary[550u] = new DutyEntry(false, null, false, null, null);
dictionary[584u] = new DutyEntry(false, null, false, null, null);
dictionary[585u] = new DutyEntry(true, null, false, null, null);
dictionary[587u] = new DutyEntry(false, null, false, null, null);
dictionary[588u] = new DutyEntry(false, null, false, null, null);
dictionary[589u] = new DutyEntry(false, null, false, null, null);
dictionary[590u] = new DutyEntry(false, null, false, null, null);
dictionary[595u] = new DutyEntry(false, null, false, null, null);
dictionary[596u] = new DutyEntry(false, null, false, null, null);
dictionary[611u] = new DutyEntry(true, null, false, null, null);
dictionary[636u] = new DutyEntry(false, null, false, null, null);
dictionary[637u] = new DutyEntry(false, null, false, null, null);
dictionary[649u] = new DutyEntry(true, null, false, null, null);
dictionary[651u] = new DutyEntry(true, null, false, null, null);
dictionary[652u] = new DutyEntry(false, null, false, null, null);
dictionary[653u] = new DutyEntry(false, null, false, null, null);
dictionary[655u] = new DutyEntry(false, null, false, null, null);
dictionary[656u] = new DutyEntry(false, null, false, null, null);
dictionary[657u] = new DutyEntry(false, null, false, null, null);
dictionary[659u] = new DutyEntry(true, null, false, null, null);
dictionary[661u] = new DutyEntry(false, null, false, null, null);
dictionary[666u] = new DutyEntry(false, null, false, null, null);
dictionary[676u] = new DutyEntry(true, null, false, null, null);
dictionary[682u] = new DutyEntry(false, null, false, null, null);
dictionary[684u] = new DutyEntry(false, null, false, null, null);
dictionary[687u] = new DutyEntry(false, null, false, null, null);
dictionary[689u] = new DutyEntry(false, null, false, null, null);
dictionary[692u] = new DutyEntry(false, null, false, null, null);
dictionary[700u] = new DutyEntry(false, null, false, null, null);
dictionary[714u] = new DutyEntry(true, null, false, null, null);
dictionary[715u] = new DutyEntry(false, null, false, null, null);
dictionary[717u] = new DutyEntry(false, null, false, null, null);
dictionary[719u] = new DutyEntry(false, null, false, null, null);
dictionary[726u] = new DutyEntry(false, null, false, null, null);
dictionary[728u] = new DutyEntry(false, null, false, null, null);
dictionary[736u] = new DutyEntry(false, null, false, null, null);
dictionary[737u] = new DutyEntry(false, null, false, null, null);
dictionary[738u] = new DutyEntry(false, null, false, null, null);
dictionary[746u] = new DutyEntry(false, null, false, null, null);
dictionary[747u] = new DutyEntry(false, null, false, null, null);
dictionary[749u] = new DutyEntry(false, null, false, null, null);
dictionary[751u] = new DutyEntry(false, null, false, null, null);
dictionary[758u] = new DutyEntry(false, null, false, null, null);
dictionary[762u] = new DutyEntry(false, null, false, null, null);
dictionary[777u] = new DutyEntry(false, null, false, null, null);
dictionary[779u] = new DutyEntry(false, null, false, null, null);
dictionary[781u] = new DutyEntry(false, null, false, null, null);
dictionary[783u] = new DutyEntry(true, null, false, null, null);
dictionary[785u] = new DutyEntry(false, null, false, null, null);
notes = new string[1] { "No VBM module" };
dictionary[786u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[787u] = new DutyEntry(true, null, false, null, null);
dictionary[789u] = new DutyEntry(true, null, false, null, null);
dictionary[790u] = new DutyEntry(true, null, false, null, null);
dictionary[792u] = new DutyEntry(false, null, false, null, null);
dictionary[796u] = new DutyEntry(false, null, false, null, null);
dictionary[800u] = new DutyEntry(false, null, false, null, null);
dictionary[802u] = new DutyEntry(false, null, false, null, null);
dictionary[806u] = new DutyEntry(false, null, false, null, null);
dictionary[808u] = new DutyEntry(false, null, false, null, null);
dictionary[810u] = new DutyEntry(false, null, false, null, null);
notes = new string[1] { "Navigation issues for area transitions" };
dictionary[822u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[823u] = new DutyEntry(true, null, false, null, null);
dictionary[824u] = new DutyEntry(true, null, false, null, null);
dictionary[825u] = new DutyEntry(true, null, false, null, null);
dictionary[826u] = new DutyEntry(true, null, false, null, null);
dictionary[827u] = new DutyEntry(true, null, false, null, null);
dictionary[829u] = new DutyEntry(true, null, false, null, null);
dictionary[830u] = new DutyEntry(true, null, false, null, null);
dictionary[831u] = new DutyEntry(true, null, false, null, null);
dictionary[832u] = new DutyEntry(false, null, false, null, null);
dictionary[834u] = new DutyEntry(false, null, false, null, null);
notes = new string[1] { "No VBM module" };
dictionary[844u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[866u] = new DutyEntry(false, null, false, null, null);
notes = new string[1] { "No VBM module" };
dictionary[869u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
dictionary[870u] = new DutyEntry(false, null, false, null, null);
dictionary[872u] = new DutyEntry(false, null, false, null, null);
dictionary[876u] = new DutyEntry(false, null, false, null, null);
dictionary[880u] = new DutyEntry(false, null, false, null, null);
dictionary[883u] = new DutyEntry(false, null, false, null, null);
dictionary[886u] = new DutyEntry(false, null, false, null, null);
dictionary[896u] = new DutyEntry(true, null, false, null, null);
dictionary[911u] = new DutyEntry(false, null, false, null, null);
dictionary[936u] = new DutyEntry(false, null, false, null, null);
dictionary[938u] = new DutyEntry(false, null, false, null, null);
dictionary[940u] = new DutyEntry(false, null, false, null, null);
dictionary[942u] = new DutyEntry(false, null, false, null, null);
dictionary[944u] = new DutyEntry(false, null, false, null, null);
dictionary[949u] = new DutyEntry(false, null, false, null, null);
dictionary[962u] = new DutyEntry(false, null, false, null, null);
dictionary[964u] = new DutyEntry(false, null, false, null, null);
dictionary[981u] = new DutyEntry(false, null, false, null, null);
dictionary[984u] = new DutyEntry(false, null, false, null, null);
dictionary[985u] = new DutyEntry(false, null, false, null, null);
dictionary[987u] = new DutyEntry(false, null, false, null, null);
dictionary[989u] = new DutyEntry(false, null, false, null, null);
dictionary[991u] = new DutyEntry(false, null, false, null, null);
notes = new string[1] { "No VBM module" };
dictionary[995u] = new DutyEntry(Enabled: false, null, LowPriority: false, null, null, notes);
notes = new string[2] { "(boss 2) Requires vbm's auto-turn gaze option", "(boss 3) Dashes (such as on SMN) will dash into the hole" };
dictionary[1008u] = new DutyEntry(Enabled: true, null, LowPriority: false, null, null, notes);
dictionary[1015u] = new DutyEntry(false, null, false, null, null);
dictionary[1019u] = new DutyEntry(false, null, false, null, null);
dictionary[1021u] = new DutyEntry(false, null, false, null, null);
dictionary[1023u] = new DutyEntry(false, null, false, null, null);
dictionary[1025u] = new DutyEntry(false, null, false, null, null);
dictionary[1027u] = new DutyEntry(true, null, false, "0.0.0.230", "0.3.2.4");
dictionary[1028u] = new DutyEntry(false, null, false, null, null);
dictionary[1030u] = new DutyEntry(false, null, false, null, null);
dictionary[1043u] = new DutyEntry(false, null, false, null, null);
dictionary[1058u] = new DutyEntry(false, null, false, null, null);
dictionary[1061u] = new DutyEntry(false, null, false, null, null);
dictionary[1064u] = new DutyEntry(true, null, false, null, null);
dictionary[1068u] = new DutyEntry(false, null, false, null, null);
dictionary[1070u] = new DutyEntry(false, null, false, null, null);
dictionary[1072u] = new DutyEntry(false, null, false, null, null);
dictionary[1074u] = new DutyEntry(false, null, false, null, null);
dictionary[1076u] = new DutyEntry(false, null, false, null, null);
Duties = dictionary;
SinglePlayerDuties = new Dictionary<ushort, SinglePlayerDutyEntry[]>
{
[55] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[56] = new SinglePlayerDutyEntry[2]
{
new SinglePlayerDutyEntry(true, 0, "0.3.2.4"),
new SinglePlayerDutyEntry(true, 1, "0.3.2.4")
},
[68] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[70] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[71] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[76] = new SinglePlayerDutyEntry[2]
{
new SinglePlayerDutyEntry(false, 0, null),
new SinglePlayerDutyEntry(false, 1, null)
},
[88] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Will target Eline first (other NPCs later), and move to some -other- group of NPCs; only re-targets once they're at 1 HP (for Eline) or die", "If the target isn't in melee range but other NPCs are, whether any AOEs are used for nearby enemies seems random")
},
[91] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[92] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[126] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(phase 1) AI doesn't move or pick up the stolen firearms", "(phase 1 + 2) AI automatically removes Hidden status", "(phase 2) AI only moves while targeted enemies are in range + gets stuck on corners while trying to get to irrelevant enemies", "(phase 2) AI doesn't even attempt to navigate to the end of the quest")
},
[129] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[144] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[145] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[146] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[147] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[148] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[155] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[161] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Healer NPC is only killed after the boss dies; all NPCs need to be killed for the duty to complete")
},
[213] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[215] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[217] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[233] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[234] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[261] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[262] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[263] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[264] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[265] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.4.6.0")
},
[288] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[313] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[317] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[318] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[319] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[320] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[336] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[343] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[350] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.3.2.4", "vbm doesn't move to the enemies automatically", "vbm doesn't interact with the urn")
},
[351] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.3.2.4", "Duty somewhat expects you to put the boss to sleep, vbm doesn't and lets the friendly NPC die")
},
[352] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[353] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[414] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(Phase 1, second enemy group) Stuck with enemy being out of sight -- but still able to attack you (tested on ACN)")
},
[439] = new SinglePlayerDutyEntry[2]
{
new SinglePlayerDutyEntry(false, 0, null),
new SinglePlayerDutyEntry(false, 1, null)
},
[440] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[441] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[445] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "AI doesn't automatically target newly spawning adds until after the boss died, and dies (tested on CNJ)")
},
[447] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete")
},
[456] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[457] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[458] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[459] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[461] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[469] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[521] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(outside) Doesn't use obstacle maps or vnav to move to the shield generators, gets stuck on the big crates")
},
[543] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.3.2.5")
},
[544] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Kills PGL NPCs and then the boss - allied NPCs will kill most other NPCs eventually; all NPCs need to be killed for the duty to complete")
},
[550] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[551] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "(Phase 1) Healer NPCs are only killed after the boss dies - allied NPCs will kill them eventually; all NPCs need to be killed for the duty to complete")
},
[558] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[562] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[566] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[567] = new SinglePlayerDutyEntry[2]
{
new SinglePlayerDutyEntry(false, 0, null),
new SinglePlayerDutyEntry(false, 1, null)
},
[586] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[601] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[660] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[680] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[681] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[682] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[724] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[782] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[811] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[912] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[941] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[967] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[983] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[1004] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[1005] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[1049] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[1054] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1059] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1060] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1061] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1066] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1072] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1076] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1078] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1079] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1084] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1088] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.1.8")
},
[1090] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.1.8")
},
[1091] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1092] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1095] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1096] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1097] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1099] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1102] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1456] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1588] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1595] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1597] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1601] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "Will not move into melee range to kill the gate; Alphinaud will kill it after a while")
},
[1606] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1639] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1644] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1657] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1667] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[1672] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1676] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1682] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1683] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1685] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1688] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1692] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1695] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1697] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1700] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1702] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1704] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1707] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1712] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1716] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1718] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1720] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[1725] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2013] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2016] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2017] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2019] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2023] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2025] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2028] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2031] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2034] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2037] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2054] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2056] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2057] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2058] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2061] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2063] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2064] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2104] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2105] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2163] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2239] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2288] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2349] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2358] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(phase 2) AI doesn't use any of the Red Baron's attacks, just moves with it and eventually dies (after a few minutes)")
},
[2411] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2413] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2416] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2418] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2429] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2430] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2453] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2463] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2474] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2498] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2515] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2528] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2549] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Navigation gets stuck in various places")
},
[2550] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1", "(Fordola) Gets hit by AOEs due to moving into them before the mechanic resolves")
},
[2552] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2560] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2562] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2565] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2568] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2570] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2572] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2575] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2577] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2580] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2582] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2585] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2587] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2588] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2592] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2627] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2629] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2892] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2894] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2900] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2904] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Keeps attacking the invulnerable boss instead of the mammoths, thus letting your allied NPC die")
},
[2907] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2909] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2913] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2914] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2917] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2919] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2925] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2927] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2928] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2950] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2952] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[2972] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[2977] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3016] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3024] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3027] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3031] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3040] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3076] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3147] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(Magnai) Keeps focussing the boss instead of the axes, thus getting killed by the AOEs")
},
[3185] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null, "(phase 1) Need to manually move in range to trigger combat", "(phase 1) VBM doesn't know about some AOEs (e.g. Vein Splitter)", "(phase 1) VBM ignores markers to stack on Lyse (she still survives)", "(phase 2) AI can walk outside the arena to get a bleed + damage down when dodging mechanics")
},
[3247] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "AI doesn't pull enemies when spawning into the instance")
},
[3248] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.293")
},
[3250] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3254] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3262] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3266] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3270] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3272] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "Currently it won't work, because the logic is missing NPC healing.")
},
[3276] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3278] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3305] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3337] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(room 2) AI tries to walk straight to the next door, ignoring all walls")
},
[3606] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(phase 1) AI gets stuck on trees/posts/walls.", "(phase 1) AI will never reach the Ostall Imperative, it instead walks circles around Radisca's Round even with all enemies dead.", "(phase 2) AI will still try to walk to Radisca's Round, but (usually) prioritizes fighting enemies.")
},
[3619] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "(before Ran'jit wears the veil) AI doesn't pull, doesn't attack and VBM doesn't recognize any AOEs.")
},
[3626] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1", "Sometimes the movement is the cause of a duty failing.")
},
[3628] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3631] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3638] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.1.0.1")
},
[3682] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "AI doesn't move automatically for the first boss", "AI doesn't move automatically for the dialogue with gaius on the bridge", "After walking downstairs automatically, AI tries to run back towards the stairs (ignoring the arena boudnary)", "After moving from the arena boundary, AI doesn't move into melee range and stops too far away when initially attacking")
},
[3687] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3765] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "Doesn't walk to the teleporter to finish the duty")
},
[3775] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.292", "(phase 2) AI doesn't target Ardbert to start combat", "(phase 2) VBM module: Elidibus' line cleave only covers half the length of the actual line (survivable)")
},
[3836] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[3862] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292", "AI will kill initial adds before the boss, but not switch target whenever new enemies spawn; all NPCs need to be killed for the duty to complete")
},
[3895] = new SinglePlayerDutyEntry[2]
{
new SinglePlayerDutyEntry(false, 0, null),
new SinglePlayerDutyEntry(false, 1, null)
},
[4015] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[4066] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.293", "(Lunar Odin) AI doesn't pull Odin to start combat", "(Lunar Ravana) AI doesn't pull Ravana to start combat", "(Lunar Ravana) AI doesn't move out of directional parry directions")
},
[4068] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4072] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4074] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4078] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4107] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.1", "There is currently no BossMod Supported Bosses Logic.", "BossMod doesn't use Interject.", "BossMod can't handle QuickButton Actions yet.", "BossMod doesn't use Healing Actions for Tanks.", "It will need alot of manual work", "And there is a part, where the user needs to interact.")
},
[4113] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "AI doesn't target boss", "AI doesn't heal NPCs")
},
[4119] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "AI doesn't attempt to move to the correct direction when killing orbs", "AI only dodges some, but not all AOEs", "AI doesn't move behind the shield for 'Extinction Flare' and dies")
},
[4125] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4131] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.1.4", "AI doesn't target Fafnir to start combat", "AI doesn't stand in towers", "AI doesn't kill ads", "AI doesn't move behind the shield to take cover and dies")
},
[4383] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.293", "(Thancred) How many enemies get pulled during the stealth section is random; if you pull multiple you can die here. Can probably be fixed by retrying on very easy.")
},
[4394] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null, "Instance probably only works on very easy difficulty", "AI doesn't move to first enemy", "AI doesn't unmount from the Magitek Reaper", "Navmesh takes 5+ minutes to build")
},
[4432] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4439] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4464] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4521] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[4522] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.292")
},
[4582] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.1.8", "(phase 1) AI doesn't move automatically", "(phase 2) AI doesn't target enemy")
},
[4591] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.2.4", "AI doesn't move after starting the instance, so enemies won't be triggered", "(First Barrier) If the player is too far south, after being stunned by Vishap's roar, AI doesn't move out of the AOE and dies to the Cauterize")
},
[4594] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4673] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4719] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4752] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.294", "(phase 1) AI walks (a bit) towards enemies, but doesn't target them and doesn't attack", "(phase 1) AI doesn't move close enough to the tattered plumage; needs to be re-tested")
},
[4823] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4829] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4835] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4841] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4847] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4849] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4853] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4855] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4859] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[4883] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4902] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4908] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.0.0.294")
},
[4942] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.294", "(phase 1) Gets stuck in the wall while walking to the evacuee NPCs")
},
[5191] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, null)
},
[5249] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.1.0.0", "(pre-fight) AI doesn't move to the Rroneeks or interact with them", "(phase 1/2) No VBM module, so doesn't target the leg, doesn't avoid AOEs and dies", "(phase 1) AI doesn't pull boss", "(phase 2) AI runs away with the stack marker; doesn't pick up orbs")
},
[5325] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(true, 0, "0.4.19.4", "You only need to complete one cake layer to complete the duty.")
},
[5433] = new SinglePlayerDutyEntry[1]
{
new SinglePlayerDutyEntry(false, 0, "0.0.0.0", "Not implemented in Boss Mod yet.")
}
};
}
}