Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Idea - Gradual Language Proficiency #62

Closed
The-Dragonrider opened this issue Dec 29, 2020 · 3 comments
Closed

Feature Idea - Gradual Language Proficiency #62

The-Dragonrider opened this issue Dec 29, 2020 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@The-Dragonrider
Copy link

Understanding and learning languages takes time. Unfortunately, the current form of Polyglot is either 100% or 0% understanding. No inbetween. Whilst this is functionally alright, I would greatly desire the ability to have languages understood in gradual amounts.

The ideas behind this is that only some words are runes instead of text. Or only pieces of words, though that would likely be far more complex to program. I am no programmer, myself. I simply thought up the idea, and decided to make noise about it. Whether or not this is possible, I could not say.

Regardless, I adore Polyglot, as it allows me to actually have differences in languages, and not just have to hope the players don't cheat. To whomever reads this, I hope you have a pleasant morning/afternoon/evening.

@mclemente mclemente added enhancement New feature or request help wanted Extra attention is needed and removed help wanted Extra attention is needed labels Feb 14, 2021
@mclemente mclemente added the help wanted Extra attention is needed label Mar 7, 2021
@Nyhles
Copy link
Contributor

Nyhles commented Apr 13, 2021

To reflect a partial understanding of a language only some words or single characters could be scrambled, depending on the skill level of the user.

Without knowing how languages currently are handled, maybe this could be handled somehow like this (pseudocode):

function getKnownLanguages(string Identity, bool Host){
	//returns percentiles which can be used to decide how many words/characters should be scrambled when a languag is not fully understood or spoken.
	//If a value of 86 is returned for every word or char you see there should be a 86% chance that it is not scrambled.
	//This example could work in a percentile skill system. eg Language(Englisch) 40% (could be written for skill levels eg. level 1 == 33%)
	
	array SpokenLang = {};
	array UnderstoodLang = {};
	bool SpeaksAll = false;
	bool UnderstandsAll = false;

	if (isHost){ 
		//Host should understand everything
		SpeaksAll = true;
		UnderstandsAll = true;
	}else{
		for (every language skill){
			string Lang = getLanguageName;
			if (language skill = Tongues){
				//Implement Tongues Spell
				SpeaksAll = true;
				UnderstandsAll = true;
			}elseif (language skill = Comprehend Languages){ 
				//Implements Comprehend Languages Spell
				UnderstandsAll = true;
			}else{
				int SkillNumber = getLanguagSkillNumber;
				if (SkillNumber > 0){
					if (SkillNumber < 50)
						//if you don't understand a languag by at least 50%, some words should be scrambled. with a skill of 25% you should understand every second word
						SpokenLang[Lang] = 2*SkillNumber;
						UnderstoodLang[Lang] = 2*SkillNumber;
					}else{
					//If you know a language by 50% or more you should understand and speak a language fully (100%), therefore no words should be scrambled.
						SpokenLang[Lang] = 100;
						UnderstoodLang[Lang] = 100;
					}
				}
			}	
		}
	}
	
	//Overwrite if you Understand or speak all languages.
	if (SpeaksAll){
		for (every language skill){
			string Lang = getLanguageName;
			SpokenLang[Lang] = 100;
		}
	}
	if (UnderstandsAll){
		for (every language skill){
			string Lang = getLanguageName;
			UnderstoodLang[Lang] = 100;
		}
	}
	return SpokenLang, UnderstoodLang
}

I hope it is clear what I mean.

@DrDungeonMaster
Copy link

I came to inquire about the Primordial language family (Aquan/Ignan/Terran/Auran). Basically, if you speak one of the languages, you should have partial comprehension in all the others. If there was a way to support partial language comprehension (some percentage of words understood at random), I could set it up so that my Aquan speaker could only read half of what the Efreeti were saying to him in Ignan. This feature would be great for that.

@mclemente
Copy link
Owner

I've let this issue open for some time now on the off chance some miracle developer would show up with some implementation of this.

The two major reasons this isn't feasible on Polyglot are:

  1. The game system would actually need to support partial proficiency, it's impossible to adapt this for a single system. Even if it were for dnd5e only (due to being the major FVTT game system), it would require a lot of work because it would need changes to sheets and character data.
  2. Polyglot's scrambling is a "replace all characters in a string" function, not a "replace word per word" function. So its functions would need major changes and there's no guarantee the results would be satisfactory.

@mclemente mclemente pinned this issue Jul 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants