PDA

View Full Version : Starship Assignment and Action Extension



Moon Wizard
November 16th, 2019, 07:11
Installing
To use this extension, download the attached file. Then, you will need to put it in your "extensions" subfolder under the FG data folder (accessible via the folder icon on the launch screen). Next, after you select your campaign and before you click Start, select this extension in the Extensions list for your campaign.

Overview
Dominic has been busy toiling away in the background working on a new extension to be used with Starfinder to begin getting starships more functional. While there is plenty more to do, this extension will allow you to try out one of the functionality features we are planning to add soon.

In order for any sort of combat and general play to be automated, we first needed a way to assign PCs as officers to PC ships, and be able to allow actions based on those assignments to be available on both the PC ship (shows all actions; for GMs) and on the character sheet (by assigned role; for players).

Features

To set ship up for assignments, drag PC ships to new Fleet tab on Party Sheet.
To make assignment, drag PC to an assignment box on the newly created PC ship entry on the Fleet tab.
To use PC actions, go to new Ships tab on PC sheet. Then, click on the button on the right side of your ship assignment to see possible actions.
To use PC ship actions (for GMs), go to the updated Crew tab on PC ship sheet. Then, click on the button on the right side of the crew assignment to see possible actions.


Feedback
Please let us know what you think of the feature, as well as how we can improve. We're planning to make minor improvements prior to incorporation into the ruleset over the next few weeks. We plan to keep functional changes fairly minor, if possible, so we can focus on getting a basic ship combat tracker in place after that.

Regards,
JPG

[v1.0.1] - Added sName declaration to charship_crew.lua 42
[v1.0.2] - Fixed hard coded DCs for actions DataCommon
[v1.0.3] - Made changes to Science Officer help text. Arranged Partysheet labels to align correctly with fields.
[v1.0.4] - Cleared error when trying to get Token value (Changed getDatabaseNode to getValue)
[v1.0.5] - Changed Roll outputs to show Action name
[v1.0.6] - Fixed one of my mistakes this time. Changed over v's to w's and looks like one of them didn't replace.
[v1.0.7] - Added the ability for the Character ship to track pilot modifiers to the ship. Adding a PC to the role of Pilot will add their ranks to the AC and TL.
[v1.0.8] - Removed drop code for character sheet to PC Ships. Not intended process to add crew to ship. The process would be to drag the ship to the partysheet and then add crew to the role boxes on the partysheet.

We will leave this extension up if you wish to use it without the additional new features provided in the the stickied post above with both extensions combined. Please continue providing feed back related to this extension here or the other sticky thread to it's functionality.

damned
November 16th, 2019, 08:25
Wow! Kudos Dominic thats some really nice work!

ReverendJ
November 16th, 2019, 10:20
This looks great. I am seeing some errors though, when I open the ship sheet after assigning roles, I see this error:

Script Error: [string "campaign/scripts/charship_crew.lua"]:43: attempt to index a nil value
Script Error: [string "campaign/scripts/charship_crew.lua"]:43: attempt to index a nil value
Script Error: [string "campaign/scripts/charship_crew.lua"]:43: attempt to index a nil value
Ruleset Warning: window: Anchored static height ignored for control (maneuverability) in windowclass (ps_starshipmainitem)
Ruleset Warning: window: Anchored static height ignored for control (label11) in windowclass (charsheet_actions_starship)
Ruleset Warning: window: Anchored static height ignored for control (label12) in windowclass (charsheet_actions_starship)
Ruleset Warning: window: Anchored static height ignored for control (label11) in windowclass (charsheet_actions_starship)
Ruleset Warning: window: Anchored static height ignored for control (label12) in windowclass (charsheet_actions_starship)
Script Error: [string "campaign/scripts/charship_crew.lua"]:43: attempt to index a nil value
Ruleset Warning: window: Anchored static height ignored for control (label11) in windowclass (charsheet_actions_starship)
Ruleset Warning: window: Anchored static height ignored for control (label12) in windowclass (charsheet_actions_starship)

This may be because I threw the character and ship together quickly for testing

superteddy57
November 16th, 2019, 10:34
Thanks for the find. I'm not able to replicate it on my end, but I think it might be due to sName not being declared. I've added a declaration and see if that will eliminate the error for you. If not, I will need more information.

***UPDATED First Post with file***

