Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document iota embedding and the Shepherd Directrix mishap, plus minor fixes #862

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -987,7 +987,7 @@
bad_entity: "needs %s but got %s",
bad_brainsweep: "The %s rejected the being's mind",
already_brainswept: "The mind has already been used",
no_spell_circle: "%s requires a spell circle",
no_spell_circle: "requires a spell circle",
others_name: "Tried to invade the privacy of %s's soul",
"others_name.self": "Tried to divulge my Name too recklessly",

Expand Down Expand Up @@ -1481,6 +1481,9 @@

"no_record.title": "Lack Akashic Record",
no_record: "Tried to access an $(l:greatwork/akashiclib)$(item)Akashic Record/$ at a location where there isn't one.$(br2)Causes purple sparks, and steals away some of my experience.",

"bad_shepherd.title": "Improper Shepherding",
bad_shepherd: "Tried to activate a $(l:greatwork/directrix)$(item)Shepherd Directrix/$ without a boolean on the top of the stack.$(br2)Causes red and white sparks, and forcibly ejects the Shepherd Directrix from the circle. This doesn't destroy it, thankfully, but I should make sure to go pick it up and replace it where it belongs.",
},


Expand Down Expand Up @@ -1647,7 +1650,7 @@

empty_directrix: "Firstly, a design for the cradle ... although, perhaps \"substrate\" would be more accurate a word. Without a mind guiding it, the output direction is determined by microscopic fluctuations in the _media wave and surroundings, making it effectively random.",
directrix_redstone: "A $(l:greatwork/directrix)$(item)Mason Directrix/$ switches output side based on a redstone signal. Without a signal, the exit is the _media-color side; with a signal, the exit is the redstone-color side.",
directrix_boolean: "A $(l:greatwork/directrix)$(item)Shepherd Directrix/$ switches output side based on a boolean on the stack. A $(thing)True/$ makes the wave exit from the back, a $(thing)False/$ from the front."
directrix_boolean: "A $(l:greatwork/directrix)$(item)Shepherd Directrix/$ switches output side based on a boolean on the stack. A $(thing)True/$ makes the wave exit from the back, a $(thing)False/$ from the front. Failing to provide a boolean at all will cause a mishap."
},

