• 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

Deathwatch

I think I figured it out, the Helper.Displace tag appears on advances because it advances are added via the advance tab, so by adding a skill that way the validation error shouldn't register.

Code:
  <!-- Validate our skill picks -->
  <thing
    id="valSkill"
    name="Skills"
    compset="Simple">
    <tag group="Helper" tag="Bootstrap"/>
 
    <!-- Make sure that we have a Tactics skill choice selected -->
    <evalrule index="1" phase="Validate" priority="8000" message="Tactics skill must be selected"><![CDATA[
      ~if we're not a player character (hero type), we're valid
      validif (hero.tagis[CharType.typHero] = 0)

      ~if we have a skill selected, verify that it is a tactics choice
      var tactcount as number
      foreach pick in hero from Skill where "thing.user_added & !Helper.Displace"
        if (eachpick.tagcount[SkillCat.Tactics] <> 0) then
          tactcount += 1
          endif
        nexteach

      ~if only one tactics skill pick is chosen, we're valid
      validif (tactcount = 1) 

      ~otherwise mark our tab as invalid
      ~mark associated tabs as invalid
      container.panelvalid[skills] = 0
      ]]></evalrule>

    <!-- Make sure that we have all skills selected -->
    <evalrule index="2" phase="Validate" priority="8500" message="Not enough selected"><![CDATA[
      ~we have a negative or zero quantity left, we're good
      validif (hero.tagis[CharType.typHero] = 0)
      validif (hero.child[resSkill].field[resLeft].value <= 0)

      ~mark associated tabs as invalid
      container.panelvalid[skills] = 0
      ]]></evalrule>
    </thing>
 
Update: I will resume working on this data sometime in December, once the Thanksgiving holiday has passed. Unfortunately, life has gotten in the way of me working on this data as much as I was doing and I simply don't have the time to devote to it fully. I've been participating in NaNoWriMo this month, which is using up all my spare time currently. Once that is done I can get back on this project.

Where the data stands: I am not yet ready to release this data. It is incomplete. I still have to finish the character sheets (an essential part of the program being done). In addition to the character sheet work that I have to finish up, I still haven't finished the XP Advancement system. Mathias never got back to me regarding the implementation of this system, so I have been left trying to figure out the best way of handling it. At this point, I'm thinking I just may have to build different <thing>s to handle each advancement and have a small table to cover the XP Cost and Rank the table makes it available. I may go ahead and implement a system where the user has to input the XP cost themselves in place of this, I haven't decided yet. I apologize to those of you wanting to use this data for the lack of progress, I have been quite busy. I don't need help inputting data at this time on this data set though, the Core Rulebook data is mostly done as of now. I just need to get the XP and Character Sheet issues worked out.
 
Mathias,

What I'm considering doing for the XP advances is building each advance as it's own <thing> and adding a table that contains columns for the rank at which the advance is available and the XP Cost. Row 0 would correspond to the table for Space Marine Advances, Row 1 would be Chapter advances, Row 2 being Deathwatch advances, and Row 3 being the specialty (class) advance row. I'd then have hero lab look at each row in the table and find the rows for which the pre-req of rank are met and decide the xp cost of the advance based on which is the minimum available value to use. Once the advance is added in this way the cost would be locked at the value the user paid for it. Each advance applied through the advancement tab will also have the ability for the user to specify an XP value in case the GM allows it to be purchased as an Elite Advance.

Would this be something that can be done in hero lab? What are your thoughts on this idea?
 
While I'm thinking about this, do the skeleton files come with a "Weapon/Armor" proficiency system already built into them?
 
I highly recommend that you take the differences in advancements between the various 40k games into account before writing an advancement system - don't lock yourself into a deathwatch-only system that references chapters and other things that are specific to this game and won't function for the more free-form advancement in dark heresy or rogue trader where there are so many alternate advancement paths available.
 
I highly recommend that you take the differences in advancements between the various 40k games into account before writing an advancement system - don't lock yourself into a deathwatch-only system that references chapters and other things that are specific to this game and won't function for the more free-form advancement in dark heresy or rogue trader where there are so many alternate advancement paths available.

This is a good point. The attribute advances I think can be done similarly to the way Pathfinder handles Base Attack Bonus. The XP costs on these work on a Fast, Normal, or Slow option, so I could use an array for the costs on these. Each time the advance is taken you gain a +5 bonus to the attribute in question. This seems to be consistent across the game systems as far as I know.
 
Mathias

Why can't we set up the XP Advances to just take a value the user inputs into the advance? I know it's not ideal, but we need to do this anyway to account for Elite Advances. These are advances NOT on the user's normal lists, but that the GM allows them to add to their character for a fixed XP amount, and they're not restricted to the normal lists.
 
Last edited:
Mathias

I'm still thinking on how to handle the XP advances, looking at Dark Heresy as you suggested, I'm seeing XP tables that are primarily "Class" based. You get the "Career Path" (Character Class) advance lists but that's primarily it. I'm thinking we could still use a table based system for this, each advance would require specifying Career Path/Rank/XP Cost in DH or RT as far as I know. Deathwatch would have a few additional options under Career path to cover the chapters, deathwatch and general marine advances, but the Specialty advances are essentially the same as career paths.
 
To those who have been messaging me about sharing the data, I've said this before, and I'll say it again here, I'm not going to hand this data out until it is done and working properly. Period. I will ignore future private messages pushing me to share the data until it is finished. I'm still in the process of figuring out the XP system, I still have a to-do list of things that need to be done on it. Until it's passed my personal quality control and is working fully, I'm not sharing it. So please stop begging/asking me to do so.
 
