From 2bc884fcfc402baf6876f8fa9dc41e9ea6a4edb5 Mon Sep 17 00:00:00 2001
From: Leonard <Leonard@Leonard.Leo>
Date: Tue, 26 May 2020 17:54:27 +0300
Subject: [PATCH] model done

---
 .../galaxytrucker.core.main.kotlin_module     | Bin 16 -> 0 bytes
 .../IO/Screen/MainMenu.class                  | Bin 349 -> 0 bytes
 .../IO/Screen/Screen.class                    | Bin 143 -> 0 bytes
 .../galaxytruckerreloaded/Model/Ship.class    | Bin 4085 -> 6838 bytes
 .../Model/ShipLayout/Room.class               | Bin 1942 -> 1515 bytes
 .../Model/Weapons/Weapon.class                | Bin 1309 -> 3560 bytes
 .../View/BaseRenderer.class                   | Bin 189 -> 0 bytes
 .../Model/Crew/Crew.java                      |   9 ++
 .../Model/Map/Overworld.java                  |  16 ++-
 .../Model/Map/Planet.java                     |   4 +-
 .../Model/Map/PlanetEvent.java                |   2 +-
 .../Model/Map/Trader.java                     |  23 ++++
 .../galaxytruckerreloaded/Model/Ship.java     |  53 +++++++--
 .../Model/ShipLayout/Room.java                |   9 --
 .../Model/ShipLayout/System.java              |   2 -
 .../Model/ShipLayout/WeaponSystem.java        |  18 +++
 .../galaxytruckerreloaded/Model/User.java     |  10 +-
 .../Model/Weapons/Bomb.java                   |  21 ++++
 .../Model/Weapons/HealBomb.java               |  20 ++++
 .../Model/Weapons/LaserBlaster.java           |  21 ++++
 .../Model/Weapons/RadiationBomb.java          |  20 ++++
 .../Model/Weapons/Radio.java                  |  20 ++++
 .../Model/Weapons/Rocket.java                 |  21 ++++
 .../Model/Weapons/Weapon.java                 | 112 ++++++++++++------
 24 files changed, 317 insertions(+), 64 deletions(-)
 delete mode 100644 core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module
 delete mode 100644 core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/MainMenu.class
 delete mode 100644 core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/Screen.class
 delete mode 100644 core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/View/BaseRenderer.class
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Trader.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Bomb.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/HealBomb.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/LaserBlaster.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/RadiationBomb.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Radio.java
 create mode 100644 core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Rocket.java

