From 565966bb59e8d01f0d3d943fe4ed23fbc17b3c20 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sun, 26 Jul 2020 16:33:20 -0400 Subject: [PATCH] Fix struggles not checking the owner of the container --- src/game/combat/actions.ts | 4 ++-- src/game/combat/conditions.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/game/combat/actions.ts b/src/game/combat/actions.ts index 4cd563a..6de85da 100644 --- a/src/game/combat/actions.ts +++ b/src/game/combat/actions.ts @@ -4,7 +4,7 @@ import { Entity, Creature } from '../entity' import { Damage, DamageFormula, Stat, Vigor, Action } from '../combat' import { LogLine, LogLines, LogEntry, CompositeLog } from '../interface' import { VoreContainer, Container } from '../vore' -import { CapableCondition, UserDrainedVigorCondition, TogetherCondition, EnemyCondition, SoloCondition, PairCondition, ContainsCondition, ContainedCondition } from './conditions' +import { CapableCondition, UserDrainedVigorCondition, TogetherCondition, EnemyCondition, SoloCondition, PairCondition, ContainsCondition, ContainedByCondition } from './conditions' export class AttackAction extends Action { protected test: StatTest @@ -138,7 +138,7 @@ export class StruggleAction extends Action { super( new DynText('Struggle (', new LiveText(container, x => x.name.all), ')'), 'Try to escape from your foe', - [new CapableCondition(), new PairCondition(), new ContainedCondition(container)] + [new CapableCondition(), new PairCondition(), new ContainedByCondition(container)] ) this.test = new StatVigorTest(Stat.Power) } diff --git a/src/game/combat/conditions.ts b/src/game/combat/conditions.ts index 1e8ed50..bea96b4 100644 --- a/src/game/combat/conditions.ts +++ b/src/game/combat/conditions.ts @@ -56,9 +56,9 @@ export class TogetherCondition implements Condition { } } -export class ContainedCondition implements Condition { +export class ContainedByCondition implements Condition { allowed (user: Creature, target: Creature): boolean { - return user.containedIn === this.container + return user.containedIn === this.container && this.container.owner === target } constructor (private container: Container) {