ReverendJ
November 16th, 2019, 10:42
Thanks for the find. I'm not able to replicate it on my end, but I think it might be due to sName not being declared. I've added a declaration and see if that will eliminate the error for you. If not, I will need more information.

Yes, that has fixed the issue I was seeing

superteddy57
November 16th, 2019, 10:46
Super! Let me know if you run into any other issues.

Dyark
November 16th, 2019, 15:18
Great work

I saw that the DC are incorrect

Example, Captain action Encourage should be dc 15 for diplomacy and dc 10 for the rest. on the tier 10 ship I created the DC is 35

From Paizo :
"Captain Actions
For the demand action, the DC of the Intimidate check equals 15 + 1-1/2 times your starship's tier.
For the encourage action, the DC of the Diplomacy check is 15; the DC for checks using other skills remains 10.
For the taunt action, the DC of the Bluff or Intimidate check equals 15 + 1-1/2 times the enemy starship's tier.
For the orders action, the DC of the check equals 15 + 1-1/2 times your starship's tier.
For the moving speech action, the DC of the Diplomacy check equals 20 + 1-1/2 times your starship's tier."

Also here is the link on the forum with the correct value which came in the FAQ.

https://www.fantasygrounds.com/forums/showthread.php?42389-Revised-Starship-Crew-actions-by-Paizo-(FAQ)

The rest is awesome, thank again

superteddy57
November 16th, 2019, 17:21
Sorry to see that. I adjusted the DCs to the forumlas presented in the link. Let me know if the new version does the trick.

Tiderian Prime
November 17th, 2019, 18:45
Thank you! Will be trying this out tonight.

superteddy57
November 17th, 2019, 21:07
If you have a stream and plan on using this, please let me know either on discord or here. I'd like to see how your player interact with it.

deer_buster
November 18th, 2019, 05:08
First off, YAY!!! and THANK YOU!!!

Some initial feedback (all of these are just my opinion, mind you, but were the first things I thought of) and are in no way critical


Just like when you click on the PC's token on the main and skill tab of the party sheet (if it is your character), clicking on the Ship token on the ship tab of the party sheet should take you to the ship sheet (if it is a ship you are assigned to)
You should also be able to click on the PC icon in the crew assignments and bring up the PC's character sheet (if it is your character)
HP, SPs, Drift, AC, TL, DT, and CT should be centered over their content
Text is garbled in popups for Science Officer (Target, Lock On) actions
Should actions that require ranks in a skill prevent you from using them if you don't have the proper amount of ranks in that skill? My opinion is yes.

Moon Wizard
November 18th, 2019, 06:51
Dominic actually brought up a few of the items you mentioned already (open sheet on click, action limits), but I asked him to just note them down and move on to CT. The headers and science text should definitely be fixed sooner.

Cheers,
JPG

superteddy57
November 18th, 2019, 17:09
Updated first post with changes to Science Officer help text and alignment of Partysheet labels.

ssostac1
November 19th, 2019, 13:33
I am getting the following error:
Script Error: [string "campaign/scripts/charship_crew.lua"]:41: attempt to call field 'getDatabaseNode' (a nil value)

This occurs after I drop a PC starship into the Party Sheet and assign a crew member a role, then open the starship from the Character Starships window.

Great extension by the way!!

Scott

superteddy57
November 19th, 2019, 17:32
That error seems to stem from my use of getDatabaseNode instead of getValue. Please try it with this call instead and see if it eliminates the error for you. Sorry that this section of code is causing people so much trouble!

ssostac1
November 19th, 2019, 17:54
That worked! Thank you! I am running my first ship combat session this evening, so glad to have the extension working. :)

Stadlerc
November 19th, 2019, 20:32
I know you have the operations book coming out soon. Did you look at magic officer and first mate?

ill play with the mod tonight. Curious how position switching goes ��

superteddy57
November 19th, 2019, 20:45
That worked! Thank you! I am running my first ship combat session this evening, so glad to have the extension working.

@ssostac1 Glad it resolved the issue you were running into! Please let me know how it goes and any difficulties you might run into. Also note we will be expanding the ability for the players to change roles with a future version.


I know you have the operations book coming out soon. Did you look at magic officer and first mate?

ill play with the mod tonight. Curious how position switching goes ��

