Jump to content

How to make Computer Programming skill behave like the Gambling skill (have categories and subcategories)?


Pardon9826

Recommended Posts

Hello:

 

I am very new to Hero Designer and Hero in general, so please pardon me if this is a stupid question.

 

I am trying to make the Computer Programming skill behave like the Gambling skill (have categories and subcategories).
I have created an extension template that modifies the Computer Programming skill.  I have copy-pasted the Gambling skill XML from the Main6E template into it and edited the names to match the categories and subcategories I need.  When I create a character using that template, Computer Programming skill charges 2 points for a category (good) and 2 points for a subcategory (bad).  I cannot figure out what is going wrong.  The XML is identical but for the names, some removed categories and subcategories, and the description, but the behavior is different in the app.  What am I missing?

Link to comment
Share on other sites

You can use the "Adders" option to put in single categories, not bother with re-coding it.  Unless you're doing an extremely heavy computer science -focused campaign where it is incredibly critical if you understand unix but not Apple OS, for example, it seems excessively fiddly and complicated to do so, though.

Link to comment
Share on other sites

Thank you.  I am going to run an extremely heavy computer-focused campaign.  But more importantly, I want to figure out how to modify skills - Computer Programming is just the first attempt, but I plan to use custom templates extensively.

Link to comment
Share on other sites

I have also tried copying and pasting the Computer Programming text from the 5E main template, both as-is and with the "source" parts removed - same effect.  For some reason it refuses to behave like Gambling or Survival or any other categorized skill.

 

Is there some sort of flag somewhere that makes a skill behave like Gambling?  "If no categories selected, charge 3, if a category or subcategory is selected, charge 2/1 respectively?"  I have tried searching the main template for any references to categorized skills but could not find it.

Link to comment
Share on other sites

Yeah, you don't want the Source lines...those are for 5E only.

 

Are you making sure that the Main6E.hdt file in the jar, is being updated?  Cuz I've had problems doing anything else...but I'll grant that I have little patience, and updating the template in the jar is simply MUCH easier.

 

But honestly...I think 6E got rid of those categories because, push come to shove, they're ridiculously too narrow, and IMO don't reflect current reality.  They're rooted in 1980-ish thinking.  If you can program a mainframe, you can program a PC.  There's almost no difference between a desktop and a laptop any more.  If you know Java, you can mostly code in C++ or C# or Python...or Fortran.  You can handle SQL.  It's primarily a matter of understanding the syntax.  My entire career was software, from mainframes to workstations to PCs, FORTRAN, Java, variations of BASIC, relational databases, SQL, and lots of other stuff.  AppleOS, DOS, Windows, Unix, and a bunch of HP OSs on machines that no one uses any more.  Again...it's syntax, mostly.  OK, with Windows and Apple in particular, there's working your way through all the GUI junk that hides the fundamentals.  

 

I personally feel you ONLY buy Computer Programming to do hacking.  Using a computer?  That's fundamentally an Everyman skill that isn't worth listing...because basically EVERYONE now uses computers in some way.  I'd rather buy more specific PSs for most...web site design, real-time programming, quantum computing, parallel computing (for supercomputers), scalar cloud computing, graphics programming, perhaps some others, but I'd rather leave this open, not forced into some template.  Use the Notes section on the skill, too.

EDIT:  here's an example of a customized skill.

        <RAPID_ATTACK_HTH SHOWDIALOG="Yes" DISPLAY="Multiple Attack Skills" BASECOST="0" EXCLUSIVE="Yes">
            <ADDER XMLID="RapidAttackHTH" DISPLAY="Rapid Attack (HTH)" BASECOST="5" EXCLUSIVE="Yes" >
            </ADDER> 
            <ADDER XMLID="RapidAttackRanged" DISPLAY="Rapid Attack (Ranged)" BASECOST="5" EXCLUSIVE="Yes" >
            </ADDER>
            <ADDER XMLID="DefenseAttackHTH" DISPLAY="Defensive Attack (HTH)" BASECOST="5" EXCLUSIVE="Yes" >
            </ADDER>
            <ADDER XMLID="DefenseAttackRanged" DISPLAY="Defenseive Attack (Ranged)" BASECOST="5" EXCLUSIVE="Yes" >
            </ADDER> 
            <DEFINITION>A character with this Combat 
                Skill has a heightened ability to move in combat. Rapid Attack allows a character 
                to make an attack with the Rapid Fire Combat Maneuver, Sweep Combat Maneuver, or 
                Autofire Skills as a Half Phase Action. </DEFINITION>
        </RAPID_ATTACK_HTH>
 

