Hire Fighter
From UO:PvE Wiki
Hire Fighter is a service npc. About D12–13.
Development source reviewed on 29 October 2026. In-game availability is unverified.
At a glance#
| Property | Value |
|---|---|
| Classification | Service NPC |
| Difficulty | About D12–13 |
| AI | AI_Melee |
| Taming | Not marked tameable |
| Minimum taming skill | Not specified |
| Control slots | 2; 2 |
Attributes and damage#
| Attribute | Value or range | Interpretation |
|---|---|---|
| Str | 91 | Source range |
| Dex | 91 | Source range |
| Int | 50 | Source range |
| Damage | 7–14 | Source range |
Skills#
| Attribute | Value or range | Interpretation |
|---|---|---|
| Tactics | 36–67 | Source range |
| Magery | 22 | Source range |
| Swords | 64–100 | Source range |
| Parry | 60–82 | Source range |
| Macing | 36–67 | Source range |
| Wrestling | 25–47 | Source range |
Difficulty notes#
- Freshly constructed ordinary wild creature; no paragon conversion, control/summon scaling, equipped/stat offsets, spell effects or special runtime transformations. Endless Journey expansion branches assumed. Missing skill/resistance assignments use zero. Numeric interval endpoints may not co-occur.
Loot eligibility#
Excluded from ordinary encounter loot
The shared ordinary encounter-loot path excludes this source class or constant property. Banking, vendor, carried-inventory and other scripted item operations are not corpse-drop promises.
No ordinary generated supplement through the excluded encounter path.
This evaluates definite source exclusions and requested themes. It does not inspect live ownership, summoned status, corpse contents or world spawns.
- Creature is not deleted or a player.
- Creature is not summoned, controlled or bonded.
- Creature has no recorded owners.
- NoKillAwards, IsInvulnerable and Blessed must all be false at generation time.
- Ordinary loot is generated only once; existing generated gold and ordinary equipment consume that budget.
Loot and special drops#
Source calls describe requested themes, conditions and inventory. Ordinary equipment/gold are reconciled through DifficultyLoot; these calls are not additive guaranteed payouts. Runtime dispatch and conditional special rewards still apply.
Drop rules#
| Loot request | Interpretation | Condition |
|---|---|---|
| Gold: 25, 100 | Requests gold through the shared pocket-gold cap; the expression is not an additional guaranteed purse. | No condition in extracted rule |
Scripted drops and item transfers#
These operations occur in the named methods. They can describe encounter rewards, service transactions or other item transfers; they are not an unconditional corpse-drop list.
| Operation | Method | Interpretation and conditions |
|---|---|---|
| c.DropItem(new Gold(GoldOnDeath)) | OnDeath | Places a scripted item into a container: Gold. Read the source conditions and method context. if (GoldOnDeath > 0) |
Starting inventory#
| Inventory rule | Condition |
|---|---|
| EquipItem(new Shoes(Utility.RandomNeutralHue())) | switch (Utility.Random(2)) and case 0: |
| EquipItem(new Boots(Utility.RandomNeutralHue())) | switch (Utility.Random(2)) and case 1: |
| EquipItem(new Shirt()) | Unconditional |
| EquipItem(weapon) | Unconditional |
| EquipItem(shield) | // Pick a random shield if (FindItemOnLayer(Layer.TwoHanded) == null) |
| EquipItem(helm) | Unconditional |
| EquipItem(new LeatherChest()) | // Pick some armour switch (Utility.Random(4)) and case 0: // Leather |
| EquipItem(new LeatherArms()) | // Pick some armour switch (Utility.Random(4)) and case 0: // Leather |
| EquipItem(new LeatherGloves()) | // Pick some armour switch (Utility.Random(4)) and case 0: // Leather |
| EquipItem(new LeatherGorget()) | // Pick some armour switch (Utility.Random(4)) and case 0: // Leather |
| EquipItem(new LeatherLegs()) | // Pick some armour switch (Utility.Random(4)) and case 0: // Leather |
| EquipItem(new StuddedChest()) | // Pick some armour switch (Utility.Random(4)) and case 1: // Studded Leather |
| EquipItem(new StuddedArms()) | // Pick some armour switch (Utility.Random(4)) and case 1: // Studded Leather |
| EquipItem(new StuddedGloves()) | // Pick some armour switch (Utility.Random(4)) and case 1: // Studded Leather |
| EquipItem(new StuddedGorget()) | // Pick some armour switch (Utility.Random(4)) and case 1: // Studded Leather |
| EquipItem(new StuddedLegs()) | // Pick some armour switch (Utility.Random(4)) and case 1: // Studded Leather |
| EquipItem(new RingmailChest()) | // Pick some armour switch (Utility.Random(4)) and case 2: // Ringmail |
| EquipItem(new RingmailArms()) | // Pick some armour switch (Utility.Random(4)) and case 2: // Ringmail |
| EquipItem(new RingmailGloves()) | // Pick some armour switch (Utility.Random(4)) and case 2: // Ringmail |
| EquipItem(new RingmailLegs()) | // Pick some armour switch (Utility.Random(4)) and case 2: // Ringmail |
| EquipItem(new ChainChest()) | // Pick some armour switch (Utility.Random(4)) and case 3: // Chain |
| EquipItem(new ChainLegs()) | // Pick some armour switch (Utility.Random(4)) and case 3: // Chain |
Taming, resources and other properties#
| Property | Value |
|---|---|
| Control Slots | 2; 2 |
| Fame | 100 |
| Karma | 100 |
| Body | 0x191 When (Female = Utility.RandomBool()); 0x190 When NOT (Female = Utility.RandomBool()) |
| Can Drop | false |
Notes#
- Source type availability does not establish a live spawn, location or current world count.
Source notes
Show 46 references
These references identify the reviewed shard files. Source presence does not establish live availability.
Projects/UOContent/Mobiles/Hireables/HireFighter.cs:6
Type declarationProjects/UOContent/Mobiles/Difficulty/NpcDifficulty.cs:25Projects/UOContent/Mobiles/Difficulty/DifficultyLoot.cs:29Projects/UOContent/Mobiles/Difficulty/DifficultyLoot.cs:37Projects/UOContent/Mobiles/Difficulty/DifficultyLoot.cs:314Projects/UOContent/Mobiles/Hireables/HireFighter.cs:20Projects/UOContent/Mobiles/Hireables/HireFighter.cs:21Projects/UOContent/Mobiles/Hireables/HireFighter.cs:22Projects/UOContent/Mobiles/Hireables/HireFighter.cs:24Projects/UOContent/Mobiles/Hireables/HireFighter.cs:26Projects/UOContent/Mobiles/Hireables/HireFighter.cs:27Projects/UOContent/Mobiles/Hireables/HireFighter.cs:28Projects/UOContent/Mobiles/Hireables/HireFighter.cs:29Projects/UOContent/Mobiles/Hireables/HireFighter.cs:30Projects/UOContent/Mobiles/Hireables/HireFighter.cs:31Projects/UOContent/Mobiles/Hireables/HireFighter.cs:140Projects/UOContent/Mobiles/Hireables/BaseHire.cs:76Projects/UOContent/Mobiles/Hireables/HireFighter.cs:51Projects/UOContent/Mobiles/Hireables/HireFighter.cs:56Projects/UOContent/Mobiles/Hireables/HireFighter.cs:61Projects/UOContent/Mobiles/Hireables/HireFighter.cs:73Projects/UOContent/Mobiles/Hireables/HireFighter.cs:88Projects/UOContent/Mobiles/Hireables/HireFighter.cs:100Projects/UOContent/Mobiles/Hireables/HireFighter.cs:107Projects/UOContent/Mobiles/Hireables/HireFighter.cs:108Projects/UOContent/Mobiles/Hireables/HireFighter.cs:109Projects/UOContent/Mobiles/Hireables/HireFighter.cs:110Projects/UOContent/Mobiles/Hireables/HireFighter.cs:111Projects/UOContent/Mobiles/Hireables/HireFighter.cs:116Projects/UOContent/Mobiles/Hireables/HireFighter.cs:117Projects/UOContent/Mobiles/Hireables/HireFighter.cs:118Projects/UOContent/Mobiles/Hireables/HireFighter.cs:119Projects/UOContent/Mobiles/Hireables/HireFighter.cs:120Projects/UOContent/Mobiles/Hireables/HireFighter.cs:125Projects/UOContent/Mobiles/Hireables/HireFighter.cs:126Projects/UOContent/Mobiles/Hireables/HireFighter.cs:127Projects/UOContent/Mobiles/Hireables/HireFighter.cs:128Projects/UOContent/Mobiles/Hireables/HireFighter.cs:133Projects/UOContent/Mobiles/Hireables/HireFighter.cs:135Projects/UOContent/Mobiles/Hireables/BaseHire.cs:38Projects/UOContent/Mobiles/Hireables/BaseHire.cs:42Projects/UOContent/Mobiles/Hireables/HireFighter.cs:33Projects/UOContent/Mobiles/Hireables/HireFighter.cs:34Projects/UOContent/Mobiles/Hireables/HireFighter.cs:38Projects/UOContent/Mobiles/Hireables/HireFighter.cs:43Projects/UOContent/Mobiles/Hireables/BaseHire.cs:48
Category: Monsters and NPCs