@Stadlerc Good question, but at this junction I will get the Core Rulebook information coded and working. Moon Wizard and I discussed the supplement material, but before we get too complicated, we wanted the foundation up and running and working. I did code with expansion in mind and will be quite easy to add the supplemental content. So wouldn't take very much time to add it in once it's ready to be built. Please relay any feedback as this will help shape the foundation of the combat tracker I am building for the ships.

deer_buster
November 20th, 2019, 01:02
Another feedback point. The Roll on the chat window needs to show the name of the action that was used...

superteddy57
November 20th, 2019, 07:12
Updated first post with changes to Roll outputs

deer_buster
November 20th, 2019, 22:43
Updated first post with changes to Roll outputs

Looks much better, thanks!

Snapshot should not allow rolling with more than one gun.

How are you resolving bonuses for the computer? Doesn't look like the rolls are currently able to take any of that into account?

Stadlerc
November 21st, 2019, 01:31
Not sure if this is an issue or not, but as a GM, when I select the ? mark next to an action, it wants the PLAYERS guide to be loaded. Should this not also work with the GM guide open ?

UPDATE: This is not an issue. Looks like this is the standard for the character sheets as well..

Moon Wizard
November 21st, 2019, 01:33
Typically, the player guide and the GM guide are split between material relevant to each user type. A lot of GMs keep both books open; so it prevents data duplication in the records.

Regards,
JPG

deer_buster
November 21st, 2019, 02:37
Typically, the player guide and the GM guide are split between material relevant to each user type. A lot of GMs keep both books open; so it prevents data duplication in the records.

Regards,
JPG

That's not really the case here. Samarex and I have discussed this a lot...there really isn't any GM-only information in the CRB, so there should really only be one (IMHO)

Moon Wizard
November 21st, 2019, 03:52
If that's the case, then I agree; it should be one module. The only caveat is that changing it after the fact will break any links to the GM module in the campaign already (assuming you move everything to player module name). Also, make sure not to change the "name" tag of the module (which is how links know which module to open); just the "displayname" if you want to change the visual name.

Regards,
JPG

Transbot9
November 21st, 2019, 07:05
Found a bug (more of an annoyance than functionality)

Runtime Notice: Host session started
Ruleset Warning: window: Anchored static height ignored for control (label11) in windowclass (charstarship_crew)
Ruleset Warning: window: Anchored static height ignored for control (label12) in windowclass (charstarship_crew)
Script Error: [string "campaign/scripts/button_ship_showhideaction..."]:253: attempt to index global 'wv' (a nil value)
Ruleset Warning: window: Anchored static height ignored for control (label11) in windowclass (charstarship_crew)
Ruleset Warning: window: Anchored static height ignored for control (label12) in windowclass (charstarship_crew)

Otherwise I like what I see.

Transbot9
November 21st, 2019, 07:12
If that's the case, then I agree; it should be one module. The only caveat is that changing it after the fact will break any links to the GM module in the campaign already (assuming you move everything to player module name). Also, make sure not to change the "name" tag of the module (which is how links know which module to open); just the "displayname" if you want to change the visual name.

Regards,
JPG

