ghost
Privateunrated
Content
158 lines{=(comment):these variables are only used in the footer}
{=(prefix):!}
{=(tagname):ghost}
{=(comment):this makes the args into a list, and allows use of / in addition to ~ and , as separators}
{=(alist):{replace(/,~):{join(-):{lower:{args}}}}}
{=(comment):list of ghosts, lowercase list of ghosts, and list of evidence with a placeholder first element that bumps the index, but is never used or seen (because our alist is lowered and it's uppercase)}
{=(ghosts):Spirit Wraith Phantom Poltergeist Banshee Jinn Mare Revenant Shade Demon Yurei Oni}
{=(lghosts):{lower:{ghosts}}}
{=(evidence):NULL ghost-orbs spirit-box fingerprints emf-level-5 freezing-temperatures ghost-writing}
{=(comment):this checks if any of the first 3 args (separated by ~ or , or /) match any evidence substrings, and if so, returns the index number for that piece of evidence}
{=(a2e):{all({list(0):{alist}}!=|{in({list(0):{alist}}):{evidence}}==true):{index({list(0):{alist}}):{replace({list(0):{alist}},. {list(0):{alist}} .):{evidence}}}} {all({list(1):{alist}}!=|{in({list(1):{alist}}):{evidence}}==true):{index({list(1):{alist}}):{replace({list(1):{alist}},. {list(1):{alist}} .):{evidence}}}} {all({list(2):{alist}}!=|{in({list(2):{alist}}):{evidence}}==true):{index({list(2):{alist}}):{replace({list(2):{alist}},. {list(2):{alist}} .):{evidence}}}}}
{=(comment):Evidence variables with corresponding prime numbers and prime products. Triple products only used when it corresponds to a ghost match}
{=(e1):No missing evidence.}
{=(e2):Ghost Orbs}
{=(e3):Spirit Box}
{=(e5):Fingerprints}
{=(e7):EMF Level 5}
{=(e11):Freezing Temperatures}
{=(e13):Ghost Writing}
{=(e6):{e2}, {e3}}
{=(e10):{e2}, {e5}}
{=(e14):{e2}, {e7}}
{=(e15):{e3}, {e5}}
{=(e21):{e3}, {e7}}
{=(e22):{e2}, {e11}}
{=(e26):{e2}, {e13}}
{=(e30):{e2}, {e3}, {e5}}
{=(e33):{e3}, {e11}}
{=(e35):{e5}, {e7}}
{=(e39):{e3}, {e13}}
{=(e42):{e2}, {e3}, {e7}}
{=(e55):{e5}, {e11}}
{=(e65):{e5}, {e13}}
{=(e66):{e2}, {e3}, {e11}}
{=(e77):{e7}, {e11}}
{=(e91):{e7}, {e13}}
{=(e143):{e11}, {e13}}
{=(e154):{e2}, {e7}, {e11}}
{=(e165):{e3}, {e5}, {e11}}
{=(e182):{e2}, {e7}, {e13}}
{=(e195):{e3}, {e5}, {e13}}
{=(e273):{e3}, {e7}, {e13}}
{=(e286):{e2}, {e11}, {e13}}
{=(e385):{e5}, {e7}, {e11}}
{=(e429):{e3}, {e11}, {e13}}
{=(e455):{e5}, {e7}, {e13}}
{=(comment):this converts the index numbers gained above to the prime numbers that correspond to the evidence.}
{=(e2e):{replace(4,5):{replace(5,7):{replace(6,11):{replace(7,13):{a2e}}}}}}
{=(evidlength):{index(end):{e2e} end}}
{=(comment):just a nice display of what evidence the user input}
{=(evidreported):{replace(&, ):{join(, ):{replace(-, ):{replace( ,&):{if({list(0):{join(~):{e2e}}}!=):{e{list(0):{join(~):{e2e}}}}}-{if({list(1):{join(~):{e2e}}}!=):{e{list(1):{join(~):{e2e}}}}}-{if({list(2):{join(~):{e2e}}}!=):{e{list(2):{join(~):{e2e}}}}}}}}}}
{=(comment):this multiplies the prime numbers for each reported evidence together to generate an evidence product. a 1 is added to the end so if no evidence is submitted, the math block will not error, it will just equal 1}
{=(eprod):{m:trunc({join(*):{e2e} 1})}}
{=(comment):two letter variables for each ghost;contains the 3 evidence numbers that correspond to each ghost}
{=(sp):3 5 13}
{=(wr):3 5 11}
{=(ph):2 7 11}
{=(po):2 3 5}
{=(ba):5 7 11}
{=(ji):2 3 7}
{=(ma):2 3 11}
{=(re):5 7 13}
{=(sh):2 7 13}
{=(de):3 11 13}
{=(yu):2 11 13}
{=(on):3 7 13}
{=(comment):the evidence product for each ghost. each number is unique to each ghost, and will tell us matches and missing evidence through use of math. e(ghostnum) = evidence pool}
{=(spiritnum):{m:trunc({join(*):{sp}})}}
{=(wraithnum):{m:trunc({join(*):{wr}})}}
{=(phantomnum):{m:trunc({join(*):{ph}})}}
{=(poltergeistnum):{m:trunc({join(*):{po}})}}
{=(bansheenum):{m:trunc({join(*):{ba}})}}
{=(jinnnum):{m:trunc({join(*):{ji}})}}
{=(marenum):{m:trunc({join(*):{ma}})}}
{=(revenantnum):{m:trunc({join(*):{re}})}}
{=(shadenum):{m:trunc({join(*):{sh}})}}
{=(demonnum):{m:trunc({join(*):{de}})}}
{=(yureinum):{m:trunc({join(*):{yu}})}}
{=(oninum):{m:trunc({join(*):{on}})}}
{=(comment):the main ghost variables. first element is either 0 or 1. 0 = match, 1 means no match. 2nd element is the number of the missing evidence. 3+ is description}
{=(spirit):{m:sgn({spiritnum}%{eprod})} {m:trunc({spiritnum}/{eprod})} A Spirit is the most common Ghost you will come across. However, it is still very powerful and dangerous. They are usually discovered at one of their hunting grounds after an unexplained death.}
{=(wraith):{m:sgn({wraithnum}%{eprod})} {m:trunc({wraithnum}/{eprod})} A Wraith is one of the most dangerous Ghosts you will find. It is also the only known Ghost that has the ability of flight and has sometimes been known to travel through walls. Wraiths almost never touch the ground meaning it can’t be tracked by footsteps. Wraiths have a toxic reaction to Salt.}
{=(phantom):{m:sgn({phantomnum}%{eprod})} {m:trunc({phantomnum}/{eprod})} A rather slow but dangerous type of ghost. Similar to the Yurei, the Phantom has a significant effect on your Sanity, but only if you look at it. You can avoid it by using a photo camera on it, making it disappear forever. This, however, will only work if the ghost is in shadow form. If it is hunting, it will not stop it from attacking.}
{=(poltergeist):{m:sgn({poltergeistnum}%{eprod})} {m:trunc({poltergeistnum}/{eprod})} A Poltergeist is infamous for throwing objects around. It's important to note that this isn't the only ghost that will throw objects around but it is most well known for this. Because of this, the Poltergeist is almost powerless in an empty room.}
{=(banshee):{m:sgn({bansheenum}%{eprod})} {m:trunc({bansheenum}/{eprod})} Banshees are the ghosts that react the strongest to a Crucifix out of all the ghosts in the game. They will attempt to slowly stalk and pick off the ghost hunters one by one.}
{=(jinn):{m:sgn({jinnnum}%{eprod})} {m:trunc({jinnnum}/{eprod})} A Jinn is a territorial Ghost that will attack when threatened. It has also been known to be able to travel at high speeds, and will do so while hunting distant paranormal investigators. However, cutting off a location's power via the breaker box will limit its speed.}
{=(mare):{m:sgn({marenum}%{eprod})} {m:trunc({marenum}/{eprod})} A Mare is a ghost that attacks primarily in the dark. Thus, keeping the lights on and remaining out of dark areas will lower its aggression, but beware as it will attempt to turn the lights off so it may hunt.}
{=(revenant):{m:sgn({revenantnum}%{eprod})} {m:trunc({revenantnum}/{eprod})} A Revenant is a ghost that can attack indiscriminately regardless of sanity levels when hunting. Hiding from the Revenant will cause it to move slowly, but will travel faster than any other ghost in the game if it's hunting a victim.}
{=(shade):{m:sgn({shadenum}%{eprod})} {m:trunc({shadenum}/{eprod})} A Shade is considered to be a "shy ghost.” It will not attack if there are multiple people nearby, but that also means it is harder to find in larger groups.}
{=(demon):{m:sgn({demonnum}%{eprod})} {m:trunc({demonnum}/{eprod})} A Demon is one of the worst ghosts to encounter. Highly aggressive, it will attack more often than any other ghost, so a crucifix is recommended to prevent hunts. However, it will also allow ghost hunters to use the Ouija Board without a major hit to their sanity.}
{=(yurei):{m:sgn({yureinum}%{eprod})} {m:trunc({yureinum}/{eprod})} A Yurei is a type of ghost that has the ability to drain the player's sanity quicker than any other ghost. Smudging the room the Yurei was found in will prevent it from wandering from the location for a long time.}
{=(oni):{m:sgn({oninum}%{eprod})} {m:trunc({oninum}/{eprod})} An Oni is a very active ghost and it’s likely that it will show itself within the first few minutes of the game. It’s also likely to wander around near the ghost room. It’s recommended to hide in a closet and wait for it to leave.}
{=(comment):this is the output when evidence is input (when there is input that is not "help" or a ghost name. if input does not match any evidence, the whole chart will be output)}
{=(ev):{if({evidlength}!=0):Look for|Evidence}: }
{=(echeck):{if({{lghosts(1)}(1)}==0):
• {ghosts(1)}
> {ev}{e{{lghosts(1)}(2)}}}{if({{lghosts(2)}(1)}==0):
• {ghosts(2)}
> {ev}{e{{lghosts(2)}(2)}}}{if({{lghosts(3)}(1)}==0):
• {ghosts(3)}
> {ev}{e{{lghosts(3)}(2)}}}{if({{lghosts(4)}(1)}==0):
• {ghosts(4)}
> {ev}{e{{lghosts(4)}(2)}}}{if({{lghosts(5)}(1)}==0):
• {ghosts(5)}
> {ev}{e{{lghosts(5)}(2)}}}{if({{lghosts(6)}(1)}==0):
• {ghosts(6)}
> {ev}{e{{lghosts(6)}(2)}}}{if({{lghosts(7)}(1)}==0):
• {ghosts(7)}
> {ev}{e{{lghosts(7)}(2)}}}{if({{lghosts(8)}(1)}==0):
• {ghosts(8)}
> {ev}{e{{lghosts(8)}(2)}}}{if({{lghosts(9)}(1)}==0):
• {ghosts(9)}
> {ev}{e{{lghosts(9)}(2)}}}{if({{lghosts(10)}(1)}==0):
• {ghosts(10)}
> {ev}{e{{lghosts(10)}(2)}}}{if({{lghosts(11)}(1)}==0):
• {ghosts(11)}
> {ev}{e{{lghosts(11)}(2)}}}{if({{lghosts(12)}(1)}==0):
• {ghosts(12)}
> {ev}{e{{lghosts(12)}(2)}}}}
{=(comment):checks if the input is a ghost name or part of one, if true, returns the index value (base = 1) of that ghost}
{=(gcheck):{all({list(0):{alist}}!=|{in({list(0):{alist}}):{lghosts}}==true):{index({list(0):{alist}}):{replace({list(0):{alist}},. {list(0):{alist}} .):{lghosts}}}}}
{=(comment):instructions output}
{=(help):This custom command is for the game __Phasmophobia__. You can specify a ghost from the game to see info about that ghost, or you can list evidence to calculate potential matches to that evidence. To list evidence, separate the evidence between either tildes `~`, slashes `/`, or commas `,`. **DO NOT USE SPACES** unless there is a space in the name of the evidence.
Examples:
> `!ghost ghost orbs,prints`
> `!ghost emf/spirit box`
The tag will attempt to guess what you mean if you provide a substring of the name of the ghost or piece of evidence. Thus `polt` is a detectable shorthand version of the Poltergeist ghost name, and `orbs`,`prints`,`temp`,`box`, etc are all detectable evidence shorthands.
Ghosts:
> `{join(`, `):{ghosts}}`
Evidence:
> `{replace(-, ):{join(`, `):{evidence(2+)}}}`}
{=(comment):these set the embed content conditionally. either displays instructions, displays ghost info, or displays evidence matches}
{embed(title):__{any({list(0):{alist}}==|{list(0):{alist}}==help):Instructions:|{if({gcheck}!=):{ghosts({gcheck})}:|Evidence Match:}}__}
{embed(description):{any({list(0):{alist}}==|{list(0):{alist}}==help):{help}|{if({gcheck}!=):{{lghosts({gcheck})}(3+)}
Evidence: {e{{lghosts({gcheck})}num}}|
{if({evidlength}!=0):You reported: `{evidreported}`
That matches:}{echeck}}}}Embed
1 line{"color": 3092790, "footer": {"text": "For instructions type: {prefix}{tagname} help", "icon_url": ""}}Raw JSON
{
"id": 432487,
"created_at": "2020-11-17T01:25:02.000Z",
"tag_name": "ghost",
"nsfw": false,
"owner_id": "192361753693126668",
"uses": 3,
"description": null,
"restricted": false,
"shared": false,
"deleted": false,
"safe": "unrated",
"hidden": false,
"guild_id": "747426399446368349",
"sharer": "700295585185660998",
"content": "{=(comment):these variables are only used in the footer}\n{=(prefix):!}\n{=(tagname):ghost}\n\n{=(comment):this makes the args into a list, and allows use of / in addition to ~ and , as separators}\n{=(alist):{replace(/,~):{join(-):{lower:{args}}}}}\n\n{=(comment):list of ghosts, lowercase list of ghosts, and list of evidence with a placeholder first element that bumps the index, but is never used or seen (because our alist is lowered and it's uppercase)}\n{=(ghosts):Spirit Wraith Phantom Poltergeist Banshee Jinn Mare Revenant Shade Demon Yurei Oni}\n{=(lghosts):{lower:{ghosts}}}\n{=(evidence):NULL ghost-orbs spirit-box fingerprints emf-level-5 freezing-temperatures ghost-writing}\n\n{=(comment):this checks if any of the first 3 args (separated by ~ or , or /) match any evidence substrings, and if so, returns the index number for that piece of evidence}\n{=(a2e):{all({list(0):{alist}}!=|{in({list(0):{alist}}):{evidence}}==true):{index({list(0):{alist}}):{replace({list(0):{alist}},. {list(0):{alist}} .):{evidence}}}} {all({list(1):{alist}}!=|{in({list(1):{alist}}):{evidence}}==true):{index({list(1):{alist}}):{replace({list(1):{alist}},. {list(1):{alist}} .):{evidence}}}} {all({list(2):{alist}}!=|{in({list(2):{alist}}):{evidence}}==true):{index({list(2):{alist}}):{replace({list(2):{alist}},. {list(2):{alist}} .):{evidence}}}}}\n\n{=(comment):Evidence variables with corresponding prime numbers and prime products. Triple products only used when it corresponds to a ghost match}\n{=(e1):No missing evidence.}\n{=(e2):Ghost Orbs}\n{=(e3):Spirit Box}\n{=(e5):Fingerprints}\n{=(e7):EMF Level 5}\n{=(e11):Freezing Temperatures}\n{=(e13):Ghost Writing}\n\n{=(e6):{e2}, {e3}}\n{=(e10):{e2}, {e5}}\n{=(e14):{e2}, {e7}}\n{=(e15):{e3}, {e5}}\n{=(e21):{e3}, {e7}}\n{=(e22):{e2}, {e11}}\n{=(e26):{e2}, {e13}}\n{=(e30):{e2}, {e3}, {e5}}\n{=(e33):{e3}, {e11}}\n{=(e35):{e5}, {e7}}\n{=(e39):{e3}, {e13}}\n{=(e42):{e2}, {e3}, {e7}}\n{=(e55):{e5}, {e11}}\n{=(e65):{e5}, {e13}}\n{=(e66):{e2}, {e3}, {e11}}\n{=(e77):{e7}, {e11}}\n{=(e91):{e7}, {e13}}\n{=(e143):{e11}, {e13}}\n{=(e154):{e2}, {e7}, {e11}}\n{=(e165):{e3}, {e5}, {e11}}\n{=(e182):{e2}, {e7}, {e13}}\n{=(e195):{e3}, {e5}, {e13}}\n{=(e273):{e3}, {e7}, {e13}}\n{=(e286):{e2}, {e11}, {e13}}\n{=(e385):{e5}, {e7}, {e11}}\n{=(e429):{e3}, {e11}, {e13}}\n{=(e455):{e5}, {e7}, {e13}}\n\n{=(comment):this converts the index numbers gained above to the prime numbers that correspond to the evidence.}\n{=(e2e):{replace(4,5):{replace(5,7):{replace(6,11):{replace(7,13):{a2e}}}}}}\n{=(evidlength):{index(end):{e2e} end}}\n\n{=(comment):just a nice display of what evidence the user input}\n{=(evidreported):{replace(&, ):{join(, ):{replace(-, ):{replace( ,&):{if({list(0):{join(~):{e2e}}}!=):{e{list(0):{join(~):{e2e}}}}}-{if({list(1):{join(~):{e2e}}}!=):{e{list(1):{join(~):{e2e}}}}}-{if({list(2):{join(~):{e2e}}}!=):{e{list(2):{join(~):{e2e}}}}}}}}}}\n\n{=(comment):this multiplies the prime numbers for each reported evidence together to generate an evidence product. a 1 is added to the end so if no evidence is submitted, the math block will not error, it will just equal 1}\n{=(eprod):{m:trunc({join(*):{e2e} 1})}}\n\n{=(comment):two letter variables for each ghost;contains the 3 evidence numbers that correspond to each ghost}\n{=(sp):3 5 13}\n{=(wr):3 5 11}\n{=(ph):2 7 11}\n{=(po):2 3 5}\n{=(ba):5 7 11}\n{=(ji):2 3 7}\n{=(ma):2 3 11}\n{=(re):5 7 13}\n{=(sh):2 7 13}\n{=(de):3 11 13}\n{=(yu):2 11 13}\n{=(on):3 7 13}\n\n{=(comment):the evidence product for each ghost. each number is unique to each ghost, and will tell us matches and missing evidence through use of math. e(ghostnum) = evidence pool}\n{=(spiritnum):{m:trunc({join(*):{sp}})}}\n{=(wraithnum):{m:trunc({join(*):{wr}})}}\n{=(phantomnum):{m:trunc({join(*):{ph}})}}\n{=(poltergeistnum):{m:trunc({join(*):{po}})}}\n{=(bansheenum):{m:trunc({join(*):{ba}})}}\n{=(jinnnum):{m:trunc({join(*):{ji}})}}\n{=(marenum):{m:trunc({join(*):{ma}})}}\n{=(revenantnum):{m:trunc({join(*):{re}})}}\n{=(shadenum):{m:trunc({join(*):{sh}})}}\n{=(demonnum):{m:trunc({join(*):{de}})}}\n{=(yureinum):{m:trunc({join(*):{yu}})}}\n{=(oninum):{m:trunc({join(*):{on}})}}\n\n{=(comment):the main ghost variables. first element is either 0 or 1. 0 = match, 1 means no match. 2nd element is the number of the missing evidence. 3+ is description}\n{=(spirit):{m:sgn({spiritnum}%{eprod})} {m:trunc({spiritnum}/{eprod})} A Spirit is the most common Ghost you will come across. However, it is still very powerful and dangerous. They are usually discovered at one of their hunting grounds after an unexplained death.}\n{=(wraith):{m:sgn({wraithnum}%{eprod})} {m:trunc({wraithnum}/{eprod})} A Wraith is one of the most dangerous Ghosts you will find. It is also the only known Ghost that has the ability of flight and has sometimes been known to travel through walls. Wraiths almost never touch the ground meaning it can’t be tracked by footsteps. Wraiths have a toxic reaction to Salt.}\n{=(phantom):{m:sgn({phantomnum}%{eprod})} {m:trunc({phantomnum}/{eprod})} A rather slow but dangerous type of ghost. Similar to the Yurei, the Phantom has a significant effect on your Sanity, but only if you look at it. You can avoid it by using a photo camera on it, making it disappear forever. This, however, will only work if the ghost is in shadow form. If it is hunting, it will not stop it from attacking.}\n{=(poltergeist):{m:sgn({poltergeistnum}%{eprod})} {m:trunc({poltergeistnum}/{eprod})} A Poltergeist is infamous for throwing objects around. It's important to note that this isn't the only ghost that will throw objects around but it is most well known for this. Because of this, the Poltergeist is almost powerless in an empty room.}\n{=(banshee):{m:sgn({bansheenum}%{eprod})} {m:trunc({bansheenum}/{eprod})} Banshees are the ghosts that react the strongest to a Crucifix out of all the ghosts in the game. They will attempt to slowly stalk and pick off the ghost hunters one by one.}\n{=(jinn):{m:sgn({jinnnum}%{eprod})} {m:trunc({jinnnum}/{eprod})} A Jinn is a territorial Ghost that will attack when threatened. It has also been known to be able to travel at high speeds, and will do so while hunting distant paranormal investigators. However, cutting off a location's power via the breaker box will limit its speed.}\n{=(mare):{m:sgn({marenum}%{eprod})} {m:trunc({marenum}/{eprod})} A Mare is a ghost that attacks primarily in the dark. Thus, keeping the lights on and remaining out of dark areas will lower its aggression, but beware as it will attempt to turn the lights off so it may hunt.}\n{=(revenant):{m:sgn({revenantnum}%{eprod})} {m:trunc({revenantnum}/{eprod})} A Revenant is a ghost that can attack indiscriminately regardless of sanity levels when hunting. Hiding from the Revenant will cause it to move slowly, but will travel faster than any other ghost in the game if it's hunting a victim.}\n{=(shade):{m:sgn({shadenum}%{eprod})} {m:trunc({shadenum}/{eprod})} A Shade is considered to be a \"shy ghost.” It will not attack if there are multiple people nearby, but that also means it is harder to find in larger groups.}\n{=(demon):{m:sgn({demonnum}%{eprod})} {m:trunc({demonnum}/{eprod})} A Demon is one of the worst ghosts to encounter. Highly aggressive, it will attack more often than any other ghost, so a crucifix is recommended to prevent hunts. However, it will also allow ghost hunters to use the Ouija Board without a major hit to their sanity.}\n{=(yurei):{m:sgn({yureinum}%{eprod})} {m:trunc({yureinum}/{eprod})} A Yurei is a type of ghost that has the ability to drain the player's sanity quicker than any other ghost. Smudging the room the Yurei was found in will prevent it from wandering from the location for a long time.}\n{=(oni):{m:sgn({oninum}%{eprod})} {m:trunc({oninum}/{eprod})} An Oni is a very active ghost and it’s likely that it will show itself within the first few minutes of the game. It’s also likely to wander around near the ghost room. It’s recommended to hide in a closet and wait for it to leave.}\n\n{=(comment):this is the output when evidence is input (when there is input that is not \"help\" or a ghost name. if input does not match any evidence, the whole chart will be output)}\n{=(ev):{if({evidlength}!=0):Look for|Evidence}: }\n{=(echeck):{if({{lghosts(1)}(1)}==0):\n• {ghosts(1)}\n> {ev}{e{{lghosts(1)}(2)}}}{if({{lghosts(2)}(1)}==0):\n• {ghosts(2)}\n> {ev}{e{{lghosts(2)}(2)}}}{if({{lghosts(3)}(1)}==0):\n• {ghosts(3)}\n> {ev}{e{{lghosts(3)}(2)}}}{if({{lghosts(4)}(1)}==0):\n• {ghosts(4)}\n> {ev}{e{{lghosts(4)}(2)}}}{if({{lghosts(5)}(1)}==0):\n• {ghosts(5)}\n> {ev}{e{{lghosts(5)}(2)}}}{if({{lghosts(6)}(1)}==0):\n• {ghosts(6)}\n> {ev}{e{{lghosts(6)}(2)}}}{if({{lghosts(7)}(1)}==0):\n• {ghosts(7)}\n> {ev}{e{{lghosts(7)}(2)}}}{if({{lghosts(8)}(1)}==0):\n• {ghosts(8)}\n> {ev}{e{{lghosts(8)}(2)}}}{if({{lghosts(9)}(1)}==0):\n• {ghosts(9)}\n> {ev}{e{{lghosts(9)}(2)}}}{if({{lghosts(10)}(1)}==0):\n• {ghosts(10)}\n> {ev}{e{{lghosts(10)}(2)}}}{if({{lghosts(11)}(1)}==0):\n• {ghosts(11)}\n> {ev}{e{{lghosts(11)}(2)}}}{if({{lghosts(12)}(1)}==0):\n• {ghosts(12)}\n> {ev}{e{{lghosts(12)}(2)}}}}\n\n{=(comment):checks if the input is a ghost name or part of one, if true, returns the index value (base = 1) of that ghost}\n{=(gcheck):{all({list(0):{alist}}!=|{in({list(0):{alist}}):{lghosts}}==true):{index({list(0):{alist}}):{replace({list(0):{alist}},. {list(0):{alist}} .):{lghosts}}}}}\n\n{=(comment):instructions output}\n{=(help):This custom command is for the game __Phasmophobia__. You can specify a ghost from the game to see info about that ghost, or you can list evidence to calculate potential matches to that evidence. To list evidence, separate the evidence between either tildes `~`, slashes `/`, or commas `,`. **DO NOT USE SPACES** unless there is a space in the name of the evidence.\n\nExamples:\n> `!ghost ghost orbs,prints`\n> `!ghost emf/spirit box`\n\nThe tag will attempt to guess what you mean if you provide a substring of the name of the ghost or piece of evidence. Thus `polt` is a detectable shorthand version of the Poltergeist ghost name, and `orbs`,`prints`,`temp`,`box`, etc are all detectable evidence shorthands.\n\nGhosts:\n> `{join(`, `):{ghosts}}`\n\nEvidence:\n> `{replace(-, ):{join(`, `):{evidence(2+)}}}`}\n\n{=(comment):these set the embed content conditionally. either displays instructions, displays ghost info, or displays evidence matches}\n{embed(title):__{any({list(0):{alist}}==|{list(0):{alist}}==help):Instructions:|{if({gcheck}!=):{ghosts({gcheck})}:|Evidence Match:}}__}\n{embed(description):{any({list(0):{alist}}==|{list(0):{alist}}==help):{help}|{if({gcheck}!=):{{lghosts({gcheck})}(3+)}\n\nEvidence: {e{{lghosts({gcheck})}num}}|\n{if({evidlength}!=0):You reported: `{evidreported}`\n\nThat matches:}{echeck}}}}",
"embed": "{\"color\": 3092790, \"footer\": {\"text\": \"For instructions type: {prefix}{tagname} help\", \"icon_url\": \"\"}}",
"last_fetched": "2026-10-20T23:10:35.166Z"
}