Some Math Issues

3 posts / 0 new
Last post
ringring ringring's picture
Some Math Issues
AttachmentSize
Plain text icon java method976 bytes
Plain text icon updated java method943 bytes

This is true of the online character generator, so it may be relevant if singularity shares the same code base.

Basically the issue is when bonuses get tallied to your skills. If you have an aptitude of 20 and spend 40 points, you have a base skill of 60. The question is, do morph and background bonuses to your aptitude and skill get applied BEFORE or AFTER you spend those 40 points, and do they count towards the skill cap of 80?

Say for example, my ego's reflex aptitude is 20, I have a morph bonus of +10 to my reflex, (with a cap of 30 on my aptitude) and I have an option that gives me +20 to any skill in my background. I put 40 points into fray and I choose fray as my background skill.

Do I then have a skill of 90, 85, 80, or 75? Do morph bonuses count after and background before I tally my base skill, background bonuses count before and morph bonuses after, or do both count after or do both count before? In any case, is there a hard limit of 80 on any skill that doesn't have the expert trait?

When you use the browser based character generator, that all depends on when you apply the bonus. If you spend your points first, then select your aptitude, morph or morph bonus, background or background bonus, the points are added after the fact. If you select any of those first, then assign the points second, they end up being applied retroactively.

Its actually a really simple problem and an easy fix, you just have to decide on what order to add your stats up. It might look something like this, if you were using java:

public class TallyHo { // TODO code application logic here // a = ego aptitude // b = total number of character points spent // c = total number of character points spent over 60 // y = expert trait true or false // x = base skill // z = final skill (prior to spending rez points) // r = bonus from morph // s = bonus from background static int tally(int a, int b, int c, int r, int s, int x, int z, boolean y){c = (a+b)-60; c = (a+b)-60; x = (60 + c/2); //rounded down if(y == true){ if(x+r+s>90){ z=90; } else{ z = x+r+s; } } else if(y==false){ if(x+r+s>80){ z=80; } else{ z = x+r+s; } } return z; } }

Hmm, guess formatting didn't take. I attached a txt file also, it might be more readable.

Keep in mind this SHOULD work, but I haven't tested it.

sysop sysop's picture
All of the char generators I

All of the char generators I've seen apply the background and faction bonuses before spending and morph after.

It's covered in the char generation chapter, under "Spend Customization Points". Under "Learned Skills", pg 136 in my edition of the core book. "Skill bonuses from background or faction should be applied before -". And then in the next column over under "Starting Morph" - "any aptitude or skill bonuses provided by the morph are applied after ... do not affect the cost of buying aptitude and skill points."

So if the morph is counting towards the caps in char gens - I don't know which one you're looking at - there's a lot of em out there - then that'd be a bug to note.

I fix broken things. If you need something fixed, mention it on the suggestions board.
I also sometimes speak as website administrator and/ moderator.

ringring ringring's picture
Okay

Does that mean if I take isolate (+20 to two skills) and criminal (+30 networking criminal) and my ego's savvy is 20, my networking: criminal skill can start at 70? If so, i made an update to my original code and loaded a second txt file in my original post.

Basically, here is the problem with the online character generator.

1) I set my egos savvy to 20
2) I put 40 points into networking: criminal. My CP total drops 960
3) I select isolate and select networking:criminal as one of my bonus skills. My CP total is still 960.

You see? Instead of dropping to 940 like it should, it stays at 960.

If I lower the number of skill points i put into networking:criminal to 30, it stays at 960.