PDA

View Full Version : Problems / Bugs with BRP?



Pages : [1] 2

ColinBuckler
July 5th, 2020, 17:28
Different bugs appear in classic compared to unity....


(1) In Unity, when opening the NPC/Combat sheet I get an error:

[ERROR] window: Control() anchoring to undefined control (hp) in windowclass (npc_combat)


(2) In Unity, no attack % appear in the NPC sheet or on the combat tracker.


(3) In Classic, the attack roll always fails regardless of rololing on combat tracker or NPC character sheet.

Attack [15] -> [at Ghoul] 40% [FAILURE]


(4) In classic, problems opening NPC/Combat character sheet:

Ruleset Error: windowcontrol: Database type mismatch for control (hp) in windowclass (npc_combat)
Script Error: [string ""]:1: attempt to index field '?' (a nil value)
Ruleset Error: window: Control() anchoring to an undefined control (hp) in windowclass (npc_combat)
Ruleset Error: window: Control() anchoring to an undefined control (hp) in windowclass (npc_combat)
Script Error: [string "campaign/scripts/npc_combat.lua"]:40: attempt to index global 'hp' (a nil value)
Ruleset Error: window: Control() anchoring to an undefined control (hp) in windowclass (npc_combat)
Ruleset Warning: window: Anchored static height ignored for control (dbdesc_label) in windowclass (ct_entry)
Ruleset Warning: window: Anchored static height ignored for control (dbdesc_label) in windowclass (ct_entry)
Ruleset Warning: window: Anchored static height ignored for control (dbdesc_label) in windowclass (ct_entry)

superteddy57
July 5th, 2020, 21:58
Is this with a fresh campaign or with a previous campaign you had opened before? Please provide some steps in how to replicate these errors so I can replicate them.

ColinBuckler
July 5th, 2020, 23:30
It was a brand new campaign with both FGC and FGU.

I dropped a bear and a ghoul NPC into the combat tracker and then onto a FG Map.

damned
July 6th, 2020, 01:01
Please also post chatwindow showing CoreRPG and BRP versions for both Unity and Classic.

superteddy57
July 6th, 2020, 02:21
I was able to track down the issues related to the attack and able to fix them. The issue that might be outside the ruleset is with the attack% not showing in Unity. I will need more time to check into this and will be posting a fix when found.

ColinBuckler
July 6th, 2020, 18:13
The errors are reproduceable.

I have deleted the rulesets and the test campaigns. Redownloaded the rulesets. Created a new campaign and the problems re-occur.

I have attached a zip file with a word document detailing the process followed and screenshots as evidence. (plus log file from Unity).

Hope this helps.

Azaran
July 12th, 2020, 19:46
Having an issue with weapon attach rolls of the main tab. it works out fumbles and criticals but everything else is a failure regardless of skill.

Rolling works fine from the skills tab though.

superteddy57
July 12th, 2020, 20:35
Thank you for the report. I'm still working on an issue with FGU and the fix for the issue you have reported is part of the next update.

superteddy57
July 13th, 2020, 21:19
Fixed latest reports and pushed a new update for the attack issues and a bug with attack numbers not showing up for NPCs from the modules.

Azaran
July 14th, 2020, 20:43
Works Perfectly, thanks superteddy57 :)

ColinBuckler
July 14th, 2020, 22:24
Had a quick check and yes it does appear to work without errors.

Many thanks.

superteddy57
July 14th, 2020, 23:06
Well it took longer than expected due to me not paying attention to my setup. So I am sorry for the delay. Just keep me informed if you see any other game breaking bugs.

esmdev
July 31st, 2020, 03:46
So, we decided to do a quick combat test this evening. It didn't work out very well.

The chat window uses the token for one of the characters for all the character attack actions. It correctly uses the correct token for skill tests from the skill tab, and even attack tests from the skill tab, just not the main tab. Also it doesn't use a token at all if you do a grapple.

All of these are the same character making example rolls.

38206

Also, we dropped the server and did a quick test without the theme and it did the same thing...

38207

In addition to this, when an NPC successfully hits a PC it doesn't apply damage to the combat tracker, but it does so if a PC hits an NPC.

EDIT: I should add that this was in FG classic.

EDIT2: We tested it with FG Unity and it did the same thing.

superteddy57
July 31st, 2020, 04:32
Thank you for the report. I will be investigating what is causing it.

esmdev
July 31st, 2020, 04:52
Thank you for the report. I will be investigating what is causing it.

Hi. I looked through the campaign directory info, and the token being used for attacks (for everyone) is id-00001 (and the first character in the db.xml).

superteddy57
August 1st, 2020, 01:47
Not sure why that is doing that. Thanks for the heads up.

esmdev
August 7th, 2020, 16:02
Any luck tracking the wrong picture problem? I reinstalled my Win10 and FG this week, so decided to run a quick test on a brand new install of FG to make sure it wasn't something in my system. No joy.

Create new BRP campaign
Create 3 characters with 3 images (called Test1, Test2, and Test3), didn't do anything but add 3 different pictures.
Added all 3 characters to CT.
Log on from a remote PC (so I can see the pictures when I click) as Test3.
Rolled brawl from the main page.
The image for Test1 came up as the attacker despite using the Test3 character sheet.
The image for Test3 comes up when I click skills from the skill tab.

Hope this is helpful.

superteddy57
August 7th, 2020, 18:43
Sorry, still trying to scan through the code. It's a tad older and needs a double take as I go through it. That is very helpful and appreciate it. I do apologize for the delay, just having trouble tracking it down and getting it resolved.

AWD2
August 10th, 2020, 06:03
Not sure if this is something others have noticed. I'm creating new items for a game I'm running, currently inputting ranged weapons. When I change the Weapon Type to Missile, lock it, and close the item, it reads as Melee the next time I reopen it. Thanks.

superteddy57
August 11th, 2020, 18:33
Thanks for the report. I will add it to the list of things to get resolved.

AWD2
August 12th, 2020, 17:44
Appreciate it, thank you.

superteddy57
August 13th, 2020, 19:03
Pushed update to resolve the issues reported.

AWD2
August 14th, 2020, 15:31
Awesome, thanks.

esmdev
August 14th, 2020, 18:10
Fixed latest reports and pushed a new update for the attack issues and a bug with attack numbers not showing up for NPCs from the modules.

Hi, the fix kind of worked, but doesn't cover the word versions of the attack option (like if you click the word brawl, grapple or pistol, heavy on the left side of the combat area). I logged in chat what I was clicking to get what portrait result... hope this image is helpful.

38557

Also, it is still drawing a line through the middle of skills if you right click, create item, in the skill listing on a character sheet. Also provided an image, look at Ritual Magic.

38558

I did these tests with the unaltered theme.

superteddy57
August 15th, 2020, 10:45
Thank you for the report

peterb
August 15th, 2020, 14:35
Also, it is still drawing a line through the middle of skills if you right click, create item, in the skill listing on a character sheet. Also provided an image, look at Ritual Magic.

38558

I did these tests with the unaltered theme.

Changing to one of the alternative themes that ships with FG (Wood etc.) solves problems like this so it seems that there are compatibility issues when using the original BRP theme and CoreRPG at the same time. Maybe a change from the original theme to one of those mentioned would be a short time fix?

esmdev
August 15th, 2020, 15:16
Changing to one of the alternative themes that ships with FG (Wood etc.) solves problems like this so it seems that there are compatibility issues when using the original BRP theme and CoreRPG at the same time. Maybe a change from the original theme to one of those mentioned would be a short time fix?

I gave it a go, but unfortunately it didn't work.

38571

38572

38573

It's not a show stopper but it does make new skills hard to read.

esmdev
August 15th, 2020, 15:20
You know, re-examining the skill images, it also puts a box around the base value in the official theme, which is an error.

It doesn't do so in the general themes (brown, grey, wood), which is correct.

So I guess technically that is another small bug, but only with the standard theme.

superteddy57
August 19th, 2020, 12:34
Pushed update to fix double clicking on the attack names not linking to correct actor and also adjusted the underline on custom skills and numbers.

esmdev
August 19th, 2020, 15:02
Did a quick run through and looks good. Thanks. :)

superteddy57
August 19th, 2020, 15:04
Glad to hear. No problem, you are welcome! Have fun!

AWD2
September 1st, 2020, 16:24
Was messing around with BRP for an upcoming game and it seemed like the location rolls on the character sheet weren't listing the right result in the text box for missile weapons (seems to match the melee value). Thanks.

Azaran
September 1st, 2020, 17:12
Was messing around with BRP for an upcoming game and it seemed like the location rolls on the character sheet weren't listing the right result in the text box for missile weapons (seems to match the melee value). Thanks.

Shift click the location icon to get missile results :)

AWD2
September 1st, 2020, 18:45
Thanks. I figured out how to get the missile results but here's one example...

38983

And the character sheet table.

38984

A 17 missile attack reads in the chat as Left Arm and the Character Sheet table reads Right Arm.

Or...

38985

38986

Not sure if it's something on my end. Thanks.

esmdev
September 2nd, 2020, 16:28
I was just looking at the code and there doesn't appear to be anything to differentiate melee vs. missile in the to hit location data. There appear to be a lot of things in the BRP ruleset that mostly work but there are also a lot of things that didn't make the cut when the original developer wrote the code way, way, way back when.

superteddy57
September 3rd, 2020, 12:08
I was just looking at the code and there doesn't appear to be anything to differentiate melee vs. missile in the to hit location data. There appear to be a lot of things in the BRP ruleset that mostly work but there are also a lot of things that didn't make the cut when the original developer wrote the code way, way, way back when.

The old code had it there, but they blocked it off for some reason. I added in the connections again and it registers the correct ranges now when rolling from the missile table. Update is available.

esmdev
September 3rd, 2020, 14:27
The old code had it there, but they blocked it off for some reason. I added in the connections again and it registers the correct ranges now when rolling from the missile table. Update is available.

Nice! :)

AWD2
September 4th, 2020, 21:37
I still get the melee results for missile but maybe it's something on my end. Thanks for taking a look at this.

superteddy57
September 5th, 2020, 07:33
I started a new campaign and double checked double clicking on missile for the results. From my testing it appears to be rolling correctly on the missile ranges and not the melee.

39084

Stollesson
March 4th, 2021, 21:45
There seems to be a problem with the combat tracker in Unity.

On player characters it will not show defense and offense don't show the weapons.

For NPC it seems to work somewhat, on defense there is a row with numbers that don't make any sense.

When you drag and drop damage it don't incorporate armor in the calculation and the hp for body parts don't update.

44555

superteddy57
March 4th, 2021, 22:15
The code hasn't been changed from the original codebase that it was before the update. So it's functioning as it would. This is a very old ruleset and may not have some of the newer features many rulesets currently have.

On player characters it will not show defense and offense don't show the weapons.
- Most rulesets don't populate attacks for the PCs as they are performed from the sheet. From the code it appears only the name, pp, wounds, hp, and init result. So Attacks and Defenses are not linked to the CT.

For NPC it seems to work somewhat, on defense there is a row with numbers that don't make any sense.
- Those are for hit locations if you are using the optional rule. From left to right:
melee
missile
name
armor pen
calc (distribution of HP to location)
hp in that location

When you drag and drop damage it don't incorporate armor in the calculation and the hp for body parts don't update.
- I will have to double check, but I don't believe the damage was setup automatically for hit location usage. I believe it was setup to be factored manually.

Stollesson
March 5th, 2021, 08:28
This is how it used to look and function before the upgrade to Core V3.0 in FG classic.

44560

In this example I have drag and drop the damaged of 4 on the bandits left arm.
The arm takes only 2 point of damage because he has 2 point of armor.

The yellow dot after left leg marks how much damage it has taken.

superteddy57
March 5th, 2021, 13:32
This is how it used to look and function before the upgrade to Core V3.0 in FG classic.

44560

In this example I have drag and drop the damaged of 4 on the bandits left arm.
The arm takes only 2 point of damage because he has 2 point of armor.

The yellow dot after left leg marks how much damage it has taken.

You are correct with the look, but with the original code base, I can't get it to fire the armor location with my testing. Would you mind setting up a time to work together on this to get the functionality the way you are seeing it?

Stollesson
March 5th, 2021, 20:05
I don't know hove much I can contribute, but we can always try.

superteddy57
March 9th, 2021, 18:18
Pushed a fix this week that will allow calculation and tracking of hit location usage.

peterb
March 17th, 2021, 11:26
Hi I have a major problem with the NPC sheet.

a) It does not look like it should according to the manual.
b) When I open a collection of creatures (using the gamemaster module) and then drags a creature from NPC's to an encounter the resulting entry in the encounter cannot be edited. Nor does it randomly generates stats, in fact the NPC sheet doesn't look like it does in the manual.

I have not worked with NPC for quite some time. For the last few months I have worked with building modules for new spells and equipment and now I was planning to build a module with new creatures. I think I tested the NPC form when the new CoreRPG based version of the BRP ruleset was tested and AFAIK it worked then. I have a few forks of the BRP ruleset back from 2010 but the all fail to open so I cannot reproduce the old form.

I see when I read the console output closely that the frame (groupsheet) in control (abilitylist) in class (npc_main) fails to load, so that would seem to be the problem

Some info plus images:
1. The NPC sheet according to the BRP ruleset manual
See attached image for how the NPC sheet should look like as documented in the manual (page 18-20). Also review the manual for how it should work.
44940

2. The NPC sheet on FG Unity
From the console log:

[3/17/2021 11:03:03 AM] FGU: v4.0.10 ULTIMATE (2021-02-04)
[3/17/2021 11:03:03 AM] OS: Windows 10 (10.0.0) 64bit
[3/17/2021 11:03:03 AM] GRAPHICS: NVIDIA GeForce GTX 1060 6GB : 6052
[3/17/2021 11:03:03 AM] UI SCALE: 1
[3/17/2021 11:03:03 AM] USER: peterb
[3/17/2021 11:03:03 AM] Launcher scene starting.
[3/17/2021 11:03:08 AM] Starting private server mode. [(192.168.42.145:1802) (::1:1802)]
[3/17/2021 11:03:08 AM] Game server started. [192.168.42.145:1802]
[3/17/2021 11:03:08 AM] Launcher scene exiting.
[3/17/2021 11:03:08 AM] Tabletop scene starting.
[3/17/2021 11:03:08 AM] NETWORK STATUS: [Server] [Connected]
[Server Type - LAN]
[3/17/2021 11:03:20 AM] MEASURE: RULESETS LOAD - 11.9692502 - Basic Roleplaying
[3/17/2021 11:03:20 AM] MEASURE: EXTENSIONS LOAD - 0.0009995 - 0
[3/17/2021 11:03:21 AM] MEASURE: MODULE LIST BUILD - 1.2363441 - 42
[3/17/2021 11:03:21 AM] MEASURE: REFRESH IMAGE ASSETS - 0.1089327
[3/17/2021 11:03:21 AM] MEASURE: REFRESH PORTRAIT ASSETS - 0.0089944
[3/17/2021 11:03:21 AM] MEASURE: REFRESH TOKEN ASSETS - 0.1109317
[3/17/2021 11:03:21 AM] MEASURE: ASSET LIST BUILD - 0.2308576
[3/17/2021 11:03:22 AM] MEASURE: LOAD - PART 1 - 14.5121527
[3/17/2021 11:03:23 AM] MEASURE: MODULE LOAD - 0.1488758 - Basic Magic
[3/17/2021 11:03:24 AM] MEASURE: MODULE LOAD - 0.6629214 - BRP Game System X
[3/17/2021 11:03:25 AM] MEASURE: MODULE LOAD - 1.2529906 - BRP Gamemaster Guide
[3/17/2021 11:03:25 AM] MEASURE: MODULE LOAD - 0.1828878 - d100 Spells
[3/17/2021 11:03:26 AM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[3/17/2021 11:03:26 AM] RULESET: Core RPG ruleset (v2021-03-16) for Fantasy Grounds
Copyright 2021 Smiteworks USA, LLC
[3/17/2021 11:03:26 AM] MEASURE: LOAD - PART 2 - 3.7387064
[3/17/2021 11:04:16 AM] [WARNING] windowcontrol: Could not find frame (groupsheet) in control (abilitylist) in class (npc_main)
[3/17/2021 11:04:26 AM] Reloading ruleset and data
[3/17/2021 11:04:26 AM] Tabletop scene exiting.
[3/17/2021 11:04:26 AM] Tabletop scene starting.
[3/17/2021 11:04:26 AM] NETWORK STATUS: [Server] [Connected]
[Server Type - LAN]
[3/17/2021 11:04:36 AM] MEASURE: RULESETS LOAD - 9.7156022 - Basic Roleplaying
[3/17/2021 11:04:36 AM] MEASURE: EXTENSIONS LOAD - 0 - 0
[3/17/2021 11:04:37 AM] MEASURE: MODULE LIST BUILD - 1.1480567 - 42
[3/17/2021 11:04:37 AM] MEASURE: REFRESH IMAGE ASSETS - 0.0879519
[3/17/2021 11:04:37 AM] MEASURE: REFRESH PORTRAIT ASSETS - 0.0291423
[3/17/2021 11:04:37 AM] MEASURE: REFRESH TOKEN ASSETS - 0.0909435
[3/17/2021 11:04:37 AM] MEASURE: ASSET LIST BUILD - 0.2090299
[3/17/2021 11:04:38 AM] MEASURE: LOAD - PART 1 - 11.903845
[3/17/2021 11:04:39 AM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[3/17/2021 11:04:39 AM] RULESET: Core RPG ruleset (v2021-03-16) for Fantasy Grounds
Copyright 2021 Smiteworks USA, LLC
[3/17/2021 11:04:39 AM] MEASURE: LOAD - PART 2 - 1.1279085

See the attached image for how the NPC sheet looks like:
44941

2. The NPC sheet on FG Classic
a) The ruleset info:
44943
b) how the NPC sheet looks like:
44942

peterb
March 17th, 2021, 11:52
I managed to load a backup from 2017-03-22 of the BRP ruleset. This, pre-CoreRPG, version shows the NPC sheet as per the manual (as expected).

superteddy57
March 17th, 2021, 17:58
Hi I have a major problem with the NPC sheet.

a) It does not look like it should according to the manual.
b) When I open a collection of creatures (using the gamemaster module) and then drags a creature from NPC's to an encounter the resulting entry in the encounter cannot be edited. Nor does it randomly generates stats, in fact the NPC sheet doesn't look like it does in the manual.

I have not worked with NPC for quite some time. For the last few months I have worked with building modules for new spells and equipment and now I was planning to build a module with new creatures. I think I tested the NPC form when the new CoreRPG based version of the BRP ruleset was tested and AFAIK it worked then. I have a few forks of the BRP ruleset back from 2010 but the all fail to open so I cannot reproduce the old form.

I see when I read the console output closely that the frame (groupsheet) in control (abilitylist) in class (npc_main) fails to load, so that would seem to be the problem

Some info plus images:
1. The NPC sheet according to the BRP ruleset manual
See attached image for how the NPC sheet should look like as documented in the manual (page 18-20). Also review the manual for how it should work.
44940

2. The NPC sheet on FG Unity
From the console log:

[3/17/2021 11:03:03 AM] FGU: v4.0.10 ULTIMATE (2021-02-04)
[3/17/2021 11:03:03 AM] OS: Windows 10 (10.0.0) 64bit
[3/17/2021 11:03:03 AM] GRAPHICS: NVIDIA GeForce GTX 1060 6GB : 6052
[3/17/2021 11:03:03 AM] UI SCALE: 1
[3/17/2021 11:03:03 AM] USER: peterb
[3/17/2021 11:03:03 AM] Launcher scene starting.
[3/17/2021 11:03:08 AM] Starting private server mode. [(192.168.42.145:1802) (::1:1802)]
[3/17/2021 11:03:08 AM] Game server started. [192.168.42.145:1802]
[3/17/2021 11:03:08 AM] Launcher scene exiting.
[3/17/2021 11:03:08 AM] Tabletop scene starting.
[3/17/2021 11:03:08 AM] NETWORK STATUS: [Server] [Connected]
[Server Type - LAN]
[3/17/2021 11:03:20 AM] MEASURE: RULESETS LOAD - 11.9692502 - Basic Roleplaying
[3/17/2021 11:03:20 AM] MEASURE: EXTENSIONS LOAD - 0.0009995 - 0
[3/17/2021 11:03:21 AM] MEASURE: MODULE LIST BUILD - 1.2363441 - 42
[3/17/2021 11:03:21 AM] MEASURE: REFRESH IMAGE ASSETS - 0.1089327
[3/17/2021 11:03:21 AM] MEASURE: REFRESH PORTRAIT ASSETS - 0.0089944
[3/17/2021 11:03:21 AM] MEASURE: REFRESH TOKEN ASSETS - 0.1109317
[3/17/2021 11:03:21 AM] MEASURE: ASSET LIST BUILD - 0.2308576
[3/17/2021 11:03:22 AM] MEASURE: LOAD - PART 1 - 14.5121527
[3/17/2021 11:03:23 AM] MEASURE: MODULE LOAD - 0.1488758 - Basic Magic
[3/17/2021 11:03:24 AM] MEASURE: MODULE LOAD - 0.6629214 - BRP Game System X
[3/17/2021 11:03:25 AM] MEASURE: MODULE LOAD - 1.2529906 - BRP Gamemaster Guide
[3/17/2021 11:03:25 AM] MEASURE: MODULE LOAD - 0.1828878 - d100 Spells
[3/17/2021 11:03:26 AM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[3/17/2021 11:03:26 AM] RULESET: Core RPG ruleset (v2021-03-16) for Fantasy Grounds
Copyright 2021 Smiteworks USA, LLC
[3/17/2021 11:03:26 AM] MEASURE: LOAD - PART 2 - 3.7387064
[3/17/2021 11:04:16 AM] [WARNING] windowcontrol: Could not find frame (groupsheet) in control (abilitylist) in class (npc_main)
[3/17/2021 11:04:26 AM] Reloading ruleset and data
[3/17/2021 11:04:26 AM] Tabletop scene exiting.
[3/17/2021 11:04:26 AM] Tabletop scene starting.
[3/17/2021 11:04:26 AM] NETWORK STATUS: [Server] [Connected]
[Server Type - LAN]
[3/17/2021 11:04:36 AM] MEASURE: RULESETS LOAD - 9.7156022 - Basic Roleplaying
[3/17/2021 11:04:36 AM] MEASURE: EXTENSIONS LOAD - 0 - 0
[3/17/2021 11:04:37 AM] MEASURE: MODULE LIST BUILD - 1.1480567 - 42
[3/17/2021 11:04:37 AM] MEASURE: REFRESH IMAGE ASSETS - 0.0879519
[3/17/2021 11:04:37 AM] MEASURE: REFRESH PORTRAIT ASSETS - 0.0291423
[3/17/2021 11:04:37 AM] MEASURE: REFRESH TOKEN ASSETS - 0.0909435
[3/17/2021 11:04:37 AM] MEASURE: ASSET LIST BUILD - 0.2090299
[3/17/2021 11:04:38 AM] MEASURE: LOAD - PART 1 - 11.903845
[3/17/2021 11:04:39 AM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[3/17/2021 11:04:39 AM] RULESET: Core RPG ruleset (v2021-03-16) for Fantasy Grounds
Copyright 2021 Smiteworks USA, LLC
[3/17/2021 11:04:39 AM] MEASURE: LOAD - PART 2 - 1.1279085

See the attached image for how the NPC sheet looks like:
44941

2. The NPC sheet on FG Classic
a) The ruleset info:
44943
b) how the NPC sheet looks like:
44942

What is the NPC sheet not able to do currently? You relaying that it doesn't look the same as the older version doesn't help me see what automation is missing. Since the upgrade to +3.0 some visuals were changed to get the code working with the newer features. So showing images of comparisons of what it looked prior won't help in this case.

peterb
March 17th, 2021, 20:53
Hi superteddy57,

I got a bit confused because there was some layout changes and news in the NPC sheet so I didn't recognize myself. In any case, I did some tests.

1. Creating a new NPC from scratch.
The first page (Main)
The current sheet has a different layout and two new data items at the top "Size" and "Reach" which I really don't know what they are used for. Anyway, both versions behave in the same way. There is no difference.

The second page (Combat)
In the current version, the weapon table at the top has a new field on the first line that can be switched from M to R. I guess it stands for Melee and Ranged. The labels are not aligned with the columns. The rest of the page is the same in both versions, except that in the current version the final "s" in the label "Damage Bonus" overlaps the field. Also in the current version the labels in the hit location table are not aligned with the columns.

The third and fourth page (Appearances and Notes)
These pages are identical and also works the same way, even if the are some changes in the layout.

2. Dropping a NPC from BRP Creatures onto the Combat Tracker
I'm testing this by dropping two Bears from BRP Creatures on the Combat Tracker.

The first page (Main).
In the old, pre-CoreRPG version the stats of the bears are generated randomly and the randomized stats are printed in the chat window, but in the current version they are not. In the old version you can edit the stats by default, in the current version they are locked but they can easily be unlocked. In the current version there's a check box "RACE?" which when you unlock the sheet you can uncheck and the NPC sheet is transformed into a specific entry sheet.

In the BRP ruleset manual, on page 18, the Race checkbox is explained:

This is controlled by the Race? check box.
If the entry is a racial template, then it will include the die rolls required to generate characteristics (such as STR: 3D6) whereas if it is for a specific creature or person, it will include the actual values (such as STR: 10). When a specific entry is dropped onto the combat tracker or the encounters list, it copies across as-is. When a racial template is dropped, the ruleset determines characteristics randomly from the die rolls and reports the outcome in the chat box.

This functionality is missing from the current NPC sheet when a template is dropped onto the CT or an encounter. It would seem that the expected behavior is that on a drop from the NPC list a racial template is transformed into a specific entry and on the way its stats are randomly generated and the result is printed in the chat window. As far as I understand it there should be no racial templates in the CT or in an encounter. Also, an entry in CT or an encounter should not have a "RACE?" checkbox.

The second page (Combat)
The same observations as above in 1. is valid here too. The labels in the current version are neither aligned to the columns of the weapon table nor the hit location table. The Damage Bonus label overlaps the textbox in the current version.

The third and fourth page (Appearances and Notes)
These pages are identical and also works the same way, even if the are some changes in the layout.

Finally, there's an error message (or warning rather) in the console log that I posted: "[WARNING] windowcontrol: Could not find frame (groupsheet) in control (abilitylist) in class (npc_main)", that might or might not have something to do with all this.

Hope this helps,
Peter

superteddy57
March 18th, 2021, 00:08
Hi superteddy57,

I got a bit confused because there was some layout changes and news in the NPC sheet so I didn't recognize myself. In any case, I did some tests.

1. Creating a new NPC from scratch.
The first page (Main)
The current sheet has a different layout and two new data items at the top "Size" and "Reach" which I really don't know what they are used for. Anyway, both versions behave in the same way. There is no difference.

This is due to the update to 3.0. All NPCs in CoreRPG have these for interactions with the map. Space is what makes the size of the token larger or smaller and Reach is used for melee calculations. I don't believe Reach is piped in and can be ignored.


The second page (Combat)
In the current version, the weapon table at the top has a new field on the first line that can be switched from M to R. I guess it stands for Melee and Ranged. The labels are not aligned with the columns. The rest of the page is the same in both versions, except that in the current version the final "s" in the label "Damage Bonus" overlaps the field. Also in the current version the labels in the hit location table are not aligned with the columns.

The new field is a new addition to fix hit location to roll correctly on the correct table. Before it would just roll on the melee table and never the missile. The alignment is incorrect as you pointed out and is on my list of clean up.


2. Dropping a NPC from BRP Creatures onto the Combat Tracker
I'm testing this by dropping two Bears from BRP Creatures on the Combat Tracker.
The first page (Main).
In the old, pre-CoreRPG version the stats of the bears are generated randomly and the randomized stats are printed in the chat window, but in the current version they are not. In the old version you can edit the stats by default, in the current version they are locked but they can easily be unlocked. In the current version there's a check box "RACE?" which when you unlock the sheet you can uncheck and the NPC sheet is transformed into a specific entry sheet.

In the BRP ruleset manual, on page 18, the Race checkbox is explained:


This functionality is missing from the current NPC sheet when a template is dropped onto the CT or an encounter. It would seem that the expected behavior is that on a drop from the NPC list a racial template is transformed into a specific entry and on the way its stats are randomly generated and the result is printed in the chat window. As far as I understand it there should be no racial templates in the CT or in an encounter. Also, an entry in CT or an encounter should not have a "RACE?" checkbox.

The second page (Combat)
The same observations as above in 1. is valid here too. The labels in the current version are neither aligned to the columns of the weapon table nor the hit location table. The Damage Bonus label overlaps the textbox in the current version.

The third and fourth page (Appearances and Notes)
These pages are identical and also works the same way, even if the are some changes in the layout.

Finally, there's an error message (or warning rather) in the console log that I posted: "[WARNING] windowcontrol: Could not find frame (groupsheet) in control (abilitylist) in class (npc_main)", that might or might not have something to do with all this.

Hope this helps,
Peter

This is what I was referring to about what automation is missing. The look of the sheet may look different, but if old automation is missing, then it needs to be addressed. The ruleset is quite old and the look may change with the updates that are performed to make it work with the latest version of the core code. I will add it to my list of things to investigate the random attributes and clean up the alignment.

peterb
March 18th, 2021, 07:19
Thanks for the answer. I'll wait for an update.

/Peter

