• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Languages

Gumbytie

Well-known member
Yet another question. The various language rules are equal to Smarts or equal to Half Smarts etc.

But is there a way to start with that but keep the languages from increasing every-time the character raises their Smarts. In other words, starting character gets the Smarts/Half-Smarts at character creation.

After that, the only way to get new languages is via buying a new language skill or something similar.

I just don't like every-time character gets smarter, they automatically get a new language.
 
Don't base it on Smarts directly. Grab the value, then use a trap so it only gets modified when in creation mode.
if (state.iscreate <> 0) then
 
Okay, some clarification. This is for Deluxe setting right now. Eventually will roll this over to SWADE but that will utilize its default language method probably.

So for now. I came up with this script (with debugs!):
Final/2000
Code:
if (state.iscreate <> 0) then
var bonus as number
bonus = #trait[attrSma]

debug #trait[attrSma]
debug bonus

   if (hero.tagis[source.Language] = 0) then
     #resmax[resLang] += bonus
     #resleft[resLang] += bonus

     debug #trait[attrSma]
     debug bonus
   endif

endif

And according to Debug I am getting all my variables.

But I am not using language as skills, I am using the option for the languages option that opens under Skills on Skills tab.

lgLanguage is the field I am using for languages.

However, the only way I know to "open" that is using this code:

Initialization/1000
Code:
perform hero.assign[Hero.SmartsLang]
trustme

But that seems to use the Smarts language code somewhere so it ignores my previous code and adds a new language option and domain field everytime Smarts increases. So is there another method to "unlock" and open that language option?

I hope this makes sense, it does in my head, sigh.
 
Last edited:
Okay, getting somewhere now. Lots of cups of coffee.

1. So on the Setting Adjust file make sure "Multiple Languages" checked.

2. Go with Smarts d4

3. Use this Mechanic script for starting languages:
Final/2000
Code:
if (state.iscreate <> 0) then
var bonus as number
bonus = #trait[attrSma]

debug #trait[attrSma]
debug bonus

   if (hero.tagis[source.Language] = 0) then
     #resmax[resLang] += bonus
     #resleft[resLang] += bonus

     debug #trait[attrSma]
     debug bonus
   endif

endif

All good so far, no errors, works great.

Lock your character for Advancement and the errors appear.

Under the languages you are now 2 of 0 (2 Overspent). Language Slots: -2(0).

So I assume I need to set the Language slots in the above script perhaps? Or in another? Will play around but getting closer. Language Slots = resLang, but it gets lost when character locked for Advancement.
 
Last edited:
That's the thing - in Deluxe it can be either way - A Skill or a separate item. Hence the difficulty, most of the code is written to work either way in Deluxe.
 
Back
Top