object; $logger = $general->getLogger(); if($general->getVar('injury') > 0){ $general->updateVar('injury', 0); $general->activateSkill('pre.부상경감', 'pre.치료'); $logger->pushGeneralActionLog('의술을 펼쳐 스스로 치료합니다!', ActionLogger::PLAIN); } $db = DB::db(); $patients = $db->queryAllLists( 'SELECT no,name,nation FROM general WHERE city=%i AND injury > 10 AND no != %i', $general->getVar('city'), $general->getID() ); if(!$patients){ return $env; } $generalName = $general->getName(); $josaYi = JosaUtil::pick($generalName, '이'); $cureList = []; foreach($patients as [$patientID, $patientName, $patientNationID]){ if (!Util::randBool(0.5)) { continue; } $cureList[] = $patientID; $patientLogger = new ActionLogger($patientID, $patientNationID, $logger->getYear(), $logger->getMonth()); $patientLogger->pushGeneralActionLog("{$generalName}{$josaYi} 의술로써 치료해줍니다!", ActionLogger::PLAIN); $patientLogger->flush(); } if(!$cureList){ return $env; } if(count($cureList) == 1){ $josaUl = JosaUtil::pick($patientName, "을"); $logger->pushGeneralActionLog("의술을 펼쳐 도시의 장수 {$patientName}{$josaUl} 치료합니다!", ActionLogger::PLAIN); } else{ $otherCount = count($cureList) - 1; $logger->pushGeneralActionLog("의술을 펼쳐 도시의 장수들 {$patientName} 외 {$otherCount}명을 치료합니다!", ActionLogger::PLAIN); } $db->update('general', [ 'injury'=>0 ], 'no IN %li', $cureList); return $env; } }