Changeset 8dffeca877f65f451e6f6b198e4083d97674a577
- 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
| r5fa2480 |
r8dffeca |
|
| 277 | 277 | } |
|---|
| 278 | 278 | |
|---|
| 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) { |
|---|
| 280 | 280 | boolean moved = false; |
|---|
| 281 | 281 | boolean error = false; |
|---|
| | 282 | boolean firstOutput = true; |
|---|
| 282 | 283 | |
|---|
| 283 | 284 | StringBuilder out = MESSAGE.get(); |
|---|
| 284 | 285 | |
|---|
| 285 | 286 | 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 | } |
|---|
| 287 | 291 | distance = 0; |
|---|
| 288 | 292 | |
|---|
| … | … | |
| 296 | 300 | if( shiptype.getCrew()/2 > ship.getInt("crew") ) { |
|---|
| 297 | 301 | newe--; |
|---|
| 298 | | out.append("<span style=\"color:red\">Geringe Besatzung erhöht Flugkosten</span><br />\n"); |
|---|
| | 302 | if(verbose) |
|---|
| | 303 | { |
|---|
| | 304 | out.append("<span style=\"color:red\">Geringe Besatzung erhöht Flugkosten</span><br />\n"); |
|---|
| | 305 | } |
|---|
| 299 | 306 | } |
|---|
| 300 | 307 | |
|---|
| … | … | |
| 311 | 318 | |
|---|
| 312 | 319 | 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"); |
|---|
| 314 | 326 | distance = 0; |
|---|
| 315 | 327 | |
|---|
| … | … | |
| 325 | 337 | newe = ship.getInt("e") - 1; |
|---|
| 326 | 338 | } |
|---|
| 327 | | out.append(offizier.getName()+" verringert Flugkosten<br />\n"); |
|---|
| | 339 | if(verbose) |
|---|
| | 340 | { |
|---|
| | 341 | out.append(offizier.getName()+" verringert Flugkosten<br />\n"); |
|---|
| | 342 | } |
|---|
| 328 | 343 | } |
|---|
| 329 | 344 | // Ueberhitzung |
|---|
| … | … | |
| 334 | 349 | news = ship.getInt("s"); |
|---|
| 335 | 350 | } |
|---|
| 336 | | out.append(offizier.getName()+" verringert Überhitzung<br />\n"); |
|---|
| 337 | | } |
|---|
| 338 | | out.append(StringUtils.replace(offizier.MESSAGE.getMessage(),"\n", "<br />")); |
|---|
| | 351 | if( verbose ) { |
|---|
| | 352 | out.append(offizier.getName()+" verringert Überhitzung<br />\n"); |
|---|
| | 353 | } |
|---|
| | 354 | } |
|---|
| | 355 | if( verbose ) { |
|---|
| | 356 | out.append(StringUtils.replace(offizier.MESSAGE.getMessage(),"\n", "<br />")); |
|---|
| | 357 | } |
|---|
| 339 | 358 | } |
|---|
| 340 | 359 | |
|---|
| 341 | 360 | // Grillen wir uns bei dem Flug eventuell den Antrieb? |
|---|
| 342 | 361 | 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 | } |
|---|
| 344 | 367 | out.append("<span style=\"color:#ff0000\">Triebwerk würde überhitzen</span><br />\n"); |
|---|
| | 368 | |
|---|
| 345 | 369 | out.append("<span style=\"color:#ff0000\">Autopilot bricht ab bei "+getLocationText(Location.fromResult(ship),true)+"</span><br />\n"); |
|---|
| 346 | 370 | out.append("</span></td></tr>\n"); |
|---|
| … | … | |
| 385 | 409 | |
|---|
| 386 | 410 | if( ship.getInt("s") >= 100 ) { |
|---|
| | 411 | if( !verbose && firstOutput) { |
|---|
| | 412 | out.append(ship.getString("name")+" ("+ship.getInt("id")+"): "); |
|---|
| | 413 | firstOutput = false; |
|---|
| | 414 | } |
|---|
| 387 | 415 | out.append("<span style=\"color:#ff0000\">Triebwerke überhitzt</span><br />\n"); |
|---|
| | 416 | |
|---|
| 388 | 417 | if( (RandomUtils.nextInt(101)) < 3*(news-100) ) { |
|---|
| 389 | 418 | int dmg = (int)( (2*(RandomUtils.nextInt(101)/100d)) + 1 ) * (news-100); |
|---|
| … | … | |
| 394 | 423 | } |
|---|
| 395 | 424 | 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"); |
|---|
| 397 | 426 | error = true; |
|---|
| 398 | 427 | distance = 0; |
|---|
| … | … | |
| 405 | 434 | ship.put("e", newe); |
|---|
| 406 | 435 | 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 | } |
|---|
| 408 | 439 | } |
|---|
| 409 | 440 | |
|---|
| … | … | |
| 430 | 461 | } |
|---|
| 431 | 462 | |
|---|
| 432 | | private static boolean moveFleet(SQLResultRow ship, int direction, boolean forceLowHeat) { |
|---|
| | 463 | private static boolean moveFleet(SQLResultRow ship, int direction, boolean forceLowHeat, boolean verbose) { |
|---|
| 433 | 464 | StringBuilder out = MESSAGE.get(); |
|---|
| 434 | 465 | boolean error = false; |
|---|
| … | … | |
| 450 | 481 | "id!='",ship.getInt("id"),"' AND e>0 AND battle=0"); |
|---|
| 451 | 482 | while( fleetshipRow.next() ) { |
|---|
| 452 | | if( firstEntry ) { |
|---|
| | 483 | if( verbose && firstEntry ) { |
|---|
| 453 | 484 | firstEntry = false; |
|---|
| 454 | 485 | out.append("<table class=\"noBorder\">\n"); |
|---|
| … | … | |
| 509 | 540 | |
|---|
| 510 | 541 | for( SQLResultRow fleetship : fleetdata.ships.values() ) { |
|---|
| 511 | | if( firstEntry ) { |
|---|
| | 542 | if( verbose && firstEntry ) { |
|---|
| 512 | 543 | firstEntry = false; |
|---|
| 513 | 544 | out.append("<table class=\"noBorder\">\n"); |
|---|
| 514 | 545 | } |
|---|
| 515 | 546 | |
|---|
| 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 | } |
|---|
| 519 | 552 | Offizier offizierf = fleetdata.offiziere.get(fleetship.getInt("id")); |
|---|
| 520 | 553 | |
|---|
| 521 | 554 | ShipTypeData shiptype = Ship.getShipType(fleetship); |
|---|
| 522 | 555 | |
|---|
| 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); |
|---|
| 524 | 557 | |
|---|
| 525 | 558 | //Einen einmal gesetzten Fehlerstatus nicht wieder aufheben |
|---|
| … | … | |
| 533 | 566 | } |
|---|
| 534 | 567 | |
|---|
| 535 | | out.append("</span></td></tr>\n"); |
|---|
| 536 | | } |
|---|
| | 568 | if(verbose) |
|---|
| | 569 | { |
|---|
| | 570 | out.append("</span></td></tr>\n"); |
|---|
| | 571 | } |
|---|
| | 572 | } |
|---|
| | 573 | |
|---|
| 537 | 574 | if( !firstEntry ) |
|---|
| 538 | 575 | out.append("</table>\n"); |
|---|
| … | … | |
| 787 | 824 | oldship.putAll(ship); |
|---|
| 788 | 825 | |
|---|
| 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); |
|---|
| 790 | 827 | error = result.error; |
|---|
| 791 | 828 | waypoint.distance = result.distance; |
|---|
| … | … | |
| 794 | 831 | // Jetzt, da sich unser Schiff korrekt bewegt hat, fliegen wir auch die Flotte ein stueck weiter |
|---|
| 795 | 832 | if( ship.getInt("fleet") > 0 ) { |
|---|
| 796 | | boolean fleetResult = moveFleet(oldship, waypoint.direction, forceLowHeat); |
|---|
| | 833 | boolean fleetResult = moveFleet(oldship, waypoint.direction, forceLowHeat, false); |
|---|
| 797 | 834 | if( fleetResult != false ) { |
|---|
| 798 | 835 | error = true; |
|---|
| … | … | |
| 873 | 910 | |
|---|
| 874 | 911 | if( moved ) { |
|---|
| | 912 | out.append("Ankunft bei "+getLocationText(Location.fromResult(ship),true)+"<br /><br />\n"); |
|---|
| | 913 | |
|---|
| 875 | 914 | 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")); |
|---|
| 876 | 915 | if( docked != 0 ) { |
|---|