private function bonifAnimo($equipo, $bonus) { /*$bonifParticipante = 3; $bonifNoParticipante = 1*/ try { $participantes = AccionesTurno::model()->findAllByAttributes(array('equipos_id_equipo' => $equipo, 'partidos_id_partido' => $this->id_partido)); $usuarios = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo' => $equipo)); $bonusAmbiente = $bonus * (pow(1.5, $this->ambiente + 1) / (4 + 0.7 * $this->ambiente)); //(1.5^(a+1))/(4+.7*a) foreach ($usuarios as $user) { //Esta bonificacion se le da a todos $rec = $user->recursos; $rec['animo'] = min(round($bonusAmbiente + $rec['animo']), $rec['animo_max']); $rec->save(); } foreach ($participantes as $participante) { //Esta se le da solo a los participantes $user = $participante->usuarios; $rec = $user->recursos; $rec['animo'] = min(round(3 * $bonusAmbiente + $rec['animo']), $rec['animo_max']); $rec->save(); } } catch (Exception $exc) { throw new Exception("Error al generar la bonificacion al animo de final de partido", 1); } }
/** * Busca participacion en la tabla acciones turno * * @param int $id_usuario id del usuario * @param int $id_partido id del partido * @param int $id_equipo id del equipo * @return $participacion */ public static function buscarParticipacion($id_usuario, $id_partido, $id_equipo) { $participacion = AccionesTurno::model()->findByAttributes(array('usuarios_id_usuario' => $id_usuario, 'partidos_id_partido' => $id_partido, 'equipos_id_equipo' => $id_equipo)); return $participacion; }