Files
magicbane/src/engine/documentation/Handler Specific Documentation/dbLootHandler_Documentation.md
T

3.2 KiB

dbLootHandler Documentation

Overview

This document describes the database relationships and interactions for the dbLootHandler class. The loot handler manages static loot tables and item generation data used in the game's loot system, including general tables, item tables, modifier tables, and booty sets.

Handler Class

File: src/engine/db/handlers/dbLootHandler.java Class: dbLootHandler Extends: dbHandlerBase

Database Tables

Main Tables

  • Table Name: static_loot_gen
  • Description: Stores general loot table entries for item generation
  • Columns:
    • genTable (Primary Key)
    • itemID
    • weight
    • minLevel
    • maxLevel
Table Name Description Relationship
static_loot_item Stores item-specific loot table entries One-to-many with genTable
static_loot_mod Stores modifier information for loot items One-to-many with modTable
static_loot_modtype Defines modifier types used in loot systems One-to-many with modType
static_loot_bootySet Stores booty set definitions for loot generation One-to-many with bootySet

Key Queries

LOAD_GEN_ITEM_TABLES

SELECT * FROM `static_loot_gen`

File: dbLootHandler.java, Line ~32

LOAD_ITEM_TABLES

SELECT * FROM `static_loot_item`

File: dbLootHandler.java, Line ~64

LOAD_MOD_TABLES

SELECT * FROM `static_loot_mod`

File: dbLootHandler.java, Line ~96

LOAD_MOD_TYPE_TABLES

SELECT * FROM `static_loot_modtype`

File: dbLootHandler.java, Line ~128

LOAD_BOOTY_TABLES

SELECT * FROM static_loot_bootySet

File: dbLootHandler.java, Line ~160

LOAD_ENCHANT_VALUES

SELECT `IDString`, `minMod` FROM `static_power_effectmod` WHERE `modType` = ?

File: dbLootHandler.java, Line ~192

Relationships

  1. Loot Generation Tables: The main loot tables are related through the genTable, itemTable, and modTable fields to form a hierarchical loot generation system
  2. Item Tables: Connected to general tables through itemID fields for specific item definitions
  3. Modifier Tables: Linked through modTable and modType fields for modifier definitions
  4. Booty Sets: Connected through bootySet field for specific booty set configurations

Java Field to Database Column Mappings

Java Field Database Column Notes
genTableID static_loot_gen.genTable Unique identifier for the loot table
itemID static_loot_gen.itemID Item ID for this loot entry
weight static_loot_gen.weight Weight for random selection
minLevel static_loot_gen.minLevel Minimum level requirement
maxLevel static_loot_gen.maxLevel Maximum level requirement
itemTableID static_loot_item.itemTable Item table identifier
modTableID static_loot_mod.modTable Modifier table identifier
modTypeID static_loot_modtype.modType Modifier type identifier
bootySetID static_loot_bootySet.bootySet Booty set identifier
IDString static_power_effectmod.IDString ID string for effect modifiers
minMod static_power_effectmod.minMod Minimum modifier value