TALES of the VALIANT
Page 1 of 2 12 Last
  1. #1

    Join Date
    Sep 2020
    Location
    Ballston Lake, NY
    Posts
    759

    Savage Worlds Ruleset Updates for Aug 2024

    Hi all!

    I'm taking over responsibility for maintaining the Savage Worlds ruleset. At least until Ikael returns and takes it back over.

    A number of bugs were introduced with the CoreRPG reworking. I'm working through them.
    Many of the UI elements were already a bit behind. I'm catching them up to the newest controls / approach.
    So far I completed
    - inventory items
    - armor
    - weapons
    - cyberware
    The arcane device section behavior has been adjusted slightly. Now, the power point fields do not lock or disappear. They'll awlays stay editable so you can adjust the PP without having to toggle the mode back and forth.
    All modification sections now display current and max mod points. If your setting enforces mod limits, this is for you.
    You can now drop effects onto armor and the effect will be added to notes. It adds the @ effect prefix for you.
    You can now drop effects onto items and the effect will be added to notes. It does not auto-add any effect prefix for you.
    You can drag effects from the Effects window, from a power's Effects section, wherever.
    I added sidebar buttons for modifications, cyberware, HQ, and HQ Rooms. You won't see these unless an extension activates them, but extensions no longer have to set an icon. (They still can if they want to.)

    I'm moving some of the functionality from my setting maker tweaks extension into the core ruleset. These are things that Ikael had started on and told me he had on his todo list.
    I'm adding the category field to various windows. That field will no longer be hidden. A number of modules use it, and most importantly, the SWADE rules use it.

    I'm starting on the combat tracker next. It needs a complete rewrite.

    In the refactoring, I've kept the names of the controls the same. This may still break extensions, and some of the changes will break extensions aside from that.
    I'm happy to share more detailed information on the changes and help you catch up your extension.
    These are numerous and big changes (in Core and SWADE), but when the dust settles, extension creation will be easier.

    I'll continue to post updates on my progress and changes. I'll also post details on those changes tomorrow.

  2. #2
    Thanks Mike.
    Savage Rifts© on Fantasy Grounds Store
    Ultimate Edition Fantasy Grounds - ONLY ON Linux
    Twitch Channel

  3. #3
    Doswelk's Avatar
    Join Date
    Jul 2005
    Location
    Surrey, UK
    Posts
    2,726
    It is true, Mike is the second coming of Ikael...

    ...and the third coming of Phantom Whale (how many remember him?)

    Then going back to 2007 (and possibly earlier my emails do not go back before 2008) and the original ruleset creator Joshuha Owen

    Thank you Mike for taking up the torch and continuing the work done by 3 excellent people before you
    Last edited by Doswelk; July 25th, 2024 at 09:38.
    My players just defeated an army, had a dogfight with aliens, machine-gunned the zombies, stormed the tower, became Legendary and died heroically

    Yours are still on combat round 6

    Get Savage
    Ultimate License Holder.
    First GM to post a game for the original FG Con!

  4. #4
    Glad to see that we are in good hands. Thanks Mike.

  5. #5

    Join Date
    Sep 2020
    Location
    Ballston Lake, NY
    Posts
    759
    General Changes
    A new header control handles title and non-id name. Non ID name was moved to the header, and a new widget handles that. (This is in CoreRPG.)
    Any layout that depended on the non-id name being in the window's <sheetdata> needs to find a new control to anchor to. (But see below about that.)
    The label_column, string_columnh, number_columnh, etc. are being replaced with the new xxx_content_xxx versions. Here's what I've replaced in the forms I've updated:
    • label_column >> label_content_column
    • string_column >> string_content_column
    • string_columnh >> string_content_columnh
    • number_columnh >> number_content_columnh
    • line_column >> line_content_top
    • number_column_right >> number_content_column_right
    • ft_columnh >> ft_content_columnh
    • comboboxc >> combobox_content_columnh



    The anchoring control for them has changed:
    • <anchor_column name="columnanchor" /> >> <anchor_content_top />



    The above list is what I've switched so far.
    There are a number of custom widgets for the ruleset that I'm converting as I run into them.
    • weapon_damage >> weapon_damage_content_columnh
    • weapon_damagetype >> weapon_damage_content_columnh
    • weapontype_combobox >> weapontype_combobox_content_columnh
    • header_column >> header_content_framed_headersimple_sw



    The content controls, like their predecessors, handle their own layouts. That's the direction widgets are going; they'll handle their own layout, update, events, persistence, etc.
    So lua code on the container windows goes from this:
    Code:
    ...
    RecordManager.updateArcaneDevice(self, bReadOnly, not bID)
    ...
    	
    updateArcaneDevice(self, bReadOnly, not bID)
    	local bVisible = win.arcanedevice_powers.update(bReadOnly, bForceHide)
    	if bVisible then
    		win.arcanedevice_header.setVisible(true)
    		local bHasPowers = not win.arcanedevice_powers.isEmpty()
    		local bShowPP = win.arcanedevice_powerpoints.update(bReadOnly, not bHasPowers)
    		local bHasPPs = win.arcanedevice_powerpoints.getValue() > 0
    		win.arcanedevice_powerpoints_usebutton.setVisible(bShowPP and bHasPPs)
    	else
    		win.arcanedevice_header.setVisible(false)
    		win.arcanedevice_powers_iedit.setVisible(false)
    		win.arcanedevice_powers_iadd.setVisible(false)
    		win.arcanedevice_powerpoints_label.setVisible(false)
    		win.arcanedevice_powerpoints.setVisible(false)
    		win.arcanedevice_powerpoints_usebutton.setVisible(false)
    	end
    end
    to this:
    Code:
    sub_arcanedevice.update(bReadOnly, not bID)
    The old code block no longer needs to be repeated on every window. If you want to add the arcane device subsection to a new window, you used to need the above larger code block and this in xml:
    Code:
    ...
    <sheetdata>
    	<arcanedevice_header name="arcanedevice_header" />
    	<arcanedevice_powers_iedit name="arcanedevice_powers_iedit" />
    	<arcanedevice_powers_iadd name="arcanedevice_powers_iadd" />
    	<arcanedevice_powerpoints_label name="arcanedevice_powerpoints_label" />
    	<arcanedevice_powerpoints name="arcanedevice_powerpoints" />
    	<arcanedevice_powerpoints_usebutton name="arcanedevice_powerpoints_usebutton" />
    	<arcanedevice_powers name="arcanedevice_powers" />
    </sheetdata>
    ..
    Now you just need this:
    Code:
    <sub_item_arcanedevice name="sub_arcanedevice" />
    Following that trend, the _column_ controls need overrides less frequently than the _column_ widgets. So less of this:
    Code:
    <armortype_combobox name="type">
    	<anchored width="100" height="20">
    		<top parent="columnanchor" anchor="bottom" relation="relative" offset="7" />
    		<left offset="97" />
    	</anchored>
    </armortype_combobox>
    and more of this:
    Code:
    <armortype_combobox_content_columnh name="type" />
    I've kept the names of widgets the same in the forms. But you'll need to change the control type to the newer _content_ version. These new version call the same scripts as the older ones.
    They also have new functions to handle more of their own work, so check your custom script against what the new widget has; it may now be handled for you.

    Templates
    I reworked the arcane device, modifications, and mounted weapon templates.
    They no longer need this call in script:
    Code:
    RecordManager.updateXxxx
    It's now this simple call:
    Code:
    sub_mountedweapons.update(bReadOnly, not bID)
    sub_modifications.update(bReadOnly, not bID)
    sub_arcanedevice.update(bReadOnly, not bID)
    And simple declarations in xml:
    Code:
    <sub_item_mountedweapons name="sub_mountedweapons" />
    <sub_item_modifications name="sub_modifications" />
    <sub_item_arcanedevice name="sub_arcanedevice" />
    This is pretty much what I've been doing in the various windows and will do in the rest.
    I'll provide more details as requested.
    If you have an extension that relies on something being rewritten, please let me know so I can coordinate that with you.
    If you have any questions, I'll answer them here.

  6. #6
    Sounds like you're moving the mountain. Thanks for doing this.

  7. #7

    Join Date
    Sep 2020
    Location
    Ballston Lake, NY
    Posts
    759
    I started on the CT rewrite.
    First up, I fixed the error when clicking on the next actor button.

    Keep in mind I don't deploy any of my changes, not even to the test channel. If you don't see my fixes / changes, it's because Moon Wizard hasn't pushed them yet. He'll get to it soon.

  8. #8

    Join Date
    Sep 2020
    Location
    Ballston Lake, NY
    Posts
    759
    Jiminimonka reported this:

    I notice in NPCs that Blood is the default option for Death Markers but its not in the drop down, so once you change it, you can't change it back to Blood
    I'll get that fixed.

  9. #9

    Join Date
    Sep 2020
    Location
    Ballston Lake, NY
    Posts
    759
    Yesterday I fixed a couple more bugs in the CT introduced by the CoreRPG updates. A couple on the host and a few on the client.
    There were also some changes to functionality caused by the CoreRPG updates. I set them to expected Savage behavior.
    I also corrected layout problems introduced by the changes.

  10. #10
    Waiting for this to go to Test so I can Test!
    Savage Rifts© on Fantasy Grounds Store
    Ultimate Edition Fantasy Grounds - ONLY ON Linux
    Twitch Channel

Page 1 of 2 12 Last

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
  •  
Cosmere RPG Beta Launch

Log in

Log in