diff --git a/settings.py b/settings.py index 497c4ba..9bbbddd 100644 --- a/settings.py +++ b/settings.py @@ -6,6 +6,7 @@ SCREEN_WIDTH = 1280 SCREEN_HEIGHT = 720 FPS = 60 VSYNC = True +FULLSCREEN = False GAME_TITLE = "Terraria Clone" @@ -41,6 +42,11 @@ ITEM_GOLD = 103 ITEM_COPPER = 104 ITEM_COAL = 105 +# Weapons +ITEM_IRON_SWORD = 200 +ITEM_WOODEN_SWORD = 201 +ITEM_GOLD_SWORD = 202 + # Tile properties TILE_PROPERTIES = { AIR: {"solid": False, "color": (0, 0, 0), "drop": None}, @@ -76,6 +82,12 @@ ORE_THRESHOLD = 0.75 NOISE_SCALE = 0.05 OCTAVES = 4 +# Perlin noise settings for smoother terrain +PERLIN_SCALE = 80.0 +PERLIN_OCTAVES = 6 +PERLIN_PERSISTENCE = 0.5 +PERLIN_LACUNARITY = 2.0 + # ========================================== # PLAYER SETTINGS @@ -88,10 +100,10 @@ PLAYER_SPEED = 250 PLAYER_ACCELERATION = 2000 PLAYER_FRICTION = -0.15 -GRAVITY = 1500 +GRAVITY = 2200 MAX_FALL_SPEED = 1000 -JUMP_FORCE = -500 +JUMP_FORCE = -700 DOUBLE_JUMP = False MAX_HEALTH = 100 @@ -116,6 +128,43 @@ STACK_LIMIT = 999 INVENTORY_SLOT_SIZE = 40 INVENTORY_PADDING = 4 +# Hotbar settings +HOTBAR_VISIBLE = True +HOTBAR_SLOT_COUNT = 8 + + +# ========================================== +# COMBAT SETTINGS +# ========================================== + +# Weapon stats +WEAPON_STATS = { + ITEM_WOODEN_SWORD: { + "name": "Wooden Sword", + "damage": 8, + "cooldown": 0.6, + "knockback": 300, + "color": (160, 82, 45), + }, + ITEM_IRON_SWORD: { + "name": "Iron Sword", + "damage": 15, + "cooldown": 0.8, + "knockback": 400, + "color": (180, 180, 180), + }, + ITEM_GOLD_SWORD: { + "name": "Gold Sword", + "damage": 20, + "cooldown": 1.0, + "knockback": 500, + "color": (255, 215, 0), + }, +} + +ATTACK_RANGE = 60 # pixels +ATTACK_COOLDOWN = 0.5 # seconds + # ========================================== # BLOCK BREAKING / PLACING @@ -145,6 +194,8 @@ ENEMY_SPAWN_RATE = 5 # seconds ENEMY_SPEED = 100 ENEMY_DAMAGE = 10 ENEMY_HEALTH = 50 +ENEMY_GRAVITY = 2200 # Enemies affected by gravity +ENEMY_KNOCKBACK_RESISTANCE = 0.8 # How much knockback affects enemies # ========================================== @@ -163,6 +214,16 @@ ENABLE_LIGHTING = False LIGHT_RADIUS = 5 +# ========================================== +# DEBUG SETTINGS +# ========================================== + +DEBUG_MODE = True +SHOW_FPS = True +SHOW_COLLIDERS = False +SHOW_CHUNK_BORDERS = False + + # ========================================== # DEBUG SETTINGS # ==========================================