Combat

In Ultima Online, Combat is one of the main action any Character will do! Fighting versus Animals, Monsters, NPCs or other Players!

In order to start performing combat! It require to Flag a Mobile! By pressing the ALT+C on the keyboard or clicking on the button PEACE in the Character Paperdoll, will make your In-Game Cursor change to Red and your Character will change his Peace Animation for a Combat Animation! (only when on foot, not while mounted)

With the Red Cursor, Double Left Click on a Mobile to Flag them and your Character Swing Speed will start! Depending on your current handing weapon, the delay between each Swing vary!

Magic combat are not the same, it require to Cast the Spell and when the Spell Incantation is finish, a cursor will appear and if you target any mobile, the Spell will launch hes animation and will do damage!


Swing Speed

The Swing Speed determine the delay between each hit in seconds for a weapon! The lowest swing speed is 1.25 seconds! Swing Speed is determined by the Weapon Speed, Character Current Stamina and the Character Item Mods Swing Speed Increase!

Character Stat
Weapon Speed
Stamina
Character Swing Speed
Swing Speed IncreaseWeapon Speed (s)
0-
5-
10-
15-
20-
25-
30-
35-
40-
45-
50-
55-
60-
Character Stat
Weapon Speed
Swing Speed Increase
Character Swing Speed
StaminaWeapon Speed (s)
0-
15-
30-
45-
60-
75-
90-
105-
120-
135-
150-
165-
180-


Hit Chance

Character Stat
Weapon Skill
Hit Chance Increase
Opponent Stat
Weapon Skill
Defense Chance Increase
Hit Chance
Chance-
Under some Effect
Attacker: Under Hit Lower Attack
Hit Chance Increase:
Defense Chance Increase:
-
Defender: Under Hit Lower Defense
Defense Chance Increase:
Hit Chance Increase:
-


Damage

Character Stat
Weapon Base DamageMin: - Max:
Strength
Tactics
Anatomy
Lumberjacking
Is Weapon an Axe?
Item Mods
Damage Increase
Damage
Minimum-
Maximum-


Parry Chance

Character Stat
Dexterity
Parrying
Bushido
Character Parry Chance
With Shield-
1-Handed Weapon-
2-Handed Weapon-


Calculator Mana Cost

Here's a calculator for the amount of Mana it will Cost for using a Weapon Ability!

Weapon Ability
Weapon Ability Mana Cost
Character Stat
Lower Mana Cost
Character Skills
Archery
Bushido
Fencing
Lumberjacking
Mace Fighting
Ninjitsu
Parrying
Poisoning
Stealth
Swordsmanship
Skill Total
For Character with Race Human:
Click the checkbox to auto-fill at 20 each
Skills - Jack of all Trade Racial Ability and
edit the Skills to match your Character!
Base Mana Cost
Base Mana
Base Mana
(With Skill Total Bonus)
Mana Cost

Note: Skill Total greater or equal to 300 remove -10 to Base Mana and Skill Total greater or equal to 200 remove -5 to Base Mana!
If a Weapon Ability is used within 3 Seconds after another Weapon Ability, the Requirement Mana Cost will Double!


Combat Order

1 = Hit or Miss (Attacker WeaponSkill+HCI VS Defender WeaponSkill+DCI)
2 = Check Parry (Defender Parrying Skill or Bushido & Parrying Skills)
3 = Take the Hit (Defender Lose HP)


- OnSwing
Can Swing (IF Paralyzed or Frozen)
OK, but is the attacker use a Spell? (IF Spell: Is the Spell is Casting and BlocksMovement)
OK, but is the attacker is a PlayerMobile? (IF PlayerMobile: Not Peaced)
IF ALL OK: CheckHit

- CheckHit
atkValue = Attacker.WeaponSkill
defValue = Defender.WeaponSkill

ourValue, theirValue

atkValue & defValue Cannot be lower then -20, it cap at -19.9 (Using a Mage Weapon -29 with 0 Magery...)

//Attacker
bonus = Get Hit Chance Increase
Chivalry.DivineFury give: bonus += 10
Ninjitsu.AnimalForm.GreyWolf or BakeKitsune give: bonus += 20
Under HitLowerAttack give: bonus -= 25
Check Weapon Ability Accuracy Bonus (like Moving Shot remove -25)
Check Special Move Accuracy Bonus (like Ninjitsu Lightning Strike give +50)
IF(bonus > 45)
bonus = 45

ourValue = (atkValue + 20.0) * (100 + bonus)

//Defender
bonus = Get Defense Chance Increase
Chivalry.DivineFury give: bonus -= 20
Under HitLowerDefense give: bonus -= 25
Check Weapon Ability Block when Active have a DefenseBonus of (int)(10 * ((Math.Max( Bushido, Ninjitsu ) - 50) / 70 + 5)) +50/+60
Check Special Move Ninjitsu Surprise Attack when Active have a DefenseBonus of -16/-40 TrackingBonus = Min(TrackingDistance, 10 + (Tracking / 10)) TrackingBonus Min/Max = 0/20 Damage ncrease = 1 + (Ninjitsu / 360) + (TrackingBonus / 100)
Check Discordance Effect -0/-28%
IF(bonus > 45)
bonus = 45
theirValue = (defValue + 20.0) * (100 + bonus)

Chance = ourValue / (theirValue * 2.0)

Chance *= 1.0 + ((double)bonus / 100)

IF(Core.AOS && Chance < 0.02)
Chance = 0.02;

Roll a 100 Face Dice and Check for Chance to Hit! (OnHit or OnMiss)

- OnHit
MirrorImage.HasClone(defender) && Defender.Skill.Ninjitsu / 150 > RandomDouble
MirrorImage Take the Hit (It remove the MirrorImage and it's FINISH)

Damage
ComputeDamage
percentageBonus = 0
//The following damage bonuses multiply damage by a factor. Capped at x3 (300%).
Weapon Ability Damage Scalar
Special Move Damage Scalar
Slayer
Enemy of One
Pack Instinct
In Double Strike
Necro Form Horrific Beast
Honor
Perfection Damage Bonus
Talisman Killer

percentageBonus = Math.Min( percentageBonus, 300 )

Damage = AOS.Scale( Damage, 100 + percentageBonus )

Damage = AbsorbDamage()
IF(Defender.Player || Defender.Body.IsHuman)
blocked = CheckParry(defender)
- CheckParry: All the Formula to check if we Parry the Attack or Not!
IF(blocked == true)
Damage = 0
Remove Honorable Execution Penalty
Check CounterAttack
Check Confidence
... ... ... Take Damage!