PDA

View Full Version : Problems / Bugs with BRP?



Pages : 1 [2]

IrishSpider
February 21st, 2024, 00:20
Devin,

Instead of typing I have found if the name of the character is selected on the combats tracker (As in it is their turn to act) if you click the particular effect button, it gives it to them.

devinlc
February 21st, 2024, 01:10
Devin,

Instead of typing I have found if the name of the character is selected on the combats tracker (As in it is their turn to act) if you click the particular effect button, it gives it to them.

OK. Cool. That is a workaround. Thank you. It does force one to basically go out of initiative order to apply it to the target and then remember whose turn it was to act, but since BRP doesn't usually have a lot of foes at one time (unlike higher level D&D combats) I can certainly live with it as is.

Devin

devinlc
March 8th, 2024, 07:36
Playing around with the Combat Tracker (CT), I note the following:

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.



So, option A can already be utilized currently. Just letting people know in case they have the same issue I did. You can select CUSTOM as your hit location type and then add a location and call it "General Hit Points" and give it the full hp of the PC. Then, when the PC takes damage only to its general hp, you can mark the wound on that location. And, if you set the Melee and Missile D20 ranges to 100 for this phantom hit location, it will move it to the bottom of the hit location chart. Works pretty well!

Regards,

Devin

Tstavie
March 9th, 2024, 00:21
Getting this error message in fantasy grounds whenever i click on an NPC
[Error] Window: Control (cohorts) anchoring to an undefined control (contentframe) in windowclass (nps)

Moon Wizard
March 9th, 2024, 02:01
That control and window class are not defined in the Basic Role Playing game ruleset provided through the FG store. Do you have any extensions running?

Regards,
JPG

devinlc
March 10th, 2024, 04:08
When you adjust an NPC's power points whether on the combat tracker or their sheet it also lowers their POW score. Therefore, there's no way to track power point usage without also lowering an NPC's permanent POW stat, which isn't how it is supposed to work. POW should basically set the max PP or be an autonomously entered field. Can this be fixed?

Regards,

Devin

superteddy57
March 10th, 2024, 06:53
Pushed a hotfix. This will decouple the stat from the PP box and when a NPC is added to the ct, it will copy the POW to this box and reducing the number wont' change the stat anymore.

devinlc
March 10th, 2024, 22:01
Pushed a hotfix. This will decouple the stat from the PP box and when a NPC is added to the ct, it will copy the POW to this box and reducing the number wont' change the stat anymore.

Excellent. Thanks!

Devin

devinlc
March 28th, 2024, 22:26
Hello.

Question. If I wanted to change the label of the Power category "Mutations" to "Miracles", what file would I edit? I checked the various .lua and .xml files in the Basic Roleplaying.pak and while I find many references to "PowerType", I cannot find anywhere the actual types are stored.

Thanks,

Devin

damned
March 29th, 2024, 02:31
Hello.

Question. If I wanted to change the label of the Power category "Mutations" to "Miracles", what file would I edit? I checked the various .lua and .xml files in the Basic Roleplaying.pak and while I find many references to "PowerType", I cannot find anywhere the actual types are stored.

Thanks,

Devin

Unoack the PAK and then use a find in files option in your text/code editor to search for mutations and make sure case sensitive is not checked.

devinlc
March 29th, 2024, 04:35
Unoack the PAK and then use a find in files option in your text/code editor to search for mutations and make sure case sensitive is not checked.

I'm very much a newbie at this. Sorry. As I understand it, I unpack the PAK by changing the extension to .zip and unzipping it, which I did. But there are a great many files that unzipped. Do I have to search them all with my text editor?

I've got the following in my unzipped PAK root folder:

campaign folder
common folder
ct folder
desktop folder
graphics folder
ref folder
scripts folder
strings folder
base.xml
gameelements.xml
license.html
logo.png

I assume I can ignore the graphics folder entirely. Campaign folder has a bunch of xml and lua files.

If I have to go file by file and search I can...just want to see if there's a way to pare down the files to search.

Thanks,

Devin

damned
March 29th, 2024, 04:39
many code and text editors (a simple free one is Notepad++) have a feature called find in files.
You nominate the text you want to search for - mutations and the root path you want to search (you can also tell it to only search xml and lua files) and it will find all locations for you in 1.3seconds.

devinlc
March 29th, 2024, 04:40
Thanks, I will try that.

Stollesson
March 29th, 2024, 14:46
The file you are looking for is "manager_gameline.lua" in the folder "scripts".

devinlc
March 29th, 2024, 17:24
The file you are looking for is "manager_gameline.lua" in the folder "scripts".

Thanks. I found it using Notepad ++ as suggested. Now if I can only figure out why, when I make the change of "Mutation" to "Miracle", rezip the .pak file, and put it back in the rulesets folder, I get an error on loading the campaign. I did prudently backup the original .pak, so I'm not in any distress. But I need to figure out what I did wrong.

superteddy57
March 29th, 2024, 17:44
You don't need to rezip up the ruleset. You can leave it in a folder in your rulesets folder and it will use that before the .pak file.

