Page 1 of 1

[35e] Homebrew Language System

PostPosted: Sat Mar 10, 2018 11:56 am
by Sartograph

I discovered PCC and think it's an awesome tool. I spent several days reading in the documentation and now I want to get my hands dirty to implement all our house rules.

My first attempt is a more complex language system we are using in our group:

- Languages work similar to skills, there is a special "Language Skill Point" Pool which can be used for languages.
- The amount of ranks in a language determines how well it is spoken and/or written (Reading and Writing are separate skills per language).
- Each character gets 10 Language Skill Points + INT Mod at character creation (if INT mod is increased later, it will not increase the pool)
- each character gets 1 additional language point per level (independent of class)
- some classes/Races get additional points, ie. Human Race gets 6 additional points at start, Bard Class gets 1 additional point per Bard Level, Casterclasses get bonus points for a specific "Mage" language
- characters can choose to use their normal skill points to increase a language skill (could either be directly into the skill or by using them to increase the language skill pool)
- Languages have different max Rank limitations. The maximum Rank is 10 and it is possible to reach max rank for a language already at level 1
- Written Languages have an Alphabet. If you have 8 points in a Written Language, you get a +2 Synergy Bonus to all other Written Languages using the same alphabet, given you have at least 1 rank in that written language.

For Example:
Language Type Alphabet
Common Spoken
Common Written HumanAlphabet
Dwarfen Spoken
Dwarfen Written Runes
Elven Spoken
Elven Written Runes

I know that this is probably a rather difficult homebrew rule to start with LST files. But I am a computer scientist/software developer myself, so I think I can figure it out with a bit of try and error.

However before I start I need to think about how such a system could be implemented. So I don't get stuck halfway through realizing that technically my approach cannot work at all.

The normal languages don't allow ranks in languages.
Only option I can see would be to create one language per rank (i.e. HumanSpoken+1, HumanSpoken+2, ...) etc.
Grant bonus languages as per rules above.
Add some ablity like "Synergy Bonus Language" to get additional language points and assign them manually
But would be ugly because every language is several times on the sheets, not just the max Rank.
Alternatively players can just "swap" them out, so they just get enough points, and then track their actual pool size, synergies etc. by hand and reflect it with the chosen languages so it appears on the character sheets.


To really implement it, I think they would need to bet set up as skills, because they work similarly.
So one new skill for each language in written and spoken.
Type would be something like NoStat (to avoid bonuses), Language (so they are a "subgroup"), maybe Written/Spoken (another Subtype), and the Alphabet type (HumanAlphabet, Runes) for the Written Language Skills.

Ideally I would now be able to create a new "skill pool" which is only usable for type=language skills, while the normal skill pool can be used for both regular and language skills.
Is this somehow possible? I think it's not, because there are only Pools for Class+Level combinations which can be granted with BONUS:SKILLPOOL|CLASS=x;LEVEL=y|z
Or can I grant points to classes the character doesn't have? So I can create a virtual class "Language Pool" in classes.lst but make it internal/invisible. And then I just assign all points to the level 1 skillpool of this class and the characters can see and use them?
I don't think I can restrict the usage of this pool, so they could be spent on any skill, but the players should be able to use them following the rules.

If that's not possible, I thought about using a new ability category for languages (inspired by th "Ability by Skill Rank" example from documentation).
There is only 1 ability which is used to increase the ranks of the languages.
the abilitypool gets initialized/modified as per rules above.
the ability is mult=yes and stackable=yes and provides a skill chooser for type=language (similar to the GM granted skill rank bonus ability)
For normal skill points, they can be put directly into language ranks, or I create a dummy language skill, and every rank just gives +1 bonus to the language ability pool.
Oh, and another ability for the caster classes which is auto granted and gives the bonus directly to the specific Mage Language Skill.

Synergies would be a bonus on the language skills which gives +2 Bonus/Ranks to languages of type=written and with same alphabet type, with precondition that the ability has at least 1 rank, and excluding the written language itself which is source of the synergy... can this be done? Or better, can this be done "in one bonus rule per language" or do I need to make one bonus tag for each language which could be affected?

Additional questions:
- Any way to restrict the ranks in the language ablities to a max of 10?
- Any way to allow 10 ranks from the start, circumventing the normal skill rank limits? Or is the only option to grant skill bonus instead of ranks from the language ability?
- Can I limit the chooser to only offer languages which don't have max rank yet?
- If I need to go for bonus instead of ranks, can I make it so that players can't put ranks into these skills? Somehow with the EXCLUSIVE tag maybe? They should still be visible...
- What do I do with the normal language system? Can they be used in any way for the homebrew rules or should I just MOD .FORGET them? Can I somehow nullify the language pool so players aren't bothered with the Things to be done reminder to select languages?
- Where do I implement the starting pool and the "+1 language pool per character level"? Can that be granted in custom gamemode in levels.lst? Or as a BONUS for example in INT stat definition with BONUS of 10+INT+TL (total level)? How do I avoid that pool gets bigger when INT mod increases? Or do I need to put it into every class definition? Can I put the BONUS there globally (equal to class level in this case I guess, otherwise Multiclassers could get too many points), or would I just give a +1 bonus at every class level line (and a bigger bonus for Bard Class?)

