Field Guide

Changelog

Stay up to date with the latest features, fixes, and improvements.

Last updated 49d ago
0
This Week
41
This Month
21
Features
19
Bug Fixes
0
Performance
0
Breaking
35 changes

Fix(roulette): Increase countdown from 30s to 60s

Bug Fixcasino
49d ago

Gives players more time to place bets, especially if they need to withdraw from bank first (which is now auto-handled).

08ecfd1

Fix(roulette): Comprehensive UX improvements for betting flow

Bug Fixcasino
49d ago

Deposit button improvements: - Use proper StreetEmbed styling matching /deposit command - Show Cash/Bank fields in embed - Handle "Already Secured" state without confusing error messages - Handle "Nothing to Deposit" state properly Bet flow improvements: - Auto-withdraw from bank if user has insufficient cash but enough combined funds - seamless betting experience - Remove $500k bet limit - bets are now unlimited - Support k/m suffixes in amount input (e.g. 50k, 1m) - Better placeholder text in modals Empty table handling: - Table now expires with proper message when countdown ends with no bets - Shows "Table Expired" embed instead of staying open forever

fb85126

Fix(roulette): Improve deposit and leave table UX

Bug Fixcasino
49d ago

- Deposit button now directly deposits all cash to bank instead of showing a hint to use /deposit command - Track deposited players to prevent double deposits - Leave Table button now updates embed to show "Table Closed" with final session summary (total wagered, total won) - Store player results and last spin result for embed updates

54995e8

Fix(casino): Remove $10M payout cap that caused roulette winnings to disappear

Bug Fixcasino
49d ago

The Bug: - Casino payouts were capped at $10M via MAX_CASINO_PAYOUT constant - When a player won more than $10M (e.g., $18M on a 35:1 number bet), the payout request was silently rejected by Pydantic validation - The player's winnings would just "disappear" - never credited The Fix: - Removed the $10M payout cap entirely - Players can now win or lose any amount (truly unlimited gambling) - Betting limits are already set to $1B (effectively unlimited) - Large payouts (>$10M) are still logged for audit at INFO level This enables the intended gameplay: players can go big, win massive jackpots, or lose everything trying. Real stakes, real gambling.

55bef85

Feat(api): Add comprehensive Swagger API documentation

Featurecrime
49d ago

OpenAPI/Swagger Documentation: - Added detailed API metadata with title, description, and version - Created 24 logical tag groups for endpoint organization - Tagged all 139 API endpoints with appropriate categories - Added comprehensive description in OpenAPI spec New Files: - api_models.py: 50+ Pydantic response/request models for Swagger schema Tag Groups: - Health (5 endpoints) - Wallet (9 endpoints) - Crime (6 endpoints) - work, rob, hustle, crime, trap, lick - Heat & Jail (7 endpoints) - Street State (3 endpoints) - Inventory (9 endpoints) - Effects (3 endpoints) - Market (5 endpoints) - Shop (7 endpoints) - Crew (27 endpoints) - Territory (11 endpoints) - Bounty (5 endpoints) - Beef (4 endpoints) - Bank (7 endpoints) - Casino (2 endpoints) - Blackjack (5 endpoints) - Game Sessions (5 endpoints) - Gift (3 endpoints) - Debt (2 endpoints) - Leaderboard (2 endpoints) - Profile (3 endpoints) - XP (1 endpoint) - DM Settings (3 endpoints) - Admin (6 endpoints) Access Swagger UI at: /docs Access ReDoc at: /redoc Access OpenAPI JSON at: /openapi.json Bug Fixes (included): - Fixed asyncio UnboundLocalError in lick command (bot.py) - Fixed get_member_crew -> get_user_crew in beef endpoint (main.py) - Added error handling for street_state lookup in lick (robbery.py)

03dcaf4

Fix(street-state): Fix model attribute names and Decimal type issues

Bug Fixeconomy
49d ago

Bug fixes: - Use [REDACTED] instead of non-existent EcoTerritory.owning_gang_id - Use total_deposited/total_withdrawn instead of non-existent [REDACTED].amount - Convert Decimal types to float to avoid division type errors - Properly join territory ownership table for income calculations

f366a78

Feat(street-state): Complete Protection Signal + Visibility Decay implementation

Featureeconomy
49d ago

