<?php

/**
 * 警戒感情時の行動パターン
 *
 */
class CautionBehaviorWeightStrategy implements BehaviorWeightStrategy
{
    private const DEFENCE_WEIGHT_CORRECTION = 20;
    private const ESCAPE_WEIGHT_CORRECTION = 10;

    /**
     * @inheritDoc
     */
    public function getWeights(PersonalityStrategy $personality): array
    {
        return [
            Behavior::ATTACK->value => $personality->getAttackWeight(),
            Behavior::DEFENCE->value => $personality->getDefenceWeight() + self::DEFENCE_WEIGHT_CORRECTION,
            Behavior::WAIT->value => $personality->getWaitWeight(),
            Behavior::ESCAPE->value => $personality->getEscapeWeight() + self::ESCAPE_WEIGHT_CORRECTION,
        ];
    }
}