static void AddResitAttributesWithHeat(ref Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > > Attributes, float resistValueDB, bool bActiveModule, bool bRig, MODULE_ATTRIBUTES attribute) { Debug.Assert(!(bActiveModule && bRig)); Debug.Assert(resistValueDB < 0.0f); float resistCold = -(0.01f * resistValueDB); if (!bActiveModule && !bRig) { resistCold *= 1.25f; // compensation skill bonus } AddTo(ref Attributes, attribute, bActiveModule ? MODULE_ACTIVE.ACTIVE : MODULE_ACTIVE.PASSIVE, resistCold, 1); }
private static ModuleDescription CreateAbyssalModule(string ModuleName, string[] MarketGroups, MODULE_ATTRIBUTES_DB dbAttribute, float bonus, MODULE_ATTRIBUTES attribute, MODULE_SLOT slot, NpgsqlConnection conn) { int typeID = GetTypeIDByName(ModuleName, conn); float value = GetMaxAttributeValueForMarketGroup(MarketGroups, dbAttribute, conn); Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > > attributes = new Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > >(); attributes.Add( attribute, new Dictionary <MODULE_ACTIVE, Tuple <float, int> > { { MODULE_ACTIVE.PASSIVE, new Tuple <float, int>(value * bonus, 1) } } ); ModuleDescription result = new ModuleDescription( ModuleName, typeID, slot, attributes, 0.0f, -1 ); return(result); }
static void AddTo(ref Dictionary <MODULE_ATTRIBUTES, Dictionary <MODULE_ACTIVE, Tuple <float, int> > > Attributes, MODULE_ATTRIBUTES Attr, MODULE_ACTIVE Active, float Value, int StackingGroup) { if (!Attributes.ContainsKey(Attr)) { Attributes.Add(Attr, new Dictionary <MODULE_ACTIVE, Tuple <float, int> >()); } Attributes[Attr][Active] = new Tuple <float, int>(Value, StackingGroup); }