devinlc
March 29th, 2024, 18:11
You don't need to rezip up the ruleset. You can leave it in a folder in your rulesets folder and it will use that before the .pak file.

That worked! Thanks. I am pretty sure I can now fiddle with the skills listing as well in the same lua file.

Regards,

Devin

devinlc
March 29th, 2024, 18:15
Quick question.

If I make changes to the lua scripts in the Basic Role Playing ruleset, will that be overwritten when you make updates?

If yes, does that mean I need to do these changes via extensions instead?

Regards,

Devin

superteddy57
March 29th, 2024, 18:42
If it's in it's own folder, no. But you will have to make the updates manually to your own custom BRP

devinlc
March 29th, 2024, 18:50
If it's in it's own folder, no. But you will have to make the updates manually to your own custom BRP

OK. Then it sounds like I should do an Extension, since I don't want to have to try to figure out what updates FG makes to the set and then manually do them all.

Thanks,

Devin

superteddy57
March 29th, 2024, 18:58
Yes, this would be best as an extension.

peterb
April 1st, 2024, 18:00
While testing my own strike rank handling code I noticed that the existing code doesn't really work as expected.

The SR value is never updated. That's probably because
local nodeActor = link.getTargetDatabaseNode(); in onUptionUpdate() in ct/scripts/ct_entry.lua returns nil.

This code in getStrikeRank() in scripts/manager_gameline.lua

local DEX = DB.getValue(node, "abilities.dexterity", 11);
local SIZ = DB.getValue(node, "abilities.size", 11);
returns values even if the node is nil.

peterb
April 1st, 2024, 18:01
Following up on the previous post.

You can verify the problem by:
a) create a new campaign
b) turn on the strike ranks option
c) reload the ruleset
d) create character
e) Drag it to the CT. The SR will be 5.
f) Change the characters SIZ and DEX to 21. This should set the SR to 1. But it doesn't, it remains at 5.
g) Change SIZ and DEX to 3. This should set the SR to 7. But it doesn't, it remains at 5.

peterb
April 1st, 2024, 18:02
Further investigation.

Debugging
local nodeActor = link.getTargetDatabaseNode(); with
Debug.console("Node Actor 1", nodeActor) I get
s'Node Actor 1' | databasenode = { combattracker.list.id-00001 } which I'm pretty sure is not what's needed. I know that the code is old so this maybe is some code that needs to be refactored?

peterb
April 1st, 2024, 19:54
Digging into this a bit more.

In ct/scripts/ct_entry.lua the following code, from onOPtionsUpdate()

function onOptionUpdate()
...
local nodeChar = link.getTargetDatabaseNode();

results in a different database node then this code from linkPCFields()

function linkPCFields()
super.linkPCFields();

local nodeChar = link.getTargetDatabaseNode();

The code in linkPCFields returns the characters db node (which is what you want), while onOptionUpdate don't. Since onOptionUpdate calls getStrikeRank with no db node the SR update fails.

superteddy57
April 1st, 2024, 20:18
I can get it to factor the Siz and Dex mods, but it won't factor weapon or power mods into the Strike Rank. That would require more factoring to have the players/GM to pick their action and add them to the box. Which as you can see is a bit of an undertaking.

peterb
April 1st, 2024, 20:46
I can get it to factor the Siz and Dex mods, but it won't factor weapon or power mods into the Strike Rank. That would require more factoring to have the players/GM to pick their action and add them to the box. Which as you can see is a bit of an undertaking.

Yes, I understand that. But, as I explained in my posts above, the existing code doesn't work. The SR is never updated because the getStrikerank funktion gets a nil value instead of a character node.

Just to avoid any misunderstandings, I'm not asking you to factor weapons or power into strike ranks, I'm going to fix that part myself. I'm just letting you know that there's a problem with the existing code, and (incidentally) that create problems down the line for my code.

superteddy57
April 1st, 2024, 22:44
Yes, I understand your request. I just wanted to be sure there was no misunderstanding with power and weapon mods to the strike rank.

peterb
April 2nd, 2024, 13:20
Well, I got it working.

In ct/scripts/ct_entry.lua I modified onOptionUpdate() so that the DB.setValue used the database node of the CT windowlist.

function onOptionUpdate()
local sOptHRSR = OptionsManager.getOption("HRSR");
strikerank.setVisible(sOptHRSR == "on");
local nodeChar = link.getTargetDatabaseNode();
local ctNode = getDatabaseNode();
local nStrikeRank = LineManager.getLine().GetStrikeRank(nodeChar);
DB.setValue(ctNode, "strikerank", "number", nStrikeRank);
end

I also modified linkPCFields() and added a link to a aggregated SR value that is re-calculated when the underlying data is changed.

function linkPCFields()
super.linkPCFields();

local nodeChar = link.getTargetDatabaseNode();
if nodeChar then
pp.setLink(DB.createChild(nodeChar, "pp.current", "number"), true);
wounds.setLink(DB.createChild(nodeChar, "wounds", "number"));
hp.setLink(DB.createChild(nodeChar, "hp.max", "number"), true);