peterb
April 11th, 2021, 12:45
I'm running a new BRP campaign with no extensions.
I'm running on FGU.
I did an update just before running the test.
[4/5/2021 2:29:55 PM] FGU: v4.0.10 ULTIMATE (2021-02-04)
[4/5/2021 2:29:55 PM] OS: Windows 10 (10.0.0) 64bit
[4/5/2021 2:30:45 PM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[4/5/2021 2:30:45 PM] RULESET: Core RPG ruleset (v2021-04-06) for Fantasy Grounds


In order to replicate this test the "Use Skill Category Bonuses" House Rule needs to be set to "on" in the Prefs window.

When I change the value of a characteristic, I get the following warnings and errors:

[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)

The category bonuses are calculated correctly! Even though FGU throws this error.

I have also tested to do the same on FGC with the latest version of the ruleset(s) and there where no errors and the category bonuses where calculated correctly. I also did a test with a pre-coreRPG version of the Basic Roleplaying ruleset (in FGC) and there where no errors and the calculations where correct.

As far as I can see the code (in the function recalc) is the same in the post-coreRPG and the pre-coreRPG versions of the ruleset. I've tried to come up with a fix but so far I have failed, so any help is appreciated.

superteddy57
April 11th, 2021, 23:42
I'm running a new BRP campaign with no extensions.
I'm running on FGU.
I did an update just before running the test.
[4/5/2021 2:29:55 PM] FGU: v4.0.10 ULTIMATE (2021-02-04)
[4/5/2021 2:29:55 PM] OS: Windows 10 (10.0.0) 64bit
[4/5/2021 2:30:45 PM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-03-09)
[4/5/2021 2:30:45 PM] RULESET: Core RPG ruleset (v2021-04-06) for Fantasy Grounds


In order to replicate this test the "Use Skill Category Bonuses" House Rule needs to be set to "on" in the Prefs window.

When I change the value of a characteristic, I get the following warnings and errors:

[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [WARNING] setValue: Recursive call terminated for (CONTROL_NUMBER) (bonus)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)
[4/11/2021 1:17:27 PM] [ERROR] Handler error: [string "charsheet_skillcategory"]:28: attempt to index global 'catname' (a nil value)

The category bonuses are calculated correctly! Even though FGU throws this error.

I have also tested to do the same on FGC with the latest version of the ruleset(s) and there where no errors and the category bonuses where calculated correctly. I also did a test with a pre-coreRPG version of the Basic Roleplaying ruleset (in FGC) and there where no errors and the calculations where correct.

As far as I can see the code (in the function recalc) is the same in the post-coreRPG and the pre-coreRPG versions of the ruleset. I've tried to come up with a fix but so far I have failed, so any help is appreciated.

Thank you for the report. It will be added to my list of bug checks.

peterb
April 22nd, 2021, 10:57
Hi,

I've had some success going forward with the "catname" problem. The problem is the recalc() function, which is called from three places in the windowclass "charsheet_skillcategory". If I move the recalc functions code to the two controls that calls it and modify it a bit, then that code works, the category bonuses are correctly calculated.

For the "catname" label:

function onValueChanged
if super and super.onValueChanged then
super.onValueChanged()
end
local name = getValue()
Debug.console("category", name)
local value = window.windowlist.getBonus(name)
Debug.console("bonus", value)
window.bonus.setValue(value)
end

and for the "bonus" basicnumber control:

function onValueChanged
if super and super.onValueChanged then
super.onValueChanged()
end
local name = window.catname.getValue()
Debug.console("category2", name)
local value = window.windowlist.getBonus(name)
Debug.console("bonus2", value)
bonus.setValue(value)
end

**************

So, so far so good, but the function recalc() is also called by the update() function which in turn is called by the onInit() function the first time you click on the skill tab. The update function can access the bonus control and make it visible, so it has access to the "bonus" control. If I edit the update() function, like below, and reload the ruleset and click on the Skill tab, then the debug statement "Debug.console("category4", name)" displays "s'category4' | s''". That is, it cannot access (or find) "catname", but it can access "bonus". The later is easy to verify because category names and bonus values are visible. The controls "bonus" and "catname" sould be in the same scope, right? So why can't I access "catname"?


function update()
print("update()")
local sOptionHRSCB = OptionsManager.getOption("HRSCB")

if sOptionHRSCB == "on" then
local node = windowlist.window.getDatabaseNode().createChild("abilities")
node.onChildUpdate = recalc
bonus.setVisible(true)
bonuslabel.setVisible(true)

local name = catname.getValue()
Debug.console("category4", name)
local value = windowlist.getBonus(name)
Debug.console("bonus4", value)
bonus.setValue(value)
else
bonus.setVisible(false)
bonuslabel.setVisible(false)
end
end


**************

The recalc() function is also accessed when a characteristic on the Main tab is changed (the line node.onChildUpdate = recalc in the update() function). When you access recalc() this way it throws an "attempt to index global" error. And it doesn't seem to mather what statement you put first in the function.

When I change the recalc() functions code and inserts a few debug statements and a print statement, like this:

function recalc()
print("recalc()")
local name = catname.getValue();
Debug.console("category3", name)
local value = windowlist.getBonus(name);
Debug.console("bonus3", value)
bonus.setValue(value);
end

Then I get the error: "attempt to index global 'print' (a nil value)". If I change the print statement to a debug statement, the error messages changes to "attempt to index global 'Debug' (a nil value)". There are two recalc funcions in record_char_skills.xml, so I renamed the recalc() function in charsheet_skillcategory to recalcat(), but that didn't have any effect. What would make a statement in a function throw "attempt to index global", regardless of what statement it is?

**************

Finally, It's worth noting that the code seems to work fine in FGC, from what I can tell.


/Peter

peterb
April 22nd, 2021, 12:04
If you want to recreate this behavior you can use the extension below. It loads the record_char_skills.xml that I've been modifying. Don't forget to turn on "Use Skill Categories" in the preferences.

damned
April 22nd, 2021, 12:19
If I change the print statement to a debug statement, the error messages changes to "attempt to index global 'Debug' (a nil value)".

Debug needs to be followed with .console or .chat

peterb
April 22nd, 2021, 12:36
Debug needs to be followed with .console or .chat
It was. I used Debug.console("recalc()", "").

peterb
April 22nd, 2021, 12:48
I found this post when searching for info on "attempt to call global". It seems to suggest that the value of a genericcontrol cannot be accessed by getValue(). But I'm able to do so in
"catname" genericcontrol:

function onValueChanged
if super and super.onValueChanged then
super.onValueChanged()
end
local name = getValue()
Debug.console("category", name)
local value = window.windowlist.getBonus(name)
Debug.console("bonus", value)
window.bonus.setValue(value)
end
The post above is a couple of years old. Has this changed?

Moon Wizard
April 22nd, 2021, 15:53
The "genericcontrol" object type does not support the getValue function; as the genericcontrol object does not support a database value nor is able to link to a database node.

The "catname" control may be a template which resolves to a stringcontrol/stringfield, which is why it works there.

Regards,
JPG

superteddy57
April 22nd, 2021, 17:10
Hi,

I've had some success going forward with the "catname" problem. The problem is the recalc() function, which is called from three places in the windowclass "charsheet_skillcategory". If I move the recalc functions code to the two controls that calls it and modify it a bit, then that code works, the category bonuses are correctly calculated.

For the "catname" label:

function onValueChanged
if super and super.onValueChanged then
super.onValueChanged()
end
local name = getValue()
Debug.console("category", name)
local value = window.windowlist.getBonus(name)
Debug.console("bonus", value)
window.bonus.setValue(value)
end

and for the "bonus" basicnumber control:

function onValueChanged
if super and super.onValueChanged then
super.onValueChanged()
end
local name = window.catname.getValue()
Debug.console("category2", name)
local value = window.windowlist.getBonus(name)
Debug.console("bonus2", value)
bonus.setValue(value)
end

**************

So, so far so good, but the function recalc() is also called by the update() function which in turn is called by the onInit() function the first time you click on the skill tab. The update function can access the bonus control and make it visible, so it has access to the "bonus" control. If I edit the update() function, like below, and reload the ruleset and click on the Skill tab, then the debug statement "Debug.console("category4", name)" displays "s'category4' | s''". That is, it cannot access (or find) "catname", but it can access "bonus". The later is easy to verify because category names and bonus values are visible. The controls "bonus" and "catname" sould be in the same scope, right? So why can't I access "catname"?


function update()
print("update()")
local sOptionHRSCB = OptionsManager.getOption("HRSCB")

if sOptionHRSCB == "on" then
local node = windowlist.window.getDatabaseNode().createChild("abilities")
node.onChildUpdate = recalc
bonus.setVisible(true)
bonuslabel.setVisible(true)

local name = catname.getValue()
Debug.console("category4", name)
local value = windowlist.getBonus(name)
Debug.console("bonus4", value)
bonus.setValue(value)
else
bonus.setVisible(false)
bonuslabel.setVisible(false)
end
end


**************

The recalc() function is also accessed when a characteristic on the Main tab is changed (the line node.onChildUpdate = recalc in the update() function). When you access recalc() this way it throws an "attempt to index global" error. And it doesn't seem to mather what statement you put first in the function.

When I change the recalc() functions code and inserts a few debug statements and a print statement, like this:

function recalc()
print("recalc()")
local name = catname.getValue();
Debug.console("category3", name)
local value = windowlist.getBonus(name);
Debug.console("bonus3", value)
bonus.setValue(value);
end

Then I get the error: "attempt to index global 'print' (a nil value)". If I change the print statement to a debug statement, the error messages changes to "attempt to index global 'Debug' (a nil value)". There are two recalc funcions in record_char_skills.xml, so I renamed the recalc() function in charsheet_skillcategory to recalcat(), but that didn't have any effect. What would make a statement in a function throw "attempt to index global", regardless of what statement it is?

**************

Finally, It's worth noting that the code seems to work fine in FGC, from what I can tell.


/Peter

I've looked this over and will be presenting a fix soon. Wanted to go over the NPC sheet reports first and combine this fix with that fix.

peterb
April 22nd, 2021, 17:15
I've looked this over and will be presenting a fix soon. Wanted to go over the NPC sheet reports first and combine this fix with that fix.
OK! That sounds great! Thanks a lot.

peterb
April 22nd, 2021, 19:06
The "genericcontrol" object type does not support the getValue function; as the genericcontrol object does not support a database value nor is able to link to a database node.

The "catname" control may be a template which resolves to a stringcontrol/stringfield, which is why it works there.

Regards,
JPG

OK. Thanks for the clarification.

peterb
May 5th, 2021, 14:08
Hi,

While double checking that all attack rolls works as intended I noticed that missiles ignore the missile damage bonus rule. I checked with an old version of the ruleset (from 2017) on FGC and on that version of the ruleset the missile damage bonus is correctly handled.

The easiest way to test this is to create a new campaign, with no extensions and then a new character. Set both STR and SIZ to 18 so that you get a +1d6 damage bonus. Next, create a new missile weapon and give it a damage of 1d8 and check the db checkbox. When rolling damage all d6 damage bonus dice rolls of 1 or 2 should yield a result of 1 in the chat, all rolls of 3 or 4 should yield 2 and all rolls of 5 or 6 should yield 3.

As noted this works with the 2017 version of the ruleset but not with the latest. I'm running my 2017 test on FGC and the current ruleset version on FGU.

/Peter

superteddy57
May 5th, 2021, 19:12
Hi,

While double checking that all attack rolls works as intended I noticed that missiles ignore the missile damage bonus rule. I checked with an old version of the ruleset (from 2017) on FGC and on that version of the ruleset the missile damage bonus is correctly handled.

The easiest way to test this is to create a new campaign, with no extensions and then a new character. Set both STR and SIZ to 18 so that you get a +1d6 damage bonus. Next, create a new missile weapon and give it a damage of 1d8 and check the db checkbox. When rolling damage all d6 damage bonus dice rolls of 1 or 2 should yield a result of 1 in the chat, all rolls of 3 or 4 should yield 2 and all rolls of 5 or 6 should yield 3.

As noted this works with the 2017 version of the ruleset but not with the latest. I'm running my 2017 test on FGC and the current ruleset version on FGU.

/Peter

Thank you for the report. Can you also tell me where in the rulebook (if you have one available) this rule is stated? I'd like to see I cover all of it's bases.

peterb
May 5th, 2021, 21:00
Thank you for the report. Can you also tell me where in the rulebook (if you have one available) this rule is stated? I'd like to see I cover all of it's bases.

In the code the default rule is detailed in the function getDamageDice(ismelee) on line 137 and forward in record_char_main.xml.

In the rulebook damage bonus is mentioned on page 29 (31 in the pdf), 70 (72) and 233 (235).

/Peter

superteddy57
May 5th, 2021, 21:04
I think I understand what I read from the rulebook and here is the updated code. Does this look correct?

46386

peterb
May 5th, 2021, 21:13
[ERROR] windowcontrol: Database type mismatch on path (notes) in control (notes) in class (weapon_other)

I get this error when I open the tab "other" on a weapon record. There's an follow up error: [ERROR] Script execution error: [string "weapon_other"]:39: attempt to index global 'notes' (a nil value). The weapon has been dragged from the equipment list in the BRP Game System X module. When I create a new weapon there's no error. I've checked the name of the field in the module and they are the same. The type of the field in the module is 'formattedtext' so I tried to change the type in record_weapon.xml to 'formattedtextfield' but it didn't help. Now I'm lost and I don't know what more to try.

A screenshot:
46387

/Peter

peterb
May 5th, 2021, 21:15
I think I understand what I read from the rulebook and here is the updated code. Does this look correct?

46386

Yes that looks right. Out of curiosity, what was the problem?

/Peter

superteddy57
May 5th, 2021, 21:19
[ERROR] windowcontrol: Database type mismatch on path (notes) in control (notes) in class (weapon_other)

I get this error when I open the tab "other" on a weapon record. There's an follow up error: [ERROR] Script execution error: [string "weapon_other"]:39: attempt to index global 'notes' (a nil value). The weapon has been dragged from the equipment list in the BRP Game System X module. When I create a new weapon there's no error. I've checked the name of the field in the module and they are the same. The type of the field in the module is 'formattedtext' so I tried to change the type in record_weapon.xml to 'formattedtextfield' but it didn't help. Now I'm lost and I don't know what more to try.

A screenshot:
46387

/Peter

Yeah, looks like I may have missed removing a link class to the proper windowclass. I have found the issue and will add it to the next weekly update.




Yes that looks right. Out of curiosity, what was the problem?

/Peter

The issue was I placed all of the script code within the damage control and the new code did not verify whether it was a melee weapon or not.

peterb
May 5th, 2021, 21:27
Great! Thanks for the help!

/Peter

superteddy57
May 5th, 2021, 21:29
Thanks for the reports and information to find the rules in the book. I don't get to play BRP and any help to clarify rules is a huge help.

peterb
May 5th, 2021, 22:04
I noted that if you double click on a skill name the roll does not yield the level of success.

I implemented a fix by doing the following:

In record_char_skills.xml I inserted a script in the string field 'label':

<stringfield name="label">
<anchored height="20">
<left anchor="left" offset="15" />
<top anchor="top" offset="5" />
<right anchor="right" offset="-83" />
</anchored>
<font>sheetlabelmini</font>
<keyeditframe>
<name>shadelinesmall</name>
<offset>0,3,0,0</offset>
</keyeditframe>
<script>
function onDragStart(button, x, y, draginfo)
return window.action(draginfo);
end

function onDoubleClick(x, y)
window.rollDice();
end
</script>
<!-- lookup test -->
<lookup>Skills</lookup>
<script file="scripts/lookuphandler.lua"/>
</stringfield>

And then I changed three functions in charsheet_skilllistitem.lua:

function action(draginfo)
local nodeChar = windowlist.window.getDatabaseNode();
local rActor = ActorManager.resolveActor(nodeChar);

local rAction = {};
rAction.totalskill = total.getValue();
rAction.label = label.getValue();

ActionSkill.performRoll(draginfo, rActor, rAction);
return true;
end

function rollDice()
action();
end

function dragDice(button, x, y, draginfo)
if draginfo.getCustomData() then
--[[ nothing to do, already set up --]]
else
-- make this a special type to allow skill chances to change
draginfo.setType("BRPSkillRoll");
return action(draginfo);
end
end

It works for me, but of course there might be a better way of doing it.

/Peter

superteddy57
May 5th, 2021, 22:06
I noted that if you double click on a skill name the roll does not yield the level of success.

I implemented a fix by doing the following:

In record_char_skills.xml I inserted a script in the string field 'label':

<stringfield name="label">
<anchored height="20">
<left anchor="left" offset="15" />
<top anchor="top" offset="5" />
<right anchor="right" offset="-83" />
</anchored>
<font>sheetlabelmini</font>
<keyeditframe>
<name>shadelinesmall</name>
<offset>0,3,0,0</offset>
</keyeditframe>
<script>
function onDragStart(button, x, y, draginfo)
return window.action(draginfo);
end

function onDoubleClick(x, y)
window.rollDice();
end
</script>
<!-- lookup test -->
<lookup>Skills</lookup>
<script file="scripts/lookuphandler.lua"/>
</stringfield>

And then I changed three functions in charsheet_skilllistitem.lua:

function action(draginfo)
local nodeChar = windowlist.window.getDatabaseNode();
local rActor = ActorManager.resolveActor(nodeChar);

local rAction = {};
rAction.totalskill = total.getValue();
rAction.label = label.getValue();

ActionSkill.performRoll(draginfo, rActor, rAction);
return true;
end

function rollDice()
action();
end

function dragDice(button, x, y, draginfo)
if draginfo.getCustomData() then
--[[ nothing to do, already set up --]]
else
-- make this a special type to allow skill chances to change
draginfo.setType("BRPSkillRoll");
return action(draginfo);
end
end

It works for me, but of course there might be a better way of doing it.

/Peter

I'm ok with adding this feature, just wondering the chat output you are looking to have. Can you provide me an image of the output with your new code?

peterb
May 5th, 2021, 22:15
I'm ok with adding this feature, just wondering the chat output you are looking to have. Can you provide me an image of the output with your new code?

The first output is from double-clicking on the skill name and the second one after double-clicking on the skill value.
46389

/Peter

superteddy57
May 5th, 2021, 22:37
The first output is from double-clicking on the skill name and the second one after double-clicking on the skill value.
46389

/Peter

Ok, that makes more sense and is an easy add. I won't be using your code, but thank you for pointing me to the problem area. I will add it to the next weekly update.

peterb
May 12th, 2021, 15:45
Thanks for the fixes that were released yesterday.

However, something strange is going on with the missile damage bonus. See the image below. The chat windows message says it's rolling a 1d2 for the damage bonus but the actual dice used is 1d4.

46535

Basic Roleplaying: the Chaosium Roleplaying System (v2021-05-10)
Core RPG ruleset (v2021-05-11) for Fantasy Grounds

/Peter

superteddy57
May 12th, 2021, 16:01
Thanks for the fixes that were released yesterday.

However, something strange is going on with the missile damage bonus. See the image below. The chat windows message says it's rolling a 1d2 for the damage bonus but the actual dice used is 1d4.

46535

Basic Roleplaying: the Chaosium Roleplaying System (v2021-05-10)
Core RPG ruleset (v2021-05-11) for Fantasy Grounds

/Peter

That because it does a 1/2 dmg bonus roll. It should be rolling the 1d2, but I believe there is no 1d2 and uses the 1d4 instead to do it. I used what was used previously.

peterb
May 12th, 2021, 16:11
OK. But the intended range, when the damage bonus is 1d4, is 1 to 2 for missiles and as you can see in the image (case 1 and 3) it return both 3 and 4 and that is not supposed to happen. I also tested with a 1d6 damage bonus, where the range should be 1 to 3 but the rolled range is 1 to 6. I made very sure that the weapon type was "Missile" so that there would be no mix up.

This image is a screen-shot from the Old Basic Roleplaying ruleset:
46537

/Peter

superteddy57
May 12th, 2021, 16:22
Ah, ok. Sorry missed that. I'll see why it's not doing the other die types.

peterb
May 12th, 2021, 16:28
Ah, ok. Sorry missed that. I'll see why it's not doing the other die types.

Great, thanks!

billyorkfellz
May 17th, 2021, 00:40
Using Classic. Draging skills from the Alphabetical Skills List into the skills tab (for example, Firearm and Melee Weapon). The new additions do not stay in the character sheet after returning to launcher or exiting the program. I'd like to keep such skills both in the main tab and the skills tab, for accounting purposes. Thank you!

peterb
May 17th, 2021, 10:24
I can verify this behavior. I dragged "shield" and "martial arts" from the Alphabetical Skills List (in the rules module) to a character sheet in Classic, Unity and in a 2017 version of the ruleset. In all cases the "shield" skill was saved and stayed but "martial arts" did not. Do note there is a difference between the skills. Martial arts is a "sub-label" skill while "shield" is a "normal" skill. It would appear that sub-label skills that are dragged onto the character sheet are not properly stored or saved.

superteddy57
May 17th, 2021, 12:13
Ok, thank you for the report. I'll have a look and see what it is doing.

peterb
August 16th, 2021, 11:39
When you create a new skill and you have the skill category option turned on, you want to be able to set the skill category, but there is (currently) no way of doing this.

I read in an old changelog that you are supposed to be able to drag a skill from one category to another, but this doesn't work anymore. I tested it on an old version of the ruleset (from 2017), using Classic, and it works. It looks a bit odd, you drag two d10 (as if you where dragging a dice roll) and drop the dice on a new category, but it works. The feature that allowed dragging of skills to a new skill category was added in version 0.31.402. If you try and do the same in the current version on unity it does not work. You still drag dices but nothing happens. The current version behaves differently on classic. When you drag an existing skill in Classic, then you move the character sheet, and when you drag a new skill then you drag the name (but the skill is not moved to a new category).

It would be nice if the option to drag a skill (new or existing) to a new category could be re-implemented.

Another option would be to change what happens when you single or double click on the skill name. Currently a skill roll is performed. That could be changed so that the skill record is shown, then you could change the skill category that way. This is implemented in the CoC 7 ruleset, when you click on a skill name a skill form is opened. I see that a skill record form is included in the basic roleplaying ruleset but it seems like it's not used.

Anyhow, not being able to change the skill category makes it impossible to add new skills to the character sheet and that's a rather big problem (IMO).

/Peter

peterb
August 16th, 2021, 11:52
Some more investigations into why dragging skills that are sub-skills from the skill list to the character sheet doesn't work (see post #81 (https://www.fantasygrounds.com/forums/showthread.php?59713-Problems-Bugs-with-BRP&p=601005&viewfull=1#post601005) above).

In fact the handling of sub-label skills (skills that have a "father", such as Art, that can have many descendants) is not working properly. When you try and create a new sub-skill a whole new skill is created, and there's no way of making it become a sub-skill. The problem has been solved in the CoC rulesets. In those rulesets you can set the skill list in edit mode and click on a button and that way add descendants. For example, by clicking on a button labeled "Ln" you can create a new language sub-skill. But this means that you'll need one button per skill that can have sub-skills (and this may differ between the various basic roleplaying games...). The solution exists though so it should be doable.

/Peter

superteddy57
August 17th, 2021, 16:19
When you create a new skill and you have the skill category option turned on, you want to be able to set the skill category, but there is (currently) no way of doing this.

I read in an old changelog that you are supposed to be able to drag a skill from one category to another, but this doesn't work anymore. I tested it on an old version of the ruleset (from 2017), using Classic, and it works. It looks a bit odd, you drag two d10 (as if you where dragging a dice roll) and drop the dice on a new category, but it works. The feature that allowed dragging of skills to a new skill category was added in version 0.31.402. If you try and do the same in the current version on unity it does not work. You still drag dices but nothing happens. The current version behaves differently on classic. When you drag an existing skill in Classic, then you move the character sheet, and when you drag a new skill then you drag the name (but the skill is not moved to a new category).

It would be nice if the option to drag a skill (new or existing) to a new category could be re-implemented.

Another option would be to change what happens when you single or double click on the skill name. Currently a skill roll is performed. That could be changed so that the skill record is shown, then you could change the skill category that way. This is implemented in the CoC 7 ruleset, when you click on a skill name a skill form is opened. I see that a skill record form is included in the basic roleplaying ruleset but it seems like it's not used.

Anyhow, not being able to change the skill category makes it impossible to add new skills to the character sheet and that's a rather big problem (IMO).

/Peter

If you set up the skill in the "Skills" sidebar option, it will allow you to set the base and also the skill category for the new skill. Then you drag the link from the new skill or index window to the character sheet to add it to the sheet.
48734

I noticed while setting this up that the base won't transfer from the drop, but you can change it from the sheet for the mean time till I can fix that functionality. As for direct skill adds using the radial, it's not able to change the skill information due to no linkage from the sheet to the skill window. Subskills were setup as they currently are performing. If you hit enter on a sub skill of say Art, it will add another Art with a subskill able to type in the subskill label. No plans on expanding this at this time.

Both posts have some great ideas and will consider it for expansion of the ruleset.

peterb
August 17th, 2021, 16:54
Thanks superteddy57!

I did notice, just this afternoon, that there where some new buttons in the sidebar that I had not seen before due to my sidebar setup. ;) I have been fiddling with adding skills and it works fine. One way of adding new skills would be to create a new skill module, or even make a copy of the Game System module and add/edit skills (and professions, items etc.) that way. That would enable you to adapt the ruleset to a given setting. That's the path I will take, for now.