akashiclib: {
Expand Down Expand Up @@ -1719,7 +1722,7 @@
numvec: "Many mathematical operations function on both numbers and vectors. Such arguments are written as \"num|vec\".",

"add.1": "Perform addition.",
"add.2": "As such:$(li)With two numbers at the top of the stack, combines them into their sum.$(li)With a number and a vector, removes the number from the stack and adds it to each element of the vector.$(li)With two vectors, combines them by summing corresponding components into a new vector (i.e. [1, 2, 3] + [0, 4, -1] = [1, 6, 2]).",
"add.2": "As such:$(li)With two numbers at the top of the stack, combines them into their sum.$(li)With a number and a vector, removes the number from the stack and adds it to each element of the vector.$(li)With two vectors, combines them by summing corresponding components into a new vector (i.e. (1, 2, 3) + (0, 4, -1) = (1, 6, 2)).",

"sub.1": "Perform subtraction.",
"sub.2": "As such:$(li)With two numbers at the top of the stack, combines them into their difference.$(li)With a number and a vector, removes the number from the stack and subtracts it from each element of the vector.$(li)With two vectors, combines them by subtracting each component.$(br2)In all cases, the top of the stack or its components are subtracted $(italic)from/$ the second-from-the-top.",
Expand Down Expand Up @@ -1778,10 +1781,10 @@
"false": "Adds $(thing)False/$ to the top of the stack.",

"vec/": {
x: "The left-hand counter-clockwise pattern adds [1, 0, 0] to the stack; the right-hand clockwise pattern adds [-1, 0, 0].",
y: "The left-hand counter-clockwise pattern adds [0, 1, 0] to the stack; the right-hand clockwise pattern adds [0, -1, 0].",
z: "The left-hand counter-clockwise pattern adds [0, 0, 1]; the right-hand clockwise pattern adds [0, 0, -1].",
"0": "Adds [0, 0, 0] to the stack.",
x: "The left-hand counter-clockwise pattern adds (1, 0, 0) to the stack; the right-hand clockwise pattern adds (-1, 0, 0).",
y: "The left-hand counter-clockwise pattern adds (0, 1, 0) to the stack; the right-hand clockwise pattern adds (0, -1, 0).",
z: "The left-hand counter-clockwise pattern adds (0, 0, 1); the right-hand clockwise pattern adds (0, 0, -1).",
"0": "Adds (0, 0, 0) to the stack.",
},

"double/": {
Expand Down Expand Up @@ -1889,9 +1892,14 @@
parens: {
"1": "Drawing $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)Introspection/$ makes my drawing of patterns act differently, for a time. Until I draw $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)Retrospection/$, the patterns I draw are saved. Then, when I draw $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospection/$, they are added to the stack as a list iota.",
"2": "If I draw another $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Introspection/$, it'll still be saved to the list, but I'll then have to draw $(italic)two/$ $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospections/$ to get back to normal casting.",
"3": "Also, I can escape the special behavior of $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)Intro-/$ and $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospection/$ by drawing a $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Consideration/$ before them, which will simply add them to the list without affecting which the number of $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospections/$ I need to return to casting.$(br2)If I draw two $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Considerations/$ in a row while $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)introspecting/$, it will add a single $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Consideration/$ to the list.",
},
undo: "Finally, if I make a mistake while drawing patterns inside $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)Intro-/$ and $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospection/$ I can draw $(l:patterns/patterns_as_iotas#hexcasting:undo)$(action)Evanition/$ to remove the last pattern that I drew from the pattern list that is being constructed.",
further_notes: {
title: "Further Notes",
"1": "I can escape the special behavior of $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)Intro-/$ and $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospection/$ by drawing a $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Consideration/$ before them, which will simply add them to the list without affecting which the number of $(l:patterns/patterns_as_iotas#hexcasting:close_paren)$(action)Retrospections/$ I need to return to casting.$(br2)If I draw two $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Considerations/$ in a row while $(l:patterns/patterns_as_iotas#hexcasting:open_paren)$(action)introspecting/$, it will add a single $(l:patterns/patterns_as_iotas#hexcasting:escape)$(action)Consideration/$ to the list.",
"2": "If an iota other than a pattern is present in a list to be executed by $(l:patterns/meta#hexcasting:eval)$(action)Hermes' Gambit/$ or any other meta-evaluation pattern, it will normally result in a mishap. However, this can be avoided using the patterns described in this section.$(br2)Just as with pattern iotas, the patterns described here can be used to \"escape\" $(o)any other$() kind of iota, causing it to be pushed to the stack when something tries to evaluate it instead of causing a mishap.",
"3": "This technique may be useful if I want a _Hex to be able to reference a specific iota, such as a complicated vector or an entity reference, without having to construct or obtain it each time.$(br2)The process of getting such an iota into a list of patterns in the first place may be somewhat involved. The simplest method would be to draw a placeholder pattern when assembling the list, and then make use of $(l:patterns/lists#hexcasting:replace)$(action)Surgeon's Exaltation/$ to replace it with my desired iota.",
},
},

readwrite: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1558,7 +1558,7 @@
numvec: "Многие математические операции выполняются как над числами, так и над векторами. Такие аргументы записываются как \"num|vec\".",

"add.1": "Сложение.",
"add.2": "Как следует:$(li)С двумя числами в верхней части стека объединяет их в их сумму.$(li)С числом и вектором удаляет число из стека и добавляет его к каждому элементу вектора.$(li)С двумя векторами объединяет их, складывая соответствующие компоненты в новый вектор (т.е. [1, 2, 3] + [0, 4, -1] = [1, 6, 2]).",
"add.2": "Как следует:$(li)С двумя числами в верхней части стека объединяет их в их сумму.$(li)С числом и вектором удаляет число из стека и добавляет его к каждому элементу вектора.$(li)С двумя векторами объединяет их, складывая соответствующие компоненты в новый вектор (т.е. (1, 2, 3) + (0, 4, -1) = (1, 6, 2)).",

"sub.1": "Вычитание.",
"sub.2": "Как следует:$(li)С двумя числами в верхней части стека вычисляет их разность.$(li)С числом и вектором удаляет число из стека и вычитает его из каждого элемента вектора.$(li)С двумя векторами вычисляет их, вычитая каждую компоненту.$(br2)Во всех случаях верхняя часть стека или ее компоненты вычитаются $(italic)из/$ второй сверху.",
Expand Down Expand Up @@ -1617,10 +1617,10 @@
"false": "Добавляет $(thing)Ложь/$ в верхнюю часть стека.",

"vec/": {
x: "Левый противочасовой шаблон добавляет [1, 0, 0] в стек; правый по часовой стрелке шаблон добавляет [-1, 0, 0].",
y: "Левый противочасовой шаблон добавляет [0, 1, 0] в стек; правый по часовой стрелке шаблон добавляет [0, -1, 0].",
z: "Левый противочасовой шаблон добавляет [0, 0, 1]; правый по часовой стрелке шаблон добавляет [0, 0, -1].",
"0": "Добавляет [0, 0, 0] в стек.",
x: "Левый противочасовой шаблон добавляет (1, 0, 0) в стек; правый по часовой стрелке шаблон добавляет (-1, 0, 0).",
y: "Левый противочасовой шаблон добавляет (0, 1, 0) в стек; правый по часовой стрелке шаблон добавляет (0, -1, 0).",
z: "Левый противочасовой шаблон добавляет (0, 0, 1); правый по часовой стрелке шаблон добавляет (0, 0, -1).",
"0": "Добавляет (0, 0, 0) в стек.",
},

"double/": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1655,7 +1655,7 @@
numvec: "许多数学操作对数和向量都有效。这类参数记为“num vec”。",

"add.1": "执行加法。",
"add.2": "操作如下:$(li)若栈顶为两个数,返回其和。$(li)若为一个数和一个向量,移除该数并将向量的每个分量与其相加。$(li)若为两个向量,将对应分量相加(也即 [1, 2, 3] + [0, 4, -1] = [1, 6, 2])。",
"add.2": "操作如下:$(li)若栈顶为两个数,返回其和。$(li)若为一个数和一个向量,移除该数并将向量的每个分量与其相加。$(li)若为两个向量,将对应分量相加(也即 (1, 2, 3) + (0, 4, -1) = (1, 6, 2))。",

"sub.1": "执行减法。",
"sub.2": "操作如下:$(li)若栈顶为两个数,返回其差。$(li)若为一个数和一个向量,移除该数并将向量的每个分量与其相减。$(li)若为两个向量,将对应分量相减。$(br2)栈顶元素或其分量为减数,栈顶往下第二元素或其分量为被减数。",
Expand Down Expand Up @@ -1714,10 +1714,10 @@
"false": "返回 $(thing)False/$。",

"vec/": {
x: "左图(逆时针绘制)返回 [1, 0, 0];右图(顺时针绘制)返回 [-1, 0, 0]。",
y: "左图(逆时针绘制)返回 [0, 1, 0];右图(顺时针绘制)返回 [0, -1, 0]。",
z: "左图(逆时针绘制)返回 [0, 0, 1];右图(顺时针绘制)返回 [0, 0, -1]。",
"0": "返回 [0, 0, 0]。",
x: "左图(逆时针绘制)返回 (1, 0, 0);右图(顺时针绘制)返回 (-1, 0, 0)。",
y: "左图(逆时针绘制)返回 (0, 1, 0);右图(顺时针绘制)返回 (0, -1, 0)。",
z: "左图(逆时针绘制)返回 (0, 0, 1);右图(顺时针绘制)返回 (0, 0, -1)。",
"0": "返回 (0, 0, 0)。",
},

"double/": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@
"type": "patchouli:text",
"title": "hexcasting.page.mishaps2.no_record.title",
"text": "hexcasting.page.mishaps2.no_record"
},
{
"type": "patchouli:text",
"title": "hexcasting.page.mishaps2.bad_shepherd.title",
"text": "hexcasting.page.mishaps2.bad_shepherd"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,6 @@
"signature": "eee"
}
},
{
"type": "patchouli:text",
"text": "hexcasting.page.patterns_as_iotas.parens.3"
},
{
"type": "hexcasting:manual_pattern",
"header": "hexcasting.rawhook.hexcasting:undo",
Expand All @@ -61,6 +57,19 @@
"startdir": "EAST",
"signature": "eeedw"
}
},
{
"type": "patchouli:text",
"title": "hexcasting.page.patterns_as_iotas.further_notes.title",
"text": "hexcasting.page.patterns_as_iotas.further_notes.1"
},
{
"type": "patchouli:text",
"text": "hexcasting.page.patterns_as_iotas.further_notes.2"
},
{
"type": "patchouli:text",
"text": "hexcasting.page.patterns_as_iotas.further_notes.3"
}
]
}
Loading