Revert "Updates Packets & Randomizer (#43)" (#61)

This reverts commit 179cb50557.
This commit is contained in:
Kamron Batman 2019-11-11 08:46:11 -08:00 • committed by GitHub
parent 179cb50557
commit c2ecc76457
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
588 changed files with 16260 additions and 10926 deletions

View file

@ -291,16 +291,24 @@ namespace Server.Items
if (m_Quality == WeaponQuality.Exceptional)
bonus += 20;
bonus += m_DurabilityLevel switch
switch (m_DurabilityLevel)
{
WeaponDurabilityLevel.Durable => 20,
WeaponDurabilityLevel.Substantial => 50,
WeaponDurabilityLevel.Massive => 70,
WeaponDurabilityLevel.Fortified => 100,
WeaponDurabilityLevel.Indestructible => 120,
_ => 0
};
case WeaponDurabilityLevel.Durable:
bonus += 20;
break;
case WeaponDurabilityLevel.Substantial:
bonus += 50;
break;
case WeaponDurabilityLevel.Massive:
bonus += 70;
break;
case WeaponDurabilityLevel.Fortified:
bonus += 100;
break;
case WeaponDurabilityLevel.Indestructible:
bonus += 120;
break;
}
if (Core.AOS)
{
@ -508,9 +516,10 @@ namespace Server.Items
double swrd = m.Skills.Swords.Value;
double fenc = m.Skills.Fencing.Value;
double mcng = m.Skills.Macing.Value;
double val;
sk = SkillName.Swords;
double val = swrd;
val = swrd;
if (fenc > val)
{
@ -521,7 +530,12 @@ namespace Server.Items
if (mcng > val) sk = SkillName.Macing;
}
else if (WeaponAttributes.MageWeapon != 0)
sk = m.Skills.Magery.Value > m.Skills[Skill].Value ? SkillName.Magery : Skill;
{
if (m.Skills.Magery.Value > m.Skills[Skill].Value)
sk = SkillName.Magery;
else
sk = Skill;
}
else
{
sk = Skill;
@ -778,7 +792,9 @@ namespace Server.Items
if (canSwing && attacker.HarmfulCheck(defender))
{
attacker.DisruptiveAction();
Packets.SendSwing(attacker.NetState, attacker.Serial, defender.Serial);
if (attacker.NetState != null)
attacker.Send(new Swing(0, attacker, defender));
if (attacker is BaseCreature bc)
{
@ -1433,7 +1449,7 @@ namespace Server.Items
damage = AOS.Scale(damage, 100 + damageBonus);
return damage / 100.0;
return damage / 100;
}
public virtual CheckSlayerResult CheckSlayers(Mobile attacker, Mobile defender)
@ -1625,32 +1641,65 @@ namespace Server.Items
if (!Core.AOS)
return 0;
return m_AccuracyLevel switch
int bonus = 0;
switch (m_AccuracyLevel)
{
WeaponAccuracyLevel.Accurate => 2,
WeaponAccuracyLevel.Surpassingly => 4,
WeaponAccuracyLevel.Eminently => 6,
WeaponAccuracyLevel.Exceedingly => 8,
WeaponAccuracyLevel.Supremely => 10,
_ => 0
};
case WeaponAccuracyLevel.Accurate:
bonus += 02;
break;
case WeaponAccuracyLevel.Surpassingly:
bonus += 04;
break;
case WeaponAccuracyLevel.Eminently:
bonus += 06;
break;
case WeaponAccuracyLevel.Exceedingly:
bonus += 08;
break;
case WeaponAccuracyLevel.Supremely:
bonus += 10;
break;
}
return bonus;
}
public virtual int GetDamageBonus() =>
VirtualDamageBonus + m_Quality switch
public virtual int GetDamageBonus()
{
int bonus = VirtualDamageBonus;
switch (m_Quality)
{
WeaponQuality.Low => -20,
WeaponQuality.Exceptional => 20,
_ => 0,
} + m_DamageLevel switch
case WeaponQuality.Low:
bonus -= 20;
break;
case WeaponQuality.Exceptional:
bonus += 20;
break;
}
switch (m_DamageLevel)
{
WeaponDamageLevel.Ruin => 15,
WeaponDamageLevel.Might => 20,
WeaponDamageLevel.Force => 25,
WeaponDamageLevel.Power => 30,
WeaponDamageLevel.Vanq => 35,
_ => 0,
};
case WeaponDamageLevel.Ruin:
bonus += 15;
break;
case WeaponDamageLevel.Might:
bonus += 20;
break;
case WeaponDamageLevel.Force:
bonus += 25;
break;
case WeaponDamageLevel.Power:
bonus += 30;
break;
case WeaponDamageLevel.Vanq:
bonus += 35;
break;
}
return bonus;
}
public virtual double ScaleDamageAOS(Mobile attacker, double damage, bool checkSkills)
{
@ -2304,7 +2353,10 @@ namespace Server.Items
}
else if (m_Slayer != SlayerName.None || m_Slayer2 != SlayerName.None ||
m_DurabilityLevel != WeaponDurabilityLevel.Regular || m_DamageLevel != WeaponDamageLevel.Regular ||
m_AccuracyLevel != WeaponAccuracyLevel.Regular) attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified
m_AccuracyLevel != WeaponAccuracyLevel.Regular)
{
attrs.Add(new EquipInfoAttribute(1038000)); // Unidentified
}
if (m_Poison != null && m_PoisonCharges > 0)
attrs.Add(new EquipInfoAttribute(1017383, m_PoisonCharges));
@ -2312,15 +2364,21 @@ namespace Server.Items
int number;
if (Name == null)
{
number = LabelNumber;
}
else
{
LabelTo(from, Name);
number = 1041000;
}
if (attrs.Count > 0 || Crafter != null || Name == null)
EquipmentPackets.SendDisplayEquipmentInfo(from.NetState, this, number, m_Crafter, false, attrs);
if (attrs.Count == 0 && Crafter == null && Name != null)
return;
EquipmentInfo eqInfo = new EquipmentInfo(number, m_Crafter, false, attrs.ToArray());
from.Send(new DisplayEquipmentInfo(this, eqInfo));
}
private class ResetEquipTimer : Timer
@ -2860,7 +2918,7 @@ namespace Server.Items
double damage = GetAosDamage(attacker, 23, 1, 4);
defender.BoltEffect();
defender.BoltEffect(0);
SpellHelper.Damage(TimeSpan.Zero, defender, attacker, damage, 0, 0, 0, 0, 100);
}
@ -3297,7 +3355,8 @@ namespace Server.Items
parentMobile.AddSkillMod(m_MageMod);
}
PlayerConstructed |= GetSaveFlag(flags, SaveFlag.PlayerConstructed);
if (GetSaveFlag(flags, SaveFlag.PlayerConstructed))
PlayerConstructed = true;
if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
SkillBonuses = new AosSkillBonuses(this, reader);
@ -3449,7 +3508,8 @@ namespace Server.Items
if (m_Hits <= 0 && m_MaxHits <= 0) m_Hits = m_MaxHits = Utility.RandomMinMax(InitMinHits, InitMaxHits);
PlayerConstructed |= version < 6; // we don't know, so, assume it's crafted
if (version < 6)
PlayerConstructed = true; // we don't know, so, assume it's crafted
}
#endregion