Yeah, I still haven't fixed that typo in DefenseAttackRanged, or updated the DEFINITION...I delete MANY of those anyway, for my personal use.  RAPID_ATTACK_HTH is what's used in the installed Main6E;  typically, it's a bad idea to change that, as in many places it's used in template building.  That said, that string's only used internally, so you can change what the user sees, like the DISPLAY string.  I also clearly incorporated Defensive Attack from APG, which I value even more than Rapid Attack.  In the Skills list, it shows as Multiple Attack Skills, and the code sorts this out just fine.

 

Here's my Performance Skill:

 

        <PERFORMANCE_SKILL DISPLAY="Performance Skill" INPUTLABEL="Art/Instrument" OTHERINPUT="Yes" 
            MINCOST="1" FAMILIARITYROLL="8" FAMILIARITYCOST="1" EXCLUSIVE="No">
            <TYPE>PERFORMANCE</TYPE>
            <CHARACTERISTIC_CHOICE>
                <ITEM CHARACTERISTIC="STR" BASECOST="3" LVLCOST="1" LVLVAL="1" />
                <ITEM CHARACTERISTIC="DEX" BASECOST="3" LVLCOST="1" LVLVAL="1" />
                <ITEM CHARACTERISTIC="INT" BASECOST="3" LVLCOST="1" LVLVAL="1" />0                
                <ITEM CHARACTERISTIC="PRE" BASECOST="3" LVLCOST="1" LVLVAL="1" />
                <ITEM CHARACTERISTIC="GENERAL" BASECOST="2" LVLCOST="1" LVLVAL="1" />
            </CHARACTERISTIC_CHOICE>
            <DEFINITION>These Background Skills represent artistic or performance abilities.  NOTE:  
                This cannot replace existing skills such as Acting.</DEFINITION>
        </PERFORMANCE_SKILL>

 

and its associated skill enhancer...pretty sure the italicized should be the only addition

 

    <SKILL_ENHANCERS>
        <ENHANCER XMLID="JACK_OF_ALL_TRADES" DISPLAY="Jack of All Trades" BASECOST="3" COSTSAVINGS="1">
            <TYPE>PROFESSIONAL</TYPE>
        </ENHANCER>
        <ENHANCER XMLID="PERFORMER" DISPLAY="Performer" BASECOST="3" COSTSAVINGS="1">
            <TYPE>PERFORMANCE</TYPE>
        </ENHANCER>

        <ENHANCER XMLID="LINGUIST" DISPLAY="Linguist" BASECOST="3" COSTSAVINGS="1">
            <TYPE>LANGUAGE</TYPE>
        </ENHANCER>
        <ENHANCER XMLID="SCIENTIST" DISPLAY="Scientist" BASECOST="3" COSTSAVINGS="1">
            <TYPE>SCIENCE</TYPE>
        </ENHANCER>
        <ENHANCER XMLID="SCHOLAR" DISPLAY="Scholar" BASECOST="3" COSTSAVINGS="1">
            <TYPE>KNOWLEDGE</TYPE>
        </ENHANCER>
        <ENHANCER XMLID="TRAVELER" DISPLAY="Traveler" BASECOST="3" COSTSAVINGS="1">
            <TYPE>AREA</TYPE>
        </ENHANCER>
        <ENHANCER XMLID="WELL_CONNECTED" DISPLAY="Well-Connected" BASECOST="3" COSTSAVINGS="1">
            <TYPE>CONTACT</TYPE>
        </ENHANCER>
    </SKILL_ENHANCERS>
 

Note the connection between the TYPE entries.

 

Hmm.  Just had a thought for the Computer Programming.  The base skill buys typical programming.  Then include, let's say, 1 point adders for specialty applications, like real-time programming, to identify those special aspects you want to include, as I mentioned above, like Network Security.  Everyone in network security can program...but not every programmer can do network security.

Link to comment
Share on other sites

Thank you.

 

Quote

Yeah, you don't want the Source lines...those are for 5E only.

I have tried it both ways just because I am running out of ideas...

 

Quote

Are you making sure that the Main6E.hdt file in the jar, is being updated?  Cuz I've had problems doing anything else...but I'll grant that I have little patience, and updating the template in the jar is simply MUCH easier.

I have "<TEMPLATE version="2.0" extends="builtIn.Main6E.hdt">" at the top.  The manual seems to suggest that an extension template is better than tinkering with Main6E.  I will try to change Main6E, but I am not too hopefull: the categories I add show up, they just don't calculate costs right.

 

