Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System

Notices

Reply
 
Thread Tools Display Modes
Ravencloak
Junior Member
 
Join Date: Feb 2007
Posts: 18

Old August 25th, 2007, 05:30 PM
All right, this bit seems really complicated, so I'd appreciate whatever advice/guidance I can get.

I'm prepping HL files for a Forgotten Realms campaign, but they've introduced the concept of character regions. Essentially, the region your character comes from is almost as important as his race. It determines one of the character's bonus languages, the availability of some feats (specific regions are prereqs for some FR feats), and affects some Knowledge skills.

So, how do I build in a new widget so the player can choose from a predefined set of regions? Or, do I need to somehow incorporate this into the races?
Ravencloak is offline   #1 Reply With Quote
Colen
Senior Member
Lone Wolf Staff
 
Join Date: Dec 2008
Posts: 4,690

Old August 27th, 2007, 06:44 PM
Ravencloak wrote:
>
>
> All right, this bit seems really complicated, so I'd appreciate whatever
> advice/guidance I can get.
>
> I'm prepping HL files for a Forgotten Realms campaign, but they've
> introduced the concept of character regions. Essentially, the region
> your character comes from is almost as important as his race. It
> determines one of the character's bonus languages, the availability of
> some feats (specific regions are prereqs for some FR feats), and affects
> some Knowledge skills.
>
> So, how do I build in a new widget so the player can choose from a
> predefined set of regions? Or, do I need to somehow incorporate this
> into the races?


The easiest way to do this is probably to add a new template (with a +0
level adjustment) for each region. The template can then automatically
add the appropriate language, and be a pre-requisite for appropriate
feats and knowledge skills.


Hope this helps,


--
Colen McAlister (colen@wolflair.com)
Chief Engineer, Lone Wolf Development
http://www.wolflair.com/
Colen is offline   #2 Reply With Quote
Ravencloak
Junior Member
 
Join Date: Feb 2007
Posts: 18

Old August 28th, 2007, 06:52 PM
Thanks, Colen, you've definitely pointed me in the right direction and I see how I can easily bootstrap in automatic languages. However, it's a bit more complicated than that...isn't it always.

They also use these regions to determine which additional bonus languages (beyond those assigned by race) are available to a character. Evidently, in the Forgotten Realms not all languages are available as bonus languages for humans, instead the character's home region determines which languages are available as bonus languages.

So, unless I miss my mark, it looks like I need to learn more about scripting and portals. I think that I need to figure out the name of the portal responsible for allowing bonus language picks and then "enable" the appropriate bonus languages by setting their values to 1.

I'm certain I'll run into more problems along the way but for now I haven't got a clue as to how I identify the name of the portal. While I'd greatly appreciate just getting the name of this specific portal, I'd be even happier if you could tell me in general how to go about "finding" the names of portals.

Brian
Ravencloak is offline   #3 Reply With Quote
Colen
Senior Member
Lone Wolf Staff
 
Join Date: Dec 2008
Posts: 4,690

Old August 30th, 2007, 03:54 PM
Ravencloak wrote:
>
>
> Thanks, Colen, you've definitely pointed me in the right direction and I
> see how I can easily bootstrap in automatic languages. However, it's a
> bit more complicated than that...isn't it always.
>
> They also use these regions to determine which additional bonus
> languages (beyond those assigned by race) are available to a character.
> Evidently, in the Forgotten Realms not all languages are available as
> bonus languages for humans, instead the character's home region
> determines which languages are available as bonus languages.
>
> So, unless I miss my mark, it looks like I need to learn more about
> scripting and portals. I think that I need to figure out the name of the
> portal responsible for allowing bonus language picks and then "enable"
> the appropriate bonus languages by setting their values to 1.
>
> I'm certain I'll run into more problems along the way Smile but for now
> I haven't got a clue as to how I identify the name of the portal. While
> I'd greatly appreciate just getting the name of this specific portal,
> I'd be even happier if you could tell me in general how to go about
> "finding" the names of portals.


I don't think you need to worry about portals for this stuff. Here's
what you'll need to do:

1) Create these 'regional' languages in the editor, and mark them as
"Secret Languages". This will ensure that humans, half-elves, and other
races that can choose "Any" language won't be able to pick them by default.

2) Now, create a script that runs at an early priority, that assigns the
"Language" tags for those languages to the hero.


For example, let's say that "Gnothic" is a regional language that you
want to add. First, you add it as a language with the unique id
"lGnothic", and mark it as a secret language.

Now, on the "Gnothic Native" template, add a script with phase "First"
and priority 10000 that does this:


~ Add the Gnothic language as a possible bonus language
var result as number
result = hero.assign[Language.lGnothic]


This should make the Gnothic language available when that template is
taken - otherwise it will be greyed out.

Hope this helps,

--
Colen McAlister (colen@wolflair.com)
Chief Engineer, Lone Wolf Development
http://www.wolflair.com/
Colen is offline   #4 Reply With Quote
Ravencloak
Junior Member
 
