Skip to content

Commit

Permalink
Fix EtienneLamoureux#505 : Fully support HCDungeon relic
Browse files Browse the repository at this point in the history
  • Loading branch information
hguy committed Aug 22, 2023
1 parent c6204d8 commit 9d6087d
Show file tree
Hide file tree
Showing 12 changed files with 61 additions and 38 deletions.
27 changes: 25 additions & 2 deletions src/TQVaultAE.Domain/Entities/RecordId.ForItems.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,33 @@
using System;
using System.Linq;

namespace TQVaultAE.Domain.Entities;

public partial class RecordId
{

#region IsHCDungeonEE

bool? _IsHardCoreDungeonEE;
/// <summary>
/// This <see cref="RecordId"/> leads to the EE Hardcore Dungeon.
/// </summary>
public bool IsHardCoreDungeonEE
{
get
{
if (_IsHardCoreDungeonEE is null)
_IsHardCoreDungeonEE = this.Normalized.Contains(@"\HCDUNGEON\");
return _IsHardCoreDungeonEE.Value;
}
}

#endregion

#region IsRelic

private readonly string[] HCDungeonRelic = new[] { "03_X4_ESSENCEOFORDER_CHARM", "03_X4_ESSENCEOFCHAOS" };

bool? _IsRelic;
/// <summary>
/// This <see cref="RecordId"/> leads to a Relic content.
Expand All @@ -17,7 +38,8 @@ public bool IsRelic
{
if (_IsRelic is null)
_IsRelic = (this.Dlc == GameDlc.TitanQuest && this.Normalized.Contains(@"RELICS") && !IsCharm) // Is base game
|| this.Normalized.Contains(@"\RELICS\");// Is part of an extension
|| this.Normalized.Contains(@"\RELICS\")// Is part of an extension
|| (this.IsHardCoreDungeonEE && HCDungeonRelic.Any(n => this.Normalized.Contains(n)));// items that break the rule
return _IsRelic.Value;
}
}
Expand All @@ -36,7 +58,8 @@ public bool IsCharm
{
if (_IsCharm is null)
_IsCharm = (this.Dlc == GameDlc.TitanQuest && this.Normalized.Contains(@"ANIMALRELICS")) // Is base game
|| this.Normalized.Contains(@"\CHARMS\");// Is part of an extension
|| this.Normalized.Contains(@"\CHARMS\")// Is part of an extension
|| (this.IsHardCoreDungeonEE && this.Normalized.Contains(@"GOLDENSCARAB"));// items that break the rule
return _IsCharm.Value;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/TQVaultAE.Domain/Entities/RecordId.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public GameDlc Dlc
if (_Dlc is null)
_Dlc = this.Normalized switch
{
var x when x.Contains(@"\XPACK4\") => GameDlc.EternalEmbers,
var x when x.Contains(@"\XPACK4\") || this.IsHardCoreDungeonEE => GameDlc.EternalEmbers,
var x when x.Contains(@"\XPACK3\") => GameDlc.Atlantis,
var x when x.Contains(@"\XPACK2\") => GameDlc.Ragnarok,
var x when x.Contains(@"\XPACK\") => GameDlc.ImmortalThrone,
Expand Down
10 changes: 5 additions & 5 deletions src/TQVaultAE.GUI/Components/StashPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ public class StashPanel : VaultPanel, IScalingControl
/// </summary>
private static string[] buttonNames =
{
Resources.StashPanelBtn1,
Resources.StashPanelBtn2,
Resources.StashPanelBtn3,
Resources.StashPanelBtnEquipment,
Resources.StashPanelBtnTransferArea,
Resources.StashPanelBtnStorageArea,
Resources.GlobalRelicVaultStash
};

Expand Down Expand Up @@ -263,7 +263,7 @@ private void GetSkillStatBonus()

private void DisplayPlayerInfo()
{
if (this.Player == null || !this.equipmentPanel.Visible || this.BagButtons[this.CurrentBag].ButtonText != Resources.StashPanelBtn1)
if (this.Player == null || !this.equipmentPanel.Visible || this.BagButtons[this.CurrentBag].ButtonText != Resources.StashPanelBtnEquipment)
{
this.PlayerPanel.Visible = false;
return;
Expand Down Expand Up @@ -544,7 +544,7 @@ public new int CurrentBag
if (this.currentBag == BAGID_EQUIPMENTPANEL)
{
// Equipment Panel
if (this.Player == null)
if (this.Player == null)
this.equipmentPanel.Sack = null;
else
this.equipmentPanel.Sack = this.Player.EquipmentSack;
Expand Down
12 changes: 6 additions & 6 deletions src/TQVaultAE.Presentation/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.de.resx
Original file line number Diff line number Diff line change
Expand Up @@ -813,13 +813,13 @@ um den Titel-Screen zu Schließen.</value>
Bitte besuchen Sie im Spiel den Karawanentreiber, um eine Stauraum-Datei zu erstellen.
Der Stauraum ist für diesen Charakter nicht verfügbar.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Ausrüstung</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Übergabebereich</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Stauraum</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.es.resx
Original file line number Diff line number Diff line change
Expand Up @@ -814,13 +814,13 @@ avance al programa por sí sola.</value>
Por favor, visita al conductor de caravana para crearlo.
La pestaña de almacén de caravana estará deshabilitada.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Equipo</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Almacén caravana (transfer.)</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Almacén caravana</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.fr.resx
Original file line number Diff line number Diff line change
Expand Up @@ -816,13 +816,13 @@ automatiquement activé sur l'écran d'accueil.</value>
Allez voir le Conducteur de caravane dans le jeu pour créer le fichier.
L'onglet Zone de stockage ne sera pas disponible pour ce personnage.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Equipement</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Zone de transfert</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Zone de stockage</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.pl.resx
Original file line number Diff line number Diff line change
Expand Up @@ -806,13 +806,13 @@ klawisza Enter na ekranie tytułowym.</value>
Odwiedź Karawanę w grze by stworzyć plik.
Pole Okna Karawany będzie niedostępne dla tej postaci.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Ekwipunek</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Pole Transferu</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Pole Karawany</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.pt.resx
Original file line number Diff line number Diff line change
Expand Up @@ -834,13 +834,13 @@ avançe para o programa por si só.</value>
Por favor, visite o condutor da Caravana no jogo para criar o arquivo.
A guia área de armazenamento ficará indisponível para esse personagem.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Equipamento</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Área de Transferência</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Área de Armazenamento</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -836,13 +836,13 @@ the Enter key on the title screen.</value>
Please visit the Caravan Trader in game to create the file.
The Storage Area tab will be unavailable for this character.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Equipment</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Transfer Area</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Storage Area</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.ru.resx
Original file line number Diff line number Diff line change
Expand Up @@ -811,13 +811,13 @@ Enter когда появляется экран приветствия.</value>
тех пор вкладки, связанные с Погонщиком для этого персонажа
будут недоступны.</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>Экипировка</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>Панель передачи</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>Склад</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down
6 changes: 3 additions & 3 deletions src/TQVaultAE.Presentation/Resources.zh.resx
Original file line number Diff line number Diff line change
Expand Up @@ -819,13 +819,13 @@ TQVault关闭仍有物品在垃圾桶时将不会有提示信息。</value>
请在游戏中找旅行商队来创建这个文件。
该角色将会没有存储区域选项卡。</value>
</data>
<data name="StashPanelBtn1" xml:space="preserve">
<data name="StashPanelBtnEquipment" xml:space="preserve">
<value>装备</value>
</data>
<data name="StashPanelBtn2" xml:space="preserve">
<data name="StashPanelBtnTransferArea" xml:space="preserve">
<value>共享空间</value>
</data>
<data name="StashPanelBtn3" xml:space="preserve">
<data name="StashPanelBtnStorageArea" xml:space="preserve">
<value>存储空间</value>
</data>
<data name="StashPanelText" xml:space="preserve">
Expand Down

0 comments on commit 9d6087d

Please sign in to comment.