Changeset cebb7b381e718b279c1dd4c9b938081350f6aeb2

Show
Ignore:
Timestamp:
05/12/08 16:22:24 (2 months ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1210602144 +0200
git-parent:

[9fc4d8797d8b9f3e36c7d5871eda34d7fa44f1f4]

git-author:
Simon Dietsch <rhonabwy@sternenbund.org> 1210602144 +0200
Message:

[gameplay] Globales Flag fuer Munition eingefuehrt. Schaden wird durch Panzerung dividiert, wenn Flag gesetzt ist. Ammo Table bit-flag (2)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/net/driftingsouls/ds2/server/entities/Ammo.java

    refe20b3 rcebb7b3  
    6464                 * Area-Damage ueber die Distanz nicht reduzieren 
    6565                 */ 
    66                 AD_FULL(1); 
     66                AD_FULL(1), 
     67                 
     68                /** 
     69                 * Schaden der Munition wird durch Panzerung dividiert 
     70                 */ 
     71                ARMOR_REDUX(2); 
    6772                 
    6873                private int bit; 
  • src/net/driftingsouls/ds2/server/modules/ks/KSAttackAction.java

    r055387c rcebb7b3  
    388388                        battle.logenemy("\n"+prefix+":\n");      
    389389                } 
     390                 
     391                if(this.weapon.getAmmoType().length != 0){ 
     392                        if ( this.localweapon.get("armor_redux") != null){ 
     393                                schaden = (int)Math.round(schaden/this.getPanzerung(eShip, eShipType)); 
     394                                 
     395                        } 
     396                } 
     397 
     398                 
    390399         
    391400                if( (hit != 0) && (eShip.getShields() > 0) ) { 
     
    595604        } 
    596605         
     606        private int getPanzerung(BattleShip ship, ShipTypeData shipType) { 
     607                return (int)Math.round(shipType.getPanzerung()*ship.getShip().getHull()/(double)shipType.getHull()); 
     608        } 
     609         
     610         
    597611        private SQLResultRow getWeaponData( Battle battle ) {    
    598612                ShipTypeData ownShipType = this.ownShip.getTypeData(); 
     
    723737                localweapon.put("ammoitem", ammoitem); 
    724738                localweapon.put("ad_full", ammo.hasFlag(Ammo.Flags.AD_FULL)); 
     739                localweapon.put("armor_redux", ammo.hasFlag(Ammo.Flags.ARMOR_REDUX)); 
    725740                localweapon.put("long_range", this.weapon.hasFlag(Weapon.Flags.LONG_RANGE)); 
    726741                localweapon.put("very_long_range", this.weapon.hasFlag(Weapon.Flags.VERY_LONG_RANGE)); 
     
    911926                                         
    912927                if( this.localweapon.getInt("subdamage") > 0 ) { 
    913                         int tmppanzerung = (int)Math.round(aeShipType.getPanzerung()*aeShip.getShip().getHull()/(double)aeShipType.getHull()); 
    914                                                 
     928                        int tmppanzerung = this.getPanzerung(aeShip, aeShipType); 
     929                         
    915930                        Offizier eOffizier = Offizier.getOffizierByDest('s', aeShip.getId()); 
    916931                        int defensivskill = this.getDefensivSkill( aeShipType, eOffizier ); 
     
    12191234                                int shieldSchaden = this.getDamage(this.localweapon.getInt("shielddamage"), offensivskill, enemyShipType); 
    12201235                                 
    1221                                 int panzerung = (int)Math.round(enemyShipType.getPanzerung()*this.enemyShip.getShip().getHull()/(double)enemyShipType.getHull()); 
     1236                                int panzerung = this.getPanzerung(enemyShip, enemyShipType); 
    12221237                                int schaden = absSchaden; 
    12231238