Join Date: Feb 2007
Posts: 18

Old August 31st, 2007, 08:01 AM
Thanks again, Colen. As usual, I was trying to make things more difficult for myself than necessary.

Your solution works beautifully. One more question. Is there a way to combine multiple "bonus languages" into a single script statement? What you suggested above works just fine, I simply need to enter multiple scripts and increment the index value so they aren't seen as redundant. However, it seems like there ought to be a more elegant way to handle assigning multiple bonus languages in one script. Then again, I've been wrong before.

Thanks again, Colen.

Brian
Ravencloak is offline   #5 Reply With Quote
Colen
Senior Member
Lone Wolf Staff
 
Join Date: Dec 2008
Posts: 4,690

Old August 31st, 2007, 10:37 AM
Ravencloak wrote:
>
>
> Thanks again, Colen. As usual, I was trying to make things more
> difficult for myself than necessary. Wink
>
> Your solution works beautifully. One more question. Is there a way to
> combine multiple "bonus languages" into a single script statement? What
> you suggested above works just fine, I simply need to enter multiple
> scripts and increment the index value so they aren't seen as redundant.
> However, it seems like there ought to be a more elegant way to handle
> assigning multiple bonus languages in one script. Then again, I've been
> wrong before.

You can absolutely do multiple languages in the same script. For
example, if you wanted to add Lang1, Lang2 and Lang3:

var result as number
result = hero.assign[Language.lLang1]
result = hero.assign[Language.lLang2]
result = hero.assign[Language.lLang3]

With the unique ids of the languages changed appropriately.

--
Colen McAlister (colen@wolflair.com)
Chief Engineer, Lone Wolf Development
http://www.wolflair.com/
Colen is offline   #6 Reply With Quote
rob
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 8,232

Old August 31st, 2007, 10:42 AM
At 09:01 AM 8/31/2007, you wrote:
Quote:
Your solution works beautifully. One more question. Is there a way to combine multiple "bonus languages" into a single script statement? What you suggested above works just fine, I simply need to enter multiple scripts and increment the index value so they aren't seen as redundant. However, it seems like there ought to be a more elegant way to handle assigning multiple bonus languages in one script. Then again, I've been wrong before.
You can assign any number of tags in the same script, so assigning access to three optional languages for a given region in a single script would look like the following:

var result as number
result = hero.assign[Language.lGnothic]
result = hero.assign[Language.lLang2]
result = hero.assign[Language.lLang3]

.....continue as necessary

-Rob
rob is offline   #7 Reply With Quote
TobyFox2002
Senior Member
 
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632

Old December 24th, 2013, 11:32 AM
Lets say you wanted to set up a selection of languages based on race.

I have the code working and it gives no errors (except an editor error) an but it seems to work regardless of the if statements.

Secondary tagexpr for pick 'trAglaReg' is scheduled after primary condition test is scheduled
(This pick was added from the editor - reloading the game system my fix this problem)

Levels/10000
Code:
var result as number
if (tagis[Race.Human] <> 0) then
  result = hero.assign[Language.lChessenta]
  result = hero.assign[Language.lDamaran]
  result = hero.assign[Language.lDraconic]
elseif (tagis[Race.HalfElf] <> 0) then
  result = hero.assign[Language.lChessenta]
  result = hero.assign[Language.lDamaran]
  result = hero.assign[Language.lDraconic]
endif

Last edited by TobyFox2002; December 24th, 2013 at 01:41 PM. Reason: Problem not solved.
TobyFox2002 is offline   #8 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,144

Old December 31st, 2013, 05:48 AM
Quote:
Originally Posted by TobyFox2002 View Post
Lets say you wanted to set up a selection of languages based on race.

I have the code working and it gives no errors (except an editor error) an but it seems to work regardless of the if statements.

Secondary tagexpr for pick 'trAglaReg' is scheduled after primary condition test is scheduled
(This pick was added from the editor - reloading the game system my fix this problem)

Levels/10000
Code:
var result as number
if (tagis[Race.Human] <> 0) then
  result = hero.assign[Language.lChessenta]
  result = hero.assign[Language.lDamaran]
  result = hero.assign[Language.lDraconic]
elseif (tagis[Race.HalfElf] <> 0) then
  result = hero.assign[Language.lChessenta]
  result = hero.assign[Language.lDamaran]
  result = hero.assign[Language.lDraconic]
endif
You can remove the variable "result" and replace "result =" with perform.
Sendric is online now   #9 Reply With Quote
TobyFox2002
Senior Member
 
Join Date: Nov 2013
Location: Andover, Ma
Posts: 632

Old December 31st, 2013, 09:56 AM
The code still gives

Code:
Secondary tagexpr for pick 'trAglaReg' is scheduled after primary condition test is scheduled
(This pick was added from the editor - reloading the game system my fix this problem)
And works no matter what happens, regardless of what race I choose. Human, Half-Elf, Orc, Goliath, etc...
TobyFox2002 is offline   #10 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 09:17 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.