Street State System Enhancements: - Protection signal now calculates from: bank % (50%), equipped defense (30%), crew online (20%) - Visibility decay mechanism: decays over time based on heat level (0.15/hr at heat 0, no decay at heat 5) - Visibility boosts on successful crimes (0.2-0.35) and robberies (0.3-0.5) - Crew "online" detection via recent transaction activity (15 min window) - Redis tracking for visibility peaks with timestamps and TTL Bug Fixes: - Fixed Optional import in territories.py - Fixed parse_discord_id imports (was using non-existent shared.utils.id_parser) - Fixed wallet attribute names (wallet_balance/bank_balance not cash/bank) New Files: - street_state.py: Complete Street State service with 7 signals - street_state_hud.py: HUD embed rendering - next_actions.py: Action suggestion components API Endpoints: - GET /v1/street-state/{user_id} - Returns all signals + modifiers

1b1a144

Emotional flow redesign with narrative context and public broadcasts

Featurecrime
49d ago

Transform transactional commands into engaging street drama through: - Narrative context system with 5-phase command flow (Intent → Risk → Action → Outcome → Consequence) - Street news broadcaster for server-wide drama announcements - Guild config service for admin channel configuration - Beef/rivalry system with auto-escalation from hostile territory actions - Wanted status broadcasts for heat tier 4+ players - Crew drama system with betrayal detection (joining rivals within 7 days) - Large heist broadcasts for transfers >= $50,000 Broadcast events: territory captures, beef escalation, wanted players, beef declarations, crew betrayals, and big money alerts. Admins enable via: /config set-news-channel #channel

d7e6aff

Hot crates, trap UX improvements, crew treasury fix, bank timeout fix

Featureeconomy
50d ago

Hot Crate System: - New random loot crate spawning system - Territory map visualization - Hot crate rewards and tracking Trap Command Improvements: - Deposit button shows "Deposited" (disabled) while Trap Again stays active - 10-second auto-delete for deposit embeds (changed from 15s) - Batched large trap earnings (>$100M) to avoid transaction limits - Fixed "[REDACTED]" error for high-value trap sales Crew Treasury Fix: - Leaders can now withdraw crew-earned funds (territory income, heists) - Previously only own deposits were withdrawable, locking crew funds - Added crew_funds calculation: treasury - sum(member deposits) Bug Fixes: - /bank command: Added defer to avoid 3-second Discord timeout - Improved crew withdrawal error message clarity - Lick command deposit button same UX as trap Documentation: - Added ARCHITECTURE.md with comprehensive flow diagrams

ed1aa2a

Feat(items): Item Agency System + effect engine + smart guidance

Featurecrime
52d ago

Item Agency System - New EffectEngine service for temporary buff management - Use-based effects (e.g., "next 3 crimes") instead of time-based - Stack groups prevent same-type effects from stacking - 24-hour fallback expiry for unused effects ItemUseHandler - Context validation (jail check, cooldowns) - Handlers for: consumable, consumable_buff, intel, crew_loot - Full lifecycle management for item use Smart Guidance - InlineGuidance: subtle hints in embeds (first 3 times only) - ItemHintService: DM notifications for rare drops, unused items - Hints integrate with crime flow without blocking gameplay Crime Integration - Effect bonuses applied to success rate, stealth, and payouts - Effect consumption after crime (both success and failure) - Intel auto-application on matching actions Item Catalog Updates - Config fields added to all 19 consumable items - Includes: effect_type, uses, affected_systems, stack_group - Display templates for /loadout command Bug Fixes - Add missing Emoji.MINUS for format_delta() - Add missing Emoji.CROSS for DM settings - Add missing Emoji.ALERT for territory notifications - Add missing Emoji.UNLOCK for bail display New Files - effect_engine.py, item_use_handler.py, inline_guidance.py - item_hints.py, metrics.py, priority.py - Migrations: 004-006 for territories, DM system, item effects

fcf1144

Feat(crime): expand loot system + DM notifications + bug fixes

FeatureeconomyHigh Risk
52d ago

