STAR TREK 2d20
Page 1 of 2 12 Last
  1. #1
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9

    Creating Skills in CoreRPG

    So I've offered to help code the Star Frontiers skills into a ruleset based off of CoreRPG. Since this is my first ruleset extension, thought I should see if anyone have recommendations on the approach (objective and plan) etc.

    How skills work in SF;
    There are Skills and Sub-Skills. Skills are generally not used by themselves and have a rank (level)of between 0 and 6. Sub-skills have success rates based upon your abilities/attributes and your appropriate skill rank (I believe you can use most/all skills untrained, there is no distinction I am aware of). 0-5 and 96-100 on the rolls are automatic fail/successes. A sub-skill success rate is something like: DEX/2 + 15 + Skill*10

    To succeed at a skill, you roll d100 (add and subtract modifiers, such as range, cover, opposed computer level, etc) and need to roll under the success rate (target).

    How we are currently doing them in CoreRPG;
    We manually enter the success rates as negative values (i.e. -45%). Then you roll the skill with a d100, the success rate gets subtracted from the roll and if the value is negative or zero, you have succeeded.

    The Objective;
    I think it should probably be something like a 5E roll where you roll d100, add modifiers and then FG compares to your skill and tells you automatic success, success, fail, automatic failure. I would also like all the sub-skills to be automatically calculated based on attributes and skill levels.

    The Plan;
    Investigate MoreCore for Roll Under rollers. Use 5E ruleset as base for code formatting and examples.

    Note; I'm am not a coder or software developer (I'm an application engineer), but I use and modify a lot of scripts others write. So I can follow code logic and modify it to my needs, but often don't know why it does or does not work and have little idea of best practices.

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  2. #2
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9
    So, in order to do what I want, am I first going to have to create a ruleset specific character sheet? After all, if I want to put equations into the skills, then the skills have to be defined in the ruleset and not just the character sheet?

    Any suggestion on where to get started making a character sheet?

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  3. #3
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9
    I think I'm going to have to do the character sheet, but for right now I found the skills in 5E are listed in two places;
    1) scripts\data_common.lua
    2) strings\string_5e.xml

    I'm starting by making a "strings\strings_sf.xml" and then will move into the script file. Not sure if the script file is where the sub-skill calculations should be done,but I think so. (and I'm guessing it should be a "data_sf.lua" file)

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  4. #4
    Quote Originally Posted by LordEntrails View Post
    I'm starting by making a "strings\strings_sf.xml" and then will move into the script file. Not sure if the script file is where the sub-skill calculations should be done,but I think so. (and I'm guessing it should be a "data_sf.lua" file)
    Correct on both accounts
    Dulux-Oz

    √(-1) 2^3 Σ Π
    ...And it was Delicious!


    Alpha-Geek
    ICT Professional
    GMing Since 1982
    NSW, Australia, UTC +10
    LinkedIn Profile: www.linkedin.com/in/mjblack

    Watch our games on Twitch: www.twitch.tv/dulux_oz

    Support Me on Patreon: www.patreon.com/duluxoz

    Past Games, etc, on my YouTube Channel: www.youtube.com/c/duluxoz

  5. #5
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9
    So, here's a set of strings from the strings_sf.xml file. Any problems with this naming convention?
    Code:
    <string name="skill_value_techEngineer">Engineer</string>
    <string name="skill_value_techssEngineerAlternateEnergies">Alternate Energies</string>
    <string name="skill_value_techssEngineerArchitechure">Architecture</string>
    <string name="skill_value_techssEngineerCivilEngineering">Civil Engineering</string>
    <string name="skill_value_techssEngineerHydraulics">Hydraulics</string>
    <string name="skill_value_techssEngineerMechanicalEngineering">Mechanical Engineering</string>
    <string name="skill_value_techssEngineerMilitaryEngineering">Miitary Engineering</string>
    <string name="skill_value_techssEngineerNuclearEngineering">Nuclear Engineering</string>
    So, the format is I put the PSA at the start of the name, this is more for me later on when I have to do the calculations than anything else. Sub-Skills have the PSA "ss" then the skill name then the sub-skill name.

    Also, sub-skills can only be used by those with levels in the base skill (despite what I said on post #1).

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  6. #6
    Trenloe's Avatar
    Join Date
    May 2011
    Location
    Colorado, USA
    Posts
    33,493
    The string resources are primarily used for setting the name of the skill - to allow translations as part of localization. They are used when the skilldata table is constructed during ruleset load and that's it. Use whatever naming convention you think is appropriate - what you can remember and what is easy to use.

    Using your example above, if the skilldata table was, for example:
    Code:
    	skilldata = {
    		[Interface.getString("skill_value_techEngineer")] = { lookup = "techEngineer", stat = 'intelligence' },
    		[Interface.getString("skill_value_techssEngineerAlternateEnergies")] = { lookup = "techssEngineerAlternateEnergies", stat = 'intelligence' },
    };
    As soon as the ruleset loads, the strings will be replaced to give:
    Code:
    	skilldata = {
    		["Engineer"] = { lookup = "techEngineer", stat = 'intelligence' },
    		["Alternate Energies"] = { lookup = "techssEngineerAlternateEnergies", stat = 'intelligence' },
    };
    The string resource names have been replaced and would never be used for any reference within the ruleset XML or code. So, just go with whatever you feel is good for you and something that has a minimal chance of clashing with standard FG string resource names.
    Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

  7. #7
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9
    Thanks Trenloe. I've attached my string_sf.xml (first draft of it) in case it's needed for reference. (I've added the default abilities to this as well as the skills mentioned.)

    I'm starting to look at the data_common.lua now and though I can mimic, and read what you wrote above. I'm not sure what this accomplishes quite honestly

    As I put this together, there are a couple of issues I'm aware of and not sure (or completely clueless!) of how to address;
    1. Some skills do not have sub-skills and therefore they not only have a skill level, but they also have a skill success rate (i.e. military weapons skills, psionics skills, etc) . Do I need to make a second string for the success "variable"? (if variable is the right name for what it is)
    2. There is one skill that has the same name as one of it's sub-skills (Biology). Right now they have different names (skill_value_sciBiology & skill_value_sciBiologyBiology) but the same value (Biology). Is this a problem?
    3. Similar to #2, One skill has the same name as one of the subskills from a different skill. ("Operate Computer" is both a stand alone skill and a sub-skill of the Computer Skill). If you have one, you don't need the other, but I'm worried about what might happen. Currently they have different names (skill_value_techComputerOperateComputers & skill_value_nsaOperateComputer) but again the same value (Operate Computer). Do they need different values?
    4. On the lua data file (I'm calling it data_sf.lua right now, let me know if it should have a different name) is there where I calculate the percentages for the sub-skills? Also, skills and sub-skills don't have the same sort of tie in to abilities as in 5E. Sometime a success rate is a fixed value, based on one, or based on two abilities (along with constants). Is there an example of this somewhere and is the data_sf.lua file the right place to put these?

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  8. #8
    Trenloe's Avatar
    Join Date
    May 2011
    Location
    Colorado, USA
    Posts
    33,493
    1, 2 and 3: The strings in the string XML files are purely text labels that will be displayed "somewhere" in the Fantasy Grounds interface. The string resources are used to enable translation rather than hard code English text in the XML/LUA - they shouldn't be used for anything else. So, if you're going to display "success" somewhere, and want to allow someone to translate that, then you will need to include it as a string and remember to reference it in code with the Interface.getString function: https://www.fantasygrounds.com/refdo....xcp#getString

    To be perfectly honest, strings are usually the last thing you worry about when you start a custom ruleset - it's good to use them, but it will slow down your development if you spend all of your time thinking of string resources and you'll have to keep adding in strings resources when you want to display something. It's entirely up to you - do some of the things you know won't change to start with but don't spend time trying to think of all the string you may need - add them in as you go along. They are just strings, they are not the database hierarchy or GUI control names. Then, towards the end of the ruleset, when you know few changes are going to be made, you can go through and create the strings and code necessary to use them.

    Without knowing what you're actually going to need in FG at this point will result in you wasting a lot of time know if you are concentrating on string resources.

    ------------------

    4: data_common.lua contains a bunch of common data specific to the individual ruleset. The data it contains is referenced in FG code using the DataCommon global script package. I'd recommend you use the same naming in your ruleset so that it will have a similar architecture to all the other CoreRPG layered rulesets.

    You're going to have to think about how you are going to layout the skills and subskills within the FG interface (and how that data is stored in the FG database). For the 5E skills they are a <windowlist> of windows (one window in the windowlist per skill line).

    Your first step should be visualising how this is all going to fit into a character sheet (NPC as well if they need to have the same skill layout). Are you going to have the skills expand to show the subskills (a bit like showing the extra data in the combat tracker) or are you going to have specific subskill entries that are visible all the time?

    Can you normalise the whole skill list and have them as one? Even though the feature is skills -> subskills, do you actually need to do that within Fantasy Grounds? Just have all the skills in one long list, with maybe a tag in the skilldata table that FG uses to format a top level skill slightly differently. This is probably the easier approach, but without being familiar with the system you're using I don't know how well it will work.
    Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

  9. #9
    LordEntrails's Avatar
    Join Date
    May 2015
    Location
    -7 UTC
    Posts
    17,374
    Blog Entries
    9
    Currently we are using CoreRPG fairly crudely. Here are screenshots of how the skills are currently laid out;
    Attachment 19340Attachment 19341

    I offered to help by figuring out how we could automate the calculations of the skills. Because as you see, there are a lot of sub-skills. I'm thinking from what you said I really need to start by defining a character sheet? At this point, I was only looking to define the strings because it was something I found and understood *G*

    Suggestions on where/how to look for starting to layout a character sheet in FG? I've got an idea of how to lay it out (though anyone have a recommendation for a graphical UI layout tool that is easy to learn?). Collapsing skills and sub-skills would be great, but not required at this point.

    Problems? See; How to Report Issues, Bugs & Problems
    On Licensing & Distributing Community Content
    Community Contributions: Gemstones, 5E Quick Ref Decal, Adventure Module Creation, Dungeon Trinkets, Balance Disturbed, Dungeon Room Descriptions
    Note, I am not a SmiteWorks employee or representative, I'm just a user like you.

  10. #10
    Trenloe's Avatar
    Join Date
    May 2011
    Location
    Colorado, USA
    Posts
    33,493
    Quote Originally Posted by LordEntrails View Post
    though anyone have a recommendation for a graphical UI layout tool that is easy to learn?
    There isn't one for FG XML.

    You're going to have to hand code the XML controls, etc..
    Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
DICE PACKS BUNDLE

Log in

Log in