rules1

Privateunrated

Content

322 lines
{=(comment):
If you would like the tag to always display a link to your rules channel in the description when you are listing rules
Insert the channel id of your rules channel below. Leave completely blank and it will not display. No spaces before or after.}
{=(ruleschannelid):}

{=(comment):Add, change or remove the embed title here. Completely optional.}
{=(embedtitle):Code Of Conduct, Character Creation, Buy/Sell Format, Item Enchantment}

{=(comment):INSTRUCTIONS:
Put custom titles in the title1-title25 variables (if you want them). Keep titles below 256 characters.
Put keywords for each rule in the keyword1-keyword25 variables. Not required but useful.
If you include a keyword, the keyword must be ONE word (NO SPACES IN KEYWORDS, NOT EVEN AT THE BEGINNING).
Keyword smart detection means short keywords are better. "spam" instead of "spamming", "ad" instead of "ads" or "advertising"
Put rules in the rule1-rule25 variables. Keep rules below 1024 characters.
Some symbols in rule text might cause issues, limit formatting to Discord markdown friendly characters. 
DO NOT USE " or | in rule text.
Leave custom titles blank to have the titles just be "Rule #".
Leave corresponding title, keyword, and rule variables blank if the rule # does not exist, but do NOT erase the blank variables}

{=(title01):Conduct 1}
{=(keyword01):slur}
{=(rule01):• No slurs or hate speech. This includes respect to all categories of identity (gender, race, ability, ...). 
Do not hide behind \"it's just a joke\". If someone asks you to stop then you stop immediately. Breaking of this rule will not be tolerated.}

{=(title02):Conduct 2}
{=(keyword02):if}
{=(rule02):• If someone breaks the previous rule do not engage in an argument. Contact any moderators that are online (@Admin or @DM). Responding to such people will only escalate the situation.}

{=(title03):Conduct 3}
{=(keyword03):explicit}
{=(rule03):• Do not discuss someone's Role-Playing. You can certainly give them advice and tips but don't break them down. If you feel that someone is RPing inapropriate things (like sexualy tinted RP) do the following:
1: Mark it as spoilers.
2: Politely say that you/your character would rather not be involved.
If this does not help contact @Admin or @DM}

{=(title04):Conduct 4}
{=(keyword04):harass}
{=(rule04):• Harassment of members is not tolerated. In-character drama is fine as long as it's tasteful and doesn't cross anyone's boundaries but Out of Character will not be tolerated. If there is something that has occurred in this nature contact @Admin or @DM immediately and the situation will be sorted.}

{=(title05):Conduct 5}
{=(keyword05):trigger}
{=(rule05):• Keep triggering topics of RP to a minimum and within reason. As this can affect how others feel out of game. Avoid triggering real life emotions in any case. If something seems too morbid or inflict nihilistic behaviour, avoid it at all cost. Be careful with IC actions and spoken discourse as it may be sensitive towards others. If you are to cover sensitive topics, please inform a Admin or DM so they can broadcast a channel censor for those who need not read it.}

{=(title06):Conduct 6}
{=(keyword06):safe}
{=(rule06):• We Beg of you, If you are driving please do not partake in anything dangerous like participating in quests while doing so. Your safety is our main concern, the Admin's and DM's here will understand if you are to tack off for a few moments for driving or other dangerous activities!}

{=(title07):Character Creation}
{=(keyword07):start}
{=(rule07):• Starting level: 1.
• Content: everything official.
• Stats: Point Buy and Fixed HP.
• Equipment: You can get the starting equipment from your class and background.
• Starting Gold: You get the amount of gold stated in your background.
• You may create a new character once all of your current characters have reached level 3.}

{=(title08):Changes to Characters}
{=(keyword08):change}
{=(rule08):• Each character gets 2 small changes up until level 4. These changes include:
  • Fixing stats.
  • Changing class.
  • Changing proficiency if your build allows it.
  • Changing background.}

{=(title09):Harvesting a Character}
{=(keyword09):harvest}
{=(rule09):• Harvest means killing off your character. They may not return, ever.
• You may take half of the total XP of the character you harvested.
• When you make a new character it can not gain more than 6500 xp from harvested characters.
• You may not take/give away gold or items.}

{=(title10):Free Res}
{=(keyword10):res}
{=(rule10):• You have 1 free Raise Dead before Tier 2 per character.
• After a resurrection where you would normally have a -4 to all rolls you not instead gain 4 points of exhaustion. You can use `!exhaust +4`.}

{=(title11):Buying/Selling Items}
{=(keyword11):buy}
{=(rule11):• To buy items you must fill out a form as shown below:
```Buy:
Item 1 - Price 1
Item 2 - Price 2
5x Item 3 - Total Price of 5x item 3
Sell:
Item X - Price X/2
Item Y - Price Y/2
Total: Total Price```
 So for example: 
```Buy:
Shield - 10 gp
2x Dagger - 4 gp
5x Potion of Healing - 250 gp
Sell: 
Dagger - 1 gp/2
Total: 263 gp```
Note that selling items will refund you half of the item's price.
You should pay in the channel where you bought/sold the items after a staff member checked your form by reacting with ✅. 
You can make a form by putting ``` on both sides of the text}

{=(title12):Item Enchantment}
{=(keyword12):enchant}
{=(rule12):• Any item can only have a single enchantment. You can not have Adamantine +1 Half Plate for example as both count towards the enchantment (yes even tho Adamantine is actually a material).}

{=(title13):}
{=(keyword13):}
{=(rule13):}

{=(title14):}
{=(keyword14):}
{=(rule14):}

{=(title15):}
{=(keyword15):}
{=(rule15):}

{=(title16):}
{=(keyword16):}
{=(rule16):}

{=(title17):}
{=(keyword17):}
{=(rule17):}

{=(title18):}
{=(keyword18):}
{=(rule18):}

{=(title19):}
{=(keyword19):}
{=(rule19):}

{=(title20):}
{=(keyword20):}
{=(rule20):}

{=(title21):}
{=(keyword21):}
{=(rule21):}

{=(title22):}
{=(keyword22):}
{=(rule22):}

{=(title23):}
{=(keyword23):}
{=(rule23):}

{=(title24):}
{=(keyword24):}
{=(rule24):}

{=(title25):}
{=(keyword25):}
{=(rule25):}

{=(comment):Title overrides, don't touch except to translate "Rule" into a different language}
{=(word4rule):Rule}

{=(comment):Don't touch}
{=(t01):{if({title01(+2)}!=):{title01}|{word4rule} 1}}
{=(t02):{if({title02(+2)}!=):{title02}|{word4rule} 2}}
{=(t03):{if({title03(+2)}!=):{title03}|{word4rule} 3}}
{=(t04):{if({title04(+2)}!=):{title04}|{word4rule} 4}}
{=(t05):{if({title05(+2)}!=):{title05}|{word4rule} 5}}
{=(t06):{if({title06(+2)}!=):{title06}|{word4rule} 6}}
{=(t07):{if({title07(+2)}!=):{title07}|{word4rule} 7}}
{=(t08):{if({title08(+2)}!=):{title08}|{word4rule} 8}}
{=(t09):{if({title09(+2)}!=):{title09}|{word4rule} 9}}
{=(t10):{if({title10(+2)}!=):{title10}|{word4rule} 10}}
{=(t11):{if({title11(+2)}!=):{title11}|{word4rule} 11}}
{=(t12):{if({title12(+2)}!=):{title12}|{word4rule} 12}}
{=(t13):{if({title13(+2)}!=):{title13}|{word4rule} 13}}
{=(t14):{if({title14(+2)}!=):{title14}|{word4rule} 14}}
{=(t15):{if({title15(+2)}!=):{title15}|{word4rule} 15}}
{=(t16):{if({title16(+2)}!=):{title16}|{word4rule} 16}}
{=(t17):{if({title17(+2)}!=):{title17}|{word4rule} 17}}
{=(t18):{if({title18(+2)}!=):{title18}|{word4rule} 18}}
{=(t19):{if({title19(+2)}!=):{title19}|{word4rule} 19}}
{=(t20):{if({title20(+2)}!=):{title20}|{word4rule} 20}}
{=(t21):{if({title21(+2)}!=):{title21}|{word4rule} 21}}
{=(t22):{if({title22(+2)}!=):{title22}|{word4rule} 22}}
{=(t23):{if({title23(+2)}!=):{title23}|{word4rule} 23}}
{=(t24):{if({title24(+2)}!=):{title24}|{word4rule} 24}}
{=(t25):{if({title25(+2)}!=):{title25}|{word4rule} 25}}

{=(comment):builds the list of rule numbers for rules that are populated}
{=(rules):{if({rule01(+2)}!=):01 }{if({rule02(+2)}!=):02 }{if({rule03(+2)}!=):03 }{if({rule04(+2)}!=):04 }{if({rule05(+2)}!=):05 }{if({rule06(+2)}!=):06 }{if({rule07(+2)}!=):07 }{if({rule08(+2)}!=):08 }{if({rule09(+2)}!=):09 }{if({rule10(+2)}!=):10 }{if({rule11(+2)}!=):11 }{if({rule12(+2)}!=):12 }{if({rule13(+2)}!=):13 }{if({rule14(+2)}!=):14 }{if({rule15(+2)}!=):15 }{if({rule16(+2)}!=):16 }{if({rule17(+2)}!=):17 }{if({rule18(+2)}!=):18 }{if({rule19(+2)}!=):19 }{if({rule20(+2)}!=):20 }{if({rule21(+2)}!=):21 }{if({rule22(+2)}!=):22 }{if({rule23(+2)}!=):23 }{if({rule24(+2)}!=):24 }{if({rule25(+2)}!=):25}}

{=(comment):space saving measures that makes the whole thing way harder to read lmao}
{=(r):replace}
{=(ct):contains}
{=(l):lower:}

{=(comment):Takes out the first channel mention present in args assuming it is present due to the desire for the rules to be sent to that channel}
{=(sanschan):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}

{=(comment):lowers all the keywords to prevent user error}
{=(kw01):{{l}{keyword01(1)}}}
{=(kw02):{{l}{keyword02(1)}}}
{=(kw03):{{l}{keyword03(1)}}}
{=(kw04):{{l}{keyword04(1)}}}
{=(kw05):{{l}{keyword05(1)}}}
{=(kw06):{{l}{keyword06(1)}}}
{=(kw07):{{l}{keyword07(1)}}}
{=(kw08):{{l}{keyword08(1)}}}
{=(kw09):{{l}{keyword09(1)}}}
{=(kw10):{{l}{keyword10(1)}}}
{=(kw11):{{l}{keyword11(1)}}}
{=(kw12):{{l}{keyword12(1)}}}
{=(kw13):{{l}{keyword13(1)}}}
{=(kw14):{{l}{keyword14(1)}}}
{=(kw15):{{l}{keyword15(1)}}}
{=(kw16):{{l}{keyword16(1)}}}
{=(kw17):{{l}{keyword17(1)}}}
{=(kw18):{{l}{keyword18(1)}}}
{=(kw19):{{l}{keyword19(1)}}}
{=(kw20):{{l}{keyword20(1)}}}
{=(kw21):{{l}{keyword21(1)}}}
{=(kw22):{{l}{keyword22(1)}}}
{=(kw23):{{l}{keyword23(1)}}}
{=(kw24):{{l}{keyword24(1)}}}
{=(kw25):{{l}{keyword25(1)}}}

{=(comment):DON'T TOUCH, converts keywords into rule numbers, ws = wordswap}
{=(ws):{{l}{sanschan}}}
{=(ws):{if({kw01}!=):{if({in({kw01}):{ws}}==true):{{r}({ws({index({kw01}):{{r}({kw01},. {kw01} .):{ws}}})},01):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw02}!=):{if({in({kw02}):{ws}}==true):{{r}({ws({index({kw02}):{{r}({kw02},. {kw02} .):{ws}}})},02):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw03}!=):{if({in({kw03}):{ws}}==true):{{r}({ws({index({kw03}):{{r}({kw03},. {kw03} .):{ws}}})},03):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw04}!=):{if({in({kw04}):{ws}}==true):{{r}({ws({index({kw04}):{{r}({kw04},. {kw04} .):{ws}}})},04):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw05}!=):{if({in({kw05}):{ws}}==true):{{r}({ws({index({kw05}):{{r}({kw05},. {kw05} .):{ws}}})},05):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw06}!=):{if({in({kw06}):{ws}}==true):{{r}({ws({index({kw06}):{{r}({kw06},. {kw06} .):{ws}}})},06):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw07}!=):{if({in({kw07}):{ws}}==true):{{r}({ws({index({kw07}):{{r}({kw07},. {kw07} .):{ws}}})},07):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw08}!=):{if({in({kw08}):{ws}}==true):{{r}({ws({index({kw08}):{{r}({kw08},. {kw08} .):{ws}}})},08):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw09}!=):{if({in({kw09}):{ws}}==true):{{r}({ws({index({kw09}):{{r}({kw09},. {kw09} .):{ws}}})},09):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw10}!=):{if({in({kw10}):{ws}}==true):{{r}({ws({index({kw10}):{{r}({kw10},. {kw10} .):{ws}}})},10):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw11}!=):{if({in({kw11}):{ws}}==true):{{r}({ws({index({kw11}):{{r}({kw11},. {kw11} .):{ws}}})},11):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw12}!=):{if({in({kw12}):{ws}}==true):{{r}({ws({index({kw12}):{{r}({kw12},. {kw12} .):{ws}}})},12):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw13}!=):{if({in({kw13}):{ws}}==true):{{r}({ws({index({kw13}):{{r}({kw13},. {kw13} .):{ws}}})},13):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw14}!=):{if({in({kw14}):{ws}}==true):{{r}({ws({index({kw14}):{{r}({kw14},. {kw14} .):{ws}}})},14):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw15}!=):{if({in({kw15}):{ws}}==true):{{r}({ws({index({kw15}):{{r}({kw15},. {kw15} .):{ws}}})},15):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw16}!=):{if({in({kw16}):{ws}}==true):{{r}({ws({index({kw16}):{{r}({kw16},. {kw16} .):{ws}}})},16):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw17}!=):{if({in({kw17}):{ws}}==true):{{r}({ws({index({kw17}):{{r}({kw17},. {kw17} .):{ws}}})},17):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw18}!=):{if({in({kw18}):{ws}}==true):{{r}({ws({index({kw18}):{{r}({kw18},. {kw18} .):{ws}}})},18):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw19}!=):{if({in({kw19}):{ws}}==true):{{r}({ws({index({kw19}):{{r}({kw19},. {kw19} .):{ws}}})},19):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw20}!=):{if({in({kw20}):{ws}}==true):{{r}({ws({index({kw20}):{{r}({kw20},. {kw20} .):{ws}}})},20):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw21}!=):{if({in({kw21}):{ws}}==true):{{r}({ws({index({kw21}):{{r}({kw21},. {kw21} .):{ws}}})},21):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw22}!=):{if({in({kw22}):{ws}}==true):{{r}({ws({index({kw22}):{{r}({kw22},. {kw22} .):{ws}}})},22):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw23}!=):{if({in({kw23}):{ws}}==true):{{r}({ws({index({kw23}):{{r}({kw23},. {kw23} .):{ws}}})},23):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw24}!=):{if({in({kw24}):{ws}}==true):{{r}({ws({index({kw24}):{{r}({kw24},. {kw24} .):{ws}}})},24):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw25}!=):{if({in({kw25}):{ws}}==true):{{r}({ws({index({kw25}):{{r}({kw25},. {kw25} .):{ws}}})},25):{ws}}|{ws}}|{ws}}}

{=(comment):adds leading zeros to single digit numbers: spaces symbols, replaces spaces with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, de-spaces symbols}
{=(sani):{{r}( - ,-):{{r}( + ,+):{{r}(~, ):{{r}(~1~,~01~):{{r}(~2~,~02~):{{r}(~3~,~03~):{{r}(~4~,~04~):{{r}(~5~,~05~):{{r}(~6~,~06~):{{r}(~7~,~07~):{{r}(~8~,~08~):{{r}(~9~,~09~):{{r}( ,~):{{r}(-, - ):{{r}(+, + ):~{ws}~}}}}}}}}}}}}}}}}

{=(comment):DON'T TOUCH, replaces - and + with the rule numbers from the list they represent}
{=(dash1):{sani(1):-}}
{=(dash2):{sani(2):-}}
{=(dash):{if({in(-):{sani}}==true):{dash1}{{r}({rules(+{m:trunc(1+{index({dash1(0)}):{rules}})})},):{{r}({rules({m:trunc(1+{index({dash2(1)}):{rules}})}+)},):{rules}}}{dash2}|{sani}}}
{=(plus1):{dash(1):+}}
{=(plus2):{dash(2):+}}
{=(plus3):{dash(3):+}}
{=(plus):{if({in(+):{dash}}==true):{if({plus1}!=):{if({plus1(+-1)}!=):{plus1(+-1)} }{rules({m:trunc(1+{index({plus1(0)}):{rules}})}+)} }{if({plus2}!=):{rules(+{m:trunc(1+{index({plus2(1)}):{rules}})})} {if({plus2(2+)}!=):{plus2(2+)} }}{if({plus3}==):{rules({m:trunc({index({plus2(0)}):{rules}}+2)}+)}|{rules(+{m:trunc(1+{index({plus3(1)}):{rules}})})} {if({plus3(2+)}!=):{plus3(2+)}}}|{dash}}}

{=(comment):rebuilds input list based on inclusion in rule list, while preventing duplicates. if rw (rawlist) entity 0-24 is not empty, is in the rules variable which is autopopulated, and is not already present in the new number list, said rw entity is added to num}
{=(rl):{join(,):{plus}}}
{=(num):}
{=(num):{num}{all({list(0):{rl}}!=|{{ct}({list(0):{rl}}):{rules}}==true|{{ct}({list(0):{rl}}):{num}}==false):{list(0):{rl}} }}
{=(num):{num}{all({list(1):{rl}}!=|{{ct}({list(1):{rl}}):{rules}}==true|{{ct}({list(1):{rl}}):{num}}==false):{list(1):{rl}} }}
{=(num):{num}{all({list(2):{rl}}!=|{{ct}({list(2):{rl}}):{rules}}==true|{{ct}({list(2):{rl}}):{num}}==false):{list(2):{rl}} }}
{=(num):{num}{all({list(3):{rl}}!=|{{ct}({list(3):{rl}}):{rules}}==true|{{ct}({list(3):{rl}}):{num}}==false):{list(3):{rl}} }}
{=(num):{num}{all({list(4):{rl}}!=|{{ct}({list(4):{rl}}):{rules}}==true|{{ct}({list(4):{rl}}):{num}}==false):{list(4):{rl}} }}
{=(num):{num}{all({list(5):{rl}}!=|{{ct}({list(5):{rl}}):{rules}}==true|{{ct}({list(5):{rl}}):{num}}==false):{list(5):{rl}} }}
{=(num):{num}{all({list(6):{rl}}!=|{{ct}({list(6):{rl}}):{rules}}==true|{{ct}({list(6):{rl}}):{num}}==false):{list(6):{rl}} }}
{=(num):{num}{all({list(7):{rl}}!=|{{ct}({list(7):{rl}}):{rules}}==true|{{ct}({list(7):{rl}}):{num}}==false):{list(7):{rl}} }}
{=(num):{num}{all({list(8):{rl}}!=|{{ct}({list(8):{rl}}):{rules}}==true|{{ct}({list(8):{rl}}):{num}}==false):{list(8):{rl}} }}
{=(num):{num}{all({list(9):{rl}}!=|{{ct}({list(9):{rl}}):{rules}}==true|{{ct}({list(9):{rl}}):{num}}==false):{list(9):{rl}} }}
{=(num):{num}{all({list(10):{rl}}!=|{{ct}({list(10):{rl}}):{rules}}==true|{{ct}({list(10):{rl}}):{num}}==false):{list(10):{rl}} }}
{=(num):{num}{all({list(11):{rl}}!=|{{ct}({list(11):{rl}}):{rules}}==true|{{ct}({list(11):{rl}}):{num}}==false):{list(11):{rl}} }}
{=(num):{num}{all({list(12):{rl}}!=|{{ct}({list(12):{rl}}):{rules}}==true|{{ct}({list(12):{rl}}):{num}}==false):{list(12):{rl}} }}
{=(num):{num}{all({list(13):{rl}}!=|{{ct}({list(13):{rl}}):{rules}}==true|{{ct}({list(13):{rl}}):{num}}==false):{list(13):{rl}} }}
{=(num):{num}{all({list(14):{rl}}!=|{{ct}({list(14):{rl}}):{rules}}==true|{{ct}({list(14):{rl}}):{num}}==false):{list(14):{rl}} }}
{=(num):{num}{all({list(15):{rl}}!=|{{ct}({list(15):{rl}}):{rules}}==true|{{ct}({list(15):{rl}}):{num}}==false):{list(15):{rl}} }}
{=(num):{num}{all({list(16):{rl}}!=|{{ct}({list(16):{rl}}):{rules}}==true|{{ct}({list(16):{rl}}):{num}}==false):{list(16):{rl}} }}
{=(num):{num}{all({list(17):{rl}}!=|{{ct}({list(17):{rl}}):{rules}}==true|{{ct}({list(17):{rl}}):{num}}==false):{list(17):{rl}} }}
{=(num):{num}{all({list(18):{rl}}!=|{{ct}({list(18):{rl}}):{rules}}==true|{{ct}({list(18):{rl}}):{num}}==false):{list(18):{rl}} }}
{=(num):{num}{all({list(19):{rl}}!=|{{ct}({list(19):{rl}}):{rules}}==true|{{ct}({list(19):{rl}}):{num}}==false):{list(19):{rl}} }}
{=(num):{num}{all({list(20):{rl}}!=|{{ct}({list(20):{rl}}):{rules}}==true|{{ct}({list(20):{rl}}):{num}}==false):{list(20):{rl}} }}
{=(num):{num}{all({list(21):{rl}}!=|{{ct}({list(21):{rl}}):{rules}}==true|{{ct}({list(21):{rl}}):{num}}==false):{list(21):{rl}} }}
{=(num):{num}{all({list(22):{rl}}!=|{{ct}({list(22):{rl}}):{rules}}==true|{{ct}({list(22):{rl}}):{num}}==false):{list(22):{rl}} }}
{=(num):{num}{all({list(23):{rl}}!=|{{ct}({list(23):{rl}}):{rules}}==true|{{ct}({list(23):{rl}}):{num}}==false):{list(23):{rl}} }}
{=(num):{num}{all({list(24):{rl}}!=|{{ct}({list(24):{rl}}):{rules}}==true|{{ct}({list(24):{rl}}):{num}}==false):{list(24):{rl}}}}

{=(comment):The following tests to see if args are empty, or if help or keyword are present, or if the input failed to generate a shortened list of rules, and if so, sets the rule numbers to the full list of rules}
{=(largs):{{l}{args}}}
{=(num):{any({largs(1)}==|{all({in(help):{largs}}==false|{in(keyword):{largs}}==false|{num}==):true|false}==true):{join(,):{rules}}|{join(,):{num}}}}

{=(comment):Embed field generation for rule output, don't touch. ┐ = comma placeholder character}
{=(ilf):,"inline":false}
{=(cfields):{if({list(0):{num}}!=):{"name":"{t{list(0):{num}}}","value":"{rule{list(0):{num}}}"{ilf}}}┐{if({list(1):{num}}!=):{"name":"{t{list(1):{num}}}","value":"{rule{list(1):{num}}}"{ilf}}}┐{if({list(2):{num}}!=):{"name":"{t{list(2):{num}}}","value":"{rule{list(2):{num}}}"{ilf}}}┐{if({list(3):{num}}!=):{"name":"{t{list(3):{num}}}","value":"{rule{list(3):{num}}}"{ilf}}}┐{if({list(4):{num}}!=):{"name":"{t{list(4):{num}}}","value":"{rule{list(4):{num}}}"{ilf}}}┐{if({list(5):{num}}!=):{"name":"{t{list(5):{num}}}","value":"{rule{list(5):{num}}}"{ilf}}}┐{if({list(6):{num}}!=):{"name":"{t{list(6):{num}}}","value":"{rule{list(6):{num}}}"{ilf}}}┐{if({list(7):{num}}!=):{"name":"{t{list(7):{num}}}","value":"{rule{list(7):{num}}}"{ilf}}}┐{if({list(8):{num}}!=):{"name":"{t{list(8):{num}}}","value":"{rule{list(8):{num}}}"{ilf}}}┐{if({list(9):{num}}!=):{"name":"{t{list(9):{num}}}","value":"{rule{list(9):{num}}}"{ilf}}}┐{if({list(10):{num}}!=):{"name":"{t{list(10):{num}}}","value":"{rule{list(10):{num}}}"{ilf}}}┐{if({list(11):{num}}!=):{"name":"{t{list(11):{num}}}","value":"{rule{list(11):{num}}}"{ilf}}}┐{if({list(12):{num}}!=):{"name":"{t{list(12):{num}}}","value":"{rule{list(12):{num}}}"{ilf}}}┐{if({list(13):{num}}!=):{"name":"{t{list(13):{num}}}","value":"{rule{list(13):{num}}}"{ilf}}}┐{if({list(14):{num}}!=):{"name":"{t{list(14):{num}}}","value":"{rule{list(14):{num}}}"{ilf}}}┐{if({list(15):{num}}!=):{"name":"{t{list(15):{num}}}","value":"{rule{list(15):{num}}}"{ilf}}}┐{if({list(16):{num}}!=):{"name":"{t{list(16):{num}}}","value":"{rule{list(16):{num}}}"{ilf}}}┐{if({list(17):{num}}!=):{"name":"{t{list(17):{num}}}","value":"{rule{list(17):{num}}}"{ilf}}}┐{if({list(18):{num}}!=):{"name":"{t{list(18):{num}}}","value":"{rule{list(18):{num}}}"{ilf}}}┐{if({list(19):{num}}!=):{"name":"{t{list(19):{num}}}","value":"{rule{list(19):{num}}}"{ilf}}}┐{if({list(20):{num}}!=):{"name":"{t{list(20):{num}}}","value":"{rule{list(20):{num}}}"{ilf}}}┐{if({list(21):{num}}!=):{"name":"{t{list(21):{num}}}","value":"{rule{list(21):{num}}}"{ilf}}}┐{if({list(22):{num}}!=):{"name":"{t{list(22):{num}}}","value":"{rule{list(22):{num}}}"{ilf}}}┐{if({list(23):{num}}!=):{"name":"{t{list(23):{num}}}","value":"{rule{list(23):{num}}}"{ilf}}}┐{if({list(24):{num}}!=):{"name":"{t{list(24):{num}}}","value":"{rule{list(24):{num}}}"{ilf}}}}

{=(comment):different description holding variables}
{=(instr):__Instructions__
Follow the command with the number(s) of the rules you wish to output with spaces in between. Additional accepted formats are:
#*x*-#*y* to indicate rules from #*x* to #*y* (limit 1x`-`)
#+ to indicate rules from # to the end of the list of rules
+# to indicate rules from 1 to # (limit 2x`+`)
You can also mix in keywords that have been set (don't mix keywords and symbols).
Examples: `!rules +2 nsfw 4-6 8+` }

{=(kw):__Keywords__
{kw01} {kw02} {kw03} {kw04} {kw05} {kw06} {kw07} {kw08} {kw09} {kw10} {kw11} {kw12} {kw13} {kw14} {kw15} {kw16} {kw17} {kw18} {kw19} {kw20} {kw21} {kw22} {kw23} {kw24} {kw25}}

{=(comment):Embed fields}
{=(footer):Type \"!rules help\" for instructions, and \"!rules keywords\" for the list of reference keywords.}
{=(des):{if({in(help):{largs}}==true):{instr}|{if({in(keyword):{largs}}==true):{kw}|{if({ruleschannelid}!=):<#{ruleschannelid}>}}}}

{=(comment):finalizes the json for the embed by replacing spaces with a filler character, replacing comma placeholder characters with spaces, joining the spaces with commas, and replacing the filler characters with spaces again. this ensures there are no commas preceeding JSON fields, nor trailing the last JSON field. also includes logic choosing whether to display the full rules list (if args or the input number list are empty AND help/keyword are not displayed) or the custom rules list}
{=(json):"title":"{embedtitle}","description":"{des}","fields":[{{r}(░,
):{{r}(█, ):{join(,):{{r}(┐, ):{{r}(
,░):{{r}( ,█):{cfields}}}}}}}],"author":{"name":"{server}","icon_url":"{server(icon)}"},"color":3092790,"footer":{"text":"{footer}"}}

{c:cembed {if({in(<#):{args}}==true):{args({index(<#):{{r}(<#,. <# .):{args}}})}|{channel(id)}} {{json}}}
Raw JSON
{
  "id": 447285,
  "created_at": "2020-11-24T09:21:29.000Z",
  "tag_name": "rules1",
  "nsfw": false,
  "owner_id": "318259992954404867",
  "uses": 15,
  "description": null,
  "restricted": false,
  "shared": false,
  "deleted": false,
  "safe": "unrated",
  "hidden": false,
  "guild_id": "714220833555349596",
  "sharer": "318259992954404867",
  "content": "{=(comment):\nIf you would like the tag to always display a link to your rules channel in the description when you are listing rules\nInsert the channel id of your rules channel below. Leave completely blank and it will not display. No spaces before or after.}\n{=(ruleschannelid):}\n\n{=(comment):Add, change or remove the embed title here. Completely optional.}\n{=(embedtitle):Code Of Conduct, Character Creation, Buy/Sell Format, Item Enchantment}\n\n{=(comment):INSTRUCTIONS:\nPut custom titles in the title1-title25 variables (if you want them). Keep titles below 256 characters.\nPut keywords for each rule in the keyword1-keyword25 variables. Not required but useful.\nIf you include a keyword, the keyword must be ONE word (NO SPACES IN KEYWORDS, NOT EVEN AT THE BEGINNING).\nKeyword smart detection means short keywords are better. \"spam\" instead of \"spamming\", \"ad\" instead of \"ads\" or \"advertising\"\nPut rules in the rule1-rule25 variables. Keep rules below 1024 characters.\nSome symbols in rule text might cause issues, limit formatting to Discord markdown friendly characters. \nDO NOT USE \" or | in rule text.\nLeave custom titles blank to have the titles just be \"Rule #\".\nLeave corresponding title, keyword, and rule variables blank if the rule # does not exist, but do NOT erase the blank variables}\n\n{=(title01):Conduct 1}\n{=(keyword01):slur}\n{=(rule01):• No slurs or hate speech. This includes respect to all categories of identity (gender, race, ability, ...). \nDo not hide behind \\\"it's just a joke\\\". If someone asks you to stop then you stop immediately. Breaking of this rule will not be tolerated.}\n\n{=(title02):Conduct 2}\n{=(keyword02):if}\n{=(rule02):• If someone breaks the previous rule do not engage in an argument. Contact any moderators that are online (@Admin or @DM). Responding to such people will only escalate the situation.}\n\n{=(title03):Conduct 3}\n{=(keyword03):explicit}\n{=(rule03):• Do not discuss someone's Role-Playing. You can certainly give them advice and tips but don't break them down. If you feel that someone is RPing inapropriate things (like sexualy tinted RP) do the following:\n1: Mark it as spoilers.\n2: Politely say that you/your character would rather not be involved.\nIf this does not help contact @Admin or @DM}\n\n{=(title04):Conduct 4}\n{=(keyword04):harass}\n{=(rule04):• Harassment of members is not tolerated. In-character drama is fine as long as it's tasteful and doesn't cross anyone's boundaries but Out of Character will not be tolerated. If there is something that has occurred in this nature contact @Admin or @DM immediately and the situation will be sorted.}\n\n{=(title05):Conduct 5}\n{=(keyword05):trigger}\n{=(rule05):• Keep triggering topics of RP to a minimum and within reason. As this can affect how others feel out of game. Avoid triggering real life emotions in any case. If something seems too morbid or inflict nihilistic behaviour, avoid it at all cost. Be careful with IC actions and spoken discourse as it may be sensitive towards others. If you are to cover sensitive topics, please inform a Admin or DM so they can broadcast a channel censor for those who need not read it.}\n\n{=(title06):Conduct 6}\n{=(keyword06):safe}\n{=(rule06):• We Beg of you, If you are driving please do not partake in anything dangerous like participating in quests while doing so. Your safety is our main concern, the Admin's and DM's here will understand if you are to tack off for a few moments for driving or other dangerous activities!}\n\n{=(title07):Character Creation}\n{=(keyword07):start}\n{=(rule07):• Starting level: 1.\n• Content: everything official.\n• Stats: Point Buy and Fixed HP.\n• Equipment: You can get the starting equipment from your class and background.\n• Starting Gold: You get the amount of gold stated in your background.\n• You may create a new character once all of your current characters have reached level 3.}\n\n{=(title08):Changes to Characters}\n{=(keyword08):change}\n{=(rule08):• Each character gets 2 small changes up until level 4. These changes include:\n  • Fixing stats.\n  • Changing class.\n  • Changing proficiency if your build allows it.\n  • Changing background.}\n\n{=(title09):Harvesting a Character}\n{=(keyword09):harvest}\n{=(rule09):• Harvest means killing off your character. They may not return, ever.\n• You may take half of the total XP of the character you harvested.\n• When you make a new character it can not gain more than 6500 xp from harvested characters.\n• You may not take/give away gold or items.}\n\n{=(title10):Free Res}\n{=(keyword10):res}\n{=(rule10):• You have 1 free Raise Dead before Tier 2 per character.\n• After a resurrection where you would normally have a -4 to all rolls you not instead gain 4 points of exhaustion. You can use `!exhaust +4`.}\n\n{=(title11):Buying/Selling Items}\n{=(keyword11):buy}\n{=(rule11):• To buy items you must fill out a form as shown below:\n```Buy:\nItem 1 - Price 1\nItem 2 - Price 2\n5x Item 3 - Total Price of 5x item 3\nSell:\nItem X - Price X/2\nItem Y - Price Y/2\nTotal: Total Price```\n So for example: \n```Buy:\nShield - 10 gp\n2x Dagger - 4 gp\n5x Potion of Healing - 250 gp\nSell: \nDagger - 1 gp/2\nTotal: 263 gp```\nNote that selling items will refund you half of the item's price.\nYou should pay in the channel where you bought/sold the items after a staff member checked your form by reacting with ✅. \nYou can make a form by putting ``` on both sides of the text}\n\n{=(title12):Item Enchantment}\n{=(keyword12):enchant}\n{=(rule12):• Any item can only have a single enchantment. You can not have Adamantine +1 Half Plate for example as both count towards the enchantment (yes even tho Adamantine is actually a material).}\n\n{=(title13):}\n{=(keyword13):}\n{=(rule13):}\n\n{=(title14):}\n{=(keyword14):}\n{=(rule14):}\n\n{=(title15):}\n{=(keyword15):}\n{=(rule15):}\n\n{=(title16):}\n{=(keyword16):}\n{=(rule16):}\n\n{=(title17):}\n{=(keyword17):}\n{=(rule17):}\n\n{=(title18):}\n{=(keyword18):}\n{=(rule18):}\n\n{=(title19):}\n{=(keyword19):}\n{=(rule19):}\n\n{=(title20):}\n{=(keyword20):}\n{=(rule20):}\n\n{=(title21):}\n{=(keyword21):}\n{=(rule21):}\n\n{=(title22):}\n{=(keyword22):}\n{=(rule22):}\n\n{=(title23):}\n{=(keyword23):}\n{=(rule23):}\n\n{=(title24):}\n{=(keyword24):}\n{=(rule24):}\n\n{=(title25):}\n{=(keyword25):}\n{=(rule25):}\n\n{=(comment):Title overrides, don't touch except to translate \"Rule\" into a different language}\n{=(word4rule):Rule}\n\n{=(comment):Don't touch}\n{=(t01):{if({title01(+2)}!=):{title01}|{word4rule} 1}}\n{=(t02):{if({title02(+2)}!=):{title02}|{word4rule} 2}}\n{=(t03):{if({title03(+2)}!=):{title03}|{word4rule} 3}}\n{=(t04):{if({title04(+2)}!=):{title04}|{word4rule} 4}}\n{=(t05):{if({title05(+2)}!=):{title05}|{word4rule} 5}}\n{=(t06):{if({title06(+2)}!=):{title06}|{word4rule} 6}}\n{=(t07):{if({title07(+2)}!=):{title07}|{word4rule} 7}}\n{=(t08):{if({title08(+2)}!=):{title08}|{word4rule} 8}}\n{=(t09):{if({title09(+2)}!=):{title09}|{word4rule} 9}}\n{=(t10):{if({title10(+2)}!=):{title10}|{word4rule} 10}}\n{=(t11):{if({title11(+2)}!=):{title11}|{word4rule} 11}}\n{=(t12):{if({title12(+2)}!=):{title12}|{word4rule} 12}}\n{=(t13):{if({title13(+2)}!=):{title13}|{word4rule} 13}}\n{=(t14):{if({title14(+2)}!=):{title14}|{word4rule} 14}}\n{=(t15):{if({title15(+2)}!=):{title15}|{word4rule} 15}}\n{=(t16):{if({title16(+2)}!=):{title16}|{word4rule} 16}}\n{=(t17):{if({title17(+2)}!=):{title17}|{word4rule} 17}}\n{=(t18):{if({title18(+2)}!=):{title18}|{word4rule} 18}}\n{=(t19):{if({title19(+2)}!=):{title19}|{word4rule} 19}}\n{=(t20):{if({title20(+2)}!=):{title20}|{word4rule} 20}}\n{=(t21):{if({title21(+2)}!=):{title21}|{word4rule} 21}}\n{=(t22):{if({title22(+2)}!=):{title22}|{word4rule} 22}}\n{=(t23):{if({title23(+2)}!=):{title23}|{word4rule} 23}}\n{=(t24):{if({title24(+2)}!=):{title24}|{word4rule} 24}}\n{=(t25):{if({title25(+2)}!=):{title25}|{word4rule} 25}}\n\n{=(comment):builds the list of rule numbers for rules that are populated}\n{=(rules):{if({rule01(+2)}!=):01 }{if({rule02(+2)}!=):02 }{if({rule03(+2)}!=):03 }{if({rule04(+2)}!=):04 }{if({rule05(+2)}!=):05 }{if({rule06(+2)}!=):06 }{if({rule07(+2)}!=):07 }{if({rule08(+2)}!=):08 }{if({rule09(+2)}!=):09 }{if({rule10(+2)}!=):10 }{if({rule11(+2)}!=):11 }{if({rule12(+2)}!=):12 }{if({rule13(+2)}!=):13 }{if({rule14(+2)}!=):14 }{if({rule15(+2)}!=):15 }{if({rule16(+2)}!=):16 }{if({rule17(+2)}!=):17 }{if({rule18(+2)}!=):18 }{if({rule19(+2)}!=):19 }{if({rule20(+2)}!=):20 }{if({rule21(+2)}!=):21 }{if({rule22(+2)}!=):22 }{if({rule23(+2)}!=):23 }{if({rule24(+2)}!=):24 }{if({rule25(+2)}!=):25}}\n\n{=(comment):space saving measures that makes the whole thing way harder to read lmao}\n{=(r):replace}\n{=(ct):contains}\n{=(l):lower:}\n\n{=(comment):Takes out the first channel mention present in args assuming it is present due to the desire for the rules to be sent to that channel}\n{=(sanschan):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}\n\n{=(comment):lowers all the keywords to prevent user error}\n{=(kw01):{{l}{keyword01(1)}}}\n{=(kw02):{{l}{keyword02(1)}}}\n{=(kw03):{{l}{keyword03(1)}}}\n{=(kw04):{{l}{keyword04(1)}}}\n{=(kw05):{{l}{keyword05(1)}}}\n{=(kw06):{{l}{keyword06(1)}}}\n{=(kw07):{{l}{keyword07(1)}}}\n{=(kw08):{{l}{keyword08(1)}}}\n{=(kw09):{{l}{keyword09(1)}}}\n{=(kw10):{{l}{keyword10(1)}}}\n{=(kw11):{{l}{keyword11(1)}}}\n{=(kw12):{{l}{keyword12(1)}}}\n{=(kw13):{{l}{keyword13(1)}}}\n{=(kw14):{{l}{keyword14(1)}}}\n{=(kw15):{{l}{keyword15(1)}}}\n{=(kw16):{{l}{keyword16(1)}}}\n{=(kw17):{{l}{keyword17(1)}}}\n{=(kw18):{{l}{keyword18(1)}}}\n{=(kw19):{{l}{keyword19(1)}}}\n{=(kw20):{{l}{keyword20(1)}}}\n{=(kw21):{{l}{keyword21(1)}}}\n{=(kw22):{{l}{keyword22(1)}}}\n{=(kw23):{{l}{keyword23(1)}}}\n{=(kw24):{{l}{keyword24(1)}}}\n{=(kw25):{{l}{keyword25(1)}}}\n\n{=(comment):DON'T TOUCH, converts keywords into rule numbers, ws = wordswap}\n{=(ws):{{l}{sanschan}}}\n{=(ws):{if({kw01}!=):{if({in({kw01}):{ws}}==true):{{r}({ws({index({kw01}):{{r}({kw01},. {kw01} .):{ws}}})},01):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw02}!=):{if({in({kw02}):{ws}}==true):{{r}({ws({index({kw02}):{{r}({kw02},. {kw02} .):{ws}}})},02):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw03}!=):{if({in({kw03}):{ws}}==true):{{r}({ws({index({kw03}):{{r}({kw03},. {kw03} .):{ws}}})},03):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw04}!=):{if({in({kw04}):{ws}}==true):{{r}({ws({index({kw04}):{{r}({kw04},. {kw04} .):{ws}}})},04):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw05}!=):{if({in({kw05}):{ws}}==true):{{r}({ws({index({kw05}):{{r}({kw05},. {kw05} .):{ws}}})},05):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw06}!=):{if({in({kw06}):{ws}}==true):{{r}({ws({index({kw06}):{{r}({kw06},. {kw06} .):{ws}}})},06):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw07}!=):{if({in({kw07}):{ws}}==true):{{r}({ws({index({kw07}):{{r}({kw07},. {kw07} .):{ws}}})},07):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw08}!=):{if({in({kw08}):{ws}}==true):{{r}({ws({index({kw08}):{{r}({kw08},. {kw08} .):{ws}}})},08):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw09}!=):{if({in({kw09}):{ws}}==true):{{r}({ws({index({kw09}):{{r}({kw09},. {kw09} .):{ws}}})},09):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw10}!=):{if({in({kw10}):{ws}}==true):{{r}({ws({index({kw10}):{{r}({kw10},. {kw10} .):{ws}}})},10):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw11}!=):{if({in({kw11}):{ws}}==true):{{r}({ws({index({kw11}):{{r}({kw11},. {kw11} .):{ws}}})},11):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw12}!=):{if({in({kw12}):{ws}}==true):{{r}({ws({index({kw12}):{{r}({kw12},. {kw12} .):{ws}}})},12):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw13}!=):{if({in({kw13}):{ws}}==true):{{r}({ws({index({kw13}):{{r}({kw13},. {kw13} .):{ws}}})},13):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw14}!=):{if({in({kw14}):{ws}}==true):{{r}({ws({index({kw14}):{{r}({kw14},. {kw14} .):{ws}}})},14):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw15}!=):{if({in({kw15}):{ws}}==true):{{r}({ws({index({kw15}):{{r}({kw15},. {kw15} .):{ws}}})},15):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw16}!=):{if({in({kw16}):{ws}}==true):{{r}({ws({index({kw16}):{{r}({kw16},. {kw16} .):{ws}}})},16):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw17}!=):{if({in({kw17}):{ws}}==true):{{r}({ws({index({kw17}):{{r}({kw17},. {kw17} .):{ws}}})},17):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw18}!=):{if({in({kw18}):{ws}}==true):{{r}({ws({index({kw18}):{{r}({kw18},. {kw18} .):{ws}}})},18):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw19}!=):{if({in({kw19}):{ws}}==true):{{r}({ws({index({kw19}):{{r}({kw19},. {kw19} .):{ws}}})},19):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw20}!=):{if({in({kw20}):{ws}}==true):{{r}({ws({index({kw20}):{{r}({kw20},. {kw20} .):{ws}}})},20):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw21}!=):{if({in({kw21}):{ws}}==true):{{r}({ws({index({kw21}):{{r}({kw21},. {kw21} .):{ws}}})},21):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw22}!=):{if({in({kw22}):{ws}}==true):{{r}({ws({index({kw22}):{{r}({kw22},. {kw22} .):{ws}}})},22):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw23}!=):{if({in({kw23}):{ws}}==true):{{r}({ws({index({kw23}):{{r}({kw23},. {kw23} .):{ws}}})},23):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw24}!=):{if({in({kw24}):{ws}}==true):{{r}({ws({index({kw24}):{{r}({kw24},. {kw24} .):{ws}}})},24):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw25}!=):{if({in({kw25}):{ws}}==true):{{r}({ws({index({kw25}):{{r}({kw25},. {kw25} .):{ws}}})},25):{ws}}|{ws}}|{ws}}}\n\n{=(comment):adds leading zeros to single digit numbers: spaces symbols, replaces spaces with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, de-spaces symbols}\n{=(sani):{{r}( - ,-):{{r}( + ,+):{{r}(~, ):{{r}(~1~,~01~):{{r}(~2~,~02~):{{r}(~3~,~03~):{{r}(~4~,~04~):{{r}(~5~,~05~):{{r}(~6~,~06~):{{r}(~7~,~07~):{{r}(~8~,~08~):{{r}(~9~,~09~):{{r}( ,~):{{r}(-, - ):{{r}(+, + ):~{ws}~}}}}}}}}}}}}}}}}\n\n{=(comment):DON'T TOUCH, replaces - and + with the rule numbers from the list they represent}\n{=(dash1):{sani(1):-}}\n{=(dash2):{sani(2):-}}\n{=(dash):{if({in(-):{sani}}==true):{dash1}{{r}({rules(+{m:trunc(1+{index({dash1(0)}):{rules}})})},):{{r}({rules({m:trunc(1+{index({dash2(1)}):{rules}})}+)},):{rules}}}{dash2}|{sani}}}\n{=(plus1):{dash(1):+}}\n{=(plus2):{dash(2):+}}\n{=(plus3):{dash(3):+}}\n{=(plus):{if({in(+):{dash}}==true):{if({plus1}!=):{if({plus1(+-1)}!=):{plus1(+-1)} }{rules({m:trunc(1+{index({plus1(0)}):{rules}})}+)} }{if({plus2}!=):{rules(+{m:trunc(1+{index({plus2(1)}):{rules}})})} {if({plus2(2+)}!=):{plus2(2+)} }}{if({plus3}==):{rules({m:trunc({index({plus2(0)}):{rules}}+2)}+)}|{rules(+{m:trunc(1+{index({plus3(1)}):{rules}})})} {if({plus3(2+)}!=):{plus3(2+)}}}|{dash}}}\n\n{=(comment):rebuilds input list based on inclusion in rule list, while preventing duplicates. if rw (rawlist) entity 0-24 is not empty, is in the rules variable which is autopopulated, and is not already present in the new number list, said rw entity is added to num}\n{=(rl):{join(,):{plus}}}\n{=(num):}\n{=(num):{num}{all({list(0):{rl}}!=|{{ct}({list(0):{rl}}):{rules}}==true|{{ct}({list(0):{rl}}):{num}}==false):{list(0):{rl}} }}\n{=(num):{num}{all({list(1):{rl}}!=|{{ct}({list(1):{rl}}):{rules}}==true|{{ct}({list(1):{rl}}):{num}}==false):{list(1):{rl}} }}\n{=(num):{num}{all({list(2):{rl}}!=|{{ct}({list(2):{rl}}):{rules}}==true|{{ct}({list(2):{rl}}):{num}}==false):{list(2):{rl}} }}\n{=(num):{num}{all({list(3):{rl}}!=|{{ct}({list(3):{rl}}):{rules}}==true|{{ct}({list(3):{rl}}):{num}}==false):{list(3):{rl}} }}\n{=(num):{num}{all({list(4):{rl}}!=|{{ct}({list(4):{rl}}):{rules}}==true|{{ct}({list(4):{rl}}):{num}}==false):{list(4):{rl}} }}\n{=(num):{num}{all({list(5):{rl}}!=|{{ct}({list(5):{rl}}):{rules}}==true|{{ct}({list(5):{rl}}):{num}}==false):{list(5):{rl}} }}\n{=(num):{num}{all({list(6):{rl}}!=|{{ct}({list(6):{rl}}):{rules}}==true|{{ct}({list(6):{rl}}):{num}}==false):{list(6):{rl}} }}\n{=(num):{num}{all({list(7):{rl}}!=|{{ct}({list(7):{rl}}):{rules}}==true|{{ct}({list(7):{rl}}):{num}}==false):{list(7):{rl}} }}\n{=(num):{num}{all({list(8):{rl}}!=|{{ct}({list(8):{rl}}):{rules}}==true|{{ct}({list(8):{rl}}):{num}}==false):{list(8):{rl}} }}\n{=(num):{num}{all({list(9):{rl}}!=|{{ct}({list(9):{rl}}):{rules}}==true|{{ct}({list(9):{rl}}):{num}}==false):{list(9):{rl}} }}\n{=(num):{num}{all({list(10):{rl}}!=|{{ct}({list(10):{rl}}):{rules}}==true|{{ct}({list(10):{rl}}):{num}}==false):{list(10):{rl}} }}\n{=(num):{num}{all({list(11):{rl}}!=|{{ct}({list(11):{rl}}):{rules}}==true|{{ct}({list(11):{rl}}):{num}}==false):{list(11):{rl}} }}\n{=(num):{num}{all({list(12):{rl}}!=|{{ct}({list(12):{rl}}):{rules}}==true|{{ct}({list(12):{rl}}):{num}}==false):{list(12):{rl}} }}\n{=(num):{num}{all({list(13):{rl}}!=|{{ct}({list(13):{rl}}):{rules}}==true|{{ct}({list(13):{rl}}):{num}}==false):{list(13):{rl}} }}\n{=(num):{num}{all({list(14):{rl}}!=|{{ct}({list(14):{rl}}):{rules}}==true|{{ct}({list(14):{rl}}):{num}}==false):{list(14):{rl}} }}\n{=(num):{num}{all({list(15):{rl}}!=|{{ct}({list(15):{rl}}):{rules}}==true|{{ct}({list(15):{rl}}):{num}}==false):{list(15):{rl}} }}\n{=(num):{num}{all({list(16):{rl}}!=|{{ct}({list(16):{rl}}):{rules}}==true|{{ct}({list(16):{rl}}):{num}}==false):{list(16):{rl}} }}\n{=(num):{num}{all({list(17):{rl}}!=|{{ct}({list(17):{rl}}):{rules}}==true|{{ct}({list(17):{rl}}):{num}}==false):{list(17):{rl}} }}\n{=(num):{num}{all({list(18):{rl}}!=|{{ct}({list(18):{rl}}):{rules}}==true|{{ct}({list(18):{rl}}):{num}}==false):{list(18):{rl}} }}\n{=(num):{num}{all({list(19):{rl}}!=|{{ct}({list(19):{rl}}):{rules}}==true|{{ct}({list(19):{rl}}):{num}}==false):{list(19):{rl}} }}\n{=(num):{num}{all({list(20):{rl}}!=|{{ct}({list(20):{rl}}):{rules}}==true|{{ct}({list(20):{rl}}):{num}}==false):{list(20):{rl}} }}\n{=(num):{num}{all({list(21):{rl}}!=|{{ct}({list(21):{rl}}):{rules}}==true|{{ct}({list(21):{rl}}):{num}}==false):{list(21):{rl}} }}\n{=(num):{num}{all({list(22):{rl}}!=|{{ct}({list(22):{rl}}):{rules}}==true|{{ct}({list(22):{rl}}):{num}}==false):{list(22):{rl}} }}\n{=(num):{num}{all({list(23):{rl}}!=|{{ct}({list(23):{rl}}):{rules}}==true|{{ct}({list(23):{rl}}):{num}}==false):{list(23):{rl}} }}\n{=(num):{num}{all({list(24):{rl}}!=|{{ct}({list(24):{rl}}):{rules}}==true|{{ct}({list(24):{rl}}):{num}}==false):{list(24):{rl}}}}\n\n{=(comment):The following tests to see if args are empty, or if help or keyword are present, or if the input failed to generate a shortened list of rules, and if so, sets the rule numbers to the full list of rules}\n{=(largs):{{l}{args}}}\n{=(num):{any({largs(1)}==|{all({in(help):{largs}}==false|{in(keyword):{largs}}==false|{num}==):true|false}==true):{join(,):{rules}}|{join(,):{num}}}}\n\n{=(comment):Embed field generation for rule output, don't touch. ┐ = comma placeholder character}\n{=(ilf):,\"inline\":false}\n{=(cfields):{if({list(0):{num}}!=):{\"name\":\"{t{list(0):{num}}}\",\"value\":\"{rule{list(0):{num}}}\"{ilf}}}┐{if({list(1):{num}}!=):{\"name\":\"{t{list(1):{num}}}\",\"value\":\"{rule{list(1):{num}}}\"{ilf}}}┐{if({list(2):{num}}!=):{\"name\":\"{t{list(2):{num}}}\",\"value\":\"{rule{list(2):{num}}}\"{ilf}}}┐{if({list(3):{num}}!=):{\"name\":\"{t{list(3):{num}}}\",\"value\":\"{rule{list(3):{num}}}\"{ilf}}}┐{if({list(4):{num}}!=):{\"name\":\"{t{list(4):{num}}}\",\"value\":\"{rule{list(4):{num}}}\"{ilf}}}┐{if({list(5):{num}}!=):{\"name\":\"{t{list(5):{num}}}\",\"value\":\"{rule{list(5):{num}}}\"{ilf}}}┐{if({list(6):{num}}!=):{\"name\":\"{t{list(6):{num}}}\",\"value\":\"{rule{list(6):{num}}}\"{ilf}}}┐{if({list(7):{num}}!=):{\"name\":\"{t{list(7):{num}}}\",\"value\":\"{rule{list(7):{num}}}\"{ilf}}}┐{if({list(8):{num}}!=):{\"name\":\"{t{list(8):{num}}}\",\"value\":\"{rule{list(8):{num}}}\"{ilf}}}┐{if({list(9):{num}}!=):{\"name\":\"{t{list(9):{num}}}\",\"value\":\"{rule{list(9):{num}}}\"{ilf}}}┐{if({list(10):{num}}!=):{\"name\":\"{t{list(10):{num}}}\",\"value\":\"{rule{list(10):{num}}}\"{ilf}}}┐{if({list(11):{num}}!=):{\"name\":\"{t{list(11):{num}}}\",\"value\":\"{rule{list(11):{num}}}\"{ilf}}}┐{if({list(12):{num}}!=):{\"name\":\"{t{list(12):{num}}}\",\"value\":\"{rule{list(12):{num}}}\"{ilf}}}┐{if({list(13):{num}}!=):{\"name\":\"{t{list(13):{num}}}\",\"value\":\"{rule{list(13):{num}}}\"{ilf}}}┐{if({list(14):{num}}!=):{\"name\":\"{t{list(14):{num}}}\",\"value\":\"{rule{list(14):{num}}}\"{ilf}}}┐{if({list(15):{num}}!=):{\"name\":\"{t{list(15):{num}}}\",\"value\":\"{rule{list(15):{num}}}\"{ilf}}}┐{if({list(16):{num}}!=):{\"name\":\"{t{list(16):{num}}}\",\"value\":\"{rule{list(16):{num}}}\"{ilf}}}┐{if({list(17):{num}}!=):{\"name\":\"{t{list(17):{num}}}\",\"value\":\"{rule{list(17):{num}}}\"{ilf}}}┐{if({list(18):{num}}!=):{\"name\":\"{t{list(18):{num}}}\",\"value\":\"{rule{list(18):{num}}}\"{ilf}}}┐{if({list(19):{num}}!=):{\"name\":\"{t{list(19):{num}}}\",\"value\":\"{rule{list(19):{num}}}\"{ilf}}}┐{if({list(20):{num}}!=):{\"name\":\"{t{list(20):{num}}}\",\"value\":\"{rule{list(20):{num}}}\"{ilf}}}┐{if({list(21):{num}}!=):{\"name\":\"{t{list(21):{num}}}\",\"value\":\"{rule{list(21):{num}}}\"{ilf}}}┐{if({list(22):{num}}!=):{\"name\":\"{t{list(22):{num}}}\",\"value\":\"{rule{list(22):{num}}}\"{ilf}}}┐{if({list(23):{num}}!=):{\"name\":\"{t{list(23):{num}}}\",\"value\":\"{rule{list(23):{num}}}\"{ilf}}}┐{if({list(24):{num}}!=):{\"name\":\"{t{list(24):{num}}}\",\"value\":\"{rule{list(24):{num}}}\"{ilf}}}}\n\n{=(comment):different description holding variables}\n{=(instr):__Instructions__\nFollow the command with the number(s) of the rules you wish to output with spaces in between. Additional accepted formats are:\n#*x*-#*y* to indicate rules from #*x* to #*y* (limit 1x`-`)\n#+ to indicate rules from # to the end of the list of rules\n+# to indicate rules from 1 to # (limit 2x`+`)\nYou can also mix in keywords that have been set (don't mix keywords and symbols).\nExamples: `!rules +2 nsfw 4-6 8+` }\n\n{=(kw):__Keywords__\n{kw01} {kw02} {kw03} {kw04} {kw05} {kw06} {kw07} {kw08} {kw09} {kw10} {kw11} {kw12} {kw13} {kw14} {kw15} {kw16} {kw17} {kw18} {kw19} {kw20} {kw21} {kw22} {kw23} {kw24} {kw25}}\n\n{=(comment):Embed fields}\n{=(footer):Type \\\"!rules help\\\" for instructions, and \\\"!rules keywords\\\" for the list of reference keywords.}\n{=(des):{if({in(help):{largs}}==true):{instr}|{if({in(keyword):{largs}}==true):{kw}|{if({ruleschannelid}!=):<#{ruleschannelid}>}}}}\n\n{=(comment):finalizes the json for the embed by replacing spaces with a filler character, replacing comma placeholder characters with spaces, joining the spaces with commas, and replacing the filler characters with spaces again. this ensures there are no commas preceeding JSON fields, nor trailing the last JSON field. also includes logic choosing whether to display the full rules list (if args or the input number list are empty AND help/keyword are not displayed) or the custom rules list}\n{=(json):\"title\":\"{embedtitle}\",\"description\":\"{des}\",\"fields\":[{{r}(░,\n):{{r}(█, ):{join(,):{{r}(┐, ):{{r}(\n,░):{{r}( ,█):{cfields}}}}}}}],\"author\":{\"name\":\"{server}\",\"icon_url\":\"{server(icon)}\"},\"color\":3092790,\"footer\":{\"text\":\"{footer}\"}}\n\n{c:cembed {if({in(<#):{args}}==true):{args({index(<#):{{r}(<#,. <# .):{args}}})}|{channel(id)}} {{json}}}",
  "embed": "{}",
  "last_fetched": "2026-10-20T23:15:48.056Z"
}