diff --git a/Autoload/ObjectNames.gd b/Autoload/Names.gd similarity index 82% rename from Autoload/ObjectNames.gd rename to Autoload/Names.gd index 076ef4b6..85905c41 100644 --- a/Autoload/ObjectNames.gd +++ b/Autoload/Names.gd @@ -18,7 +18,7 @@ enum TYPE { EXTRA = 696969 } -const NAME_MAPPINGS = { +const things = { TYPE.EXTRA : { "ACTIONPOINT" : "Action Point", "LIGHT" : "Light", @@ -267,3 +267,65 @@ const NAME_MAPPINGS = { "SPELLBOOK_VSN" : "Vision" } } + +const slabs = { +"HARD": "Impenetrable Rock", +"GOLD": "Gold Seam", +"DIRT": "Earth", +"TORCH_DIRT": "Torch Earth", +"DRAPE_WALL": "Banner Wall", +"TORCH_WALL": "Torch Wall", +"TWINS_WALL": "Twins Wall", +"WOMAN_WALL": "Woman Wall", +"PAIR_WALL": "Pair Wall", +"DAMAGED_WALL": "Damaged Wall", +"PATH": "Dirt Path", +"PRETTY_PATH": "Claimed Area", +"LAVA": "Lava", +"WATER": "Water", +"ENTRANCE_ZONE": "Portal", +"ENTRANCE_WALL": "Portal Wall", +"TREASURY_AREA": "Treasure Room", +"TREASURY_WALL": "Treasure Room Wall", +"BOOK_SHELVES": "Library", +"LIBRARY_WALL": "Library Wall", +"PRISON_AREA": "Prison", +"PRISON_WALL": "Prison Wall", +"TORTURE_AREA": "Torture Chamber", +"TORTURE_WALL": "Torture Chamber Wall", +"TRAINING_AREA": "Training Room", +"TRAINING_WALL": "Training Room Wall", +"HEART_PEDESTAL": "Heart Room", +"HEART_WALL": "Heart Room Wall", +"WORKSHOP_AREA": "Workshop", +"WORKSHOP_WALL": "Workshop Wall", +"SCAVENGE_AREA": "Scavenger Room", +"SCAVENGER_WALL": "Scavenger Room Wall", +"TEMPLE_POOL": "Temple", +"TEMPLE_WALL": "Temple Wall", +"GRAVE_AREA": "Graveyard", +"GRAVE_WALL": "Graveyard Wall", +"HATCHERY": "Hatchery", +"HATCHERY_WALL": "Hatchery Wall", +"LAIR_AREA": "Lair", +"LAIR_WALL": "Lair Wall", +"BARRACK_AREA": "Barracks", +"BARRACK_WALL": "Barracks Wall", +"DOOR_WOODEN": "Wooden Door", +"DOOR_WOODEN2": "Wooden Door", +"DOOR_BRACE": "Braced Door", +"DOOR_BRACE2": "Braced Door", +"DOOR_STEEL": "Iron Door", +"DOOR_STEEL2": "Iron Door", +"DOOR_MAGIC": "Magic Door", +"DOOR_MAGIC2": "Magic Door", +"SLAB50": "Slab 50", +"BRIDGE_FRAME": "Bridge", +"GEMS": "Gems", +"GUARD_AREA": "Guard Post", +"PURPLE_PATH": "Purple Path", +"DOOR_SECRET" : "Secret Door", +"DOOR_SECRET2" : "Secret Door", +"HARD_FLOOR" : "Bedrock", +"AUTOMATIC_WALL" : "Wall Automatic", +}; diff --git a/Autoload/Slabs.gd b/Autoload/Slabs.gd index 026fdf0a..6dedb229 100644 --- a/Autoload/Slabs.gd +++ b/Autoload/Slabs.gd @@ -150,64 +150,81 @@ var door_data = { # Refer to Things.DATA_DOOR for door subtypes var fake_extra_data = { # 1000: [cube_data, floor_data, recognized_as, wibble_edges] } + +func fetch_name(slabID): + var slabData = data.get(slabID) + if slabData == null: + return "Unknown Slab " + str(slabID) + + var nameID = slabData[NAME] + + var getName = Names.slabs.get(nameID) + if getName == null: + return nameID.capitalize() + else: + return getName + + var data = { - ROCK: ["Impenetrable Rock", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0 - GOLD: ["Gold Seam", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1 - EARTH: ["Earth", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2 - EARTH_WITH_TORCH: ["Torch Earth", BLOCK_SLAB, BITMASK_BLOCK, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3 - WALL_WITH_BANNER: ["Banner Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 4 - WALL_WITH_TORCH: ["Torch Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 5 - WALL_WITH_TWINS: ["Twins Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 6 - WALL_WITH_WOMAN: ["Woman Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 7 - WALL_WITH_PAIR: ["Pair Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 8 - WALL_DAMAGED: ["Damaged Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 9 - PATH: ["Dirt Path", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10 - CLAIMED_GROUND: ["Claimed Area", FLOOR_SLAB, BITMASK_CLAIMED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 11 - LAVA: ["Lava", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12 - WATER: ["Water", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13 - PORTAL: ["Portal", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14 - PORTAL_WALL: ["Portal Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 15 - TREASURE_ROOM: ["Treasure Room", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16 - TREASURE_ROOM_WALL: ["Treasure Room Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 17 - LIBRARY: ["Library", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18 - LIBRARY_WALL: ["Library Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 19 - PRISON: ["Prison", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20 - PRISON_WALL: ["Prison Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 21 - TORTURE_CHAMBER: ["Torture Chamber", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22 - TORTURE_CHAMBER_WALL:["Torture Chamber Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 23 - TRAINING_ROOM: ["Training Room", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24 - TRAINING_ROOM_WALL: ["Training Room Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 25 - DUNGEON_HEART: ["Heart Room", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26 - DUNGEON_HEART_WALL: ["Heart Room Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 27 - WORKSHOP: ["Workshop", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28 - WORKSHOP_WALL: ["Workshop Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 29 - SCAVENGER_ROOM: ["Scavenger Room", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30 - SCAVENGER_ROOM_WALL: ["Scavenger Room Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 31 - TEMPLE: ["Temple", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32 - TEMPLE_WALL: ["Temple Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 33 - GRAVEYARD: ["Graveyard", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34 - GRAVEYARD_WALL: ["Graveyard Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 35 - HATCHERY: ["Hatchery", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36 - HATCHERY_WALL: ["Hatchery Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 37 - LAIR: ["Lair", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38 - LAIR_WALL: ["Lair Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 39 - BARRACKS: ["Barracks", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40 - BARRACKS_WALL: ["Barracks Wall", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 41 - WOODEN_DOOR_1: ["Wooden Door", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 42 - WOODEN_DOOR_2: ["Wooden Door", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 43 - BRACED_DOOR_1: ["Braced Door", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 44 - BRACED_DOOR_2: ["Braced Door", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 45 - IRON_DOOR_1: ["Iron Door", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 46 - IRON_DOOR_2: ["Iron Door", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 47 - MAGIC_DOOR_1: ["Magic Door", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 48 - MAGIC_DOOR_2: ["Magic Door", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 49 - SLAB_50: ["Slab 50", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, OWNABLE], # 50 - BRIDGE: ["Bridge", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 51 - GEMS: ["Gems", BLOCK_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 52 - GUARD_POST: ["Guard Post", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 53 - PURPLE_PATH: ["Purple Path", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 0, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, NOT_OWNABLE], # 54 - WALL_AUTOMATIC: ["Wall Automatic", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 99999 +00: ["HARD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0 +01: ["GOLD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1 +02: ["DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2 +03: ["TORCH_DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3 +04: ["DRAPE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 4 +05: ["TORCH_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 5 +06: ["TWINS_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 6 +07: ["WOMAN_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 7 +08: ["PAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 8 +09: ["DAMAGED_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 9 +10: ["PATH", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10 +11: ["PRETTY_PATH", FLOOR_SLAB, BITMASK_CLAIMED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 11 +12: ["LAVA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12 +13: ["WATER", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13 +14: ["ENTRANCE_ZONE", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14 +15: ["ENTRANCE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 15 +16: ["TREASURY_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16 +17: ["TREASURY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 17 +18: ["BOOK_SHELVES", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18 +19: ["LIBRARY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 19 +20: ["PRISON_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20 +21: ["PRISON_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 21 +22: ["TORTURE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22 +23: ["TORTURE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 23 +24: ["TRAINING_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24 +25: ["TRAINING_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 25 +26: ["HEART_PEDESTAL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26 +27: ["HEART_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 27 +28: ["WORKSHOP_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28 +29: ["WORKSHOP_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 29 +30: ["SCAVENGE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30 +31: ["SCAVENGER_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 31 +32: ["TEMPLE_POOL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32 +33: ["TEMPLE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 33 +34: ["GRAVE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34 +35: ["GRAVE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 35 +36: ["HATCHERY", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36 +37: ["HATCHERY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 37 +38: ["LAIR_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38 +39: ["LAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 39 +40: ["BARRACK_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40 +41: ["BARRACK_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 41 +42: ["DOOR_WOODEN", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 42 +43: ["DOOR_WOODEN2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 43 +44: ["DOOR_BRACE", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 44 +45: ["DOOR_BRACE2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 45 +46: ["DOOR_STEEL", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 46 +47: ["DOOR_STEEL2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 47 +48: ["DOOR_MAGIC", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 48 +49: ["DOOR_MAGIC2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 49 +50: ["SLAB50", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, OWNABLE], # 50 +51: ["BRIDGE_FRAME", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 51 +52: ["GEMS", BLOCK_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 52 +53: ["GUARD_AREA", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 53 +54: ["PURPLE_PATH", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 0, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, NOT_OWNABLE], # 54 +999: ["AUTOMATIC_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 999 } + + var icons = { BARRACKS: preload("res://dk_images/room_64/armory_std.png"), BRIDGE: preload("res://dk_images/room_64/bridge_std.png"), @@ -295,9 +312,3 @@ func is_door(slabID): if data[slabID][BITMASK_TYPE] == BITMASK_DOOR1 or data[slabID][BITMASK_TYPE] == BITMASK_DOOR2: return true return false - -var NAME_MAPPINGS = { - "DOOR_SECRET" : "Secret Door", - "DOOR_SECRET2" : "Secret Door", - "HARD_FLOOR" : "Bedrock", -} diff --git a/Autoload/Things.gd b/Autoload/Things.gd index ebbaa814..7165a591 100644 --- a/Autoload/Things.gd +++ b/Autoload/Things.gd @@ -72,7 +72,7 @@ func fetch_portrait(thing_type, sub_type): func fetch_name(thing_type, sub_type): - var dictionary_of_names = ObjectNames.NAME_MAPPINGS.get(thing_type) + var dictionary_of_names = Names.things.get(thing_type) if dictionary_of_names: var data_structure = data_structure(thing_type) var sub_type_data = data_structure.get(sub_type) diff --git a/Scenes/AddCustomSlabWindow.gd b/Scenes/AddCustomSlabWindow.gd index 5a80de32..6465b037 100644 --- a/Scenes/AddCustomSlabWindow.gd +++ b/Scenes/AddCustomSlabWindow.gd @@ -72,7 +72,7 @@ func _on_CustomSlabID_value_changed(value): var slabName = "Unknown" value = int(value) if Slabs.data.has(value): - slabName = Slabs.data[value][Slabs.NAME] + slabName = Slabs.fetch_name(value) oCustomSlabNameLabel.text = slabName diff --git a/Scenes/CfgLoader.gd b/Scenes/CfgLoader.gd index b6b5b076..e90d4c9e 100644 --- a/Scenes/CfgLoader.gd +++ b/Scenes/CfgLoader.gd @@ -65,17 +65,17 @@ func load_objects_data(path): var newEditorTab = Things.GENRE_TO_TAB[newGenre] Things.DATA_OBJECT[id] = [newName, newSprite, newEditorTab] + func load_terrain_data(path): var terrain_cfg = Utils.read_dkcfg_file(path) for section in terrain_cfg: if section.begins_with("slab"): var id = int(section) + if id >= 55: # Beyond Slabs.PURPLE_PATH var slabSection = terrain_cfg[section] - var setName = slabSection.get("Name", "Unknown") - if setName != "Unknown": - setName = Slabs.NAME_MAPPINGS.get(setName, setName.capitalize()) + var setName = slabSection.get("Name", "UNKNOWN") var getBlockFlags = slabSection.get("BlockFlags", []) if getBlockFlags is String and getBlockFlags == "": diff --git a/Scenes/ImageAsMapDialog.gd b/Scenes/ImageAsMapDialog.gd index 3b33a8fa..5c737257 100644 --- a/Scenes/ImageAsMapDialog.gd +++ b/Scenes/ImageAsMapDialog.gd @@ -24,7 +24,7 @@ func _ready(): # Don't put the junk slabs in if Slabs.data[slabID][Slabs.EDITOR_TAB] == Slabs.TAB_MAINSLAB: var buttonID = Button.new() - buttonID.text = Slabs.data[slabID][Slabs.NAME] + buttonID.text = Slabs.fetch_name(slabID) buttonID.toggle_mode = true buttonID.group = btnGroup buttonID.connect("pressed",self,"_on_slab_button_pressed",[buttonID]) diff --git a/Scenes/Main.tscn b/Scenes/Main.tscn index f4722f75..22c13a2a 100644 --- a/Scenes/Main.tscn +++ b/Scenes/Main.tscn @@ -1233,6 +1233,8 @@ size_flags_vertical = 3 margin_top = 10.0 margin_right = 276.0 margin_bottom = 31.0 +mouse_filter = 1 +size_flags_horizontal = 3 text = "Torture Chamber wall" valign = 1 autowrap = true diff --git a/Scenes/PickSlabWindow.gd b/Scenes/PickSlabWindow.gd index ffdd5fc3..c534e9c1 100644 --- a/Scenes/PickSlabWindow.gd +++ b/Scenes/PickSlabWindow.gd @@ -15,7 +15,7 @@ onready var oPlaceLockedCheckBox = Nodelist.list["oPlaceLockedCheckBox"] onready var oConfirmDeleteCustomSlab = Nodelist.list["oConfirmDeleteCustomSlab"] onready var oAddCustomSlabWindow = Nodelist.list["oAddCustomSlabWindow"] onready var oOverheadGraphics = Nodelist.list["oOverheadGraphics"] - +onready var oSlabNameDisplay = Nodelist.list["oSlabNameDisplay"] onready var oSelectedRect = $Clippy/SelectedRect onready var oCenteredLabel = $Clippy/CenteredLabel @@ -115,7 +115,8 @@ func add_slabs(): id.set_meta("ID_of_slab", slabID) id.panelView = Slabs.data[slabID][Slabs.PANEL_VIEW] id.set_visual(columnArray) - add_child_to_grid(tabs[putIntoTab][GRIDCON_PATH], id, Slabs.data[slabID][Slabs.NAME]) + var useName = Slabs.fetch_name(slabID) + add_child_to_grid(tabs[putIntoTab][GRIDCON_PATH], id, useName) custom_slab_add_new_button() @@ -189,6 +190,10 @@ func _on_hovered_over_item(id): offset = Vector2(id.rect_size.x * 0.5, id.rect_size.y * 0.50) oCenteredLabel.rect_global_position = id.rect_global_position + offset oCenteredLabel.get_node("Label").text = id.get_meta("grid_item_text") + + if id.has_meta("ID_of_slab"): + var slabID = id.get_meta("ID_of_slab") + oSlabNameDisplay.update_text_with_id(slabID, true) func current_grid_container(): diff --git a/Scenes/ResizeCurrentMapSize.gd b/Scenes/ResizeCurrentMapSize.gd index 6f765411..e5974835 100644 --- a/Scenes/ResizeCurrentMapSize.gd +++ b/Scenes/ResizeCurrentMapSize.gd @@ -143,7 +143,7 @@ func _on_SettingsYSizeLine_focus_exited(): func _on_ResizeFillWithID_value_changed(value): value = int(value) if Slabs.data.has(value): - oResizeFillWithIDLabel.text = Slabs.data[value][Slabs.NAME] + oResizeFillWithIDLabel.text = Slabs.fetch_name(value) # for pos in positionsToUpdate.keys(): # var scene = preload('res://t.tscn') diff --git a/Scenes/Selector.gd b/Scenes/Selector.gd index de463f9d..f562c36b 100644 --- a/Scenes/Selector.gd +++ b/Scenes/Selector.gd @@ -37,6 +37,7 @@ onready var oSlabSideViewer = Nodelist.list["oSlabSideViewer"] onready var oAddCustomSlabWindow = Nodelist.list["oAddCustomSlabWindow"] onready var oDisplaySlxNumbers = Nodelist.list["oDisplaySlxNumbers"] onready var oOwnerSelection = Nodelist.list["oOwnerSelection"] +onready var oSlabNameDisplay = Nodelist.list["oSlabNameDisplay"] onready var TILE_SIZE = Constants.TILE_SIZE onready var SUBTILE_SIZE = Constants.SUBTILE_SIZE @@ -295,8 +296,10 @@ func update_cursor_position(): MODE_TILE: position = cursorTile * TILE_SIZE MODE_SUBTILE: position = cursorSubtile * SUBTILE_SIZE + func moved_to_new_tile(): if mode == MODE_TILE: canPlace = true + oSlabNameDisplay.update_text_with_id(oSelection.cursorOverSlab, false) func moved_to_new_subtile(): oColumnDetails.update_details() diff --git a/Scenes/SlabNameDisplay.gd b/Scenes/SlabNameDisplay.gd index ca2724a4..5aac3deb 100644 --- a/Scenes/SlabNameDisplay.gd +++ b/Scenes/SlabNameDisplay.gd @@ -2,14 +2,30 @@ extends Label onready var oSelector = Nodelist.list["oSelector"] onready var oSelection = Nodelist.list["oSelection"] -func _process(delta): - if oSelector.visible == false: return +var display_id_name = false + +func _ready(): + connect("gui_input", self, "_on_gui_input") + + +func update_text_with_id(slabID, forceUpdate): + if slabID == null or slabID == -1 or slabID == Slabs.WALL_AUTOMATIC: + return + if oSelector.visible == false and forceUpdate == false: return - var slabID = oSelection.cursorOverSlab + var slabName - var slabName = "Unknown" - if Slabs.data.has(slabID): - slabName = Slabs.data[slabID][Slabs.NAME] + if display_id_name == false: + slabName = Slabs.fetch_name(slabID) + else: + var slabData = Slabs.data.get(slabID) + if slabData: + slabName = slabData[Slabs.NAME] text = slabName + ' : ' + str(slabID) - #get_parent().self_modulate = Constants.ownerRoomCol[oDataOwnership.get_cell_ownership(oSelector.cursorTile.x,oSelector.cursorTile.y)] + +func _on_gui_input(event): + if event is InputEventMouseButton and event.is_pressed(): + if event.button_index == BUTTON_LEFT: + display_id_name = !display_id_name + update_text_with_id(oSelection.cursorOverSlab, true) diff --git a/Scenes/ThingDetails.gd b/Scenes/ThingDetails.gd index 75fb3f6c..b491ba33 100644 --- a/Scenes/ThingDetails.gd +++ b/Scenes/ThingDetails.gd @@ -90,7 +90,7 @@ func light_details(id): var parentX = id.parentTile - (parentY*M.xSize) var hoveredCell = oDataSlab.get_cell(parentX,parentY) if Slabs.data.has(hoveredCell): - value = Slabs.data[hoveredCell][Slabs.NAME] + value = Slabs.fetch_name(hoveredCell) else: value = "" if parentX == 0 and parentY == 0: value = "" # Don't show the text "Impenetrable Rock" for keys @@ -132,7 +132,7 @@ func thing_details(id): var parentX = id.parentTile - (parentY*M.xSize) var hoveredCell = oDataSlab.get_cell(parentX,parentY) if Slabs.data.has(hoveredCell): - value = Slabs.data[hoveredCell][Slabs.NAME] + value = Slabs.fetch_name(hoveredCell) else: value = "" if parentX == 0 and parentY == 0: value = "" # Don't show the text "Impenetrable Rock" for keys diff --git a/project.godot b/project.godot index 24bde2cf..eb5dacc1 100644 --- a/project.godot +++ b/project.godot @@ -70,7 +70,7 @@ Slabset="*res://Autoload/Slabset.gd" Columnset="*res://Autoload/Columnset.gd" Version="*res://Autoload/Version.gd" Graphics="*res://Autoload/Graphics.gd" -ObjectNames="*res://Autoload/ObjectNames.gd" +Names="*res://Autoload/Names.gd" [debug]