fix: Special moves and various UOR+ bonuses (#2384)

## Special moves
Special moves were added [27 Apr, 2000.](https://uo.com/wiki/ultima-online-wiki/technical/previous-publishes/2000-2/2000-publish-05-27th-april/). This is well past the discussed cutoff date for T2A, which is **[Nov 23, 1999 - Publish 1](https://uo.com/wiki/ultima-online-wiki/technical/previous-publishes/1999-2/1999-publish-01-23rd-november/)** as per the UOSecondAge shard which is the golden standard for T2A accuracy and represents a logical cutoff for this era. 

Regarding the specific date: **Nov 23, 1999 (Publish 1)** - the game significantly changed as a "pre-patch" to UOR on this date, and UOSecondAge picks and chooses from this date based on QoL features, while keeping the gameplay accurate to what is widely known as the "T2A era". However this date is ~4 months before the actual UOR release date.

## Defensive wrestling
Defensively wrestling as (eval+anat)/2 was added in [publish 16](https://uo.com/wiki/ultima-online-wiki/technical/previous-publishes/2002-2/publish-16-changes-and-bug-fixes-24th-july/) and should be gated behind !Core.LBR
* "Unarmed “to-be-hit” changes (chance to get hit while unarmed is now the better of either Wrestling skill, or an average of Anatomy & Evaluate Intelligence)."

## Lumberjacking damage bonus

Lumberjacking damage bonus was added in [UOR](https://uo.com/wiki/ultima-online-wiki/technical/previous-publishes/2000-2/2000-publish-05-27th-april/)

## Anatomy and LJ +10% GM bonus
Anatomy/LJ +10% GM bonus was added in [pub 13](https://uo.com/wiki/ultima-online-wiki/technical/previous-publishes/2001-2/2001-publish-13-19th-august/), which was during UOTD.
This commit is contained in:
Jack 2026-03-23 06:55:01 +13:00 committed by GitHub
parent 2b66817937
commit 6cdec42146
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 19 additions and 13 deletions

View file

@ -2615,7 +2615,7 @@ public abstract partial class BaseWeapon
// Passively check Anatomy for gain
attacker.CheckSkill(SkillName.Anatomy, 0.0, attacker.Skills.Anatomy.Cap);
if (Type == WeaponType.Axe)
if (Core.UOR && Type == WeaponType.Axe)
{
// Passively check Lumberjacking for gain
attacker.CheckSkill(SkillName.Lumberjacking, 0.0, 100.0);
@ -2636,27 +2636,27 @@ public abstract partial class BaseWeapon
/* Compute anatomy modifier
* : 1% bonus for every 5 points of anatomy
* : +10% bonus at Grandmaster or higher
* : +10% bonus at Grandmaster or higher (UOTD+)
*/
var anatomyValue = attacker.Skills.Anatomy.Value;
modifiers += anatomyValue / 5.0 / 100.0;
if (anatomyValue >= 100.0)
if (Core.UOTD && anatomyValue >= 100.0)
{
modifiers += 0.1;
}
/* Compute lumberjacking bonus
/* Compute lumberjacking bonus (UOR+)
* : 1% bonus for every 5 points of lumberjacking
* : +10% bonus at Grandmaster or higher
* : +10% bonus at Grandmaster or higher (UOTD+)
*/
if (Type == WeaponType.Axe)
if (Core.UOR && Type == WeaponType.Axe)
{
var lumberValue = attacker.Skills.Lumberjacking.Value;
modifiers += lumberValue / 5.0 / 100.0;
if (lumberValue >= 100.0)
if (Core.UOTD && lumberValue >= 100.0)
{
modifiers += 0.1;
}