You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.2 KiB
114 lines
4.2 KiB
@if (Entity.Weapons().Count > 0) { |
|
<EntityDisplayComponent Title="Weapons"> |
|
<div class="weaponsContainer"> |
|
@foreach (var data in Entity.Weapons()) { |
|
<div> |
|
<div> |
|
<div class="damageContainer"> |
|
<div> |
|
<b>Damage:</b> @data.Damage |
|
</div> |
|
@if (data.LightDamage != 0) { |
|
<div class="alternateDamage"> |
|
<i>vs Light: @data.LightDamage</i> |
|
</div> |
|
} |
|
@if (data.MediumDamage != 0) { |
|
<div class="alternateDamage"> |
|
<i>vs Medium: @data.MediumDamage</i> |
|
</div> |
|
} |
|
@if (data.HeavyDamage != 0) { |
|
<div class="alternateDamage"> |
|
<i>vs Heavy: @data.HeavyDamage</i> |
|
</div> |
|
} |
|
@if (data.EthericDamageBonus != 0) { |
|
<div class="alternateDamage"> |
|
<i>vs Etheric +@data.EthericDamageBonus</i> |
|
</div> |
|
} |
|
@if (data.StructureDamageBonus != 0) { |
|
<div class="alternateDamage"> |
|
<i>vs Structure: +@data.StructureDamageBonus</i> |
|
</div> |
|
} |
|
</div> |
|
</div> |
|
<div> |
|
<b>Range:</b> @data.Range |
|
</div> |
|
@if (data.SecondsBetweenAttacks > 0) { |
|
<div> |
|
<b>AttacksPerSecond:</b> @(1 / data.SecondsBetweenAttacks) |
|
</div> |
|
<div> |
|
(or <b>SecondsBetweenAttacks:</b> @data.SecondsBetweenAttacks) |
|
</div> |
|
} |
|
else if (data.AttacksPerSecond > 0) { |
|
<div> |
|
<b>AttacksPerSecond:</b> @data.AttacksPerSecond |
|
</div> |
|
<div> |
|
(or <b>SecondsBetweenAttacks:</b> @(1 / data.AttacksPerSecond)) |
|
</div> |
|
} |
|
|
|
<div> |
|
<b>Targets:</b> @data.Targets |
|
</div> |
|
@if (data.AttacksPerSecond != 0) { |
|
<span> |
|
<b>DPS:</b> @(Math.Round(data.Damage * data.AttacksPerSecond)) |
|
</span> |
|
@if (data.LightDamage != 0) { |
|
<span> |
|
<i>L: @(Math.Round(data.LightDamage * data.AttacksPerSecond))</i> |
|
</span> |
|
} |
|
@if (data.MediumDamage != 0) { |
|
<span> |
|
<i>M: @(Math.Round(data.MediumDamage * data.AttacksPerSecond))</i> |
|
</span> |
|
} |
|
@if (data.HeavyDamage != 0) { |
|
<span> |
|
<i>H: @(Math.Round(data.HeavyDamage * data.AttacksPerSecond))</i> |
|
</span> |
|
} |
|
} |
|
</div> |
|
} |
|
</div> |
|
</EntityDisplayComponent> |
|
} |
|
|
|
<style> |
|
.weaponsContainer { |
|
display: flex; |
|
gap: 32px; |
|
} |
|
|
|
@@media only screen and (max-width: 1025px) { |
|
.weaponsContainer { |
|
flex-direction: column; |
|
gap: 4px; |
|
} |
|
} |
|
|
|
.alternateDamage { |
|
margin-left: 18px; |
|
} |
|
|
|
.damageContainer { |
|
margin-bottom: 6px; |
|
} |
|
</style> |
|
|
|
@code { |
|
|
|
[CascadingParameter] |
|
public EntityModel? Entity { get; set; } |
|
|
|
} |