Jump to content

Scales and weights


xenxander

Recommended Posts

Here I go again, another request about alchemy. As for my "needing water" request (which would add the water bottle as well) I guess the only way is to make water required in the potion creation menue, actually gimping alchemy because you'd have max 3 ingredients instead of x4... but anyway, here is my new request:

 

 

We can use scales and weights to improve potion quality. There are two types of scales and two types of weights, so:

 

First, “created potion effect” I will call “x” because it’s shorter and easier to identify.

I will call “weight” variable “y”

I will call “fine balanced weight” variable “z”

I will call “Scale” variable “a”

I will call “fine balanced scale” variable “b”

 

a + y = x + x * 0.10 (this is added to both effects and duration for all)

a + 2y = x + x * 0.20

a + 3y = x + x * 0.30

(note: every common weight added, up to 3, will add 10%)

 

a + z = x + x * 0.20

a + 2z = x + x * 0.40

a + 3z = x + x * 0.60

(note: every fine balanced weight added, up to 3, will add 20%)

 

b + y = x + x * 0.50

b + y = x + x * 0.60

b + y = x + x * 0.70

(note: the fine balance scale starts the potion effect at a +40% base, unlike the common scale which has no starting base % increase)

 

b + z = x + x * 0.60

b + 2z = x + x * 0.80

b + 3z = 2x

 

Now I know one can have more than one type of weights (no more than 3 will be calculated and fine weights will always be factored in before common weights)

So the formulas work if you always factor in all weight combinations, like this:

 

 

IF (a > 0 OR b > 0) THEN (seeing if you have a scale in your inventory to begin wtih)

Variable “w” will either be “0” or “0.40”, depending on if a common scale or a fine balanced scale is in the inventory)

If (a > 0 AND b = 0) then (w = 0), else (w = 0.40)

 

n = # of y; m = # of z

 

Select Case m (number of fine balanced weights)

Case 0

Select Case n (number of common weights)

Case 0: x = x (even with a fine scale, if you have no weights, you get no increased effects; one must have sacale and weight(s))

Case 1 to 3: x = x + x * (w + n*0.10)

Case else: x = x + x * (w + 0.30)

End Select

 

Case 1

Select Case n

Case 0: x = x + x * (w + m*0.20)

Case 1 to 2: x = x + x * (w + n*0.10 + m*0.20)

Case else: x = x + x * (w + 0.20 + m * 0.20)

End Select

 

Case 2

Select Case n

Case 0: x = x + x * (w + m * 0.20)

Case 1: x = x + x * (w + m * 0.20 + 0.10)

Case else: x = x + x * (w + m * 0.20 + 0.10)

End select

 

Case Else

x = x + x * (w + 0.60)

End Select

 

ELSE (no scale? no calculations)

x = x

ENDIF

Link to comment
Share on other sites

Looks like a good idea, but I am sure that Bethesda has locked us out of something needed for this to work. Your example was very easy to follow as it looks a lot like Fortran.
Link to comment
Share on other sites

Using a script to change FPotionMortPestleMult should work, but might require OBSE. Swapping out mortars might be a better approach. You might want to use a naming scheme along the lines of <Grade> Mortar & Pestle +XX% if you use this approach.

 

+100% may be a bit much. Once you get this to a working stage, I'd suggest posting on the official forum asking opinions on what amount would be balanced.

Link to comment
Share on other sites

Hmm maybe right.. now I can't script I just know some basics.. the request is if someone can do this, perhaps my pseudo-code may help..

 

and perhaps you're right, +100% (x2 effects) might make potions a bit overpowered.. so perhaps weights can increase by 5% and fine ballanced weights by 10%.

 

scales again have base add of 0% and the fine scale could have a base add of 20%.

 

This will lower all but still make them work.. and I do feel OBSE will be needed. But with it organized a bit better, it will take less code; observe:

 

a = scale

b = fine scale

c = fine scale base add effect (20%)

cc = scale base add effect (default to 0% but added incase any wish to increase common scale value)

d = weight base add effect (5%)

e = fine weight base add effect (10%)

f = weight formula number (sets a variable = #weights[needed to simplify formula])

g = fine weight formula number (sets a variable = #fine weights)

w = base add effect (will be set to cc or c)

x = potion scrip effect (normal potion effects - duration and effect)

y = weight #

z = fine weight #

 

IF (a > 0 OR b > 0) AND (y > 0 OR z > 0) THEN (checks: must have at least one type of scale AND at least one type of weight to continue)

IF (a > 0 AND b = 0) THEN w = cc, ELSE w = c

IF y >= 3 THEN f = 3 ELSE f = y (checking to ensure 3 is max weight number used)

IF z >= 3 THEN g = 3 ELSE g = z (same reason but for fine weights)

 

Select Case z (number of fine weights)

case 0: x = x + x * (w + fd) [potion effect plus % based off of # weights and scale type]

case else: x = x + x * (w + ge + (f-g)d) [effects based on #weighs subtraced from # fine weights]

End Select

 

ELSE: x = x

 

END IF

 

AS you can see this code allows for base effects of scales and weights to filter into the code much easier so editing is better for experimentation.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...