# Character Power Handler Documentation ## Overview This document describes the database relationships and interactions for the `dbCharacterPowerHandler` class. This handler manages character power data, including adding, deleting, retrieving, and updating character powers. ## Handler Class **File:** `src/engine/db/handlers/dbCharacterPowerHandler.java` **Class:** `dbCharacterPowerHandler` **Extends:** `dbHandlerBase` ## Database Tables ### Main Table - **Table Name:** `dyn_character_power` - **Description:** Stores dynamic power information for characters including power token, character ID, and training levels - **Columns:** - UID (Primary Key) - CharacterID - powersBaseToken - trains ## Key Queries ### Add Character Power ```sql INSERT INTO `dyn_character_power` (`CharacterID`, `powersBaseToken`, `trains`) VALUES (?, ?, ?); ``` **File:** `dbCharacterPowerHandler.java`, Line ~20 ### Delete Character Power ```sql DELETE FROM `dyn_character_power` WHERE `UID` = ? ``` **File:** `dbCharacterPowerHandler.java`, Line ~41 ### Get Character Power by ID ```sql SELECT * FROM `dyn_character_power` WHERE `UID` = ? ``` **File:** `dbCharacterPowerHandler.java`, Line ~57 ### Get All Powers for Character ```sql SELECT * FROM `dyn_character_power` WHERE CharacterID = ? ``` **File:** `dbCharacterPowerHandler.java`, Line ~76 ### Update Trains ```sql UPDATE `dyn_character_power` SET `trains`=? WHERE `UID`=? ``` **File:** `dbCharacterPowerHandler.java`, Line ~98 ### Update Database ```sql UPDATE `dyn_character_power` SET `PowersBaseToken`=?, `CharacterID`=?, `trains`=? WHERE `UID`=? ``` **File:** `dbCharacterPowerHandler.java`, Line ~115 ## Relationships 1. **Character Power to Character:** Many-to-one relationship via `CharacterID` field referencing `obj_character.UID` 2. **Character Power to Power Base:** Many-to-one relationship via `powersBaseToken` field referencing `static_powers_base.token` ## Java Field to Database Column Mappings | Java Field | Database Column | Notes | |------------|-----------------|-------| | `characterID` | `dyn_character_power.CharacterID` | Reference to character | | `powerToken` | `dyn_character_power.powersBaseToken` | Reference to power base | | `trains` | `dyn_character_power.trains` | Training level |