Skip to content

Commit

Permalink
feat(BattlegroundsMinion): add remaining mechanics
Browse files Browse the repository at this point in the history
  • Loading branch information
beheh committed Dec 13, 2023
1 parent 386257a commit 501ce30
Show file tree
Hide file tree
Showing 19 changed files with 39 additions and 142 deletions.
24 changes: 14 additions & 10 deletions Hearthstone Deck Tracker/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,20 @@
<ImageSource x:Key="BgsToastBackground">Resources/bgs-toast-background.jpg</ImageSource>
<ImageSource x:Key="MulliganToastBackground">Resources/mulligan-toast-bg.jpg</ImageSource>
<ImageSource x:Key="MulliganToastBackgroundGrey">Resources/mulligan-toast-bg-grey.jpg</ImageSource>
<ImageSource x:Key="DivineShield">Resources/divine-shield.png</ImageSource>
<ImageSource x:Key="MinionBorder">Resources/border.png</ImageSource>
<ImageSource x:Key="PremiumMinionBorder">Resources/border_premium.png</ImageSource>
<ImageSource x:Key="Deathrattle">Resources/deathrattle.png</ImageSource>
<ImageSource x:Key="Legendary">Resources/legendary.png</ImageSource>
<ImageSource x:Key="PremiumLegendary">Resources/legendary_premium.png</ImageSource>
<ImageSource x:Key="Poisonous">Resources/poisonous.png</ImageSource>
<ImageSource x:Key="Venomous">Resources/venomous.png</ImageSource>
<ImageSource x:Key="Taunt">Resources/taunt.png</ImageSource>
<ImageSource x:Key="PremiumTaunt">Resources/taunt_premium.png</ImageSource>
<ImageSource x:Key="DivineShield">Resources/Minion/divine-shield.png</ImageSource>
<ImageSource x:Key="MinionBorder">Resources/Minion/border.png</ImageSource>
<ImageSource x:Key="PremiumMinionBorder">Resources/Minion/border_premium.png</ImageSource>
<ImageSource x:Key="MinionStats">Resources/Minion/stats.png</ImageSource>
<ImageSource x:Key="PremiumMinionStats">Resources/Minion/stats_premium.png</ImageSource>
<ImageSource x:Key="Deathrattle">Resources/Minion/deathrattle.png</ImageSource>
<ImageSource x:Key="Legendary">Resources/Minion/legendary.png</ImageSource>
<ImageSource x:Key="PremiumLegendary">Resources/Minion/legendary_premium.png</ImageSource>
<ImageSource x:Key="Poisonous">Resources/Minion/poisonous.png</ImageSource>
<ImageSource x:Key="Venomous">Resources/Minion/venomous.png</ImageSource>
<ImageSource x:Key="Taunt">Resources/Minion/taunt.png</ImageSource>
<ImageSource x:Key="PremiumTaunt">Resources/Minion/taunt_premium.png</ImageSource>
<ImageSource x:Key="Reborn">Resources/Minion/reborn.png</ImageSource>
<ImageSource x:Key="MinionTrigger">Resources/Minion/trigger.png</ImageSource>
<ImageSource x:Key="FacelessManipulator">Resources/faceless_manipulator.png</ImageSource>
<ImageSource x:Key="XPScrollIcon">Resources/xp_scroll_item.png</ImageSource>
<ImageSource x:Key="XPFullBar">Resources/xp_filled_bar.png</ImageSource>
Expand Down
20 changes: 12 additions & 8 deletions Hearthstone Deck Tracker/Controls/BattlegroundsMinion.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,23 @@
<Viewbox Width="110" Height="110">
<Canvas Width="256" Height="256">
<Image Source="{StaticResource Taunt}" Visibility="{Binding TauntVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource PremiumTaunt}" Visibility="{Binding PremiumTauntVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource PremiumTaunt}" Visibility="{Binding PremiumTauntVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" d:Visibility="Hidden"/>
<Image HorizontalAlignment="Center" Width="256" Height="256" Source="{Binding CardPortrait.AssetPath}" RenderOptions.BitmapScalingMode="Fant">
<Image.Clip>
<EllipseGeometry RadiusX="87" RadiusY="120" Center="128,128"/>
</Image.Clip>
</Image>
<Image Source="{StaticResource MinionBorder}" Visibility="{Binding BorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource PremiumMinionBorder}" Visibility="{Binding PremiumBorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource Deathrattle}" Visibility="{Binding DeathrattleVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource Legendary}" Visibility="{Binding LegendaryBorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource PremiumLegendary}" Visibility="{Binding PremiumLegendaryBorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource Poisonous}" Visibility="{Binding PoisonousVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource Venomous}" Visibility="{Binding VenomousVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36"/>
<Image Source="{StaticResource MinionBorder}" Visibility="{Binding BorderAndStatsVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource PremiumMinionBorder}" Visibility="{Binding PremiumBorderAndStatsVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300" d:Visibility="Hidden"/>
<Image Source="{StaticResource Reborn}" Visibility="{Binding RebornVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource Legendary}" Visibility="{Binding LegendaryBorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource PremiumLegendary}" Visibility="{Binding PremiumLegendaryBorderVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300" d:Visibility="Hidden"/>
<Image Source="{StaticResource Deathrattle}" Visibility="{Binding DeathrattleVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource MinionTrigger}" Visibility="{Binding TriggerVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource Poisonous}" Visibility="{Binding PoisonousVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource Venomous}" Visibility="{Binding VenomousVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource MinionStats}" Visibility="{Binding BorderAndStatsVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300"/>
<Image Source="{StaticResource PremiumMinionStats}" Visibility="{Binding PremiumBorderAndStatsVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-24" Canvas.Top="-36" Height="350" Width="300" d:Visibility="Hidden"/>
<Image Source="{StaticResource DivineShield}" Visibility="{Binding DivineShieldVisibility}" RenderOptions.BitmapScalingMode="Fant" Canvas.Left="-36" Canvas.Top="-24" Height="311" Width="325"/>
<hearthstoneDeckTracker:HearthstoneTextBlock Text="{Binding AttackDisplay}" Fill="{Binding AttackBrush}" Width="75" Height="75" FontSize="45" TextAlignment="Center" FontWeight="Bold" Canvas.Left="29" Canvas.Top="170" />
<hearthstoneDeckTracker:HearthstoneTextBlock Text="{Binding HealthDisplay}" Fill="{Binding HealthBrush}" Width="75" Height="75" FontSize="45" TextAlignment="Center" FontWeight="Bold" Canvas.Left="151" Canvas.Top="170" />
Expand Down
20 changes: 13 additions & 7 deletions Hearthstone Deck Tracker/Controls/BattlegroundsMinion.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,17 @@ protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName

