#ifndef SETTINGS_H #define SETTINGS_H // Core Constants #define TILE_SIZE 16 #define MAP_WIDTH 64 #define MAP_HEIGHT 48 #define SCREEN_WIDTH (MAP_WIDTH * TILE_SIZE) #define SCREEN_HEIGHT (MAP_HEIGHT * TILE_SIZE) // Font constants #define NORM_CHAR_SPACE 4.0f #define MED_CHAR_SPACE 2.5f #define SMALL_CHAR_SPACE 1.6f #define NAR_CHAR_SPACE 1.0f #define CRAMPED_CHAR_SPACE 0.5f #define TINY_FONT 8 #define SMALL_FONT 10 #define NORM_FONT 12 #define MEDIUM_FONT 14 #define LARGE_FONT 18 #define BIG_FONT 22 #define HUGE_FONT 30 // Game Limits #define MAX_ENEMIES 64 #define MAX_ITEMS 128 #define MAX_ROOMS 25 // Player Stats #define PLAYER_BASE_HP 20 #define PLAYER_BASE_ATTACK 5 // Enemy Stats #define ENEMY_BASE_HP 5 #define ENEMY_BASE_ATTACK 2 // Progression #define NUM_FLOORS 5 #define MAX_INVENTORY 10 // Damage Classes #define NUM_DMG_CLASSES 5 // Status Effects #define MAX_EFFECTS 4 #define POISON_BASE_DAMAGE 3 #define BLEED_STACK_DAMAGE 3 #define BURN_BASE_DAMAGE 7 #define WEAKEN_ATTACK_REDUCTION 2 #define REGEN_STEP_INTERVAL 15 // Unarmed combat defaults #define UNARMED_CRIT_CHANCE 5 #define UNARMED_CRIT_MULT 150 #define UNARMED_STATUS_CHANCE 0 // Weapon templates #define NUM_WEAPON_TEMPLATES 5 // Enemy combat defaults #define ENEMY_CRIT_CHANCE 5 #define ENEMY_CRIT_MULT 150 // Dodge/Block defaults #define PLAYER_BASE_DODGE 5 #define PLAYER_BASE_BLOCK 0 // Screen shake #define SHAKE_EFFECT_DURATION 4 #define SHAKE_PLAYER_DAMAGE_DURATION 8 #define SHAKE_MAX_OFFSET 4 // Floating text #define FLOATING_TEXT_LIFETIME 60 // Message timer #define MESSAGE_TIMER_DURATION 60 // Visibility / Fog of War #define PLAYER_VIEW_RANGE 8 #define ENEMY_VIEW_RANGE 6 #define ENEMY_PATROL_MOVE_CHANCE 30 #endif // SETTINGS_H