xenxander Posted March 3, 2008 Share Posted March 3, 2008 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.20a + 3y = x + x * 0.30(note: every common weight added, up to 3, will add 10%) a + z = x + x * 0.20a + 2z = x + x * 0.40a + 3z = x + x * 0.60(note: every fine balanced weight added, up to 3, will add 20%) b + y = x + x * 0.50b + y = x + x * 0.60b + 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.60b + 2z = x + x * 0.80b + 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 0Select 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 1Select Case nCase 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 2Select Case nCase 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 Elsex = x + x * (w + 0.60)End Select ELSE (no scale? no calculations)x = xENDIF Link to comment Share on other sites More sharing options...
bben46 Posted March 3, 2008 Share Posted March 3, 2008 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 More sharing options...
Abramul Posted March 3, 2008 Share Posted March 3, 2008 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 More sharing options...
xenxander Posted March 4, 2008 Author Share Posted March 4, 2008 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 = scaleb = fine scalec = 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.