Skip to content

Commit a50b6b1

Browse files
Merge pull request #9 from TheCodingDad-TisonK/development
fix: HUD panel height + README rewrite for annual tax cycle
2 parents b78cfcd + 7fc64ff commit a50b6b1

2 files changed

Lines changed: 61 additions & 13 deletions

File tree

README.md

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div align="center">
22

33
# 💰 FS25 Tax Mod
4-
### *Daily Tax Deductions with Monthly Returns*
4+
### *Realistic Annual Farm Taxation*
55

66
[![Downloads](https://img.shields.io/github/downloads/TheCodingDad-TisonK/FS25_TaxMod/total?style=for-the-badge&logo=github&color=4caf50&logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_TaxMod/releases)
77
[![Release](https://img.shields.io/github/v/release/TheCodingDad-TisonK/FS25_TaxMod?style=for-the-badge&logo=tag&color=76c442&logoColor=white)](https://github.com/TheCodingDad-TisonK/FS25_TaxMod/releases/latest)
@@ -12,27 +12,75 @@
1212

1313
<br>
1414

15-
**Running a farm means paying taxes. This mod makes sure you do.**
15+
**Running a farm means paying taxes — once a year, just like real life.**
1616

17-
A daily tax is deducted from your farm balance based on your chosen rate (low / medium / high). At the end of each month, a configurable percentage is returned — simulating government agricultural subsidies or tax rebates. Falls below your minimum balance? Tax is skipped for the day.
17+
Taxes accumulate silently throughout the year and are collected each March. In December you get an advance warning so you can plan your spending before year-end. Falls below your minimum balance? Tax is skipped.
1818

19-
`Singleplayer``Persistent saves``Console commands`
19+
`Singleplayer``Multiplayer``Persistent saves``Console commands`
2020

2121
</div>
2222

2323
---
2424

25+
## How It Works
26+
27+
Real farm businesses don't pay tax on every transaction — they settle up annually. This mod works the same way:
28+
29+
1. **Throughout the year** — income-based tax accumulates in the background. Nothing is deducted yet.
30+
2. **December** — a notification shows your estimated tax bill, what percentage of your current balance it represents, and the total accumulated so far. Time to decide whether to spend more before year-end.
31+
3. **March** — the full bill is collected. The amount is `accumulated × annual rate`.
32+
33+
Your minimum balance is always protected — if the tax payment would drop you below it, the payment is skipped for that year.
34+
35+
---
36+
2537
## Features
2638

27-
- **Daily tax deductions** at low (1%), medium (2%), or high (3%) rate
28-
- **Monthly tax return** — configurable percentage paid back at month end
29-
- **Minimum balance protection** — tax is skipped if your balance drops below the threshold
30-
- **In-game notifications** for every deduction and return
31-
- **Persistent statistics** — total taxes paid, returned, days taxed, and more
39+
- **Annual tax cycle** — accumulates daily, paid once in March
40+
- **December advisory** — estimated bill, % of balance, and accumulated total shown in advance
41+
- **Configurable annual tax rate** — Low (2%), Medium (5%), or High (10%)
42+
- **Transaction tax rate** — separate Low (1%), Medium (2%), or High (3%) rate on daily income that feeds the accumulator
43+
- **Minimum balance protection** — payment is skipped if your balance is too low
44+
- **HUD overlay** — always-visible panel showing current rate, annual accumulated, estimated March payment, and a countdown to the next tax event
45+
- **In-game notifications** for payment and advisory events
46+
- **Persistent statistics** — total taxes paid, returned, and running annual accumulation survive saves
3247
- **Full console control** — adjust everything without leaving the game
3348

3449
---
3550

51+
## HUD
52+
53+
The Tax HUD shows at a glance:
54+
55+
| Row | Description |
56+
|-----|-------------|
57+
| TAX MOD | Status (ON / OFF) |
58+
| Rate | Current transaction rate and annual rate |
59+
| Min balance | Your protected floor |
60+
| Annual accumulated | Tax built up so far this year |
61+
| Est. March payment | Projected bill (accumulated × annual rate) in orange |
62+
| Next tax event | Months until payment (red) or advisory (blue) |
63+
| Total paid / returned | Running lifetime totals |
64+
| Recent Activity | Last few tax events |
65+
66+
Toggle the HUD with **T**. Right-click to drag or resize it.
67+
68+
---
69+
70+
## Settings
71+
72+
Access via **ESC → Settings → General** (scroll to the Tax Mod section):
73+
74+
| Setting | Options | Default |
75+
|---------|---------|---------|
76+
| Enable Mod | Yes / No | Yes |
77+
| Tax Rate | Low (1%) / Medium (2%) / High (3%) | Medium |
78+
| Annual Tax Rate | Low (2%) / Medium (5%) / High (10%) | Medium |
79+
| Notifications | Yes / No | Yes |
80+
| Show HUD | Yes / No | Yes |
81+
82+
---
83+
3684
## Console Commands
3785

3886
Type `tax` in the developer console (`~` key) for the full list.
@@ -42,8 +90,8 @@ Type `tax` in the developer console (`~` key) for the full list.
4290
| `tax` | Show all commands |
4391
| `taxStatus` | Show current settings and statistics |
4492
| `taxEnable` / `taxDisable` | Toggle tax system |
45-
| `taxRate low\|medium\|high` | Set tax rate |
46-
| `taxReturn [0-100]` | Set monthly return percentage |
93+
| `taxRate low\|medium\|high` | Set transaction tax rate |
94+
| `taxAnnualRate low\|medium\|high\|[0.01-0.30]` | Set annual tax rate (e.g. `taxAnnualRate 0.08` for 8%) |
4795
| `taxMinimum [amount]` | Set minimum balance threshold |
4896
| `taxStatistics` | Show running tax statistics |
4997
| `taxSimulate` | Simulate a tax cycle immediately |

src/ui/TaxHUD.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,8 @@ function TaxHUD:drawPanel()
381381

382382
local histCount = math.min(#self.taxHistory, TaxHUD.MAX_HISTORY_ROWS)
383383

384-
-- Row count: title + rate + min-balance + annual-accumulated + projected + next-event + totals(2) + history header + hist rows + hint
385-
local nRows = 8 + math.max(histCount - 1, 0)
384+
-- Row count: title + rate + min-balance + annual-accumulated + projected + next-event + totals(2) + history-header + hist-rows + hint = 10 fixed + max(histCount,1) variable
385+
local nRows = 11 + math.max(histCount - 1, 0)
386386
local nDividers = 3
387387
local bgH = pad * 2 + nRows * lh + nDividers * (0.004 * sc)
388388
local bgX = x - pad

0 commit comments

Comments
 (0)