From 619aa130d517aceac48b907f504cee106765d284 Mon Sep 17 00:00:00 2001 From: Talon Date: Wed, 21 Apr 2021 18:39:33 +0200 Subject: [PATCH] Spawn more debris --- .vs/EvilSatellites/v16/.suo | Bin 107008 -> 107008 bytes EvilSatellites/Objects/Debris.cs | 2 +- EvilSatellites/Objects/Satellite.cs | 8 ++++++-- EvilSatellites/Radar.cs | 3 ++- EvilSatellites/Screens/GameScreen.cs | 14 ++++++++++++-- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.vs/EvilSatellites/v16/.suo b/.vs/EvilSatellites/v16/.suo index 9634a6a2aec257602d492e448802725bac02d01e..80e1eab9d111896e7b4997d3babfba9afb598d72 100644 GIT binary patch delta 4745 zcmd6q3vg3a8pre9rXeY%_7#YQmKFmPtR*Q>%cGb+cnkx5A{4eD6kSC?C`}7=T?jr{ z*(s&Tw{T@p9%*G9?JD#lMT8P0thFGt3hO%Rxb8A825-`V|0;y@Y@zpod_0As*Jj@I{^ zk_9Up4itj9U>J4!#V3YtWCsupX5}Gm)|}Y)#cB!*R`u_fX`u~ zJ@*8k4-BSS?$8ZoZDg=IjIim1AVX+4j0g}3M4%K)P%Sxv2i%L7!L7wARSFQr#q9>0 z6hvHh|C+#?7*q4rekXp(gKl!i&@3H^y~g@(AZf8UK1(eMoI5QEQZM35@p;0e8(cap zo86KrcsXWk#BG_yh07PgO`g*R?8%7D4F9A!zGhi7IPQ~bj@`c*P zwV)RE=YYS^8=X;-BPpKa3!XKLDSu1Cw6Mj?Y7f{8P5}k%1Mh%C_T2v5T9CkJ3I_1_ z*>3xCwPQ|(_+f0D=II^NeV5a1jz5HQXv|1HCYjk9lOrOhw8sRKBR=DQ2)f1_bmf|P z1!=#)UakYSj$Fl4^ud}gT&RdU^<{x;VWsivzSrq-F721C4aIdIAYvU@1Y;&&4V$VX zQ71y%9^F{ObF}_fre~lX1EOL?^?5xaD(cGJq!l3&h&MAC`klDN>o5 zus^_2G{viiq8zPw+w~V7SfR8RAprLv8I5>%BKVynCCO=$>Qao7Vl)~_EnWkj4cV@# zdDY;Toa2KWhmPq;yf(xO-20S6cuI1H&hwU??q6X|KFt}Y4?Bi4xh5|eT)xmHm|qEA8Hjo z(ellXgKtbUEPlt7K6KLhn(dt}pVz^^_vAtDpk8P6$KkX5J$rIm-XixN*kckk)hAk7 zmmh&0e&Ly?-h2I{dBSJ+ut9%6ow9-#UmnJ_myO(h*%);8zz>zx8AU_(@8hvo%K6-- zaOLAGi6l!SC`yUS`G%a=BJ$GRAhcKGJ32+j81pIgFv@ba3d_i(} z%j{>$t?u`dnn%4@qwHQkha52(J?hT+l2n(pDKr6mZ7T}S$H9DJ*g`2s3or#UZW3}S5B+eWjeOrfDkkcqR4@r)(jY{MDDR)tO zEZ#Pwv2fb0#jzE{SFVM4HGXMh{N&o`%Nzdm+3h;rdHBmQjy^flgdV$VGe~JORXd+= zZiKG8Yh0O-S^UYVX3uq%qT_ANqj>I{UcbUK zqj-b!6VE!!Yau-BZ4>-X@TP4I{Hk2Zi957h^g$9ARv+WVJ6!NPsk|ybCMnZj$(MLw zjnj8mEie0Qv@&z|4h@!8a`syj=(dfiV^x_=o}K!hqO=_dBp!joK_(xqY2vCg--ii3 zdfO0}IDI~%w6t`P^5T)RB)i9u_g8$VTvOD|EyU{PEy|Uqaa50~S_%_qH*bq{i5orY zXm()xsoZ(8t?wTH9D4Bq79X$7zhOU{m7)(u5Fh`lQVFS-C`=Tqx3wOz!iZBgojpv{ z;Mw}s9Z4MJ{*DJ9sN_T6=#-`3rV@#}Y~;81YPo4^5`S>;rgCiGVN&Aue%*a;(bKy)jho+ofh=_b7# zuk^O}klxTc7d(mc&r&S!KJJqs&u}E%MS9ide@Q`Ux8!$MwRBfmcV!COrvvh;0^#JP z-;NeqRhG!J0-&$2B`DdeR=<*kQtzfYv6-Kgb}L1ge&HIL*`rY3&s!k46y(`M5V zdBrSB;n1uY**2Thyls(@Cu~kmw>nPrPAdjAZKTYBVu0gVGExoK5o_U?L1*gS-X?W}X_;iXR zKR#&TvZZ4elq^jwGjr0jS%DI!BzgNz8mGACTd3~hMHG%)Jc~+YR~`*uQ%59U{IOPc zub?t{{9Fo^wK&0eUDnC-63NJ!9WTp+Mo ze6l+7{;z*iw0v$Z^{qF|r1K=dkVl2`_!0_XO?njm$I@_G$F_U>t@RZf$g197K^l$h z*nn8ztZkI5R?;eYjg<`ICS~%pGD?(9rL>z~@C2#8wTw(e<>F!tGH$^$W0@|lmK#k^%d(5h8!RZuLtY}$1r_muE&|p73K*YA5Qu_AocKU|L}fKXEN&3? z8g4r}YS9oAQzQJs8ec$*EmZ`xNt#v@i>YH~>H`x@C06J;|6+_8M4d^e)0y6xZ|}M1 zzQ23U`Og{}Rfa}Ysm@0fdW(Y~Xi!ujx_f$hNK5kYs^t3sUd%`IvP)0Sne%S=pJ6@f z^)YO{7{_81IRIg4;E(z%E7aLh7t{-5`wZF zVi3XyLDM`CE(n^WL)ai}5$*^&mKJL(gckx&EO;Uu*$TDuGJBM0)d5($^~%%^LU|Zs z1R}6k?}T*$VickkF%&TtLE}eb9gcW_@<^;B5aSTu2!XMEWdo;E`_NbrOQzK;d@U2#<9Sev* zC4%^)F~m_A;>Y~anW#MEk7VMH>hV}VvWl=q_-nuWO=TMEP8wxS&y5* zzH@Hre;je)#<~LIShOOPM$dVad(g$+|ofyM@_>X`N$ir zLX@)bft4E#QGf8T=d!z>DIm{k8@8vgbpiKbAzK}osHWE-Tc>rkFQYIALB(X(sHWqP z!ONR=+8Mh#uvsWe(6j6qGpLv3EE5llhR@&ap6>B-gw#XpgUify84U^J~S( z4Uk!o+0qX161(d-LnFJQcdt&ojCXLFp`;kZy7eLAC4qhGG*d}tEzeoWRy!xEgR$w_ zt5PjR;Q+Aj3ggsMP@L4Om-32?z)jf@&Nmc;ixd}9tEdPUtNn68O^+ZyM4tazr+?vu z2MB94k{+xDkh({SqG?*R2BNV!9bqAETC3&dU$hXIhaD=ZYwU25`56x=Da2TqGisq? zqRq4H#JXc+t$@NE-ImoSDB0TLa~iNl4TT@ezCTaY0G_yqf)Hsm3KS^r2`tLp`MC{k z2wseqqg5;$3`vx2pmPXrMA2>d_dQ-lK65^d;I|6Fh2NSFYJN5y262ZX7^Ije0Nczs^LR=+WNF9~2vb>T z`*{A@9!O&ipL#(#i;5^90z>};1lDFkJut^_JlMVyuG}pH92jJshn1`~D_7KoFnxAC zTi)!%(}O`H4bHC=K_}I%je?4NWyK~@rjds)g1A2Ds@@W#=rbI#&O)8!x9u{p%vWQi znB5x&Ks;-Bcenxs52mm55YG#&>fm9J8?2{mHj6sw%na|(VGi#FS0B0|I!_QLBTuj6 z=O#jk5n?e}h~hpaFqa$VgOcsa@#C9PU<&_R7O1$xLKs4NKi-rE5jInjF&n|j-U7RD zxP&ErXvZB?po254;o4ig-UigH`$#CeQB%U}M#FgXE;Xcy{Gbw=*@&9c<}Mp(7r8zF z)Nk*DF?@&u>Tzrn8(DP@QEvW?9jJj_sVm{rO3W?3 zAOf?!YBN9(X5*#SB4Qp}L>k&;1y=M;6!>9(Fwv#dOm`xT`L{n{jV%)^ibdAYmcsTO z4rRAKzQ*qbgDbAkES)&70XQwQa%wQRnT+z6K*}>3fmMAph~FLzH>JYsXTV(T4`%@W zKtox_i3#Sd5s#56SD&DKL9YhGHkWs!XEfeI*ji$jL5XpP$n6&*Q;?=f}g+@`a%1H|B%Q zQ-hhU8j}OcgEW|TZbJJX)qhw!=(c*o$%uP%e#Ik0?LQj5YF2(ue5tC|F6ZUiEchCr zlCO9jR&%=?{3`uD2l9Ex613>)@7ZC%r*Led{>@yw6b4eiUv)wPXqKNS3y+$a(|Cl{ zOrOl=F|DR<%bAwB9;;@Vnd{C#pI?7<{g}bLc}>Gn-4sv$;O_DFW8Ie4=%y%E+)Owg zJngODGS?Y_zFuviMTVf09W?5bW4BB8M`s4qq8vE2=)j)t3zw>ov#B%IYsQUG?LT*+ zV|g8GPjHnk?!4vne?NShA9D1=E8LI^vv}&O__2)1fqmR}DIDO7eu2?q}TLgY+y!79rl#F)`pOgzjFpQC*v)WWQ zZd?X=`&(~{l?DvMWtYRvnix0>l|>**t#?9|W@Q|_W8Ih2^4JA1fxO~Ta?yuB{x^Ji z8>mFSuNX?XsQ{fA^GiSe@pklXd~~_#!jEr7r_FrTokOO`fxI*wbWcbpxFG|6=@Vbx zr8W4CYFoDb;@4r*QWN#BHHRA1r9<~^xtw;pc%zq4mh5a!$i$@Q``lpO9*7>hR&;w7;h9%D&{3;*!qkR7DA_(Z$)Xc^L$Wzu9flB$4zRqcG zOo!1=;LehYF~gW}KJiU_+|RPX<$vHkc7p*N!g_OCN@wNwY75cvD=FY9|9`|pbAp@! L(kt`uy>Ry5N-jvg diff --git a/EvilSatellites/Objects/Debris.cs b/EvilSatellites/Objects/Debris.cs index 2b227e2..5b4deb3 100644 --- a/EvilSatellites/Objects/Debris.cs +++ b/EvilSatellites/Objects/Debris.cs @@ -56,7 +56,7 @@ namespace EvilSatellites.Objects var player = (Player)obj; if (player.Vacuuming) { - player.CurrentWeapon.Reload(rnd.Next(player.CurrentWeapon.MaxAmmo)); + player.CurrentWeapon.Reload(rnd.Next(player.CurrentWeapon.MaxAmmo/4)); Destroy(); return; } diff --git a/EvilSatellites/Objects/Satellite.cs b/EvilSatellites/Objects/Satellite.cs index 1c77cf0..96df7da 100644 --- a/EvilSatellites/Objects/Satellite.cs +++ b/EvilSatellites/Objects/Satellite.cs @@ -88,8 +88,12 @@ namespace EvilSatellites.Objects public void SpawnDebris() { - var screen = (GameScreen)Screen; - screen.AddObject(new Debris(screen, Position)); + var amount = rnd.Next(3) + 1; + for (var i = 0; i < amount; i++) + { + var screen = (GameScreen)Screen; + screen.AddObject(new Debris(screen, Position)); + } } } } diff --git a/EvilSatellites/Radar.cs b/EvilSatellites/Radar.cs index 8f87568..31332bb 100644 --- a/EvilSatellites/Radar.cs +++ b/EvilSatellites/Radar.cs @@ -22,6 +22,7 @@ namespace EvilSatellites public Vector3 RadarPosition; public bool IsPlaying; public Vector3 RadarTarget; + public Matrix RadarOrientation; public Radar(IGameObject owner, IScreen screen) { Owner = owner; @@ -113,7 +114,7 @@ namespace EvilSatellites RadarTarget = radarTarget; RadarPosition = new Vector3(Owner.Position.X+Owner.Dimensions.X/2, Owner.Position.Y+Owner.Dimensions.Y/2, Owner.Position.Z+Owner.Dimensions.Z/2); RadarDirection = new Vector3(radarTarget.X*0.5f, radarTarget.Y*0.5f, radarTarget.Z*0.5f); - + RadarOrientation = Matrix.Invert(Matrix.CreateTranslation(Target.Position) * Matrix.CreateLookAt(Target.Position, Owner.Position, Owner.Rotation.Up)); RadarNoise.Reset(); // RadarNoise.Play(); IsPlaying = true; diff --git a/EvilSatellites/Screens/GameScreen.cs b/EvilSatellites/Screens/GameScreen.cs index a392c93..11d2ba7 100644 --- a/EvilSatellites/Screens/GameScreen.cs +++ b/EvilSatellites/Screens/GameScreen.cs @@ -183,7 +183,7 @@ namespace EvilSatellites.Screens if (Input.IsJustPressed(Keys.H)) { _player.PlayTap(); - Tolk.Output(_player.Health.ToString() + " health", true); + Tolk.Output(Math.Round(_player.Health).ToString() + " health", true); } if (Input.IsJustPressed(Keys.X)) { @@ -193,7 +193,17 @@ namespace EvilSatellites.Screens if (Input.IsJustPressed(Keys.Y)) { _player.PlayTap(); - if (ObjectRadar.Target != null) Tolk.Output(Vector3.Distance(_player.Position, ObjectRadar.Target.Position).ToString() + " units", true); + if (ObjectRadar.Target != null) + { + Tolk.Output(Math.Round(Vector3.Distance(_player.Position, ObjectRadar.Target.Position)).ToString() + " units", true); + var radarYaw = (float)System.Math.Atan2(ObjectRadar.RadarOrientation.M13, ObjectRadar.RadarOrientation.M33); + var radarPitch = (float)System.Math.Asin(-ObjectRadar.RadarOrientation.M23); + var playerYaw = (float)System.Math.Atan2(_player.Rotation.M13, _player.Rotation.M33); + var playerPitch = (float)System.Math.Asin(-_player.Rotation.M23); + var totalYaw = MathHelper.ToDegrees(MathHelper.WrapAngle(radarYaw - playerYaw + MathHelper.Pi)); + var totalPitch = MathHelper.ToDegrees(MathHelper.WrapAngle(radarPitch - playerPitch)); + Tolk.Output(Math.Round(totalYaw).ToString() + " horizontal, " + Math.Round(totalPitch).ToString() + " vertical"); + } } if (Input.IsJustPressed(Keys.O)) {