From 4cd243d09c7f6d05712a8e9d6503676d8e691904 Mon Sep 17 00:00:00 2001
From: Rozan Fadhil Al Hafidz <rozanfadhilalahfidz@gmail.com>
Date: Sun, 16 Apr 2023 15:11:14 +0700
Subject: [PATCH] fix: attacker pet death null pointer exception

---
 Assets/Scripts/Pet/PetAttack.cs |  21 ++++++++++++++-------
 Assets/Scripts/Pet/PetHealth.cs |   7 +++++--
 Assets/customsave.cssav         | Bin 944 -> 944 bytes
 Assets/highestScore.json        |   2 +-
 4 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/Assets/Scripts/Pet/PetAttack.cs b/Assets/Scripts/Pet/PetAttack.cs
index 35a7a1d8..bed56774 100644
--- a/Assets/Scripts/Pet/PetAttack.cs
+++ b/Assets/Scripts/Pet/PetAttack.cs
@@ -41,15 +41,22 @@ public class PetAttack : MonoBehaviour
 
         if(arrowMoveRendering)
         {
-            Vector3 targetPosition = enemyTarget.transform.position;
-            targetPosition.y = 0;
+            try
+            {
+                Vector3 targetPosition = enemyTarget.transform.position;
+                targetPosition.y = 0;
 
-            clonedArrow.transform.position = Parabola(arrowInCurrentBow.transform.position, targetPosition, 1, timerForArrow * 2 / 1f);
-            if(timerForArrow >= anim.GetCurrentAnimatorStateInfo(0).length)
+                clonedArrow.transform.position = Parabola(arrowInCurrentBow.transform.position, targetPosition, 1, timerForArrow * 2 / 1f);
+                if(timerForArrow >= anim.GetCurrentAnimatorStateInfo(0).length)
+                {
+                    arrowMoveRendering = false;
+                }
+                gameObject.transform.LookAt(enemyTarget.transform);
+            }
+            catch (Exception e)
             {
-                arrowMoveRendering = false;
+                Debug.Log(e);
             }
-            gameObject.transform.LookAt(enemyTarget.transform);
         }
         else 
         {
@@ -86,7 +93,7 @@ public class PetAttack : MonoBehaviour
 
                 arrowInCurrentBow = GameObject.Find("main_arrow");
                 clonedArrow = Instantiate(arrowPrefab, arrowInCurrentBow.transform.position, arrowInCurrentBow.transform.rotation);
-
+                clonedArrow.gameObject.GetComponent<Arrow>().damageMultiplier = 100f;
                 timer = 0f;
                 timerForArrow = 0f;
                 arrowMoveRendering = true;
diff --git a/Assets/Scripts/Pet/PetHealth.cs b/Assets/Scripts/Pet/PetHealth.cs
index 7faa3747..1ddb755f 100644
--- a/Assets/Scripts/Pet/PetHealth.cs
+++ b/Assets/Scripts/Pet/PetHealth.cs
@@ -79,9 +79,12 @@ public class PetHealth : MonoBehaviour
         anim.SetBool("Dead", true);
 
         PetBuff petBuff = pet.GetComponent<PetBuff>();
-        if(petBuff.petType == PetTypeEnum.Aura)
+        if (petBuff != null )
         {
-            petBuff.NormalizedAura();
+            if(petBuff.petType == PetTypeEnum.Aura)
+            {
+                petBuff.NormalizedAura();
+            }
         }
 
         Destroy(pet);
diff --git a/Assets/customsave.cssav b/Assets/customsave.cssav
index 7f0d677db5ae99b458f8bdffa292b87eb2c4f128..cda0600d43d94442d29a66ede8d6bac5e5922648 100644
GIT binary patch
literal 944
zcmV;h15f;cl}Ym~Y)Q3w&pzG2F-YW=x%r@JY~CiR&moEDKy5R&udi6VfFg?%F$zKt
z`#JV84YDwiX~uej<I5hu9rTV#eVt?Y)GTz-QLJ@`SLDN#0yET4`ZJ--2Or5QXc;yn
zQ-V;I$~hS!&UIa%4TXsbKz*MMHwIM;Dm|pwS)UM!cuoy+gJW?DLTvtNQ9o?L@eNEn
zYvZF{{#+arSxmATJ&@{B>e_2<jXMl9CYs<uK4#u(oC2oq0xP<g?zfgg?w38+?exYm
za&88X3fA@xOyyVm-eGPOqwRc=!OTaIl#pi!+DLQsyzv~4MFjX;<m|EXyn>|`sN~s&
zAF+13{g*)J%ChYKdv3MdO3l^vfH>2MsSy!edf1*zX<)3IK1qBEH~IDlUfBax*ec9^
zKWSc6#OwGV8>phI+zzi_Rd{H#|19ZutDi_@3*3oD7Wg_>EAn)%bIOb&v2fQwnGFy9
zXQG#ukgrJnsw*~L@;1U>D<=0~`TIUGyE5s96JKUYSi;+O#Hl?fL8gF}rVRixX3OxW
z@)uBX^#Ye<`5um+u8qpew@g*!9{)YH0SJ&xW-M2h(7RBFhyHHAey*fhZWoZGo1>I;
z;{*H9J6%P;K*aaXM|(=q$BVBfStvt$h}Z7aQW}jgrsfH5Ojg1Xunvbr-9!~GibGuf
z&MOylUxOBc#)Kr9nSu(;&z4dmRc5*e{!Ht1@{8{(*SRj!J9V68Y4gsdzooSvbS4JR
z!qib5mz2M<w<(>xOUKrwBUl{ybVnsdste*lGsM1K^~^QN7lJFnl=%!+IVrxLMZ<6#
zsW*ZRry#0I$tF|Cwn&BA^|O3T;nZ+1<%n89ZGg&%>P*#EFoYhHnvj)}e7)iekl>BO
z6^;)Y`h@t=2C4ks*?exr<SH2+S<`<bjQE4;{N2RJT3)2ov1dJ4;Xpon&livO>KHtf
zwGE@~sY>3qJ;`~On4&RGiO|5WBZH|9AZSB5g}Fw%r(dk*>&2oAXof$)(i1A-G1ILd
z3P_ej>=Q8R+iu>M9?de(kW09-7k9_vHvvsjjvp|Adg$9m7GkCg3(0GuM;n6w=Sev$
z*HVwsx2{~&&x58!+IdU6FNtwKqJ=pzkC5qCPF-RGufF=Pv3?!$Re|!RWmyL71?^)1
zvDR|9PEP^Q_Jfw7E^?T=g$6<`BHTO2Tfypg6jLSh%Uyqwz0JB4UPbEzNbiMo2?wFa
Sfwu;BW30~zN@4~*1o`H4dDqPV

literal 944
zcmV;h15f-6kZhSuQ%&(Kr8G+3Hd$);Msv;~ytXY~C<8y9FE*myY|r-cIfCLQ8Sd;`
zyYjG_?MIHic_N{Ps0h*qwuGkp3S0Xh#%*dZFjIcQm{i(zPb{QM_}FwgDBl^@`eYJ|
z-6+WvjIu`z2UpKxd`@dSLej4@uu2!D=_wb%X}c2(fa}njk-b5tfXM4QqsI`Kl$hQ6
z=_u#ZR+X5PdYJNbg^V$UKo!N?Q%28iR$NGr3w=ksMX`J!tR;r1pV2O&0wSeeOq(xh
zLw&#eGz$ktt*a#nb$uW=kYXU$_((DJrPOV&SSEUX)4&u2qSO@A9jXk0YXXyLp_ds{
zedc84Qs~UZTZ<X+_6{S6o8K+*PYEiG@v&J*&Q~-0mLBGLF&jjc!3?g_e^#2JN?Jgz
zb#~ZMebMYY(OGvvHu}HnEz2LLSDVcIuJLr57dqJ)+%!ZZM1u1hUEc&j(9S+wvSvcn
z0Y)+pB!ZbAbN+McR2<CKvrzoKjGhRvGW$?i;Er-;18iLt%%#JX<OW1NH6VSjj?nD$
zL9|)IAN3`|*)0B=_1P_n`j8^j5btS0K`?;OZ(uSB<gKr<P3FslJ8+9?Bs@fbfd(23
z02k?C0)y0-0R|f&gc-k>dU(jhpLU01RtW7?0_Ux{N%ywqFxGBu4Tng4KK51~Ahz8*
z20~WuA>u|8S9bvQop8EXr(<%Kw(LnCI(PSlMpH9aFzEH5+$0U;0$HuS8!d+qjY+4n
z#u!dzu|i5Mvsdp1-C>?GZ`aov<Ah!bh1a&cb*x3C{P&pZhwdu<K8*K6@7z26&!MN8
zZPtD&`TMO*t#W{UM=j>}@4kbR9~2hN9<Ab;6qM5aXvqP<Olhg?k+^MpRz-eA0ST^p
z-)Bab!8LIyp$F$_(4{$cG@dO``gNHNj(_2Vaj49x2SFV8*wS<5a<R)+%GzI&Z$g{-
zT~@R#w(0hpQ}Bpy0|gwoa1Clyl4#Tn?i2@$X8mv|GVW(kqtBA#b+BMZ(32#LqWY{N
zs%?2IaEpbHPbeoGeVA1|{29L2E%fEKPPNg-B66TUA~yr155KaX*V$>Juq1<-`lY?g
z*36%07&G9D@mO)=pJY?^^;s#8b?)A)h`AU@U1qlI$CfBp^U%*c(RMgsQ=v0t%9hSM
zf<-epu?dy^ZlfNw(uUc>=`F0E00{&wiVl|sOLRen4pQji(j_P|9Rl8C6h=^bygD0J
S(UJc`$R;(d=s=H$8i|9x8qw(h

diff --git a/Assets/highestScore.json b/Assets/highestScore.json
index 8cfa4831..f0a783d5 100644
--- a/Assets/highestScore.json
+++ b/Assets/highestScore.json
@@ -1 +1 @@
-{"highestScoreList":[{"playerName":"CJ​","timeTakenToWin":525.9905395507813},{"playerName":"-​","timeTakenToWin":1000000000.0},{"playerName":"-​","timeTakenToWin":1000000000.0},{"playerName":"-​","timeTakenToWin":1000000000.0},{"playerName":"-","timeTakenToWin":1000000000.0}]}
\ No newline at end of file
+{"highestScoreList":[{"playerName":"Ucok​","timeTakenToWin":18.10793113708496},{"playerName":"Ucok​","timeTakenToWin":71.50775909423828},{"playerName":"CJ​","timeTakenToWin":525.9905395507813},{"playerName":"-​","timeTakenToWin":1000000000.0},{"playerName":"-​","timeTakenToWin":1000000000.0}]}
\ No newline at end of file
-- 
GitLab