Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (*
- C = character power;
- L = level;
- pL = pet level;
- B = idle bonus;
- I = inca bonus;
- P = pet power;
- *)
- (*
- necro idle bonus: C, L^2;
- idle bonus: B (duh);
- DSoH: B^0.48, I;
- RG: B^(0.20625 + pL*0.0082), P^0.6;
- *)
- (*
- L = 135;
- pL = 120;
- *)
- (*
- total B = C influence: B^(1 + 0.48 + 0.20625 + pL*0.0082) = B^2.67025;
- total I influence = I^5 (5 incas);
- total P influence = P^0.6;
- *)
- Eff[Pf_, Evo_, Idl_, Ch_, Inc_, Pet_] := Module[{total},
- total =
- 1 * (1 + Pf) * (1 +
- Evo) * (1 + Idl)^2.67025 * (1 + Ch)^2.67025 * (1 +
- Inc)^5 * (1 + Pet)^0.6;
- Return[total];
- ];
- ReplaceMissing[val_, replaceVal_] :=
- If[MissingQ[val], replaceVal, val];
- Eff[dict_] := Module[{args},
- args = {
- dict["Profit"],
- dict["Evo"],
- dict["Idle"],
- dict["Char"],
- dict["Inca"],
- dict["Pet"]
- };
- args = ReplaceMissing[#, 0] & /@ args;
- Return[Eff @@ args];
- ];
- PrintEff[itemData_] := Module[{itemName, dom, effString, domString},
- itemName = itemData["Name"];
- dom = ReplaceMissing[itemData["Dom"], 0];
- effString = itemName <> ": " <> ToString[Eff[itemData]];
- domString =
- ", dominance penalty: " <> ToString[(1 + 0.014)^dom] <>
- ", final: " <> ToString[Eff[itemData]/((1 + 0.014)^dom)];
- If[dom == 0,
- Print[effString],
- Print[effString <> domString]
- ];
- ];
- EvaluateItemEff[itemsData_] := Module[{currentType, newType},
- currentType = "";
- For[i = 1, i <= Length[itemsData], i++,
- newType = itemsData[[i]]["Type"];
- If[newType != currentType,
- currentType = newType;
- Print["\n" <> currentType <> ": "];
- ];
- PrintEff[itemsData[[i]]];
- ];
- ];
- data = {
- <|"Type" -> "Boots", "Name" -> "Eastern", "Inca" -> 0.3|>,
- <|"Type" -> "Boots", "Name" -> "Journey", "Char" -> 2, "Dom" -> 15|>,
- <|"Type" -> "Chest", "Name" -> "Thornmail", "Char" -> 1,
- "Pet" -> 1, "Dom" -> 10|>,
- <|"Type" -> "Chest", "Name" -> "Chestguard", "Inca" -> 0.5|>,
- <|"Type" -> "Chest", "Name" -> "Ribcage", "Profit" -> 2,
- "Idle" -> 0.5|>,
- <|"Type" -> "Chest", "Name" -> "Darklight", "Char" -> 2|>,
- <|"Type" -> "Gloves", "Name" -> "FalcGloves", "Pet" -> 1.75,
- "Profit" -> 0.35, "Dom" -> 15|>,
- <|"Type" -> "Gloves", "Name" -> "Fiery", "Evo" -> 2, "Inca" -> 0.5|>,
- <|"Type" -> "Gloves", "Name" -> "GotG", "Idle" -> 1.5|>,
- <|"Type" -> "Gloves", "Name" -> "Talented", "Profit" -> 2,
- "Char" -> 0.5|>,
- <|"Type" -> "Head", "Name" -> "Casque", "Char" -> 2|>,
- <|"Type" -> "Head", "Name" -> "Ragecrown", "Char" -> 1,
- "Pet" -> 1, "Evo" -> 1|>,
- <|"Type" -> "Head", "Name" -> "Headguard", "Evo" -> 2|>,
- <|"Type" -> "Amulet", "Name" -> "Lucky", "Profit" -> 1,
- "Idle" -> 1, "Inca" -> 0.25|>,
- <|"Type" -> "Ring", "Name" -> "Companionship", "Pet" -> 2,
- "Dom" -> 25|>,
- <|"Type" -> "Ring", "Name" -> "Fiery", "Inca" -> 0.25, "Evo" -> 2|>,
- <|"Type" -> "Ring", "Name" -> "Frost", "Inca" -> 0.25, "Evo" -> 2|>,
- <|"Type" -> "Ring", "Name" -> "Morbid", "Profit" -> 1,
- "Idle" -> 1, "Char" -> 0.5|>,
- <|"Type" -> "Ring", "Name" -> "Bond", "Char" -> 1|>,
- <|"Type" -> "Shoulder", "Name" -> "Razor", "Char" -> 0.75,
- "Pet" -> 0.75, "Inca" -> 0.2|>,
- <|"Type" -> "Shoulder", "Name" -> "Shoulderguard", "Profit" -> 1.5|>,
- <|"Type" -> "Shoulder", "Name" -> "FalcWraps", "Pet" -> 1|>,
- <|"Type" -> "Shoulder", "Name" -> "Strange",
- "Idle" -> (1 + 0.03)^25 - 1|>
- };
- EvaluateItemEff[data]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement