public double GetBuffedDoubleValueKey(DoubleValueKey key, double defaultValue) { if (!gameItemInfo.KeyExistsDouble((int)key)) { return(defaultValue); } double value = gameItemInfo.GetValueDouble(key, defaultValue); for (int i = 0; i < gameItemInfo.Spells.Count; i++) { int spellId = gameItemInfo.Spells[i].Id; if (DoubleValueKeySpellEffects.ContainsKey(spellId) && DoubleValueKeySpellEffects[spellId].Key == key && DoubleValueKeySpellEffects[spellId].Bonus != 0) { if ((int)DoubleValueKeySpellEffects[spellId].Change == 1) { value *= DoubleValueKeySpellEffects[spellId].Bonus; } else { value += DoubleValueKeySpellEffects[spellId].Bonus; } } } return(value); }
/// <summary> /// Converts a decal specific IntValueKey to the actual IntValueKey. /// If this is not an IntValueKey, 0 will be returned. /// </summary> public static uint ConvertToDouble(DoubleValueKey input) { if (input == DoubleValueKey.SlashProt_Decal) { return((int)DoubleValueKey.ArmorModVsSlash); } if (input == DoubleValueKey.PierceProt_Decal) { return((int)DoubleValueKey.ArmorModVsPierce); } if (input == DoubleValueKey.BludgeonProt_Decal) { return((int)DoubleValueKey.ArmorModVsBludgeon); } if (input == DoubleValueKey.AcidProt_Decal) { return((int)DoubleValueKey.ArmorModVsAcid); } if (input == DoubleValueKey.LightningProt_Decal) { return((int)DoubleValueKey.ArmorModVsElectric); } if (input == DoubleValueKey.FireProt_Decal) { return((int)DoubleValueKey.ArmorModVsFire); } if (input == DoubleValueKey.ColdProt_Decal) { return((int)DoubleValueKey.ArmorModVsCold); } if (input == DoubleValueKey.ApproachDistance_Decal) { return((int)DoubleValueKey.UseRadius); } if (input == DoubleValueKey.Scale_Decal) { return((int)DoubleValueKey.DefaultScale); } if (input == DoubleValueKey.Variance_Decal) { return((int)DoubleValueKey.DamageVariance); } if (input == DoubleValueKey.AttackBonus_Decal) { return((int)DoubleValueKey.WeaponOffense); } ; if (input == DoubleValueKey.Range_Decal) { return((int)DoubleValueKey.MaximumVelocity); } if (input == DoubleValueKey.DamageBonus_Decal) { return((int)DoubleValueKey.DamageMod); } return(0); }
public double Values(DoubleValueKey key, double defaultValue = 0) { if (DoubleValues.ContainsKey((int)key)) { return(DoubleValues[(int)key]); } return(defaultValue); }
public static bool IsIDProperty(DoubleValueKey vk) { switch (vk) { case DoubleValueKey.ApproachDistance: return(false); case DoubleValueKey.SalvageWorkmanship: return(false); default: return(true); } }
public double Values(DoubleValueKey index) { return this.Values(index, 0.0); }
public bool Exists(DoubleValueKey index) { return this._doubleValues.ContainsKey((int)index); }
public static int IndexFromDVK(DoubleValueKey k) { return DVKOptions.IndexOf(k); }
public bool Exists(DoubleValueKey index) { return _wo.Exists(index); }
public double Values(DoubleValueKey key) { KeyDouble findkey = DoubleVals.Where(x => x.Key == (int)key).FirstOrDefault(); if(findkey != null) {return findkey.Val;} else{return 0;} }
public double Values(DoubleValueKey index, double defaultValue) { throw new NotImplementedException(); }
public double Values(DoubleValueKey index) { throw new NotImplementedException(); }
public double GetBuffedDoubleValueKey(DoubleValueKey key) { return(GetBuffedDoubleValueKey(key, 0d)); }
public bool TryGetValue(DoubleValueKey index, out double value) { if (_wo.Exists(index)) { value = _wo.Values(index); return true; } value = 0.0; return false; }
public double Values(DoubleValueKey index, double defaultValue) { return _wo.Values(index, defaultValue); }
public double Values(DoubleValueKey index) { return _wo.Values(index); }
public double Values(DoubleValueKey index, double defaultValue) { double value; if (this._doubleValues.TryGetValue((int)index, out value)) { return value; } return defaultValue; }
public bool TryGetValue(DoubleValueKey index, out double value) { return this._doubleValues.TryGetValue((int)index, out value); }
public bool TryGetValue(DoubleValueKey index, out double value) { throw new NotImplementedException(); }
public static int IndexFromDVK(DoubleValueKey k) { return(DVKOptions.IndexOf(k)); }
public bool Exists(DoubleValueKey index) { throw new NotImplementedException(); }
public double GetValueDouble(DoubleValueKey key, double defaultvalue) { return(this.GetValueDouble((int)key, defaultvalue)); }
public static void DumpWorldObject(WorldObject obj) { try { Utility.AddChatText("--- DEFIANCE Dump ---", 6); using (FileStream fileStream = File.Create(GetDumpFolder() + DateTime.Now.Ticks + ".xml")) { using (XmlWriter xmlWriter = XmlWriter.Create(fileStream, new XmlWriterSettings { Encoding = new UTF8Encoding(false), ConformanceLevel = ConformanceLevel.Document, Indent = true })) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("WorldObject"); Utility.AddChatText(string.Format("ID: {0}", obj.Id), 0); xmlWriter.WriteStartElement("ID"); xmlWriter.WriteString(obj.Id.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("Name: {0}", obj.Name), 0); xmlWriter.WriteStartElement("Name"); xmlWriter.WriteString(string.Format("Name: {0}", obj.Name ?? string.Empty)); xmlWriter.WriteEndElement(); if (obj.ActiveSpellCount > 0) { xmlWriter.WriteStartElement("ActiveSpells"); Utility.AddChatText("***ActiveSpells***", 6); for (int i = 0; i < obj.ActiveSpellCount; i++) { Utility.AddChatText(string.Format("Spell: {0}", obj.ActiveSpell(i)), 0); xmlWriter.WriteStartElement("Spell"); xmlWriter.WriteString(obj.ActiveSpell(i).ToString()); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } Utility.AddChatText(string.Format("Behavior: {0}", obj.Behavior), 0); xmlWriter.WriteStartElement("Behavior"); xmlWriter.WriteString(obj.Behavior.ToString()); xmlWriter.WriteEndElement(); if (obj.BoolKeys.Count > 0) { xmlWriter.WriteStartElement("BoolKeys"); Utility.AddChatText("***BoolKeys***", 6); foreach (int num in obj.BoolKeys) { Utility.AddChatText(string.Format("Key: {0}, {1}", (BoolValueKey)num, obj.Values((BoolValueKey)num, false)), 0); xmlWriter.WriteStartElement("Key"); xmlWriter.WriteStartElement("Bool"); XmlWriter xmlWriter2 = xmlWriter; BoolValueKey boolValueKey = (BoolValueKey)num; xmlWriter2.WriteString(boolValueKey.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Value"); xmlWriter.WriteString(obj.Values((BoolValueKey)num, false).ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } Utility.AddChatText(string.Format("Category: {0}", obj.Category), 0); xmlWriter.WriteStartElement("Category"); xmlWriter.WriteString(obj.Category.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("Container: {0}", obj.Container), 0); xmlWriter.WriteStartElement("Container"); xmlWriter.WriteString(obj.Container.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Coordinates"); Utility.AddChatText("***Coordinates***", 6); Utility.AddChatText(string.Format("EastWest: {0}", obj.Coordinates().EastWest), 0); xmlWriter.WriteStartElement("EastWest"); xmlWriter.WriteString(obj.Coordinates().EastWest.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("NorthSouth: {0}", obj.Coordinates().NorthSouth), 0); xmlWriter.WriteStartElement("NorthSouth"); xmlWriter.WriteString(obj.Coordinates().NorthSouth.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); if (obj.DoubleKeys.Count > 0) { xmlWriter.WriteStartElement("DoubleKeys"); Utility.AddChatText("***DoubleKeys***", 6); foreach (int num2 in obj.DoubleKeys) { Utility.AddChatText(string.Format("Key: {0}, {1}", (DoubleValueKey)num2, obj.Values((DoubleValueKey)num2, -1.0)), 0); xmlWriter.WriteStartElement("Key"); xmlWriter.WriteStartElement("Double"); XmlWriter xmlWriter3 = xmlWriter; DoubleValueKey doubleValueKey = (DoubleValueKey)num2; xmlWriter3.WriteString(doubleValueKey.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Value"); xmlWriter.WriteString(obj.Values((DoubleValueKey)num2, -1.0).ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } Utility.AddChatText(string.Format("GameDataFlags1: {0}", obj.GameDataFlags1), 0); xmlWriter.WriteStartElement("GameDataFlags1"); xmlWriter.WriteString(obj.GameDataFlags1.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("HasIdData: {0}", obj.HasIdData), 0); xmlWriter.WriteStartElement("HasIdData"); xmlWriter.WriteString(obj.HasIdData.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("Icon: {0}", obj.Icon), 0); xmlWriter.WriteStartElement("Icon"); xmlWriter.WriteString(obj.Icon.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("LastIdTime: {0}", obj.LastIdTime), 0); xmlWriter.WriteStartElement("LastIdTime"); xmlWriter.WriteString(obj.LastIdTime.ToString()); xmlWriter.WriteEndElement(); if (obj.LongKeys.Count > 0) { xmlWriter.WriteStartElement("LongKeys"); Utility.AddChatText("***LongKeys***", 6); foreach (int num3 in obj.LongKeys) { Utility.AddChatText(string.Format("Key: {0}, {1}", (LongValueKey)num3, obj.Values((LongValueKey)num3, -1)), 0); xmlWriter.WriteStartElement("Key"); xmlWriter.WriteStartElement("Long"); XmlWriter xmlWriter4 = xmlWriter; LongValueKey longValueKey = (LongValueKey)num3; xmlWriter4.WriteString(longValueKey.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Value"); xmlWriter.WriteString(obj.Values((LongValueKey)num3, -1).ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } Utility.AddChatText(string.Format("PhysicsDataFlags: {0}", obj.PhysicsDataFlags), 0); xmlWriter.WriteStartElement("PhysicsDataFlags"); xmlWriter.WriteString(obj.PhysicsDataFlags.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("ObjectClass: {0}", obj.ObjectClass), 0); xmlWriter.WriteStartElement("ObjectClass"); xmlWriter.WriteString(obj.ObjectClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("RawCoordinates"); Utility.AddChatText("***RawCoordinates***", 6); Utility.AddChatText(string.Format("X: {0}", obj.RawCoordinates().X), 0); xmlWriter.WriteStartElement("X"); xmlWriter.WriteString(obj.RawCoordinates().X.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("Y: {0}", obj.RawCoordinates().Y), 0); xmlWriter.WriteStartElement("Y"); xmlWriter.WriteString(obj.RawCoordinates().Y.ToString()); xmlWriter.WriteEndElement(); Utility.AddChatText(string.Format("Z: {0}", obj.RawCoordinates().Z), 0); xmlWriter.WriteStartElement("Z"); xmlWriter.WriteString(obj.RawCoordinates().Z.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); if (obj.StringKeys.Count > 0) { xmlWriter.WriteStartElement("StringKeys"); Utility.AddChatText("***StringKeys***", 6); foreach (int num4 in obj.StringKeys) { Utility.AddChatText(string.Format("Key: {0}, {1}", (StringValueKey)num4, obj.Values((StringValueKey)num4, string.Empty)), 0); xmlWriter.WriteStartElement("Key"); xmlWriter.WriteStartElement("String"); XmlWriter xmlWriter5 = xmlWriter; StringValueKey stringValueKey = (StringValueKey)num4; xmlWriter5.WriteString(stringValueKey.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Value"); xmlWriter.WriteString(obj.Values((StringValueKey)num4, string.Empty) ?? string.Empty); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } if (obj.SpellCount > 0) { xmlWriter.WriteStartElement("SpellCount"); Utility.AddChatText("***SpellCount***", 6); for (int j = 0; j < obj.SpellCount; j++) { Utility.AddChatText(string.Format("Spell: {0}", obj.Spell(j)), 0); xmlWriter.WriteStartElement("Spell"); xmlWriter.WriteString(obj.Spell(j).ToString()); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); } Utility.AddChatText(string.Format("Type: {0}", obj.Type), 0); xmlWriter.WriteStartElement("Type"); xmlWriter.WriteString(obj.Type.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } } } catch (Exception ex) { Repo.RecordException(ex); } }