public static string GenerateScPacket(this Mate e) { if (e.IsTemporalMate) { return(""); } double xp = e.XpLoad(); if (xp > int.MaxValue) { xp = (int)(xp / 100); } switch (e.MateType) { case MateType.Partner: return ($"sc_n " + $"{e.PetId} " + $"{e.NpcMonsterVNum} " + $"{e.MateTransportId} " + $"{e.Level} " + $"{e.Loyalty} " + $"{e.Experience} " + $"{(e.WeaponInstance != null ? $"{e.WeaponInstance.ItemVNum}.{e.WeaponInstance.Rare}.{e.WeaponInstance.Upgrade}" : "-1")} " + $"{(e.ArmorInstance != null ? $"{e.ArmorInstance.ItemVNum}.{e.ArmorInstance.Rare}.{e.ArmorInstance.Upgrade}" : "-1")} " + $"{(e.GlovesInstance != null ? $"{e.GlovesInstance.ItemVNum}.0.0" : "-1")} " + $"{(e.BootsInstance != null ? $"{e.BootsInstance.ItemVNum}.0.0" : "-1")} " + $"0 0 1 " + $"{e.WeaponInstance?.Upgrade ?? 0} " + $"{e.DamageMinimum + (e.WeaponInstance?.Item.DamageMinimum ?? 0)} " + $"{e.DamageMaximum + (e.WeaponInstance?.Item.DamageMaximum ?? 0)} " + //$"{e.Concentrate + (e.WeaponInstance?.Item.HitRate ?? 0)} " + $"500" + $"{e.Monster.CriticalChance + (e.WeaponInstance?.Item.CriticalLuckRate ?? 0)} " + $"{e.Monster.CriticalRate + (e.WeaponInstance?.Item.CriticalRate ?? 0)} " + $"{e.ArmorInstance?.Upgrade ?? 0} {e.Monster.CloseDefence + e.MeleeDefense + (e.ArmorInstance?.Item.CloseDefence ?? 0) + (e.GlovesInstance?.Item.CloseDefence ?? 0) + (e.BootsInstance?.Item.CloseDefence ?? 0)} " + $"{e.MeleeDefenseDodge + (e.ArmorInstance?.Item.DefenceDodge ?? 0) + (e.GlovesInstance?.Item.DefenceDodge ?? 0) + (e.BootsInstance?.Item.DefenceDodge ?? 0)} " + $"{e.RangeDefense + (e.ArmorInstance?.Item.DistanceDefence ?? 0) + (e.GlovesInstance?.Item.DistanceDefence ?? 0) + (e.BootsInstance?.Item.DistanceDefence ?? 0)} " + $"{e.RangeDefenseDodge + (e.ArmorInstance?.Item.DistanceDefenceDodge ?? 0) + (e.GlovesInstance?.Item.DistanceDefenceDodge ?? 0) + (e.BootsInstance?.Item.DistanceDefenceDodge ?? 0)} " + $"{e.MagicalDefense + (e.ArmorInstance?.Item.MagicDefence ?? 0) + (e.GlovesInstance?.Item.MagicDefence ?? 0) + (e.BootsInstance?.Item.MagicDefence ?? 0)} " + $"{(e.IsUsingSp ? e.Sp.Instance.Item.Element : 0)} " + $"{e.EquipmentFireResistance + e.Monster.FireResistance + (e.GlovesInstance?.FireResistance ?? 0) + (e.GlovesInstance?.Item.FireResistance ?? 0) + (e.BootsInstance?.FireResistance ?? 0) + (e.BootsInstance?.Item.FireResistance ?? 0)} " + $"{e.EquipmentWaterResistance + e.Monster.WaterResistance + (e.GlovesInstance?.WaterResistance ?? 0) + (e.GlovesInstance?.Item.WaterResistance ?? 0) + (e.BootsInstance?.WaterResistance ?? 0) + (e.BootsInstance?.Item.WaterResistance ?? 0)} " + $"{e.EquipmentLightResistance + e.Monster.LightResistance + (e.GlovesInstance?.LightResistance ?? 0) + (e.GlovesInstance?.Item.LightResistance ?? 0) + (e.BootsInstance?.LightResistance ?? 0) + (e.BootsInstance?.Item.LightResistance ?? 0)} " + $"{e.EquipmentDarkResistance + e.Monster.DarkResistance + (e.GlovesInstance?.DarkResistance ?? 0) + (e.GlovesInstance?.Item.DarkResistance ?? 0) + (e.BootsInstance?.DarkResistance ?? 0) + (e.BootsInstance?.Item.DarkResistance ?? 0)} " + $"{e.Hp} " + $"{e.MaxHp} " + $"{e.Mp} " + $"{e.MaxMp} " + $"{(e.IsTeamMember ? "1" : "0")} " + $"{xp} " + $"{(e.IsUsingSp ? e.Sp.GetName() : e.Name.Replace(' ', '^'))} " + $"{(e.IsUsingSp && e.Sp != null ? e.Sp.Instance.Item.Morph : e.Skin != 0 ? e.Skin : -1)} " + $"{(e.IsSummonable ? 1 : 0)} " + $"{(e.Sp != null ? $"{e.Sp.Instance.ItemVNum}.{e.Sp.GetXpPercent()}" : "-1")}" + $"{(e.Sp != null ? e.Sp.GenerateSkills() : " -1 -1 -1")}"); case MateType.Pet: return ($"sc_p " + $"{e.PetId} " + $"{e.NpcMonsterVNum} " + $"{e.MateTransportId} " + $"{e.Level} " + $"{e.Loyalty} " + $"{e.Experience} " + $"0 " + $"{e.Attack} " + $"{e.DamageMinimum} " + $"{e.DamageMaximum} " + $"{e.Concentrate} " + $"{e.Monster.CriticalChance} " + $"{e.Monster.CriticalRate} " + $"{e.Defence} " + $"{e.MeleeDefense} " + $"{e.MeleeDefenseDodge} " + $"{e.RangeDefense} " + $"{e.RangeDefenseDodge} " + $"{e.MagicalDefense} " + $"{e.Monster.Element} " + $"{e.Monster.FireResistance} " + $"{e.Monster.WaterResistance} " + $"{e.Monster.LightResistance} " + $"{e.Monster.DarkResistance} " + $"{e.Hp} " + $"{e.MaxHp} " + $"{e.Mp} " + $"{e.MaxMp} " + $"{(e.IsTeamMember ? "1" : "0")} " + $"{xp} " + $"{(e.CanPickUp ? 1 : 0)} " + $"{e.Name.Replace(' ', '^')} " + $"{(e.IsSummonable ? 1 : 0)}"); } return(""); }