From 14058cb832ece9639483f3bcce7917afef9f1c0e Mon Sep 17 00:00:00 2001 From: vbawol Date: Wed, 26 Oct 2016 15:59:38 -0500 Subject: [PATCH] Epoch Survival 0.4 b626 increased anti-teleport range added experimental vehicle immunity if locked inside an owned base (with jammer) Players now start with only 30% Hunger and Thirst instead of 100%. --- Changelogs/0.4.0.0.txt | 1 + .../@epochhive/addons/epoch_server.pbo | Bin 442310 -> 444631 bytes .../@epochhive/addons/epoch_server_core.pbo | Bin 21149 -> 21149 bytes .../addons/epoch_server_settings.pbo | Bin 478590 -> 478601 bytes .../mpmissions/epoch.Altis.pbo | Bin 1347581 -> 1347580 bytes .../mpmissions/epoch.Australia.pbo | Bin 1345817 -> 1345816 bytes .../mpmissions/epoch.Bootcamp_ACR.pbo | Bin 1346910 -> 1346909 bytes .../mpmissions/epoch.Bornholm.pbo | Bin 1346749 -> 1346748 bytes .../mpmissions/epoch.Chernarus.pbo | Bin 1346725 -> 1346724 bytes .../mpmissions/epoch.Chernarus_Summer.pbo | Bin 1346746 -> 1346745 bytes .../mpmissions/epoch.Desert_E.pbo | Bin 1346875 -> 1346874 bytes .../mpmissions/epoch.Esseker.pbo | Bin 1346713 -> 1346712 bytes .../mpmissions/epoch.Mountains_ACR.pbo | Bin 1347152 -> 1347151 bytes Server_Install_Pack/mpmissions/epoch.Napf.pbo | Bin 1347546 -> 1347545 bytes .../mpmissions/epoch.Porto.pbo | Bin 1346860 -> 1346859 bytes .../mpmissions/epoch.ProvingGrounds_PMC.pbo | Bin 1346897 -> 1346896 bytes Server_Install_Pack/mpmissions/epoch.Sara.pbo | Bin 1347131 -> 1347130 bytes .../mpmissions/epoch.SaraLite.pbo | Bin 1347141 -> 1347140 bytes .../mpmissions/epoch.Sara_dbe1.pbo | Bin 1347146 -> 1347145 bytes .../mpmissions/epoch.Shapur_BAF.pbo | Bin 1346873 -> 1346872 bytes .../mpmissions/epoch.Stratis.pbo | Bin 1346721 -> 1346720 bytes .../mpmissions/epoch.Takistan.pbo | Bin 1346831 -> 1346830 bytes .../mpmissions/epoch.Tanoa.pbo | Bin 1347341 -> 1347340 bytes Server_Install_Pack/mpmissions/epoch.VR.pbo | Bin 1346703 -> 1346702 bytes .../mpmissions/epoch.Woodland_ACR.pbo | Bin 1347150 -> 1347149 bytes .../mpmissions/epoch.Zargabad.pbo | Bin 1346799 -> 1346798 bytes Server_Install_Pack/mpmissions/epoch.utes.pbo | Bin 1346854 -> 1346853 bytes .../epoch_config/Configs/CfgEpochClient.hpp | 2 +- .../epoch_config/Configs/CfgEpochClient.json | 4 +- Sources/epoch_config/build.hpp | 2 +- Sources/epoch_server/build.hpp | 2 +- .../epoch_vehicle/EPOCH_load_vehicles.sqf | 39 ++++++++++++++++-- .../EPOCH_server_lockVehicle.sqf | 28 ++++++++----- .../init/server_securityfunctions.sqf | 2 +- Sources/epoch_server_core/build.hpp | 2 +- Sources/epoch_server_settings/build.hpp | 2 +- .../configs/maps/tanoa.h | 4 +- build.txt | 2 +- 38 files changed, 66 insertions(+), 24 deletions(-) diff --git a/Changelogs/0.4.0.0.txt b/Changelogs/0.4.0.0.txt index 080096da..42891ebc 100644 --- a/Changelogs/0.4.0.0.txt +++ b/Changelogs/0.4.0.0.txt @@ -4,6 +4,7 @@ [Changed] Wardrobe mirror now works in single player. [Changed] Jetski and Electric Motorcycle motorcycle in-vehicle HUD now works in singleplayer. [Changed] Updated Tanoa trader city layout and added ATM's. Thanks to @morgoth0 (aka Grahame on EpochMod.com Forum) +[Changed] Players now start with only 30% Hunger and Thirst instead of 100%. [Fixed] Increased mass of "Hotwire Kit" (ItemHotwire) magazine item from 2 to 50 to address balance issues. Thanks to PR from @Ignatz-HeMan [Fixed] Disposal of Snakes and other animals when inside a protection zone. [Fixed] Shark bite attack and effect can now target all players correctly. diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo index ca74cb9bb98e121c803b523ab15de8c37d3f8f2f..ddcd90afcf24d2af63e672ae11511a3055a18dd2 100644 GIT binary patch delta 2414 zcmbVNUrZcD824u31S(uF2jw^_4BKKjJpwc>+CPLwKtUP-p;*0M&biyUV_|Ri*xiF3 z(bUF=8Xp?SM(07LG}t~mv3hF z`}_NT^UdwYfqM(}^Zf#<^)3w7yDxdYXFN|We0%8nV$A1$zruUw#}2EhrolQ`{kMCD zZTEcDRMROied}%i*%Ha;J!7r<9}3jcx?VR@cl5=M_9No)%8K{s|Br8O#4@rXb#)#( zOfHmz@eig07pDWR+;jlk`>?aEEgTNVwIq~NX-zj_602B8CXS|cd4@@(>nLl$NF-8O zkw1fBva$?nnvtUP%Vt`WRnrhdVwCR3@q`>#u(Q=>d&$xU2$0eZ;2~fE)Q}&(0RED= zf($ah4*Yd-O-;y2W*yfus>v1-N}(hs-B&^Lc}Yh6qm<$zL3JdiGf^B@PNgy`9!QLu zNH+)6myv;)&Lm2uus$?P3)tFdgF2cd^-$!(|2EO}=cJWEEGfzM~8HPuejzzUAD z@I<{zks7)K{N&GNQ1_OJ&zTt-g!!Do6aDfG9>hEX-JPO&K6%1$&#SU!FGtZaW+$VH zM$wV*IdZbgRUequbVV}KD2~Mlmzk!@u;i9 zYCqv8@$ZBaz8x?p3q7v=W`$!=FJIf?;u(!Z@rcINCQn)YC6ULNIT~sTJV~JXh>mPBgU?T+2q^bOtG78VpB* za=M=JHFRZaAXT<6oj5o5T=oiQU(l%#i(H-GefBk+hHU`_i2<>G(-ml1({B+?JZ%> zI5%udxY-r*>!*V6lPf|=nG=v#aiF*g$G@Ed47Z0^U3M7qxDp&Z@7Ow$f=0uokQtwV zQy8bA1E0-JXv&HL6S8iYFrzX^w>R5y(TFRmA-bn%iV;S2zhkvklBJ(Ptp)qs zen~d?ZNid$pD1|jKG{{ZY_((iEw?X$6vMuL90MX$0cfo(?b~L`GcUTiJj3mTSYHGC z$zc!J`;6m(J!iS!*Fg8NvH$mM(MLwdvusF8^mVfbxoogeiYZw>ZW9{LD_T;HGmW%@ zvRHpr*D~qN?dgGDwxL70Fur%3#cb4WovQTt%rn+*F6C*S1!9Q46R&3!B^0(kYpgi1 z`5h@4I@4JnLSf#GNXY(Z{c^A&P|!2ADa>9kk&<6z54BY`dmvZi65!Kh<*ZQtii05K zp^jUNhbwF`uuh?9HDn0~p{DLaL)J8MHz?FL^061)fi9c?5!TIGvats03w>kJ3q-5k z!BUl#2)P2?K0j-*T^3E1vAE5?4`i-Ec%H<{gnH8b5VVr+av?xGjY1i@^bm|*TrC%J utK}s(?z=iK&OIv0%{?l8>HF#n|E_+y^3!7bo40#DKXvS{e@b4M%l-!@_T5kb delta 501 zcmcaUQTo__sR4&UU)D zF8mnRW<^mmW@e`o0+XX8VpxP8{STkKOX3SNQ0L^0l7W)uW)>!vO4htwwLtuS_x_~P z%$yWkGb4lPjhswj&4p6!g;I>$3#FK@cTAVQ%49m7X(E&8cAu+E_Kf^#>8=I&$r)j( z8JWpBsm0SLTw{u!F3`cmI-Tn}lgISh>r98I+b?I5nqGdI*=l<24W_*9kvExEvTW~N z%XE&5jS~#ENAF;=<)3b#%*;A{?j$Cz=~a)Jcvwq{N>i=3zdFlgZ#CUMf|+}IJqNSQ z^j;lCslc4X%G4tFqWsbVB^{;sveb;=oct0f(fY^JmX}zpg#r RF#E>e?=7FEP47+Z005_W95cZdnZoovh;1L9Af#2hGTZf0R>tYpp0RSU%L vckfRs&CE%$H8V1p?5G;CIfTX3PlWq4SFOpTlrwh{_a5p!7kK4LrSB>LG<+l8 diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo index 6f734192e848a7841ae1c37de8a8945415de34dd..feb36eed3e02edc873c8b2967d081bd6735117ac 100644 GIT binary patch delta 295 zcmex2OSW^i?1Vsv3~|8-7X}7~q|(fs6upds0w5a!Ch!YJ@B_KY`FUxX>3Yd%(m>4{ zCo-|H)&Z3zZ=S*Ol8G6pV{!|7proa_p`nqIH7{2!5WnBOA8fv@nUQhxJNEW>?2JIn z1jNih%(DF*JL~!0=??dqB!#OLj0_A-^^6R43=PaoE%nTF45m9yW0jen*TW_@y#?Tfs*EC7N%xO*1TM`K>U99ez5trW=00h@7UYlu`>cO z6A&{4G0XOM?5yW|rw3HBNQ+i07#SFv>KPg880Z)pn3-DYnJLsx@1M#lHQmmWg~veG zK+n)zN5MeP#K6*2N5Ndr5Gb#sproXuP_1BUU}UamVgb}@YGi1jXJiV~+UL*0r)#Wd zZUNG1W^7?%24WalBD5MBnwtad0@-S8U}~l}-TF0?Z2N&}tlJMvW81n-B=lHw_Ke9c S#hWudPdRt?e7N`|+5!MK}5DNma(02FR!i%oJzd_ delta 218 zcmew}Kj`oLpb2KoekTMrTKd?rd7Ti5;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFzJ|;)^gyo&3>Dd@{SYBdfWYg_%*auXnqzHzN=;0WmWW zvj8zG5VHX>I}mdKG3Rz)Z>|srM#Je3W^om?3-xdTF*gwN05LBR^KBRE;pgyYGBubk zbDLj-*~rwO-R(9%5DNgYAP@^}ce^dTXp6|(u*LwcH5M(e?&vfsF>eepEYGV407K}5DNma(02FR!u!^W6d#>Goh|UiG_{W!`bF%%a;)}3Io&3>Dd@{SYBdfWYg_%XOuXnqzHzN=;0WmWW zvj8zG5VHX>I}mdKG3Rz)Z>|srM#Je3W^om?3-xdTF*gwN05LBR^KBRE;pgyYGBubk zbDLj-*~rwO-R(9%5DNgYAP@^}ce^dTZ>`9MOk2iFTku9@mVc?x&0IXX~ Awg3PC diff --git a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo index 53674a88266fe03a011e063fa9b6ee76b7670e26..7cf34057668fa3b35e491e8d27cd08658e6f1668 100644 GIT binary patch delta 217 zcmcaNE9ma5pb2KoHR6IBEq(0R%EbjE_!%ZIbe5X_BS~0s^D(<K}5DNma(02FR!pxgQ_PQ?GweiK$B@!mD15Lu_l_#cHRRRE2{z=^c delta 218 zcmcaRE9l;=pb2KoktYN;TKd?rg`E(H;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF%%f;)}3Lo&3>Dd@{SYBdfWYg}HIFuXnqzHzN=;0WmWW zvj8zG5VHX>I}mdKG3Rz)Z>|srM#Je3W^om?3-xdTF*gwN05LBR^KBRE;pgyYGBubk zbDLj-*~rwO-R(9%5DNgYAP@^}ce^djyh$WHo!8qf>GjfEy@}!myN>;Sm>+Tn03S?D A#sB~S diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 3bda914437396e2764844c61cdfe3f0603cf3c82..b9ad944c6fa0cae06d03f5c492c844a19f1e3d0a 100644 GIT binary patch delta 217 zcmdlxGicAupb2Ko&EkR^Eq(0R>cj;j_!%ZIbe5X_BS~0s^D(<W8xBGfC0x=U1GXpUT z5VHa?8xXStF$WNHZuj-(3UOdGo&I1JS3$c_4;K(~12GQ}^8zv7cA*}A4u2*?)9Es| x`8Al#P21gX^8>K}5DNma(02FR!buxNHh65-&C&00InH%uN?YmLfPb~(4*(&6N(=x1 delta 218 zcmdlpGidM3pb2KoaVG>eTKd?rMV}Ce;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF#5i^F^4YPX6d6KAGLyk=5MH!rY?S*Sp=YpfaP&^OXSzyIXzg@)0DJsQ A5C8xG diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo index f72b1ed204746804c6c53867ca9e2754f72b80a3..a6be47c99a3bbac59d6384ff8049451c39dc14e5 100644 GIT binary patch delta 217 zcmZ2FGib@opb2Ko-Qt29Eq(0R+QbDT_!%ZIbe5X_BS~0s^D(<K}5DNma(02FR!d@FiKK$L`IekfXN~;_e*mC delta 218 zcmZ27Gid3|pb2Ko$tMIhTKd?rC7ck5;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFy((^F>&sPX6d6KAGLyk=5MH!os-O*Sp=Yir-=IN@g=<;wC9B03*s`OhSls&r06QK^ A$p8QV diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index 383223dc716814a604eda1fce72ab4d627491528..2beb20bb37ad4c908dd568d5a630d687515f9366 100644 GIT binary patch delta 217 zcmdlrGic|`pb2Kolf(r#TKd?r^@cu7Y-<9xfo}24Wr{<^^KD?Ls~L9R5s(rqg9^ y^J_4fo3^{(<_BT{AQl8-q3!Osh2uAh{G7Z!?yx{@V~@l70)zhjGbY*wp8x<+LrSs$ delta 218 zcmdlvGicY$pb2Ko87BlbTKd?rrJfLo;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF%SQ^F_F&PX6d6KAGLyk=5MH!os52*Sp=Y+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY#aCmBg|4KfAkWc%TYH4n0X4vfO-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3qRN>623(|rT%hm#{K57&i_wm%ZWdFw;TXo=1cVe delta 218 zcmdlrD`@wupb2KoxhDiRTKd?rWt|X+;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFzt4^F^4YPX6d6KAGLyk=5MH!qT|e*Sp=YTKd?r%@!Ao;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY+LySBTP~!fAkWc%TYH4n0X5Q@U-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3)^iJIXGqV-Zytz-aLA9yG#BFkBHU*uL1x@KTF{N delta 218 zcmbO+Gic__pb2KoMJEI{TKd?r<)09U;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFxWR^F^4XPX6d6KAGLyk=5MH!qTGI*Sp=Y+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY&-b{BOFpEfAkWc%TVrgz@-t6Pu?&Hk}#7scU48$xz z%nHP8K+F!r96-#u-N&0N)Pd1-`h!_q1?@sTTtLhX#5_RE3&eceg?jio{Fw|*r_0>t x*I+U?ZFj%T55xjMEC|Fx+ud&qf88V!x>>qCVBdbJ>6Z^~`949r)$_;xr2uYiOkDr~ delta 217 zcmX>W!`bF#@-^F=tMPX6d6KAGLyk;UB1(xBPLyWPi|5r~<9m>Gy! zfS47C*?^cGh&h0mbGwf>SEvJ{;q(WyxC+{Zdbog?8;E&;m=}oowhQ&}bNDlv8cdhD z&9A|1WNOgvcAFoF1%Ox(h=sPh-4_13NrW*+kwan6GfT%eyH{5nVOo5UQC;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uZ2R~HBlJ=yfAkWc%TYH4n0ZrSYX-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3)gQEnXyMCb#K?)=_&Dh7dV*BT6NJNF%bZ`uu9+n delta 218 zcmcaPKj_x{pb2KoH75i%TKd?rRh|%t;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF!&a^F`>TPX6d6KAGLyk=5MH(!iqG*Sp=Y+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY=`*;BMed}fAkWc%TYH4n0VcP8L-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3t!wQa$NVwW=STeRb0y|7kq9E_q*h%?hXKH(n-hw delta 218 zcmZ2ID`?HEpb2KojVA;)TKd?r)twNC;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFyhx^FPX6d6KAGLyk=5MH($Kis*Sp=Y+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY$x~yBfL^4fAkWc%TYH4n0Y1r)R-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3xC@vB9Nt|%(^FXmeK#Zg`F!VXaz)chXDYzHc7z% delta 218 zcmcaGE9l~^pb2KottSLFTKd?rHJuQM;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF%4G^F?^2PX6d6KAGLyk=5MH($Kuw*Sp=YZ^iim6}VR8czt86h0RGynWUW00X*C AZU6uP diff --git a/Server_Install_Pack/mpmissions/epoch.Sara.pbo b/Server_Install_Pack/mpmissions/epoch.Sara.pbo index 3864a9a436c93e78d30b6da8f8003d2f380c3f93..b219eb128e00f80ef6ab58697346c541012a1772 100644 GIT binary patch delta 217 zcmdlzCurB4pb2Kod&LDeTKd?r?GzV`;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY-jidBlJ=yfAkWc%TYH4n0Y2NJX-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3qRN-^84I^oTh>ki_g8$P_Jd1dOzgp?AHLm{!KUl delta 218 zcmdlrCusMapb2KoT_*%KTKd?rwVx1(;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFvv%^F`>TPX6d6KAGLyk=5MH(#WXU*Sp=Y)C+NtWpb2Kohs6aqTKd?r?H3n};Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY!~?jBg|4KfAkWc%TYH4m{VBGBM-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3%}YVvd6gJY9+_sRnkp=+6E=raF delta 218 zcmX>yC+O&$pb2Ko{U-!ATKd?r^_&oh;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bF!IN^F^4YPX6d6KAGLyk=5MH(#X8o*Sp=Y#C+Osypb2KoC&dLfTKd?r9TgXh;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY}fb&BP>!UfAkWc%TYH4m{VA<^J-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3%}na;w?Y@k9+&$$m0gHT&5*CGK#<5R}KK#;!5cN delta 218 zcmX>(C+O6ipb2KoQ%(qMwDhrKn|MMXf}dgXLT9Pz-;;zDHy^W$W@2SHA`qcG`JspO zBp06P``++#P8N3&+??*%%*kd`%@<*jI{BlQ_+)l(M^jhp5XgV4%a013ZL Af&c&j diff --git a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo index 5ac05fd9adb11f1f93fc116a0a514e430fdd26ab..24cac40e1683b8be4951bb74a527cf0649c12d5e 100644 GIT binary patch delta 217 zcmdlvD`>~8pb2Ko=fnj!TKd?roe~#};Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY`6FYBdk&TYH4m{XwvNK-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3*Xx)a_NTqwj<9SOGR$7KCE=+S-LYTTND7)cuQFT delta 218 zcmdlnD`@Aepb2KoGfxO?wDhrKn|4AVf}dgXLT9Pz-;;zDHy^W$W@2SHA`qcG`JspO zBp06P``++#P8N3&+??*%%*p0h%@<*nI{BlQ_+)l(M^(^b diff --git a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo index cd6fef05766a7d21d9c0cf010ab720c5be47bdf8..400af611a7161ebc0d8bff86b986f641662e7e7e 100644 GIT binary patch delta 217 zcmZ2DGibrgpb2KoSHuN3TKd?rT@)9L;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uZ1?#EBTP~!fAkWc%TYH4m{WYFyE-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3%hL;dAW(@fL(mS8qsw1iFcnVMlPEuwiW=DP)aZW delta 218 zcmZ25Gic$=pb2Ko^G*nCwDhrKn|(qcf}dgXLT9Pz-;;zDHy^W$W@2SHA`qcG`JspO zBp06P``++#P8N3&+??*%%*p0f%@<*kI{BlQ_+)l(M^V!Z diff --git a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo index 5d5a5e736b7427fb6a12eefc8e97c03cdce1691d..f464b679427971ad39bfe4970c9e5c91b299334a 100644 GIT binary patch delta 216 zcmeC571TE?Xo4B@Epfq(mOgfD*Tn@R_!%ZIbe5X_BS~0s^D(<W!`bFz6=^F^4YPX6d6KAGLyk;UB1(xlnPyWPi|5r~<9m>Gy! zfS47C*?^cGh&h0mbGwf>SEvJ{;q(WyxC+{Zdbog?8;E&;m=}oowhQ&}bNDlv8cdhD z&9A|1WNOgvcAFoF1%Ox(h=sPh-4@=mQKXIo+|DlkF~0${=;}M=$Zo?B0&7mgdF=Ce6Oy?Y`cOK+FWh%s|Wn z#H>Kf2E^<@%mKul+kL&cLL3;)razd)RnRWf!v)0LK+FTgygW!`bF%qY^FPX6d6KAGLyk=5MH($uKg*Sp=YK}5DNma(02FR!X_IBXo4B@#uEY?Eq(0R)}0WD;Afb;&{=Bw_atG(&ByGbnOGT)2t+7Pe&``R z$%SY7zBl}wlf_*GH>W!`bFxKN^F?T-PX6d6KAGLyk=5MH(#){g*Sp=Yc^+~4yuQhC0M(~W A2><{9 diff --git a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo index 05960c60923d7fea93f7956ada2942dd1e46d1ab..f37392dcd6610d73acd0d99f59290d61f10f5b14 100644 GIT binary patch delta 217 zcmX>%C+O^)pb2KoAH@YXTKd?ry%iUX;Afb;&{=Bwk0fEm&ByGbnOJ>+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY(Mw~BkWQqfAkWc%TYH4m{V%hBL-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; x=GR~{H*I&n%@4!^Kr9HvLfhSM3xD1ua#*#kIUz_sz}X<~kbnQCjn!3p%m6M5N-h8Z delta 218 zcmX>*C+OUqpb2Ko+fE2+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY=8I#Bg|4KfAkWc%TYH4m{YTE4U-R|qn2*gZ4%nZaV zK+FonY(UHo#2i4(x!u>BE5w1(bozr?Tm|hyJzPM{4a7V^%nQVP+l6}gIsBOnO{dG; y=GR~{H*I&n%@4!^Kr9HvLfhSM3s2c7@^zM8CV!df{)ap-J8WXY)u)_SR{#KNCQ85n delta 218 zcmaDiGwA)ypb2KoyH5ygwDhrK+i^l5f}dgXLT9Pz-;;zDHy^W$W@2SHA`qcG`JspO zBp06P``++#P8N3&+??*%%*mEq%@<*oI{BlQ_+)l(M^+f=ZJgdPq-l z;hDbw4L|2(aTmeO>5k2uY;XAmBlJ=yfAkWc%TVrgz<-0b7s?&Hk}#7scU48$xz z%nHP8K+F!r96-#u-N&0N)Pd1-`h!_q1?@sTTtLhX#5_RE3&eceg?jio{Fw|*r_0>t x*I+U?ZFj%T55xjMEC|Fx+ud&qpWY~P%;=OT^OJ-$huv}(e$H1W-1;j15&(x)O2z;H delta 217 zcmZ2FD`?rQpb2KoYflJlwDhrKTXjMpf}dgXLT9Pz-;;zDHy^W$W@2SHA`qcG`JspO zBp06P``++#P8N3&+??*%%*hr~%@?7UI{BlQ_+)l(M;3E4OVef_?{*(=Mj&PaVrC#_ z0b*7lW&>h&Am#vK&h0+lT%it(hSML+;woqt>fr)nZXo6XVqPHT+b-0@&*9HxYA{{q zHope5k*Ptu+iiXz764*FAQsy0c3b%LMv-OzewF^LD=?h@eEW-ozY-bln;I1X0NR*N Am;e9( diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index 1616ca46..8954888d 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -40,7 +40,7 @@ class CfgEpochClient niteLight[] = {1,1.88,22}; ryanZombiesEnabled = True; antagonistSpawnIndex[] = {{"Epoch_Cloak_F",1},{"GreatWhite_F",2},{"Epoch_Sapper_F",2},{"Epoch_SapperB_F",1},{"I_UAV_01_F",2},{"PHANTOM",1},{"B_Heli_Transport_01_F",1},{"EPOCH_RyanZombie_1",12}}; - customVarsDefaults[] = {{"Temp",98.6,{106.7,95,102,105,96,95}},{"Hunger",5000,{5000,0,5001,5001,1250,0}},{"Thirst",2500,{2500,0,2501,2501,625,0}},{"AliveTime",0,{-2,0}},{"Energy",0,{2500,0}},{"Wet",0,{100,0,35,55,-1,-1}},{"Soiled",0,{100,0,35,55,-1,-1}},{"Immunity",0,{100,0}},{"Toxicity",0,{100,0,35,55,-1,-1}},{"Stamina",100,{"EPOCH_playerStaminaMax",0}},{"Crypto",0,{250000,0}},{"HitPoints",{0,0,0,0},{1,0,0.5,1,-1,-1}},{"BloodP",100,{190,0,120,140,70,50}},{"SpawnArray",{},{}},{"Karma",0,{50000,-50000}},{"Alcohol",0,{100,0,35,55,-1,-1}},{"Radiation",0,{100,0,35,55,-1,-1}},{"Nuisance",0,{100,0}},{"MissionArray",{},{}}}; + customVarsDefaults[] = {{"Temp",98.6,{106.7,95,102,105,96,95}},{"Hunger",1500,{5000,0,5001,5001,1250,0}},{"Thirst",750,{2500,0,2501,2501,625,0}},{"AliveTime",0,{-2,0}},{"Energy",0,{2500,0}},{"Wet",0,{100,0,35,55,-1,-1}},{"Soiled",0,{100,0,35,55,-1,-1}},{"Immunity",0,{100,0}},{"Toxicity",0,{100,0,35,55,-1,-1}},{"Stamina",100,{"EPOCH_playerStaminaMax",0}},{"Crypto",0,{250000,0}},{"HitPoints",{0,0,0,0},{1,0,0.5,1,-1,-1}},{"BloodP",100,{190,0,120,140,70,50}},{"SpawnArray",{},{}},{"Karma",0,{50000,-50000}},{"Alcohol",0,{100,0,35,55,-1,-1}},{"Radiation",0,{100,0,35,55,-1,-1}},{"Nuisance",0,{100,0}},{"MissionArray",{},{}}}; hudConfigs[] = {{{"BloodP","","",{"getPlayerDamage",">=",0.7}},"topRight","x\addons\a3_epoch_code\Data\UI\bleeding_ca.paa",{"forceUpdate"}},{{"Oxygen","getPlayerOxygenRemaining","",{},{1,0,2,2,1,0.55}},"topRight","x\addons\a3_epoch_code\Data\UI\oxygen_ca.paa"},{"Hunger","topRight","x\addons\a3_epoch_code\Data\UI\hunger_ca.paa",{"forceBloodRise"}},{"Thirst","topRight","x\addons\a3_epoch_code\Data\UI\thirst_ca.paa",{"forceBloodRise"}},{"Temp","topRight",{"x\addons\a3_epoch_code\Data\UI\hot_ca.paa","x\addons\a3_epoch_code\Data\UI\cold_ca.paa"},{"forceFatigue"}},{"Toxicity","topRight","x\addons\a3_epoch_code\Data\UI\hazzard_ca.paa"},{"Wet","topRight","x\addons\a3_epoch_code\Data\UI\wet_ca.paa"},{"Alcohol","topRight","x\addons\a3_epoch_code\Data\UI\drunk_ca.paa"},{"Soiled","topRight","x\addons\a3_epoch_code\Data\UI\soiled_ca.paa"},{"Radiation","topRight","x\addons\a3_epoch_code\Data\UI\rads_ca.paa"},{{"HitPoints","getPlayerHitPointDamage","HitLegs"},"topRight","x\addons\a3_epoch_code\Data\UI\broken_ca.paa"}}; group_upgrade_lvl[] = {4,"1000",6,"1500",8,"2000",10,"2500",12,"3000",14,"3500",16,"4000",32,"8000",64,"16000"}; displayAddEventHandler[] = {"keyDown","keyUp"}; diff --git a/Sources/epoch_config/Configs/CfgEpochClient.json b/Sources/epoch_config/Configs/CfgEpochClient.json index 64093bd5..75b515d7 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.json +++ b/Sources/epoch_config/Configs/CfgEpochClient.json @@ -94,7 +94,7 @@ ], [ "Hunger", - 5000, + 1500, [ 5000, 0, @@ -106,7 +106,7 @@ ], [ "Thirst", - 2500, + 750, [ 2500, 0, diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp index 09d963d4..796a75e6 100644 --- a/Sources/epoch_config/build.hpp +++ b/Sources/epoch_config/build.hpp @@ -1 +1 @@ -build=621; +build=626; diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp index 09d963d4..113af523 100644 --- a/Sources/epoch_server/build.hpp +++ b/Sources/epoch_server/build.hpp @@ -1 +1 @@ -build=621; +build=625; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf index 046821de..a9b3d94a 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf @@ -12,7 +12,9 @@ Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf */ -private ["_removeweapons","_removemagazinesturret","_availableColorsConfig","_location","_class","_dmg","_actualHitpoints","_hitpoints","_textures","_color","_colors","_textureSelectionIndex","_selections","_count","_objTypes","_objQty","_wMags","_wMagsArray","_attachments","_magazineSizeMax","_magazineName","_magazineSize","_qty","_objType","_marker","_found","_vehicle","_allHitpoints","_cfgEpochVehicles","_worldspace","_damage","_arr","_arrNum","_vehicleSlotIndex","_vehHiveKey","_response","_diag","_dataFormat","_dataFormatCount","_allVehicles","_serverSettingsConfig"]; +//[[[cog import generate_private_arrays ]]] +private ["_actualHitpoints","_allHitpoints","_allVehicles","_allowDamage","_arr","_arrNum","_attachments","_availableColorsConfig","_cfgEpochVehicles","_class","_color","_colors","_config","_count","_damage","_dataFormat","_dataFormatCount","_diag","_dmg","_found","_hitpoints","_immuneIfStartInBase","_jammerOwner","_jammerRange","_jammers","_location","_lockedOwner","_magazineName","_magazineSize","_magazineSizeMax","_mags","_marker","_nearestJammer","_objQty","_objType","_objTypes","_qty","_removemagazinesturret","_removeweapons","_response","_selections","_serverSettingsConfig","_simulationHandler","_textureSelectionIndex","_textures","_vehHiveKey","_vehLockHiveKey","_vehicle","_vehicleDamages","_vehicleSlotIndex","_wMags","_wMagsArray","_worldspace"]; +//[[[end]]] params [["_maxVehicleLimit",0]]; _diag = diag_tickTime; @@ -22,7 +24,11 @@ EPOCH_VehicleSlots = []; _allVehicles = []; _vehicleDamages = []; +_config = 'CfgEpochClient' call EPOCH_returnConfig; +_jammerRange = getNumber(_config >> "buildingJammerRange"); + _serverSettingsConfig = configFile >> "CfgEpochServer"; +_immuneIfStartInBase = [_serverSettingsConfig, "immuneIfStartInBase", true] call EPOCH_fnc_returnConfigEntry; _simulationHandler = [_serverSettingsConfig, "simulationHandlerOld", false] call EPOCH_fnc_returnConfigEntry; _removeweapons = [_serverSettingsConfig, "removevehweapons", []] call EPOCH_fnc_returnConfigEntry; _removemagazinesturret = [_serverSettingsConfig, "removevehmagazinesturret", []] call EPOCH_fnc_returnConfigEntry; @@ -111,7 +117,7 @@ for "_i" from 1 to _maxVehicleLimit do { clearMagazineCargoGlobal _vehicle; clearBackpackCargoGlobal _vehicle; clearItemCargoGlobal _vehicle; - + if !(_removeweapons isequalto []) then { { _vehicle removeWeaponGlobal _x; @@ -220,7 +226,34 @@ for "_i" from 1 to _maxVehicleLimit do { } forEach _actualHitpoints; }; }; - _vehicle allowDamage true; + + // allow damage + _allowDamage = true; + if (_immuneIfStartInBase) then { + _jammers = nearestObjects[_vehicle, ["PlotPole_EPOCH"], _jammerRange]; + if!(_jammers isEqualTo [])then { + // get jammer owner + _nearestJammer = _jammers select 0; + _jammerOwner = _nearestJammer getVariable["BUILD_OWNER", "-2"]; + // get vehicle lock owner + _lockedOwner = "-1"; + _vehLockHiveKey = format["%1:%2", (call EPOCH_fn_InstanceID), str(_i)]; + (["VehicleLock", _vehLockHiveKey] call EPOCH_fnc_server_hiveGETRANGE) params [["_status", 0 ],["_payload", [] ]]; + if (_status isEqualTo 1) then { + _lockedOwner = _payload param [0,"-1"]; + }; + // if match keep vehicle immune till first unlock + if (_jammerOwner isEqualTo _lockedOwner) then { + _vehicle setVariable ["EPOCH_disallowedDamage", true]; + _allowDamage = false; + }; + }; + }; + + if (_allowDamage) then { + _vehicle allowDamage true; + }; + // vehicle simulation handler if (_simulationHandler) then{ _vehicle enableSimulationGlobal false; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf index 77671b50..bcfeeebf 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf @@ -12,8 +12,15 @@ Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf */ -private ["_lockOwner","_lockedOwner","_response","_playerUID","_playerGroup","_vehSlot","_vehLockHiveKey","_isLocked","_driver","_crew","_logic"]; -params ["_vehicle","_value","_player",["_token","",[""]]]; +//[[[cog import generate_private_arrays ]]] +private ["_crew","_driver","_isLocked","_lockOwner","_lockedOwner","_logic","_playerGroup","_playerUID","_response","_vehLockHiveKey","_vehSlot"]; +//[[[end]]] +params [ + ["_vehicle",objNull,[objNull]], + ["_value",true,[true]], + ["_player",objNull,[objNull]], + ["_token","",[""]] +]; if (isNull _vehicle) exitWith {}; if !([_player,_token] call EPOCH_server_getPToken) exitWith {}; @@ -69,17 +76,18 @@ if (_logic) then { if (_value) then { ["VehicleLock", _vehLockHiveKey, EPOCH_vehicleLockTime, [_lockOwner]] call EPOCH_fnc_server_hiveSETEX; - }; + } else { + // re-allow damage (server-side) on first unlock + if (_vehicle getVariable ["EPOCH_disallowedDamage", false]) then { + _vehicle allowDamage true; + _vehicle setVariable ["EPOCH_disallowedDamage", nil]; + }; + }; + // lock/unlock if (local _vehicle) then { _vehicle lock _value; } else { - if (_value) then { - // send to player - [_vehicle, true] remoteExec ['EPOCH_client_lockVehicle',_vehicle]; - } else { - // send to player - [_vehicle, false] remoteExec ['EPOCH_client_lockVehicle',_vehicle]; - }; + [_vehicle, _value] remoteExec ['EPOCH_client_lockVehicle',_vehicle]; }; }; diff --git a/Sources/epoch_server/init/server_securityfunctions.sqf b/Sources/epoch_server/init/server_securityfunctions.sqf index c8c5142e..29ec78b9 100644 --- a/Sources/epoch_server/init/server_securityfunctions.sqf +++ b/Sources/epoch_server/init/server_securityfunctions.sqf @@ -870,7 +870,7 @@ _skn_code_antihack = compileFinal (" _distance = _lastPos distance _curPos; if ((_curTime-_lastTime)>1 || _distance>10) then { - if (((_distance/(_curTime-_lastTime)) > 10) && _notNearbySpawn && (player == vehicle player)) then { + if (((_distance/(_curTime-_lastTime)) > 16) && _notNearbySpawn && (player == vehicle player)) then { if (isNil '"+_skn_antiTeleportPVC+"') then { [format['[TEST] TP from %1 to %2, %3 meters, now at %4', _lastPos, _curPos, round _distance, getPosATL player],1] call "+_sknBanANDSleep+"; vehicle player setPosATL _lastPos; diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp index 09d963d4..113af523 100644 --- a/Sources/epoch_server_core/build.hpp +++ b/Sources/epoch_server_core/build.hpp @@ -1 +1 @@ -build=621; +build=625; diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp index 09d963d4..113af523 100644 --- a/Sources/epoch_server_settings/build.hpp +++ b/Sources/epoch_server_settings/build.hpp @@ -1 +1 @@ -build=621; +build=625; diff --git a/Sources/epoch_server_settings/configs/maps/tanoa.h b/Sources/epoch_server_settings/configs/maps/tanoa.h index d41fe172..6fba9427 100644 --- a/Sources/epoch_server_settings/configs/maps/tanoa.h +++ b/Sources/epoch_server_settings/configs/maps/tanoa.h @@ -215,9 +215,9 @@ class Tanoa : Default // W [-14.4316,0.112793,-10.3098] // template city { "Transport_C_EPOCH", { -0.286865,8.17383,-10.3098 }, "", "north" }, - { "Transport_E_EPOCH", { 13.5127,0.410156,-10.3098 }, "", { 2015.21,10659.6,0 } }, + { "Transport_W_EPOCH", { -14.4316,0.112793,-10.3098 }, "", { 2015.21,10659.6,0 } }, { "Transport_C_EPOCH", { -0.286865,8.17383,-10.3098 }, "", { 5027.48,5210.25,0 } }, - { "Transport_W_EPOCH", { -14.4316,0.112793,-10.3098 }, "", { 11779.6,13056.5,0 } } + { "Transport_E_EPOCH", { 13.5127,0.410156,-10.3098 }, "", { 11779.6,13056.5,0 } } }; propsPos[] = { // Western Trader Camp diff --git a/build.txt b/build.txt index e05b72d5..51f27d80 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -621 +626