Skip to content

Commit 0e278de

Browse files
committed
Added option to be able to collect mini hearts without dashing
1 parent 1e7d48e commit 0e278de

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

Ahorn/entities/miniHeart.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
using ..Ahorn, Maple
44

5-
@mapdef Entity "CollabUtils2/MiniHeart" MiniHeart(x::Integer, y::Integer, sprite::String="beginner", refillDash::Bool=true)
6-
@mapdef Entity "CollabUtils2/FakeMiniHeart" FakeMiniHeart(x::Integer, y::Integer, sprite::String="beginner", refillDash::Bool=true)
5+
@mapdef Entity "CollabUtils2/MiniHeart" MiniHeart(x::Integer, y::Integer, sprite::String="beginner", refillDash::Bool=true, requireDashToBreak::Bool=true)
6+
@mapdef Entity "CollabUtils2/FakeMiniHeart" FakeMiniHeart(x::Integer, y::Integer, sprite::String="beginner", refillDash::Bool=true, requireDashToBreak::Bool=true)
77

88
heartUnion = Union{MiniHeart, FakeMiniHeart}
99

Ahorn/lang/en_gb.lang

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ placements.triggers.CollabUtils2/JournalTrigger.tooltips.showOnlyDiscovered=If c
1010
# Mini Heart
1111
placements.entities.CollabUtils2/MiniHeart.tooltips.sprite=The sprite the mini heart should use.
1212
placements.entities.CollabUtils2/MiniHeart.tooltips.refillDash=Whether bouncing on the heart should refill dashes.
13+
placements.entities.CollabUtils2/MiniHeart.tooltips.requireDashToBreak=Whether the player needs to dash on the heart to collect it.\nIf this is unchecked, the player will be able to collect the heart by just touching it.
1314

1415
# Fake Mini Heart
1516
placements.entities.CollabUtils2/FakeMiniHeart.tooltips.sprite=The sprite the fake mini heart should use.
1617
placements.entities.CollabUtils2/FakeMiniHeart.tooltips.refillDash=Whether bouncing on the heart should refill dashes.
18+
placements.entities.CollabUtils2/FakeMiniHeart.tooltips.requireDashToBreak=Whether the player needs to dash on the heart to make it disappear.\nIf this is unchecked, the heart will disappear when the player touches it.
1719

1820
# Rainbow Berry
1921
placements.entities.CollabUtils2/RainbowBerry.tooltips.levelSet=The rainbow berry will only spawn if all silver berries in this level set have been collected.

Entities/AbstractMiniHeart.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public abstract class AbstractMiniHeart : Entity {
99
protected Sprite sprite;
1010
private string spriteName;
1111
private bool refillDash;
12+
private bool requireDashToBreak;
1213

1314
protected Wiggler scaleWiggler;
1415

@@ -28,6 +29,7 @@ public AbstractMiniHeart(EntityData data, Vector2 position, EntityID gid)
2829

2930
spriteName = data.Attr("sprite");
3031
refillDash = data.Bool("refillDash", defaultValue: true);
32+
requireDashToBreak = data.Bool("requireDashToBreak", defaultValue: true);
3133

3234
Collider = new Hitbox(12f, 12f, -6f, -6f);
3335

@@ -122,7 +124,7 @@ public override void Update() {
122124

123125
private void onPlayer(Player player) {
124126
Level level = Scene as Level;
125-
if (player.DashAttacking) {
127+
if (player.DashAttacking || !requireDashToBreak) {
126128
// player broke the heart
127129
heartBroken(player, null, level);
128130
} else {

0 commit comments

Comments
 (0)