Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Surgery Incorrectly Defaulting From First Aid #122

Closed
CaptainJoy opened this issue Jul 24, 2019 · 10 comments

Comments

@CaptainJoy
Copy link

commented Jul 24, 2019

The Surgery skill has First Aid -12 as a default, as it should be. But it doesn't always work that way. If you add First Aid and Surgery to a blank character sheet, they'll each have 1 point assigned to them. The First Aid skill will be IQ+0, as it should be. The Surgery skill will be IQ-2, with or without having 1 point in it, which is way to high.

With 1 point in FIrst Aid, Surgery is at IQ-2. With 2 or 3 points in FIrst Aid, Surgery is at IQ-3. With 4 to 7 points in First Aid, Surgery is "-". With 8 points in First Aid, Surgery is at IQ-9 — which for the first time is a RSL 12 less than FIrst Aid.
(It is a VH skill, but it has no IQ default.)
My guess it's some weird effect due to the edge case of having a "-12" default. it's just too much! :)

@crnormand

This comment has been minimized.

Copy link
Contributor

commented Jul 26, 2019

A default for a skill is only used if you do not have any points in the skill itself. So if the character were trying to perform a surgical procedure, and all they knew was First Aid, then they would try the roll at First Aid - 12.

But once the character puts 1 single character point into the skill, then the skill is based on the underlying attribute, in this case IQ. Surgery (B223) is an IQ/VH skill (based on IQ, Very Hard). The table on B170 shows that 1 point spent on a "Very Hard" skill, give you a starting value of Attribute - 3, so in this case, IQ-3.

@CaptainJoy

This comment has been minimized.

Copy link
Author

commented Jul 26, 2019

@crnormand

This comment has been minimized.

Copy link
Contributor

commented Jul 26, 2019

It seems to be calculating the default correctly (on my machine). When I changed the character points from 1 to 0 on the Surgery Skill, it drops to First Aid -12 (well, actually, on my test character, it dropped to Vet-5, since it was a druid), but when I deleted the Vet skill, it dropped to 0, because this character's FirstAid is only a 12, and 12-12 = 0 ;-).

When I raised FirstAid to 15, Surgery became a 3.

@richardwilkes

This comment has been minimized.

Copy link
Owner

commented Jul 26, 2019

@CaptainJoy please post a minimal character sheet that illustrates the problem for you.

@CaptainJoy

This comment has been minimized.

Copy link
Author

commented Jul 26, 2019

@richardwilkes

This comment has been minimized.

Copy link
Owner

commented Jul 28, 2019

While I am indeed working on a major new revision, that effort stalled more than a year ago due to a lack of time, a lack of an active game to use it with (my current group is playing Pathfinder, although I'd prefer GURPS), and a general lack of interest on my part when it comes to JavaScript, which is what the front-end needs for the particular route I chose (using the language Go as a backend [implemented and working great] and web server and a web browser for the front end display). I hope to return to it someday, but will likely need someone that enjoys and is knowledgable about JavaScript to help.

At any rate, if there is an issue here, we should get to the bottom of it. @crnormand's analysis seems to indicate there isn't an issue... if you are still seeing a problem, please post a sheet so that we can reproduce it (I didn't see any attachment).

@richardwilkes richardwilkes added the bug label Jul 28, 2019

@CaptainJoy

This comment has been minimized.

Copy link
Author

commented Jul 29, 2019

@richardwilkes

This comment has been minimized.

Copy link
Owner

commented Jul 30, 2019

I had a few spare minutes this evening and took a look... and this is being caused by code in getBestDefaultWithPoints() (Skill.java:849) which is setting the points to a positive value because the adjusted default level went below 0, which is not correct. Normally, a negative value here is used to trigger special logic elsewhere, but that doesn't happen because the negative value is being turned into a positive one in this case. I'll have to give this some thought on how to correct it and not break the regular handling.

@CaptainJoy

This comment has been minimized.

Copy link
Author

commented Jul 30, 2019

richardwilkes added a commit that referenced this issue Jul 30, 2019
@richardwilkes

This comment has been minimized.

Copy link
Owner

commented Jul 30, 2019

Turns out the actual fix was easy. It will show up in the next release (whenever that happens), or you can grab the source and build it yourself if you need it right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.