From 6dd633d2bf6ef7b150ebf05c27f8683718caa3bb Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 10 Oct 2024 00:28:47 +0900 Subject: [PATCH] wirecutter now ignores axles --- .../torvald/terrarum/modulebasegame/WorldSimulator.kt | 4 +++- .../terrarum/modulebasegame/gameitems/WireCutterAll.kt | 9 ++------- .../terrarum/modulebasegame/ui/UIWireCutterPie.kt | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/net/torvald/terrarum/modulebasegame/WorldSimulator.kt b/src/net/torvald/terrarum/modulebasegame/WorldSimulator.kt index 57e27c89a..918ae9e2e 100644 --- a/src/net/torvald/terrarum/modulebasegame/WorldSimulator.kt +++ b/src/net/torvald/terrarum/modulebasegame/WorldSimulator.kt @@ -641,7 +641,9 @@ object WorldSimulator { } } } - fixture?.first?.updateOnWireGraphTraversal(tileOffsetFromFixture!!.x, tileOffsetFromFixture!!.y, fixture!!.second) + + if (fixture != null && tileOffsetFromFixture != null) + fixture!!.first.updateOnWireGraphTraversal(tileOffsetFromFixture!!.x, tileOffsetFromFixture!!.y, fixture!!.second) } } diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt index e574aac8a..51230ec79 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt @@ -106,14 +106,9 @@ class WireCutterAll(originalID: ItemID) : GameItem(originalID), FixtureInteracti override fun startPrimaryUse(actor: ActorWithBody, delta: Float): Long { - val itemToRemove = UIWireCutterPie.getWireItemID(actor.actorValue.getAsInt(AVKey.__PLAYER_WIRECUTTERSEL) ?: 0) + val itemToRemove = UIWireCutterPie.getWireItemID(actor.actorValue.getAsInt(AVKey.__PLAYER_WIRECUTTERSEL) ?: 0).split(';') - val filter = if (itemToRemove == "__all__") { - { it: ItemID -> true } - } - else { - { it: ItemID -> it == itemToRemove } - } + val filter = { it: ItemID -> itemToRemove.contains(it) } return WireCutterBase.startPrimaryUse(this, actor, delta, filter) } diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIWireCutterPie.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIWireCutterPie.kt index 05950dbbc..464e04b2c 100644 --- a/src/net/torvald/terrarum/modulebasegame/ui/UIWireCutterPie.kt +++ b/src/net/torvald/terrarum/modulebasegame/ui/UIWireCutterPie.kt @@ -88,7 +88,7 @@ class UIWireCutterPie(val itemID: ItemID) : UICanvas() { fun getWireItemID(index: Int): String { return when (index) { - 0 -> "__all__" + 0 -> "wire@basegame:8192;wire@basegame:8193;wire@basegame:8194;wire@basegame:8195;wire@basegame:8196;wire@basegame:1;wire@basegame:2;wire@basegame:3;wire@basegame:4;wire@basegame:16;wire@basegame:17;wire@basegame:18;wire@basegame:19" 1 -> "wire@basegame:8192" 2 -> "wire@basegame:8193" 3 -> "wire@basegame:8194"