From b973a557fd8558955d7d2af52024c1ec7989f234 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Mon, 7 Apr 2025 23:48:36 +0200 Subject: [PATCH 1/8] f --- content/cards/hyperdrive.json | 6 ++++-- content/cards/pirate.json | 13 ++++++++++++- content/cards/rocket.json | 20 ++++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/content/cards/hyperdrive.json b/content/cards/hyperdrive.json index 40c5f7a..899f4bb 100644 --- a/content/cards/hyperdrive.json +++ b/content/cards/hyperdrive.json @@ -24,7 +24,8 @@ "time": 3, "actions": [ { - "type": "travel" + "type": "travel", + "amount": 10 }, { "type": "destroy" @@ -36,7 +37,8 @@ "time": 3, "actions": [ { - "type": "travel" + "type": "travel", + "amount": 10 }, { "type": "destroy" diff --git a/content/cards/pirate.json b/content/cards/pirate.json index ec37fe2..eb0dd43 100644 --- a/content/cards/pirate.json +++ b/content/cards/pirate.json @@ -105,5 +105,16 @@ } ] } - ] + ], + "timer": { + "time": 12, + "actions": [ + { + "type": "destroy" + }, + { + "type": "destroyRandom" + } + ] + } } diff --git a/content/cards/rocket.json b/content/cards/rocket.json index 9ba93fa..3335767 100644 --- a/content/cards/rocket.json +++ b/content/cards/rocket.json @@ -26,6 +26,26 @@ "amount": 5 } ] + }, + { + "card": "helmsman", + "time": 5, + "actions": [ + { + "type": "travel", + "amount": 7 + } + ] + }, + { + "card": "helmsman-instructor", + "time": 5, + "actions": [ + { + "type": "travel", + "amount": 7 + } + ] } ] } From 34be5239f47efe10375bc5593a3c01f08cbcc5b7 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Mon, 7 Apr 2025 23:55:44 +0200 Subject: [PATCH 2/8] Add helsmman rocket stuff, fix index --- content/cards/rocket.json | 4 ++++ pages/index.vue | 10 ++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/content/cards/rocket.json b/content/cards/rocket.json index 3335767..e3058e8 100644 --- a/content/cards/rocket.json +++ b/content/cards/rocket.json @@ -30,6 +30,8 @@ { "card": "helmsman", "time": 5, + "infinite": true, + "consumeContainer": true, "actions": [ { "type": "travel", @@ -40,6 +42,8 @@ { "card": "helmsman-instructor", "time": 5, + "infinite": true, + "consumeContainer": true, "actions": [ { "type": "travel", diff --git a/pages/index.vue b/pages/index.vue index 2f37f05..8cc77fe 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -28,15 +28,13 @@ watchOnce(container, () => { addPercentage('soldier', 10, 75) addPercentage('rocket', 50, 50) - addPercentage('trade-link-broken', 90, 75) + addPercentage('trade-link', 90, 50) - addPercentage('fuel', 35, 25, 3) + addPercentage('fuel', 45, 25, 3) addPercentage('money', 50, 25, 400) - addPercentage('metal', 50, 25, 5) + addPercentage('metal', 55, 25, 5) - addPercentage('flux-generator', 55, 80) - addPercentage('radar', 40, 100) - addPercentage('radar', 40, 100) + addPercentage('flux-generator', 50, 80) }) From ecdd3211b1700b7695ac2ef7022dc54ecc6a7001 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 00:30:46 +0200 Subject: [PATCH 3/8] Reset timer when interacting with pirates --- composables/useCardTimer.ts | 8 ++++++++ composables/useInteraction.ts | 5 +++++ content.config.ts | 1 + content/cards/pirate.json | 1 + stores/BoardStore.ts | 4 ++++ 5 files changed, 19 insertions(+) diff --git a/composables/useCardTimer.ts b/composables/useCardTimer.ts index 25a9d9d..44f2296 100644 --- a/composables/useCardTimer.ts +++ b/composables/useCardTimer.ts @@ -25,7 +25,15 @@ export const useCardTimer = () => { }, 10) } + const reset = (card: BoardCard) => { + if (card.timerTimeoutId) clearTimeout(card.timerTimeoutId) + if (card.timerIntervalId) clearInterval(card.timerIntervalId) + + card.timerStartAt = card.timerFinishAt = card.timerProgress = card.timerTimeoutId = card.timerIntervalId = undefined + } + return { init, + reset, } } diff --git a/composables/useInteraction.ts b/composables/useInteraction.ts index 31a712c..ce97e99 100644 --- a/composables/useInteraction.ts +++ b/composables/useInteraction.ts @@ -6,6 +6,7 @@ export const useInteraction = (draggingCard: BoardCard) => { const boardStore = useBoardStore() const { runActions } = useAction() const { startCooldown } = useCardCooldown() + const { reset } = useCardTimer() const getAvailableInteractions = (boardCard: BoardCard): string[] => { return (boardCard.card.interactions ?? []).map(interaction => interaction.card) @@ -43,6 +44,10 @@ export const useInteraction = (draggingCard: BoardCard) => { } boardCard.currentInteraction = interaction + if (boardCard.card.timer?.resetWhenCardIsStacked) { + reset(boardCard) + } + if ((interaction.time ?? 0) <= 0) { runInteractionActions(boardCard) return diff --git a/content.config.ts b/content.config.ts index 7c7e98d..a5d9bdb 100644 --- a/content.config.ts +++ b/content.config.ts @@ -54,6 +54,7 @@ export default defineContentConfig({ onSpawn: actionsType, timer: z.object({ time: z.number().positive().default(0), + resetWhenCardIsStacked: z.boolean().default(false), actions: actionsType, }).optional(), }), diff --git a/content/cards/pirate.json b/content/cards/pirate.json index eb0dd43..80c2e1e 100644 --- a/content/cards/pirate.json +++ b/content/cards/pirate.json @@ -108,6 +108,7 @@ ], "timer": { "time": 12, + "resetWhenCardIsStacked": true, "actions": [ { "type": "destroy" diff --git a/stores/BoardStore.ts b/stores/BoardStore.ts index df8f120..5ede6e9 100644 --- a/stores/BoardStore.ts +++ b/stores/BoardStore.ts @@ -88,6 +88,10 @@ export const useBoardStore = defineStore('board', () => { card.parentCard.interactionTimeoutId = undefined card.parentCard.interactionFinishAt = undefined card.parentCard.currentInteraction = undefined + + if (card.parentCard.card.timer?.resetWhenCardIsStacked) { + init(card.parentCard) + } } function unstackCard(card: BoardCard, position: { x: number, y: number }) { From c7dff2f1e9d3b6d34f38b95c84883d3179777371 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 00:43:39 +0200 Subject: [PATCH 4/8] Add win action --- composables/actions/win.ts | 7 +++++++ composables/useAction.ts | 2 ++ content/events/win.json | 6 +++++- pages/win.vue | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 composables/actions/win.ts create mode 100644 pages/win.vue diff --git a/composables/actions/win.ts b/composables/actions/win.ts new file mode 100644 index 0000000..aa70cc7 --- /dev/null +++ b/composables/actions/win.ts @@ -0,0 +1,7 @@ +import type { CardsCollectionItem } from '@nuxt/content' +import type { BoardCard } from '~/types/Board' +import type { Action } from '~/types/Action' + +export const win: Action = (_action: CardsCollectionItem['interactions'][0]['actions'][0], _baseCard: BoardCard, _interactingCard: BoardCard) => { + navigateTo('/win', { external: true }) +} diff --git a/composables/useAction.ts b/composables/useAction.ts index e43f084..5a44ce1 100644 --- a/composables/useAction.ts +++ b/composables/useAction.ts @@ -13,6 +13,7 @@ import { travel } from './actions/travel' import { destroyAll } from './actions/destroyAll' import { destroyRandom } from './actions/destroyRandom' import { random } from './actions/random' +import { win } from './actions/win' import type { BoardCard } from '~/types/Board' import type { Action } from '~/types/Action' import { reveal } from '~/composables/actions/reveal' @@ -33,6 +34,7 @@ const allActions: { [key: string]: Action } = { destroyRandom, random, reveal, + win, } export const useAction = () => { diff --git a/content/events/win.json b/content/events/win.json index c078274..0e575fe 100644 --- a/content/events/win.json +++ b/content/events/win.json @@ -3,5 +3,9 @@ "icon": "material-symbols:flag", "type": "positive", "hidden": true, - "actions": [] + "actions": [ + { + "type": "win" + } + ] } diff --git a/pages/win.vue b/pages/win.vue new file mode 100644 index 0000000..11c3787 --- /dev/null +++ b/pages/win.vue @@ -0,0 +1,19 @@ + From ecb6f47702617c7f1cf4553d9a6529490d481ed4 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 01:13:29 +0200 Subject: [PATCH 5/8] Add tooltips and descriptions for each card --- components/Object/Card/ObjectCard.vue | 53 +++++++++++++++++--- content.config.ts | 1 + content/cards/asteroid.json | 1 + content/cards/asteroidField.json | 1 + content/cards/baby.json | 1 + content/cards/brainrot.json | 1 + content/cards/distressSignal.json | 1 + content/cards/duck.json | 1 + content/cards/fire-extinguisher.json | 1 + content/cards/fire.json | 1 + content/cards/fluxGenerator.json | 1 + content/cards/fuel.json | 1 + content/cards/helmsman.json | 1 + content/cards/helmsmanInstructor.json | 1 + content/cards/hyperdrive.json | 1 + content/cards/medic.json | 1 + content/cards/medicInstructor.json | 1 + content/cards/merchant.json | 1 + content/cards/metal.json | 1 + content/cards/miner.json | 1 + content/cards/minerInstructor.json | 1 + content/cards/money.json | 1 + content/cards/pirate.json | 71 ++------------------------- content/cards/radar.json | 1 + content/cards/radarBroken.json | 1 + content/cards/rocket.json | 1 + content/cards/shipwreck.json | 1 + content/cards/soldier.json | 1 + content/cards/soldierInstructor.json | 1 + content/cards/trade.json | 1 + content/cards/tradeLink.json | 1 + content/cards/tradeLinkBroken.json | 1 + content/cards/worker.json | 1 + 33 files changed, 79 insertions(+), 76 deletions(-) diff --git a/components/Object/Card/ObjectCard.vue b/components/Object/Card/ObjectCard.vue index b094d98..d87b24a 100644 --- a/components/Object/Card/ObjectCard.vue +++ b/components/Object/Card/ObjectCard.vue @@ -1,18 +1,55 @@ diff --git a/content.config.ts b/content.config.ts index a5d9bdb..8cb7ec5 100644 --- a/content.config.ts +++ b/content.config.ts @@ -28,6 +28,7 @@ export default defineContentConfig({ identifier: z.string(), extend: z.string().optional(), label: z.string(), + description: z.string(), icon: z.string().default('material-symbols:man-rounded'), iconColor: z.string().optional().default('#000000'), health: z.number().gte(0).lte(20).optional(), diff --git a/content/cards/asteroid.json b/content/cards/asteroid.json index 0266edf..a1ae7cc 100644 --- a/content/cards/asteroid.json +++ b/content/cards/asteroid.json @@ -1,6 +1,7 @@ { "identifier": "asteroid", "label": "Asteroid", + "description": "A small asteroid. Destroys a random card on impact and can be mined to get metal", "icon": "tabler:meteor", "health": 10, "type": "enemy", diff --git a/content/cards/asteroidField.json b/content/cards/asteroidField.json index 2025802..85c8597 100644 --- a/content/cards/asteroidField.json +++ b/content/cards/asteroidField.json @@ -1,5 +1,6 @@ { "identifier": "asteroid-field", + "description": "Can be mined to get a bunch of metal. Disappears after some time", "label": "Asteroid Field", "icon": "mdi:focus-field", "type": "event", diff --git a/content/cards/baby.json b/content/cards/baby.json index 0552f7d..a086999 100644 --- a/content/cards/baby.json +++ b/content/cards/baby.json @@ -1,6 +1,7 @@ { "identifier": "baby", "label": "Baby", + "description": "Small human. Will grow to be a large human.", "icon": "hugeicons:baby-02", "health": 2, "type": "person", diff --git a/content/cards/brainrot.json b/content/cards/brainrot.json index a6aef66..a8c4183 100644 --- a/content/cards/brainrot.json +++ b/content/cards/brainrot.json @@ -1,6 +1,7 @@ { "identifier": "brainrot", "label": "Brainrot", + "description": "What the sigma? Bruh, this will uneducate anyone! No cap.", "icon": "mdi:brain", "type": "limitedUsage", "buyable": true, diff --git a/content/cards/distressSignal.json b/content/cards/distressSignal.json index f94f91b..2647fd8 100644 --- a/content/cards/distressSignal.json +++ b/content/cards/distressSignal.json @@ -1,6 +1,7 @@ { "identifier": "distress-signal", "label": "Distress Signal", + "description": "Someone needs our help! Or is it a trap?", "icon": "oui:security-signal-detected", "type": "event", "interactions": [ diff --git a/content/cards/duck.json b/content/cards/duck.json index 51c90bc..550822e 100644 --- a/content/cards/duck.json +++ b/content/cards/duck.json @@ -1,6 +1,7 @@ { "identifier": "duck", "label": "Duck", + "description": "Quack.", "icon": "icon-park-outline:duck", "type": "person", "buyable": true, diff --git a/content/cards/fire-extinguisher.json b/content/cards/fire-extinguisher.json index 0df7598..545ad87 100644 --- a/content/cards/fire-extinguisher.json +++ b/content/cards/fire-extinguisher.json @@ -1,6 +1,7 @@ { "identifier": "fire-extinguisher", "label": "Fire Extinguisher", + "description": "This can safely extinguish fires. It's a bit expensive though.", "icon": "material-symbols:fire-extinguisher-outline", "type": "limitedUsage", "health": 3, diff --git a/content/cards/fire.json b/content/cards/fire.json index af98bd4..2b01664 100644 --- a/content/cards/fire.json +++ b/content/cards/fire.json @@ -1,6 +1,7 @@ { "identifier": "fire", "label": "Fire", + "description": "It's a fire! Don't throw fuel at it!", "icon": "noto-v1:fire", "health": 10, "type": "enemy", diff --git a/content/cards/fluxGenerator.json b/content/cards/fluxGenerator.json index 5519a8f..e485fb9 100644 --- a/content/cards/fluxGenerator.json +++ b/content/cards/fluxGenerator.json @@ -1,6 +1,7 @@ { "identifier": "flux-generator", "label": "Flux Generator", + "description": "An endless, if slow, source of fuel. Can be used to power the ship.", "icon": "file-icons:flux", "type": "static", "interactions": [ diff --git a/content/cards/fuel.json b/content/cards/fuel.json index 3846d5f..fd3be2d 100644 --- a/content/cards/fuel.json +++ b/content/cards/fuel.json @@ -1,6 +1,7 @@ { "identifier": "fuel", "label": "Fuel", + "description": "Can be used to power the rocket. Can be stacked and sold for money!", "icon": "solar:battery-charge-minimalistic-outline", "type": "resource", "amount": 1, diff --git a/content/cards/helmsman.json b/content/cards/helmsman.json index 7ae68a7..450edbb 100644 --- a/content/cards/helmsman.json +++ b/content/cards/helmsman.json @@ -2,6 +2,7 @@ "identifier": "helmsman", "extend": "worker", "label": "Helmsman", + "description": "A specialized worker. Is more efficent when controlling the ship than a worker.", "icon": "custom:helmsman", "strength": 4, "health": 20, diff --git a/content/cards/helmsmanInstructor.json b/content/cards/helmsmanInstructor.json index 9f40053..371af91 100644 --- a/content/cards/helmsmanInstructor.json +++ b/content/cards/helmsmanInstructor.json @@ -2,6 +2,7 @@ "identifier": "helmsman-instructor", "extend": "worker", "label": "Helmsman Instr.", + "description": "Can be used to teach workers how to be helmsmans", "icon": "custom:helmsman-instructor", "strength": 4, "health": 20, diff --git a/content/cards/hyperdrive.json b/content/cards/hyperdrive.json index 899f4bb..a522fe4 100644 --- a/content/cards/hyperdrive.json +++ b/content/cards/hyperdrive.json @@ -1,6 +1,7 @@ { "identifier": "hyperdrive", "label": "Hyperdrive", + "description": "Fast-Travel in space! Moves the ship a great deal forward to reach the goal!", "icon": "game-icons:hypersonic-bolt", "type": "limitedUsage", "buyable": true, diff --git a/content/cards/medic.json b/content/cards/medic.json index 7822697..506b74e 100644 --- a/content/cards/medic.json +++ b/content/cards/medic.json @@ -1,6 +1,7 @@ { "identifier": "medic", "extend": "worker", + "description": "A specialized worker. Can be used to heal other workers.", "label": "Medic", "icon": "custom:medic", "health": 15, diff --git a/content/cards/medicInstructor.json b/content/cards/medicInstructor.json index 98d7444..67b3668 100644 --- a/content/cards/medicInstructor.json +++ b/content/cards/medicInstructor.json @@ -2,6 +2,7 @@ "identifier": "medic-instructor", "extend": "worker", "label": "Medic Instr.", + "description": "Can be used to teach workers how to be medics", "icon": "custom:medic-instructor", "health": 15, "strength": 2, diff --git a/content/cards/merchant.json b/content/cards/merchant.json index bd3bf08..71e478e 100644 --- a/content/cards/merchant.json +++ b/content/cards/merchant.json @@ -1,6 +1,7 @@ { "identifier": "merchant", "label": "Merchant", + "description": "Brings a lot of goods. Disappers after a while. Drop stuff at him to get money!", "icon": "arcticons:family-space", "type": "merchant", "interactions": [ diff --git a/content/cards/metal.json b/content/cards/metal.json index 5c178c4..4f72606 100644 --- a/content/cards/metal.json +++ b/content/cards/metal.json @@ -1,6 +1,7 @@ { "identifier": "metal", "label": "Metal", + "description": "Requires to repair broken parts. Can be stacked and sold for money!", "icon": "icon-park-outline:heavy-metal", "type": "resource", "amount": 1, diff --git a/content/cards/miner.json b/content/cards/miner.json index d7b28c7..e3d8da1 100644 --- a/content/cards/miner.json +++ b/content/cards/miner.json @@ -2,6 +2,7 @@ "identifier": "miner", "extend": "worker", "label": "Miner", + "description": "A specialized worker. Is more efficent when mining than a worker.", "icon": "custom:miner", "health": 22, "strength": 6, diff --git a/content/cards/minerInstructor.json b/content/cards/minerInstructor.json index fbb6889..cc3b8d1 100644 --- a/content/cards/minerInstructor.json +++ b/content/cards/minerInstructor.json @@ -2,6 +2,7 @@ "identifier": "miner-instructor", "extend": "worker", "label": "Miner Instr.", + "description": "Can be used to teach workers how to be miners", "icon": "custom:miner-instructor", "health": 22, "strength": 6, diff --git a/content/cards/money.json b/content/cards/money.json index b794fd1..1042673 100644 --- a/content/cards/money.json +++ b/content/cards/money.json @@ -2,6 +2,7 @@ "identifier": "money", "label": "Money", "icon": "material-symbols:money-bag-outline", + "description": "'I love money!!' - Mr Crabs", "type": "resource", "amount": 1, "interactions": [ diff --git a/content/cards/pirate.json b/content/cards/pirate.json index 80c2e1e..4fbd5f5 100644 --- a/content/cards/pirate.json +++ b/content/cards/pirate.json @@ -1,6 +1,7 @@ { "identifier": "pirate", "label": "Space-Pirate", + "description": "Can be attacked! If ignored for too long, will run away and destroying a random card on its way!", "icon": "game-icons:pirate-skull", "health": 25, "type": "enemy", @@ -20,7 +21,7 @@ { "card": "soldier", "infinite": true, - "time": 3, + "time": 2, "showHealthInsteadOfTime": true, "actions": [ { @@ -31,73 +32,7 @@ { "card": "soldier-instructor", "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "helmsman", - "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "helmsman-instructor", - "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "miner", - "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "miner-instructor", - "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "medic", - "infinite": true, - "time": 3, - "showHealthInsteadOfTime": true, - "actions": [ - { - "type": "fight" - } - ] - }, - { - "card": "medic-instructor", - "infinite": true, - "time": 3, + "time": 2, "showHealthInsteadOfTime": true, "actions": [ { diff --git a/content/cards/radar.json b/content/cards/radar.json index aee2496..7c5c7d4 100644 --- a/content/cards/radar.json +++ b/content/cards/radar.json @@ -1,6 +1,7 @@ { "identifier": "radar", "label": "Radar", + "description": "Reveals the next event that is on jour journey! Has a cooldown", "icon": "mingcute:radar-2-line", "type": "building", "buyable": true, diff --git a/content/cards/radarBroken.json b/content/cards/radarBroken.json index 76401d2..d3082d7 100644 --- a/content/cards/radarBroken.json +++ b/content/cards/radarBroken.json @@ -1,6 +1,7 @@ { "identifier": "radar-broken", "label": "Broken Radar", + "description": "Requires 5 metal to be repaired", "icon": "mingcute:radar-2-line", "iconColor": "red", "type": "building", diff --git a/content/cards/rocket.json b/content/cards/rocket.json index e3058e8..58e3018 100644 --- a/content/cards/rocket.json +++ b/content/cards/rocket.json @@ -1,6 +1,7 @@ { "identifier": "rocket", "label": "Rocket", + "description": "Your glourious rocket! Can be used to travel the ship forward. Requires fuel.", "icon": "material-symbols:rocket-launch", "type": "static", "container": "fuel", diff --git a/content/cards/shipwreck.json b/content/cards/shipwreck.json index 8174367..de1b39d 100644 --- a/content/cards/shipwreck.json +++ b/content/cards/shipwreck.json @@ -1,6 +1,7 @@ { "identifier": "shipwreck", "label": "Shipwreck", + "description": "A shipwreck. We can loot it to get resources!", "icon": "custom:shipwreck", "type": "event", "interactions": [ diff --git a/content/cards/soldier.json b/content/cards/soldier.json index a9033f1..51b6c68 100644 --- a/content/cards/soldier.json +++ b/content/cards/soldier.json @@ -2,6 +2,7 @@ "identifier": "soldier", "extend": "worker", "label": "Soldier", + "description": "A specialized worker. Is more efficent when fighting than a worker.", "icon": "custom:soldier", "health": 30, "strength": 10, diff --git a/content/cards/soldierInstructor.json b/content/cards/soldierInstructor.json index 7e7dec0..0628ef5 100644 --- a/content/cards/soldierInstructor.json +++ b/content/cards/soldierInstructor.json @@ -2,6 +2,7 @@ "identifier": "soldier-instructor", "extend": "worker", "label": "Soldier Instr.", + "description": "Can be used to teach workers how to be soldiers", "icon": "custom:soldier-instructor", "health": 32, "strength": 11, diff --git a/content/cards/trade.json b/content/cards/trade.json index a1455fb..75153b5 100644 --- a/content/cards/trade.json +++ b/content/cards/trade.json @@ -2,6 +2,7 @@ "identifier": "trade", "label": "Trade", "icon": "material-symbols:storefront-outline", + "description": "Trades money for goods. Will disappear when the merchant goes away", "type": "merchant", "interactions": [ { diff --git a/content/cards/tradeLink.json b/content/cards/tradeLink.json index 3c1be07..2e0bb26 100644 --- a/content/cards/tradeLink.json +++ b/content/cards/tradeLink.json @@ -1,6 +1,7 @@ { "identifier": "trade-link", "label": "Trade Link", + "description": "Calls a merchant to trade with. Has a cooldown", "icon": "carbon:connection-signal", "type": "building", "health": 1, diff --git a/content/cards/tradeLinkBroken.json b/content/cards/tradeLinkBroken.json index 2eec523..c4a57c9 100644 --- a/content/cards/tradeLinkBroken.json +++ b/content/cards/tradeLinkBroken.json @@ -1,6 +1,7 @@ { "identifier": "trade-link-broken", "label": "Broken Trade Link", + "description": "Requires 5 metal to be repaired", "icon": "carbon:connection-signal-off", "iconColor": "red", "type": "building", diff --git a/content/cards/worker.json b/content/cards/worker.json index ccde3b8..8831721 100644 --- a/content/cards/worker.json +++ b/content/cards/worker.json @@ -1,6 +1,7 @@ { "identifier": "worker", "label": "Worker", + "description": "Can do nearly anything. Can be specialized using instructors", "icon": "material-symbols:man-rounded", "health": 20, "type": "person", From 3044987b5e13e2a50682830a17bceed0703667b2 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 02:05:56 +0200 Subject: [PATCH 6/8] Fix some issues --- components/Object/Card/ObjectCard.vue | 53 +++------------ components/Object/Card/ObjectCardDeck.vue | 54 ++++++++++++--- .../Object/Card/ObjectCardDeckStacked.vue | 60 +++++++++++++---- components/Object/Card/ObjectCardSingle.vue | 66 ++++++++++++++----- composables/useCardTimer.ts | 1 + composables/useInteraction.ts | 6 +- stores/BoardStore.ts | 1 + types/Board.d.ts | 1 + 8 files changed, 160 insertions(+), 82 deletions(-) diff --git a/components/Object/Card/ObjectCard.vue b/components/Object/Card/ObjectCard.vue index d87b24a..b094d98 100644 --- a/components/Object/Card/ObjectCard.vue +++ b/components/Object/Card/ObjectCard.vue @@ -1,55 +1,18 @@ diff --git a/components/Object/Card/ObjectCardDeck.vue b/components/Object/Card/ObjectCardDeck.vue index 466847a..20917ff 100644 --- a/components/Object/Card/ObjectCardDeck.vue +++ b/components/Object/Card/ObjectCardDeck.vue @@ -8,6 +8,7 @@ const props = defineProps<{ // Stores const boardStore = useBoardStore() const levelStore = useLevelStore() +const cardStore = useCardStore() // Handle dragging card decks const hoveringOverBottomCard = ref(false) @@ -57,16 +58,51 @@ const { getVisualComponentName } = useCardVisual() :model-value="boardCard.currentHealth" :max="boardCard.card.health" /> -
- -
+
+ +
+ + + { diff --git a/components/Object/Card/ObjectCardSingle.vue b/components/Object/Card/ObjectCardSingle.vue index f56d7f6..5343e61 100644 --- a/components/Object/Card/ObjectCardSingle.vue +++ b/components/Object/Card/ObjectCardSingle.vue @@ -8,6 +8,7 @@ const props = defineProps<{ // Use stores & composables const boardStore = useBoardStore() const levelStore = useLevelStore() +const cardStore = useCardStore() const { activeCard } = storeToRefs(boardStore) // This is the card, the user is currently hovering above const { hasInteractionWith, interact } = useInteraction(props.boardCard) @@ -96,20 +97,55 @@ watch(playState, (state) => { diff --git a/composables/useCardTimer.ts b/composables/useCardTimer.ts index 44f2296..be0e420 100644 --- a/composables/useCardTimer.ts +++ b/composables/useCardTimer.ts @@ -12,6 +12,7 @@ export const useCardTimer = () => { card.timerTimeoutId = setTimeout(() => { assert(card.card.timer?.actions !== undefined, `Card '${card.card.label}' with timer needs actions`) + if (card.isDead) return runActions(card.card.timer.actions, card, card) }, (card.card.timer.time ?? 0) * 1000) diff --git a/composables/useInteraction.ts b/composables/useInteraction.ts index ce97e99..fbc58ee 100644 --- a/composables/useInteraction.ts +++ b/composables/useInteraction.ts @@ -78,7 +78,7 @@ export const useInteraction = (draggingCard: BoardCard) => { runActions(boardCard.currentInteraction.actions, boardCard, draggingCard) - if (boardCard.currentInteraction.consumeContainer && boardCard.amount !== null) { + if (boardCard.currentInteraction?.consumeContainer && boardCard.amount !== null) { boardCard.amount = clamp(boardCard.amount - 1, 0, boardCard.card.containerMax ?? 0) } @@ -89,6 +89,8 @@ export const useInteraction = (draggingCard: BoardCard) => { if (boardCard.currentHealth !== null && boardCard.currentHealth <= 0) { runActions(boardCard.card.onDeath ?? [], boardCard, draggingCard) boardStore.removeCard(boardCard) + boardCard.isDead = true + reset(boardCard) someoneDied = true } @@ -96,6 +98,8 @@ export const useInteraction = (draggingCard: BoardCard) => { if (draggingCard.currentHealth !== null && draggingCard.currentHealth <= 0) { runActions(draggingCard.card.onDeath ?? [], boardCard, draggingCard) boardStore.removeCard(draggingCard) + draggingCard.isDead = true + reset(draggingCard) someoneDied = true } diff --git a/stores/BoardStore.ts b/stores/BoardStore.ts index 5ede6e9..cbce71f 100644 --- a/stores/BoardStore.ts +++ b/stores/BoardStore.ts @@ -21,6 +21,7 @@ export const useBoardStore = defineStore('board', () => { x: cX, z: cY, isNew, + isDead: false, currentHealth: card.health ?? null, amount: card.amount ? (amount ?? card.amount) diff --git a/types/Board.d.ts b/types/Board.d.ts index 33406ca..239aba4 100644 --- a/types/Board.d.ts +++ b/types/Board.d.ts @@ -21,6 +21,7 @@ export type BoardCard = { // Mark this card as a new card isNew: boolean + isDead: boolean // Handle timed interactions interactionTimeoutId?: ReturnType From 90cd672c5384954baf8a6c2750dcdd2279891249 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 02:16:31 +0200 Subject: [PATCH 7/8] Allow to sell in stacks --- composables/actions/buy.ts | 17 +++++++++++++++++ composables/actions/destroyInteracting.ts | 14 ++++++++++++++ composables/useAction.ts | 4 ++++ content/cards/merchant.json | 12 ++++++++---- 4 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 composables/actions/buy.ts create mode 100644 composables/actions/destroyInteracting.ts diff --git a/composables/actions/buy.ts b/composables/actions/buy.ts new file mode 100644 index 0000000..ba5e37a --- /dev/null +++ b/composables/actions/buy.ts @@ -0,0 +1,17 @@ +import type { CardsCollectionItem } from '@nuxt/content' +import type { BoardCard } from '~/types/Board' +import type { Action } from '~/types/Action' + +export const buy: Action = (action: CardsCollectionItem['interactions'][0]['actions'][0], baseCard: BoardCard, interactingCard: BoardCard) => { + const boardStore = useBoardStore() + const cardStore = useCardStore() + + assert(action.card !== undefined, 'Action `buy` requires the `card` property to be set!') + + const card = cardStore.getCardByIdentifier(action.card) + assert(card !== undefined, 'Card not found!') + assert(typeof action.amount === 'number', 'Action `buy` requires the `amount` property to be set to an number!') + + const { x, y } = getDropCoordinates(baseCard.x, baseCard.z) + boardStore.addCard(card, x, y, true, action.amount * (interactingCard.amount ?? 1)) +} diff --git a/composables/actions/destroyInteracting.ts b/composables/actions/destroyInteracting.ts new file mode 100644 index 0000000..5d90d11 --- /dev/null +++ b/composables/actions/destroyInteracting.ts @@ -0,0 +1,14 @@ +import type { CardsCollectionItem } from '@nuxt/content' +import type { BoardCard } from '~/types/Board' +import type { Action } from '~/types/Action' + +export const destroyInteracting: Action = (_action: CardsCollectionItem['interactions'][0]['actions'][0], baseCard: BoardCard, interactingCard: BoardCard) => { + const boardStore = useBoardStore() + + if (baseCard.stackedCard) { + const { x, y } = getDropCoordinates(baseCard.x, baseCard.z) + boardStore.unstackCard(baseCard.stackedCard, { x, y }) + } + + boardStore.removeCard(interactingCard) +} diff --git a/composables/useAction.ts b/composables/useAction.ts index 5a44ce1..7ba2010 100644 --- a/composables/useAction.ts +++ b/composables/useAction.ts @@ -14,6 +14,8 @@ import { destroyAll } from './actions/destroyAll' import { destroyRandom } from './actions/destroyRandom' import { random } from './actions/random' import { win } from './actions/win' +import { buy } from './actions/buy' +import { destroyInteracting } from './actions/destroyInteracting' import type { BoardCard } from '~/types/Board' import type { Action } from '~/types/Action' import { reveal } from '~/composables/actions/reveal' @@ -35,6 +37,8 @@ const allActions: { [key: string]: Action } = { random, reveal, win, + buy, + destroyInteracting, } export const useAction = () => { diff --git a/content/cards/merchant.json b/content/cards/merchant.json index 71e478e..44eecdd 100644 --- a/content/cards/merchant.json +++ b/content/cards/merchant.json @@ -7,23 +7,27 @@ "interactions": [ { "card": "metal", - "consume": true, "actions": [ { - "type": "spawn", + "type": "buy", "card": "money", "amount": 6 + }, + { + "type": "destroyInteracting" } ] }, { "card": "fuel", - "consume": true, "actions": [ { - "type": "spawn", + "type": "buy", "card": "money", "amount": 25 + }, + { + "type": "destroyInteracting" } ] } From 8cce09073a3a3650055dc1a1a507380db533daa6 Mon Sep 17 00:00:00 2001 From: Jordan Kniest Date: Tue, 8 Apr 2025 02:49:20 +0200 Subject: [PATCH 8/8] Add main menu and splash screen --- pages/game.vue | 46 ++++++++++++++++++++++++++++ pages/index.vue | 75 +++++++++++++++++++++++----------------------- pages/splash.vue | 23 ++++++++++++++ public/export.png | Bin 0 -> 80415 bytes 4 files changed, 107 insertions(+), 37 deletions(-) create mode 100644 pages/game.vue create mode 100644 pages/splash.vue create mode 100644 public/export.png diff --git a/pages/game.vue b/pages/game.vue new file mode 100644 index 0000000..8cc77fe --- /dev/null +++ b/pages/game.vue @@ -0,0 +1,46 @@ + + + diff --git a/pages/index.vue b/pages/index.vue index 8cc77fe..8107ee0 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,46 +1,47 @@ diff --git a/pages/splash.vue b/pages/splash.vue new file mode 100644 index 0000000..5839478 --- /dev/null +++ b/pages/splash.vue @@ -0,0 +1,23 @@ + + + diff --git a/public/export.png b/public/export.png new file mode 100644 index 0000000000000000000000000000000000000000..5534c7e87eca76e9c5736518c046d8a27ed518c4 GIT binary patch literal 80415 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�*5qk)u6Q+7WqN6V{@vp;Ut*9=7bAJ1FYA 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

+iUVTBq*|JC%CvtZ+ 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 kWK;pK=^RV2kkUBwODtPPR>7&z_|C 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