public Visibility DeathrattleVisibility { get; set; }

public Visibility TriggerVisibility { get; set; }

public Visibility RebornVisibility { get; set; }

public Visibility LegendaryBorderVisibility { get; set; }

public Visibility PremiumLegendaryBorderVisibility { get; set; }

public Visibility PremiumBorderVisibility { get; set; }
public Visibility PremiumBorderAndStatsVisibility { get; set; }

public Visibility BorderVisibility { get; set; }
public Visibility BorderAndStatsVisibility { get; set; }

public string? AttackDisplay { get; set; }

Expand Down Expand Up @@ -76,24 +80,26 @@ private void SetDisplayValues()
private void SetEffectVisibilites()
{
PoisonousVisibility = _entity.HasTag(GameTag.POISONOUS) ? Visibility.Visible : Visibility.Hidden;
VenomousVisibility = _entity.HasTag(GameTag.VENOMOUS) ? Visibility.Visible : Visibility.Hidden;
VenomousVisibility = !_entity.HasTag(GameTag.POISONOUS) && _entity.HasTag(GameTag.VENOMOUS) ? Visibility.Visible : Visibility.Hidden;
TriggerVisibility = Visibility.Hidden; // always hide for now, seems like TRIGGER_VISUAL is a bit too common to be useful
DivineShieldVisibility = _entity.HasTag(GameTag.DIVINE_SHIELD) ? Visibility.Visible : Visibility.Hidden;
DeathrattleVisibility = _entity.HasTag(GameTag.DEATHRATTLE) ? Visibility.Visible : Visibility.Hidden;
RebornVisibility = _entity.HasTag(GameTag.REBORN) ? Visibility.Visible : Visibility.Hidden;

if(_entity.HasTag(GameTag.PREMIUM))
{
PremiumLegendaryBorderVisibility = _entity.Card.Rarity == Rarity.LEGENDARY ? Visibility.Visible : Visibility.Hidden;
PremiumBorderVisibility = Visibility.Visible;
BorderVisibility = Visibility.Hidden;
PremiumBorderAndStatsVisibility = Visibility.Visible;
BorderAndStatsVisibility = Visibility.Hidden;
LegendaryBorderVisibility = Visibility.Hidden;
TauntVisibility = Visibility.Hidden;
PremiumTauntVisibility = _entity.HasTag(GameTag.TAUNT) ? Visibility.Visible : Visibility.Hidden;
}
else
{
PremiumLegendaryBorderVisibility = Visibility.Hidden;
PremiumBorderVisibility = Visibility.Hidden;
BorderVisibility = Visibility.Visible;
PremiumBorderAndStatsVisibility = Visibility.Hidden;
BorderAndStatsVisibility = Visibility.Visible;
LegendaryBorderVisibility = _entity.Card.Rarity == Rarity.LEGENDARY ? Visibility.Visible : Visibility.Hidden;
TauntVisibility = _entity.HasTag(GameTag.TAUNT) ? Visibility.Visible : Visibility.Hidden;
PremiumTauntVisibility = Visibility.Hidden;
Expand Down
90 changes: 0 additions & 90 deletions Hearthstone Deck Tracker/Properties/Resources.Designer.cs

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

27 changes: 0 additions & 27 deletions Hearthstone Deck Tracker/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -130,33 +130,6 @@
<data name="armor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\armor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="border" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\border.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="border_premium" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\border_premium.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="deathrattle" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\deathrattle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="divine_shield" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\divine-shield.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="legendary" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\legendary.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="legendary_premium" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\legendary_premium.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="poisonous" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\poisonous.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="taunt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\taunt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="taunt_premium" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\taunt_premium.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="faceless_manipulator" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\faceless_manipulator.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 501ce30

Please sign in to comment.