Skip to content

Commit

Permalink
feat(Catlas): Allow customizing player border color based on class
Browse files Browse the repository at this point in the history
  • Loading branch information
My-Name-Is-Jeff committed Feb 11, 2025
1 parent 8169842 commit 184ab07
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ package gg.skytils.skytilsmod.features.impl.dungeons.catlas.core

import gg.essential.vigilance.Vigilant
import gg.essential.vigilance.data.*
import gg.skytils.skytilsmod.utils.DungeonClass
import java.awt.Color
import java.io.File
import java.util.EnumMap

object CatlasConfig : Vigilant(
File("./config/skytils/catlas/config.toml"),
Expand Down Expand Up @@ -226,13 +228,13 @@ object CatlasConfig : Vigilant(
)
var mapRoomSecrets = 0

// TODO: Add translation
@Property(
name = "Found Room Secrets",
type = PropertyType.SELECTOR,
description = "Shows found secrets of rooms on map.",
category = "Rooms",
options = ["Off", "On", "Replace Total"],
i18nName = "catlas.config.rooms..found_room_secrets",
i18nCategory = "catlas.config.rooms"
)
var foundRoomSecrets = 0
Expand Down Expand Up @@ -340,6 +342,66 @@ object CatlasConfig : Vigilant(
)
var colorUnopenedDoor = Color(65, 65, 65)

@Property(
name = "Player Border Color (Archer)",
type = PropertyType.COLOR,
category = "Colors",
subcategory = "Players",
allowAlpha = true,
i18nName = "catlas.config.colors.players.player_border_color_archer",
i18nCategory = "catlas.config.map",
i18nSubcategory = "catlas.config.map.render"
)
var colorPlayerArcher = Color(0, 0, 0, 255)

@Property(
name = "Player Border Color (Berserk)",
type = PropertyType.COLOR,
category = "Colors",
subcategory = "Players",
allowAlpha = true,
i18nName = "catlas.config.colors.players.player_border_color_berserk",
i18nCategory = "catlas.config.map",
i18nSubcategory = "catlas.config.map.render"
)
var colorPlayerBerserk = Color(0, 0, 0, 255)

@Property(
name = "Player Border Color (Healer)",
type = PropertyType.COLOR,
category = "Colors",
subcategory = "Players",
allowAlpha = true,
i18nName = "catlas.config.colors.players.player_border_color_healer",
i18nCategory = "catlas.config.map",
i18nSubcategory = "catlas.config.map.render"
)
var colorPlayerHealer = Color(0, 0, 0, 255)

@Property(
name = "Player Border Color (Mage)",
type = PropertyType.COLOR,
category = "Colors",
subcategory = "Players",
allowAlpha = true,
i18nName = "catlas.config.colors.players.player_border_color_mage",
i18nCategory = "catlas.config.map",
i18nSubcategory = "catlas.config.map.render"
)
var colorPlayerMage = Color(0, 0, 0, 255)

@Property(
name = "Player Border Color (Tank)",
type = PropertyType.COLOR,
category = "Colors",
subcategory = "Players",
allowAlpha = true,
i18nName = "catlas.config.colors.players.player_border_color_tank",
i18nCategory = "catlas.config.map",
i18nSubcategory = "catlas.config.map.render"
)
var colorPlayerTank = Color(0, 0, 0, 255)

@Property(
name = "Blood Room",
type = PropertyType.COLOR,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import gg.skytils.skytilsmod.features.impl.dungeons.catlas.core.CatlasConfig
import gg.skytils.skytilsmod.features.impl.dungeons.catlas.core.CatlasElement
import gg.skytils.skytilsmod.features.impl.dungeons.catlas.core.DungeonMapPlayer
import gg.skytils.skytilsmod.features.impl.dungeons.catlas.handlers.DungeonScanner
import gg.skytils.skytilsmod.utils.DungeonClass
import gg.skytils.skytilsmod.utils.ItemUtil
import gg.skytils.skytilsmod.utils.Utils
import gg.skytils.skytilsmod.utils.bindColor
Expand Down Expand Up @@ -172,7 +173,16 @@ object RenderUtils {
GlStateManager.rotate(-180f, 0f, 0f, 1f)
} else {
// Render black border around the player head
renderRectBorder(-6.0, -6.0, 12.0, 12.0, 1.0, Color(0, 0, 0, 255))
val borderColor = when (player.teammate.dungeonClass) {
DungeonClass.ARCHER -> CatlasConfig.colorPlayerArcher
DungeonClass.BERSERK -> CatlasConfig.colorPlayerBerserk
DungeonClass.HEALER -> CatlasConfig.colorPlayerHealer
DungeonClass.MAGE -> CatlasConfig.colorPlayerMage
DungeonClass.TANK -> CatlasConfig.colorPlayerTank
else -> Color.BLACK
}

renderRectBorder(-6.0, -6.0, 12.0, 12.0, 1.0, borderColor)

preDraw()
GlStateManager.enableTexture2D()
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/assets/catlas/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ catlas.config.map.render.border_thickness=Border Thickness
catlas.config.rooms..room_names=Room Names
catlas.config.rooms.text.center_room_names=Center Room Names
catlas.config.rooms..room_secrets=Room Secrets
catlas.config.rooms..found_room_secrets=Found Room Secrets
catlas.config.rooms..color_text=Color Text
catlas.config.rooms..room_checkmarks=Room Checkmarks
catlas.config.rooms.checkmarks.center_room_checkmarks=Center Room Checkmarks
Expand All @@ -23,6 +24,11 @@ catlas.config.colors.doors.normal_door=Normal Door
catlas.config.colors.doors.wither_door=Wither Door
catlas.config.colors.doors.opened_wither_door=Opened Wither Door
catlas.config.colors.doors.unopened_door=Unopened Door
catlas.config.colors.players.player_border_color_archer=Player Border Color (Archer)
catlas.config.colors.players.player_border_color_berserk=Player Border Color (Berserk)
catlas.config.colors.players.player_border_color_healer=Player Border Color (Healer)
catlas.config.colors.players.player_border_color_mage=Player Border Color (Mage)
catlas.config.colors.players.player_border_color_tank=Player Border Color (Tank)
catlas.config.colors.rooms.blood_room=Blood Room
catlas.config.colors.rooms.entrance_room=Entrance Room
catlas.config.colors.rooms.fairy_room=Fairy Room
Expand Down

0 comments on commit 184ab07

Please sign in to comment.