Update settings.py

main
Filips Kalniņš 2026-03-16 07:43:50 +00:00
parent ed1bad98d8
commit f8b22aa8e9
1 changed files with 15 additions and 64 deletions

View File

@ -12,7 +12,6 @@ GAME_TITLE = "Terraria Clone"
BACKGROUND_COLOR = (135, 206, 235) # Sky blue BACKGROUND_COLOR = (135, 206, 235) # Sky blue
# ========================================== # ==========================================
# TILE SETTINGS # TILE SETTINGS
# ========================================== # ==========================================
@ -22,7 +21,6 @@ CHUNK_SIZE = 16 # 16x16 tiles per chunk
RENDER_DISTANCE = 3 # how many chunks visible around player RENDER_DISTANCE = 3 # how many chunks visible around player
# Tile IDs # Tile IDs
# Tiles
AIR = 0 AIR = 0
DIRT = 1 DIRT = 1
GRASS = 2 GRASS = 2
@ -50,22 +48,17 @@ ITEM_GOLD_SWORD = 202
# Tile properties # Tile properties
TILE_PROPERTIES = { TILE_PROPERTIES = {
AIR: {"solid": False, "color": (0, 0, 0), "drop": None}, AIR: {"solid": False, "color": (0, 0, 0), "drop": None},
DIRT: {"solid": True, "color": (139, 69, 19), "drop": ITEM_STONE}, DIRT: {"solid": True, "color": (139, 69, 19), "drop": ITEM_STONE},
GRASS: {"solid": True, "color": (34, 177, 76), "drop": ITEM_STONE}, GRASS: {"solid": True, "color": (34, 177, 76), "drop": ITEM_STONE},
STONE: {"solid": True, "color": (100, 100, 100), "drop": ITEM_STONE}, STONE: {"solid": True, "color": (100, 100, 100), "drop": ITEM_STONE},
WOOD: {"solid": True, "color": (160, 82, 45), "drop": ITEM_WOOD}, WOOD: {"solid": True, "color": (160, 82, 45), "drop": ITEM_WOOD},
LEAVES: {"solid": False, "color": (34, 139, 34), "drop": None}, LEAVES: {"solid": False, "color": (34, 139, 34), "drop": None},
# ORES
IRON_ORE: {"solid": True, "color": (180, 180, 180), "drop": ITEM_IRON}, IRON_ORE: {"solid": True, "color": (180, 180, 180), "drop": ITEM_IRON},
GOLD_ORE: {"solid": True, "color": (255, 215, 0), "drop": ITEM_GOLD}, GOLD_ORE: {"solid": True, "color": (255, 215, 0), "drop": ITEM_GOLD},
COPPER_ORE: {"solid": True, "color": (210, 120, 60), "drop": ITEM_COPPER}, COPPER_ORE: {"solid": True, "color": (210, 120, 60), "drop": ITEM_COPPER},
COAL_ORE: {"solid": True, "color": (40, 40, 40), "drop": ITEM_COAL}, COAL_ORE: {"solid": True, "color": (40, 40, 40), "drop": ITEM_COAL},
} }
# ========================================== # ==========================================
# WORLD GENERATION # WORLD GENERATION
# ========================================== # ==========================================
@ -82,13 +75,11 @@ ORE_THRESHOLD = 0.75
NOISE_SCALE = 0.05 NOISE_SCALE = 0.05
OCTAVES = 4 OCTAVES = 4
# Perlin noise settings for smoother terrain
PERLIN_SCALE = 80.0 PERLIN_SCALE = 80.0
PERLIN_OCTAVES = 6 PERLIN_OCTAVES = 6
PERLIN_PERSISTENCE = 0.5 PERLIN_PERSISTENCE = 0.5
PERLIN_LACUNARITY = 2.0 PERLIN_LACUNARITY = 2.0
# ========================================== # ==========================================
# PLAYER SETTINGS # PLAYER SETTINGS
# ========================================== # ==========================================
@ -108,7 +99,6 @@ DOUBLE_JUMP = False
MAX_HEALTH = 100 MAX_HEALTH = 100
# ========================================== # ==========================================
# CAMERA SETTINGS # CAMERA SETTINGS
# ========================================== # ==========================================
@ -116,7 +106,6 @@ MAX_HEALTH = 100
CAMERA_SMOOTHING = 0.1 CAMERA_SMOOTHING = 0.1
CAMERA_OFFSET_Y = -100 CAMERA_OFFSET_Y = -100
# ========================================== # ==========================================
# INVENTORY SETTINGS # INVENTORY SETTINGS
# ========================================== # ==========================================
@ -128,63 +117,35 @@ STACK_LIMIT = 999
INVENTORY_SLOT_SIZE = 40 INVENTORY_SLOT_SIZE = 40
INVENTORY_PADDING = 4 INVENTORY_PADDING = 4
# Hotbar settings
HOTBAR_VISIBLE = True HOTBAR_VISIBLE = True
HOTBAR_SLOT_COUNT = 8 HOTBAR_SLOT_COUNT = 8
# ========================================== # ==========================================
# COMBAT SETTINGS # COMBAT SETTINGS
# ========================================== # ==========================================
# Weapon stats
WEAPON_STATS = { WEAPON_STATS = {
ITEM_WOODEN_SWORD: { ITEM_WOODEN_SWORD: {"name": "Wooden Sword", "damage": 8, "cooldown": 0.6, "knockback": 300, "color": (160, 82, 45)},
"name": "Wooden Sword", ITEM_IRON_SWORD: {"name": "Iron Sword", "damage": 15, "cooldown": 0.8, "knockback": 400, "color": (180, 180, 180)},
"damage": 8, ITEM_GOLD_SWORD: {"name": "Gold Sword", "damage": 20, "cooldown": 1.0, "knockback": 500, "color": (255, 215, 0)},
"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_RANGE = 60
ATTACK_COOLDOWN = 0.5 # seconds ATTACK_COOLDOWN = 0.5
# ========================================== # ==========================================
# BLOCK BREAKING / PLACING # BLOCK BREAKING / PLACING
# ========================================== # ==========================================
BREAK_RANGE = 5 # tiles BREAK_RANGE = 5
BREAK_TIME = { BREAK_TIME = {
DIRT: 0.3, DIRT: 0.3, GRASS: 0.3, STONE: 0.8,
GRASS: 0.3, WOOD: 0.5, IRON_ORE: 1.2, GOLD_ORE: 1.5,
STONE: 0.8, COPPER_ORE: 1.0, COAL_ORE: 0.9,
WOOD: 0.5,
IRON_ORE: 1.2,
GOLD_ORE: 1.5,
COPPER_ORE: 1.0,
COAL_ORE: 0.9,
} }
PLACE_RANGE = 5 PLACE_RANGE = 5
# ========================================== # ==========================================
# ENEMY SETTINGS # ENEMY SETTINGS
# ========================================== # ==========================================
@ -192,11 +153,13 @@ PLACE_RANGE = 5
MAX_ENEMIES = 10 MAX_ENEMIES = 10
ENEMY_SPAWN_RATE = 5 # seconds ENEMY_SPAWN_RATE = 5 # seconds
ENEMY_SPEED = 100 ENEMY_SPEED = 100
ENEMY_DAMAGE = 10
ENEMY_HEALTH = 50 ENEMY_HEALTH = 50
ENEMY_GRAVITY = 2200 # Enemies affected by gravity ENEMY_GRAVITY = 2200
ENEMY_KNOCKBACK_RESISTANCE = 0.8 # How much knockback affects enemies ENEMY_KNOCKBACK_RESISTANCE = 0.8
# Added missing constants for combat
ENEMY_ATTACK_DAMAGE = 10
ENEMY_ATTACK_RANGE = 50
# ========================================== # ==========================================
# PHYSICS SETTINGS # PHYSICS SETTINGS
@ -205,25 +168,13 @@ ENEMY_KNOCKBACK_RESISTANCE = 0.8 # How much knockback affects enemies
TERMINAL_VELOCITY = 1200 TERMINAL_VELOCITY = 1200
COLLISION_STEPS = 4 COLLISION_STEPS = 4
# ========================================== # ==========================================
# LIGHTING (for future use) # LIGHTING
# ========================================== # ==========================================
ENABLE_LIGHTING = False ENABLE_LIGHTING = False
LIGHT_RADIUS = 5 LIGHT_RADIUS = 5
# ==========================================
# DEBUG SETTINGS
# ==========================================
DEBUG_MODE = True
SHOW_FPS = True
SHOW_COLLIDERS = False
SHOW_CHUNK_BORDERS = False
# ========================================== # ==========================================
# DEBUG SETTINGS # DEBUG SETTINGS
# ========================================== # ==========================================