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; }
/** * 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; }
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; }
/** * Usar accion en el partido * * Incorpora la accion, busca la participacion y suma influencia a la accion y * * @param $participacion * @param int $cantidad * @return void */ public static function usarPartido($id_usuario, $id_equipo, $id_partido, $habilidad, $res) { // Importar acciones Yii::import('application.components.Acciones.*'); // Restar recursos $res['dinero'] -= $habilidad['dinero']; $res['animo'] -= $habilidad['animo']; $res['influencias'] -= $habilidad['influencias']; $res['influencias_partido_bloqueadas'] += $habilidad['influencias']; $res->save(); //Incorporo la accion si ese usuario aun no ha participado AccionesTurno::incorporarAccion($id_usuario, $id_partido, $id_equipo); $participacion = AccionesTurno::buscarParticipacion($id_usuario, $id_partido, $id_equipo); //Sumo la influencia de esta accion a la que tenga acumulada AccionesTurno::sumarInfluencia($participacion, $habilidad->influencias); //Tomar nombre de habilidad para instanciación dinámica $nombreHabilidad = $habilidad->codigo; //echo '<pre>'.die(var_dump($id_partido)).'</pre>' ; //Llamar al singleton correspondiente y ejecutar dicha acción $nombreHabilidad::getInstance()->ejecutar($id_usuario, $id_partido, $id_equipo); }