Sounds fixable but a lot of work to fix across the product line (and might be more work than it's worth).

superteddy57
November 21st, 2019, 09:08
@Transbot9 It was fixable, just a hiccup on my part. I made some changes to clean up the code and one of the v's didn't remove. It should take away the error now.

Samarex
November 21st, 2019, 09:20
Sounds fixable but a lot of work to fix across the product line (and might be more work than it's worth).

After everything currently in work is done (or slows down), I have plans at looking at the major source modules (CRB, Pact Worlds, Alien Archive 1,2) and do some re-configuring of data records (Where there located.)
When I do make the change I will make sure there is migration code to update current campaigns and character sheets to the new link locations.

Samarex
November 21st, 2019, 09:24
That's not really the case here. Samarex and I have discussed this a lot...there really isn't any GM-only information in the CRB, so there should really only be one (IMHO)

Yes the only real GM only item is the ONE NPC, but I believe its there more to show how a stat block looks. So I believe since the memory issue that caused us to split the book in the first place is no longer a issue, the CRB can be merged back to one module.
Will just have to look at how we can do it and auto update campaigns and character sheets.

Stadlerc
November 21st, 2019, 16:10
I had an opportunity to look at the module and everything looks great. I’m assuming that the pc ship errors when clicking on the crew button will be handled by the owner of the ship sheet. All actions were performed as a GM so far so I’m not sure how player’s shifting position will work yet. a few things of note

1. The ship sheet on the party sheet does not reflect the AC/TL numbers with the pilot bonus (not sure if it should as ship health is expressed as a bar)

2. Not sure if I missed it, but is there a way to add ship computer bonuses?

3. Is there a way to track ammo remaining?

4. Is there a way to hide actions unavailable to a pc (barrel rolling a capital ship or more importantly removing a lvl 6 action on the list from a lvl 1 pc)

Thanks

superteddy57
November 21st, 2019, 16:36
1. All the numbers are being pulled from the totals on the Ship sheet. If there is an error, it lies in there on the ship sheet. My testing shows the total collecting the pilot + armor + size + misc. As for the HP bar, it is tracking total HP and damage.

2-4. As mentioned previously, it was discussed and not implemented for now as it would detract from the overall project of getting a combat tracker up and running for the system. This is only an alpha at best and something to give to the community to try and provide feedback and give a better combat experience than what is now in place. Nothing is set in stone with this extension and those features will be expanded upon once the larger scope is in place. GM's and player's will need to continue policing themselves using this extension.

xanstin
November 22nd, 2019, 02:43
I think he may mean the PC Ship sheet isn't updating the pilot total for AC/TL when you select a PC to the pilot spot. The Party Sheet Ship shows whatever the PC ship sheet with the manual AC/TL pilot skill inputted.

superteddy57
November 22nd, 2019, 02:55
I see what you mean. I havent touched or worked on any other tab than the crew tab itself. This will be looked at during my work with the combat tracker as it is part of combat rolls. Good find.

Stadlerc
November 22nd, 2019, 10:57
I think he may mean the PC Ship sheet isn't updating the pilot total for AC/TL when you select a PC to the pilot spot. The Party Sheet Ship shows whatever the PC ship sheet with the manual AC/TL pilot skill inputted.

That is what I was referring to, thanks. I should really know better then to write a defect report as a quick reply on a cell phone

superteddy57
November 22nd, 2019, 14:02
That is quite alright! Sometimes I have to remind myself what everything points to as they appear in many places. My mind tends to float to what I'm working on and forget there are other parts of the ruleset that pipe into it. Good find and added to the list.

Samarex
November 22nd, 2019, 23:37
That is quite alright! Sometimes I have to remind myself what everything points to as they appear in many places. My mind tends to float to what I'm working on and forget there are other parts of the ruleset that pipe into it. Good find and added to the list.

Your doing a GREAT job, keep up the good work.
As soon as I get caught up with the source books I will get in and start on other areas of the Starship that needs work.

superteddy57
December 4th, 2019, 19:25
Updated first post with an update. PC pilots will now have their pilot ranks added to AC and TL.

Ulric
December 7th, 2019, 15:20
I have encountered a serious problem with v1.07. I created the shuttle from Dark Suns AP1 and dropped the ship to the party sheet. I tried to drop the PCs tokens to the Party sheet but nothing happened. I then tried dropping the PC tokens to the crew tab of the ship and each time a PC was dropped a window would open to assign the role for that PC. Crew Complement was reduced automatically from 4 to 0. I then went back to the party sheet ship tab. The ship was visible but the PCs were not visible. I could not use or delete the PC's. I then exited the campaign and deactivated the extension and reloaded the campaign. I went to the ship crew tab and I could see the PCs and deleted them. I then reloaded the campaign with the extension and I repeated the above steps with the same results. However, I can no longer delete the crew with the extension loaded or unloaded.

superteddy57
December 7th, 2019, 17:39
I then tried dropping the PC tokens to the crew tab of the ship and each time a PC was dropped a window would open to assign the role for that PC.

It sounds a bit weird as the extension doesn't pop up to assign roles. You would move the tokens to the Partysheet on the ship tab to assign roles.

I will need images of the partysheet, crew tab on the PC Ship, and your chat when it first loads your campaign. I've tested the extension with building the Sunrise Maiden and haven't received the errors you are experiencing. I'd like to see if I can see your campaign in it's current state. Could you zip up your campaign and post it here?

If you are not sure how to do that, start Fantasy Grounds. In the top right there is a folder icon that will take you to your Fantasy Grounds folder that will contain all of your data. Open up the campaigns folder and try to locate the name of the campaign having the issue. Right click and choose Send To.. > Compressed (zipped) folder. This will create what we are looking to use. These instructions are for Windows, let me know if you are using Mac/Linux.

If this is not possible, you can relay the version of SFRPG, CoreRPG, and Role Actions Extension from the chat log when it first loads.

superteddy57
December 7th, 2019, 17:51
I was able to replicate it. I removed the code to allow character sheet drops to the PC Ship. Updated first post with the updated extension.

The intended process would be to add the ship to the partysheet and on the ship tab add the characters to the role boxes on the ship. This will populate the character sheet ship action tab and crew tab on the PC ship.

Ulric
December 7th, 2019, 18:57
I'll test the changes later today! Thanks

Ulric
December 7th, 2019, 20:41
Ok I deleted v1.07 and downloaded v1.08 but when the extension loads it says it's still v1.07. I still can not drop Character Sheets to the Party Tracker "Ship Tab". Here is a screenshot of my extensions folder and chat log.

3070930710

I also created a new PC ship and I now get this new error message. Script Error: [string "campaign/scripts/charship_crew.lua"]:93: attempt to index a nil value

superteddy57
December 7th, 2019, 21:09
I was in a bit of a rush this morning and didn't update the extension.xml with the proper version number. The new download's only change was updating it to the proper version number. I wanted to test with a a new campaign to ensure I was seeing what you were seeing.

I created a new campaign and created a test ship and test PC. I was able to add the ship to the Partysheet Ship Tab.

30712

30713

Once I dragged the Test PC to one of the role boxes it populated the Ship Actions Tab on the PC sheet and the Crew Tab on the Test Ship.

30714

To show the actions, just click on the button under actions to populate the windows. Same for the Crew Tab on the PC Ship sheet. Can you attempt in a fresh campaign for me as well and see if you are getting the same results?

Ulric
December 7th, 2019, 23:00
I created a new campaign and followed your photos and everything works as expected except I am still getting this error.

Script Error: [string "campaign/scripts/charship_crew.lua"]:93: attempt to index a nil value

I did not get this error before you took out the character sheet drop code. I have also noticed it seems to take multiple attempts to drop character tokens into the starship role box on the Party Sheet "ship tab".

I also tested my existing campaign and it's working as expected. Thank you for your help!

superteddy57
December 7th, 2019, 23:31
Great find, I'll look into the script error you posted, but glad its now working for you.

Tiderian Prime
December 8th, 2019, 14:04
This has been working nicely and all our Starfinder GM's have begun including more ship combat into the sessions. Thank you!

superteddy57
December 8th, 2019, 14:55
That really is awesome! I always enjoyed running epic space battles myself on my own tables and glad Fantasy Grounds is getting there to accommodate that. This is only the first step and since you folks have been so helpful working through the extension. Here is a quick look at what this is leading to:

30738

Working hard on getting this done, but done right so ship combat is a blast to play for DM and Player alike.

Tiderian Prime
December 8th, 2019, 15:45
We did a workshop yesterday on ship combat using this extension. With several games each week to test we will send any feedback but it seems to be working as intended. Our players are loving ship combat right now and it just looks better after that teaser!

Sgtsplat
December 9th, 2019, 03:41
what is the name of the discord channel for Fantasy Grounds, tried searching Fantasy Grounds and got nothing.

madman
December 9th, 2019, 04:26
https://discord.gg/Uk7b2K

Moon Wizard
December 9th, 2019, 06:32
Here's the post from the Tavern forum:
https://www.fantasygrounds.com/forums/showthread.php?36377-Official-Discord-Server

Regards,
JPG

Moon Wizard
December 16th, 2019, 21:34
Quick note that this extension has been superceded by the new extension that adds initial combat support.
https://www.fantasygrounds.com/forums/showthread.php?52785

Regards,
JPG

maugrim8866
April 10th, 2020, 18:42
Has anyone had luck getting an extension like this to work in 5e? I really want to be able to use something like it for starships in SW5e (https://sw5e.com/).
The way they are handled in StarFinder is brilliant. imo

damned
April 11th, 2020, 01:13
Has anyone had luck getting an extension like this to work in 5e? I really want to be able to use something like it for starships in SW5e (https://sw5e.com/).
The way they are handled in StarFinder is brilliant. imo

This is not going to work
They are not the same systems
This is extremely complex code to make this work and it cant just be forklifted without coding work