Changeset a12b55036fddf1151cd850b7a617d070a3ec67bf

Show
Ignore:
Timestamp:
09/07/08 17:43:45 (2 months ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1220802225 +0200
git-parent:

[fc9242ffc719b2a4548c873fa6e9427f9f3f898a]

git-author:
Christoph Peltz <kris@keeg.de> 1220802225 +0200
Message:

[feature] Automatisierung von DI-Auftraegen

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • db/tables/upgrade_info_insert.sql

    r53daccb ra12b550  
    1313INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (13, 1,  525000,  true,  6000000, 1200,  5000); 
    1414INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (14, 1,  600000,  true,  6750000, 1350,  5000); 
    15 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (15, 1,       0, false,        0,    0,     0); 
    16 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (16, 2,      10, false,  1500000,  150,  1500); 
    17 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (17, 2,      20, false,  3000000,  300,  3000); 
    18 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (18, 2,      30, false,  4500000,  450,  4500); 
    19 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (20, 2,      40, false,  6000000,  600,  6000); 
    20 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (21, 2,      50, false,  7500000,  750,  7500); 
    21 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (22, 2,      60, false,  9000000,  900,  9000); 
    22 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (23, 2,       0,  true,        0,    0,     0); 
    23 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (24, 2,  125000,  true,  3750000,  575,  4250); 
    24 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (25, 2,  250000,  true,  5000000,  850,  6000); 
    25 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (26, 2,  375000,  true,  6250000, 1125,  7750); 
    26 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (27, 2,  500000,  true,  7500000, 1400,  9500); 
    27 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (28, 2,  625000,  true,  8750000, 1675, 11250); 
    28 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (29, 2,  750000,  true, 10000000, 1950, 13000); 
    29 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (30, 2,  875000,  true, 11000000, 2225, 14750); 
    30 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (31, 2, 1000000,  true, 12500000, 2500, 16500); 
    31 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (32, 3,       0, false,        0,    0,     0); 
    32 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (33, 3,      10, false,  1000000,  100,  1000); 
    33 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (34, 3,      20, false,  2000000,  200,  2000); 
    34 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (35, 3,       0,  true,        0,    0,     0); 
    35 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (36, 3,   60000,  true,  1200000,  240,  1600); 
    36 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (37, 3,  120000,  true,  1800000,  360,  2400); 
    37 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (38, 3,  180000,  true,  2400000,  480,  3200); 
    38 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (39, 3,  240000,  true,  3000000,  600,  4000); 
    39 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (40, 3,  300000,  true,  3600000,  720,  4800); 
     15INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (15, 3,       0, false,        0,    0,     0); 
     16INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (16, 3,      10, false,  1500000,  150,  1500); 
     17INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (17, 3,      20, false,  3000000,  300,  3000); 
     18INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (18, 3,      30, false,  4500000,  450,  4500); 
     19INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (20, 3,      40, false,  6000000,  600,  6000); 
     20INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (21, 3,      50, false,  7500000,  750,  7500); 
     21INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (22, 3,      60, false,  9000000,  900,  9000); 
     22INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (23, 3,       0,  true,        0,    0,     0); 
     23INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (24, 3,  125000,  true,  3750000,  575,  4250); 
     24INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (25, 3,  250000,  true,  5000000,  850,  6000); 
     25INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (26, 3,  375000,  true,  6250000, 1125,  7750); 
     26INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (27, 3,  500000,  true,  7500000, 1400,  9500); 
     27INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (28, 3,  625000,  true,  8750000, 1675, 11250); 
     28INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (29, 3,  750000,  true, 10000000, 1950, 13000); 
     29INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (30, 3,  875000,  true, 11000000, 2225, 14750); 
     30INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (31, 3, 1000000,  true, 12500000, 2500, 16500); 
     31INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (32, 4,       0, false,        0,    0,     0); 
     32INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (33, 4,      10, false,  1000000,  100,  1000); 
     33INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (34, 4,      20, false,  2000000,  200,  2000); 
     34INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (35, 4,       0,  true,        0,    0,     0); 
     35INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (36, 4,   60000,  true,  1200000,  240,  1600); 
     36INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (37, 4,  120000,  true,  1800000,  360,  2400); 
     37INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (38, 4,  180000,  true,  2400000,  480,  3200); 
     38INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (39, 4,  240000,  true,  3000000,  600,  4000); 
     39INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (40, 4,  300000,  true,  3600000,  720,  4800); 
  • db/tables/upgrade_job_create.sql

    r53daccb ra12b550  
    77  `bar` bool NOT NULL default FALSE, 
    88  `payed` bool NOT NULL default FALSE, 
    9   `colonizerid` int(11) NOT NULL default '0'
    10   `started` int(11) NOT NULL default '0', 
     9  `colonizerid` int(11)
     10  `end` int(11) NOT NULL default '0', 
    1111  PRIMARY KEY  (`id`) 
    1212) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
  • db/updates.xml

    r53daccb ra12b550  
    646646                ALTER TABLE upgrade_job ADD CONSTRAINT upgrade_job_fk_mod_cargo FOREIGN KEY (cargo) REFERENCES upgrade_info(id); 
    647647        ]]></update> 
     648        <update type="structure" datum="2008-09-07"><![CDATA[ 
     649                update upgrade_info set type=4 where type=3; 
     650                update upgrade_info set type=3 where type=2; 
     651                update upgrade_info set type=3 where id=15; 
     652                 
     653                CREATE TABLE `upgrade_maxvalues` ( 
     654                  `type` int(11) NOT NULL, 
     655                  `maxtiles` int(11) NOT NULL default '1', 
     656                  `maxcargo` int(11) NOT NULL default '1', 
     657                  PRIMARY KEY  (`type`) 
     658                ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
     659                 
     660                INSERT INTO `upgrade_maxvalues` (`type`, `maxcargo`, `maxtiles`) VALUES ( 1, 750000,  80); 
     661                INSERT INTO `upgrade_maxvalues` (`type`, `maxcargo`, `maxtiles`) VALUES ( 3, 1120000,  120); 
     662                INSERT INTO `upgrade_maxvalues` (`type`, `maxcargo`, `maxtiles`) VALUES ( 4, 360000,  40); 
     663                 
     664                ALTER TABLE upgrade_job ADD `end` int(11) NOT NULL default '0'; 
     665                ALTER TABLE upgrade_job DROP `started`; 
     666                ALTER TABLE upgrade_job MODIFY `colonizerid` int(11); 
     667        ]]></update> 
    648668</updates> 
  • src/net/driftingsouls/ds2/server/bases/Base.java

    r8866c32 ra12b550  
    274274        } 
    275275         
     276        @Override 
     277        public boolean equals(Object object) 
     278        { 
     279                if(object.getClass() != this.getClass()) 
     280                { 
     281                        return false; 
     282                } 
     283                 
     284                Base other = (Base)object; 
     285                 
     286                if(other.getId() != this.getId()) 
     287                { 
     288                        return false; 
     289                } 
     290                 
     291                return true; 
     292        } 
     293         
     294        @Override 
     295        public int hashCode() 
     296        { 
     297                return this.getId(); 
     298        } 
     299         
    276300        /** 
    277301         * Setzt den Cargo des Basisobjekts 
  • src/net/driftingsouls/ds2/server/modules/ErsteigernController.java

    re409332 ra12b550  
    3030 
    3131import net.driftingsouls.ds2.server.ContextCommon; 
     32import net.driftingsouls.ds2.server.bases.Base; 
    3233import net.driftingsouls.ds2.server.cargo.Cargo; 
     34import net.driftingsouls.ds2.server.cargo.ItemID; 
    3335import net.driftingsouls.ds2.server.cargo.ResourceEntry; 
    3436import net.driftingsouls.ds2.server.cargo.ResourceList; 
     
    4547import net.driftingsouls.ds2.server.entities.GtuZwischenlager; 
    4648import net.driftingsouls.ds2.server.entities.PaketVersteigerung; 
     49import net.driftingsouls.ds2.server.entities.UpgradeInfo; 
     50import net.driftingsouls.ds2.server.entities.UpgradeJob; 
     51import net.driftingsouls.ds2.server.entities.UpgradeMaxValues; 
    4752import net.driftingsouls.ds2.server.entities.User; 
    4853import net.driftingsouls.ds2.server.entities.UserMoneyTransfer; 
     
    6368import net.driftingsouls.ds2.server.ships.ShipType; 
    6469import net.driftingsouls.ds2.server.ships.ShipTypeData; 
     70import net.driftingsouls.ds2.server.ships.ShipTypes; 
    6571import net.driftingsouls.ds2.server.tasks.Taskmanager; 
    6672 
     
    17261732                return ""; 
    17271733        } 
    1728          
     1734 
     1735        private static final int ITEM_BBS = 182; 
     1736         
     1737        /** 
     1738         * Zeigt die GUI fÃŒr den Asti-Asubau an 
     1739         * @urlparam Integer astiid Die ID des auszubauenden Asteroiden 
     1740         * @urlparam Integer colonizerid Die ID des auszubauenden Asteroiden 
     1741         * @urlparam Integer felder Die ID des auszubauenden Asteroiden 
     1742         * @urlparam Integer cargo Die ID des auszubauenden Asteroiden 
     1743         * @urlparam Integer bar Gibt die Zahlungsmethode an 
     1744         * 
     1745         */ 
     1746        @SuppressWarnings("unchecked") 
     1747        @Action(ActionType.DEFAULT) 
     1748        public void ausbauAction() { 
     1749                TemplateEngine t = getTemplateEngine(); 
     1750                org.hibernate.Session db = getDB(); 
     1751                User user = (User) getUser(); 
     1752 
     1753                if( !Faction.get(faction).getPages().hasPage("ausbau") ) { 
     1754                        redirect(); 
     1755                        return; 
     1756                } 
     1757 
     1758                parameterNumber("astiid"); 
     1759                parameterNumber("colonizerid"); 
     1760                parameterNumber("felder"); 
     1761                parameterNumber("cargo"); 
     1762                parameterNumber("bar"); 
     1763 
     1764                int astiid = getInteger("astiid"); 
     1765                int colonizerid = getInteger("colonizerid"); 
     1766                int felder = getInteger("felder"); 
     1767                int cargo = getInteger("cargo"); 
     1768                boolean bar = getInteger("bar") == 1; 
     1769 
     1770                if( astiid != 0 && colonizerid != 0 && felder != 0 && cargo != 0 ) { 
     1771                        Base base =  (Base)db.get(Base.class, astiid); 
     1772                        if(base == null) 
     1773                        { 
     1774                                addError("Der angew&auml;hlte Asteroid existiert nicht"); 
     1775                                redirect(); 
     1776                                return; 
     1777                        } 
     1778 
     1779                        if(!base.getOwner().equals(getUser())) 
     1780                        { 
     1781                                addError("Dieser Asteroid geh&ouml;rt Ihnen nicht"); 
     1782                                redirect(); 
     1783                                return; 
     1784                        } 
     1785 
     1786                        // Alle Werte wurden ÃŒbergeben, nur noch testen ob sie akzeptabel sind 
     1787                        // FÃŒr jeden Asti darf maximal ein Auftrag in der DB sein 
     1788                        UpgradeJob auftrag = (UpgradeJob) db.createQuery("from UpgradeJob where base=:base") 
     1789                                .setParameter("base", base) 
     1790                                .uniqueResult(); 
     1791 
     1792                        if(auftrag != null) { 
     1793                                addError("F&uuml;r diesen Asteroid besteht bereits ein Auftrag"); 
     1794                                redirect(); 
     1795                                return; 
     1796                        } 
     1797                         
     1798                        final UpgradeMaxValues maxvalues = (UpgradeMaxValues)db.get(UpgradeMaxValues.class, base.getKlasse()); 
     1799                        if( maxvalues == null ) { 
     1800                                addError("Dieser Asteroid kann leider nicht ausgebaut werden"); 
     1801                                redirect(); 
     1802                                return; 
     1803                        } 
     1804 
     1805                        // Teste ob die ÃŒbergebenen felder und cargo Parameter korrekt sind 
     1806                        List<UpgradeInfo> infos = db.createQuery("from UpgradeInfo where (id=:felder and cargo=false) " + 
     1807                                "or (id=:cargo and cargo=true)") 
     1808                                .setParameter("felder", felder) 
     1809                                .setParameter("cargo", cargo) 
     1810                                .list(); 
     1811 
     1812                        if( infos.size() < 2 ) { // Da es selbst fÃŒr den leeren Ausbau EintrÀge gibt, funktioniert das hier 
     1813                                addError("Es wurden illegale Ausbauten ausgew&auml;hlt"); 
     1814                                redirect(); 
     1815                                return; 
     1816                        } 
     1817 
     1818                        boolean wantsUpgrade = false; 
     1819                        for(UpgradeInfo info: infos) 
     1820                        { 
     1821                                if(base.getMaxTiles() + info.getMod() > maxvalues.getMaxTiles()) 
     1822                                { 
     1823                                        addError("Der Asteroid hat zuviele Felder nach diesem Ausbau"); 
     1824                                        redirect(); 
     1825                                        return; 
     1826                                } 
     1827 
     1828                                if(base.getMaxCargo() + info.getMod() > maxvalues.getMaxCargo()) 
     1829                                { 
     1830                                        addError("Der Asteroid hat zuviel Lagerraum nach diesem Ausbau."); 
     1831                                        redirect(); 
     1832                                        return; 
     1833                                } 
     1834 
     1835                                if(info.getMod() > 0) 
     1836                                { 
     1837                                        wantsUpgrade = true; 
     1838                                } 
     1839                        } 
     1840 
     1841                        if(!wantsUpgrade) 
     1842                        { 
     1843                                redirect(); 
     1844                                return; 
     1845                        } 
     1846 
     1847 
     1848                        // Erstelle einen neuen Auftrag 
     1849                        UpgradeInfo felderInfo = (UpgradeInfo) db.get(UpgradeInfo.class, felder); 
     1850                        UpgradeInfo cargoInfo = (UpgradeInfo) db.get(UpgradeInfo.class, cargo); 
     1851                        Ship colonizer = (Ship) db.get(Ship.class, colonizerid); 
     1852                        auftrag = new UpgradeJob( base, user, felderInfo, cargoInfo, bar, colonizer ); 
     1853 
     1854                        User faction = (User) db.get(User.class, this.faction); 
     1855                        if(!bar) 
     1856                        { 
     1857                                // Testen ob genuegend Geld vorhanden ist um es uns untern Nagel zu reiszen 
     1858                                if(user.getKonto().compareTo(new BigDecimal(felderInfo.getPrice() + cargoInfo.getPrice()).toBigInteger()) < 0 ) { 
     1859                                        addError("Sie verf&uuml;gen nicht &uuml;ber genug Geld</span>"); 
     1860                                        redirect(); 
     1861                                        return; 
     1862                                } 
     1863                                faction.transferMoneyFrom( user.getId(), felderInfo.getPrice() + cargoInfo.getPrice(), "Ausbau von " + base.getName()); 
     1864                        } 
     1865 
     1866                        // Den Besitzer des Colonizers Àndern 
     1867                        colonizer.setOwner( faction ); 
     1868 
     1869                        // Auftrag speichern 
     1870                        db.persist( auftrag ); 
     1871 
     1872                        // Erstelle einen neuen Task fÃŒr den Auftrag 
     1873                        Taskmanager taskmanager = Taskmanager.getInstance(); 
     1874                        taskmanager.addTask( Taskmanager.Types.UPGRADE_JOB, 1, Integer.toString(auftrag.getId()), "0", Integer.toString(this.faction) ); 
     1875 
     1876                        t.setVar("show.message", "Ihr Auftrag wurde an den zust&auml;ndigen Sachbearbeiter weitergeleitet. Die Bauma&szlig;nahmen werden in k&uuml;rze beginnen."); 
     1877                         
     1878                        redirect(); 
     1879                        return; 
     1880                } 
     1881 
     1882                t.setVar( "show.ausbau", 1 ); 
     1883 
     1884                t.setBlock("_ERSTEIGERN", "ausbau.asti.listitem",               "ausbau.asti.list"); 
     1885                t.setBlock("_ERSTEIGERN", "ausbau.colonizer.listitem",  "ausbau.colonizer.list"); 
     1886                t.setBlock("_ERSTEIGERN", "ausbau.cargo.listitem",              "ausbau.cargo.list"); 
     1887                t.setBlock("_ERSTEIGERN", "ausbau.felder.listitem",     "ausbau.felder.list"); 
     1888 
     1889                // Hole alle Astis des Spielers und markiere gewaehlten Asti 
     1890                List<Base> astis = db.createQuery("from Base where owner=:user order by id") 
     1891                        .setParameter("user", user) 
     1892                        .list(); 
     1893                Base selectedBase = null; 
     1894                for(Base asti: astis) { 
     1895                        final UpgradeMaxValues maxvalues = (UpgradeMaxValues)db.get(UpgradeMaxValues.class, asti.getKlasse()); 
     1896                        if( maxvalues == null ) { 
     1897                                continue; 
     1898                        } 
     1899                         
     1900                        t.setVar("asti.id", asti.getId(), 
     1901                                         "asti.name", asti.getName(), 
     1902                                         "asti.selected", astiid == asti.getId()); 
     1903                        t.parse("ausbau.asti.list", "ausbau.asti.listitem", true); 
     1904                        if( astiid == asti.getId() ) { 
     1905                                selectedBase = asti; 
     1906                        } 
     1907                } 
     1908 
     1909                if( selectedBase == null && !astis.isEmpty() ) { 
     1910                        selectedBase = astis.get(0); 
     1911                } 
     1912                 
     1913                if( selectedBase == null ) { 
     1914                        return; 
     1915                } 
     1916                 
     1917                t.setVar( 
     1918                                "erz.name",             Cargo.getResourceName(Resources.ERZ), 
     1919                                "erz.image",    Cargo.getResourceImage(Resources.ERZ), 
     1920                                "bbs.name",             Cargo.getResourceName(new ItemID(ITEM_BBS)), 
     1921                                "bbs.image",    Cargo.getResourceImage(new ItemID(ITEM_BBS))); 
     1922 
     1923                // Hole die Colos des ausgewaehlten Astis 
     1924                List<Ship> colonizers = db.createQuery("from Ship where shiptype.flags like :colonizer and " + 
     1925                        "owner=:user and system=:baseSystem and x=:baseX AND y=:baseY order by id") 
     1926                        .setString("colonizer", ShipTypes.SF_COLONIZER) 
     1927                        .setParameter("user", user) 
     1928                        .setInteger("baseSystem", selectedBase.getSystem()) 
     1929                        .setInteger("baseX", selectedBase.getX()) 
     1930                        .setInteger("baseY", selectedBase.getY()) 
     1931                        .list(); 
     1932 
     1933                for(Ship colonizer: colonizers ) { 
     1934                        t.setVar("colonizer.id", colonizer.getId(), 
     1935                                 "colonizer.name", colonizer.getName()); 
     1936                        t.parse("ausbau.colonizer.list", "ausbau.colonizer.listitem", true); 
     1937                } 
     1938 
     1939                final UpgradeMaxValues maxvalues = (UpgradeMaxValues)db.get(UpgradeMaxValues.class, selectedBase.getKlasse()); 
     1940                 
     1941                // Setze die ausbau-mods, finde heraus welche bereits angewendet wurden und Typ des Astis 
     1942                List<UpgradeInfo> possibleMods = db.createQuery("from UpgradeInfo where type=:asteroidClass order by id") 
     1943                        .setParameter("asteroidClass", selectedBase.getKlasse()) 
     1944                        .list(); 
     1945                for(UpgradeInfo info: possibleMods ) { 
     1946                        if( info.getCargo() ) { // Testen ob info den Cargo modifiziert 
     1947                                if( selectedBase.getMaxCargo() + info.getMod() <= maxvalues.getMaxCargo() ) { 
     1948                                        t.setVar("cargo.mod", info.getMod(), 
     1949                                                 "cargo.id", info.getId(), 
     1950                                                 "cargo.preis", info.getPrice(), 
     1951                                                 "cargo.bbs", info.getMiningExplosive(), 
     1952                                                 "cargo.erz", info.getOre()); 
     1953                                        t.parse("ausbau.cargo.list", "ausbau.cargo.listitem", true); 
     1954                                }  
     1955                        } else { // Es handelt sich um ein Felder Ausbau 
     1956                                if( selectedBase.getMaxTiles() + info.getMod() <= maxvalues.getMaxTiles() ) { 
     1957                                        t.setVar("felder.mod", info.getMod(), 
     1958                                                 "felder.id", info.getId(), 
     1959                                                 "felder.preis", info.getPrice(), 
     1960                                                 "felder.bbs", info.getMiningExplosive(), 
     1961                                                 "felder.erz", info.getOre()); 
     1962                                        t.parse("ausbau.felder.list", "ausbau.felder.listitem", true); 
     1963                                } 
     1964                        } 
     1965                } 
     1966        } 
     1967 
    17291968        /** 
    17301969         * Zeigt den Shop der Fraktion an 
     
    17401979                        redirect();      
    17411980                        return; 
    1742                 }                       
     1981                } 
    17431982                 
    17441983                t.setVar( "show.shop", 1 ); 
  • src/net/driftingsouls/ds2/server/tasks/Taskmanager.java

    re86f30a ra12b550  
    8282                 * data3 - Status [autom. gesetzt: Nichts = Warte auf Schiff od. flug zur Ganymede; 1 = Gany-Transport; 2 = Rueckweg] 
    8383                 */ 
    84                 GANY_TRANSPORT(7, new HandleGanyTransport()); 
     84                GANY_TRANSPORT(7, new HandleGanyTransport()), 
     85                /** 
     86                 * Ein Ausbau-Auftrag 
     87                 * 
     88                 * data1 - Die Auftrags-ID 
     89                 * data2 - Die Anzahl der bisherigen Versuche den Task durchzufÃŒhren 
     90                 */ 
     91                UPGRADE_JOB(8, new HandleUpgradeJob()); 
    8592                 
    8693                private int typeID; 
  • templates/ersteigern.html

    r3924571 ra12b550  
    3535                        &nbsp;&nbsp;|&nbsp;&nbsp;{!link_to Shop, shop, faction:$global.faction} 
    3636                {/endif} 
     37                {if faction.ausbau} 
     38                        &nbsp;&nbsp;|&nbsp;&nbsp;{!link_to Ausbau, ausbau, faction:$global.faction} 
     39                {/endif} 
    3740                {if faction.other} 
    3841                        &nbsp;&nbsp;|&nbsp;&nbsp;{!link_to Sonstiges, other, faction:$global.faction} 
     
    262265        </tr> 
    263266        </table> 
     267{/endif} 
     268{if show.ausbau} 
     269        <form name="form_ausbau" action="./ds" method="post"> 
     270                <div style="text-align:center"> 
     271                        {!form_create_hidden ausbau, faction:$global.faction} 
     272                        <script type="text/javascript"> 
     273                                var felderPreis = 0; 
     274                                var cargoPreis = 0; 
     275                                var felderBBS = 0; 
     276                                var cargoBBS = 0; 
     277                                var felderErz = 0; 
     278                                var cargoErz = 0; 
     279 
     280                                function updateFelder(preis, bbs, erz) { 
     281                                        felderPreis = parseInt(preis); 
     282                                        felderBBS = parseInt(bbs); 
     283                                        felderErz = parseInt(erz); 
     284                                        updateCosts(); 
     285                                } 
     286 
     287                                function updateCargo(preis, bbs, erz) { 
     288                                        cargoPreis = parseInt(preis); 
     289                                        cargoBBS = parseInt(bbs); 
     290                                        cargoErz = parseInt(erz); 
     291                                        updateCosts(); 
     292                                } 
     293 
     294                                function updateCosts() { 
     295                                        document.getElementById("RE_Display").firstChild.nodeValue = felderPreis + cargoPreis; 
     296                                        document.getElementById("BBS_Display").firstChild.nodeValue = felderBBS + cargoBBS; 
     297                                        document.getElementById("Erz_Display").firstChild.nodeValue = felderErz + cargoErz; 
     298                                } 
     299                        </script> 
     300                        {!table_begin 650,center} 
     301                        <table class="noBorderX" width="100%"> 
     302                                <tr> 
     303                                        <td class="noBorderX" style="width=150px; text-align:right"> 
     304                                                Asteroid: 
     305                                        </td> 
     306                                        <td class="noBorderX" style="width:20px"> 
     307                                                &nbsp; 
     308                                        </td> 
     309                                        <td class="noBorderX" style="text-align:left"> 
     310                                                <select name="astiid" size="1" style="width:220px" onchange="document.getElementsByName('form_ausbau')[0].value = 0; document.getElementsByName('form_ausbau')[0].submit()"> 
     311                                                <!-- BEGIN ausbau.asti.listitem --> 
     312                                                        <option value="{asti.id}" {if asti.selected}selected="selected"{/endif}>{asti.name} ({asti.id})</option> 
     313                                                <!-- END ausbau.asti.listitem --> 
     314                                                </select> 
     315                                        </td> 
     316                                </tr> 
     317                                <tr> 
     318                                        <td class="noBorderX" style="width:150px; text-align:right"> 
     319                                                Colonizer: 
     320                                        </td> 
     321                                        <td class="noBorderX" style="width:20px"> 
     322                                                &nbsp; 
     323                                        </td> 
     324                                        <td class="noBorderX" style="text-align:left"> 
     325                                                <select name="colonizerid" size="1" style="width:220px"> 
     326                                                <!-- BEGIN ausbau.colonizer.listitem --> 
     327                                                        <option value="{colonizer.id}">{colonizer.name} ({colonizer.id})</option> 
     328                                                <!-- END ausbau.colonizer.listitem --> 
     329                                                </select> 
     330                                        </td> 
     331                                </tr> 
     332                                <tr> 
     333                                        <td class="noBorderX" style="width:150px; text-align:right"> 
     334                                                Felder-Erweiterung: 
     335                                        </td> 
     336                                        <td class="noBorderX" style="width:20px"> 
     337                                                &nbsp; 
     338                                        </td> 
     339                                        <td class="noBorderX" style="text-align:left"> 
     340                                                <select name="felder" size="1" style="width:220px"> 
     341                                                <!-- BEGIN ausbau.felder.listitem --> 
     342                                                        <option value="{felder.id}" onclick="updateFelder({felder.preis}, {felder.bbs}, {felder.erz})">+ {felder.mod} Felder</option> 
     343                                                <!-- END ausbau.felder.listitem --> 
     344                                                </select> 
     345                                        </td> 
     346                                </tr> 
     347                                <tr> 
     348                                        <td class="noBorderX" style="width:150px; text-align:right"> 
     349                                                Cargo-Erweiterung: 
     350                                        </td> 
     351                                        <td class="noBorderX" style="width:20px"> 
     352                                                &nbsp; 
     353                                        </td> 
     354                                        <td class="noBorderX" style="text-align:left"> 
     355                                                <select name="cargo" size="1" style="width:220px"> 
     356                                                <!-- BEGIN ausbau.cargo.listitem --> 
     357                                                        <option value="{cargo.id}" onclick="updateCargo({cargo.preis}, {cargo.bbs}, {cargo.erz})">+ {cargo.mod} Lagerraum</option> 
     358                                                <!-- END ausbau.cargo.listitem --> 
     359                                                </select> 
     360                                        </td> 
     361                                </tr> 
     362                                <tr> 
     363                                        <td class="noBorderX" style="width:150px; text-align:right"> 
     364                                                Zahlungsmethode: 
     365                                        </td> 
     366                                        <td class="noBorderX" style="width:20px"> 
     367                                                &nbsp; 
     368                                        </td> 
     369                                        <td class="noBorderX" style="text-align:left"> 
     370                                                <input type="radio" name="bar" value="0" checked="checked">Konto 
     371                                                <input type="radio" name="bar" value="1"> BAR <br /> 
     372                                        </td> 
     373                                </tr> 
     374                                <tr> 
     375                                        <td class="noBorderX" style="width:150px; text-align:right"> 
     376                                                RE: 
     377                                        </td> 
     378                                        <td class="noBorderX" style="width:20px"> 
     379                                                &nbsp; 
     380                                        </td> 
     381                                        <td class="noBorderX" style="text-align:left" id="RE_Display"> 
     382                                        0 
     383                                        </td> 
     384                                </tr> 
     385                                <tr> 
     386                                        <td class="noBorderX" style="width:150px; text-align:right;white-space:nowrap"> 
     387                                                <img style="text-align:middle" src="{bbs.image}" alt="{bbs.name}" />{bbs.name}: 
     388                                        </td> 
     389                                        <td class="noBorderX" style="width:20px"> 
     390                                                &nbsp; 
     391                                        </td> 
     392                                        <td class="noBorderX" style="text-align:left" id="BBS_Display"> 
     393                                        0 
     394                                        </td> 
     395                                </tr> 
     396                                <tr> 
     397                                        <td class="noBorderX" style="width:150px; text-align:right;white-space:nowrap"> 
     398                                                <img style="text-align:middle" src="{erz.image}" alt="{erz.name}" />{erz.name}: 
     399                                        </td> 
     400                                        <td class="noBorderX" style="width:20px"> 
     401                                                &nbsp; 
     402                                        </td> 
     403                                        <td class="noBorderX" style="text-align:left" id="Erz_Display"> 
     404                                        0 
     405                                        </td> 
     406                                </tr> 
     407                                <tr> 
     408                                        <td class="noBorderX" colspan="3" style="text-align:center"> 
     409                                                <hr style="height:1px; border:0px; background-color:#606060; color:#606060" /> 
     410                                                <input type="submit" style="width:110px" value="bestellen" /> 
     411                                        </td> 
     412                                </tr> 
     413                        </table> 
     414                        {!table_end} 
     415                </div> 
     416        </form> 
    264417{/endif} 
    265418{if show.other} 
  • web/WEB-INF/cfg/factions.xml

    r7aa4fc0 ra12b550  
    2828                <page id="general" /> 
    2929                <page id="angebote" /> 
     30                <page id="ausbau" /> 
    3031                <text> 
    3132                        Demolition Incorporated ist das fÃŒhrende Unternehmen auf dem Gebiet des modernen Bergbaus. Dank hochmoderner patentierter Technik aus eigenen Entwicklungslabors 
  • web/WEB-INF/cfg/hibernatemappings.xml

    rc9db94e ra12b550  
    8585        <mapping class="net.driftingsouls.ds2.server.entities.SellLimit" /> 
    8686        <mapping class="net.driftingsouls.ds2.server.comm.PM" /> 
     87        <mapping class="net.driftingsouls.ds2.server.entities.UpgradeInfo" /> 
     88        <mapping class="net.driftingsouls.ds2.server.entities.UpgradeJob" /> 
     89        <mapping class="net.driftingsouls.ds2.server.entities.UpgradeMaxValues" /> 
    8790        <mapping class="net.driftingsouls.ds2.server.entities.User" /> 
    8891        <mapping class="net.driftingsouls.ds2.server.entities.UserResearch" />