From 8bdf5bdd580863229b668d5b4232836bc2831a84 Mon Sep 17 00:00:00 2001 From: navarchus Date: Thu, 22 Aug 2024 23:55:36 -0400 Subject: [PATCH 1/2] implement thanatos' reflection (placeholder name for OpThanos) --- .../at/petrak/hexcasting/common/lib/hex/HexActions.java | 3 +++ .../resources/assets/hexcasting/lang/en_us.flatten.json5 | 5 ++++- .../thehexbook/en_us/entries/patterns/meta.json | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Common/src/main/java/at/petrak/hexcasting/common/lib/hex/HexActions.java b/Common/src/main/java/at/petrak/hexcasting/common/lib/hex/HexActions.java index deca2c26de..27398b8787 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/lib/hex/HexActions.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/lib/hex/HexActions.java @@ -395,6 +395,9 @@ public class HexActions { public static final ActionRegistryEntry WRITE$LOCAL = make("write/local", new ActionRegistryEntry(HexPattern.fromAngles("eqqwawqaaw", HexDir.NORTH_WEST), OpPushLocal.INSTANCE)); + public static final ActionRegistryEntry THANATOS = make("thanatos", + new ActionRegistryEntry(HexPattern.fromAngles("qqaed", HexDir.SOUTH_EAST), OpThanos.INSTANCE)); + // == Consts == public static final ActionRegistryEntry CONST$NULL = make("const/null", diff --git a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 index 622d4f748f..dc7d27eb00 100644 --- a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 +++ b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 @@ -770,7 +770,8 @@ "eval/cc": "Iris' Gambit", for_each: "Thoth's Gambit", halt: "Charon's Gambit", - + thanatos: "Thanatos' Reflection", + "interop/": { "gravity/": { get: "Gravitational Purification", @@ -1778,6 +1779,8 @@ "eval/cc.1": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that a unique \"Jump\" iota is pushed to the stack beforehand. ", "eval/cc.2": "When the \"Jump\"-iota is executed, it'll skip the rest of the patterns and jump directly to the end of the pattern list.$(p)While this may seem redundant given $(l:patterns/meta#hexcasting:halt)$(action)Charon's Gambit/$ exists, this allows you to exit $(italic)nested/$ $(l:patterns/meta#hexcasting:eval)$(action)Hermes'/$ invocations in a controlled way, where Charon only allows you to exit one.$(p)The \"Jump\" iota will apparently stay on the stack even after execution is finished... better not think about the implications of that.", + + "thanatos.1": "Adds the number of evaluations a _Hex is still capable of to the stack. This is reduced by $(l:patterns/meta#hexcasting:eval)$(action)Hermes'/$ and $(l:patterns/meta#hexcasting:for_each)$(action)Thoth's/$ Gambit." }, circle_patterns: { diff --git a/Common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/meta.json b/Common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/meta.json index 4c0225732f..63e7f68c4a 100644 --- a/Common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/meta.json +++ b/Common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/meta.json @@ -51,6 +51,13 @@ { "type": "patchouli:text", "text": "hexcasting.page.meta.halt.2" + }, + { + "type": "hexcasting:pattern", + "op_id": "hexcasting:thanatos", + "anchor": "hexcasting:thanatos", + "output": "number", + "text": "hexcasting.page.meta.thanatos.1" } ] } From 2c24f3134004aa98c64481224f2213d2c392bff9 Mon Sep 17 00:00:00 2001 From: Toby Vestal Date: Fri, 23 Aug 2024 13:36:51 -0400 Subject: [PATCH 2/2] update thanatos description Co-authored-by: [object Object] --- .../main/resources/assets/hexcasting/lang/en_us.flatten.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 index dc7d27eb00..a5f2ebbc71 100644 --- a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 +++ b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 @@ -1780,7 +1780,7 @@ "eval/cc.1": "Cast a pattern or list of patterns from the stack exactly like $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$, except that a unique \"Jump\" iota is pushed to the stack beforehand. ", "eval/cc.2": "When the \"Jump\"-iota is executed, it'll skip the rest of the patterns and jump directly to the end of the pattern list.$(p)While this may seem redundant given $(l:patterns/meta#hexcasting:halt)$(action)Charon's Gambit/$ exists, this allows you to exit $(italic)nested/$ $(l:patterns/meta#hexcasting:eval)$(action)Hermes'/$ invocations in a controlled way, where Charon only allows you to exit one.$(p)The \"Jump\" iota will apparently stay on the stack even after execution is finished... better not think about the implications of that.", - "thanatos.1": "Adds the number of evaluations a _Hex is still capable of to the stack. This is reduced by $(l:patterns/meta#hexcasting:eval)$(action)Hermes'/$ and $(l:patterns/meta#hexcasting:for_each)$(action)Thoth's/$ Gambit." + "thanatos.1": "Adds the number of patterns a _Hex is still capable of evaluating to the stack. This is reduced by one for each pattern cast by the _Hex." }, circle_patterns: {