Now that you know how the basePrize is calculated you can tell what any items would need to be build.
The exact how-about shall be described below for any items without individual recipes:
In the first step the basePrice is transformed to some performanceGoal. It takes a few variables from the current gameplay settings, but here i will only put them as constant as they don’t seem to be in the focus of a change anytime soon.
extendedPrize = Extended_Baseprice = ( (128 / 255.0f)^2 + 0.5) * basePrize* 0.6;
This is slightly below 0.45 * basePrize, but not exactly.
And from this the performanceGoal is described with
performanceGoal = extendedPrize * (log10(extendedPrize ) / 14 + 0.5)
From here it is a simple algorithm to get the needed parts:
for each part in partlistForItemType in reverse do
if (Value(part) < performanceGoal ) do
performanceGoal -= Value(part)
Add part to list
Iterate with same part again
end if
Move on with next part
end for
|
Let’s see an example:
The Tangent Weapon Part 10
WP 10 has a .def basePrize of 38400
-> extendedPrize = 17325
-> performanceGoal = 17325 * (log10(17352) / 14 + 0.5) = 13907
Possible parts are the PartList of Chems.
The most valuable from them Gamonin with a basePrize of 5760:
List -> Gamonin ;
performanceGoal = 13907 - 5760 = 8147
NextPart: Gamonin
List -> Gamonin, Gamonin
performanceGoal = 8147 - 5760 = 2387
NextPart Gamonin
Gamonin Value > performanceGoal -> Next Part Adiclovin
Adiclovin Value (2880) > performanceGoal -> Next Part Trisol
List -> Gamonin, Gamonin, Trisol
performanceGoal = 2387 - 1440 = 947
Next Part Trisol
Trisol Value > performanceGoal -> Next Part Strastin
List -> Gamonin, Gamonin, Trisol, Strastin
performanceGoal = 947 - 720 = 227
Next Part Strastin
Strastin Value > performanceGoal -> Next Part Tripantol
Tripantol Value (360) > performanceGoal -> Next Part Tiberal
List -> Gamonin, Gamonin, Trisol, Strastin, Tiberal
performanceGoal = 227 - 180 = 47
Next Part Tiberal
Tiberal Value (180) > performanceGoal -> Next Part Metal D
Metal D Value (90) > performanceGoal -> Next Part Arillium
List -> Gamonin, Gamonin, Trisol, Strastin, Tiberal, Arillium
performanceGoal = 47 - 45 = 2
Next Part Arillium
ArilliumValue (45) > performanceGoal -> Next Part Meritium
Meritium Value (30) > performanceGoal -> Next Part Solantium
Solantium Value (15) > performanceGoal -> No next Part in List -> End
|
=>
Parts = Gamonin, Gamonin, Trisol, Strastin, Tiberal, Arillium
Partlists
Of course you need the basePrize and the PartLists to do this calculation.
- Chems:
Gamonin(5760), Adiclovin(2880), Trisol(1440), Strastin(720), Tripantol(360), Tiberal(180), Metal D(90), Arillium(45), Meritium(30), Solantium(15)
- Weapon Mod Parts:
Tangent WeaponMod Part Reg.# D11H6/MOD-10(7680), each part below halfs the prize
-
Implant Parts:
BioTech Implant Part Reg.# 222-DKIH6-J(76800), each part below halfs the prize
- Weapon Parts:
Tangent Weaponpart 10(38400), each part below halfs the prize
- Vehicle Component:
NExT Vehicle Component 10(512000), each part below halfs the prize
- Vehicle Componentparts:
NExT Vehicle Componentpart 10(102400), each part below halfs the prize
- Medical Substances:
ProtoPharm Medical Substance 10(7680), each part below halfs the prize
- Armor Parts:
Tangent Armorpart 10(76800), each part below halfs the prize