
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 ' Yo i', 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.