/** * Ejecutar la accion * * @param int $id_usuario id del usuario que realiza la accion * @throws \Exception usuario no encontrado * @return int 0 si completada con exito ; -1 en caso contrario */ public function ejecutar($id_accion) { // TODO $ret = 0; //COmpruebo si la accion existe $accGrup = AccionesGrupales::model()->findByPk($id_accion); if ($accGrup === null) { throw new Exception("Accion grupal inexistente.", 404); } $creador = $accGrup->usuarios; $equipo = $creador->equipos; $sigPartido = $equipo->sigPartido; //1.- Añadir bonificación al partido $ret = min($ret, Equipos::aumentar_recursos_equipo($equipo->id_equipo, "aforo_base", Efectos::$datos_acciones['FinanciarPelicula']['aforo_base'])); $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, "nivel", Efectos::$datos_acciones['FinanciarPelicula']['nivel_equipo'])); //2.- Dar bonificación al creador $ret = min($ret, Recursos::aumentar_recursos($creador->id_usuario, "animo_gen", Efectos::$datos_acciones['FinanciarPelicula']['bonus_creador']['animo_gen'])); $ret = min($ret, Recursos::aumentar_recursos($creador->id_usuario, "dinero_gen", Efectos::$datos_acciones['FinanciarPelicula']['bonus_creador']['dinero_gen'])); //3.- Devolver influencias $participantes = $accGrup->participaciones; foreach ($participantes as $participacion) { $infAportadas = $participacion->influencias_aportadas; $usuario = $participacion->usuarios_id_usuario; //if (Recursos::aumentar_recursos($usuario,"influencias",$infAportadas) == 0) { if (Recursos::disminuir_influencias_bloqueadas($usuario, $infAportadas) == 0) { $ret = min($ret, 0); } else { $ret = -1; } } //4.- Finalizar funciónK return $ret; }
public function ejecutar($id_accion) { $ret = 0; $accGrup = AccionesGrupales::model()->findByPk($id_accion); if ($accGrup === null) { throw new Exception("Accion grupal inexistente.", 404); } $creador = $accGrup->usuarios; $equipo = $creador->equipos; $sigPartido = $equipo->sigPartido; //1.- Añadir bonificación al partido $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, "nivel", Efectos::$datos_acciones['IncentivoEconomico']['nivel_equipo'])); $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, "moral", Efectos::$datos_acciones['IncentivoEconomico']['moral'])); //2.- Dar bonificación al creador $ret = min($ret, Recursos::aumentar_recursos($creador->id_usuario, "influencias", Efectos::$datos_acciones['IncentivoEconomico']['bonus_creador']['influencias'])); //3.- Devolver influencias $participantes = $accGrup->participaciones; foreach ($participantes as $participacion) { $infAportadas = $participacion->influencias_aportadas; $usuario = $participacion->usuarios_id_usuario; //if (Recursos::aumentar_recursos($usuario,"influencias",$infAportadas) == 0) if (Recursos::disminuir_influencias_bloqueadas($usuario, $infAportadas) == 0) { $ret = min($ret, 0); } else { $ret = -1; } } //Finalizar función return $ret; }
public function ejecutar($id_usuario, $id_partido, $id_equipo) { $ret = 0; //Traer el array de efectos parent::ejecutar($id_usuario, $id_partido, $id_equipo); //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } // Cojo el equipo del usuario $equipo = $us->equipos; // Modifico Los factores de ese partido $ret = min($ret, Partidos::aumentar_factores($id_partido, $equipo->id_equipo, "defensivo", Efectos::$datos_acciones['RetransmitirRRSS']['defensivo'])); //Modifico los recursos Del usuario if (Recursos::aumentar_recursos($id_usuario, "animo", Efectos::$datos_acciones['RetransmitirRRSS']['animo']) == 0) { $ret = min($ret, 0); } else { $ret = -1; } // Incorporo un registro a la tabla acciones turno si el usuario aun no esta en ella AccionesTurno::incorporarAccion($id_usuario, $id_partido, $id_equipo); //Finalizar función return $ret; }
public function ejecutar($id_accion) { $ret = 0; $accGrup = AccionesGrupales::model()->findByPk($id_accion); if ($accGrup === null) { throw new Exception("Accion grupal inexistente.", 404); } $creador = $accGrup->usuarios; $equipo = $creador->equipos; $sigPartido = $equipo->sigPartido; //1.- Añadir bonificación al partido $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, 'ambiente', Efectos::$datos_acciones['Pintarse']['ambiente'])); $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, "moral", Efectos::$datos_acciones['Pintarse']['moral'])); $ret = min($ret, Partidos::aumentar_factores($sigPartido->id_partido, $equipo->id_equipo, "ofensivo", Efectos::$datos_acciones['Pintarse']['ofensivo'])); //2.- Dar bonificación al creador $ret = min($ret, Recursos::aumentar_recursos($creador->id_usuario, 'animo', Efectos::$datos_acciones['Pintarse']['bonus_creador']['animo'])); //3.- Devolver influencias y dar animo de la accion $participantes = $accGrup->participaciones; foreach ($participantes as $participacion) { $infAportadas = $participacion->influencias_aportadas; $usuario = $participacion->usuarios_id_usuario; $ret = min($ret, Recursos::aumentar_recursos($usuario, "animo", Efectos::$datos_acciones['Pintarse']['animo'])); //$ret = min($ret,Recursos::aumentar_recursos($usuario,"influencias",$infAportadas)); $ret = min($ret, Recursos::disminuir_influencias_bloqueadas($usuario, $infAportadas)); } //Finalizar función return $ret; }
public function ejecutar($id_usuario, $id_partido, $id_equipo) { $ret = 0; //Traer el array de efectos parent::ejecutar($id_usuario, $id_partido, $id_equipo); //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } // Cojo el equipo del usuario $equipo = $us->equipos; // Modifico Los factores de ese partido $ret = min($ret, Partidos::aumentar_factores($id_partido, $equipo->id_equipo, "moral", Efectos::$datos_acciones['CorearEstadio']['moral'])); // Incorporo un registro a la tabla acciones turno si el usuario aun no esta en ella AccionesTurno::incorporarAccion($id_usuario, $id_partido, $id_equipo); //Finalizar función return $ret; }