Commit f3bf055
committed
Implement Obsolete quirk effects for campaign play
Adds campaign effects for the Obsolete quirk per BMM pg 86:
- Maintenance rolls: +1 to +5 TN modifier based on years obsolete
- Repair rolls: +1 to +5 TN modifier based on years obsolete
- Resale value: 50%-100% multiplier based on years obsolete
Changes:
- Maintenance.java: Added obsolete modifier to getTargetForMaintenance()
- Part.java: Added obsolete modifier to getAllMods() and
getAllModsForMaintenance()
- Unit.java: Applied obsolete resale modifier in getSellValue()
- Added i18n keys for modifier descriptions
---
PR Notes
## Summary
Implements campaign effects for the Obsolete quirk from BattleMech Manual pg 86.
Units with the Obsolete quirk now suffer penalties in MekHQ campaigns:
- **Maintenance rolls**: +1 TN per 15 years obsolete (max +5)
- **Repair rolls**: +1 TN per 15 years obsolete (max +5)
- **Resale value**: -10% per 20 years obsolete (min 50%)
## Changes
### Maintenance & Repair TN Modifiers
- **Maintenance.java**: Added obsolete modifier to `getTargetForMaintenance()`
- **Part.java**: Added obsolete modifier to `getAllMods()` (repair work) and `getAllModsForMaintenance()`
### Resale Value
- **Unit.java**: Applied `entity.getObsoleteResaleModifier()` in `getSellValue()` for both standard units and
Infantry
### Internationalization
- **Maintenance.properties**: Added `Maintenance.modifier.obsolete`
- **Parts.properties**: Added `Part.modifier.obsolete`
## Dependencies
- Requires MegaMek PR with Obsolete quirk implementation (provides `Entity.getObsoleteRepairModifier()` and
`Entity.getObsoleteResaleModifier()`)
## Test Plan
- [ ] Load campaign with unit that has Obsolete quirk set
- [ ] Verify maintenance rolls show "obsolete" modifier in TN breakdown
- [ ] Verify repair rolls show "obsolete" modifier in TN breakdown
- [ ] Verify unit sell value is reduced based on years obsolete
- [ ] Test with Infantry units (uses different sell value calculation)1 parent 18e2467 commit f3bf055
File tree
5 files changed
+46
-1
lines changed- MekHQ
- resources/mekhq/resources
- src/mekhq/campaign
- parts
- unit
5 files changed
+46
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
| 109 | + | |
107 | 110 | | |
108 | 111 | | |
109 | 112 | | |
| |||
975 | 978 | | |
976 | 979 | | |
977 | 980 | | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
978 | 988 | | |
979 | 989 | | |
980 | 990 | | |
| |||
1033 | 1043 | | |
1034 | 1044 | | |
1035 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
1036 | 1053 | | |
1037 | 1054 | | |
1038 | 1055 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
420 | 420 | | |
421 | 421 | | |
422 | 422 | | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
423 | 433 | | |
424 | 434 | | |
425 | 435 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1459 | 1459 | | |
1460 | 1460 | | |
1461 | 1461 | | |
1462 | | - | |
| 1462 | + | |
1463 | 1463 | | |
1464 | 1464 | | |
1465 | 1465 | | |
1466 | 1466 | | |
1467 | 1467 | | |
1468 | 1468 | | |
1469 | 1469 | | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
1470 | 1478 | | |
1471 | 1479 | | |
1472 | 1480 | | |
| |||
1553 | 1561 | | |
1554 | 1562 | | |
1555 | 1563 | | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
1556 | 1570 | | |
1557 | 1571 | | |
1558 | 1572 | | |
| |||
0 commit comments