Thanks for the good work!

/Peter

peterb
September 8th, 2021, 16:42
The problem is that a mod does not modify the skill level as it should, instead it modifies the dice roll result which gives the wrong end effect. If you add, say -10, to the mod window and then make a skill roll, then the result of the dice roll is modified by -10. Which is wrong.

In BRP a mod, like -10, is intended to modify the target number, a skill level or ability roll level etc. So if you have a Dodge skill at 60% and you get a -10 modification, then your temporary effective Dodge skill is 50%. You roll against this new level with an un-modified d100. By changing the skill level, the chances of getting a fumble, a special or a critical result are also changed. They go up with a bonus and down with a malus.

Looking at desktop\scripts\modifierstack.lua I see no obvious way of modifying the target number. The skill roll mechanics in \scripts\manager_action_skill.lua, for example, does have a rRoll.nTarget variable that represents the target number but you have no connection to the modifier stack in that script.

I discovered this problem when I was coding a Physical Penalty mod that would affect all skills with a physical component. I managed to use the ModifierStack.addSlot function to add the mod to the modifier stack but the end result was not what I expected.

Any ideas on how to solve this problem?

/Peter

Moon Wizard
September 8th, 2021, 17:14
The modifiers window and the modifier stack on the desktop are a general system that applies to all game systems. It is specifically set up to modify the rolls; not to directly modify target numbers which would be a different kind of modifier.

If you flip the sign of the number for applying the modifier, then it should be equivalent to rolling with a reduced target number.

Regards,
JPG

Stollesson
September 9th, 2021, 19:41
Peterb you might want to look at the "easy" and "difficult" function instead, they work as you describe.

49074

peterb
September 10th, 2021, 06:05
Thanks Stollesson, I know of those :) I'm more concerned about all the other modifiers that are used in various BRP games, such as the latest incarnation of Runequest. I'll have to do some digging I guess.

EDIT: As I reread your comment I realize that by "you might want to look at the 'easy' and 'difficult' function instead" you might have meant that I'll investigate how they are implemented and work from there, which of course is spot on. Thanks.

peterb
September 11th, 2021, 12:45
The modifiers window and the modifier stack on the desktop are a general system that applies to all game systems. It is specifically set up to modify the rolls; not to directly modify target numbers which would be a different kind of modifier.

OK. Thanks.


If you flip the sign of the number for applying the modifier, then it should be equivalent to rolling with a reduced target number.


Unfortunately that is not correct. If you have a system where you only have success and failure as the possible outcomes of a dice roll, then it works, but BRP and its ancestor (RuneQuest) and its descendants (Call of Cthulhu, Stormbringer, Ringworld, and so on) all use five different success levels and their target numbers are based on the base target number (the chance to succeed). The target levels and how to calculate them are (from the best level of success to the worst): Critical success, calculated as 5% of the chance to succeed; Special success, calculated as 20% of the chance to succeed; Success, the base chance to success; Failure, a roll above the base target number; and Critical Failure (or Fumble), calculated as 5% of the chance to fail.

An example: A skill check roll for a skill with a skill level of 50 is a Critical Success at a roll between 01 to 03, the roll is a Special Success at a roll between 01 to 10 (but effectively from 04 to 10), the roll is Success if the roll is above 10 and equal to or below 50, the roll is a failure if then dice result is above 50, and the roll is a Critical failure if the roll is above 98 to 100.

If you add 25 to the dice result to make the chance of success smaller the you also make it impossible to get both a critical and a special success, and the chance of a Critical success increases from 3% to 28%. The entire system breaks. The same thing happens at the other end if you substract from the dice roll.

So, you see, applying modifiers to the skill levels is quite important to get the BRP system to work as intended. I've read on another forum and on Twitter that a RuneQuest ruleset is in the making. It's critical that you get modifications to work properly in the product, or else your customers are sure to complain.

For BRP, CoC and RuneQuest I would recommend that the modifier box is changed so that it affects the target number and not the dice result. We still need a way of affecting the dice results because there are, mostly from spells, modifications that affects weapon damage rolls. But they are not as frequent as skill level modifications.

/Peter

damned
September 11th, 2021, 13:53
OK. Thanks.



Unfortunately that is not correct. If you have a system where you only have success and failure as the possible outcomes of a dice roll, then it works, but BRP and its ancestor (RuneQuest) and its descendants (Call of Cthulhu, Stormbringer, Ringworld, and so on) all use five different success levels and their target numbers are based on the base target number (the chance to succeed). The target levels and how to calculate them are (from the best level of success to the worst): Critical success, calculated as 5% of the chance to succeed; Special success, calculated as 20% of the chance to succeed; Success, the base chance to success; Failure, a roll above the base target number; and Critical Failure (or Fumble), calculated as 5% of the chance to fail.

An example: A skill check roll for a skill with a skill level of 50 is a Critical Success at a roll between 01 to 03, the roll is a Special Success at a roll between 01 to 10 (but effectively from 04 to 10), the roll is Success if the roll is above 10 and equal to or below 50, the roll is a failure if then dice result is above 50, and the roll is a Critical failure if the roll is above 98 to 100.

If you add 25 to the dice result to make the chance of success smaller the you also make it impossible to get both a critical and a special success, and the chance of a Critical success increases from 3% to 28%. The entire system breaks. The same thing happens at the other end if you substract from the dice roll.

So, you see, applying modifiers to the skill levels is quite important to get the BRP system to work as intended. I've read on another forum and on Twitter that a RuneQuest ruleset is in the making. It's critical that you get modifications to work properly in the product, or else your customers are sure to complain.

For BRP, CoC and RuneQuest I would recommend that the modifier box is changed so that it affects the target number and not the dice result. We still need a way of affecting the dice results because there are, mostly from spells, modifications that affects weapon damage rolls. But they are not as frequent as skill level modifications.

/Peter


As has been pointed out several times CoC has not used the mechanic as you describe for 7 years now.

peterb
September 11th, 2021, 14:18
As has been pointed out several times CoC has not used the mechanic as you describe for 7 years now.

And? Previous versions of CoC did, RuneQuest and BRP still do. The problem doesn't go away just because CoC7 has introduced a new mechanic, and besides what stops a CoC7 GM from using older mechanics? And, skill modifications in CoC7 works exactly as I describe. They modify the skill level not the dice result.

damned
September 11th, 2021, 14:46
And? Previous versions of CoC did, RuneQuest and BRP still do. The problem doesn't go away just because CoC7 has introduced a new mechanic, and besides what stops a CoC7 GM from using older mechanics? And, skill modifications in CoC7 works exactly as I describe. They modify the skill level not the dice result.

Except that they really dont.

damned
September 13th, 2021, 23:51
Im not the dev for BRP but I submitted an update for the skill rolls to make modifiers adjust the TN (skill). I dont know how long it will take to land as Moon Wizard has a bunch of other updates for BRP he is working on.

peterb
September 14th, 2021, 07:11
Many thanks! Much appreciated!

Trenloe
September 14th, 2021, 19:38
And? Previous versions of CoC did, RuneQuest and BRP still do. The problem doesn't go away just because CoC7 has introduced a new mechanic, and besides what stops a CoC7 GM from using older mechanics? And, skill modifications in CoC7 works exactly as I describe. They modify the skill level not the dice result.
Changes shouldn't be made to the base CoC 7e system based off an individual's interpretation of what a GM might want to do outside of the rules; if someone is house ruling they could equally want to adjust the dice roll rather than the target number. Assumptions should not be made based off previous rule versions - designs change with new versions. As has been mentioned in the CoC thread you started: RAW for CoC 7e is there are no numerical modifiers to skill target numbers - doubling/halving and bonus/penalty dice handle difficulty changes. As such the CoC 7e ruleset shouldn't be changed to introduce a mechanic from a previous version that isn't there in 7e.

Now, CoC 6e is a slightly different story - although there's only one mention of a modifier actually changing a skill check target number (drive roll modifiers on page 285 of the 6e rulebook), other modifiers in the 6e rulebook halve/double/x3 etc. - but there is the rule there (in 6e) to apply modifiers to the target number - so the FG CoC 6e ruleset could handle modifiers differently.


... and besides what stops a CoC7 GM from using older mechanics?
Nothing is stopping them - they'll just have to handle it manually, like most house rules.

So, to ammend your statement from earlier (which @damned and I have been responding to) - bold addition is my recommended amendment to clarify which FG official CoC ruleset this applies to:


For BRP, CoC 6e and RuneQuest I would recommend that the modifier box is changed so that it affects the target number and not the dice result. We still need a way of affecting the dice results because there are, mostly from spells, modifications that affects weapon damage rolls. But they are not as frequent as skill level modifications.

damned
September 15th, 2021, 01:05
Ive submitted an update to 6E and BRP that will support that but Im not sure when they will go live.

Moon Wizard
September 15th, 2021, 05:26
It will be awhile yet, and they will be included in the next beta test for ruleset changes.

Regards,
JPG

peterb
September 18th, 2021, 20:17
Sounds great! Any idea of when they go into beta test? I could try them out in the Dev channel, right?

Moon Wizard
September 18th, 2021, 23:48
No, the beta test is not ready yet, as I am still working on some new features. It is also likely to be in beta testing for 4-6 weeks once it starts.

Regards,
JPG

peterb
September 19th, 2021, 12:00
OK. Thanks for the info. Btw, I didn't express myself so clearly, what I meant to say was that when these changes go into beta, then I might be able to test them in some test channel. Sorry if I sounded a bit pushy.

GusRPG
December 10th, 2021, 20:47
Hi everyone, I just bought the BRP Ruleset. When I press the info button of the ·grapple· default melee attack Im receiving the following error in the console:

[12/10/2021 5:39:01 PM] [ERROR] windowcontrol: Database type mismatch on path (notes) in control (notes) in class (equipment_main)
[12/10/2021 5:39:01 PM] [ERROR] Script execution error: [string "equipment_main"]:33: attempt to index global 'notes' (a nil value)

I guess its only aesthetic, Im not having other errors in the other info buttons of the weapons/attacks.
Thanks

superteddy57
December 10th, 2021, 21:57
Thank you for the report. I will take a look and see if I can replicate.

superteddy57
December 11th, 2021, 00:47
Hi everyone, I just bought the BRP Ruleset. When I press the info button of the ·grapple· default melee attack Im receiving the following error in the console:

[12/10/2021 5:39:01 PM] [ERROR] windowcontrol: Database type mismatch on path (notes) in control (notes) in class (equipment_main)
[12/10/2021 5:39:01 PM] [ERROR] Script execution error: [string "equipment_main"]:33: attempt to index global 'notes' (a nil value)

I guess its only aesthetic, Im not having other errors in the other info buttons of the weapons/attacks.
Thanks

Yes the intention were for those to be invisible for those innate abilities as they don't link to a weapon. I will work on getting those to no display for the brawl and grapple attacks

GusRPG
December 11th, 2021, 05:41
Thanks ST for your quick response and work on the Ruleset!

peterb
December 19th, 2021, 20:53
Hi!

While testing the newly released updated ruleset I ran into a problem with the NPC record sheet. After dragging an NPC from the Library module list of creatures on to a story or a new encounter, I cannot turn of the read-only mode. Regardless of how I click the padlock icon nothing happens. I tried doing the same thing in the 5E ruleset and noticed that I could unlock a NPC after I dragged it to a Story but not when I dragged it directly to an Encounter. IN BRP neither works. When dropped into the CT it becomes possible to unlock the NPC and make it editable, however often you'll want to edit the NPC before dropping it onto the CT.

This is how the NPC sheet looks like.
50478

This is how it looks in the CT, when the read-only has been turned off:
50479

I also get two warnings in the console, supplied below:
[12/19/2021 9:02:19 PM] [WARNING] windowcontrol: Could not find frame (groupsheet) in control (abilitylist) in class (npc_main)
[12/19/2021 9:02:33 PM] [WARNING] windowcontrol: Could not find frame (control) in control (methoddropdown_list) in class (npc_combat)