I am going to work on the Proficiency System next. Basically, this component will work similar to what is implemented in Pathfinder. With Proficiency Talents dictating which proficiencies in weapons / armor a character has. There will have to be two types of talents, ones that do groups of weapons similar to Simple, Martial and Exotic weapons in pathfinder, but instead being Bolt, Plasma, Flame, etc.

Edit: 27-November-2013: While toying around with the system tonight I decided to try adding a chapter through the editor, found a few bugs that had to be fixed in the coding. I've made fixes to the data and the chapters are now doing what they're supposed to do to. I still have a few things that need testing in addition to building guys, I don't know when this will be finished.
 
Last edited:
Space Marine Implants are now bootstrapped from the Chapter, and ImplantMis tags are working properly on the Chapters. I had to move this from the race we'd initially used as a starting point to get this working the way it should in the editor. When building a Chapter in the editor you can just specify the deficiency tags for implants and those implants will not show up on the list on the Space Marine's Cybernetics tab.

Data Entry Inquiries: Some of you have inquired about possibly adding data to these data files for me, I just want to say thank you for the offers. At this time I will not be accepting assistance in adding data. Due to the way some of these books have popped new materials on me that I've had to incorporate into the data, I will not be accepting help. By using the editor I've uncovered a large number of problems that had to be fixed and a few things that had to be reworked in the coding. These are issues that would be harder for me to resolve with someone else adding data for me. I must ask that people stop inquiring about data for these files. I plan on adding the data from these books myself without assistance to make sure that all of the components work like they're supposed to and that everything goes smoothly.

good news everyone! you may have read that I professor Farnsworth's voice, of so give yourself a pat on the back. Now for the actual news. I've added the four chapters from first founding to the data and tested the editor. I've fixed a few bugs in the editor and it's starting to shape up nicer now.

Successor Chapters were first presented in Rites of Battle, with a generalized way of doing them. Some of these chapters were reprinted in more detail in Honour the Chapter. Since the later tome has the most recent data and is an update to what was originally pushed out in the former text, I am going to use the later tome for those successor chapters. Successor Chapters that were not updated in the later tome shall be created using the quick and dirty methods discussed in Rites of Battle. Minotaurs Chapter, I'm not sure who it was that requested this one, while fiddling around in the editor, I was able to build the generic Codex marine components. Minotaurs and other "Codex" successors will be built as quickly as I can type out the descriptions and bootstrap the important abilities. You're welcome.
 
Last edited:
Mathias,

I had a question, when building an it_bootcustom for the editor, how do you make specific fields appear on the custom area? Like for say Pathfinder's spell-like abilities, how you have the number of charges that a spell-like ability shows, how would I make that appear in the bootcustom?
 
Last edited:
Mathias,

I've been working on building a new thing for adding psychic powers to characters since this one of the simplest advancement types in the game system. I can add a new psychic power as an advancement, but the power itself doesn't show up on the psychic powers tab when I do. Why isn't the power actually showing up?


Here is the new thing I built for adding a new psychic power
Code:
  <thing
    id="advNewPsy"
    name="Gain a New Psychic Power"
    compset="Advance"
    description="Select a new Psychic Power of your choice.">
    <fieldval field="advAction" value="New Psychic Power"/>
    <fieldval field="advDynamic" value="component.PsyPower"/>
    <tag group="Advance" tag="AddNew"/>
    <!-- Modify tagexpr to deny psychic powers that have already been added to the character -->
    <eval index="1" phase="Render" priority="1000">
      <before name="Assign Dynamic Tagexpr"/><![CDATA[
      ~get the list of all psychic powers on the hero and assemble it as a list of precluded tags
      var tagexpr as string
      tagexpr = hero.tagids[PsyPower.?," & !"]
      ~if there are any tags to exclude, append them to the tagexpr appropriately
      field[advDynamic].text = splice(field[advDynamic].text,tagexpr," & !")
      ]]></eval>

    <!-- Attach the child entity for tracking the advance -->
    <child entity="Advance">
      <tag group="Advance" tag="MustChoose"/>
      </child>
    </thing>
 
Here is a screenshot of what I've built for the Advances tab so far.

I've added a fair amount of data from Honour the Chapter, and other supplements to test the editor's functionality and smooth out issues that were there. It still has a ways to go before its done but I am slowly grinding through it.
 

Attachments

  • Deathwatch Dec 4 2013.JPG
    Deathwatch Dec 4 2013.JPG
    218.7 KB · Views: 14
Ok guys, I'm going to start dissecting this thread over the coming days into smaller question threads for Mathias to answer. I will still use this thread for progress updates until the data is ready for release (at which point a new thread will be created).
 
Progress Report

So as of today the editor has undergone quite a few changes since Thanksgiving week started. I've been busy fixing issues that needed to be fixed in the Editor. Fortunately, I believe most of the issues are now fixed with the editor.

I may rename this data file into 40K Roleplaying instead of Deathwatch to account for future expansion plans, but aside from that the core of what I've created here so far is Deathwatch.

The XP system has a direction and is still in the process of being built.
The proficiency system is still being hammered out as well. I'm focusing on bug hunting as well while I go through the process.
 

Attachments

  • Lootas and Wrekkas Waaagh.JPG
    Lootas and Wrekkas Waaagh.JPG
    230.4 KB · Views: 7
Back
Top