Hokken
e9e79ad696
Fix LootRollLevel=1 to match documented 'greed' behavior (#2068)
## Summary
Fixes `AiPlayerbot.LootRollLevel = 1` to actually behave as "greed" mode
per the config documentation.
## Problem
The config documentation states:
```conf
# Bots' loot roll level (0 = pass, 1 = greed, 2 = need)
# Default: 1 (greed)
AiPlayerbot.LootRollLevel = 1
```
However, level 1 was converting **all GREED votes to PASS**, causing
bots to pass on almost everything:
| Item Type | AI Decision | Level 1 Behavior (Before) | Expected |
|-----------|-------------|---------------------------|----------|
| Gear upgrade | NEED | GREED ✓ | GREED |
| Usable gear (not upgrade) | GREED | **PASS** ✗ | GREED |
| Crafting materials | GREED | **PASS** ✗ | GREED |
| Recipes, consumables | GREED | **PASS** ✗ | GREED |
The only items bots would greed on were direct gear upgrades (originally
NEED, downgraded to GREED).
## Root Cause
In `LootRollAction.cpp`, lines 104-107 were converting GREED to PASS:
```cpp
else if (vote == GREED)
{
vote = PASS; // This breaks "greed" mode
}
```
## Fix
Remove the GREED→PASS conversion. Level 1 now only downgrades NEED to
GREED (as intended), preserving GREED votes for useful items.
## Behavior After Fix
| Level | Description | Behavior |
|-------|-------------|----------|
| 0 | Pass | Always pass on all items |
| 1 | Greed | Greed on useful items, never need |
| 2 | Need | Full AI logic (need/greed/pass) |
## Test Plan
- [ ] Set `AiPlayerbot.LootRollLevel = 1`
- [ ] Kill mobs that drop crafting materials, recipes, or non-upgrade
gear
- [ ] Verify bots greed on useful items instead of passing
- [ ] Verify bots still pass on junk items
- [ ] Verify bots never roll need (only greed)
Co-authored-by: Hokken <Hokken@users.noreply.github.com>
2026-02-08 12:45:03 +01:00
..
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-31 23:11:40 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-02-08 12:41:33 +01:00
2026-02-08 12:41:33 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-02-08 12:45:03 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-02-02 22:40:12 +01:00
2026-02-02 22:40:12 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-02-06 14:20:31 -08:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00
2026-01-30 21:49:37 +01:00
2026-01-19 22:45:28 +01:00