FIX : Allow actions on discard
This commit is contained in:
+10
-3
@@ -1,3 +1,4 @@
|
||||
import { registerRuntimeCompiler } from "vue"
|
||||
import { type GameObjectRegister } from "."
|
||||
import type { Card } from "./Card"
|
||||
import { type Effect, CardEffects } from "./Effect"
|
||||
@@ -7,16 +8,19 @@ export interface TurnNetcode extends GameObjectNetcode {
|
||||
effects_availables: Array<string>
|
||||
champions_health: { [key: string]: string }
|
||||
discard_markers: number
|
||||
discard_marker_card: string
|
||||
fuck_u_markers: number
|
||||
damage_reserve: number
|
||||
gold_reserve: number
|
||||
}
|
||||
|
||||
|
||||
export type Turn = Omit<TurnNetcode, 'cards_locked' | 'effects_availables' | 'champions_health'> & {
|
||||
export type Turn = Omit<TurnNetcode, 'cards_locked' | 'effects_availables' | 'champions_health'|"discard_marker_card"> & {
|
||||
cards_locked: { [key: string]: Card }
|
||||
effects_availables: Array<Effect>
|
||||
champions_health: Map<string, number>
|
||||
find_effect: (card_effect: CardEffects) => Effect | undefined
|
||||
discard_marker_card: Card
|
||||
find_effect: (card_effect: CardEffects) => ComputedRef<Effect | undefined>
|
||||
}
|
||||
export function create_turn(input: TurnNetcode, register: GameObjectRegister) {
|
||||
const turn = new Proxy<any>(input, {
|
||||
@@ -36,9 +40,12 @@ export function create_turn(input: TurnNetcode, register: GameObjectRegister) {
|
||||
}
|
||||
if (prop == "find_effect") {
|
||||
return (card_effect: CardEffects) => {
|
||||
return turn.effects_availables.find(e => (e.effect == card_effect) && e.usable)
|
||||
return computed(()=>turn.effects_availables.find((e:Effect) => (e.effect == card_effect) && e.usable))
|
||||
}
|
||||
}
|
||||
if(prop == "discard_marker_card"){
|
||||
return register.cards.get(target.discard_marker_card)
|
||||
}
|
||||
return Reflect.get(target, prop, reciever);
|
||||
},
|
||||
set(target, prop, val, receiver) {
|
||||
|
||||
Reference in New Issue
Block a user