Any other implementation ideas or useful tips?
Maybe create some internal variables for each language holding the current ranks, and just giving each language ability a bonus of the respective languageVariable... But that seems like even more complex code, and I don't know if I could get a chooser to work with that etc...

Thanks a lot for any kind of feedback or input!

Re: [35e] Homebrew Language System

PostPosted: Sat Mar 10, 2018 12:30 pm
by Distant Scholar
First: Don’t try to use skills or the skill system at all. Everything you mentioned can be better handled through an ability pool and abilities.

The character sheet output will be a bit kludgey unless you also tinker with the output sheet code.

I don’t know how to turn off the built-in language system; I’m not completely sure it’s possible.

I wouldn’t tinker with game mode files for this; there’s a “default” ability you can MODify to add in abilities to all characters.

I encourage you to do as much you can through your own exploration; it will make you better as making further modifications down the road. If you get stuck on something, though, by all means ask us about it.

Re: [35e] Homebrew Language System

PostPosted: Sat Mar 10, 2018 5:43 pm
by LegacyKing
Placeholder - Since you wrote an article I'll say what you want is possible, but the method to achieve those results will be a bit different.

While I read the particulars, my question to you is this "Are you wanting to kludge this together with what is possible in the 'documents', or would you rather give the new system that isn't available in those 'documents' a try?"

See, we're replacing the older formula systems (JEP and the one that came before JEP) with a newer formula system. One that can handle quite a lot more.

I can say, the new system might have a learning curve, but I think the results will be a lot more in-line with your expectations.


Re: [35e] Homebrew Language System

PostPosted: Sat Mar 10, 2018 11:24 pm
by Sartograph
Thanks for your replies.

I'm actually surprised because I thought that the skill system is kind of the obvious choice. I read that the old feat system is deprecated and abilities are the way to go, but I didn't knew that abilities are better for, well, skills.

But then again this is why I asked for advice. If you say the ability system works better for my requirements, then I will try it in that direction.

I don't know how to implement it, though. I mean, logically.

I need one ability per language, which is basically for display on the sheets and displays my "rank" in a language by saying "Human Written: %"|VarHumanWritten?
Then I have the pool, obviously. And with the pool I can choose "other" abilities (mult=yes) which will just give +1 to the VarHumanWritten (etc., one variable per language)... and the ability has like PREVARLT|VarHumanWritten|10... and these abilities are disabled from display...

Is that somehow how it could/should be done? Are there any exampes from datasets where a similar "combination" of abilities is used to look at? I don't need "technical" help to implement it yet, because I want to try and experiment on my own first. But I would appreciate some more input on how to "knit" the abilities together... a description of "what" the abilities need to do (not how I make them do it) to achieve the system. Because the ability system is quite complex and confusing. ;)

For the normal language system: Maybe something along BONUS:LANGUAGES|NUMBER|-10 to just remove enough points from the pool so the players can never chose something?

Default ability: Do you mean every character automatically has it already, and I can just add lots of BONUS and DEFINE stuff there and it is applied to every character?

I had to make a custom Gamemode anyway because we are using a different XP table and we are using the Pathfinder Feat progression (every 2 levels) in our 35e homebrew. I set my new gamemode to be compatible with 35e sources so I can still load them.

I guess the new system is not available in 6.06.01 but only in a alpha/beta version?
I don't know if I want to try that... because I want to do some more stuff for our homebrew setting (races, classes etc.) and I think with a new (and not yet documented) formula system, it might be more difficult than if I'm able to refer to some documentation (even if it's sometimes a bit outdated).

Maybe after I have some more experience with the LST files, then it might be worth a shot. But currently I have no experience and I need some documentation to start. It's quite an unusual type of defining stuff.

Btw, is there any useful editor for the LSTs? Because it's so much scrolling with a normal text editor... I thought about opening them in Excel and treat them as CSV with TAB separators, so at least I have some alignment with the headings etc... or what do you use?

Re: [35e] Homebrew Language System

PostPosted: Sun Mar 11, 2018 12:01 am
by LegacyKing
Jump on here: I'm free for an hour -->

Re: [35e] Homebrew Language System

PostPosted: Mon Mar 12, 2018 2:18 am
by Nylanfs
Here is a list of all the editors that we have syntax files for. ... r%20syntax