diff --git a/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module b/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module
deleted file mode 100644
index 8fb60192d378759239a3ecbf60eac8c8de446e9c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16
RcmZQzU|?ooU|@t|UH|}6022TJ

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/MainMenu.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/MainMenu.class
deleted file mode 100644
index bf0a02b9046f831a3ed65bac38b530319ea2916e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 349
zcmbV|&q@P94934~_m8eyTlxmx)Pr;Irp1dO2wQuo^gcTq>eTHFjJu+b<w@}11Ncy4
zw&=lY6ZpvQ3rQef-yfd<&N0q0z%avMh7lp1T4&oU!r=I1Nr<m~&4f{D9p81Eio?CG
z8gVA2H@aEsV0->G<MzQm5vHZ_8@1AnetB&}XC68Hr@)QZHP`BPt`;URJ2lhR&DeF9
zgnZ$<VED%NcZPqBv$cNK1!5$Gi{1AV#{DAIXtz@HYR#s_5h8g(A0#OkL{lNPWgt0y
c2fc|AArno-h79b97TY?(K5`+#foO!{2U8+eSO5S3

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/Screen.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/IO/Screen/Screen.class
deleted file mode 100644
index 257fe3f36f2d529dc9f28f27b4a7cf37c1feeec2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 143
zcmX^0Z`VEs1_omWc6J6<b_O;^2Cm@z(xT*4x6GVWMh5QS<f7EnJiV;MvP4D(i{$)V
z{q)3~#EQz2qSEB-)FM<~QEE<pVoGX?zNf!FL?e`9WDo$Epr4bNm#*)hl$DxX0<?*d
RfeC0e2rx1*14$+Z764v9C-DFP

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.class
index 81ffac05cb55766ec492c653d7ccbebe155caa5d..cbc20eabd1bc46accbdcad9ea91fd6783f279c9a 100644
GIT binary patch
literal 6838
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
TG6P%Uvx7b+U&sG%c<|=8rn>Qg

literal 4085
zcmbVO`*Raj6h1divw8IaHX;_VTEMUftGwi`NLz@er8K1iK5vstyX|H-?rs?1Z*m-+
zA;XN$=#S3$N2%Yr8`5OENNQ$s?j!en_ndRT``!HY_piSb(OC-fw2!_wNM>n0PbsSB
zXp$Oi6q`qEHrQ;kvDs{~*=FOgX|iz*@(gMj^n;*r83bP4mZ56g3zRQte|1YfmX;&k
z4XYOVw!3jf(7~0q8`@2^W(W4Vqi(pa7s}A~+(6LrYTavETW8K+uspx%*rBo>*~)2H
zb260cGEfUV0!Y5@IqjyqB%4Z5sxk*-H%5?{5H#K0pyEDG*kZEkc+GWh+gkG6rMBY$
zY_#dQ>Zu@60nF`XLD{Aq1h%6PQTkC^If63ERsIIn6oX9;;pV3FH?Z|YQ$DE;%oysi
z43G`r7J$_90-KW)bXn)NAszYTY3R4>+sd~FM!s@9*-#B@(Q7EjT9hqo8KqMpLNuan
z5s*>4U74@W)db}hR;%@H9Qjagt2x<}98|hoIkAT3CU6j9)ppfVySc9XRf&T0v3Paq
ztV!SIad$EuZrXr9x5p@vd<*eqWYfd3V$)3}QLofy3$>E1mh&_!51=zwZPyO33%Xz4
z&5MfuEbMXjz8Y0@&SSMu*0(XOvogpx2s<B*Gh$i#U{0v~0rriQxorD3RCpss<f-zB
z-67+2v2-!w4t&9$0#Ed~V_>wP>61fmzRREq^am-kpS|Kd%CpN$Dghm2V)W%6pROV%
zzAXbB8XWx>qZq$;G(`;h*t9R$U4l}=p>esgSlg{ZfxA1|W7N$ay<Ya{$FgUyUD>nC
z%k0zT1>T9_chbLB{{PuCTD}(u2vWqLFaLbaYx{MG4d0d=!fl;qAxqRJ=#ry)`lM-x
z`;gPqkvydX02JwCx+dtzjv%u5EPJ*K7S2DZt5&2Erv^22#tvqh(%)8%8P{`9x$v1;
zZ-+e1eMVg>(i=2Yq{DQiNHc8SW%C}JSvE)69HZk!dY{TgI>Ez}bVSgZz0rs3AZT(Y
zgFEY6s*XE9rKfDqswqf{V?T>zrf+2={(>&<ZO5JKjhrU&UO~I4fX506!<L};lbCxG
z{R08LMF$_!+cb^Y3}z3ZO>tGaD+_w1;Fa&h7NKf-F$$+!)K0f3pKeh>-J*!PMICjE
zQtk#fW8f$?7Efd02XqQCoW|(9cE@Y=i|$yk95T@oeF)15;Ya$2&Y<PqS%5%Q>D=of
zR$l>ez6){T^$-tV0m1p=T?6SZA{Hbf3N%7RM7UzUAaU|f8vBh>5B86|p!6T+$qtR0
zhdPuo4|m8gOX&_}&C+Oxa%L&hp}bi#I#e(ZWII$e59T^FW|s0D8aGRY4oz@nMrfxp
zc^%WUXt!QvRx}m3ax2}V<{qCX{~1`}t3YYp<1-!AJwDZp?(w-Ay2mG*)jdAjobGY9
zdEMh9EYKzNr%C(+4i*iXH0ZL>pOisY1cz`H-&v*^Q!ldU^nG5=aRsko1yjL7%g&=*
z!8jcXI_YAxpqsRy>-0%f{yyjDH2O18QhgOWkl@^ZIRt%5Hxhs{KgNJ&UkmgZfa2*q
zCnFAYGyzD^%|z#H-1%6d^IW2HF79k5I?pFM=i|;+qVqzcb0O}0F46fG-A*W2@uyhj
zFC{ux=<@{UvH1C4PjvnQVe7j)K%Vh<*z*a_gXF0u=06b!x|IMVXc0;mMR6B5mDO%4
zK|SIcFs890b)4#Hz*JWQ_<oL%7}xjE;9C{l!#fbXXs^p?d9RE)4Oxm`wtn<X4?UxG
zMZ`gudn!5rY77g?62&3jO~%O%i^BrPI4j9GxnXfw9vP>WjFTT0hsBj~R+DiG!{V?s
zGtNC)gJq%Isq-uzjA3zD*cs<by1xqt57gMOIQ%Ry&I9C?K&J6waiS-bUy444K1?o_
hegpdz{Z$O*_lf@<d<EDPeXai(@jLVlzTXD)-M{CuoDcv2

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.class
index 6b35adb476d7d9989e6c8abb3a52810d92d671ca..1c022bb7aeb4cccbb514d11d0fe99a5190b6640a 100644
GIT binary patch
literal 1515
zcma))+iuf95Qb+HCu!V3(@+W_oC>9+0lE?hE;x#V5S2oT8dR<~&XR1q_9ACp8lH(8
zBoGo8JOB@cm`PnqY>W0Hvxm%l`_J$B_4~(90JsC(g%VsZLlK%3Rw=Y7+$h1#65J}m
z8iV3cs=?4QVCxL(n^9nuFSpc4^|X8%1jY)hOfX`w()Ntcw{PFQ$4%&KWhH;Fr0(+<
z!it_4$(M9`z`*s4j{Kk_e952@6W4>?3}&^hjo&jnykmk+q%~F-KB~SQqOM*jg-08+
zHy+3UHxE^y>|+M`=IRy$=eg<Q19NQ^$WG+<WcXH~W(Kvk@r2$Ip`vqq>DZydCZ0^1
z7zi!)#x{(+9U1beQz*3&ec9))k*;}ns6MpC*hH3Z8snqB@<7^Gv1KR(O`E}+cl)C0
z&u6i2+Hb_t%cH|0r@2n@my^c45g|HeWjN*f3|1b%ar+mJ`vbV!HBsoH{nUJ!WUg(C
zT~UEkuuy?AxD}{Un5R$!m%$_Yl2dI@pZ;$GgDUa47QujT^tPpk)3Y$SQigXW`mWU{
z^4?j(VJiVz1P<g#3dUKS%~`yw;P1o;FHhn{5f5{?=16KfshUW_R?<oHi6m?_om87j
zD&w>062{Z`ILDRYT4;R-_GO}G5hH0M$!9Q<XiR{!P{)<QIcVS;)5TvQ_Zk1p!C`SN
zqxj#p8Jy1q<&&WLk)R8iASVf0Iudj-6I4ionn!{z!R6Sa`?%)NnqsT*4RT3`-3e)N
zKO=US+^4Z&u!MCb`aU!!46bBD^T&nKn5Cdsv!Tv$p){5$=yEo+a9k*jaSD2EGGHrz
E01Bw%7XSbN

literal 1942
zcma)*ZBG+H5XWcRyFO8+LW^QS3L=)OoPc2B14bprCbbwanD}nnuI<9zt+`$ij33E2
zCN?I%@B{dvj5F8cq1VH5FJ@;qGrybv?ChVvzkUP2Dm+X<0+x~x2ZPLgGRtIE$gIZU
zK^)fNu+AVN8w^;P!Q^(wcBLhDWn0!v@!YnR%U!ALHiLyqU0KH7%G$c29LtohFg{9Q
zHjGW~@)~c8SG0S~AXQgp$Fi&35{NEuMzI>kAn&uw_CW|eQ!$lQQ~O3$+0~9|A}7`o
zve|MO=$~c7ZQ()95xh>0Iy`C$8=WW8mhJ|FXmN3uf%Z~0@Smd<X^U#dstM;EM;Q#p
zDyq)SUG7NQ`-hs_lBnyMr>n_Let6_Mo%+6TjJ};COvM|bVZ1@QY3#J*rwTt(9oN`a
z%ECeu#WH<V!F*8UTkc>VT;cTfQf~^kj6KJ)vFl0Pz4o;x(0|{POUEyK#pG}KqV;w!
zSu1+KOyc$=8~x*KbWgI;Kh93=sE$*|%c8y{Nx{+{Kj3M&3fIz*f{`?glgX0Fk(q!I
z22bho``XgK`+t)dWauY`$?c}GRofGFyw<FDB$crv@Lo*$h3-b1#o0^%mIgXRs2;Rw
zoS+PzT|)nI8%81Z0ryw%G=`^RxJIaGKXSy2WE43b2trYVLD@hMiXIHg1%j|CgFzF0
zL20Z5n~HW4D>QIrxay^!z`lDWUq?#<0LA9fQUV6R6inkv$v5yHl>8Of7_J3MF6Fxr
zDNS`DTAJ>HR?2Bzq~`Q4#Dd(E$KB}V`dp-VZKZz|{I-!ty`iUCpj!vc^GKx*Gw9Fg
z(ChU1wg9t!xu;rxK;#={N8nUzHbm>$t7I@23W^3n`Jtejp&%^?ni~q54+ZH#P-!UW
zRwyVI1T7B*Ex>KR*^h9IV2@+oTm&Z|?U5#W5hoK6^Cy6AHcoR%Z-_xL92&hSl-?lo
s#^nrjF&wI06iRbB04;?>^@~Dj#0Q{v!l47N>b#!PYZ-vv^~V3+Kbc$qMF0Q*

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.class
index e2c50b85d9abff4227b5768639742cc5d5ed7eeb..e4c42c9ddd1f9696e1b7d30f74a07da0f32181a0 100644
GIT binary patch
literal 3560
zcma)-TXWk)6vxjxzFSG0LJMiarA=DW02OU%DQ!q;?1s8HZfHUZEj+B{#ZfA2Gm@Op
z@5C^}3>{{8-~;fXI-FxGskOU<^m4Rk_1~Y)Wmo&}>%ad2fE)006=tDRff;yAW}D1+
zWS)@OA+t;7dop`uo|5^2%#UQAmEd^^eqxYoH5srLgZU>zKXM0R&kfzKC+_>cjCkZq
zKV)#Z?Z|<BaQ)^jTLuHqjfDM+E4-fF<Pq=kP;8QS7in&93Ik*es*d!A1HZ!ug26(}
zZuv(BdcEz*L07)8JJRnAJr6mxW5Exl-xf#0V^Hkz0q-NH>`3YL<gt%)!WTjRB}xZw
z7`mQl$S}gsl6T@%4g=xf2PNv+CNAfWGYq(ctE#;~9ya#5?;v(2+^6`rT@g60-)CTT
z1HqmBllN685Xa3phC+83(3j#6H^yFZ&Gp@Aox#+~l|2UehU_7Dw(a_&GaPh9u*<Qi
z49>Kr!@WHoxa7x^`Dow8DzA^K+~*$u^<@+cofjgo6J8)Z$$O$_Zz0{YpN?u2#!swT
zp)Vq8C&qvcok4FbiOX2QiIXg9IBuL4lioat>q*PDCQEAJ#P*v)A{<LOjg!rZ63(H&
zqf~Jg=Qa|Bq*aZHT9!#ME?^-X$DUtlQ303L9ka~?+)9xM5*u>{S0!`AiPIc$Jdq=M
zr#a#{nIle2<d|RCq#&koHjyOyT9P=YB#ASLBuOz&vbrOOfrF=ownA+j_|*e`#4T8X
zD;CsY&VqR|=gBOPStRownGfJY3oepbB6pcamuPeu<`}He5lw8Dr1!s@he4gfus!bg
z?Z@2%;Y9fh_?wu;!)!s00z-QSy*e;>3&(FigR^ihME@O}E#mCE_{>rCv9dN&G7`-z
zBFs(~omWJdy)If%L|7eNw5W)%db;R+MTFJWMHdtiR$mugR7BVvU9_Z#uzR{_SrK7(
zb<rh7gx%LgA0<Td*b3ZWXjidGHa;0X3#)$t`(xC#kI_;O0V?nbT5BwTPvI(h43~U{
z-$*Y06LP=d%N)E}TsJJ9+#U?B89`Gj=xi$Jx)GFDL5r!N8%9t;1udn5J~x7jDrhwo
zbkhhbsi14Apj+^Tp=;&em9E`R1>H7+Dk|t+D(FjNYE?D0%~a4GV?;GIqODZWU1LO+
z8qsblXw3+kRzc5GL0`do+_gLS%we;Ns|&9nr=HaEh;(kOh)*h=V)|DzxQFXXbk6Cw
z%;0M?bSf*9e(M_az8RX&3Z-j6gKn6ig{)AzHZ*9%3@v7b(lw(&n`US!E0nG!4f+5!
zweByyf^t?UU1J*b8#A<$6-w8h27PEwznT?F*Q5q*nIo-bh0?XEK_8hTwX#C#8rGoS
SnxWHKp>%C)(Dvxpy!9W3ez=VQ

literal 1309
zcmbtUT~8BH5Iwiues2L$@dFhRlv0#60rdgWmtqqVP!kM3-|pUQFKl<4yIYa}WK2vX
zCO-HB{87fay9+Iw@}R!V+?mdtIdf*yU%!9+1h9eURTR;zpnx@Po@(=~g!K|EhN8p!
z+!YLLm!WJ2f#(D#KIMfklzYlh>&q~do@fVQ#84S1VarekRKhw8RYwJbc8~iuK}>}`
zDLm($6v~#q%V2hu;CAo)_o}VL$xb@2&>bp`SlpJrj9Lu&#_A!1(GDDfn%<MXcr)yG
zg?i7s9%W|t0-Jk>TuB|LNh9jXkfF6_2Yt)s9{+S2siA!=)a6JCFW`=FtbIcFtPg?@
z0zXXs7A@(DsC}_JF(EN(;dsty>}q-yDtw(PQ=x+Mcb)P(V^R<VsZ*zl@vPD4Xpkb0
zB5ofuylVU<@q?ZmY{d`}S2U7g^Is6?ZU@0o*`h;-rA-q(){po{ZsIy_n5dv^qN>dl
z>I~ceqc6jZMz%ceyVl$8k+36Uk-otqeVtY0P(qnrIXyG>G&c6N)SIZsF)@k#bef+@
z<7;U=8~ZYtUV-dQs<y~8@`dJiu&;6Z9NA)$#4UQ8>H9YBP{eQ-^JFhKe?#tbrg>pv
z^F7>8n_IL|PLFENpCLCItv3diX#eFHVJ@jcGG0^DI%w7pCKAbKiL6W{vM`xQK1*ax
z|07&ML?1#Ed5A@_Sw)O58AYs#L>|$uN%KgNr85{=A{#_x^9myR@|wsp9;a9@;@Nbr
X5lnK^mtzp@LR5w)ScxGTapUSA?!V%j

diff --git a/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/View/BaseRenderer.class b/core/out/production/classes/com/galaxytrucker/galaxytruckerreloaded/View/BaseRenderer.class
deleted file mode 100644
index 37aebe788a0c8d2e1f1db6a459c21cfcdc9bb07c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 189
zcmY+8I}XA?5JNp7A4mnafQBuoXenrsKuSMsMkrxP&?Mn=H3|;Ep%5D?sGe*~Pky~0
zPXG&~35E$qgs73WI}--eSw@Ies$7(i?&?mhtP3ZE$%-4<eizYs$rmOpZGAEac6__H
z+S#M%e^PNZ=aQSOkgNF>5XQa2IIa$6voFQAF@X^HV?Yr4F9-q8sHb1zzDM!_PwOzG

diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java
index 8bdbafa2..199f6f4d 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java
@@ -1,5 +1,6 @@
 package com.galaxytrucker.galaxytruckerreloaded.Model.Crew;
 
+import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.System;
 import com.j256.ormlite.field.DatabaseField;
 import com.j256.ormlite.table.DatabaseTable;
 import lombok.*;
@@ -47,4 +48,12 @@ public class Crew {
     @DatabaseField(columnName = "stats")
     @NonNull
     private int[] stats;
+
+    /**
+     * The system this crew member is in
+     */
+    @DatabaseField(foreign = true, columnName = "system")
+    @NonNull
+    private System currentSystem;
+
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Overworld.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Overworld.java
index 27ca5240..2aa7bff9 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Overworld.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Overworld.java
@@ -1,11 +1,25 @@
 package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
 
 
+import com.j256.ormlite.field.DatabaseField;
+import lombok.NonNull;
+
+import java.io.Serializable;
 import java.util.HashMap;
 
-public class Overworld {
+public class Overworld implements Serializable {
+
+    /** Username used as ID */
+    @NonNull
+    @DatabaseField(columnName = "user",id = true)
+    private String associatedUser;
+
+    /** Stores planet and their location on the map */
+    @NonNull
+    @DatabaseField(columnName = "planetMap")
     private HashMap<float[],Planet> planetMap;
 
+    /** Constructor */
     public Overworld(int seed) {
         planetMap = new HashMap<>();
     }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Planet.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Planet.java
index c0ab5064..8f7bf6f7 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Planet.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Planet.java
@@ -9,7 +9,7 @@ import java.io.Serializable;
 @RequiredArgsConstructor(access = AccessLevel.PUBLIC)
 @Getter
 @Setter
-public abstract class Planet implements Serializable {
+public class Planet implements Serializable {
 
     /** Planet name */
     @DatabaseField(id = true,columnName = "name")
@@ -29,5 +29,5 @@ public abstract class Planet implements Serializable {
     /** Ereignis dass auf diesem Planeten eintrifft */
     @DatabaseField(columnName = "event")
     @NonNull
-    private  PlanetEvent event;
+    private PlanetEvent event;
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/PlanetEvent.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/PlanetEvent.java
index e700d436..8ec0a47f 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/PlanetEvent.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/PlanetEvent.java
@@ -1,5 +1,5 @@
 package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
 
 public enum PlanetEvent {
-
+    COMBAT,VOID,SHOP,BOSS,MINIBOSS,NEBULA,METEORSHOWER,PVP
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Trader.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Trader.java
new file mode 100644
index 00000000..ceaad3b8
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Map/Trader.java
@@ -0,0 +1,23 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
+
+import com.badlogic.gdx.scenes.scene2d.ui.List;
+import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+@Getter
+@Setter
+@DatabaseTable
+public class Trader extends Planet implements Serializable {
+
+    /** Weapons for sale */
+    @DatabaseField(foreign = true)
+    @NonNull
+    private List<Weapon> weaponsForSale;
+
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
index f5eb664e..6fe6015c 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
@@ -1,6 +1,8 @@
 package com.galaxytrucker.galaxytruckerreloaded.Model;
 
+import com.badlogic.gdx.scenes.scene2d.ui.List;
 import com.galaxytrucker.galaxytruckerreloaded.Model.Map.Planet;
+import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
 import com.j256.ormlite.field.DatabaseField;
 import com.j256.ormlite.table.DatabaseTable;
 import lombok.*;
@@ -27,49 +29,80 @@ public class Ship implements Serializable {
      */
     @NonNull
     @DatabaseField(columnName = "HP")
+    private int hp;
 
 
-    /**
-     * Resources are stored in ship
-     */
-    private int money;
+    /** Coins */
+    @NonNull
+    @DatabaseField(columnName = "coins")
+    private int coins;
+
+    /** Amount of available missiles */
+    @NonNull
+    @DatabaseField(columnName = "missles")
     private int missiles;
+
+    /** Amount of fuel left*/
+    @NonNull
+    @DatabaseField(columnName = "fuel")
     private int fuel;
 
     /**
      * Energy to be distributed
      */
+    @NonNull
+    @DatabaseField(columnName = "energy")
     private int energy;
 
     /**
      * Shields that are currently active
      */
+    @NonNull
+    @DatabaseField(columnName = "shieldCharge")
     private int shieldCharge;
 
     /**
      * Total number of Shields that are powered. Possibly redundant through Shield.getEnergy/2
      */
+    @NonNull
+    @DatabaseField(columnName = "maximumShieldCharge")
     private int maxShieldCharge;
 
     /**
      * chance for the ship to dodge incoming attacks
      */
-    private float evasion;
+    @NonNull
+    @DatabaseField(columnName = "evasionChance")
+    private float evasionChance;
 
     /**
-     * X and Y coordinates on the map
+     * The planet the ship is currently at
      */
-    private Planet position;
+    @NonNull
+    @DatabaseField(foreign = true,columnName = "planet")
+    private Planet planet;
+
+    /** Shields */
+    @NonNull
+    @DatabaseField(columnName = "shields")
+    private int shields;
 
     /**
      * time needed until position can be changed again
      */
     @NonNull
-    @DatabaseField(columnName = "SHIELDS")
-    private int shields;
+    @DatabaseField(columnName = "FTLCharge")
+    private int FTLCharge;
 
-    private int FTLcharge;
+    /** This ship's weapons */
+    @NonNull
+    @DatabaseField(columnName = "weapons", foreign = true)
+    private List<Weapon> weapons;
 
+    /** This ship's systems */
+    @NonNull
+    @DatabaseField(columnName = "systems",foreign = true)
+    private List<System> systems;
 
     /**
      * Take damage
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
index 71492507..fd935602 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
@@ -6,19 +6,10 @@ import lombok.*;
 
 import java.io.Serializable;
 
-@NoArgsConstructor(access = AccessLevel.PUBLIC)
-@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
 @Getter
 @Setter
 public abstract class Room implements Serializable {
 
-    /**
-     * ID
-     */
-    @DatabaseField(columnName = "ID", id = true)
-    @NonNull
-    private int id;
-
     /**
      * Höhe des Raumes. Räume sind immer rechteckig.
      */
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/System.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/System.java
index 1d4ba5a9..20432389 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/System.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/System.java
@@ -7,8 +7,6 @@ import java.io.Serializable;
 
 @Getter
 @Setter
-@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
-@NoArgsConstructor(access = AccessLevel.PUBLIC)
 public abstract class System extends Room implements Serializable {
 
     /**
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
new file mode 100644
index 00000000..36e6db52
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
@@ -0,0 +1,18 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+@DatabaseTable(tableName = "weaponSystem")
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+public class WeaponSystem extends System {
+
+    /** whether or not its manned */
+    @NonNull
+    @DatabaseField(columnName = "manned")
+    private boolean manned = false;
+
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
index f25c2707..4e1c6add 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
@@ -13,12 +13,16 @@ import java.io.Serializable;
 @DatabaseTable(tableName = "USER")
 public class User implements Serializable {
 
-    /** Username */
-    @DatabaseField(id = true,columnName = "USERNAME")
+    /**
+     * Username
+     */
+    @DatabaseField(id = true, columnName = "USERNAME")
     @NonNull
     private String username;
 
-    /** The user's ship */
+    /**
+     * The user's ship
+     */
     @DatabaseField(columnName = "userShip", foreign = true)
     private Ship userShip;
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Bomb.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Bomb.java
new file mode 100644
index 00000000..b1191f1f
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Bomb.java
@@ -0,0 +1,21 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+@DatabaseTable(tableName = "bomb")
+public class Bomb extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @DatabaseField(columnName = "bombWeaponName")
+    @NonNull
+    private String name;
+
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/HealBomb.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/HealBomb.java
new file mode 100644
index 00000000..57a69f7a
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/HealBomb.java
@@ -0,0 +1,20 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+@DatabaseTable(tableName = "healBombWeapon")
+public class HealBomb extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @DatabaseField(columnName = "healBombWeaponName")
+    @NonNull
+    private String name;
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/LaserBlaster.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/LaserBlaster.java
new file mode 100644
index 00000000..b7ac04b1
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/LaserBlaster.java
@@ -0,0 +1,21 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+@DatabaseTable(tableName = "laserBlasterWeapon")
+public class LaserBlaster extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @DatabaseField(columnName = "laserWeaponName")
+    @NonNull
+    private String name;
+
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/RadiationBomb.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/RadiationBomb.java
new file mode 100644
index 00000000..195072af
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/RadiationBomb.java
@@ -0,0 +1,20 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+@DatabaseTable(tableName = "radiationBomb")
+public class RadiationBomb extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @DatabaseField(columnName = "radiationBombName")
+    @NonNull
+    private String name;
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Radio.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Radio.java
new file mode 100644
index 00000000..787cb13e
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Radio.java
@@ -0,0 +1,20 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@Getter
+@Setter
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@DatabaseTable(tableName = "radioWeapon")
+public class Radio extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @NonNull
+    @DatabaseField(columnName = "radioWeaponName")
+    private String name;
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Rocket.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Rocket.java
new file mode 100644
index 00000000..f3aa5c0e
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Rocket.java
@@ -0,0 +1,21 @@
+package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
+
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+import lombok.*;
+
+import java.io.Serializable;
+
+@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
+@NoArgsConstructor(access = AccessLevel.PUBLIC)
+@Getter
+@Setter
+@DatabaseTable(tableName = "rocketWeapon")
+public class Rocket extends Weapon implements Serializable {
+
+    /** Weapon name */
+    @DatabaseField(columnName = "rocketWeaponName")
+    @NonNull
+    private String weaponName;
+
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.java
index 99e30301..6fed1c72 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Weapons/Weapon.java
@@ -1,55 +1,95 @@
 package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
 
-import com.galaxytrucker.galaxytruckerreloaded.Model.Ship;
+import com.j256.ormlite.field.DatabaseField;
+import lombok.*;
 
-public abstract class Weapon {
+import java.io.Serializable;
 
-    /** Weapon damage */
+
+@Getter
+@Setter
+public abstract class Weapon implements Serializable {
+
+    /**
+     * ID
+     */
+    @DatabaseField(id = true, columnName = "ID")
+    @NonNull
+    private int ID;
+
+    /** Weapon level */
+    @NonNull
+    @DatabaseField(columnName = "weaponLevel")
+    private int weaponLevel;
+
+    /**
+     * Weapon damage
+     */
+    @NonNull
+    @DatabaseField(columnName = "damage")
     private int damage;
 
-    /** Amount of rounds for the weapon to be used again */
+    /**
+     * Amount of rounds for the weapon to be used again
+     */
+    @NonNull
+    @DatabaseField(columnName = "cooldown")
     private int cooldown;
 
-    /** Weapon energy */
+    /**
+     * Weapon energy
+     */
+    @NonNull
+    @DatabaseField(columnName = "energy")
     private int energy;
 
-    /** Amount of missiles spent per attack */
+    /**
+     * Amount of missiles spent per attack
+     */
+    @NonNull
+    @DatabaseField(columnName = "missleCost")
     private int missileCost;
-    private float precision;
-    /** probability of randomly finding this weapon */
-    private float dropChance;
-    /** Amount of shield bars this Weapon can ignore */
-    private int shieldPiercing;
-    /** Probability of causing a breach in the section on hit */
-    private float breachChance;
-    /** Damage taken by crew in the hit section */
-    private int crewDamage;
-    /** How many projectiles are fired per burst */
-    private int burst;
 
-    public int getCooldown() {
-        return cooldown;
-    }
+    /**
+     * Weapon accuracy
+     */
+    @NonNull
+    @DatabaseField(columnName = "accuracy")
+    private float precision;
 
-    public void setCooldown(int cooldown) {
-        this.cooldown = cooldown;
-    }
+    /**
+     * probability of randomly finding this weapon
+     */
+    @NonNull
+    @DatabaseField(columnName = "dropChance")
+    private float dropChance;
 
-    public int getEnergy() {
-        return energy;
-    }
+    /**
+     * Amount of shield bars this Weapon can ignore
+     */
+    @NonNull
+    @DatabaseField(columnName = "shieldPiercing")
+    private int shieldPiercing;
 
-    public void setEnergy(int energy) {
-        this.energy = energy;
-    }
+    /**
+     * Probability of causing a breach in the section on hit
+     */
+    @NonNull
+    @DatabaseField(columnName = "breachChance")
+    private float breachChance;
 
-    public float getDropChance() {
-        return dropChance;
-    }
+    /**
+     * Damage taken by crew in the hit section
+     */
+    @NonNull
+    @DatabaseField(columnName = "crewDamage")
+    private int crewDamage;
 
-    public void setDropChance(float dropChance) {
-        this.dropChance = dropChance;
-    }
+    /**
+     * How many projectiles are fired per burst
+     */
+    @NonNull
+    @DatabaseField(columnName = "weaponBurst")
+    private int burst;
 
-    public void attack(Ship target){}
 }
-- 
GitLab