Skip to content

Commit

Permalink
Add known DLC3 items
Browse files Browse the repository at this point in the history
  • Loading branch information
silvanshade committed Sep 29, 2024
1 parent 8a411c1 commit 760bc5b
Show file tree
Hide file tree
Showing 4 changed files with 652 additions and 11 deletions.
11 changes: 8 additions & 3 deletions RemnantSaveGuardian/RemnantItem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ public class RemnantItem : IEquatable<Object>, IComparable
@"/Items/(?<itemType>Archetypes)/\w+/(?<itemName>Archetype_\w+)(?:\.|$)", // archetypes
@"/Items/Archetypes/(?<archetypeName>\w+)/(?<itemType>\w+)/\w+/(?<itemName>\w+)(?:\.|$)", // perks and skills
@"/Items/(?<itemType>Traits)/(?<traitType>\w+?/)?\w+?/(?<itemName>\w+)(?:\.|$)", // traits
@"/Items/Archetypes/(?<archetypeName>\w+)/PerksAnd(?<itemType>Traits)/(?<itemName>\w+)", // archetype traits dlc2
@"/Items/Archetypes/(?<archetypeName>\w+)/(?:PerksAnd)?(?<itemType>Traits)/(?<itemName>\w+)", // archetype traits dlc2 and dlc3
@"/Items/Archetypes/(?<armorSet>\w+)/(?<itemType>Armor)/(?<itemName>\w+)(?:\.|$)", // armors
@"/Items/(?<itemType>Armor)/(?:\w+/)?(?:(?<armorSet>\w+)/)?(?<itemName>\w+)(?:\.|$)", // armor
@"/Items/(?<itemType>Weapons)/(?:\w+/)+(?<itemName>\w+)(?:\.|$)", // weapons
@"/Items/(?<itemType>Gems)/(?:\w+/)+(?<itemName>\w+)(?:\.|$)", // gems
@"/Items/Armor/(?:\w+/)?(?<itemType>Relic)Testing/(?:\w+/)+(?<itemName>\w+)(?:\.|$)", // relics
@"/Items/(?<itemType>Relic)s/(?:\w+/)+(?<itemName>\w+)(?:\.|$)", // relics
@"/Items/Materials/(?<itemType>Engrams)/(?<itemName>\w+)(?:\.|$)", // engrams
@"/(?<itemType>Quests)/Quest_\w+/Items/(?<itemName>\w+)(?:\.|$)", // quest items
@"/Items/Archetypes/(?<archetypeName>Warden)/(?<itemName>Item_HiddenContainer_Material_Engram_Warden)", // warden engram
@"/(?<itemType>Quests)/Quest_\w+/Items/(?:Quest_Hidden_Item\w+/)?(?<itemName>\w+)(?:\.|$)", // quest items
@"/Items/(?<itemType>Materials)/World/\w+/(?<itemName>\w+)(?:\.|$)", // materials
};
public static List<string> ItemKeyPatterns { get { return _itemKeyPatterns; } }
Expand Down Expand Up @@ -106,7 +107,11 @@ public RemnantItem(string nameOrKey)
continue;
}
this._key = this._key.Replace(".", "");
this._type = nameMatch.Groups["itemType"].Value;
if (nameMatch.Groups["archetypeName"].Value == "Warden") {
this._type = "Engrams";
} else {
this._type = nameMatch.Groups["itemType"].Value;
}
this._name = nameMatch.Groups["itemName"].Value;
if (nameMatch.Groups.ContainsKey("armorSet"))
{
Expand Down
42 changes: 36 additions & 6 deletions RemnantSaveGuardian/RemnantWorldEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1049,18 +1049,48 @@ static public void ProcessEvents(RemnantCharacter character, List<Match> areas,
// Add associated events
if (worldEvent.RawWorld == "World_Nerud" && worldEvent.RawName.Contains("Story"))
{
var cust = new RemnantWorldEvent("TheCustodian", worldEvent.Locations, "Point of Interest");
cust.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "TheCustodian") == -1)
areaEvents.Add(cust);
if (worldEvent.RawName == "TheCoreStory") {
var cust = new RemnantWorldEvent("TheCustodian", worldEvent.Locations, "Point of Interest");
cust.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "TheCustodian") == -1)
areaEvents.Add(cust);
}
if (worldEvent.RawName == "IAmLegendStory")
{
var talratha = new RemnantWorldEvent("TalRatha", "World_Nerud", "WorldBoss");
talratha.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "TalRatha") == -1)
areaEvents.Add(talratha);
}

if (worldEvent.RawName == "DLC3Story") {
RemnantWorldEvent agronomy_sector = new RemnantWorldEvent("AgronomySector", "World_Nerud", "Location");
agronomy_sector.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "AgronomySector") == -1)
areaEvents.Add(agronomy_sector);

RemnantWorldEvent withered_necropolis = new RemnantWorldEvent("WitheredNecropolis", "World_Nerud", "Location");
withered_necropolis.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "WitheredNecropolis") == -1)
areaEvents.Add(withered_necropolis);

RemnantWorldEvent bicentennial_man = new RemnantWorldEvent("BicentennialMan", "World_Nerud", "Point of Interest");
bicentennial_man.Locations.Add("RepairLab");
bicentennial_man.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "BicentennialMan") == -1)
areaEvents.Add(bicentennial_man);

var custodian = new RemnantWorldEvent("TheCustodianDLC3", "World_Nerud", "Point of Interest");
custodian.Locations.Add("WitheredNecropolis");
custodian.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "TheCustodianDLC3") == -1)
areaEvents.Add(custodian);

var alepsis_taura = new RemnantWorldEvent("AlepsisTaura", "World_Nerud", "WorldBoss");
alepsis_taura.Locations.Add("TheConvergence");
alepsis_taura.setMissingItems(character);
if (areaEvents.FindIndex(e => e.RawName == "AlepsisTaura") == -1)
areaEvents.Add(alepsis_taura);
}
}

if (worldEvent.RawName == "AsylumStory" && worldEvent.RawWorld == "World_Fae")
Expand Down Expand Up @@ -1314,7 +1344,7 @@ static public void ProcessEvents(RemnantCharacter character, List<Match> areas,
if (mode == ProcessMode.Campaign)
{
// Add Ward 13 events
List<string> ward13Events = new() { "Ward13", "Cass", "Brabus", "Mudtooth", "Reggie", "Whispers", "McCabe", "Dwell" };
List<string> ward13Events = new() { "Ward13", "Cass", "Brabus", "Mudtooth", "Reggie", "Whispers", "McCabe", "Dwell", "Duane", "Spark" };
foreach (var eName in ward13Events)
{
var wardEvent = new RemnantWorldEvent(eName, "World_Earth", "Home");
Expand Down
Loading

0 comments on commit 760bc5b

Please sign in to comment.