Changeset a12b55036fddf1151cd850b7a617d070a3ec67bf
- Timestamp:
- 09/07/08 17:43:45 (2 months ago)
- git-parent:
- Files:
-
- db/tables/upgrade_info_insert.sql (modified) (1 diff)
- db/tables/upgrade_job_create.sql (modified) (1 diff)
- db/tables/upgrade_maxvalues_create.sql (added)
- db/tables/upgrade_maxvalues_insert.sql (added)
- db/updates.xml (modified) (1 diff)
- src/net/driftingsouls/ds2/server/bases/Base.java (modified) (1 diff)
- src/net/driftingsouls/ds2/server/entities/UpgradeInfo.java (added)
- src/net/driftingsouls/ds2/server/entities/UpgradeJob.java (added)
- src/net/driftingsouls/ds2/server/entities/UpgradeMaxValues.java (added)
- src/net/driftingsouls/ds2/server/modules/ErsteigernController.java (modified) (5 diffs)
- src/net/driftingsouls/ds2/server/tasks/HandleUpgradeJob.java (added)
- src/net/driftingsouls/ds2/server/tasks/Taskmanager.java (modified) (1 diff)
- templates/ersteigern.html (modified) (2 diffs)
- web/WEB-INF/cfg/factions.xml (modified) (1 diff)
- web/WEB-INF/cfg/hibernatemappings.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
db/tables/upgrade_info_insert.sql
r53daccb ra12b550 13 13 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (13, 1, 525000, true, 6000000, 1200, 5000); 14 14 INSERT 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);15 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (15, 3, 0, false, 0, 0, 0); 16 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (16, 3, 10, false, 1500000, 150, 1500); 17 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (17, 3, 20, false, 3000000, 300, 3000); 18 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (18, 3, 30, false, 4500000, 450, 4500); 19 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (20, 3, 40, false, 6000000, 600, 6000); 20 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (21, 3, 50, false, 7500000, 750, 7500); 21 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (22, 3, 60, false, 9000000, 900, 9000); 22 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (23, 3, 0, true, 0, 0, 0); 23 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (24, 3, 125000, true, 3750000, 575, 4250); 24 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (25, 3, 250000, true, 5000000, 850, 6000); 25 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (26, 3, 375000, true, 6250000, 1125, 7750); 26 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (27, 3, 500000, true, 7500000, 1400, 9500); 27 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (28, 3, 625000, true, 8750000, 1675, 11250); 28 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (29, 3, 750000, true, 10000000, 1950, 13000); 29 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (30, 3, 875000, true, 11000000, 2225, 14750); 30 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (31, 3, 1000000, true, 12500000, 2500, 16500); 31 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (32, 4, 0, false, 0, 0, 0); 32 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (33, 4, 10, false, 1000000, 100, 1000); 33 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (34, 4, 20, false, 2000000, 200, 2000); 34 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (35, 4, 0, true, 0, 0, 0); 35 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (36, 4, 60000, true, 1200000, 240, 1600); 36 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (37, 4, 120000, true, 1800000, 360, 2400); 37 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (38, 4, 180000, true, 2400000, 480, 3200); 38 INSERT INTO `upgrade_info` (`id`, `type`, `mod`, `cargo`, `price`, `miningexplosive`, `ore`) VALUES (39, 4, 240000, true, 3000000, 600, 4000); 39 INSERT 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 7 7 `bar` bool NOT NULL default FALSE, 8 8 `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', 11 11 PRIMARY KEY (`id`) 12 12 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; db/updates.xml
r53daccb ra12b550 646 646 ALTER TABLE upgrade_job ADD CONSTRAINT upgrade_job_fk_mod_cargo FOREIGN KEY (cargo) REFERENCES upgrade_info(id); 647 647 ]]></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> 648 668 </updates> src/net/driftingsouls/ds2/server/bases/Base.java
r8866c32 ra12b550 274 274 } 275 275 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 276 300 /** 277 301 * Setzt den Cargo des Basisobjekts src/net/driftingsouls/ds2/server/modules/ErsteigernController.java
re409332 ra12b550 30 30 31 31 import net.driftingsouls.ds2.server.ContextCommon; 32 import net.driftingsouls.ds2.server.bases.Base; 32 33 import net.driftingsouls.ds2.server.cargo.Cargo; 34 import net.driftingsouls.ds2.server.cargo.ItemID; 33 35 import net.driftingsouls.ds2.server.cargo.ResourceEntry; 34 36 import net.driftingsouls.ds2.server.cargo.ResourceList; … … 45 47 import net.driftingsouls.ds2.server.entities.GtuZwischenlager; 46 48 import net.driftingsouls.ds2.server.entities.PaketVersteigerung; 49 import net.driftingsouls.ds2.server.entities.UpgradeInfo; 50 import net.driftingsouls.ds2.server.entities.UpgradeJob; 51 import net.driftingsouls.ds2.server.entities.UpgradeMaxValues; 47 52 import net.driftingsouls.ds2.server.entities.User; 48 53 import net.driftingsouls.ds2.server.entities.UserMoneyTransfer; … … 63 68 import net.driftingsouls.ds2.server.ships.ShipType; 64 69 import net.driftingsouls.ds2.server.ships.ShipTypeData; 70 import net.driftingsouls.ds2.server.ships.ShipTypes; 65 71 import net.driftingsouls.ds2.server.tasks.Taskmanager; 66 72 … … 1726 1732 return ""; 1727 1733 } 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ählte Asteroid existiert nicht"); 1775 redirect(); 1776 return; 1777 } 1778 1779 if(!base.getOwner().equals(getUser())) 1780 { 1781 addError("Dieser Asteroid gehö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ü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ä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ügen nicht ü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ändigen Sachbearbeiter weitergeleitet. Die Baumaßnahmen werden in kü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 1729 1968 /** 1730 1969 * Zeigt den Shop der Fraktion an … … 1740 1979 redirect(); 1741 1980 return; 1742 } 1981 } 1743 1982 1744 1983 t.setVar( "show.shop", 1 ); src/net/driftingsouls/ds2/server/tasks/Taskmanager.java
re86f30a ra12b550 82 82 * data3 - Status [autom. gesetzt: Nichts = Warte auf Schiff od. flug zur Ganymede; 1 = Gany-Transport; 2 = Rueckweg] 83 83 */ 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()); 85 92 86 93 private int typeID; templates/ersteigern.html
r3924571 ra12b550 35 35 | {!link_to Shop, shop, faction:$global.faction} 36 36 {/endif} 37 {if faction.ausbau} 38 | {!link_to Ausbau, ausbau, faction:$global.faction} 39 {/endif} 37 40 {if faction.other} 38 41 | {!link_to Sonstiges, other, faction:$global.faction} … … 262 265 </tr> 263 266 </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 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 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 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 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 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 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 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 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> 264 417 {/endif} 265 418 {if show.other} web/WEB-INF/cfg/factions.xml
r7aa4fc0 ra12b550 28 28 <page id="general" /> 29 29 <page id="angebote" /> 30 <page id="ausbau" /> 30 31 <text> 31 32 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 85 85 <mapping class="net.driftingsouls.ds2.server.entities.SellLimit" /> 86 86 <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" /> 87 90 <mapping class="net.driftingsouls.ds2.server.entities.User" /> 88 91 <mapping class="net.driftingsouls.ds2.server.entities.UserResearch" />
