From f581805efde5f12b95314a912cf70debb1f90141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Wed, 17 Aug 2022 18:34:45 +0200 Subject: [PATCH] Make all characters (including player and enemies) mortal --- data.mv.db | Bin 28672 -> 28672 bytes .../9da2c95b-45b7-49e5-957b-c1c8803cdf28.png | Bin 0 -> 36924 bytes project.bep | 3 +- .../demo/database/dao/EnemyDAO.java | 2 ++ .../demo/database/model/EnemyModel.java | 2 ++ .../demo/entity/Character.java | 29 +++++++++++++++++- .../bartlomiejpluta/demo/entity/Enemy.java | 15 ++++++++- .../bartlomiejpluta/demo/entity/Player.java | 8 +++++ 8 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 entsets/9da2c95b-45b7-49e5-957b-c1c8803cdf28.png diff --git a/data.mv.db b/data.mv.db index 3154653898adeba864634ad218494545cef391e9..94b5f364468b90454faf570747b4c9923679ed5e 100644 GIT binary patch literal 28672 zcmeaUGSW%P$xqIP(ZQKjsaA#t1_nCG8KrsIR>p=&I>|+;i6yBiR)!WviAjcr$p)t8 zI%)YuxrrrKhB{@bMa7xTUIjJSd8L359M&>Ez$tecLTnwXNGz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nMnho0LtwQ3Kj2X?>VVM@7!85Z5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=C(GZ|{2p}f;VXFXgQuC|~b#fC6tc=ohauX}8%nS^4@=_~Gtju%@ z64O(QtqgUF^7BiqlFgD0K)@)?(oCl$GdI=B(9+b>G|duaNkBnno^yU_UWt`~0@VQ* z0|QGc`vC@d22QX)^o$KH;4DixE0Hxfu|Us|4NRtiDI)_2Wdxy8AXF-ZN&~Am29qXW z(iBXZ@#H1urs`$prKDEqnILn_kvWzSPELN3OJYePH&{D^5%<$;{6yhG;EGOv*{sGeG7TBXi97z?w_*Qu2NB)AbD5LGhtym4G1#uFI9p=D)kXaQaOVWI zU}$EENCqaU76v9drFo^rsVR;nVel0q7D!3MLI;sF5H7NWy2u#KMTUk3ItUk;BBxJt zLzs)qU@kHNJIO4?6eVF|a}jc4wM25!TzD8ILS1Bv<|1VG7$Ca`lwZ&?iUrs`=o!Tv z8ba`VgBf6nNCB3J@iBQ=zKU42|#~MqNJ(d=kM&{>g>(Hz^cSN zhd}{R&Y8eVH&Zyv49+qKmsg`D9<0Peu(auFiH%%Co!p!hSzEdD_5 zF+vV7GXqm77rDMLLvo%OlJl0pOJ{Sa^NdI-ow2rNOfg$CAXmbiWo2kdOthLKxpK6S z#$QOo(kZx*hH@Zv?kz`_Sf!VeI*$P`53t}T$JFv`Ul#&K@ zmnE^O*8<-9f;PgF%;Cuv#XT0#++<}4c3u*ci^yCc%Ms2?LrS)A=cO7zotH?y^B|!G zsz*_r2Xhb9d8wGrOErM!eWO$ZBThl@y%({V`-w+F%M{jzP{IjzL_S41z2=3W~h`&Oxq@A+8DmL7u*jL6M*q zAX57cDjM(Y8VPFS`THTsx%#>KM#ek)2Smmj8OIwcL7I0Af-JC}SQ0cX8^KdOXyHA4 zJ-vmQMUrKzsU^st)Wlpc`_cPdNIgCh`d6?5#n=$JFGWoUqnHKST_DZ8M}d(+kSU-% zKR+ckFTS`uzbM5JJZ@6Qyib>r!H_|a(<3D{yVS!aHM^8oB{|6?*}^i>TsP6g$WYhB zGBr`xBH7eJ*VNoF)iTM*&@{!^oL9v%CDAC^(lkle#5Bnqq{>v+($qXjH`y@R!ot8f zIVH`=LZ4&L`%}yCDveX3Ee9385&3NEtA#kq5h# z1w}F-9PBHFV34m^Ua)%_rkH3OGBB`evbPfI4w%Ec0~Vv*f&BauJ)ro86p{ewEv$v+W!abp&VI*w6Lma zwEsWa|3@F11oio0%?}V8(X)m%KS2F$NX0(d|If1;ViPp5F8^r%AG*mN(f@{}dQcx4 z-v3WDw6HWup<(|YeI^*G{|{;mL*_FHwt^9EN1ok9>9bRl1DgMT!S2V*#b9V;Y+`C= z&dR~c$;!nb$fBsA77^?kq5v7NiFXS1^l?!zGB6NiQBqLiHG&8$ga*3?DR{bphlpGw zJcC1m6_k_|f*pNA6x7ufJRE~PK(wQaucx0Ni?V_O?+iw$PG?7F4_6n35Jx8;SEOMc zl;I-{$f%U3ixO-g32YJ4Sd^cmuPaVTXMcYm7yocSB?V8v5Okd`j=qlW2)$gIf-EWu zio8Bh=Rt>}@C;BHDk-20P@%dUJozZdqN}>S=1F2dEKDF1Pwzxk?-b=7W>d3ghsoDf+}w*_GpJFBr3j* zNsVteXC*-vO$9~XK&VH+)8*I`ld&6OG94uyLmY@cFE7ZVrJ%~YgOPGijn4l=mw12| zV?ftJ4f+*Nh!M5X`G1rJS)=p+@YRf?^ZzJoxahD*YqbAAI{yz@o&cL@N1j<9o&N_N zx`tT3Ijk0Fj`sgS%R7~!~Q?|DrcnrKWLr|(*K7pmq~^% z(Lk*D1}*$YUf!69v|@*vU49g^K>hzz_Jhdl{}HQUk#+)%PJiQ={)Wvj6TNzp9`nnH z*)Uk9upn*b7Lr&A4pyNLIfG`3kux7+$Qj`x*f5;J7l)9#Q7_R;nK7D*;F@!w?T8X|Bu%H zNA$lDU64c_c>mub%_7M%jfVaIWa$0_*dke^{y%8`AG~V@eKD*#=0-?UOY=13VSr?s z4g-Mt|1a3RM(6)W=l@6N|3~NlK^yLe@%;Y`%X)0y)g_MT++S!w$bd+W!w4p2xPwXNVqu0$T$N z+9L_+q7XfT4VujWw`Pbw%?J{YL`G{8QiEr7ke0@Sw2%fUXmh#Q=>C68lnwTy`~M+l zSE1~V1eN9Byg$1CA9AG|Y;^(J`AxK6`!m}AN9+G1`rnBDe=?%~pO|WqlxRYO{yzX; CZS6|{ literal 28672 zcmeaUGSW%P$xqInN_J)h6V-(I>{NOdD&KmsYyD?MX8A;sVP>57DkClhK9)o zrsg_n`9-;jC02$yWvNBQnfZBOg=smdCCM47MOI0vhNcDv#%5d$qhK@yMnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONV8BCQwEsWgQ84O&(GVC7fzc2c4S~@R7!85Z z5Eu=C(GVC7fzc2c4S~@Rpm_+uCi%@Fv;S5`IytF%R)#vci3L_hraHNa6;@`620D4E z6(v^YIt7X8sl`?%Iz{>UC06E^$p#=`YLH^4Q<9mRYGr6iL@lZT&Ey2&pE#| zuf)ngf$9LXx*(j9PnnUykU@~$BPBJv)Wan;yOdWYImsm1!ZOiZH_^n%P}jsVHBr|h z+0;VU)Z8%DGRer$G{xAQW6$H)3pqLNbgyq`bqpxa&reCsi!UzEFG^uxU=U__sKUq~ z$OJaj5F8EC3|CY^LMTeXQmjg>Z43$woZ!IJGfXvxvrOPDQ#i|vH8-(9&yWpFrhzFV z0|;dVp^PDv34}5Qt2YLdCSVdGV#bq~n47AXnU|7Up=W~3F-PWDLO413NiK;ciQHg4 zIr&Mxi3MbeSUkTVH7}$nF|Rl=xg;|`uNb1WBrz!`RnGvKV~or(;{$6h%}dGm z$xqiaWCtY=J;O8zZDatYjiIy&ls07pt21802o5(Z!&K-J6e|;GBFxDwOZ82xurkmA zu>!z}&w!|;X@QwE&5}$l(sWAmN{c}&S)eHu!gVYOgD+w+LrT5INU66U?n)DARxw3$ zr75yAjZmCvY5>hT#;~jd$~XoFCPt?4tYemJnPvfXAF_i?kQ`)!!T8M?Ho5kwkdx;cJnOAKiXaE64s+yI=j zt&nm#h#i!g22lhp3Yd%xn2b!Aj7%BL7)=;W84VeYnGDmIjEtF#jCjl~!2xbyY-WPs z7^PVl@W6_FqcjUMILE})1R-ORXaM4XQxZ7J!2YJtR%nif*b3!9Y=v>awpt);1+7Ul zrFOWOCLx6ji~|lA(?m#_19l;d19l;t19G8hBE$f2Qijy0&_r%(if}u$J~c^AN=Zc& zS|+J!#>qy|G>=q9m?C9GQ>NoERbg%D9-KwJqb;?M#S77Or_0_;39sC%po!CY+4 zGe>eBa=Qgyo|#%e%QGVCCxr7*noh8&HbY7Tkfsxgvxp2ti_!8dF*g-dwt<>9c*`?W zQ%Hz|%QF}Ul5for*$&*!8zn|VU^E0qLx3(J0PFg|YCa=GC6sEe17A;XW@%<E>3)dp)H5YzvMHh7Tx{}zU(=E+E2NJ6TisO@$I1xWv&i8lTJx0wC^8@T)b zUC8}^b9i6h0?x98vl795_|g79X8#|N2_S<|pk6k_BTsQ~R&ozgnByf}w z-~Y#LD>O$#Y=v?lw!%1ITP?xq7i{Zj|K9+f6-WF3(2{ku|DQS{$1`DFesFmPwbE36EkDWBpUYr(fbfc{ePTug^(5=mc9bQ3&{Nf zn)Lr!wzEE9=3+23GBzTq54N-6oa&-)Gjdu$5^l?!zGB6Ni zQBqLiHG&8$ga*3?DR{am`1yw@xJGyehXgAqDJcXy`h+N`t1Eao277>LM;BjDKS35{ z1qI$2j8L7dP=^oKCZ6u;jWGW{(edtTp%ASdAcYm zggFK|dpHJxE%FQX@zH@u`8oQ!;*@mu_xEw}5BF12@bn8o*XiQu>*$Wq%cUvEqN1S4 z>jQOOK#-@eV^E}mw`(Ml>!70X-ma1HhDr+len@htE(bYUQ;<;2)|Di z99>)#oc;ZRLxLPZjzt6rLNMM)Ndf8rkh3(vRw#J-xwu9kIRmN!>O?^nH3bFU?*szf z)z8&8lG4z2^$Q7h4Z#^1!2zzWE=mePu8uzFQQ_$4>FXHc>F*bhN0F0{zq7ZepSzNR zlfOTP5h#HVODv!`Raa2tbtO7ZjnU#18Zh9H7G%*-P~|Pb9+?n@M8%>psj+CRB*>zv zpvdb7^#*#3Bc%|qR6H(UpahbpAd8lQD(_ZC%01+!q~PWscO&MoP*k=0KCXpTDz*tFt!)1FItAUgQx&Z0m%OMiECx4D<6#^o(F5hVTjF zR9tIuuuN-1N0>-miUV3&f@5S3X~H-ad1Vf~*PV)MWe!f~;jC*R;~J=SEz-IikSlQv z(;<%^BCidY2Ag$H#Wn1ji0n*blm$&BFA2mPXhjY^d`Z9WW$!zz{k>M`-8{(wqbj-5FAU-OlLzKYG_=ls_5*qaiTBApqm1Si9n9=8-3CPL!j=?MKD%#;Wp{~zEEjIAut*O z@DPCY{}KIfL@rpjP+O91FB1>`{kTw4N0yS+5-_9D%lf$wU8 zt??adrw%|zmcgxb)LjQeP9l!>|FI6%jjsP6UH?DY|2F_#No8Wh0~-t&UH=d7hm0~t gLtr!n=pO>G{y(Dsjof*L_y5gP%#1CQY0&=%0DtC3A^-pY diff --git a/entsets/9da2c95b-45b7-49e5-957b-c1c8803cdf28.png b/entsets/9da2c95b-45b7-49e5-957b-c1c8803cdf28.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3343b7f07e4298ce72e304fe47c05844163e75 GIT binary patch literal 36924 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

pN_Opz^;#-4Ep=kyF3ne#$9iPl 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 P0|SGntDnm{r-UW|bY?uC literal 0 HcmV?d00001 diff --git a/project.bep b/project.bep index e54b4c8..29ce3a4 100644 --- a/project.bep +++ b/project.bep @@ -3,7 +3,8 @@ $f845355e-b9ad-4884-a217-dd3a4c18a3fa(f845355e-b9ad-4884-a217-dd3a4c18a3fa.datForrest Temple"d $d314b030-f865-432e-a356-3845f8aac7bc(d314b030-f865-432e-a356-3845f8aac7bc.pngForrest Temple ](2Z $815a5c5c-4979-42f5-a42a-ccbbff9a97e5(815a5c5c-4979-42f5-a42a-ccbbff9a97e5.pngLuna (2Z -$cb4c89a7-a421-49ea-8c58-571e9b215d37(cb4c89a7-a421-49ea-8c58-571e9b215d37.pngDeku (:` +$cb4c89a7-a421-49ea-8c58-571e9b215d37(cb4c89a7-a421-49ea-8c58-571e9b215d37.pngDeku (2\ +$9da2c95b-45b7-49e5-957b-c1c8803cdf28(9da2c95b-45b7-49e5-957b-c1c8803cdf28.pngCorpse (:` $2261c04f-b02e-4486-b388-8a0fa41622e9(2261c04f-b02e-4486-b388-8a0fa41622e9.ttfRoboto RegularB\ $ab9d40b4-eb28-45d7-bff2-9432a05eb41a(ab9d40b4-eb28-45d7-bff2-9432a05eb41a.xml Start MenuB[ diff --git a/src/main/java/com/bartlomiejpluta/demo/database/dao/EnemyDAO.java b/src/main/java/com/bartlomiejpluta/demo/database/dao/EnemyDAO.java index 7c3309d..5b3f6ca 100644 --- a/src/main/java/com/bartlomiejpluta/demo/database/dao/EnemyDAO.java +++ b/src/main/java/com/bartlomiejpluta/demo/database/dao/EnemyDAO.java @@ -19,6 +19,8 @@ public class EnemyDAO { .id(result.getString("id")) .name(result.getString("name")) .entitySet(result.getString("entset")) + .deadEntitySet(result.getString("dead_entset")) + .hp(result.getInt("hp")) .speed(result.getFloat("speed")) .animationSpeed(result.getFloat("animation_speed")) .blocking(result.getBoolean("blocking")) diff --git a/src/main/java/com/bartlomiejpluta/demo/database/model/EnemyModel.java b/src/main/java/com/bartlomiejpluta/demo/database/model/EnemyModel.java index c2c6112..01e8859 100644 --- a/src/main/java/com/bartlomiejpluta/demo/database/model/EnemyModel.java +++ b/src/main/java/com/bartlomiejpluta/demo/database/model/EnemyModel.java @@ -8,6 +8,8 @@ public class EnemyModel { private final String id; private final String name; private final String entitySet; + private final String deadEntitySet; + private final int hp; private final float speed; private final float animationSpeed; private final boolean blocking; diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Character.java b/src/main/java/com/bartlomiejpluta/demo/entity/Character.java index fa9de17..5487da4 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Character.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Character.java @@ -7,19 +7,32 @@ import com.bartlomiejpluta.base.api.context.Context; import com.bartlomiejpluta.base.api.entity.Entity; import com.bartlomiejpluta.base.lib.entity.EntityDelegate; +import com.bartlomiejpluta.demo.runner.DemoRunner; import com.bartlomiejpluta.demo.world.weapon.MeleeWeapon; public class Character extends EntityDelegate { private static final Logger log = LoggerFactory.getLogger(Character.class); protected final Context context; + protected final DemoRunner runner; + protected int attackCooldown = 0; + @Getter + protected boolean alive = true; + + @Getter + protected boolean immortal = false; + + @Getter + protected int hp; + @Setter private MeleeWeapon weapon; - + public Character(@NonNull Context context, @NonNull Entity entity) { super(entity); this.context = context; + this.runner = (DemoRunner) context.getGameRunner(); } public void attack() { @@ -39,7 +52,12 @@ public class Character extends EntityDelegate { } public void hit(int dmg) { + if(immortal) { + return; + } + log.info(toString() + " received " + dmg + " damage"); + hp -= dmg; } @Override @@ -49,5 +67,14 @@ public class Character extends EntityDelegate { if(weapon != null && attackCooldown < weapon.getCooldown()) { attackCooldown += (int) (dt * 1000f); } + + if(hp <= 0 && alive && getLayer() != null) { + alive = false; + die(); + } + } + + protected void die() { + log.info(toString() + " died with HP = " + hp); } } \ No newline at end of file diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java b/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java index 9d0d7f0..6dd0cf3 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java @@ -15,10 +15,12 @@ import com.bartlomiejpluta.demo.world.weapon.MeleeWeapon; public class Enemy extends Character implements NPC { private final EnemyModel template; + private AI ai = NoopAI.INSTANCE; public Enemy(@NonNull Context context, @NonNull EnemyModel template) { super(context, context.createEntity(template.getEntitySet())); this.template = template; + hp = template.getHp(); setSpeed(template.getSpeed()); setAnimationSpeed(template.getAnimationSpeed()); setBlocking(template.isBlocking()); @@ -27,7 +29,18 @@ public class Enemy extends Character implements NPC { @Override public AI getStrategy() { - return NoopAI.INSTANCE; + return ai; + } + + @Override + public void die() { + super.die(); + changeEntitySet(template.getDeadEntitySet()); + setScale(0.5f); + setBlocking(false); + setZIndex(-1); + + ai = NoopAI.INSTANCE; } @Override diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Player.java b/src/main/java/com/bartlomiejpluta/demo/entity/Player.java index 724dc2b..fa1a455 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Player.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Player.java @@ -1,12 +1,20 @@ package com.bartlomiejpluta.demo.entity; import lombok.*; +import org.slf4j.*; import com.bartlomiejpluta.base.api.context.Context; import com.bartlomiejpluta.base.api.entity.Entity; public class Player extends Character { + private static final Logger log = LoggerFactory.getLogger(Player.class); public Player(@NonNull Context context, @NonNull Entity entity) { super(context, entity); } + + @Override + public void die() { + super.die(); + runner.returnToStartMenu(); + } } \ No newline at end of file