initresult.setLink(DB.createChild(nodeChar, "abilities.dexterity", "number"), true);
strikerank.setLink(DB.createChild(nodeChar, "sr.activeSR", "string"), true);
end
end

As an added bonus the ordering of entries worked out by itself since high DEX = low SR.

superteddy57
April 2nd, 2024, 16:38
I pushed a hotfix for the strike rank issue. I would look over the code for my implementation as it is somewhat different than the approach you have made.

peterb
April 2nd, 2024, 18:18
OK! Great, thanks!

devinlc
April 7th, 2024, 18:12
Double Post. Sorry.

devinlc
April 7th, 2024, 18:16
Hello. I think I spotted an issue.

If a PC has a negative damage modifier, then for missile weapons where it is supposed to use the full negative modifier, it uses TWICE the full negative modifier.

For example, normally, missile weapons with a damage modifier applicable use 1/2 of the dm. So, a +1D4 dm becomes a +1D2. And that works fine for positive dms.

When such a weapon is used by someone with a negative dm, it is supposed to apply the full negative dm, so a -1D4 dm stays a -1D4 dm.

The rules text:

"Missile weapons don’t allow a character to use their full damage modifier. If your character’s damage modifier is positive, divide the results in half (round up) when using a thrown weapon or a bow. If the damage modifier is negative, keep the modifier as is."

But, if I put in a PC with a negative dm, such as a STR of 8 and SIZ of 6, the dm shows as 1m4 (which I assume means -1D4) however, when I double click on a missile weapon's damage, it rolls -2D4.

I imagine the code is trying to double the normally halved dm but somewhere else it has already done that, so it is now doing it twice...just a guess on my part.

Now, there is a workaround...just unclick the db bubble for that weapon on the Main Page and manually type the -1D4 into the damage line. But would be nice if this could be easily fixed.

Regards,

Devin

superteddy57
April 7th, 2024, 22:59
I'll look it over on Monday

peterb
April 8th, 2024, 12:20
I haven't noticed this. The code explicitly states that the damage should be -2d4. See campaign/record_char_main.xml, getWeaponDamageRollStructures(nodeWeapon).


...
if sDamageDice ~= "" then
sDBDice = DiceManager.convertDiceToString(sDamageDice);

if sDBDice:match("d6") then
sDBDice = "d3";
elseif sDBDice:match("d4") then
sDBDice = "d2";
elseif sDBDice:match("m4") then
sDBDice = "2m4";
elseif sDBDice:match("m6") then
sDBDice = "2m6";
end
...

The code in campaign/record_npc.xml, getWeaponDamageRollStructures(nodeWeapon) also needs to be edited.

superteddy57
April 12th, 2024, 05:50
I pushed a fix for this report

devinlc
April 13th, 2024, 07:27
I pushed a fix for this report

Thank you!

Vackipleur
April 21st, 2024, 15:30
I believe I found a bug:

Create a new campaign then a new character and set "Use Power Points" option on "On". Put a score in DEX (like 15, for example).
After a reboot, Dodge, Throw and Fly skills are granted a +5% bonus.

And they appear in the POWER tab.

EDIT: in fact, these skills win a free bonus equal to DEX - 10 (with DEX 18, they are +8%, for example).

superteddy57
April 22nd, 2024, 17:53
Pushed a fix for it not updating with the skill totals, but the cause of the additional bonus is due to the the category bonus. Ensure that this has been turned off to not receive it.

peterb
April 25th, 2024, 15:10
Nevermind I realized where the error was... The armor was not equipped...

Vackipleur
April 25th, 2024, 16:30
Pushed a fix for it not updating with the skill totals, but the cause of the additional bonus is due to the the category bonus. Ensure that this has been turned off to not receive it.

Well, if I understand I can't use the Power Points option and the category bonus at the same time without to get the DEX bonus ? And it's impossible to fix that ?

superteddy57
April 25th, 2024, 16:58
Power Points isn't the issue, it's the skill category bonus option adds to it's children and that is what you are seeing when you roll. Turning off category bonus will remove that additional increase from the attribute.

peterb
May 6th, 2024, 14:24
I've found a problem with the CT player view when using the strike rank option. The players see actors sorted after their SR value but the value shown is the Dex value. The GM sees all actors sorted by SR and also Dex. I think we need to add a strike rank column to the Player view or replace the initresult column when the strike rank option is used. See the attached images for more detail. I'll see if I can come up with a good solution for adding a new column but you might want another solution.

60754
60755

superteddy57
May 6th, 2024, 14:59
Thanks for the report. I'll add it to my list to investigate.

peterb
May 7th, 2024, 17:16
I've found a problem with the CT player view when using the strike rank option. The players see actors sorted after their SR value but the value shown is the Dex value. The GM sees all actors sorted by SR and also Dex. I think we need to add a strike rank column to the Player view or replace the initresult column when the strike rank option is used. See the attached images for more detail. I'll see if I can come up with a good solution for adding a new column but you might want another solution.]

I managed to come up with a solution. I need to test it (and the rest of my strike ranks implementation) in real play before sharing it though.