I wrote about this problem back in March (https://www.fantasygrounds.com/forums/showthread.php?59713-Problems-Bugs-with-BRP&p=587687&viewfull=1#post587687) (item b). The first of the error messages that I now get where also present in March.

Tested with a new campaign, no extensions loaded. This is the log:
12/19/2021 9:01:41 PM] FGU: v4.1.12 ULTIMATE (2021-11-10)
[12/19/2021 9:01:41 PM] OS: Windows 10 (10.0.19043) 64bit
[12/19/2021 9:01:41 PM] GRAPHICS: NVIDIA GeForce GTX 1060 6GB : 6052
[12/19/2021 9:01:41 PM] UI SCALE: 1
[12/19/2021 9:01:41 PM] USER: peterb
[12/19/2021 9:01:41 PM] Launcher scene starting.
[12/19/2021 9:01:48 PM] Starting private server mode. [(192.168.42.145:1802) (::1:1802)]
[12/19/2021 9:01:48 PM] Game server started. [192.168.42.145:1802]
[12/19/2021 9:01:48 PM] Launcher scene exiting.
[12/19/2021 9:01:48 PM] Tabletop scene starting.
[12/19/2021 9:01:48 PM] NETWORK STATUS: [Server] [Connected] [Server Type - LAN]
[12/19/2021 9:02:01 PM] MEASURE: RULESETS LOAD - 12437.1732 - Basic Roleplaying
[12/19/2021 9:02:01 PM] MEASURE: EXTENSIONS LOAD - 1.0001 - 0
[12/19/2021 9:02:03 PM] MEASURE: MODULE LIST BUILD - 2176.0847 - 76
[12/19/2021 9:02:03 PM] MEASURE: REFRESH IMAGE ASSETS - 290.6327
[12/19/2021 9:02:03 PM] MEASURE: REFRESH PORTRAIT ASSETS - 12.9926
[12/19/2021 9:02:03 PM] MEASURE: REFRESH TOKEN ASSETS - 183.8904
[12/19/2021 9:02:03 PM] MEASURE: ASSET LIST BUILD - 488.5152
[12/19/2021 9:02:05 PM] MEASURE: LOAD - PART 1 - 16402.5458
[12/19/2021 9:02:06 PM] MEASURE: MODULE LOAD - 661.965 - BRP Game System X
[12/19/2021 9:02:06 PM] MEASURE: MODULE LOAD - 334.7955 - BRP Gamemaster Guide
[12/19/2021 9:02:08 PM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (v2021-11-15)
[12/19/2021 9:02:08 PM] RULESET: Core RPG ruleset (v2021-11-15) for Fantasy Grounds Copyright 2021 Smiteworks USA, LLC
[12/19/2021 9:02:08 PM] MEASURE: LOAD - PART 2 - 3080.5743

/Peter

Moon Wizard
December 19th, 2021, 21:29
Dragging the link from the NPC sheet to a story/encounter does not make a copy of the NPC; but points to the original copy of the NPC which is read-only for core rulebooks. (That's what the red lock means, that the record you have opened is pointing towards a read-only core source book.)

If you want to make an editable copy, open the NPC list and the NPC, then drag the NPC link back onto the NPC list to make a local campaign copy that can then be edited. When you drag to the combat tracker, a copy of each NPC is made, so that individual wounds, effects and other changes can be made during combat.

The warnings in the console should not have any impact.

Regards,
JPG

peterb
February 24th, 2022, 13:06
I'm using BRP and CoreRPG versions from 2022-01-04. I'm also using FGU. The campaign does not load any extensions and uses the default theme.

There's something fishy going on with weapon skills. The sub-label disappears when you reload the campaign. It looks good in the DB but on skill tab the sub-label isn't shown. Other skills, like craft and repair, doesn't behave like this. They remain they way they where even after saving and then reloading the campaign. One observation is that Craft and Repair are default skills and Melee and Missile Weapon are not. I recall that the character sheet code runs thru all default skills when you open the skills tab. Maybe the sublabels are checked when the default skills are checked but for skills that you have added the sublabels are not checked?

See the screen-shot I have appended to this post.
51646

Here's the relevant section of the db.xml file:

<id-00051>
<base type="number">25</base>
<basetext type="string">var</basetext>
<catname type="string">Combat</catname>
<label type="string">Melee Weapon</label>
<skilltype type="number">3</skilltype>
<spent type="number">25</spent>
<state type="number">0</state>
<sublabel type="string">Club</sublabel>
<total type="number">55</total>
</id-00051>
<id-00052>
<base type="number">5</base>
<basetext type="string">var</basetext>
<catname type="string">Combat</catname>
<label type="string">Missile Weapon</label>
<skilltype type="number">3</skilltype>
<spent type="number">25</spent>
<state type="number">0</state>
<sublabel type="string">Sling</sublabel>
<total type="number">35</total>
</id-00052>
<id-00053>
<base type="number">15</base>
<basetext type="string">15</basetext>
<catname type="string">Manipulation</catname>
<label type="string">Repair</label>
<skilltype type="number">1</skilltype>
<spent type="number">0</spent>
<state type="number">0</state>
<sublabel type="string">Watermills</sublabel>
<total type="number">20</total>
</id-00053>
<id-00056>
<base type="number">5</base>
<basetext type="string">05</basetext>
<catname type="string">Manipulation</catname>
<label type="string">Craft</label>
<skilltype type="number">1</skilltype>
<spent type="number">0</spent>
<state type="number">0</state>
<sublabel type="string">Carpentry</sublabel>
<total type="number">10</total>
</id-00056>

Added new information 2022-02-28

peterb
March 4th, 2022, 13:41
In fact there's a wider problem with sublabels. They are not used in the description of the skill roll. This can be verified by entering "Horse" on the sublabel for the "Ride" skill and then making a skill check. The text in the chat will only read "[SKILL] Ride check" instead of "[SKILL] Ride Horse check". If you got multiple ride skills (or knowledge or repair etc.) this will be a problem.

/Peter

Moon Wizard
March 4th, 2022, 19:29
This should be fixed with the hot fix I just pushed for the dice strings as well.

Regards,
JPG

peterb
May 8th, 2022, 20:38
Hi everyone, I just bought the BRP Ruleset. When I press the info button of the ·grapple· default melee attack Im receiving the following error in the console:

[12/10/2021 5:39:01 PM] [ERROR] windowcontrol: Database type mismatch on path (notes) in control (notes) in class (equipment_main)
[12/10/2021 5:39:01 PM] [ERROR] Script execution error: [string "equipment_main"]:33: attempt to index global 'notes' (a nil value)

I guess its only aesthetic, Im not having other errors in the other info buttons of the weapons/attacks.
Thanks

Yes the intention were for those to be invisible for those innate abilities as they don't link to a weapon. I will work on getting those to no display for the brawl and grapple attacks

@superteddy57: How did you solve this problem? In one of my campaign extensions I have three default combat skills: Fist, Grapple and Kick, and I would like to get rid of the info button for those skills.

Thanks,
Peter

peterb
May 8th, 2022, 20:54
Never mind, I found it.

I had overridden charsheet_weaponlist.lua and my copy was rather old. I found the change you made and added it and then the problem was solved.

/Peter

superteddy57
May 8th, 2022, 21:46
Great to hear. Sorry I couldn't respond quicker.

peterb
May 24th, 2022, 11:15
I'm using BRP and CoreRPG versions from 2022-01-04. I'm also using FGU. The campaign does not load any extensions and uses the default theme.

There's something fishy going on with weapon skills. The sub-label disappears when you reload the campaign. It looks good in the DB but on skill tab the sub-label isn't shown. Other skills, like craft and repair, doesn't behave like this. They remain they way they where even after saving and then reloading the campaign. One observation is that Craft and Repair are default skills and Melee and Missile Weapon are not. I recall that the character sheet code runs thru all default skills when you open the skills tab. Maybe the sublabels are checked when the default skills are checked but for skills that you have added the sublabels are not checked?

See the screen-shot I have appended to this post.
51646

Here's the relevant section of the db.xml file:

<id-00051>
<base type="number">25</base>
<basetext type="string">var</basetext>
<catname type="string">Combat</catname>
<label type="string">Melee Weapon</label>
<skilltype type="number">3</skilltype>
<spent type="number">25</spent>
<state type="number">0</state>
<sublabel type="string">Club</sublabel>
<total type="number">55</total>
</id-00051>
<id-00052>
<base type="number">5</base>
<basetext type="string">var</basetext>
<catname type="string">Combat</catname>
<label type="string">Missile Weapon</label>
<skilltype type="number">3</skilltype>
<spent type="number">25</spent>
<state type="number">0</state>
<sublabel type="string">Sling</sublabel>
<total type="number">35</total>
</id-00052>
<id-00053>
<base type="number">15</base>
<basetext type="string">15</basetext>
<catname type="string">Manipulation</catname>
<label type="string">Repair</label>
<skilltype type="number">1</skilltype>
<spent type="number">0</spent>
<state type="number">0</state>
<sublabel type="string">Watermills</sublabel>
<total type="number">20</total>
</id-00053>
<id-00056>
<base type="number">5</base>
<basetext type="string">05</basetext>
<catname type="string">Manipulation</catname>
<label type="string">Craft</label>
<skilltype type="number">1</skilltype>
<spent type="number">0</spent>
<state type="number">0</state>
<sublabel type="string">Carpentry</sublabel>
<total type="number">10</total>
</id-00056>

Added new information 2022-02-28

I have now looked deeper at this problem. The problem is that all non custom skills have their skill type reset to 3, meaning that any sublabels are ignored. In the function checkdefaultskills() in campaign\scripts\charsheet_skilllist.lua all skills are checked and if their skill type is not "custom" then the skill type is set to "ignore". This means that the sublabels of all non custom skills (that have sublabels) become invisible. That used to work fine when you couldn't drag a new skill onto the character sheet, you had to create a new skill if you wanted to add a non-default skill, and then the skill type would be set to "custom". Nowadays when non default skills can be dragged onto the sheet, the code creates troubles. New skills are not treated as custom. Today it's better to drag skills than create new ones, especially if you use skill categories, because it's is not possible to set the skill category of a new skill.

I don't think the code in bold red below, is needed anymore. Removing it solved the problem, at least for me.


function checkdefaultskills()
-- create default skills
local skilldata = LineManager.getLine().Skills;
local winlist = {};

for k, w in pairs(getWindows()) do
if w.getClass()=="charsheet_skill" then
local label = w.label.getValue();
local type = w.skilltype.getValue();
if type >= SkillType.NoCheck then
type = type - SkillType.NoCheck;
end
if type~= SkillType.Custom then
w.skilltype.setValue(SkillType.Ignore);
end
if skilldata[label] then
if winlist[label] then
table.insert(winlist[label], w);
else
winlist[label] = { w };
end
end
end
end

...

superteddy57
May 24th, 2022, 17:00
I'm happy to look over your findings and see if integrating them will become an issue. This will take some time testing the outcome and see if it has any ill effects.

peterb
May 24th, 2022, 19:55
OK. Thanks!

peterb
September 6th, 2022, 18:24
This error was reported and fixed in may 2021 (https://www.fantasygrounds.com/forums/showthread.php?59713-Problems-Bugs-with-BRP&p=598386&viewfull=1#post598386), it has now re-emerged. The easiest way to reproduce the error is to create a new vanilla campaign. Then create a new character. Set its STR to 13 and SIZ to 13. The character should now have a damage bonus of +1d4. Now add a missile weapon. Check the DB field. Roll damage, it will get the full DB, which it should not. It should be half the DB. For a 1d4 it should be 1d2, etc.

See current output:
54225

superteddy57
September 6th, 2022, 18:56
A fix is pushed for when the current TEST version goes LIVE.

peterb
September 6th, 2022, 19:26
A fix is pushed for when the current TEST version goes LIVE.

Great! Thanks.

peterb
September 6th, 2022, 20:12
I'm afraid there's also a problem with missile weapon damage bonuses. They are ignored for NPCs.
54226
54230

peterb
September 8th, 2022, 11:41
I'm afraid there's also a problem with missile weapon damage bonuses. They are ignored for NPCs.
54226
54230

Thanks for fixing this in the latest update.

peterb
September 8th, 2022, 11:58
Just noticed that NPC hit location data is not parsed correctly. Also, the armor points are not properly parsed. I'm pretty certain that all this once worked. Screen-shots below:

54249
54250

The data in the "Calc" column is correctly calculated, it's just not the right data for that column. It's HP per hit location. It should be input to a calculation formula. For example, for a humanoid it should be "1/3" for a leg, "1/4" for an arm and "0.4" for the chest. I'm also think that the armor data was parsed and correctly inserted into the AP column, but here I might remember wrong.

superteddy57
September 8th, 2022, 13:42
Does this look right?
54251

peterb
September 8th, 2022, 16:07
Sorry, no it doesn't. The image below is a screen-shot from excel.

54254

The data is retrieved from the table "HitLocationTemplates" in scripts/manager_gameline.lua

superteddy57
September 8th, 2022, 17:31
I was referring to the amount of the HP being calculated to be sure it was outputting as expected from the data within the ruleset. I see that from your screenshot. The issue here is the column headers were incorrect as you pointed out. I adjusted the headers to match the controls underneath them and ensured they match.

peterb
September 9th, 2022, 07:18
I was referring to the amount of the HP being calculated to be sure it was outputting as expected from the data within the ruleset. I see that from your screenshot. The issue here is the column headers were incorrect as you pointed out. I adjusted the headers to match the controls underneath them and ensured they match.

I noticed that this is now fixed in the test channel. Thanks!

sirkerry
February 18th, 2023, 21:15
Got a couple of issues with the BRP ruleset, one is a cosmetic nitpick, the other is very annoying to me (especially since I like using encumbrance systems in my games).

1. 56254
When Use Fatigue, Use Power Points, and Use Sanity are enabled in Options | House Rules, the field for the Max value of those characteristics appears to be set in relation to the right edge of the Main tab rather than in relation to the left edge of the value label Max for them. I know this is a nitpick, but I find it very distracting.

2. 56255
The Inventory tab is a bit broken. BRP doesn't use Weight, it's items have Encumbrance, which the when you view an item shows. However on the Inventory tab, the Wt column should be showing as ENC instead and should population with the Encumbrance value from the item. Also the Total weight carrier should be Total Encumbrance. Also I'm not sure what the label Armor is supposed to be doing, but even when armor type item is equipped it doesn't change, so I suspect it's broke also.

superteddy57
February 18th, 2023, 21:43
As the oldest system in the catalog it certainly shows it's age. The ruleset is as is in terms of features. The encumbrance system is the same when the system launched on the platform. As the system doesn't have a dedicated developer it's in a maintenance mode that means keeping it running with the CoreRPG latest updates and resolving those bugs from them. What you've presented will go on my list of things to investigate, but look to be more in line with feature requests to expand the current functionality. Which may or may not be addressed in the near future.

I can as a quick fix adjust the label Wt to Enc and see if I can adjust the anchoring to be a bit more accommodating to the window size changing.

sirkerry
February 20th, 2023, 05:28
As the oldest system in the catalog it certainly shows it's age. The ruleset is as is in terms of features. The encumbrance system is the same when the system launched on the platform. As the system doesn't have a dedicated developer it's in a maintenance mode that means keeping it running with the CoreRPG latest updates and resolving those bugs from them. What you've presented will go on my list of things to investigate, but look to be more in line with feature requests to expand the current functionality. Which may or may not be addressed in the near future.

I can as a quick fix adjust the label Wt to Enc and see if I can adjust the anchoring to be a bit more accommodating to the window size changing.

I hear/see what you're saying, but nowhere on the store page to purchase the Basic Roleplaying ruleset for FGU do I see it state anywhere that the ruleset is 'as is in terms of features', but, I would argue that the encumbrance/weight disconnect in the ruleset (the items don't have a weight stat, instead have an encumbrance stat, but the Inventory tab is looking for a weight stat instead of encumbrance) is a defect in the product code that should be fixed and not a request for a new feature to expand current functionality, but instead a request to fix an implied basic functionality expected by a purchaser in a FGU ruleset for a game that has an encumbrance system (an experience formed by the purchase of several other rulesets).

damned
February 20th, 2023, 05:45
For the (bhag) $5/month revenue it generates I dont think you are going to get any updates of that size.

superteddy57
February 20th, 2023, 10:31
I hear/see what you're saying, but nowhere on the store page to purchase the Basic Roleplaying ruleset for FGU do I see it state anywhere that the ruleset is 'as is in terms of features', but, I would argue that the encumbrance/weight disconnect in the ruleset (the items don't have a weight stat, instead have an encumbrance stat, but the Inventory tab is looking for a weight stat instead of encumbrance) is a defect in the product code that should be fixed and not a request for a new feature to expand current functionality, but instead a request to fix an implied basic functionality expected by a purchaser in a FGU ruleset for a game that has an encumbrance system (an experience formed by the purchase of several other rulesets).

Thanks for the response and as I said, I will have this on my list to look over and see what would be involved in adjusting that.

sirkerry
February 21st, 2023, 04:57
For the (bhag) $5/month revenue it generates I dont think you are going to get any updates of that size.

Maybe, heck, even most likely, but I don't know if I don't ask.

sirkerry
February 21st, 2023, 04:58
Thanks for the response and as I said, I will have this on my list to look over and see what would be involved in adjusting that.

Thank you.

IrishSpider
April 14th, 2023, 21:33
Hello,

I am trying to figure out why the combat tracker follows Dex instead of SR (Which it doesn't seem to fill). Is there a setting I am missing?

Appreciate it.

superteddy57
April 14th, 2023, 21:40
It's never sorted by SR from my memory of the code. It's always been DEX based. I'm not also able to locate any options from the original developer to sort it by SR.

superteddy57
April 14th, 2023, 22:31
Would adding the ability to sort the combat tracker by SR and calculate a base SR be sufficient for your case? I can add a global option to turn it on and off to change the sort from the Dex box to the SR box. The SR box won't auto populate or adjust automatically, but can add a combat tracker menu option to calculate the base SR. Would this help?

peterb
April 16th, 2023, 16:25
Problem with hit-location rolls

Re-posted from the BRP discord channel.

Last session my gaming group noticed that all hit locations rolls were made on the missile hit location table. It didn’t matter whether you held down the shift key, all rolls where on the missile hit location table. I double-checked on a new vanilla BRP campaign, and the error persists.

The error can be verified by making a few hit-location rolls. You are likely to soon get faulty results.

The code in /scripts/manager_gameline.lua haven’t changed for ages, so that’s not the source of the error. I also tried to override the 'roll hit-location' code and remove Input.isShiftPressed(), but that didn’t have any effect at all. So, I’m a bit puzzled, what could cause this error?

peterb
April 16th, 2023, 16:34
Would adding the ability to sort the combat tracker by SR and calculate a base SR be sufficient for your case? I can add a global option to turn it on and off to change the sort from the Dex box to the SR box. The SR box won't auto populate or adjust automatically, but can add a combat tracker menu option to calculate the base SR. Would this help?

Unfortunately no. The effective SR is calculated using the actors DEX and SIZ as well as the SR of the active weapon. I've seen traces of SR handling in the code (or at least there where there back in 2009-10) but I understand why it was never fully implemented. Passing on the SR of the currently used weapon is (or was at the time) not trivial. The problem must have been solved by the Author of the upcoming Runequest ruleset, since otherwise that ruleset wouldn't be working correctly.

So, while I would be very happy if SR's where implemented in full, I understand that doing so is not trivial. Also it has never worked so it would not be a bug correction, but a new feature, so I'll understand if Smiteworks have better things to spend their time on.

superteddy57
April 16th, 2023, 18:03
Problem with hit-location rolls

Re-posted from the BRP discord channel.

Last session my gaming group noticed that all hit locations rolls were made on the missile hit location table. It didn’t matter whether you held down the shift key, all rolls where on the missile hit location table. I double-checked on a new vanilla BRP campaign, and the error persists.

The error can be verified by making a few hit-location rolls. You are likely to soon get faulty results.

The code in /scripts/manager_gameline.lua haven’t changed for ages, so that’s not the source of the error. I also tried to override the 'roll hit-location' code and remove Input.isShiftPressed(), but that didn’t have any effect at all. So, I’m a bit puzzled, what could cause this error?

Please provide me with more step by step processes to replicate. I'm just not able to replicate it with rolling on the armor tab.

peterb
April 16th, 2023, 18:42
From the chat log:
Basic Roleplaying: the Chaosium Roleplaying System (2023-02-21) Copyright 2023 Smiteworks USA, LLC
Core RPG ruleset (2023-03-07) for Fantasy Grounds Copyright 2023 Smiteworks USA, LLC

Steps to re-create. Roll a series of hit-location rolls, you probably need to roll twenty or so.

See the image provided, for examples:
57069

The first roll a 16 is not aright arm roll on the melee hit location table, its a left arm roll. And the last roll is not a chest hitlocation roll. On the melee table only a 12 hits the chest. These results are from the missile hit location table, even though I didn't press shift when I made the rolls.

Added:
Just to make sure that this is not a problem with my FG installation, I installed FG on a secondary PC and created a new BRP campaign. The problem remains.

superteddy57
April 16th, 2023, 18:51
Are these all performed using the hit location button on the main tab? The armor tab button or double clicking on the hit location column strings?

superteddy57
April 16th, 2023, 21:42
With the next update I will have an option to show the SR column on the combat tracker and allow it to be sorted by the SR number in those. The number calculated will be the base calculation of DEX + SIZ modifiers. As adding in the weapon modifier will require a lengthy development cycle, it won't be collected and calculated. The GM would need to adjust it by hand to add that in, but this will at least set the base DEX/SIZ calculation as a quicker start point. It should be off by default to keep with the standard process that is currently in place. I think this being made available for those that wish to use it will be fine and help enhance those games. It's not a full feature expansion, but just plugging in those parts that are there and providing more help to those that use the option.

As per your hit location report, I was able to see a disconnect and have found a solution for that as well. I will also add in a new chat output that will indicate if the missile table is being used instead of the melee one. I believe prior to my fix the work around would be to double click on the text of the table on the armor tab you would like to roll on till this is available with the next weekly update.

peterb
April 16th, 2023, 23:46
Are these all performed using the hit location button on the main tab? The armor tab button or double clicking on the hit location column strings?

I used the one on the armor tab for these examples, but I have done the same test from the main tab, same result.

peterb
April 16th, 2023, 23:51
As per your hit location report, I was able to see a disconnect and have found a solution for that as well. I will also add in a new chat output that will indicate if the missile table is being used instead of the melee one. I believe prior to my fix the work around would be to double click on the text of the table on the armor tab you would like to roll on till this is available with the next weekly update.

The chat output already shows when a roll on the missile table is done: "hit location (missile) -> Left Arm", so no need to spend time on that.

Stollesson
April 17th, 2023, 18:39
I mostly use the automatic hit location when you use targeting.
And I hope that it's using the right table because it don't show in the chat window.

57080

peterb
April 28th, 2023, 09:52
On the automatic calculation of total weight


I hear/see what you're saying, but nowhere on the store page to purchase the Basic Roleplaying ruleset for FGU do I see it state anywhere that the ruleset is 'as is in terms of features', but, I would argue that the encumbrance/weight disconnect in the ruleset (the items don't have a weight stat, instead have an encumbrance stat, but the Inventory tab is looking for a weight stat instead of encumbrance) is a defect in the product code that should be fixed and not a request for a new feature to expand current functionality, but instead a request to fix an implied basic functionality expected by a purchaser in a FGU ruleset for a game that has an encumbrance system (an experience formed by the purchase of several other rulesets).
Thanks for the response and as I said, I will have this on my list to look over and see what would be involved in adjusting that.

Thanks for the response and as I said, I will have this on my list to look over and see what would be involved in adjusting that.

The problem is not in the code as sirkerry notes, but in the XML-files. If you enter items and their weight manually everything works as expected. I did a quick test and replaced
<encumbrance type='string'>0.5</encumbrance> with
<weight type='number'>0.5</weight> in client.xml in the module BRPGameSystem. I had to edit some values, e.g. missile weapons had both the weight of the missile weapon and the weight of the ammunition in the encumbrance field. But, after that change the automatic handling of weights also worked for items dragged from the equipment lists.

If you know your way around XML-files and how to package module files in FG then you can do the change yourself. I suspect Smitheworks need permission from Chaosium before they can do a change to the XML-files and ship updated ones. But, as I said, the solution is not complicated nor time consuming to implement.

peterb
May 9th, 2023, 14:57
When clicking on the link to the table of armors, located in the list of frequently used tables, I get an error message in the console: "[5/9/2023 3:36:03 PM] [ERROR] Script execution error: [string "W:reference_armor"]:21: attempt to index global 'content' (a nil value)". I get the same error when clicking on the link to the table of shields. As the error message suggests, the variable "content" doesn't exists. I don't know how long this error has been in the code, it was a while since I clicked on these links. Any suggestions on how to fix this?

I have used a vanilla campaign with no extensions, standard theme.
[5/9/2023 3:35:43 PM] RULESET: Basic Roleplaying: the Chaosium Roleplaying System (2023-04-17) Copyright 2023 Smiteworks USA, LLC
[5/9/2023 3:35:43 PM] RULESET: Core RPG ruleset (2023-04-25) for Fantasy Grounds Copyright 2023 Smiteworks USA, LLC

See attached image:
57310

The relevant code is in ref/ref_basicclasses.xml, in the windowclass "reference_armor"

local catlist = {};
local catcount = 0;
local entcount = 0;

function onInit()
local src = DB.getValue(getDatabaseNode(), "source", "");
local source = nil;
local w,h;
if super and super.onInit then
super.onInit();
end
if src and src~="" then
source = DB.findNode(src);
for _,node in ipairs(DB.getChildList(source)) do
if DB.getValue(node, "equipmenttype", "") == "Armor" then
local catname = DB.getValue(node, "catname");
local win = catlist[catname];
if not win then
catcount = catcount + 1;
win = content.createWindow();
catlist[catname] = win;
win.name.setValue(catname);
end
win.content.createWindow(node);
entcount = entcount + 1;
end
end
content.applySort();
w = getSize();
h = catcount*29 + entcount*15 + 61;
setSize(w,h);
end
end

superteddy57
May 9th, 2023, 16:28
MOD: Moved to Bug report thread. I will have a look over what you've found. Might not be ready for today's update push.

peterb
May 13th, 2023, 15:18
Thanks for looking into this.

I did some digging in my backed-up editions of the ruleset. The current look and feel for table item first appeared in 2021-09-11. Table item are now drag-and-droppable to the inventory tab. But the current error message for armor and shields also first appear here. In the previous edition, just a few days earlier, 2021-09-08, the old look and feel still reigned. Weapon, armor and shield content are shown, but they can't be dragged to the inventory, nor is the list scrollable, and the link icons use a D&D style icon. So, there was a codebase change in September 2021 that introduced the current state.

Hope this helps.

peterb
May 13th, 2023, 15:55
There is a windowlist called 'content' but it's located in another windowclass "reference_armor_category". So, when in onInit in windowclass "reference_armor" the code makes are reference to 'content' it's out of scope, and that's why we get the error message.

Code in made bold by me.


function onInit()
local src = DB.getValue(getDatabaseNode(), "source", "");
local source = nil;
local w,h;
if super and super.onInit then
super.onInit();
end
if src and src~="" then
source = DB.findNode(src);
for _,node in ipairs(DB.getChildList(source)) do
if DB.getValue(node, "equipmenttype", "") == "Armor" then
local catname = DB.getValue(node, "catname");
local win = catlist[catname];
if not win then
catcount = catcount + 1;
win = content.createWindow();
catlist[catname] = win;
win.name.setValue(catname);
end
win.content.createWindow(node);
entcount = entcount + 1;
end
end
content.applySort();
w = getSize();
h = catcount*29 + entcount*15 + 61;
setSize(w,h);
end
end


Proper referencing always confuses me in FG. In this case we have a function that tries to reference a named item in another windowclass:


windowclass A
function
windowclass B
item

So how do you do the proper referencing?

Moon Wizard
May 14th, 2023, 01:10
I just pushed a fix to address the script error in reference_armor. Both content.createWindow and content.applySort were pointing at the wrong control; it should be list.createWindow and list.applySort. I've checked in a change that I think should fix, but I'm not familiar with where to pull up that list.

Can you run a new Check for Updates and verify whether that fixes the issue for reference_armor, or walk me through the steps to find that list with the included data?

Thanks,
JPG

peterb
May 14th, 2023, 02:09
The change did indeed fix, at least one part of the problem. The list of armors is now properly displayed.

Two issues remain:

a) The armor items are not drag-and-droppable, like weapons are.
b) The same fix needs to be applied to reference_shields as well, since it has the same problem.

