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; }
/** * 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_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; }
/** * 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_usuario) { // TODO $ret = 0; //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } //Aumentar animo_max $ret = min($ret, Recursos::aumentar_recursos($id_usuario, "influencias_max", Efectos::$datos_acciones['EscribirBlog']['influencias_max'])); return $ret; }
/** * 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_usuario) { //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } //Aumentar dinero $helper = new Helper(); if (Recursos::aumentar_recursos($id_usuario, "dinero_gen", Efectos::$datos_acciones['Ascender']['dinero_gen']) == 0) { return 0; } else { return -1; } }
/** * 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_usuario) { //Traer el array de efectos parent::ejecutar($id_usuario); //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } if (Recursos::aumentar_recursos($id_usuario, "bonus_influencias", Efectos::$datos_acciones['ContratarRRPP']['bonus_jugador']['influencias']) == 0) { return 0; } else { return -1; } }
public function ejecutar($id_usuario) { //Traer el array de efectos parent::ejecutar($id_usuario); //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } //Aumentar ánimo if (Recursos::aumentar_recursos($id_usuario, "animo", Efectos::$datos_acciones['CrearseEspectativas']['animo']) == 0) { return 0; } else { return -1; } }
/** * 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_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); } // Modifico el animo del usuario $ret = min($ret, Recursos::aumentar_recursos($id_usuario, "animo", Efectos::$datos_acciones['DoblarApuesta']['animo'])); // 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; }
function run($args) { //no sé si debe comprobar si hay otro script ejecutandose o no $trans = Yii::app()->db->beginTransaction(); try { $recursos = Recursos::model()->findAll(); foreach ($recursos as $recurso) { //influencias Recursos::aumentar_recursos($recurso->usuarios_id_usuario, "influencias", $recurso->influencias_gen); //dinero Recursos::aumentar_recursos($recurso->usuarios_id_usuario, "dinero", $recurso->dinero_gen); //animo Recursos::aumentar_recursos($recurso->usuarios_id_usuario, "animo", $recurso->animo_gen); $trans->commit(); } } catch (Exception $e) { $trans->rollback(); } }
public function finalizar($id_usuario, $id_habilidad) { //Validar usuario $us = Usuarios::model()->findByPk($id_usuario); if ($us === null) { throw new Exception("Usuario incorrecto.", 404); } //Tomar y validar habilidad $hab = Habilidades::model()->findByPk($id_habilidad); if ($hab === null) { throw new Exception("Habilidad incorrecta.", 404); } //Coger influencias a devolver $influencias = $hab->influencias; //Aumentar ánimo if (Recursos::aumentar_recursos($id_usuario, "influencias", $influencias) == 0) { return 0; } else { return -1; } }
/** * Funcion para finalizar una grupal dada y devolver los recursos a los participantes. * * @param int $id_accion_grupal * @param bool $eliminar indica si se debe borrar la accion * @throws \Exception excepcion interna * @return void */ public static function finalizaGrupal($id_accion_grupal, $eliminar = true) { try { // 1. Devolver recursos a los participantes (incluido el creador) $participantes = Participaciones::model()->findAllByAttributes(array('acciones_grupales_id_accion_grupal' => $id_accion_grupal)); //Recorrer todos los participantes devolviendoles sus recursos $u; foreach ($participantes as $participante) { // 0. Aportar poca experencia (por el esfuerzo) $u = Usuarios::model()->findByPk($participante->usuarios_id_usuario); $u->sumarExp(Usuarios::POCA_EXP); // 1. Aumentar recursos a los participantes Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'dinero', $participante->dinero_aportado); Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'animo', $participante->animo_aportado); Recursos::disminuir_influencias_bloqueadas($participante->usuarios_id_usuario, $participante->influencias_aportadas); Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'influencias', $participante->influencias_aportadas); // 2. Eliminar ese modelo Participaciones::model()->deleteAllByAttributes(array('acciones_grupales_id_accion_grupal' => $id_accion_grupal, 'usuarios_id_usuario' => $participante->usuarios_id_usuario)); } // 3. Borrar grupal si es necesario if ($eliminar) { AccionesGrupales::model()->deleteByPk($id_accion_grupal); } } catch (Exception $e) { // Dejar el try/catch para permitir posible logging de excepciones throw $e; } }
/** * Devuelve los recursos de las acciones grupales a los participantes * * Selecciona las acciones grupales finalizadas sin éxito y devuelve los recursos a sus * participantes y creador. * * @route JugadorNum12/scripts/finalizaGrupales * * @throws \Exception excepcion interna * @return void */ public function actionFinalizaGrupales() { //Traer acciones y Helper Yii::import('application.components.Acciones.*'); $tiempo = time(); $busqueda = new CDbCriteria(); $busqueda->addCondition(':bTiempo >= finalizacion'); $busqueda->addCondition('completada = :bCompletada'); $busqueda->params = array(':bTiempo' => $tiempo, ':bCompletada' => 0); $grupales = AccionesGrupales::model()->findAll($busqueda); //Iterar sobre las acciones grupales resultantes de la búsqueda foreach ($grupales as $gp) { $transaction = Yii::app()->db->beginTransaction(); try { //Tomar participaciones $participantes = Participaciones::model()->findAllByAttributes(array('acciones_grupales_id_accion_grupal' => $gp->id_accion_grupal)); //Recorro todos los participantes devolviendoles sus recursos. //Esto incluye el creador de la acción. foreach ($participantes as $participante) { //Cojo el dinero,influencia y animo aportado por el usuario $dinero = $participante->dinero_aportado; $influencia = $participante->influencias_aportadas; $animo = $participante->animo_aportado; //Utilizo el helper para ingresarle al usuario los recursos Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'dinero', $dinero); Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'animo', $animo); Recursos::aumentar_recursos($participante->usuarios_id_usuario, 'influencias', $influencia); //Eliminar ese modelo Participaciones::model()->deleteAllByAttributes(array('acciones_grupales_id_accion_grupal' => $gp->id_accion_grupal, 'usuarios_id_usuario' => $participante->usuarios_id_usuario)); } //Borro esa accion grupal iniciada por el usuario que quiere cambiar de equipo AccionesGrupales::model()->deleteByPk($gp->id_accion_grupal); //Finalizar transacción con éxito $transaction->commit(); } catch (Exception $ex) { //Rollback de la transacción en caso de error $transaction->rollback(); throw $ex; } } }