Date: Monday July 7, 2003 @ 17:19 Author: ahn Update of /home/netrek/cvsroot/Vanilla/robotd In directory swashbuckler.real-time.com:/var/tmp/cvs-serv701/robotd Modified Files: data.c data.h decide.c dmessage.c main.c socket.c Log Message: * Pre-T mode enhancement from Nick Slager, enabled by default. See RGN for details. **************************************** Index: Vanilla/robotd/data.c diff -u Vanilla/robotd/data.c:1.2 Vanilla/robotd/data.c:1.3 --- Vanilla/robotd/data.c:1.2 Thu Apr 26 18:41:50 2001 +++ Vanilla/robotd/data.c Mon Jul 7 17:19:56 2003 @@ -155,3 +155,5 @@ int no_cloak = 0; int oggv_packet=0; int off=0,def=0; + +int ignoreTMode = 0; Index: Vanilla/robotd/data.h diff -u Vanilla/robotd/data.h:1.2 Vanilla/robotd/data.h:1.3 --- Vanilla/robotd/data.h:1.2 Thu Apr 26 18:41:50 2001 +++ Vanilla/robotd/data.h Mon Jul 7 17:19:56 2003 @@ -159,3 +159,8 @@ extern int no_cloak; extern int oggv_packet; extern int off,def; + +extern int ignoreTMode; + +/*this is also defined in ../include/data.h*/ +#define PRE_T_ROBOT_LOGIN "Pre_T_Robot!" Index: Vanilla/robotd/decide.c diff -u Vanilla/robotd/decide.c:1.2 Vanilla/robotd/decide.c:1.3 --- Vanilla/robotd/decide.c:1.2 Thu Apr 26 18:41:50 2001 +++ Vanilla/robotd/decide.c Mon Jul 7 17:19:56 2003 @@ -60,9 +60,9 @@ } /* no automatic decisions unless t-mode */ - if(!status->tourn && !_state.itourn) + if(!status->tourn && !_state.itourn) { return; - + } /* decide ship and course of action */ if(_state.dead && !_donedead){ @@ -453,7 +453,9 @@ if(r < 5) return CRUISER; if(r < 7) return BATTLESHIP; - if(r < 9) return DESTROYER; + if(r < 9 + && strcmp(me->p_login, PRE_T_ROBOT_LOGIN) /* if we're ignoring T we should keep the ships large */ + ) return DESTROYER; return CRUISER; } @@ -472,6 +474,9 @@ struct planet *defp = NULL, *cp; int armycount = 1; + if(!strcmp(me->p_login, PRE_T_ROBOT_LOGIN)) + return 0; /* we can't be protecting if we're just maintaining 4 on 4 */ + /* would have gotten here if take failed with too few armies */ if(me->p_armies > 0 && (pls->total_tarmies + me->p_armies < 3)){ protectp_c(home_planet(), "protect home -- drop armies"); @@ -715,16 +720,18 @@ *ship = ASSAULT; if(ship){ - if((home_dist() < 15000 && me->p_kills < 2 && pls->total_textra_armies > 10) || tpl->pl_armies > 20) - *ship = ASSAULT; - else if((tpl->pl_flags & PLAGRI) && me->p_kills < 2) - *ship = ASSAULT; - else if(me->p_kills >= 2.0 && tpl->pl_armies < 10) - *ship = DESTROYER; - else if(tpl->pl_armies < 10) - *ship = SCOUT; - else - *ship = SCOUT; + if((home_dist() < 15000 && me->p_kills < 2 && pls->total_textra_armies > 10) || tpl->pl_armies > 20) + *ship = ASSAULT; + else if((tpl->pl_flags & PLAGRI) && me->p_kills < 2) + *ship = ASSAULT; + else if(!strcmp(me->p_login, PRE_T_ROBOT_LOGIN)) /* if we're ignoring T we probably should keep ships larger */ + *ship = CRUISER; + else if(me->p_kills >= 2.0 && tpl->pl_armies < 10) + *ship = DESTROYER; + else if(tpl->pl_armies < 10) + *ship = SCOUT; + else + *ship = SCOUT; } take_c(tpl, NULL); @@ -770,6 +777,10 @@ *ship = CRUISER; break; case SCOUT: + if(!strcmp(me->p_login, PRE_T_ROBOT_LOGIN)) { /* if we're ignoring T we should keep the ships large */ + *ship = CRUISER; + break; + } *ship = DESTROYER; break; case CRUISER: Index: Vanilla/robotd/dmessage.c diff -u Vanilla/robotd/dmessage.c:1.4 Vanilla/robotd/dmessage.c:1.5 --- Vanilla/robotd/dmessage.c:1.4 Thu Apr 26 18:41:50 2001 +++ Vanilla/robotd/dmessage.c Mon Jul 7 17:19:56 2003 @@ -237,6 +237,11 @@ if (inl) return; if((flags & MINDIV) || std){ + if(!strcmp(me->p_login, PRE_T_ROBOT_LOGIN) + && players[from].p_team != players[to].p_team) { + sendMessage("Try pushing around your own team punk.", MINDIV, from); + return; + } /* nopwd means accept commands from anyone */ if(!std && (!nopwd || (nopwd && locked))){ @@ -651,10 +656,15 @@ else if(strncmp(m, "ogg", 3) == 0){ Player *p; eoggtype ot; + char defaultOgg = 'x'; _state.ogg_req = 1; set_ogg_vars(); p = id_to_player(&m[4], HOSTILE); - ot = oggtype(&m[5]); + if(strlen(m) == 5) { + ot = oggtype(&defaultOgg); + } else { + ot = oggtype(&m[5]); + } if(!p){ response("unknown or friendly player"); _state.ogg_req = 0; Index: Vanilla/robotd/main.c diff -u Vanilla/robotd/main.c:1.2 Vanilla/robotd/main.c:1.3 --- Vanilla/robotd/main.c:1.2 Sun Mar 5 10:09:53 2000 +++ Vanilla/robotd/main.c Mon Jul 7 17:19:56 2003 @@ -26,7 +26,7 @@ #define TIMEOUT1 50 #define TIMEOUT2 50 -char revision[] = "$Revision: 1.2 $"; +char revision[] = "$Revision: 1.3 $"; static int first = 1; jmp_buf env; @@ -264,6 +264,9 @@ oggv_packet = 1; break; + case 'I': + ignoreTMode = 1; + break; default: mfprintf(stderr, "%s: unknown option '%c'\n", name, *ptr); err++; Index: Vanilla/robotd/socket.c diff -u Vanilla/robotd/socket.c:1.2 Vanilla/robotd/socket.c:1.3 --- Vanilla/robotd/socket.c:1.2 Thu Apr 26 18:41:50 2001 +++ Vanilla/robotd/socket.c Mon Jul 7 17:19:56 2003 @@ -1123,7 +1123,11 @@ #ifdef DEBUG_SCK DEBUG_SOCKET("handleStatus"); #endif DEBUG_SCK - status->tourn=packet->tourn; + if(ignoreTMode) { + status->tourn=1; + } else { + status->tourn=packet->tourn; + } status->armsbomb=ntohl(packet->armsbomb); status->planets=ntohl(packet->planets); status->kills=ntohl(packet->kills); _______________________________________________ vanilla-devel mailing list vanilla-devel at us.netrek.org https://mailman.real-time.com/mailman/listinfo/vanilla-devel