:goldAmount: 받았습니다.', ]], 1], [[self::IncExp|self::IncRice,[ '지나가는 행인에게서 쌀을 :riceAmount: 받았습니다.', ]], 1], [[self::IncExp|self::DecGold,[ '산적을 만나 금 :goldAmount:을 빼앗겼습니다.', '돈을 :goldAmount: 빌려주었다가 떼어먹혔습니다.', ]], 1], [[self::IncExp|self::DecRice,[ '쌀을 :riceAmount: 빌려주었다가 떼어먹혔습니다.', ]], 1], [[self::IncExp|self::Wounded,[ '호랑이에게 물려 다쳤습니다.', '곰에게 할퀴어 다쳤습니다.', ]], 1], [[self::IncHeavyExp|self::Wounded,[ '위기에 빠진 사람을 구해주다가 다쳤습니다.', ]], 1], [[self::IncExp|self::HeavyWounded,[ '호랑이에게 물려 크게 다쳤습니다.', '곰에게 할퀴어 크게 다쳤습니다.', ]], 1], [[self::IncHeavyExp|self::Wounded|self::HeavyWounded,[ '위기에 빠진 사람을 구하다가 죽을뻔 했습니다.', ]], 1], [[self::IncHeavyExp|self::IncStrength|self::IncGold,[ '산적과 싸워 금 :goldAmount:을 빼앗았습니다.', ]], 1], [[self::IncHeavyExp|self::IncStrength|self::IncRice,[ '호랑이를 잡아 고기 :riceAmount:을 얻었습니다.', '곰을 잡아 고기 :riceAmount:을 얻었습니다.', ]], 1], [[self::IncHeavyExp|self::IncIntel|self::IncGold,[ '돈을 빌려주었다가 이자 :goldAmount:을 받았습니다.', ]], 1], [[self::IncHeavyExp|self::IncIntel|self::IncRice,[ '쌀을 빌려주었다가 이자 :riceAmount:을 받았습니다.', ]], 1], ]; } protected static function initMessageList():void{ static::$messages = static::getMessageList(); } function __construct() { //TODO: 장수 이름이 들어가는 경우도 고려? if(static::$messages === null){ static::initMessageList(); } } public function pickAction():array{ [$type, $texts] = Util::choiceRandomUsingWeightPair(static::$messages??[]); $text = Util::choiceRandom($texts); return [$type, $text]; } }