## Crime Loop Expansion - Add 4 new loot pools: consumable_buffs, intel_drops, crew_loot, failed_crime_drops - Add 15+ new items (Lucky Dice, Stealth Serum, Heat Voucher, etc.) - Implement [REDACTED] with heat-based rarity bonuses - Add 15% consolation drops on failed crimes (damaged_goods pool) - Add usage hints in crime embeds based on item type ## DM Notification System - Add /dm-settings command with interactive toggle buttons - Add 5 DM alert types: turf attack, turf lost, arrest, rare drop, large transfer - Auto-enable DMs on first economy command - Add DM settings API endpoints (GET/POST /v1/dm-settings/{user_id}) - Add DMSettingsView with category toggles ## Bug Fixes - Fix crime spree race condition (Hold Up/Ready to Roll flipping) - Implement task cancellation tracking for cooldown updates - Fix Pay Bail returning "You're not in jail" on auto-release - Add pre-check of jail status before bail payment - Add heat logging on jail for debugging ## Security - Restrict add-money/remove-money commands to bot owner only - Log admin command abuse attempts - Show generic "Access Denied" error for unauthorized users

3bddfbd

Feat(crime): expand loot system + DM notifications + bug fixes

FeatureeconomyHigh Risk
52d ago

## Crime Loop Expansion - 4 new loot pools: consumable buffs, intel drops, crew loot, failed crime drops - 15+ new items: Lucky Dice, Stealth Serum, Heat Voucher, Escape Route, etc. - Heat-based rarity bonuses via [REDACTED] - 15% consolation drops on failed crimes (damaged goods pool) - Usage hints in crime embeds based on item type ## DM Notification System - `/dm-settings` command with interactive toggle buttons - 5 DM alert types: turf attack, turf lost, arrest, rare drop, large transfer - Auto-enable DMs on first economy command - Category toggles: crew alerts, arrest alerts, rare drops, economy alerts ## Bug Fixes - Fixed crime spree race condition (Hold Up/Ready to Roll flipping) - Task cancellation tracking prevents duplicate cooldown updates - Pay Bail now checks jail status before attempting payment - Graceful handling of auto-release when clicking Pay Bail ## Security - Admin commands (add-money, remove-money) restricted to bot owner - Abuse attempts logged with user details - Generic "Access Denied" error shown to unauthorized users

4b14884

Feat(crime): expand loot system + DM notifications + bug fixes

FeatureeconomyHigh Risk
52d ago

Crime Loop Expansion - 4 new loot pools: consumable buffs, intel drops, crew loot, failed crime drops - 15+ new items: Lucky Dice, Stealth Serum, Heat Voucher, Escape Route, etc. - Heat-based rarity bonuses via [REDACTED] - 15% consolation drops on failed crimes (damaged goods pool) - Usage hints in crime embeds based on item type DM Notification System - /dm-settings command with interactive toggle buttons - 5 DM alert types: turf attack, turf lost, arrest, rare drop, large transfer - Auto-enable DMs on first economy command - Category toggles: crew alerts, arrest alerts, rare drops, economy alerts Bug Fixes - Fixed crime spree race condition (Hold Up/Ready to Roll flipping) - Task cancellation tracking prevents duplicate cooldown updates - Pay Bail now checks jail status before attempting payment - Graceful handling of auto-release when clicking Pay Bail Security - Admin commands (add-money, remove-money) restricted to bot owner - Abuse attempts logged with user details - Generic "Access Denied" error shown to unauthorized users

753f8be

Feat(trap): enhanced trap system with loot drops, arrests, and risk scaling

Featureeconomy
53d ago

## Trap System Overhaul - Dynamic heat calculation with value/quantity/frequency multipliers - Probabilistic arrests based on heat level (0% Cool → 70% Wanted) - Money clawback on arrest - earnings seized before they're kept - Fine deduction flows to Central Bank treasury - Dynamic cooldowns (30s low heat → 3min high heat) - Confiscated contraband tracked as money sink ## Crime Loot Drop System - 25-70% drop chance based on crime payout tier - Loot pools: common/uncommon/rare contraband, crime tools - Heists favor rare drops, mugging favors common - New stolen goods items: Wallet, Phone, Watch, Jewelry, Electronics ## UX Improvements - Dry trap embed shows action buttons (Do Crime, Black Market) - Crime embeds display loot drops with emoji/name/value - Trap embeds show heat delta and arrest warnings - Loan products enhanced with emojis and code blocks ## Bug Fixes - Fixed money added before arrest check (critical exploit) - Fine now properly deducted and sent to treasury - Fixed trap_arrest_embed parameter mismatch - Added missing cooldown reason field

2fd4966

Fix(loans): use XP-based level for loan eligibility

Bug Fixeconomy
53d ago

- Update _get_user_level() to query user_levels table (XP system) - Falls back to eco_users.level for backwards compatibility - Add user level to /v1/bank/{user_id} API response - Fixes "Level 1" showing for users with higher XP levels

84282c5
1/3