Changeset f82584a7c1d40eae013b39c8dc47e98480f8dbfe

Show
Ignore:
Timestamp:
08/05/07 12:37:35 (1 year ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1186310255 +0200
git-parent:

[a89e5107360c444563dcc1f31af8593ffdafc8a6]

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

Handelsposten: Ankauflimits eingebaut

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • db/updates.xml

    re35d2b9 rf82584a  
    354354                ALTER TABLE `academy` DROP INDEX `col`; 
    355355        ]]></update> 
     356        <update type="structure" datum="2007-08-05"><![CDATA[ 
     357                CREATE TABLE `tradepost_buy_limit` ( 
     358                  `shipid` int(11) NOT NULL, 
     359                  `resourceid` int(11) NOT NULL, 
     360                  `limit` int(11) NOT NULL, 
     361                  PRIMARY KEY  (`shipid`,`resourceid`) 
     362                ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
     363                 
     364                ALTER TABLE tradepost_buy_limit ADD CONSTRAINT tradepost_buy_limit_fk_ships FOREIGN KEY (shipid) REFERENCES ships(id); 
     365        ]]></update> 
    356366</updates> 
  • src/net/driftingsouls/ds2/server/modules/TradeController.java

    re194c56 rf82584a  
    2424import net.driftingsouls.ds2.server.cargo.ResourceList; 
    2525import net.driftingsouls.ds2.server.entities.GtuWarenKurse; 
     26import net.driftingsouls.ds2.server.entities.ResourceLimit; 
    2627import net.driftingsouls.ds2.server.entities.StatVerkaeufe; 
    2728import net.driftingsouls.ds2.server.entities.User; 
     29import net.driftingsouls.ds2.server.entities.ResourceLimit.ResourceLimitKey; 
    2830import net.driftingsouls.ds2.server.framework.Common; 
    2931import net.driftingsouls.ds2.server.framework.Context; 
     
    154156                                long resourceMass = Cargo.getResourceMass(res.getId(), 1); 
    155157                                 
     158                                //Wir wollen eventuell nur bis zu einem Limit ankaufen 
     159                                ResourceLimitKey resourceLimitKey = new ResourceLimitKey(posten, res.getId()); 
     160                                ResourceLimit resourceLimit = (ResourceLimit) db.get(ResourceLimit.class, resourceLimitKey); 
     161                                 
     162                                long limit = Long.MAX_VALUE; 
     163                                if(resourceLimit != null) { 
     164                                        limit = resourceLimit.getLimit(); 
     165                                        //Bereits gelagerte Bestaende abziehen 
     166                                        limit -= posten.getCargo().getResourceCount(res.getId()); 
     167                                } 
     168                                 
     169                                if( tmp > limit ) { 
     170                                        tmp = limit; 
     171                                } 
     172                                 
    156173                                //Nicht mehr ankaufen als Platz da ist 
    157                                 if(tmp*resourceMass > freeSpace) 
    158                                 { 
     174                                if(tmp*resourceMass > freeSpace) { 
    159175                                        tmp = freeSpace/resourceMass; 
    160176                                } 
     
    216232                ResourceList reslist = this.kurse.getResourceList(); 
    217233                 
    218                 if(!isFull()) 
    219                 { 
     234                if(!isFull()) { 
    220235                        t.set_var("is.full", 0); 
    221236                        for( ResourceEntry res : reslist ) { 
     
    241256                        } 
    242257                } 
    243                 else 
    244                 { 
     258                else { 
    245259                         
    246260                        t.set_var(      "is.full",              true, 
  • web/WEB-INF/cfg/hibernatemappings.xml

    re35d2b9 rf82584a  
    8181        <!-- surveys --> 
    8282        <mapping class="net.driftingsouls.ds2.server.tasks.Task" /> 
     83        <mapping class="net.driftingsouls.ds2.server.entities.ResourceLimit" />  
    8384        <!-- transmissionen [net.driftingsouls.ds2.server.comm.PM umbauen] --> 
    8485        <mapping class="net.driftingsouls.ds2.server.entities.User" />