diff --git a/WEBSOCKET_PROTOCOL.md b/WEBSOCKET_PROTOCOL.md index a1e137f..25b1b75 100644 --- a/WEBSOCKET_PROTOCOL.md +++ b/WEBSOCKET_PROTOCOL.md @@ -223,7 +223,7 @@ The server responds with the requested information, which the client can then ca The protocol includes several other messages to enhance the client experience: * **`room.describe`**: Provides a detailed description of the current room, including an ASCII map. -* **`entity.attack`** and **`affect.cure`**: Trigger client-side animations for combat and healing. +* **`entity.attack`** and **`effect.cure`**: Trigger client-side animations for combat and healing. * **`channel.msg`**: Handles all chat and communication channels. * **`map.settings`**: Configures the client's map display. * **`help.topics`**, **`help.entry`**, **`help.search`**: Provide access to the in-game help system. @@ -506,7 +506,7 @@ Notifies the client that an entity has been attacked, for animation purposes. --- -### `affect.cure` +### `effect.cure` Notifies the client that an entity has been healed, for animation purposes. @@ -517,7 +517,7 @@ Notifies the client that an entity has been healed, for animation purposes. *Example:* ```json { - "cmd": "affect.cure", + "cmd": "effect.cure", "msg": { "target": 12345, "amount": 10 diff --git a/jsconfig.json b/jsconfig.json index 5a1f2d2..4ba458a 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,7 +2,8 @@ "compilerOptions": { "paths": { "@/*": ["./src/*"] - } + }, + "lib": ["es2015", "dom"] }, "exclude": ["node_modules", "dist"] } diff --git a/src/App.vue b/src/App.vue index d3ba9e8..dd8f9cd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -114,11 +114,6 @@ onBeforeUnmount(() => { --n-label-font-size: 16px; } -// .selected { -// box-shadow: 0 0 5px #f8ff25; -// color: #f8ff25; -// } - body, html { margin: 0; padding: 0; @@ -128,12 +123,9 @@ body, html { line-height: 1.1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + height: 100%; } -//*, * > * { - //overflow: auto; -//} - ::-webkit-scrollbar { background: transparent; } @@ -171,4 +163,45 @@ body, html { b { font-weight: normal !important; } + +.modal-close-button { + margin: 0; + padding: 5px; + background-color: #18181b; + border: 1px solid #18181b; + border-radius: 4px; + position: absolute; + top: 10px; + right: 10px; + font-size: 32px; + z-index: 2; + line-height: 16px; + cursor: pointer; + transition: all 0.3s; + &:hover { + border: 1px solid rgb(119 69 69); + background-color: rgb(45 27 27 / 90%); + } +} + +.modal-keyboard-toggle { + margin: 0 5px 0 0; + padding: 5px; + background-color: #18181b; + border: 1px solid #18181b; + border-radius: 4px; + position: absolute; + top: 10px; + right: 44px; + font-size: 32px; + z-index: 2; + line-height: 16px; + cursor: pointer; + transition: all 0.3s; + &:hover, &.active { + border: 1px solid rgb(69 119 69); + background-color: rgb(27 45 27 / 90%); + } +} + diff --git a/src/assets/icons/backpack.svg b/src/assets/icons/backpack.svg index b67d224..e3268c3 100755 --- a/src/assets/icons/backpack.svg +++ b/src/assets/icons/backpack.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/battle-gear.svg b/src/assets/icons/battle-gear.svg index 4af2c21..a824e4d 100755 --- a/src/assets/icons/battle-gear.svg +++ b/src/assets/icons/battle-gear.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/character.svg b/src/assets/icons/character.svg index fa79132..8951def 100755 --- a/src/assets/icons/character.svg +++ b/src/assets/icons/character.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/exit-door.svg b/src/assets/icons/exit-door.svg index bd9f257..f2bd7e9 100755 --- a/src/assets/icons/exit-door.svg +++ b/src/assets/icons/exit-door.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/skills.svg b/src/assets/icons/skills.svg index aaa6b36..d28abb8 100755 --- a/src/assets/icons/skills.svg +++ b/src/assets/icons/skills.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/toggles.svg b/src/assets/icons/toggles.svg old mode 100755 new mode 100644 index 4478f53..31445d2 --- a/src/assets/icons/toggles.svg +++ b/src/assets/icons/toggles.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/treasure-map.svg b/src/assets/icons/treasure-map.svg index 5ea9639..99ad419 100755 --- a/src/assets/icons/treasure-map.svg +++ b/src/assets/icons/treasure-map.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/trophy.svg b/src/assets/icons/trophy.svg index a40cb84..a9947fd 100755 --- a/src/assets/icons/trophy.svg +++ b/src/assets/icons/trophy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/logo.png b/src/assets/logo.png deleted file mode 100644 index f3d2503..0000000 Binary files a/src/assets/logo.png and /dev/null differ diff --git a/src/components/InputHandler.vue b/src/components/InputHandler.vue index 7394c0c..2b7cce5 100644 --- a/src/components/InputHandler.vue +++ b/src/components/InputHandler.vue @@ -1,5 +1,5 @@ diff --git a/src/components/battle/BattleField.vue b/src/components/battle/BattleField.vue new file mode 100644 index 0000000..c89c5ef --- /dev/null +++ b/src/components/battle/BattleField.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/components/battle/BattleStatus.vue b/src/components/battle/BattleStatus.vue index fdfdca7..323b4c7 100644 --- a/src/components/battle/BattleStatus.vue +++ b/src/components/battle/BattleStatus.vue @@ -1,13 +1,22 @@ + + \ No newline at end of file diff --git a/src/components/battle/MyTurnIndicator.vue b/src/components/battle/MyTurnIndicator.vue new file mode 100644 index 0000000..1373d52 --- /dev/null +++ b/src/components/battle/MyTurnIndicator.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/components/common/AffectsBar.vue b/src/components/common/EffectsBar.vue similarity index 71% rename from src/components/common/AffectsBar.vue rename to src/components/common/EffectsBar.vue index e79c034..f97b4ce 100644 --- a/src/components/common/AffectsBar.vue +++ b/src/components/common/EffectsBar.vue @@ -3,7 +3,7 @@
Dead
@@ -11,8 +11,8 @@
Incapacitated
-
-
+
+
@@ -21,14 +21,14 @@ import { defineProps, toRefs } from 'vue' import { useHelpers } from '@/composables/helpers' import { NPopover } from 'naive-ui' -const { getAffectFlags, getAffectNames } = useHelpers() +const { getEffectFlags, getEffectNames } = useHelpers() const props = defineProps([ 'entity', - 'affects' + 'effects' ]) -const { entity, affects } = toRefs(props) +const { entity, effects } = toRefs(props) @@ -36,7 +36,7 @@ const { entity, affects } = toRefs(props) .shortflags { flex-grow: 1; text-align: left; - height: 18px; + height: 20px; display: flex; gap: 5px; overflow-x: hidden; diff --git a/src/components/common/MiniMap.vue b/src/components/common/MiniMap.vue index 9d63b52..fa71dd0 100644 --- a/src/components/common/MiniMap.vue +++ b/src/components/common/MiniMap.vue @@ -25,7 +25,7 @@ function renderMinimap () { } } - return minimap + return minimap.slice(0, 7) } @@ -33,10 +33,15 @@ function renderMinimap () { diff --git a/src/components/common/MusicPlayer.vue b/src/components/common/MusicPlayer.vue index 795ca4d..48086ad 100644 --- a/src/components/common/MusicPlayer.vue +++ b/src/components/common/MusicPlayer.vue @@ -113,6 +113,10 @@ function drawAnalyzer () { let red = Math.max(shade / 4, Math.abs(Math.cos(((redCounter + (i + 1) * gradient) / 1009))) * shade) let green = Math.max(shade / 4, Math.abs(Math.cos(((greenCounter + (i + 1) * gradient) / 1129))) * shade) let blue = Math.max(shade / 4, Math.abs(Math.cos(((blueCounter + (i + 1) * gradient) / 1283))) * shade) + + red = Math.max(25, red) + green = Math.max(25, green) + blue = Math.max(25, blue) ctx.fillStyle = `rgb(${red}, ${green}, ${blue})` ctx.fill() } @@ -153,6 +157,10 @@ onBeforeUnmount(() => { z-index: 2; min-width: 190px; min-height: 78px; + padding: 5px; + background-color: rgb(27 38 45); + border: 1px solid rgb(69 100 119); + border-radius: 4px; .track-controls { display: flex; @@ -169,18 +177,20 @@ onBeforeUnmount(() => { .play-pause, .skip-track { cursor: pointer; - border: 1px solid rgba(255, 255, 255, 0.24); + border: 1px solid rgb(69 100 119); + border-radius: 4px; font-size: 34px; margin-right: 5px; line-height: 34px; width: 34px; height: 34px; - background-color: #101014; + background-color: rgb(27 38 45 / 90%); color: #fff; transition: all 0.3s; user-select: none; &:hover { - border: 1px solid #0cc6c6; + background-color: rgb(27 38 45 / 90%); + border: 1px solid rgb(69 100 119); } } } diff --git a/src/components/common/VitalsBar.vue b/src/components/common/VitalsBar.vue index 5dc356c..9c3b59b 100644 --- a/src/components/common/VitalsBar.vue +++ b/src/components/common/VitalsBar.vue @@ -157,7 +157,7 @@ function getFoodBarClass () { line-height: 1; border-radius: 2px; position: relative; - min-width: 60px; + min-width: 77px; &.hp { border: 1px solid #005500; diff --git a/src/components/game-modal/EquipmentPane.vue b/src/components/game-modal/EquipmentPane.vue index aba6729..f4db9f9 100644 --- a/src/components/game-modal/EquipmentPane.vue +++ b/src/components/game-modal/EquipmentPane.vue @@ -1,6 +1,6 @@