Skip to content

Commit 5f02189

Browse files
authored
enhancement: trigger cooldown timer by event equip command (AscensionGameDev#2175)
> enhancement: trigger cooldown by event equip command > Update unequip command processing > day's review: spacing --------- Originally authored by: WeylonSantana <[email protected]>
1 parent f0cece2 commit 5f02189

File tree

6 files changed

+59
-19
lines changed

6 files changed

+59
-19
lines changed

Intersect (Core)/GameObjects/Events/Commands/EventCommands.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,9 @@ public partial class EquipItemCommand : EventCommand
483483
public Guid ItemId { get; set; }
484484

485485
public bool Unequip { get; set; }
486+
487+
public bool TriggerCooldown { get; set; }
488+
486489
}
487490

488491
public partial class ChangeSpriteCommand : EventCommand

Intersect.Editor/Forms/Editors/Events/Event Commands/EventCommand_EquipItem.Designer.cs

Lines changed: 30 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Intersect.Editor/Forms/Editors/Events/Event Commands/EventCommand_EquipItem.cs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Windows.Forms;
33

44
using Intersect.Editor.Localization;
@@ -26,12 +26,14 @@ public EventCommandEquipItems(EquipItemCommand refCommand, FrmEvent editor)
2626
cmbItem.Items.AddRange(ItemBase.Names);
2727
cmbItem.SelectedIndex = ItemBase.ListIndex(mMyCommand.ItemId);
2828
chkUnequip.Checked = mMyCommand.Unequip;
29+
chkTriggerCooldown.Checked = mMyCommand.TriggerCooldown;
2930
}
3031

3132
private void InitLocalization()
3233
{
3334
grpEquipItem.Text = Strings.EventEquipItems.title;
3435
chkUnequip.Text = Strings.EventEquipItems.unequip;
36+
chkTriggerCooldown.Text = Strings.EventEquipItems.TriggerCooldown;
3537
btnSave.Text = Strings.EventEquipItems.okay;
3638
btnCancel.Text = Strings.EventEquipItems.cancel;
3739
}
@@ -40,6 +42,7 @@ private void btnSave_Click(object sender, EventArgs e)
4042
{
4143
mMyCommand.ItemId = ItemBase.IdFromList(cmbItem.SelectedIndex);
4244
mMyCommand.Unequip = chkUnequip.Checked;
45+
mMyCommand.TriggerCooldown = chkTriggerCooldown.Checked;
4346
mEventEditor.FinishCommandEdit();
4447
}
4548

@@ -48,6 +51,18 @@ private void btnCancel_Click(object sender, EventArgs e)
4851
mEventEditor.CancelCommandEdit();
4952
}
5053

54+
private void chkUnequip_CheckedChanged(object sender, EventArgs e)
55+
{
56+
if (chkUnequip.Checked)
57+
{
58+
chkTriggerCooldown.Checked = false;
59+
chkTriggerCooldown.Enabled = false;
60+
}
61+
else
62+
{
63+
chkTriggerCooldown.Enabled = true;
64+
}
65+
}
5166
}
5267

5368
}

Intersect.Editor/Localization/Strings.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1680,6 +1680,8 @@ public partial struct EventEquipItems
16801680

16811681
public static LocalizedString unequip = @"Unequip?";
16821682

1683+
public static LocalizedString TriggerCooldown = @"Trigger Cooldown?";
1684+
16831685
}
16841686

16851687
public partial struct EventChangeVital

Intersect.Server.Core/Entities/Events/CommandProcessing.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ Stack<CommandInstance> callStack
600600
}
601601
else
602602
{
603-
player.EquipItem(ItemBase.Get(command.ItemId));
603+
player.EquipItem(ItemBase.Get(command.ItemId), updateCooldown: command.TriggerCooldown);
604604
}
605605
}
606606

Intersect.Server.Core/Entities/Player.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5606,7 +5606,7 @@ public bool SlotIsEquipped(int slot, out int equippedSlot)
56065606
}
56075607

56085608
//Equipment
5609-
public void EquipItem(ItemBase itemBase, int slot = -1)
5609+
public void EquipItem(ItemBase itemBase, int slot = -1, bool updateCooldown = false)
56105610
{
56115611
if (itemBase == null || itemBase.ItemType != ItemType.Equipment)
56125612
{
@@ -5644,7 +5644,13 @@ public void EquipItem(ItemBase itemBase, int slot = -1)
56445644
UnequipItem(Options.WeaponIndex, false);
56455645
}
56465646
}
5647+
56475648
SetEquipmentSlot(itemBase.EquipmentSlot, slot);
5649+
5650+
if (updateCooldown)
5651+
{
5652+
UpdateCooldown(itemBase);
5653+
}
56485654
}
56495655

56505656
ProcessEquipmentUpdated(true);

0 commit comments

Comments
 (0)