Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Howdy!
I am attempting to implement the CODA game rules from Decipher's Star Trek and Lord of the Rings games. I've made a little progress, but have a couple of questions on how to proceed.. I'm starting with the Star Trek rules, and these questions have come up: 1) How do I make an attribute (Psionics) hidden unless the character has an ability that allows it (Psionic Talent which allows the Attribute and starts at a score of 4 )? 2) How do I add fields to skills? I need to add a field that indicates whether a skill is useable untrained or Trained only, as well as one for making a skill fit one of four categories (Academic, Physical, Social or Psionic) 3) How do I hide Psionic skills unless the Psionic Attribute is visible? 4) In the CODA system, a skill can be: a) The skill itself where the ranks are applied only for that skill. i.e. Empathy 3 b) A Specialty of a base skill and a character can have several specialties for a skill. i.e. System Operation (Helm)(Sensors) 4 c) One of a Group of skills, each individual and separate (But subskills of the same base). i.e. Science (Chemistry 4, Physics 2) 5) How do I calculate and display a modifier score for an attribute? i.e. Score of 1 is a -3 modfier, 4 is a 0 modifier or 10 is a +2 modifier a) I'm thinking a script that pulls the final value of the attribute and assigns the modifier based on that score..? I'm trying to get the basic information down for now... more in-depth creation questions wll be coming I'm sure. Thanks! Thomas |
#1 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Quote:
Code:
<live>!Hide.Attribute</live> Your talent will assign a hero tag (Hero.Psionic for example) once it's added, and a script on the Psionic attribute will assign itself Hide.Attribute unless the hero is psionic. Looking for a hero tag instead of the talent allows supplement X to add a different version of the psionic talent that works differently, but still uses the same psionics attribute. Read through the Savage Worlds walkthrough sections on arcane backgrounds. It sounds like psionics act much like them. Quote:
This page of the Savage Worlds walkthrough includes creating categories for the various edges (defining categories for your skills will work the same way): http://hlkitwiki.wolflair.com/index....upport_(Savage) Quote:
http://hlkitwiki.wolflair.com/index....rounds_(Savage) Quote:
Does an individual skill only belong in one of those three categories? Ex: the empathy skill has no specialties/grouping? If you have specialties for a skill, are they all at the same level? Or is the grouping of skills you describe essentially two different specialties of Science, each at different levels? It may help to think in terms of existing examples. In the Cortex files, skills and specialties are separate, with the specialties always sorting themselves under the skill (and then some scripts to make a gun figure out whether it should be using the pistols specialty or the guns skill, or whether the character is unskilled). In WoD, specialties tend to be more along the lines of modifications of existing skills, that don't change their parent as much, so they're displayed in their own table. In d20, there are many perform skills, but since the maximum matters to a bard, a separate component searches through all the perform skills to find the maximum value among them. Bingo. The thing to watch out for here is timing. You'll put this script slightly after the script that calculates trtFinal, then derive the modifier from trtFinal. Last edited by Mathias; July 30th, 2009 at 10:08 AM. |
||||
#2 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Quote:
Code:
<portal id="baAttrib" style="tblInvis"> <table_fixed component="Attribute" showtemplate="baAttrPick" showsortset="explicit" scrollable="no"> <headertitle><![CDATA[ @text = "Attributes" ]]></headertitle> </table_fixed> <live>!Hide.Attribute</live> </portal> <thing id="attrPsi" name="Psionics" compset="Attribute" isunique="yes" description="Description goes here"> <fieldval field="trtAbbrev" value="Psi"/> <tag group="explicit" tag="7"/> <eval index="1" phase="Setup" priority="100"><![CDATA[ perform assign[Hide.Attribute] ]]></eval> </thing> Quote:
Code:
<!-- Skill Type group --> <group id="SkillType"> <value id="Academic"/> <value id="Physical"/> <value id="Social"/> <value id="Psionic"/> </group> Code:
<tag group="SkillType" tag="Academic" /> Quote:
b) A specialty of a skill is narrower use of the overall skill, so adds a +2 to the total roll for use of that specialty. It doesn't affect ranks themselves except for costing less to purchase and advance. c) It would be as if you had the two skills: Science - Chemistry 4 and Science - Physics 2. Each subskill is treated as a seperate skill for costs, etc. However, when creating a character, one of the added skills might be something like Science (Any) 2 which means "choose a skill from the science skill group at rank 2". Last edited by TCArknight; July 30th, 2009 at 01:37 PM. Reason: added psionics code |
|||
#3 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Quote:
http://hlkitwiki.wolflair.com/index...._Element_(Data) Scroll down that page until you get to the list of elements (they're all links, so it's easy to see whn you've gotten to that section of the list). The order they're listed in there has to be followed. I'm guessing you put your new <tag/> line as the first or last line in the skill. Quote:
Or, once you take the system operation skill, do you have the option to restrict it to one or more specialties, trading the general effectiveness of the skill for better rolls in those specialties? If so, is there a limit to the number of specialties per skill (if it's a max of 2 or 3, you can put menus on the skills to select the specialties - if it's more, you're going to need a table that allows the user to select them all). Would it work to handle the third option with requirements? - The character class (or whatever) grants you the skill points you'd need to buy Science (XXX) 2, and has an eval rule that requires that you have at least one science skill at a rating of 2 or more. It's then up to the user to buy the science skill they want, with the program complaining until they do? If the character's maximum science skill isn't something that's used, I'd suggest you add Science (chemistry) and Science (physics) as separate skills, with the same skill grouping tag. On the other hand, if the skills are listed as Science (Chemistry 4, Physics 2) on a character sheet, you're going to need a parent skill. Parent skills would display themselves on the character sheet, and then find and display all their child skills. Normal skills (like empathy) would just display themselves. |
||
#4 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Ok, I'm not worrying about the skills at the moment, so thought I'd tackle something a bit simpler... or so I thought.
Each character has 4 stats based on the modifiers of one of two attributes (I take the max of the two in a script) These are called Reactions in the game. What I did, was duplicate everything for Traits and change it to Reaction. The Reactions should show up in the lower right panel on the Basics tab. However, they don't. Seems like no matter what I change in the Pick template, I can't get the Reactions to show up. I've got a Reaction compset, and a Reaction Component set up, but no luck. What am I missing? I've attached the zip of the data files. StarTrek.zip Thanks! Thomas |
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
In the bootstraps.1st file, there is an enmasse entry that adds all derived traits to every character. Do you have a way to add your reactions to the characters that need them?
|
#6 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Not that I've come up with. Reactions are normal Characteristics, as much as the Attributes.
I'm playing around with a couple of other ideas and going back through the walkthrough to see what I missed... |
#7 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Well, I added the enmasse entry for Reactions and they showed up. I guess I missed that in the walkthrough... ::
Couple of things: 1) any ideas why this script isn't working? Code:
<scriptmacro name="traitmod" param1="trait" result="hero.child[#trait].field[trtMod].value"/> <!-- Attribute modifier --> <field id="trtMod" name="Modifier" type="derived"> </field> <!-- Calculate the modifier for the Attribute --> <eval index="3" phase="Traits" priority="5000"><![CDATA[ ~base our test on the adjusted trait value, sans any in-play adjustments var trait as number trait = field[trtFinal].value if (trait <= 1) then field[trtMod].value = -3 elseif (trait = 2) then field[trtMod].value = -2 elseif (trait = 3) then field[trtMod].value = -1 elseif (trait = 4) then field[trtMod].value = 0 elseif (trait = 5) then field[trtMod].value = 0 elseif (trait = 6) then field[trtMod].value = 0 elseif (trait = 7) then field[trtMod].value = 0 elseif (trait = 8) then field[trtMod].value = 1 elseif (trait = 9) then field[trtMod].value = 1 elseif (trait = 10) then field[trtMod].value = 2 elseif (trait = 11) then field[trtMod].value = 2 elseif (trait = 12) then field[trtMod].value = 3 elseif (trait = 13) then field[trtMod].value = 3 elseif (trait = 14) then field[trtMod].value = 4 elseif (trait = 15) then field[trtMod].value = 4 elseif (trait = 16) then field[trtMod].value = 5 elseif (trait = 17) then field[trtMod].value = 5 elseif (trait = 18) then field[trtMod].value = 6 elseif (trait = 19) then field[trtMod].value = 6 elseif (trait = 20) then field[trtMod].value = 7 elseif (trait = 21) then field[trtMod].value = 7 elseif (trait = 22) then field[trtMod].value = 8 elseif (trait = 23) then field[trtMod].value = 8 endif ]]></eval> <thing id="reQuick" name="Quickness" compset="Reaction" isunique="yes" description="Description goes here"> <fieldval field="reaAbbrev" value="Qui"/> <tag group="explicit" tag="1"/> <tag group="DashTacCon" tag="Combat"/> <eval index="1" phase="Traits" priority="4000"> <before name="Derived trtFinal"/> <after name="Calc trtFinal"/><![CDATA[ ~Quickness uses the better of the character's Perception or Agility modifier field[reaBonus].value = maximum(#traitmod[attrPer],#traitmod[attrAgi]) ]]></eval> </thing> 2) What am I missing to make the Psionics attribute not appear unless have the Psionics talent. Code:
<thing id="attrPsi" name="Psionics" compset="Attribute" isunique="yes" description="Description goes here"> <fieldval field="trtAbbrev" value="Psi"/> <tag group="explicit" tag="7"/> <eval index="1" phase="Setup" priority="1000"><![CDATA[ perform assign[Hide.Attribute] ]]></eval> </thing> <template id="baAttrPick" name="Attribute Pick" compset="Attribute" marginhorz="18" marginvert="9"> <live>!Hide.Attribute</live> <portal id="name" style="lblXLarge" showinvalid="yes"> <label field="name"> </label> </portal> ... </template> |
#8 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 8,232
|
Quote:
|
|
#9 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 8,232
|
Quote:
Code:
<tag group="Hide" tag="Attribute"/> Code:
<eval index="1" phase="Setup" priority="1000"><![CDATA[ if (hero.tagis[Hero.Psionics] <> 0) then perform delete[Hide.Attribute] endif ]]></eval> |
|
#10 |
|
|