public static void AddFacegearToComparison(Dictionary<EquipmentInfo.StatEnum, int> xPangya, EquipmentInfo xFrom) { if (xFrom != null) { foreach (KeyValuePair<EquipmentInfo.StatEnum, int> kvp in xFrom.deniStatChanges) { if (!xPangya.ContainsKey(kvp.Key)) { xPangya[kvp.Key] = 0; } EquipmentInfo.StatEnum key; xPangya[key = kvp.Key] = xPangya[key] + -kvp.Value; } } }
private bool _IsItemEquipped(EquipmentInfo xEq, ItemCodex.ItemTypes enType) { return xEq != null && enType == xEq.enItemType; }
public int GetTotalStatChange(EquipmentInfo.StatEnum enStat) { int iReturn = 0; if (this.xWeapon != null) { iReturn += this.xWeapon.GetStatChange(enStat); } if (this.xHat != null) { iReturn += this.xHat.GetStatChange(enStat); } if (this.xHairdo != null) { iReturn += this.xHairdo.GetStatChange(enStat); } if (this.xShield != null) { iReturn += this.xShield.GetStatChange(enStat); } if (this.xArmor != null) { iReturn += this.xArmor.GetStatChange(enStat); } if (this.xFacegear != null) { iReturn += this.xFacegear.GetStatChange(enStat); } return iReturn; }
public void RemoveEquipmentBonus(EquipmentInfo p_xEquipToRemove) { foreach (KeyValuePair<EquipmentInfo.StatEnum, int> kvp in p_xEquipToRemove.deniStatChanges) { if (kvp.Key == EquipmentInfo.StatEnum.HP) { float fPercentOfMax = (float)this.iHP / (float)this.iMaxHP; this.iBaseMaxHP -= kvp.Value; this.iHP -= (int)((float)kvp.Value * this.fMaxHPMultiplier * fPercentOfMax); if (this.iMaxHP < this.iHP) { this.iHP = this.iMaxHP; } else if (this.iHP <= 0) { this.iHP = 1; } } else if (kvp.Key == EquipmentInfo.StatEnum.EP) { this.iMaxEP -= kvp.Value; if (this.iMaxEP < this.iEP) { this.iEP = this.iMaxEP; } } else if (kvp.Key == EquipmentInfo.StatEnum.ATK) { this.iBaseATK -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.MATK) { this.iBaseMATK -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.DEF) { this.iBaseDEF -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.ASPD) { this.iAttackSPD -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.CSPD) { this.iCastSPD -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.Crit) { this.iCritChanceBonus -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.CritDMG) { this.iCritDamageModifier -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.ShldHP) { this.iShieldMaxHP -= kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.EPRegenCooldownReduction) { this.iEPCooldownReduction -= kvp.Value; this.iEPCooldownToSet += kvp.Value; } } }
public int GetStatByEnum(EquipmentInfo.StatEnum enStat) { if (enStat == EquipmentInfo.StatEnum.ATK) { return this.iATK; } if (enStat == EquipmentInfo.StatEnum.DEF) { return this.iDefense; } if (enStat == EquipmentInfo.StatEnum.MATK) { return this.iMATK; } if (enStat == EquipmentInfo.StatEnum.Crit) { return this.iCritChanceBonus; } if (enStat == EquipmentInfo.StatEnum.CritDMG) { return this.iCritDamageModifier; } if (enStat == EquipmentInfo.StatEnum.ASPD) { return this.iAttackSPD; } if (enStat == EquipmentInfo.StatEnum.CSPD) { return this.iCastSPD; } if (enStat == EquipmentInfo.StatEnum.HP) { return this.iMaxHP; } if (enStat == EquipmentInfo.StatEnum.EP) { return this.iMaxEP; } if (enStat == EquipmentInfo.StatEnum.MaxEP) { return this.iMaxEP; } if (enStat == EquipmentInfo.StatEnum.ShldHP) { return this.iShieldMaxHP; } if (enStat == EquipmentInfo.StatEnum.EPRegenCooldownReduction) { return this.iEPCooldownReduction; } return 0; }
public void CalculateEffectChange(EquipmentInfo.StatEnum enAffectedStat, float fChange) { if (enAffectedStat == EquipmentInfo.StatEnum.ATK) { this.iBaseATK += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.MATK) { this.iBaseMATK += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.ASPD) { this.iAttackSPD += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.CSPD) { this.iCastSPD += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.DEF) { this.iBaseDEF += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.Crit) { this.iCritChanceBonus += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.CritDMG) { this.iCritDamageModifier += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.CritVulnerabilityFlat) { this.iCritVulnerabilityFlat += (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.CritVulnerabilityMultiplier) { this.fCritVulnerabilityMultiplier += fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.DamageResistance) { this.fDamageResistance += fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.ATKMultiplier) { this.fBaseATKMultiplier += fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.MATKMultiplier) { this.fBaseMATKMultiplier += fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.DEFMultiplier) { this.fBaseDEFMultiplier += fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.EPRegenCooldownReduction) { this.iEPCooldownReduction += (int)fChange; this.iEPCooldownToSet -= (int)fChange; } else if (enAffectedStat == EquipmentInfo.StatEnum.EPRegenSpeed) { this.fEPCooldownRate += fChange; } this.SendStatChangeToClient(enAffectedStat, fChange); }
public static string StatEnumAsString(EquipmentInfo.StatEnum en) { string sRet = "Stat"; if (en == EquipmentInfo.StatEnum.ASPD) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_ASPD"); } else if (en == EquipmentInfo.StatEnum.ATK) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_ATK"); } else if (en == EquipmentInfo.StatEnum.Crit) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_Crit"); } else if (en == EquipmentInfo.StatEnum.CON) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_CON"); } else if (en == EquipmentInfo.StatEnum.CSPD) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_CSPD"); } else if (en == EquipmentInfo.StatEnum.DEF) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_DEF"); } else if (en == EquipmentInfo.StatEnum.EP) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_MaxEP"); } else if (en == EquipmentInfo.StatEnum.HP) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_MaxHP"); } else if (en == EquipmentInfo.StatEnum.MATK) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_MATK"); } else if (en == EquipmentInfo.StatEnum.ShldHP) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_ShldHP"); } else if (en == EquipmentInfo.StatEnum.EPRegenCooldownReduction) { sRet = CAS.GetLibraryText("Menus", "InGameMenu_Stats_EPRegenCooldownReduction"); } return sRet; }
public static EquipmentInfo GetAccessoryInfo(ItemCodex.ItemTypes enType) { EquipmentInfo xIt = null; if (enType == ItemCodex.ItemTypes._Accessory_Scarf) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 4; } else if (enType == ItemCodex.ItemTypes._Accessory_RabbitsFoot) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.Crit] = 5; } else if (enType == ItemCodex.ItemTypes._Accessory_VoodooDoll) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.Crit] = 3; } else if (enType == ItemCodex.ItemTypes._Accessory_Ring01Blue) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.MATK] = 15; } else if (enType == ItemCodex.ItemTypes._Accessory_Ring01Red) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ATK] = 10; } else if (enType == ItemCodex.ItemTypes._Accessory_Ring01Yellow) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ASPD] = 5; xIt.deniStatChanges[EquipmentInfo.StatEnum.CSPD] = 10; } else if (enType == ItemCodex.ItemTypes._Accessory_Amulet01Blue) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.EP] = 15; } else if (enType == ItemCodex.ItemTypes._Accessory_Amulet01Red) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.HP] = 75; } else if (enType == ItemCodex.ItemTypes._Accessory_SlimeRing) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 5; } else if (enType == ItemCodex.ItemTypes._Accessory_PlasmaBracelet) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.MATK] = 30; } else if (enType == ItemCodex.ItemTypes._Accessory_MissileControlUnit) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.MATK] = 15; xIt.deniStatChanges[EquipmentInfo.StatEnum.ATK] = 15; xIt.lxSpecialEffects.Add(EquipmentInfo.SpecialEffect._Unique_MissileControlUnit); } else if (enType == ItemCodex.ItemTypes._Accessory_Gloves) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 1; } else if (enType == ItemCodex.ItemTypes.Null) { return null; } return xIt; }
public ActiveDebuff(EquipmentInfo.StatEnum enAffectedStat) : base(enAffectedStat) { }
public ActiveBuff(EquipmentInfo.StatEnum enAffectedStat) { this.enAffectedStat = enAffectedStat; }
private void SendStatChangeToClient(EquipmentInfo.StatEnum enStat, float fChange) { Game1 master = Program.GetTheGame(); if (master.xNetworkInfo.enCurrentRole != NetworkHelperInterface.NetworkRole.Server) { return; } foreach (PlayerView xOtherView in master.dixPlayers.Values) { if (xOtherView != master.xLocalPlayer) { NetOutgoingMessage om = master.xNetworkInfo.server.CreateMessage(); if (this.xOwner.enEntityType == IEntity.EntityType.Player) { om.Write(66); om.Write((this.xOwner as PlayerEntity).Owner.iConnectionIdentifier); om.Write((byte)enStat); om.Write(fChange); } else { om.Write(67); om.Write((this.xOwner as Enemy).iID); om.Write((byte)enStat); om.Write(fChange); } master.xNetworkInfo.server.SendMessage(om, xOtherView.netConnection, NetDeliveryMethod.ReliableUnordered); } } }
public static Dictionary<EquipmentInfo.StatEnum, int> GetItemComparison(EquipmentInfo xFrom, EquipmentInfo xTo) { Dictionary<EquipmentInfo.StatEnum, int> xPangya = new Dictionary<EquipmentInfo.StatEnum, int>(); if (xFrom != null) { foreach (KeyValuePair<EquipmentInfo.StatEnum, int> kvp in xFrom.deniStatChanges) { xPangya[kvp.Key] = -kvp.Value; } } if (xTo != null && (xFrom == null || xTo.enItemType != xFrom.enItemType)) { foreach (KeyValuePair<EquipmentInfo.StatEnum, int> kvp2 in xTo.deniStatChanges) { if (xPangya.ContainsKey(kvp2.Key)) { Dictionary<EquipmentInfo.StatEnum, int> dictionary; EquipmentInfo.StatEnum key; (dictionary = xPangya)[key = kvp2.Key] = dictionary[key] + kvp2.Value; } else { xPangya[kvp2.Key] = kvp2.Value; } } } return xPangya; }
public int GetStatChange(EquipmentInfo.StatEnum p_enStatToGet) { if (this.deniStatChanges.ContainsKey(p_enStatToGet)) { return this.deniStatChanges[p_enStatToGet]; } return 0; }
public static EquipmentInfo GetShieldInfo(ItemCodex.ItemTypes enType) { EquipmentInfo xIt = null; if (enType == ItemCodex.ItemTypes._Shield_WoodenShield) { xIt = new EquipmentInfo("Wooden", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 80; } else if (enType == ItemCodex.ItemTypes._Shield_TestShield) { xIt = new EquipmentInfo("Test", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 200; } else if (enType == ItemCodex.ItemTypes._Shield_Iron) { xIt = new EquipmentInfo("Iron", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 190; } else if (enType == ItemCodex.ItemTypes._Shield_Wisp) { xIt = new EquipmentInfo("Wisp", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 200; xIt.lxSpecialEffects.Add(EquipmentInfo.SpecialEffect._Unique_WispShield_BetterProjectileReflect); } else if (enType == ItemCodex.ItemTypes._Shield_Crystal) { xIt = new EquipmentInfo("Crystal", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 125; xIt.lxSpecialEffects.Add(EquipmentInfo.SpecialEffect._Unique_CrystalShield_PGDamageReduce01); } else if (enType == ItemCodex.ItemTypes._Shield_Barrel) { xIt = new EquipmentInfo("Barrel", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ShldHP] = 250; } else if (enType == ItemCodex.ItemTypes.Null) { return null; } return xIt; }
public EBuffFloat(int iDuration, float fBuffFactor, EquipmentInfo.StatEnum enAffectedStat, bool bDeBuff) : base(iDuration, fBuffFactor) { this.enAffectedStat = enAffectedStat; this.bDeBuff = bDeBuff; }
public static EquipmentInfo GetShoesInfo(ItemCodex.ItemTypes enType) { EquipmentInfo xIt = null; if (enType == ItemCodex.ItemTypes._Shoes_Sandals) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 2; } else if (enType == ItemCodex.ItemTypes._Shoes_MountainBoots) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 5; } else if (enType == ItemCodex.ItemTypes._Shoes_BirdFeet) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 6; } else if (enType == ItemCodex.ItemTypes._Shoes_PhasemanBoots) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 16; xIt.deniStatChanges[EquipmentInfo.StatEnum.EPRegenCooldownReduction] = 15; } else if (enType == ItemCodex.ItemTypes._Shoes_Socks) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 1; } else if (enType == ItemCodex.ItemTypes._Shoes_GoblinShoes) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 10; xIt.lxSpecialEffects.Add(EquipmentInfo.SpecialEffect._Unique_GoblinShoes_LessSlippery); } else if (enType == ItemCodex.ItemTypes.Null) { return null; } return xIt; }
public void AddEquipmentBonus(EquipmentInfo p_xEquipToAdd) { foreach (KeyValuePair<EquipmentInfo.StatEnum, int> kvp in p_xEquipToAdd.deniStatChanges) { if (kvp.Key == EquipmentInfo.StatEnum.HP) { bool bIsFull = this.iMaxHP == this.iHP; this.iBaseMaxHP += kvp.Value; float fMultiMastah = (float)this.iHP / (float)this.iMaxHP; this.iHP += (int)((float)kvp.Value * this.fMaxHPMultiplier * fMultiMastah); if (bIsFull) { this.iHP = this.iMaxHP; } } else if (kvp.Key == EquipmentInfo.StatEnum.EP) { this.iMaxEP += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.ATK) { this.iBaseATK += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.MATK) { this.iBaseMATK += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.DEF) { this.iBaseDEF += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.ASPD) { this.iAttackSPD += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.CSPD) { this.iCastSPD += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.Crit) { this.iCritChanceBonus += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.CritDMG) { this.iCritDamageModifier += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.ShldHP) { this.iShieldMaxHP += kvp.Value; } else if (kvp.Key == EquipmentInfo.StatEnum.EPRegenCooldownReduction) { this.iEPCooldownReduction += kvp.Value; this.iEPCooldownToSet -= kvp.Value; } } }
public static EquipmentInfo GetArmorInfo(ItemCodex.ItemTypes enType) { EquipmentInfo xIt = null; if (enType == ItemCodex.ItemTypes._Armor_Shawl) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 6; xIt.deniStatChanges[EquipmentInfo.StatEnum.MATK] = 10; } else if (enType == ItemCodex.ItemTypes._Armor_AdventureShirt) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 4; } else if (enType == ItemCodex.ItemTypes._Armor_Shirt) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 7; xIt.deniStatChanges[EquipmentInfo.StatEnum.ASPD] = 3; } else if (enType == ItemCodex.ItemTypes._Armor_Vest) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 8; } else if (enType == ItemCodex.ItemTypes._Armor_KnittedShirt) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 4; xIt.deniStatChanges[EquipmentInfo.StatEnum.HP] = 60; } else if (enType == ItemCodex.ItemTypes._Armor_BrawlerPlate) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.ASPD] = 7; xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 10; } else if (enType == ItemCodex.ItemTypes._Armor_SlimeArmor) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 25; xIt.deniStatChanges[EquipmentInfo.StatEnum.ASPD] = 4; } else if (enType == ItemCodex.ItemTypes._Armor_AdventureVest) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 2; } else if (enType == ItemCodex.ItemTypes._Armor_ChainMail) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 15; } else if (enType == ItemCodex.ItemTypes._Armor_GoblinJacket) { xIt = new EquipmentInfo("", enType); xIt.deniStatChanges[EquipmentInfo.StatEnum.DEF] = 25; } else if (enType == ItemCodex.ItemTypes.Null) { return null; } return xIt; }
public static string GetSpecialEffectString(EquipmentInfo.SpecialEffect enEffect) { string sRet = ""; if (enEffect == EquipmentInfo.SpecialEffect._Unique_StingerBonuses) { sRet = "Piercing Dash Charge Speed"; } else if (enEffect == EquipmentInfo.SpecialEffect._Unique_ArcherApple) { sRet = "Mosmossa"; } return sRet; }