Thanks for looking into the problem and providing a fix.

peterb
May 14th, 2023, 02:22
When I review the code, I see that you have in fact changed the code in reference_shields. But I still get an error message, as before, about 'content' being a nil value when clicking on the link to "Shields".

Moon Wizard
May 14th, 2023, 02:50
Ok, good catch on the other equipment types (I should have checked for similar issues in that file), as well as the items not being able to be dragged and dropped. I've added fixes for each of those items in a new build, if you want to run a new Check For Updates to take a look.

This is our oldest ruleset we still sell, and it doesn't have a dedicated developer any more (moved on long ago). So, we're still trying to maintain to keep it working with Core features, and fix any bugs reported. Thanks for your help figuring them out.

Regards,
JPG

peterb
May 14th, 2023, 11:43
All items in the tables are now shown as expected and they are all drag and droppable. Even items in my homemade modules that wasn't working before.

Many thanks for this update!

/Peter

peterb
May 29th, 2023, 11:20
As currently coded the npc sheet expect a creatures description to be stored in an xml element named "appears", see campaign/record_npc.xml lines 45 and 61. The creatures in the Game Master Guide module stores all their descriptions in the (unformatted) notes element so they are not affected by this. However, the creatures in the "Basic Creatures" module, which is not for sale anymore, use an element named "text", as is 3.5E and 5E. So, these creatures descriptions are not shown. I used the same layout in when I created a module containing creatures converted from the 5E SRD to BRP, so my creature descriptions doesn't show either. I propose that the code in campaign/record_npc.xml is changed so it uses the element name "text" instead of "appears", as in the code below. This change will not affect any creatures in the Game Master Guide, but it will make the descriptions in the "Basic Creature" module visible. And, I guess, using the element name "text" is more inline with what other rulesets use in the same situation. The other option would be to change the xml code of a module that is not on sale anymore.

In the windowclass "npc" (campaign/record_npc.xml)


<script>
function onInit()
onStateChanged();
end

function onLockChanged()
onStateChanged();
end

function onStateChanged()
if header.subwindow then
header.subwindow.update();
end
if main.subwindow then
main.subwindow.update();
end
if combat.subwindow then
combat.subwindow.update();
end
if notes.subwindow then
notes.subwindow.update();
end

local bReadOnly = WindowManager.getReadOnlyState(getDatabaseNode());
text.setReadOnly(bReadOnly);
end
</script>
<sheetdata>
<sub_record_header name="header">
<class>npc_header</class>
</sub_record_header>

<frame_record_content_tabbed name="contentframe" />

<subwindow_record name="main">
<class>npc_main</class>
</subwindow_record>
<subwindow_record name="combat">
<class>npc_combat</class>
</subwindow_record>
<ft_record name="text">
<anchored to="contentframe" position="over" />
<invisible />
</ft_record>
<subwindow_record name="notes">
<class>npc_notes</class>
</subwindow_record>

<scrollbar_record>
<target>main</target>
</scrollbar_record>
<scrollbar_record>
<target>combat</target>
</scrollbar_record>
<scrollbar_record>
<target>appears</target>
</scrollbar_record>
<scrollbar_record>
<target>notes</target>
</scrollbar_record>

<tabs_recordsheet name="tabs">
<tab>
<icon>tab_main</icon>
<subwindow>main</subwindow>
</tab>
<tab>
<icon>tab_combat</icon>
<subwindow>combat</subwindow>
</tab>
<tab>
<icon>tab_appears</icon>
<subwindow>text</subwindow>
</tab>
<tab>
<icon>tab_notes</icon>
<subwindow>notes</subwindow>
</tab>
</tabs_recordsheet>

<resize_recordsheet />
<close_recordsheet />
</sheetdata>
</windowclass>

Moon Wizard
May 30th, 2023, 17:39
Seems reasonable, though there is a gotcha. BRP is the oldest ruleset still being offered in the store, which is why it does everything a little different.

The gotcha is that any data placed in those fields within an existing campaign or custom module will not be available any longer. Since it's a low use ruleset, I'll probably just offer to do the data migration if anyone encounters that.

The ruleset is currently locked down pending the new release, so the changes are currently in the beta Test channel and will be released in June.

Regards,
JPG

peterb
May 31st, 2023, 04:21
OK. Thanks!

devinlc
June 21st, 2023, 22:51
I have now looked deeper at this problem. The problem is that all non custom skills have their skill type reset to 3, meaning that any sublabels are ignored. In the function checkdefaultskills() in campaign\scripts\charsheet_skilllist.lua all skills are checked and if their skill type is not "custom" then the skill type is set to "ignore". This means that the sublabels of all non custom skills (that have sublabels) become invisible. That used to work fine when you couldn't drag a new skill onto the character sheet, you had to create a new skill if you wanted to add a non-default skill, and then the skill type would be set to "custom". Nowadays when non default skills can be dragged onto the sheet, the code creates troubles. New skills are not treated as custom. Today it's better to drag skills than create new ones, especially if you use skill categories, because it's is not possible to set the skill category of a new skill.

I don't think the code in bold red below, is needed anymore. Removing it solved the problem, at least for me.


function checkdefaultskills()
-- create default skills
local skilldata = LineManager.getLine().Skills;
local winlist = {};

for k, w in pairs(getWindows()) do
if w.getClass()=="charsheet_skill" then
local label = w.label.getValue();
local type = w.skilltype.getValue();
if type >= SkillType.NoCheck then
type = type - SkillType.NoCheck;
end
if type~= SkillType.Custom then
w.skilltype.setValue(SkillType.Ignore);
end
if skilldata[label] then
if winlist[label] then
table.insert(winlist[label], w);
else
winlist[label] = { w };
end
end
end
end

...

I am having this issue and I looked for the file to delete the offending code, but I cannot find it. I have no folder called "scripts" in my campaign folder and no file called "charsheet_skilllist.lua" anywhere that I can find.

peterb
June 22nd, 2023, 09:44
That old post of mine is now dated.

To add a skill, drag it from the list of available skills under "Character" in the right-hand side menu. Do not try and create a skill by hand by right clicking and then "create item". especially if you are using skill categories. Another way of adding new skills is by creating an campaign extension and add them to the list of skills in my_script.lua.

The file mentioned above can be found by copying basic roleplaying.pak from the rulesets folder to another folder (like "dev") and unpack it.

Weapon skills can be linked to the main tab if they have exactly the same name. This can be tricky because BRP uses group skills. What I do is to keep the weapon skills on the main tab. Another solution is to create a bunch of new skills, one per weapon, but then you'll need to know how to create a module.

devinlc
June 23rd, 2023, 20:10
That old post of mine is now dated.

To add a skill, drag it from the list of available skills under "Character" in the right-hand side menu. Do not try and create a skill by hand by right clicking and then "create item". especially if you are using skill categories. Another way of adding new skills is by creating an campaign extension and add them to the list of skills in my_script.lua.

The file mentioned above can be found by copying basic roleplaying.pak from the rulesets folder to another folder (like "dev") and unpack it.

Weapon skills can be linked to the main tab if they have exactly the same name. This can be tricky because BRP uses group skills. What I do is to keep the weapon skills on the main tab. Another solution is to create a bunch of new skills, one per weapon, but then you'll need to know how to create a module.

Thanks for the info. How do you put a new weapon skill on the main tab? The only way I can see to do that is to right click and create item, which you say not to do. I cannot drag from the skill list under the Character menu to the main page. How would I add Spear skill to the PCs' main page?

peterb
June 26th, 2023, 05:34
Thanks for the info. How do you put a new weapon skill on the main tab? The only way I can see to do that is to right click and create item, which you say not to do. I cannot drag from the skill list under the Character menu to the main page. How would I add Spear skill to the PCs' main page?

Weapons on the main tab are not skills, they are items, sorry for the confusion. Either drag from the list of items (from the campaign menu) or from the tables in the BRP Game System X module. In the later case, do like this:

1) Open modules (under Library in the menu) and activate "BRP Game System X".
57958
2) Click on the module in the Module menu.
57959
3) You will see a table of contents, click on "Frequently Used Tables" at the bottom of the list.
57960
4) Scroll to the bottom of the list of tables and click on any of the entries.
57961
5) Drag the desired weapon from the list to the main tab of the character sheet. Click on the grey box and drag.

sedgetone
August 13th, 2023, 10:11
Hi,

Started a new BRP campaign today after an update, no extensions just BRP Games System X, BRP Gamemaster Guide and Assault on the Farm-House loaded. The map image for AotFH is blank accept for 5 pins that don't link to anything. The other example scenarios all have similar problems: images not present but their pins do link to story items. All of these module report the same error in the Modules panel when clicked on "No indexes created for this module. Please check the individual campaign record listings". Also many of the NPCs in the example modules are missing stats.

