Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==========================================================================================
- Bot-Sothoth: Call of Cthulhu aliases for Avrae
- v3 - 13 AUG 2022
- ==========================================================================================
- Here is a non-workshop method for implementing the CoC aliases for Avrae.
- Instructions:
- 1. Invite the Avrae bot to your Discord server: http://invite.avrae.io/
- If Avrae already exists on your server, ignore this step.
- 2. Please ensure that you have either Administrator status, or the role "Server Aliaser",
- in the Discord server. Otherwise it won't work.
- 3. Copy & paste each block of code between the dashed linebreaks (--------------),
- making sure to include the "!servalias _____ embed" parts
- * Deleting aliases:
- Type "!servalias remove _____" (replacing the blank with the alias name)
- eg: "!servalias remove skill" will delete the !skill command
- NOTE: aliases can only be removed one by one, due to the nature of using "servalias"
- ------
- Coding and implementation carried forward by bothsothoth with original creator's blessing.
- Which was originally based off scripts by reddit user qballds. Feel free to modify, but
- please credit somewhere. Thanks!
- ------------------------------------------------------------------------------------------
- !skill
- ------------------------------------------------------------------------------------------
- !servalias skill embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("1d100")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You achieve a critical success!" if (d.total<2) else f"You achieve an extreme success!" if (d.total<floor(1+(s//5))) else f"You achieve a hard success!" if (d.total<floor(1+(s//2))) else f"You succeed your attempt!" if (d.total<(1+s)) else f"Pray, now." if (d.total>99) else f"You fumble your attempt (critical failure)!" if ((d.total>95) and (s<50)) else f"You fail your attempt!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a {t.title()} ({s}%) check"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skill 50` or `!skill 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Full:** {s} / **Hard:** {s//2} / **Extreme:** {s//5} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !skill+
- ------------------------------------------------------------------------------------------
- !servalias skill+ embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("((2d10kl1-1)*10)+1d10")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You achieve a critical success!" if (d.total<2) else f"You achieve an extreme success!" if (d.total<floor(1+(s//5))) else f"You achieve a hard success!" if (d.total<floor(1+(s//2))) else f"You succeed your attempt!" if (d.total<(1+s)) else f"Pray, now." if (d.total>99) else f"You fumble your attempt (critical failure)!" if ((d.total>95) and (s<50)) else f"You fail your attempt!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a {t.title()} ({s}%) check with 1 bonus die"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skill+ 50` or `!skill+ 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Full:** {s} / **Hard:** {s//2} / **Extreme:** {s//5} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !skill++
- ------------------------------------------------------------------------------------------
- !servalias skill++ embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("((3d10kl1-1)*10)+1d10")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You achieve a critical success!" if (d.total<2) else f"You achieve an extreme success!" if (d.total<floor(1+(s//5))) else f"You achieve a hard success!" if (d.total<floor(1+(s//2))) else f"You succeed your attempt!" if (d.total<(1+s)) else f"Pray, now." if (d.total>99) else f"You fumble your attempt (critical failure)!" if ((d.total>95) and (s<50)) else f"You fail your attempt!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a {t.title()} ({s}%) check with 2 bonus dice"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skill++ 50` or `!skill++ 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Full:** {s} / **Hard:** {s//2} / **Extreme:** {s//5} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !skill-
- ------------------------------------------------------------------------------------------
- !servalias skill- embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("((2d10kh1-1)*10)+1d10")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You achieve a critical success!" if (d.total<2) else f"You achieve an extreme success!" if (d.total<floor(1+(s//5))) else f"You achieve a hard success!" if (d.total<floor(1+(s//2))) else f"You succeed your attempt!" if (d.total<(1+s)) else f"Pray, now." if (d.total>99) else f"You fumble your attempt (critical failure)!" if ((d.total>95) and (s<50)) else f"You fail your attempt!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a {t.title()} ({s}%) check with 1 penalty die"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skill- 50` or `!skill- 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Full:** {s} / **Hard:** {s//2} / **Extreme:** {s//5} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !skill--
- ------------------------------------------------------------------------------------------
- !servalias skill-- embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("((3d10kh1-1)*10)+1d10")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You achieve a critical success!" if (d.total<2) else f"You achieve an extreme success!" if (d.total<floor(1+(s//5))) else f"You achieve a hard success!" if (d.total<floor(1+(s//2))) else f"You succeed your attempt!" if (d.total<(1+s)) else f"Pray, now." if (d.total>99) else f"You fumble your attempt (critical failure)!" if ((d.total>95) and (s<50)) else f"You fail your attempt!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a {t.title()} ({s}%) check with 2 penalty dice"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skill-- 50` or `!skill-- 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Full:** {s} / **Hard:** {s//2} / **Extreme:** {s//5} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !sanity
- ------------------------------------------------------------------------------------------
- !servalias sanity embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{d=vroll("1d100")}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"You pass!" if (d.total<(s+1)) else f"You fail!"}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} makes a Sanity check"}}"
- -desc "{{f"Please specify a number, eg: `!sanity 50`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Current SAN:** {s} \n \n **Roll:** {d} \n \n **Result:** {r}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !skillup
- ------------------------------------------------------------------------------------------
- !servalias skillup embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(s := int("&1&")) if "&1&".isdigit() else (s := "1")}}
- {{d=vroll("1d100")}}
- {{(txt := (" ".join(&ARGS&[1:])))}}
- {{(t := txt) if "&2&".isalpha() else (t := "Skill")}}
- {{(damt := int(d.total))}}
- {{id=vroll("1d10")}}
- {{(idamt := int(id.total))}}
- {{(ia := int(idamt+s))}}
- {{sd=vroll("2d6")}}
- {{ir=f"\n \n Also... **Mastery achieved!** Increase SAN by: \n {sd}" if ((damt>int(s)) and (ia>89) and (int(s)<90)) else f""}}
- {{r=f"" if ("&*&"=="") or not ("&1&".isdigit()) else f"Success! Improve {t.title()} by: \n {id}" if (damt>s) else f"Extreme success! Improve {t.title()} by: \n {id}" if (damt>95) else f"No improvement this time."}}
- -title "{{f"Error" if ("&*&"=="") or not ("&1&".isdigit()) else f"{CHARNAME} attempts to improve {t.title()} ({s}%)"}}"
- -desc "{{f"Please specify a number (optional skill name), eg: `!skillup 50` or `!skillup 50 driving`" if ("&*&"=="") or not ("&1&".isdigit()) else f"**Roll:** {d} \n \n **Result:** {r}{ir}"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !setname
- ------------------------------------------------------------------------------------------
- !servalias setname embed
- {{set_uvar_nx("CHARNAME", ctx.author.display_name)}}
- {{(old := CHARNAME)}}
- {{(new := "&*&")}}
- {{(set_uvar("CHARNAME", ctx.author.display_name)) if "&*&"=="" else (set_uvar("CHARNAME", new.title()))}}
- -title "{{f"Name reset" if "&*&"=="" else f"Name set!"}}"
- -desc "{{f"Character's name is now your username. \n Changed from `{old}` > `{CHARNAME}` \n \n Type `!setname [name]` if you want to set a custom name" if "&*&"=="" else f"Character's name changed from `{old}` > `{CHARNAME}`"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !setcolor
- ------------------------------------------------------------------------------------------
- !servalias setcolor embed
- {{(set_uvar("color", "rainbow")) if "&*&"=="" else (set_uvar("color", "&*&"))}}
- -title "{{f"Error" if "&*&"=="" else f"Color changed!"}}"
- -desc "{{f"Please enter a valid 6-digit hex number, eg: `!setcolor 0000ff`" if "&*&"=="" else f"<-- Check bar to the left to confirm your choice"}}"
- -color <color>
- ------------------------------------------------------------------------------------------
- !cochelp
- ------------------------------------------------------------------------------------------
- !servalias cochelp embed
- -title "Call of Cthulhu commands"
- -desc "
- ***Skill checks:***
- *General:*
- `!skill [value] [skill name]`
- eg: `!skill 20 driving` to check your success/failure for 'Driving (20%)'
- *With Bonus:*
- `!skill+ [value] [skill name]`
- `!skill++ [value] [skill name]`
- eg: `!skill+ 20 driving` to check with 1 bonus die
- *With Penalty:*
- `!skill- [value] [skill name]`
- `!skill-- [value] [skill name]`
- eg: `!skill- 20 driving` to check with 1 penalty die
- ---------------
- ***Sanity:***
- `!sanity [value]`
- eg: `!sanity 20` to check your SAN success/failure
- ---------------
- ***Skill improvement:***
- `!skillup [value] [skill name]`
- eg: `!skillup 20 driving` to see if you improve your Driving skill
- ---------------
- ***Set your name:***
- `!setname` then follow instructions
- ***Set color:***
- `!setcolor` then follow instructions"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement