diff --git a/src/components/EquipmentView.vue b/src/components/EquipmentView.vue index 8a83090..8217133 100644 --- a/src/components/EquipmentView.vue +++ b/src/components/EquipmentView.vue @@ -10,6 +10,7 @@ import { Creature } from '@/game/creature' import { POV } from '@/game/language' import { Stats, Stat } from '@/game/combat' import { Item, ItemKindIcons, ItemKind, EquipmentSlot } from '@/game/items' +import { World } from '@/game/world' @Component({ data () { @@ -21,11 +22,16 @@ import { Item, ItemKindIcons, ItemKind, EquipmentSlot } from '@/game/items' }) export default class ItemView extends Vue { + @Prop() + world!: World + @Prop({ required: true }) subject!: Creature unequip (slot: EquipmentSlot) { - this.subject.unequip(slot) + if (this.subject.side === this.world.player.side) { + this.subject.unequip(slot) + } } equipmentClass (slot: EquipmentSlot) { diff --git a/src/components/Profile.vue b/src/components/Profile.vue index 1f70aad..31273d3 100644 --- a/src/components/Profile.vue +++ b/src/components/Profile.vue @@ -22,7 +22,7 @@ - + @@ -44,20 +44,25 @@ import { Item, ItemKind, Equipment } from '@/game/items' }) export default class Profile extends Vue { + @Prop() + world!: World + @Prop() subject!: Creature useItem (item: Item): void { - switch (item.kind) { - case ItemKind.Key: - break - case ItemKind.Consumable: - item.actions[0].execute(this.subject, this.subject) - break - case ItemKind.Equipment: - this.subject.equip(item as Equipment, (item as Equipment).slot) - this.subject.items = this.subject.items.filter(i => item !== i) - break + if (this.subject.side === this.world.player.side) { + switch (item.kind) { + case ItemKind.Key: + break + case ItemKind.Consumable: + item.actions[0].execute(this.subject, this.subject) + break + case ItemKind.Equipment: + this.subject.equip(item as Equipment, (item as Equipment).slot) + this.subject.items = this.subject.items.filter(i => item !== i) + break + } } } } diff --git a/src/game/maps/town.ts b/src/game/maps/town.ts index 9f17ece..ef8d739 100644 --- a/src/game/maps/town.ts +++ b/src/game/maps/town.ts @@ -264,6 +264,7 @@ export const Town = (): Place => { const enemy = new Creatures.Human(new ProperNoun("Nerd"), TheyPronouns) enemy.side = Side.Monsters enemy.ai = new VoreAI() + enemy.equip(new Items.Sword(), Items.EquipmentSlot.MainHand) const encounter = new Encounter( { name: "Fight some nerd",