
This is an idea I had for games where the party encounters a culture that speaks an unfamiliar language. In Final Fantasy X, the Al Bhed language is a cipher of English, and there's 26 translation tomes, each of which reveals the cipher for one letter of Al Bhed - so if you get the translation tomes for O and U, then the Al Bhed word 'Oui' now displays as 'Yoi', and the player realizes that 'Oui' probably means 'You'. It's a cool system, so I was like, why not make a script to do this in Roll20?
Usage:
- !generate Elvish = Generate a new language cipher for Elvish.
- !say Elvish "Hello, strangers!" = Says "Hello, strangers!", but shuffled into the Elvish cipher.
- !say Elvish "Hello, !Legolas, my old friend!" = The "!" before Legolas marks it as a proper noun, so it won't be encoded.
- !learn Elvish = Increases Elvish knowledge for the party by 1. Knowledge goes from 0 to 26; each point of knowledge for a language reveals one letter, which will appear in orange in in Elvish dialogue.
- !learn Elvish 10 = sets Elvish knowledge directly to 10.
Configurable points:
- Enable/disable script completely
- Change the color of translated letters
- Allow multiple languages, or simplify commands by just having one language
- Toggle shuffling vowels exclusively with other vowels, which makes a more pronounceable cipher
- Redefining the alphabet of characters, theoretically allowing for this to be used in other alphabetic languages
Whenever a language cipher message is sent, a translated copy is whispered to the GM.
Script here - it's still a work in progress. I haven't tested it too thoroughly, and I want to add a feature that lets specific players know a language natively, which would make all messages in that language be whispered to that player in English. Open to thoughts for other feature ideas.