hasActivatedSkill('저격')) { return true; } if ($selfEnv['저격발동'] ?? false) { return true; } $selfEnv['저격발동'] = true; $general = $self->getGeneral(); if ($oppose instanceof WarUnitGeneral) { $self->getLogger()->pushGeneralActionLog("상대를 저격했다!", ActionLogger::PLAIN); $self->getLogger()->pushGeneralBattleDetailLog("상대를 저격했다!", ActionLogger::PLAIN); $oppose->getLogger()->pushGeneralActionLog("상대에게 저격당했다!", ActionLogger::PLAIN); $oppose->getLogger()->pushGeneralBattleDetailLog("상대에게 저격당했다!", ActionLogger::PLAIN); } else{ $self->getLogger()->pushGeneralActionLog("성벽 수비대장을 저격했다!", ActionLogger::PLAIN); $self->getLogger()->pushGeneralBattleDetailLog("성벽 수비대장을 저격했다!", ActionLogger::PLAIN); } $general->increaseVarWithLimit('atmos', $selfEnv['addAtmos'], 0, GameConst::$maxAtmosByWar); if (!$oppose->hasActivatedSkill('부상무효') && $oppose instanceof WarUnitGeneral) { $oppose->getGeneral()->increaseVarWithLimit('injury', Util::randRangeInt($selfEnv['woundMin'], $selfEnv['woundMax']), null, 80); } $this->processConsumableItem(); return true; } }