Changeset 8dffeca877f65f451e6f6b198e4083d97674a577

Show
Ignore:
Timestamp:
06/17/07 22:46:02 (1 year ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1182113162 +0200
git-parent:

[93bd1ed8ec0ecdc92b541b8363c2490a4faebff3]

git-author:
Sebastian Gift <Madison@gt-knm.de> 1182113162 +0200
Message:

Geschwaetzige Schiffe

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/net/driftingsouls/ds2/server/ships/Ships.java

    r5fa2480 r8dffeca  
    277277        } 
    278278         
    279         private static MovementResult moveSingle(SQLResultRow ship, ShipTypeData shiptype, Offizier offizier, int direction, int distance, int adocked, boolean forceLowHeat) { 
     279        private static MovementResult moveSingle(SQLResultRow ship, ShipTypeData shiptype, Offizier offizier, int direction, int distance, int adocked, boolean forceLowHeat, boolean verbose) { 
    280280                boolean moved = false; 
    281281                boolean error = false; 
     282                boolean firstOutput = true; 
    282283                 
    283284                StringBuilder out = MESSAGE.get(); 
    284285                 
    285286                if( ship.getInt("engine") <= 0 ) { 
    286                         out.append("<span style=\"color:#ff0000\">Antrieb defekt</span><br />\n"); 
     287                        if(verbose) 
     288                        { 
     289                                out.append("<span style=\"color:#ff0000\">Antrieb defekt</span><br />\n"); 
     290                        } 
    287291                        distance = 0; 
    288292                         
     
    296300                if( shiptype.getCrew()/2 > ship.getInt("crew") ) { 
    297301                        newe--; 
    298                         out.append("<span style=\"color:red\">Geringe Besatzung erh&ouml;ht Flugkosten</span><br />\n"); 
     302                        if(verbose) 
     303                        { 
     304                                out.append("<span style=\"color:red\">Geringe Besatzung erh&ouml;ht Flugkosten</span><br />\n"); 
     305                        } 
    299306                } 
    300307                 
     
    311318                 
    312319                if( newe < 0 ) { 
    313                         out.append("<span style=\"color:#ff0000\">Keine Energie</span><br />\n"); 
     320                        if(!verbose && firstOutput) 
     321                        { 
     322                                out.append(ship.getString("name")+" ("+ship.getInt("id")+"): "); 
     323                                firstOutput = false; 
     324                        } 
     325                        out.append("<span style=\"color:#ff0000\">Keine Energie. Stoppe bei "+getLocationText(Location.fromResult(ship), true)+"</span><br />\n"); 
    314326                        distance = 0; 
    315327                         
     
    325337                                        newe = ship.getInt("e") - 1; 
    326338                                } 
    327                                 out.append(offizier.getName()+" verringert Flugkosten<br />\n"); 
     339                                if(verbose) 
     340                                { 
     341                                        out.append(offizier.getName()+" verringert Flugkosten<br />\n"); 
     342                                } 
    328343                        } 
    329344                        // Ueberhitzung 
     
    334349                                        news = ship.getInt("s"); 
    335350                                } 
    336                                 out.append(offizier.getName()+" verringert &Uuml;berhitzung<br />\n"); 
    337                         } 
    338                         out.append(StringUtils.replace(offizier.MESSAGE.getMessage(),"\n", "<br />")); 
     351                                if( verbose ) { 
     352                                        out.append(offizier.getName()+" verringert &Uuml;berhitzung<br />\n"); 
     353                                } 
     354                        } 
     355                        if( verbose ) { 
     356                                out.append(StringUtils.replace(offizier.MESSAGE.getMessage(),"\n", "<br />")); 
     357                        } 
    339358                } 
    340359                 
    341360                // Grillen wir uns bei dem Flug eventuell den Antrieb? 
    342361                if( news > 100 )  { 
    343                         if(forceLowHeat) { 
     362                        if(forceLowHeat && distance > 0) { 
     363                                if( !verbose && firstOutput ) { 
     364                                        out.append(ship.getString("name")+" ("+ship.getInt("id")+"): "); 
     365                                        firstOutput = false; 
     366                                } 
    344367                                out.append("<span style=\"color:#ff0000\">Triebwerk w&uuml;rde &uuml;berhitzen</span><br />\n"); 
     368 
    345369                                out.append("<span style=\"color:#ff0000\">Autopilot bricht ab bei "+getLocationText(Location.fromResult(ship),true)+"</span><br />\n"); 
    346370                                out.append("</span></td></tr>\n"); 
     
    385409                         
    386410                        if( ship.getInt("s") >= 100 ) { 
     411                                if( !verbose && firstOutput) { 
     412                                        out.append(ship.getString("name")+" ("+ship.getInt("id")+"): "); 
     413                                        firstOutput = false; 
     414                                } 
    387415                                out.append("<span style=\"color:#ff0000\">Triebwerke &uuml;berhitzt</span><br />\n"); 
     416                                 
    388417                                if( (RandomUtils.nextInt(101)) < 3*(news-100) ) { 
    389418                                        int dmg = (int)( (2*(RandomUtils.nextInt(101)/100d)) + 1 ) * (news-100); 
     
    394423                                        } 
    395424                                        if( distance > 0 ) { 
    396                                                 out.append("<span style=\"color:#ff0000\">Autopilot bricht ab</span><br />\n"); 
     425                                                out.append("<span style=\"color:#ff0000\">Autopilot bricht ab bei "+getLocationText(Location.fromResult(ship),true)+"</span><br />\n"); 
    397426                                                error = true; 
    398427                                                distance = 0; 
     
    405434                        ship.put("e", newe); 
    406435                        ship.put("s", news); 
    407                         out.append(ship.getString("name")+" fliegt in "+getLocationText(Location.fromResult(ship),true)+" ein<br />\n"); 
     436                        if( verbose ) { 
     437                                out.append(ship.getString("name")+" fliegt in "+getLocationText(Location.fromResult(ship),true)+" ein<br />\n"); 
     438                        } 
    408439                } 
    409440                 
     
    430461        } 
    431462         
    432         private static boolean moveFleet(SQLResultRow ship, int direction, boolean forceLowHeat)  { 
     463        private static boolean moveFleet(SQLResultRow ship, int direction, boolean forceLowHeat, boolean verbose)  { 
    433464                StringBuilder out = MESSAGE.get(); 
    434465                boolean error = false; 
     
    450481                                                                        "id!='",ship.getInt("id"),"' AND e>0 AND battle=0"); 
    451482                        while( fleetshipRow.next() ) { 
    452                                 if( firstEntry ) { 
     483                                if( verbose && firstEntry ) { 
    453484                                        firstEntry = false; 
    454485                                        out.append("<table class=\"noBorder\">\n"); 
     
    509540                 
    510541                for( SQLResultRow fleetship : fleetdata.ships.values() ) { 
    511                         if( firstEntry ) { 
     542                        if( verbose && firstEntry ) { 
    512543                                firstEntry = false; 
    513544                                out.append("<table class=\"noBorder\">\n"); 
    514545                        } 
    515546                         
    516                         out.append("<tr>\n"); 
    517                         out.append("<td valign=\"top\" class=\"noBorderS\"><span style=\"color:orange; font-size:12px\"> "+fleetship.getString("name")+" ("+fleetship.getInt("id")+"):</span></td><td class=\"noBorderS\"><span style=\"font-size:12px\">\n"); 
    518                                          
     547                        if(verbose) 
     548                        { 
     549                                out.append("<tr>\n"); 
     550                                out.append("<td valign=\"top\" class=\"noBorderS\"><span style=\"color:orange; font-size:12px\"> "+fleetship.getString("name")+" ("+fleetship.getInt("id")+"):</span></td><td class=\"noBorderS\"><span style=\"font-size:12px\">\n"); 
     551                        }        
    519552                        Offizier offizierf = fleetdata.offiziere.get(fleetship.getInt("id")); 
    520553         
    521554                        ShipTypeData shiptype = Ship.getShipType(fleetship); 
    522555                         
    523                         MovementResult result = moveSingle(fleetship, shiptype, offizierf, direction, 1, fleetship.getInt("adockedcount"), forceLowHeat); 
     556                        MovementResult result = moveSingle(fleetship, shiptype, offizierf, direction, 1, fleetship.getInt("adockedcount"), forceLowHeat, verbose); 
    524557                         
    525558                        //Einen einmal gesetzten Fehlerstatus nicht wieder aufheben 
     
    533566                        } 
    534567                         
    535                         out.append("</span></td></tr>\n"); 
    536                 } 
     568                        if(verbose) 
     569                        { 
     570                                out.append("</span></td></tr>\n"); 
     571                        } 
     572                } 
     573                 
    537574                if( !firstEntry ) 
    538575                        out.append("</table>\n"); 
     
    787824                                oldship.putAll(ship); 
    788825                                 
    789                                 MovementResult result = moveSingle(ship, shiptype, offizier, waypoint.direction, waypoint.distance, adocked, forceLowHeat); 
     826                                MovementResult result = moveSingle(ship, shiptype, offizier, waypoint.direction, waypoint.distance, adocked, forceLowHeat, false); 
    790827                                error = result.error; 
    791828                                waypoint.distance = result.distance; 
     
    794831                                        // Jetzt, da sich unser Schiff korrekt bewegt hat, fliegen wir auch die Flotte ein stueck weiter         
    795832                                        if( ship.getInt("fleet") > 0 ) { 
    796                                                 boolean fleetResult = moveFleet(oldship, waypoint.direction, forceLowHeat); 
     833                                                boolean fleetResult = moveFleet(oldship, waypoint.direction, forceLowHeat, false); 
    797834                                                if( fleetResult != false  ) { 
    798835                                                        error = true; 
     
    873910                 
    874911                if( moved ) { 
     912                        out.append("Ankunft bei "+getLocationText(Location.fromResult(ship),true)+"<br /><br />\n"); 
     913                         
    875914                        db.update("UPDATE ships SET x=",ship.getInt("x"),",y=",ship.getInt("y"),",e=",ship.getInt("e"),",s=",ship.getInt("s"),",engine=",ship.getInt("engine"),",docked='' WHERE id=",ship.getInt("id")); 
    876915                        if( docked != 0 ) {