10 #include "../eve-common.h"
13 return meters / 9460730472580800;
30 if (baseSLC > currentSP)
38 return (pAttr + (0.5f * sAttr));
48 if (currentSP >= nextSP)
57 float PE_Factor(0.0f);
58 if (ProductionLevel >= 0.0f)
59 PE_Factor = (ProductionLevel / (1.0f + ProductionLevel));
61 PE_Factor = (ProductionLevel - 1.0f);
63 float effModifier(1.0f);
64 effModifier -= ((bpProductivityModifier / BaseTime) * PE_Factor);
65 return (BaseTime * effModifier * TimeModifier);
70 return (BaseTime * (13.0f - (0.05f * MetallurgyLevel)) * SlotModifier * ImplantModifier);
75 return (BaseTime * (15.0f - (0.05f * ResearchLevel)) * SlotModifier * ImplantModifier);
86 return (BaseTime * (1.0f - (0.05f * ScienceLevel)) * SlotModifier * ImplantModifier);
91 return BaseTime * (1.0f - (0.03f * AdvLabLevel)) * SlotModifier * ImplantModifier;
96 float ME_Factor(0.0f);
97 if (MaterialEfficiency >= 0.0f)
98 ME_Factor = 1.0f / (1.0f + MaterialEfficiency);
100 ME_Factor = 1.0f - MaterialEfficiency;
102 return (floor(0.5f + (MaterialAmount * (BaseWasteFactor / 100.0f) * ME_Factor)));
107 return floor(0.02f * BaseWasteFactor * MaterialAmount);
112 return (Multiplier * (2.0f + (AgentEffectiveQuality / 100.0f)) * pow(CharSkillLevel + AgentSkillLevel,2));
118 return (floor(0.5f + (MaterialAmount * ((25.0f - (5.0f * ProductionEfficiency)) / 100.0f))));
123 return (BaseChance * (1 + 0.11f * EncryptionLevel) * (1.0f + (DataCore1SkillLevel + DataCore2SkillLevel)
124 * (0.8f / (5.0f - MetaLevel)) * DecryptorModifier));
139 return 5.0f - (0.75f * CharacterStandingWithStationOwner);
144 return (EquipmentYield + 0.375f * (1.0f + (RefiningLevel * 0.02f))
145 * (1.0f + (RefiningEfficiencyLevel * 0.04f)) * (1.0f + (OreProcessingLevel * 0.05f)));
152 return (AgentQuality + (5.0f * NegotiationLevel) + AgentPersonalStanding);
157 return (1.0f - (1.0f - YourStanding / 10.0f) * (1.0f - standingBonus / 10.0f)) * 10.0f;
162 return (((AgentLevel - 1.0f) * 2.0f) + (AgentQuality/20.0f));
167 return (BaseMissionIncrease * (1.0f + 0.05f * YourSocialSkillLevel));
172 return (0.01f * ((8.0f * AgentLevel) + (0.1f * AgentQuality) - 4.0f));
177 return (((10.0f - CurrentStanding) * PercentIncrease) + CurrentStanding);
183 if (fromStanding < 0.0f) {
184 bonus = DiplomacySkillLevel * 0.4f;
185 }
else if (fromStanding > 0.0f) {
186 switch (fromFactionID) {
192 bonus = CriminalConnectionsSkillLevel * 0.4f;
195 bonus = ConnectionsSkillLevel * 0.4f;
204 float wStanding = (0.7f * fStanding + 0.3f * cStanding) / 10.0f;
205 float fee = 0.01f * (1.0f - (0.05f * brSkillLvl)) * pow(2, -2 * wStanding);
206 return EvE::max(fee * orderValue, 100.0f);
212 return EvE::max(brokerPercent * (newPrice -oldPrice)) + (1 -discount) *brokerPercent *newPrice;
218 float maximumTax = baseSalesTax / 100.0f;
219 float tax = maximumTax * (1 - 0.1f * accountingLvl);
float InventionChance(float BaseChance, uint8 EncryptionLevel, uint8 DataCore1SkillLevel, uint8 DataCore2SkillLevel, uint8 MetaLevel, float DecryptorModifier)
void Dijkstra(uint32 sourcePin, uint32 destinationPin)
double min(double x, double y)
uint8 PointsPerMinute(uint8 pAttr, uint8 sAttr)
float EffectiveQuality(int8 AgentQuality, uint8 NegotiationSkillLevel, float AgentPersonalStanding)
float ResearchPointsPerDay(float Multiplier, float AgentEffectiveQuality, uint8 CharSkillLevel, uint8 AgentSkillLevel)
float WasteSkillBased(uint32 MaterialAmount, float ProductionEfficiency)
uint32 PerfectME(uint32 MaterialAmount, uint8 BaseWasteFactor)
uint32 PointsAtLevel(uint8 level, float rank)
const uint8 skillPointMultiplier
int32 InventionTime(uint32 BaseTime, uint8 AdvLabLevel, float SlotModifier=1, float ImplantModifier=1)
int64 StartTime(uint32 currentSP, uint32 nextSP, uint8 SPMin, int64 timeNow)
int32 ME_ResearchTime(uint32 BaseTime, uint8 MetallurgyLevel, float SlotModifier=1, float ImplantModifier=1)
int64 EndTime(uint32 currentSP, uint32 nextSP, uint8 SPMin, int64 timeNow)
uint8 LevelForPoints(uint32 currentSP, uint8 rank)
int32 PE_ResearchTime(uint32 BaseTime, uint8 ResearchLevel, float SlotModifier=1, float ImplantModifier=1)
float MissionStandingIncrease(float BaseMissionIncrease, uint8 YourSocialSkillLevel)
double MetersToLightYears(double meters)
float Efficiency(uint8 AgentLevel, int8 AgentQuality)
const uint8 MAXSKILLLEVEL
int32 RE_ResearchTime(uint32 BaseTime, uint8 ResearchLevel, float SlotModifier=1, float ImplantModifier=1)
int32 ProductionTime(uint32 BaseTime, float bpProductivityModifier, float ProductionLevel, float TimeModifier=1)
float StationTaxesForReprocessing(float CharacterStandingWithStationOwner)
int32 CopyTime(uint16 BaseTime, uint8 ScienceLevel, float SlotModifier=1, float ImplantModifier=1)
float BrokerFee(uint8 brSkillLvl, float fStanding, float cStanding, float total)
float EffectiveRefiningYield(float EquipmentYield, uint8 RefiningLevel, uint8 RefiningEfficiencyLevel=9, uint8 OreProcessingLevel=0)
float SalesTax(float baseSalesTax, uint8 accountingLvl=0, uint8 taxEvasionLvl=0)
int64 max(int64 x, int64 y=0)
float RelistFee(float oldPrice, float newPrice, float brokerPercent=0.01, float discount=0)
float GetStandingBonus(float fromStanding, uint32 fromFactionID, uint8 ConnectionsSkillLevel, uint8 DiplomacySkillLevel, uint8 CriminalConnectionsSkillLevel)
float EffectiveStanding(float YourStanding, double standingBonus)
float RequiredStanding(uint8 AgentLevel, int8 AgentQuality)
float AgentStandingIncrease(float CurrentStanding, float PercentIncrease)
float ME_EffectOnWaste(float MaterialAmount, float BaseWasteFactor, float MaterialEfficiency)