Simon

Moon Wizard
August 13th, 2023, 23:59
All of these modules were created well before FGU, and before the whole Library format was a thing; so the "No indexes ..." message is correct. They're just older formats.

As for the broken images/links, we'll take a look.

Regards,
JPG

Moon Wizard
August 16th, 2023, 01:43
OK, I've updated those adventures, so that the images should appear. Currently, the BRP ruleset and the included adventure shorts are currently locked in beta testing for the 8/29 release, and available only in the Test channel noted in the Laboratory forum. You may need to revert the image in the campaign Images list via right click to see the image, as I had to change the file format/extension.

Regards,
JPG

devinlc
October 5th, 2023, 14:37
Weapons on the main tab are not skills, they are items, sorry for the confusion. Either drag from the list of items (from the campaign menu) or from the tables in the BRP Game System X module. In the later case, do like this:

1) Open modules (under Library in the menu) and activate "BRP Game System X".
57958
2) Click on the module in the Module menu.
57959
3) You will see a table of contents, click on "Frequently Used Tables" at the bottom of the list.
57960
4) Scroll to the bottom of the list of tables and click on any of the entries.
57961
5) Drag the desired weapon from the list to the main tab of the character sheet. Click on the grey box and drag.

I got SOME weapons to work. I had to create a specific weapon skill for it in the SKILLS category under the Character Tab on the right of the screen. Then I had to drag the skill to the Skills page. Then I dragged the ITEM for the weapon to the Main Page. For Sling and Dagger, this worked! For Rapier, for some reason, it did not. So, it seems hit-and-miss right now. Wish it could work consistently.

Another very annoying item is that, using hit locations, I type in the armor values for each location, but when I close FGU and re-enter, the armor value reverts to 0. So, every player will have to retype his or her armor value for each hit location every time they start play. Not game-breaking, but annoying.

Finally, is there any way to DELETE a skill from the Skill tab if you do not use it in your campaign? For example, I do not have Projection in my campaign, but there it is on the skill sheet and no way I can see to remove it. Right clicking does not give me a trashcan option.

Thanks,

Devin

superteddy57
October 5th, 2023, 22:21
I have it added to my list to look at. Will be some time to find a solution.

superteddy57
October 6th, 2023, 00:47
I was able to get the rapier working by creating a new entry under combat and calling it Swords. The Rapier pulled the skill correctly. I'm not able to replicate the values not staying put upon reload for armor. I did notice some things that didn't look right around that area. I also ended up adding a drag and drop for armor to populate the armor, ap, and effects areas when dropped to that location to help keep track of such things. I pushed an update that will contain this change.

devinlc
October 6th, 2023, 04:36
I was able to get the rapier working by creating a new entry under combat and calling it Swords. The Rapier pulled the skill correctly. I'm not able to replicate the values not staying put upon reload for armor. I did notice some things that didn't look right around that area. I also ended up adding a drag and drop for armor to populate the armor, ap, and effects areas when dropped to that location to help keep track of such things. I pushed an update that will contain this change.

Thanks for the quick turnaround! I will give it a try and let you know.

Regards,

Devin

devinlc
October 6th, 2023, 04:41
The armor values did not disappear now. Thanks!

As far as rapier, yes it worked, though I had to call the skill "Sword" (not "Swords"). But thank you!

peterb
October 6th, 2023, 08:51
I just started a new vanilla campaign in order to create an module and I noticed that the default width of the character sheet is a bit too narrow. The max labels on both power- and fatigue points overlap the numberfields. Also on the skills tab (at default width) there's only one column of skills. A second point, should the margin to the left of the tabs really be so wide? Increasing the default width a bit would solve the first problem. The second one is more a matter of aesthetics I guess and opinions vary on that one.

Moon Wizard
October 6th, 2023, 17:14
Just pushed an update that should help with the character sheet issues you were seeing. Please run a new Check for Updates, and try again.

Regards,
JPG

devinlc
October 6th, 2023, 20:22
Thanks for the recent updates. I do get some weird chat box messages when I open the armor tab in the character sheet.

"s'entry' | s'chest' | { s'location' = { s'Missile' = s'11-15', s'Name' = s'Chest', s'HitRoll' = s'12', s'Calc' = s'0.4', s'HP' = #4 }, s'dbnode' = databasenode = { charsheet.id-00004.hitlocations.chest } }"

I get that for each of the 7 hit locations in the chat window the first time I go to the armor tab for any character sheet.

Regards,

Devin

superteddy57
October 6th, 2023, 20:37
I do apologize. That's me leaving some of my tools behind when I was testing. I have removed it and pushed a new build

peterb
October 8th, 2023, 12:37
Just pushed an update that should help with the character sheet issues you were seeing. Please run a new Check for Updates, and try again.

Regards,
JPG

Thanks, it looks much better now.

/Peter

peterb
October 20th, 2023, 13:59
Issues related to fix of the character sheet's width two weeks ago.

The fix created a new issue. The weapon list is now misaligned as regards to the labels. Probably some anchoring that needs correcting. Create a new campaign and a new character and its quite obvious.

Also, the anchors of the mainframe on the armor tab needs to be changed to something like this


<anchored>
<left />
<top anchor="top" />
<right />
<bottom />
</anchored


Similar to the frames on the main tab.

/Peter

superteddy57
October 20th, 2023, 17:41
A fix will be pushed with the next update

devinlc
November 22nd, 2023, 22:57
Hello. I'm starting to test combat and have noticed some issues:

1. When you target a creature with a PC and then attack it, if the attack hits, the target is cleared, and you have to re-click it to re-acquire it. However, if you miss the attack, then the target remains. It seems like it should be consistent and exhibit the same behaviour when it hits or when it misses (I'd prefer it keeps the target until that target is removed from the combat tracker or until a different target is selected).

2. When you are playing with hit locations option turned on and you drag a creature to the combat tracker, its armor value does not transfer to its hit locations, meaning you have to manually put it in for each location for each creature prior to combat starting, which is a huge time sink. I'd love for the system to automatically apply the base armor value (for example, 5 for crocodile) to each hit location automatically.

3. When using hit locations, damage to each hit location is tracked, but it is never subtracted from total hit points. Total hit points always show at maximum.

4. When using hit locations, damage doesn't add to previous damage taken to that location. For example, when I hit an elf in the left leg for 6 damage, and then hit it again for 1 damage, it shows 1 point of damage to that leg.

5. When using hit locations, if you click on the defense button for a creature on the combat tracker, it shows the hit location chart for the creature, but locations are alphabetized rather than the standard progression from legs to abdomen to chest to arms to head).

6. How do you turn on or off random ability rolling for NPCs? There is a "Race?" button that used to do it in Fantasy Grounds II, but it doesn't seem to work now.

Regards,

Devin

Stollesson
November 23rd, 2023, 19:09
To clarify point 1 it's on applying damage that the target clears.
And I agree it's annoying.

superteddy57
November 25th, 2023, 01:09
Hello. I'm starting to test combat and have noticed some issues:

1. When you target a creature with a PC and then attack it, if the attack hits, the target is cleared, and you have to re-click it to re-acquire it. However, if you miss the attack, then the target remains. It seems like it should be consistent and exhibit the same behaviour when it hits or when it misses (I'd prefer it keeps the target until that target is removed from the combat tracker or until a different target is selected).

2. When you are playing with hit locations option turned on and you drag a creature to the combat tracker, its armor value does not transfer to its hit locations, meaning you have to manually put it in for each location for each creature prior to combat starting, which is a huge time sink. I'd love for the system to automatically apply the base armor value (for example, 5 for crocodile) to each hit location automatically.

3. When using hit locations, damage to each hit location is tracked, but it is never subtracted from total hit points. Total hit points always show at maximum.

4. When using hit locations, damage doesn't add to previous damage taken to that location. For example, when I hit an elf in the left leg for 6 damage, and then hit it again for 1 damage, it shows 1 point of damage to that leg.

5. When using hit locations, if you click on the defense button for a creature on the combat tracker, it shows the hit location chart for the creature, but locations are alphabetized rather than the standard progression from legs to abdomen to chest to arms to head).

6. How do you turn on or off random ability rolling for NPCs? There is a "Race?" button that used to do it in Fantasy Grounds II, but it doesn't seem to work now.

Regards,

Devin

I took care of each of the points listed and added in the similar options 5e has for targetting. These updates will be pushed available on TEST with the next general push. The ruleset won't see these changes on LIVE till the beta is currently over.

superteddy57
November 25th, 2023, 07:11
Ok, the new setup is pushed on the TEST server if you want to give it a try before it goes LIVE.

devinlc
December 5th, 2023, 20:56
I took care of each of the points listed and added in the similar options 5e has for targetting. These updates will be pushed available on TEST with the next general push. The ruleset won't see these changes on LIVE till the beta is currently over.

Thanks!

I am now entering PC sheets into the system and will let you know what I find in this post (which I will edit so that it is all in one post):

1. When you change a skill's base value, it doesn't keep it when you close FGU and reopen it. For example, I create a new PC and change the starting value of Language, Own from 0 to 70 (which might be INT x 5). With a +3% category bonus, my skill is 73. If I then close the character sheet and close FGU, when I reopen it, the Language, Own starting value reverts to 0 and the total skill value reverts to 3. Of course, I can work around this by including the starting value in the middle skill box, but it would be nice, since the system lets you change starting values, if those changes stuck. Interestingly, if I create a NEW skill (like Intimidate) and drag it onto the Skills tab and assign a new starting value for it, it does stay, even after I quit and restart FGU. So, this problem really only seems to occur with skills that start on the Skill tab but have an option to change the starting value.

2. If you right click on the Main tab under melee weapons it adds a line just fine. But if you right click on the Main tab under missile weapons, it adds a line to the melee weapons section. We should be able to add a line to the missile weapons section.

3. On the Power tab, the actual section for powers can hold exactly 6 powers before it has to start scrolling through them. Meanwhile, the section above it (which seems to only have 2 spaces to fill out on 1 line) is almost as large and the Character Failings section below the Powers section takes up more than half of the page. It seems like the top section should be 1 line high and the failings section should be much much smaller and, therefore, the powers section could be much bigger. I'd really like that, as I have wizard and sorcerer PCs who won't be able to fit all of their spells in this small section.

superteddy57
December 5th, 2023, 21:08
I can verify it. I'll look into it. I also checked the group bonus and not sure how it was intended to work. I can't edit it to update the skill category bonus. I can look into that too if anyone thinks this is not working as intended.

peterb
December 7th, 2023, 06:36
I can verify it. I'll look into it. I also checked the group bonus and not sure how it was intended to work. I can't edit it to update the skill category bonus. I can look into that too if anyone thinks this is not working as intended.

The skill category bonus is dependent on the characters stat values and it is calculated by the function getCategoryBonus in scripts/manager_gameline.lua and should (IMO) not be editable from the skill tab.

superteddy57
December 7th, 2023, 10:00
Thanks, that's what I needed to understand.I was about to rip it apart. I'll look over the other reported issues and see if I can get those working.

superteddy57
December 7th, 2023, 14:18
I pushed a new build to TEST with updates to resolve the earlier reported issues.

CassMerry
December 20th, 2023, 15:25
Not sure if this is a bug or just a weird oversight, but item armor bonuses seems to be hard coded into the items somehow, so if you have a vest that gives a penalty to physical skills and change the skill mod field on the item, it still applies the same skill mod no matter what you do.

superteddy57
December 20th, 2023, 16:22
That hasn't been linked up and will require handling the penalty by hand.

devinlc
December 21st, 2023, 17:05
Thanks for your work in updating BRP for FGU!

I have another issue, this time with the Armor Tab.

I use hit locations, so I need to be able to allow my PCs to mix and match armor by location. For example, someone might want to wear Chain on chest and abdomen, but only Soft Leather on arms and legs. This means that I need each piece of armor to have its own ENC.

I should be able to set up each piece of armor in the Items and then drag them to a character's Inventory Tab and then go to their Armor Tab and select the piece of armor I want for each location. Unfortunately, for some reason it only lets me select the first piece of armor that I drag to the Inventory Tab. Interestingly, if I drag whole suits of armor from Items, then it lets me choose between them, but not if I create the armor myself in Items. The problem with just dragging the entire suit onto Inventory is that ENC is counted for the whole body for EACH armor type I drag in.

59558

59559

Above are two screen shots showing how I added each piece of Soft Leather to Items and dragged them to the Inventory tab, but the Armor Tab only shows Soft Leather RL as a drop down choice.

Additionally, BRP rules let you layer armor (i.e., soft leather under chain). Is there a way to let the Armor Tab dropdown let me choose more than one armor type for a hit location?

superteddy57
December 21st, 2023, 17:23
I do see that location specific armor isn't being respected and I will get a fix for that. As for layered armor, the system never accounted for this and you can't select multiple items. If I add this capability it may cause issues with current character sheet and require some work to transition current sheets to account for tracking multiple pieces per slot. It's not something that will be tackled at this time, but will be put on my list for the next expansion.

devinlc
December 21st, 2023, 18:28
I do see that location specific armor isn't being respected and I will get a fix for that. As for layered armor, the system never accounted for this and you can't select multiple items. If I add this capability it may cause issues with current character sheet and require some work to transition current sheets to account for tracking multiple pieces per slot. It's not something that will be tackled at this time, but will be put on my list for the next expansion.

That's cool. As long as the location specific armor works, I can just create a single armor Item that reflects both layers (i.e., Chain and Soft Leather Right Leg armor).

Thanks,

Devin

devinlc
January 17th, 2024, 16:19
When adding Powers to the game, two issues:

#1: When you lock the power, you can still edit it.

#2: If you copy a power, you cannot edit the name, whether the power is locked or unlocked.

Regards,

Devin

superteddy57
January 17th, 2024, 19:13
Pushed a fix to resolve issues with Power records.

devinlc
January 17th, 2024, 19:28
Pushed a fix to resolve issues with Power records.

Thanks!

Any ETA on the armor location issue? Just asking because my campaign is starting in late February.

Regards,

Devin

superteddy57
January 17th, 2024, 19:31
That should have been pushed prior to the holiday. I tested it now and appears to be working. Armor setup for different slots show correctly in those slots.

devinlc
January 17th, 2024, 20:54
That should have been pushed prior to the holiday. I tested it now and appears to be working. Armor setup for different slots show correctly in those slots.

It isn't working for me. Pictures attached.

You can see that I have set up Soft Leather for each hit location in the armor listing. I show an example for Left Arm to show that I have specified the hit location for that piece of armor at the bottom of that window. I have a character, Brunhilda Ironfury and I show her inventory screen that includes the Soft Leather for each of her hit locations. I also how her armor page, where every single hit location is only picking up the abdomen armor. You can see it in this picture as showing abdomen for left arm, but it does the same for all of the hit locations. It seems to want to take the first armor inventoried and use that for all locations.



Regards,

Devin

devinlc
January 17th, 2024, 20:57
Never mind. Today's update fixed it! Thanks!

devinlc
January 18th, 2024, 03:17
That should have been pushed prior to the holiday. I tested it now and appears to be working. Armor setup for different slots show correctly in those slots.

Works perfectly for humanoids. However, if I create a PC that has a different hit location chart, it won't recognize the armor. For example, I wanted to do a centaur PC (four-legged humanoid), but I cannot get armor on any locations to work (even the humanoid parts). Could this be fixed so that an armor location of "All" automatically applies to all hit locations on any body type and if a location entry on a piece of armor matches the name of a hit location on the hit location chart it will go ahead and apply it to that location?

Thanks,

Devin

superteddy57
January 18th, 2024, 05:00
Pushed another hotfix. The location needs to match the location it's intended to cover to be made as an option. All is also a valid location. As well it needs to be equipped to be made available.

peterb
January 18th, 2024, 22:51
Pushed another hotfix. The location needs to match the location it's intended to cover to be made as an option. All is also a valid location. As well it needs to be equipped to be made available.


There's one problem with this approach. A lot of armor pieces are designed to cover more then one hit-location. Hauberks covers the abdomen and chest, for example. Greaves covers both legs and vambraces both arms. There are more examples. Of course you can set up the abdomen part of a hauberk as one item and the chest half as another, but that'll look odd in the inventory, IMO.

To test a possible fix I changed the function updateList() in record_char_armor.

I added local aLocations, aLocationsStats = StringManager.split(sLocations:lower(), ",;\n", true); on line 11
I changed line 15 (formerly line 14) to local bLocation = StringManager.contains(aLocations, sLocName:lower()) or (sLocations:lower() == "all");

After this change armor pieces covering multiple hit-locations where handled correctly.

Sorry for not providing the whole code but cloudflare stops me from posting longer posts.

superteddy57
January 18th, 2024, 23:16
Yes, it should split on a comma, semi-colon, or carriage return. I have intended to include this in the code and apologize for the inconvenience. It will be pushed with the next update for the ruleset.

peterb
January 18th, 2024, 23:21
Yes, it should split on a comma, semi-colon, or carriage return. I have intended to include this in the code and apologize for the inconvenience. It will be pushed with the next update for the ruleset.

Great! Thanks!

superteddy57
January 18th, 2024, 23:28
Pushed a hotfix with this ability. I had the code ready and didn't have it saved when I pushed with the last update. Should now include the ability for armor to cover multiple locations within the Locations field.

devinlc
January 19th, 2024, 02:28
Pushed another hotfix. The location needs to match the location it's intended to cover to be made as an option. All is also a valid location. As well it needs to be equipped to be made available.

Looks good. Working for me!

Regards,

Devin

devinlc
January 19th, 2024, 13:12
Superteddy57:

I just wanted to thank you for how responsive you've been! When I first plunked down my $30 to try out the BRP module I was disappointed that it basically didn't work. Your hard work has enabled me to get my money's worth for my upcoming campaign.

I have a request more than a bug fix. In the Big Gold Book BRP and the newest version, there is an option to roll initiative each round instead of acting purely by DEX Rank. I use that option. I don't need (or want) it automatically implemented, but it would be very nice if the DEX field in the combat tracker were available to be edited by the GM. That would allow me to implement the optional initiative system manually and allow me to change people's initiatives in case they hold their actions or do something (like draw a weapon) that delays their action. Even better would be a new column on the combat tracker called INIT that was, for each actor on the Combat Tracker, blank, editable, and the CT would be sorted by that field from highest to lowest.

The latter might be a bridge too far, but even if the DEX field could be made editable, that'd be an immense help to those of us using the optional initiative methods from BRP.

I also have some CT bugs that I will list in the next message.

Thanks,

Devin

devinlc
January 19th, 2024, 13:20
Playing around with the Combat Tracker (CT), I note the following:

1. Characters' power points do not reflect in the PP column of the CT. It should always show the current PP amount from the character sheet.

2. Even if using hit locations, some things in BRP only do damage to general hit points (like poison). There needs to be a way to reflect this. In thinking about what it probably the best and easiest way to do this, I could think of two ways:

A. Create a line on the Armor tab for a universal hit location called General that has no need for AP and the general hit point wound could be recorded there and then accumulated with hit location wounds to reduce maximum hit points on the Main tab.

B. Insert a fillable field on the Main tab between Max. Hit Points and Wounds called General Hit Point Wounds and have the Wounds field add the General Hit Point Wounds to the calculation it does now. For example, if a character is hit in the right leg for 2 points of damage, the Wounds field would currently show 2. If I entered in a 4 to the hypothetical Geneal Hit Point Wounds box, then the Wounds field would show 6. This new box would only be needed if using the Hit Locations option.

Thanks,

Devin

devinlc
January 19th, 2024, 13:44
On the Powers tab, "Psychic Ability" doesn't fit in the Type field. Can that be shortened to "Psychic" or the field widened to accommodate "Psychic Ability"? I don't use Super Powers, but I imagine that has the same issue.

Also, would like to see even more space for Powers (and less for character failings) given that a sorcerer can have INT spells in memory, which could mean as many as 18 spells. Magicians can have unlimited spells in their grimoire that can be cast on the fly. Right now, you get 9 powers before having to use the scroll bar. Doubling that would be great. Having an option to remove Character Failings entirely and extend powers all the way to the bottom of the Powers tab would be even better. Right now, Character Failings supports 32 entries currently; I can't imagine a superhero needing 32 entries for character failings. The BRP official character sheet provides 6 lines for failings. Skimming the character failing rules, the absolute maximum any superhero can have, in a superhuman power level campaign, is 25 points. In theory, that could mean 25 separate 1 point failings, but looking at the chart, that seems very unlikely. 12 failings would seem to be the upper limit of practicality in creating a character.

Regards,

Devin

superteddy57
January 19th, 2024, 16:03
Thank you, but there are quite a few things listed that may not be addressed as quickly as the bug reports. It is one of the oldest rulesets and is exapnded slowly. I have verified the PP isn't linking correctly and will attempt to make that available with the next update. The other requests will need time to investigate what needs to change and lower the amount of issues from those changes. Again, thank you for providing these insights and will make them available in my notes.

devinlc
January 21st, 2024, 06:33
Another request, which may be very easy since it is already coded in the system.

For ITEMS, I can nicely filter the list to be displayed between the categories on the drop-down menu for items (i.e., armor, weapons, vehicles, artillery, and items).

Is it possible to do the same for POWERS so that I can filter the list between categories on the drop-down menu for powers (i.e., magic, psychic abilities, mutations, sorcery, and superpowers)? There are a lot of powers in BRP and being able to sort them would help immensely.

Regards,

Devin

superteddy57
January 21st, 2024, 14:01
That is a quick add and will be in with the next update.

devinlc
January 22nd, 2024, 20:13
From the Basic Roleplaying For Fantasy Grounds II - Gamemaster's Guide, page 22:

COMBAT TRACKER:

"Defenses

The defense panel shows either the type of armor worn (such as '1-point leather jacket') if hit
locations are disabled, or it shows the hit location list, with the hit chance, name, armor points and
current hit points. It also shows a health indicator, which varies from gray (healthy) through yellow,
orange and red to black (severed/destroyed).

Dragging damage results to a HP field will deduct that damage from the current HP for that location,
after allowing for the armor protection. You can also edit the HP manually using the keyboard or
mouse wheel.

If you want to roll to determine a hit location randomly, double-click any of the hit chance fields. If
you double-click a missile hit chance it will roll for missile locations, otherwise it will roll for standard
(melee) locations. The missile field is only visible if the particular PC/NPC has missile hit locations
defined."

(I tried to attach an image but for some reason this post won't let me, but its in page 22 of the manual)

This does not work in the current version. It just shows a blank box with no locations, AP or HP in it. Any easy way to restore that functionality?

Similarly, the attack panel for PCs is supposed to show MOV and DMG BONUS but for now these two fields are blank and not picking up those two items from the character sheet.

Regards,

Devin

superteddy57
January 22nd, 2024, 21:47
There is no option at this time. I will have to see the best way to accomplish this. That manual is grossly out of date with the changes I have made. I will look into a solution for the direct drops to hit locations.

superteddy57
January 23rd, 2024, 15:28
I was able to find a way for the NPCs to have this, but the PCs will require more thought. So the drag and drop will work for directed hit locations with the next update.

devinlc
January 23rd, 2024, 21:38
Thanks!

I'm trying to not add any other comments for a while so as not to completely overwhelm you, but this one below is really making my campaign setup difficult, so I thought I'd see if it is an easy fix:

(For some reason, the forums suddenly won't let me insert images or attachments, not sure why, so I will have to describe this with words only).

When setting up a new NPC, if I go to the COMBAT tab there is a space to enter armor. (the ARMOR field). At the bottom of the same tab is the NPC's HIT LOCATION chart. The AP field from the HIT LOCATION chart picks up the first numerical value you enter into the ARMOR field above. So far, so good.

However, a great many creatures and NPCs wear or have different AP per location. For example, an orc might wear chain on his chest and abdomen and leather on his arms and legs. I can go to the HIT LOCATION area and manually change the AP field to the number I want, which is also great. However, that change doesn't survive closing and opening up that NPC. It reverts back to the numerical value in the ARMOR field above.

Is there an easy way to make a manual entry stick? That's really all I need is that ability. Or, can the AP field be made entirely manual and not automatically pull from the ARMOR field above? I don't mind entering the AP for each hit location manually...I just don't want to be overwritten.

Regards,

Devin

superteddy57
January 23rd, 2024, 22:21
That is something I would have to look over as well. That code really hasn't changed from it's inception and I need to see how best to make that work right. The code basically parses the armor and uses the first armor value. So till I can break that cycle and use the value chosen or parsing multiple locations, it will revert to the first armor value. So for now I'm not sure I can provide you with a work around till I have had a chance to look it oer.

devinlc
January 23rd, 2024, 23:08
That is something I would have to look over as well. That code really hasn't changed from it's inception and I need to see how best to make that work right. The code basically parses the armor and uses the first armor value. So till I can break that cycle and use the value chosen or parsing multiple locations, it will revert to the first armor value. So for now I'm not sure I can provide you with a work around till I have had a chance to look it oer.

OK. Thanks.

As I mentioned, I would be fine with just removing the overall armor value entirely and making hit location AP manual entry only when a user is using hit locations. Looking forward to whatever you decide is best.

Regards,

Devin

superteddy57
January 24th, 2024, 03:06
The issue with that is the built in NPCs would have to have their AP values updated by hand. Since it relied on the auto parsing of the armor line. It's more of a bandwidth situation coupled with 'what is the best approach' type deal. Just might take some time to come up with a solution is what I am relaying.

superteddy57
January 24th, 2024, 07:04
I went ahead and removed the automatic parsing of the armor field. Manual updating of hit locations will need to be performed in the future. This now doesn't override the AP in NPC hit locations.

devinlc
January 27th, 2024, 22:13
I went ahead and removed the automatic parsing of the armor field. Manual updating of hit locations will need to be performed in the future. This now doesn't override the AP in NPC hit locations.

Excellent. Thanks!

devinlc
February 2nd, 2024, 03:18
Hi.

It looks like I can now manually enter the DEX field on the combat tracker, which is great, but I can only do it for NPCs. Can we also have that for the PCs?

As always, thank you for your hard work.

Regards,

Devin

superteddy57
February 2nd, 2024, 05:47
The DEX field is linked to the character's DEX field on their character sheets. Changing it would change their base DEX and is not a collection field. The player's could change those fields, but it won't retain the original number if changed.

devinlc
February 2nd, 2024, 06:00
The DEX field is linked to the character's DEX field on their character sheets. Changing it would change their base DEX and is not a collection field. The player's could change those fields, but it won't retain the original number if changed.

Ok, thanks. I will try to find a workaround.

superteddy57
February 2nd, 2024, 06:03
Sorry, the original design does create situations where you feel painted into a corner. More thought in finding a better solution than the way it's currently setup is needed.

devinlc
February 2nd, 2024, 06:06
Sorry, the original design does create situations where you feel painted into a corner. More thought in finding a better solution than the way it's currently setup is needed.

My current workaround is to enable Strike Ranks and enter the DEX + D10 initiative roll as a negative number under SR on the Combat Tracker. It actually works...a little clunky, but it works.

superteddy57
February 2nd, 2024, 06:14
I would say that if that works for now, then stick with it. Not sure when I will be able to circle back quite yet for a more permanent solution.

devinlc
February 4th, 2024, 00:01
Hello. I have started running scenarios for my players and an issue came up.

Under ITEMS on the buttons on the far right of my screen, under GROUP, I have the following:

ALL
UNCATEGORIZED
BRP GAME SYSTEM X
THERRA BRP

The last one is a new group that I set up.

When my player goes to his ITEMS button, he only sees the following under GROUP:

ALL
UNCATEGORIZED

He can still access the items I have created under ALL, but it would be better if he could select the specific group so as to avoid confusion.

Can this be fixed?

Regards,

Devin

superteddy57
February 4th, 2024, 00:19
Players can't see groups unless it's in a module that is shared with them.

devinlc
February 4th, 2024, 00:40
Players can't see groups unless it's in a module that is shared with them.

Hmmm....so when I create a new group myself no player can ever see it?

In FGU for D&D 5e, my players can see all of my self-created groups.

Maybe if they activate the BRP module then my self created groups will show up. I'll try that.

damned
February 4th, 2024, 04:45
Hmmm....so when I create a new group myself no player can ever see it?

In FGU for D&D 5e, my players can see all of my self-created groups.

Maybe if they activate the BRP module then my self created groups will show up. I'll try that.

Players see Groups in Modules that they have open. Campaign data is not sorted into groups for players.
This is the same in 5E.

devinlc
February 4th, 2024, 06:27
Players see Groups in Modules that they have open. Campaign data is not sorted into groups for players.
This is the same in 5E.

Interesting. Let me check my 5e with one of my players tomorrow and see what they can see.

Regards,

Devin

peterb
February 4th, 2024, 14:13
There's something wrong with the code that supposed to update the per hit-location HP.

To reproduce:
1) Create a new vanilla (no extensions) BRP campaign
2) Set the "Use hit locations" option to on
3) Create a character
4) Make a note of the HP per hit locations at the default HP value (10)
5) Change CON and SIZ to 16 each. Max. Hit Points should now be 16.
6) Check the HP per hit-location on the armor tab. There's no change, but it should be. For example the chest hit-location HP should be 7 but it's stuck at 4.

devinlc
February 4th, 2024, 18:20
Interesting. Let me check my 5e with one of my players tomorrow and see what they can see.

Regards,

Devin

So, it appears that any custom groups I create in any FGU module default to "Uncategorized" for my players. That's cool. I can work with that!

Thanks for your help.

Devin

superteddy57
February 5th, 2024, 07:30
There's something wrong with the code that supposed to update the per hit-location HP.

To reproduce:
1) Create a new vanilla (no extensions) BRP campaign
2) Set the "Use hit locations" option to on
3) Create a character
4) Make a note of the HP per hit locations at the default HP value (10)
5) Change CON and SIZ to 16 each. Max. Hit Points should now be 16.
6) Check the HP per hit-location on the armor tab. There's no change, but it should be. For example the chest hit-location HP should be 7 but it's stuck at 4.

I will be checking this out, thank you for the report.

superteddy57
February 5th, 2024, 20:58
Pushed fix for hit location HP not being updated.

peterb
February 6th, 2024, 10:04
Yea, thanks, it works as intended now.

devinlc
February 8th, 2024, 05:43
Hello Again.

I ran another session tonight and my players told me that they can't see most of the items on my Combat Tracker.

Specifically, the players can see:

1. Their character Portrait
2. Their character Name
3. Their DEX

On the other hand, I as the GM can see:

1. Their character Portrait
2. Their character Name
3. Their SR
4. Their DEX
5. Their HP
6. Their WND
7. Their PP

It would be very helpful if the players could see the player SR, HP, WND, and PP like I can see them. Is that possible?

Regards,

Devin

damned
February 8th, 2024, 07:06
The players use their Charsheet. The CT is meant as an Admin tool.

devinlc
February 8th, 2024, 07:50
The players use their Charsheet. The CT is meant as an Admin tool.

Fair enough. I just know in 5e FGU my players can see their own HP and wounds on the CT and there are options in the options tab there to show or hide them from the players.

Regards,

Devin

peterb
February 9th, 2024, 06:32
Hello Again.

I ran another session tonight and my players told me that they can't see most of the items on my Combat Tracker.

...


A tip: log into FG as a player so that you can see what the players see. Just open a second FG instance and connect to your campaign. It's very helpful to be able to see a players view of the campaign. It helps resolve issues with, for example, the coverage of the fog of war.

devinlc
February 14th, 2024, 05:37
Hello.

My players are begging me for more room for Powers on the Powers tab. Is there any way to cut the Character Failings by 50% and add that to the Powers section?

Regards,

Devin

superteddy57
February 14th, 2024, 15:04
I could tweak it, but due to the Beta, it will be some time till the update goes LIVE.

devinlc
February 14th, 2024, 18:43
I could tweak it, but due to the Beta, it will be some time till the update goes LIVE.

Thanks. As much space as you can spare for Powers would be great.

Regards,

Devin

peterb
February 15th, 2024, 09:48
Hello.

My players are begging me for more room for Powers on the Powers tab. Is there any way to cut the Character Failings by 50% and add that to the Powers section?

Regards,

Devin

The powers window is scrollable. You can have as many powers you want in it. If you really need more visible space then use an extension. IMO there's no need to change the general setup of the powers tab because of the needs of one group. As I said, this is why we have extensions.

devinlc
February 15th, 2024, 09:56
The powers window is scrollable. You can have as many powers you want in it. If you really need more visible space then use an extension. IMO there's no need to change the general setup of the powers tab because of the needs of one group. As I said, this is why we have extensions.

Scrolling is a pain for something you use all the time and need to see to remember what you have. I don't see any way that many lines are needed for character failings. This isn't just for one group per se, it's a good design choice for any group IMO. If you can show me how a character can use that many lines for character failings, I'd be interested.

superteddy57
February 15th, 2024, 10:11
I'm going to give it a look and see what can be done. No promises. Just not swaying suggestions away. All feedback is considered.

peterb
February 15th, 2024, 12:03
Scrolling is a pain for something you use all the time and need to see to remember what you have. I don't see any way that many lines are needed for character failings. This isn't just for one group per se, it's a good design choice for any group IMO. If you can show me how a character can use that many lines for character failings, I'd be interested.

This extension removes the failings and power level windows, leaving only a powers window on the powers tab. Install by copying the .ext file to the extensions folder in the Fantasy Grounds Data folder. Unfortunately I can't post attachments (for some reason) so I link to a file on google drive.

BRP Power tab.ext (https://drive.google.com/file/d/1eSG_yg4l9pyq4KZyy9QTdzmXW8uvySVz/view?usp=drive_link)

devinlc
February 18th, 2024, 05:40
This extension removes the failings and power level windows, leaving only a powers window on the powers tab. Install by copying the .ext file to the extensions folder in the Fantasy Grounds Data folder. Unfortunately I can't post attachments (for some reason) so I link to a file on google drive.

BRP Power tab.ext (https://drive.google.com/file/d/1eSG_yg4l9pyq4KZyy9QTdzmXW8uvySVz/view?usp=drive_link)

Thanks. Will try it.

Devin

devinlc
February 21st, 2024, 00:07
Hello.

Another item we noticed while playing. Effects do not add to the Combat Tracker when they are dragged onto the token or the combat tracker. This includes PCs and NPCs. The only way to add an effect is to manually type it into the combat tracker, which slows down play. Not looking for any sort of automation of the actual effects themselves, just would like to have it add the effect text into the combat tracker (e.g., Prone or Paralyzed) when dragging the effect onto it.

Is that a bug? If so, is it easily fixed?

Regards,

Devin