object = $unit; $this->raiseType = $raiseType; $this->ratio = $ratio; $this->woundMin = $woundMin; $this->woundMax = $woundMax; } protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{ assert($self instanceof WarUnitGeneral, 'General만 발동 가능'); if(!$oppose instanceof WarUnitGeneral){ return true; } if($self->hasActivatedSkill('저격')){ return true; } if($self->hasActivatedSkill('저격불가')){ return true; } if(!Util::randBool($this->ratio)){ return true; } $this->activateSkill('저격'); $selfEnv['woundMin'] = $this->woundMin; $selfEnv['woundMax'] = $this->woundMax; return true; } }