Quote

But honestly...I think 6E got rid of those categories because, push come to shove, they're ridiculously too narrow, and IMO don't reflect current reality.

This is just an example I am using to learn how to use Hero Designer.  You can read it as me trying to add this skill to a weird fantasy game with a category to "program" commands into undead and another category to program commands into constructs.  Or a new skill with categories to combobulate, rebobulate, and debobulate.  It really doesn't matter.

 

Quote

here's an example of a customized skill.

Thank you for the examples.  I don't think I have issues adding skills, just making them behave like categorized skills.

 

Maybe I am doing something wrong in the app itself?  I make a new character based on the custom template and the first thing I try is adding Computer Programming and Gambling and seeing if they work in identical ways.  They don't...  I have tried making a character using one of the standard templates and then changing the template to the custom one - same thing.

Link to comment
Share on other sites

I must be missing something.

 

Gambling skill has the following:

<GAMBLING DISPLAY="Gambling" MINCOST="1" FAMILIARITYROLL="8" EXCLUSIVE="Yes">
            <CHARACTERISTIC_CHOICE>
                <ITEM CHARACTERISTIC="INT" MINCOST="1" BASECOST="0" LVLCOST="2" LVLVAL="1" />
            </CHARACTERISTIC_CHOICE>
            <ADDER XMLID="CARDGAMES" DISPLAY="Card Games" BASECOST="2" MINCOST="1" MAXCOST="2">
                <ADDER XMLID="BACCARAT" DISPLAY="Baccarat" BASECOST="1" MINCOST="1" >
                </ADDER>

etc.

 

When I add it as-is, it is 3 points.  When I add a category, cost changes to 2.  When I add a subcategory instead, the cost changes to 1.

 

Survival skill has almost the same thing:

<SURVIVAL DISPLAY="Survival" MINCOST="1" FAMILIARITYROLL="8" EXCLUSIVE="Yes">
            <CHARACTERISTIC_CHOICE>
                <ITEM CHARACTERISTIC="INT" BASECOST="0" MINCOST="1" LVLCOST="2" LVLVAL="1" />
            </CHARACTERISTIC_CHOICE>
            <ADDER XMLID="ARCTIC" DISPLAY="Arctic/Subarctic" BASECOST="2" MAXCOST="2" MINCOST="1">
                <ADDER XMLID="ARCTICCOAST" DISPLAY="Arctic/Subarctic Coasts" BASECOST="1" >
                </ADDER>

etc.

 

When I add it as-is, it is 3 points.  When I add a category, cost changes to 2.  When I add a subcategory instead, the cost changes to 1.

 

I use the same code with Computer Programming (I have tried several variations and tweaks):

<COMPUTER_PROGRAMMING DISPLAY="Computer Programming" MINCOST="1" FAMILIARITYROLL="8" EXCLUSIVE="Yes">
            <CHARACTERISTIC_CHOICE>
                <ITEM CHARACTERISTIC="INT" BASECOST="0" MINCOST="1" LVLCOST="2" LVLVAL="1" />
            </CHARACTERISTIC_CHOICE>
            <ADDER XMLID="PERSONALCOMPUTERS" DISPLAY="Personal Computers" BASECOST="2" MINCOST="1" MAXCOST="2">
                <ADDER XMLID="HANDHELDCOMPUTERS" DISPLAY="Handheld Computers" BASECOST="1" MINCOST="1" >
                </ADDER>

etc.

 

When I add it as-is, it is 1 point.  When I add a category, cost changes to 2.  When I add a subcategory instead, the cost changes to 2.  I have tried various changes to the numbers, but none of them bring the math in-line with Gambling or Survival.

Link to comment
Share on other sites

Thank you.  That changes the behavior but does not fix it completely.

 

I have changed COMPUTER_PROGRAMMING to SKILL and the display name to Argle-Bargle.

 

Now, when I add it as-is, it is 1 point.  When I add a category, cost changes to 2.  When I add a subcategory instead, the cost stays at 1.  Which is different from how Gambling and Survival and the like behave - they start at 3 points without categories.  How can I do that?

 

And if I want to use the same name, do I have to use the REMOVE container on the original Computer Programming?

Link to comment
Share on other sites

Most skills just use the baseline functionality of Skills.java.  Gambling, Survival, and Computer Programming all have their own extension routines...so there can be code behavior differences between them.  There is no intermediate CategorizedSkills.java to give common functionality among all of them, for handling categorized skills.  Just looking...Weaponsmith, Weapon Familiarity, and Transport Familiarity all have separate code, so there may be odd little discrepancies.  

 

