View Full Version : CS Calculations
fallenSaint
01-05-2004, 07:16 PM
Alright trying to help a friend here and my answer of just get more spells wasnt good enough. Can someone give me a generic type formula for raising one's CS?
Bobmuhthol
01-05-2004, 07:20 PM
Raising your level and spell ranks.
It's like level x 3 + 2/3 spell ranks your casting from + 1/3 other spell circle + 1/3 third spell circle.
theotherjohn
01-05-2004, 08:15 PM
Here is the generic CS formal:
CS = (level x 3) + primary spell circle bonus + secondary spell circle 1 + secondary spell circle 2 + stat bonus
Primary spell circle bonus: (round normally)
Ranks up to level: 1CS/rank
Ranks 1-20 above level: .75CS/rank
Ranks 21-60 above level: .5CS/rank
Ranks 61-100 above level: .25CS/rank
Ranks 101 -? above level: .125CS/rank
Secondary circle is:
Ranks up to 2/3 level: .33333333CS/rank (ROUND UP)
Ranks over 2/3 level: .111111111CS/rank (ROUND UP)
Add the two together after each has been individually ROUNDED UP.
Also, the 2/3 level calculation is now ROUNDED NORMAL
Bobmuhthol
01-05-2004, 11:10 PM
Uhm.. I had a nice format and everything written out, but then QBASIC decided my IFs weren't IF blocks, so I had to remove every ELSEIF and ELSE I had (80% of the entire source code) and now all it does is give you LEVEL * 3 + BONUS. Someone want to fix it?
INPUT "What is your level"; LEVEL
PRINT "Ranks in circle being cast from:"
INPUT ""; PRIME
PRINT "Ranks in secondary circle:"
INPUT ""; SEC1
PRINT "Ranks in other secondary circle:"
INPUT ""; SEC2
PRINT "CS PRIME BONUS X-TREME:"
INPUT ""; STATBON
CS = 3 * LEVEL + PRIMEBON + SEC1BON + SEC2BON + STATBON
IF PRIME < LEVEL THEN PRIMEBON = PRIME
IF PRIME > LEVEL AND PRIME < LEVEL + 21 THEN PRIMEBON = .75 * PRIME
IF PRIMEBON = INT(.75 * PRIME) OR PRIMEBON < INT(.75 * PRIME) + .5 THEN PRIMEBON = PRIMEBON
IF PRIMEBON >= INT(.75 * PRIME) + .5 THEN PRIMEBON = PRIMEBON + 1
IF PRIME > LEVEL + 20 AND PRIME <= LEVEL + 60 THEN PRIMEBON = .5 * PRIME
IF PRIMEBON = INT(.5 * PRIME) THEN PRIMEBON = PRIMEBON
IF PRIMEBON > INT(.5 * PRIME) THEN PRIMEBON = PRIMEBON + 1
IF PRIME > LEVEL + 60 AND PRIME <= LEVEL + 100 THEN PRIMEBON = .25 * PRIME
IF PRIMEBON = INT(.25 * PRIME) OR PRIMEBON < INT(.25 * PRIME) + .5 THEN PRIMEBON = PRIMEBON
IF PRIMEBON >= INT(.25 * PRIME) + .5 THEN PRIMEBON = PRIMEBON + 1
IF PRIME > LEVEL + 100 THEN PRIMEBON = (.125 * PRIME)
IF PRIMEBON = INT(.125 * PRIME) OR PRIMEBON < INT(.125 * PRIME) + .5 THEN PRIMEBON = PRIMEBON
IF PRIMEBON >= INT(.125 * PRIME) + .5 THEN PRIMEBON = PRIMEBON + 1
LEV = 2 / 3 * LEVEL
IF LEV <= INT(2 / 3 * LEVEL) + .499 THEN LEV = LEV
IF LEV > INT(2 / 3 * LEVEL) + .499 THEN LEV = LEV + 1
IF SEC1 <= LEV THEN SEC1BON = SEC1 / 3
IF SEC1 > LEV THEN SEC1BON = SEC1 / 9
IF SEC1BON = INT(SEC1 / 3) THEN SEC1BON = SEC1BON
IF SEC1BON > INT(SEC1 / 3) THEN SEC1BON = SEC1BON + 1
IF SEC1BON = INT(SEC1 / 9) THEN SEC1BON = SEC1BON
IF SEC1BON > INT(SEC1 / 9) THEN SEC1BON = SEC1BON + 1
IF SEC2 <= LEV THEN SEC2BON = SEC2 / 3
IF SEC2 > LEV THEN SEC2BON = SEC2 / 9
IF SEC2BON = INT(SEC2 / 3) THEN SEC2BON = SEC2BON
IF SEC2BON > INT(SEC2 / 3) THEN SEC2BON = SEC2BON + 1
IF SEC2BON = INT(SEC2 / 9) THEN SEC2BON = SEC2BON
IF SEC2BON > INT(SEC2 / 9) THEN SEC2BON = SEC2BON + 1
PRINT "Your CS is"; CS
Bobmuhthol
01-05-2004, 11:17 PM
Okay, just looking at it, I can see that it's completely screwed by:
IF SEC2BON = INT(SEC2 / 3) THEN SEC2BON = SEC2BON
IF SEC2BON > INT(SEC2 / 3) THEN SEC2BON = SEC2BON + 1
IF SEC2BON = INT(SEC2 / 9) THEN SEC2BON = SEC2BON
IF SEC2BON > INT(SEC2 / 9) THEN SEC2BON = SEC2BON + 1
It would've worked with the IFs, but I had to take everything out and just change it to an IF :(
I refuse to try again.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.