Basically, I'd just say forget trying to implement it like Gambling or Survival...especially given that the categories in 5E are totally out of date.  Define it as a standard skill with adders for specialized coding skills.  I don't know about the REMOVE container, because I don't build as an extension template, I modify Main6E...but what you're saying, sounds right.  

 

Modifying Main6E.hdt isn't advised because, sure, you can trash HD and make it unusable.  Eek.  Make a clean copy in a different folder, don't play with your working copy.  Extract Main6E.hdt from HD6.jar to a convenient location;  mine's on the desktop.  Edit.  Save the mods back into your test setup's HD6.jar.  7-Zip's an extremely well known tool that handles a vast assortment of compressed files, and it's free. 

 

 

Link to comment
Share on other sites

Posted (edited)

I see, thank you.

 

I have used REMOVE on the original Computer Programming and added the categorized version as a regular SKILL.

 

I may have missed it in the documentation, but maybe it is worth mentioning in the documentation that skills that do not use SKILL and have a custom ID come with special rules that cannot be changed or replicated through editing a template?  Just a suggestion, but it would have saved me some sanity.

 

Am I going to break something by removing the original Computer Programming?  Is there something else in its extension routines?

Edited by Pardon9826
Link to comment
Share on other sites

Soo many misconceptions here.

 

First off, sorry for the delay in a detailed reply - I was out of the country for the past week.

 

1. There is ZERO need for any clarifications in the docs. If you're looking to create an ability that acts like/follows the rules of an existing ability in the system, then you use that.  If you don't want the special rules of an ability like, say, Computer Programming, then don't use it -- stick with the general Skill definition/rules.

2. Know the rules of the ability you're trying to mimic before trying to create a custom template. To use Computer Programming as an example, it defaults to a 3/2 Skill (3 points for the Skill itself, 2 points per level increase). If an Adder is chosen, then it changes to 2 points (plus any additional Adders/categories) for the Skill itself and 2 points per level increase.  Note that even under the 5th Edition Rules, if you only select a single sub-category it's going to cost you 2 points....again, know the rules of the system.  Select a category and a (separate) sub-category and you'll see that 1 point per sub-category come into play. Even under 6E.
 

3. I REALLY don't recommend modifying either of the Main templates -- extend the appropriate one.  In particular, you'll want to extend one of the genre-specific templates (e.g. SuperHeroic6E.hdt) in order to take full advantage of many of the rules switches in HD's code -- there are numerous checks/switches for 5th Edition vs. 6th Edition, Heroic vs Superheroic, etc.
 

4. If what you're after is a fine-grained, real-world adaptation of computer programming abilities, unclevlad is pretty much spot-on: 5E is in no way, shape, or form a more realistic way to model it -- that's why it was dropped in 6E. If you really wanted to do something different, look to leverage Languages for Computer Programming...though putting together that particular familiarity chart is not a task for the faint of heart.

 

 

Link to comment
Share on other sites

Thank you for your response.

 

I am not sure how my desire to get a specific result is a misconception...

 

Quote

1. There is ZERO need for any clarifications in the docs. If you're looking to create an ability that acts like/follows the rules of an existing ability in the system, then you use that.  If you don't want the special rules of an ability like, say, Computer Programming, then don't use it -- stick with the general Skill definition/rules.

Well, it is not clear to somebody who has no relevant background.  I saw that Computer Programming was in the template.  I wanted to change the numbers it used.  I changed the numbers.  It did not work.  It was not obvious from the template or anywhere else that there were hidden rules that I could not change.  I get how to achieve what I want now, but it is really not obvious.

 

Quote

2. Know the rules of the ability you're trying to mimic before trying to create a custom template. To use Computer Programming as an example, it defaults to a 3/2 Skill (3 points for the Skill itself, 2 points per level increase). If an Adder is chosen, then it changes to 2 points (plus any additional Adders/categories) for the Skill itself and 2 points per level increase.  Note that even under the 5th Edition Rules, if you only select a single sub-category it's going to cost you 2 points....again, know the rules of the system.  Select a category and a (separate) sub-category and you'll see that 1 point per sub-category come into play. Even under 6E.

And I wanted to change that.  I wanted for that skill to use the pricing structure the Gambling skill used.  How is that not knowing the rules?  I don't want to use the default rules for that.

 

I appreciate you getting back to me, but I honestly do not remember the last time asking for help left such a bad taste in my mouth.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...