From eace9eb5cf8b1c8705067f178d229cca7dfd53e4 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 8 Jun 2022 21:52:19 +0200 Subject: [PATCH] Shield with energy added Only for test. Now all players has active Shield with energy (99) before game. --- constants.asm | 4 ++-- display.asm | 2 +- grafproc.asm | 20 +++++++++++++++++--- scorch.asm | 35 +++++++++++++++++++++++++++++++---- scorch.xex | Bin 38288 -> 38428 bytes textproc.asm | 34 ++++++++++++++++++++++++++++------ variables.asm | 2 ++ weapons.asm | 17 ++++++++++++++++- 8 files changed, 97 insertions(+), 17 deletions(-) diff --git a/constants.asm b/constants.asm index 99c6f47..4881c3b 100644 --- a/constants.asm +++ b/constants.asm @@ -871,9 +871,9 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Parachute " ; 53 dta d"Battery " ; 54 dta d"Mag Deflector " ; 55 - dta d"Shield " ; 56 + dta d"Shield " ; 56 - shield for one shot dta d"Force Shield " ; 57 - dta d"Heavy Shield " ; 58 + dta d"Heavy Shield " ; 58 - shield with energy dta d"Super Mag " ; 59 dta d"Auto Defense " ; 60 dta d"Fuel Tank " ; 61 diff --git a/display.asm b/display.asm index 005a8fd..17371d4 100644 --- a/display.asm +++ b/display.asm @@ -166,7 +166,7 @@ NamesOfLevels textbuffer ; 0123456789012345678901234567890123456789 dta d"Player: " - dta d"Energy: Angle: Force: " + dta d"Energy: Angle: Force: " dta d" Round: Wind: " textbuffer2 dta d"Player: Cash: " diff --git a/grafproc.asm b/grafproc.asm index 55769d1..5bd871b 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -642,6 +642,7 @@ DrawTankNrX sta xdraw+1 lda ytankstable,x sta ydraw + mva #0 ydraw+1 jsr TypeChar @@ -694,9 +695,12 @@ NoPlayerMissile ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char lda ActiveDefenceWeapon,x - cmp #56 ; check shield activation + cmp #56 ; check one shot shield activation + beq ShieldDraw + cmp #58 ; check shield with energy activation bne NoShieldDraw - jsr DrawTankShield +ShieldDraw + jsr DrawTankShield.DrawInPosition NoShieldDraw DoNotDrawTankNr rts @@ -726,11 +730,21 @@ tankflash_loop ;-------------------------------------------------- .proc DrawTankShield +; X - tank number +; if use DrawInPosition entry point then: ; xdraw, ydraw - coordinates left LOWER corner of Tank char ; values remain there after a DrawTankNr proc. +; ; this proc change xdraw, ydraw and temp! ;-------------------------------------------------- - + lda xtankstableL,x + sta xdraw + lda xtankstableH,x + sta xdraw+1 + lda ytankstable,x + sta ydraw + mva #0 ydraw+1 +DrawInPosition mva #1 color lda erase beq ShieldVisible diff --git a/scorch.asm b/scorch.asm index db74289..86b45a2 100644 --- a/scorch.asm +++ b/scorch.asm @@ -129,12 +129,12 @@ START jsr RandomizeSequence ; for the round #1 shooting sequence is random - ; activate shield for all players (test) - lda #56 + ; activate shield with energy for all players (test) ldx numberOfPlayers dex @ - sta ActiveDefenceWeapon,x + mva #58 ActiveDefenceWeapon,x + mva #99 ShieldEnergy,x ; set energy of shield dex bpl @- ; shield activated! (test) @@ -658,7 +658,7 @@ MetodOfDeath ;-------------------------------------------------- .proc DecreaseEnergyX -;Decreases energy of player nr X +;Decreases energy of player nr X by the value Y ;increases his financial loss ;increases gain of tank TankNr ;-------------------------------------------------- @@ -696,6 +696,33 @@ NotNegativeEnergy rts .endp +;-------------------------------------------------- +.proc DecreaseShieldEnergyX +; Decreases energy of shield player nr X by the value Y +; if shield energy is 0 after decrease then in Y we have +; rest of the energy - to decrease tank energy +;-------------------------------------------------- + sty EnergyDecrease + ldy #0 ; if Shield survive then no decrease tank anergy + ; Energy cannot be less than 0 + lda ShieldEnergy,x + cmp EnergyDecrease + bcc ldahashzero + ;sec + sbc EnergyDecrease + bpl NotNegativeEnergy +ldahashzero + ; now calculate rest of energy for future tank energy decrease + sec + lda EnergyDecrease + sbc ShieldEnergy,x + tay + lda #0 +NotNegativeEnergy + sta ShieldEnergy,x + rts +.endp + ;--------------------------------- .proc Seppuku lda #0 diff --git a/scorch.xex b/scorch.xex index 59e29f71eb0b858c9dea40e46c5e292021acb987..8ff3476a5a16f9019cefe0fb8d689b72f884afe1 100644 GIT binary patch delta 13069 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 H_xJi=Thf;y delta 12900 zcmb_?3w#tsw)bT64v-8_M-XUGR)b!ME`$+5a6w352<`#_L2-CWSP~V)m8@(hAsr%< z4l^01iZBcgkq&80XD2?;D1-P2W+KVLBaC9=NiNzZ8$`oNWxO%@vN+zzl|RgV z^c!yG3`Sck8w5KyDNT+L1;VX-8kl&79_GGW#~23Qb-QX)NApkoh7;2mU_=ag&_K+A zAKY7Gi1!C~;DURrfp{;lm(ThV2dBoN@3R5KF~owGp9X}He(KARtku7f4WPnnqv>_! zygL+WZFs2j5Y+^f2a9cP>)D57!y)f6Pur<6>h~4Vz>gu*ych$l`Vx7S*G#-4iFXW< z+q^S~9O+Fb@^bGaB1d?q60TylcRqB`$fhvoDel#$xFUTX5U7yjr9ti6yv~&HQ zkz9hEb%iHe^RCAn$R=4)LSA4K$ubD}mcSO$9wiiDz-?kN5nm*_j^ycL5llebPLzaC zl1B#n`!812-BZNiv#-Q+Iox z+wDEP+xy+_M%5^F|ikkcMHO8n9z zUlqMnEM;oSq+Fj_vJti__Z2@f$|>RnV?~r~@^Tb^hG9Q?$5Q#KcMNSbwaagbv97xw z7{iAiR>tLu$BfGOT=6}ll9DUFZ&dEh6+bX4_vJD+1~KX+wrm893Vx`}eD^4>&*VaECgIP2abnrwB@uoWOHgri|df@YL^8qm@&hdY8Xd`BHD4M$7S^ zk_&D|+66ZgNGG37#XbzoAfHVl{=Rsk3sCggxGhh^K;{#3)>6T#EMm`kXNYqoU71hR z({hSX%)R`y_3G@;=M&T4jK+%MP(I+B3IyE^4WbP zG|Dkja0c#U7?RU_A7P%z8R&FlHfVRcTU~8mm8qXdF167HKcggl61*B36ucNR!4oA< z3*M#ZTT{u?k;kRR1dXtuU9ixiwOTZwq6o7nMR|=o^il z`n9cR&tc)Uy@+{dl7vHn`1G_uTzZ;qPWt2NPp5B7C+SP(ESxiPZaRJn{?^Q`oBQG1 z59a-2-e2Z^Huvkf(bkdHsq+@kduASQpI1Kb;Jo&EZ_H!JKhCqs(J+|KYAW{;t0?!@ zWFt^b%^Q<;wzQz)PlDK?B~Vz2$# z>zw3~4rBUNrT~K&NyQkd+)KqMs@zA#XsZ00LK(^gD#qywf=aMdOe_5~ZRm@4$Nc6L zs_qAeiImMn4zCQn6He7T=3At^yV`FT^8Ci*`5^BCo29(0Swfz}*xC!~x;X7uQH;tp zYWgrZJ7`&h8X5Mla zu}-$$q$jeghrfX+R_~JXL6-U<2FO~4TPJ=b~zu4_O0epAGTq$d`MVy zVan&4A!(|jj(=7dN;7F&>4!w`34^}@ekPUkpt-Ji{1K?xoE535*^G!!fSN7s zMy6(AI}EV-_v;QR9}x8}<$cE4&nZ>Z!gst6qKJfqgsQ+}Bxni6Kp5+r^JN2WL_5@j zx@V9R*vj@u*jj*CX&VHR@N#_H@q%u7)h}$Cv0#e5rlSk3>O$MNtB=TuV90i?DOGSw z`B~)x@fm8};!fhaJlpL0Vdl_ZU(+EJ6mAR6ZQ4mfM#oGG(Apz}f|4#Js`qk>o>fYT zYxcv*bH_dcQ>tgK<2Z92A2HX_0E-mzgnaoUJ^p3r_1LA#aqLp%BkWS80lSoWPIk_* z1H)&KQ(f;oJaqCEVv1ADG(JK!Bd$Xb2&OxUM1tkmr|w{CXo%#763B6Pts4TW20y|$ z7AvN@l4cFz_h?wpg}7E=wUREJ{t(v`3%e{OYP80d0pjHdbGDg9nk;6{q}DfoD-YCF zpGj{ztqAcQqKs67F$hrloUHD1@}BLrqweT1~;L5Tcf z^~~`CsQ{799i8tG{8Qc`;t`T@gjk@Kjw8Be+Hq-UuEMEvGga9j&0(hGH;HnX;lBw@ zVqw{u_FlPUwx-tu-9iC0g{7R-wUn5=%Q}0!5s$62N7%YK)B-hRWWqX`{b74pHY;!8 z+Spu2n%^Qy9SIr`bH0TKF2otXv%%wBA7N^-r5%H>&Mym@%oMOe{8{0+(Hu; z26y7|;KE=v9v?46sFxUeD42xC@P)w`JeDmC#^O=1FgOa2mW9E4@Hn{8x@+l77?5oR%CMGZmJ2C-LvEu~jtY0qB zNO8YKoIHsHud4k%p9-7A4xP$kXV8QZEa-062pL}>rTjPRjKIL4o=*^2gE}@GIP<{+ zA%-U}#l61=51}^jfTc&oYQ;QQ5Q`0U&1Z+fSre6+AUTKeS@5uq?x=Ni`WT~liC-v!E0bDK?_|2DCFuD zMaj29l5oUSrCF5? z-LT;<5H=<<(eO)YI{v84V>62eoWNCmG*SFYlJ0{);kv~VE!@bY$8fC0}b^>C?De` z)W6aWZ_M6f)M)*^nZz3*g$4^nLMo8B{xxR=pH0*xC_qhMT~S!HI~QvSfH+)lv;+XV z+Op8X8Jw;o88sx#5^?O7r?sI&!z%6a1ff_vIpPqzbWe{%EW(l`mG+E}i6b5en5}mU zVXgich$m=f6KyE(CLL@6d3zX&_-NBF8%AkjS)tb!=`sZ))v=n05R4s3KPMfpi>Dt~ zK7(#kebk7ClJ5zYRP4uMd@+$?p~VC({O?0?3p>M>_D3RKCgM*7%gqi6p+MM{Xrkl# z)0!k&s!-El%Z_#ld4i=a&O^)q*-5}GACEx8AH^Y5F;QL|NR|Fn9K=j@Fs+Eo8A2Vm znU#Sw8|;51${?DJK`s+zFwMqLKap_*>9|33++f_JB;jhVo?mVV>KIFiJqOIR zh#yVO%8w))85=0%GRa2D1`7F!WFu$u6H%^^Y$R=@T}k8Q?87S&;c7P1X0 zunk(oHt2RlG~LU|i+z~PJ?lJ?s&Pst%jm6IjyOxb4JZdRL1oBU9W&J z67hj`_Y&nOJJ{Z3A;K{hBD}{!ghkIvHw!Ni$Nul}MfLY26k807w8kvOLgFf?dHbL7 za+y@WE@Br!h1glpANC#A1hjFKxjsw)fi-#+9*)fb1a_rGYz-vL5UT^{w;BdJky@W# zToHwp@&1K?%6pPPnchzc*2DWbTMX})Y$d#HY#F>Auru#BxX(13(UrAY{EBsAfOgi6 zXD1?s%cOm^*upw64u6*Q;N_o0BWVy@!z5paNkTeFgLo!PaxP5qFLGl#q~dDnMbdeZ zC>KdETH9+ENzFx~-v4tJ%Kv*4g%Je4A#iyA^_V&E7qazB0zCvylC5n7st9~awssI` z;}@ByY!ELI@dv_8C>9a;48|xUPP4_2^^QhNZ0A1P~k$h;fPhlm%6bpS6x!*3-rUcO6jSYXlUd@G$YoW?->X4s`64 z^BI8qSEqmU&4|GkbkNACW%zfk9C{y4O^qtXnzjM!?&O62w`zb^r2UqS~+dtlRW=4W9vG)c!SR-Jc(J2M)VUN3R^# zuwvDL0HOgPcJ4uRGu*x^LhL8-R(;r=-q28T&RzW`a@lqBb5YZ(TbPTomZtB{>bKl= zkLHT2Np+pOZh5YlMXKL+*R9GG1Mcc~+;!`6#joAfN8EMUx#Cf`D{Tn(j8G^~5(M1i_s~)gE!|54FAU9xLgStF zdQ5tXAe@>WinRJ{%3j*^5>me6OB5Vk&tzJR9`+dKI-WV4pTDZd_SmKBqm{6i2pcY7 zgOFdJtlhWHuhec|=U1vK1Pk?R-b+oxu^`K;P@z`G4YaqZG=HN~p>Y-{1#4Rq- zD8fL@A-0;|qd}FIs5vXCX)pE1TfnA03Bu|;(j&0$YQG+zRp6fr)72cH=@P zduiQDYK>jRUUtw*dsS#UE9hRDk`G&ld0e`j2Xn8Rl7H*vJi#3(9Fq%=jh$L%u61sC zA>Zi?u69JptDMdfFGXqr6+)-e`jjhX373TVq;#paW-oP3Tr%$Qy)=~AOZ|<=vhdEr zE~~3~>4t7()%s09RxNQth08Y$(+)*d{N0yY8b6^VVFH$iK`rh5Q{tOmqON00M)TJe z#bH7y-DzuKndW=2uu3OxXoK*#tld%t`V;>A(%k5cH!7i;6rlY{6 zZz7)o+b9%YK4H4Hk-m}h@LJ-d-R4j+=CgT4WA#&Hcwl2ujgP9vX@n>t-b>D*71{WKV_g%kTJErNbkh^>7>312B0!@}*zG({=i>@%&9i`tM&t-Yrtk*uQAl z0v>xqNZJLwX>og$(kbaMXezgN2va$JfUT_wa&K3mD3LF}|c)XZbA;!M)&H5H|mm z-sH&MAuO3nm`>(|JL=bf?|hOnOy@+lrw>0xaXk5b|0I1xduWq%IK$o?h{THWt-r_=gPs=W3 zM1W&tILWAx5$$RW#vw>L8W`j$s2Ni|A z(%$+CvYmzekvo|Oyg*%j-$n#@kYf!YvUtwHeO#Wifz(4n53 z)}3a_n-wQ`rI$l}QxYsKUVOOpvNg{&f7LB~dJgBwx!E<*W(IW4PWbxcxb4B)e?-;1=0UW?~05wQGY0>Eb$!DqwvV2b?%lB}bHMR%3*rsWGcm51t zz^~)06W)Zc>pxaMg{&>oqDZ4Qnl8ZNo}i+Qd65+q-iVcjW2;W!Bb;w=?5Z6&cGWhs z@&w&lzZIC}*(e`$+Nffq<(o(+NLEnx$xFTd_0CB1R`6yxS2htX5u1dTKl1ZU1oz_P zD`?=tg)iIwX4C42?5?cds^6RkptQb)AQAsK6XsDWF2%P@pV{zH20o;*BQM)(ue7tV zF5tTdb`c#(*umyCsMfyEube5# zx;c|#r?yAxpF+qnf)gv)Ri!-cRR1MMF_3HDT5~3hS1X4Bd|n4{)(e~6;0_sOelXC% z3=e)oOZ26}y_5^J+Q6t>`hyLjSS>A5;d<~%^UzPP!(%8~H;3+F>~pXpmRsD8{Eiu~ zT4`dtmbB5De-I9$FKdrbh2fA5V)cYRY)3i|;x16Vv6WTt8q~Jlpo7?lRr*J4y8Kdp z(~BrBN_kDi#PMe6jh-R-|7FYw@mADKY7YiK@{cdM6=80K^B`7h(`J>^CX6B+x}8En zt&{aROSHP2mU|BipbMjE_Zl(e&_U%^%ELuAZ`4?Y>&u!_Ev!5g=l|ZEWyAJ*j2YiD z?PHop+27-chNH9TtuN_H1Yb~nmyM>M|kTJE~KZpc8~hV9mZP2nZg#&X@2 zHEI+h27C^}Ht+XHJ(Uin0geh{U>Frj17m4bV2o>h)@Xj@X2g_*QobNag~_qvVmeD$ zTevp-|AE4qp>#LC7_2M^-2Q@42=a3;2!c>rvzQ`#t@f)e6vxxyZ)|lITEBQ!YfKHG z0V-uY#Ycvchz}2?Qhaz=5mh~uo*PO-BOu17994%vl23=3sG10AJ{?Q((cKtYKE^d{ z{aAi6zO9%gte-QdDm<_@Y7z>JfPvB=rf&IqT$KTk>^t4TGu(TA2 zOIW?u`p)JsqwZ^JRIAXu#MQ9=Hoi!BQQDE^6n6MxYhO&iT0RRk_VNr|bN*$PUc?db zB2o%neW|dB@&{Spbpl-dVub;^Or=w2QRG(e`XHT}f!E?L zO)Sw8CUNS2*_3ZRA@(7_w;tt!2em&V-p{l5Il_xj=nkfim~LemDk5uNyyv{f6g3vV z_#_O7Z%#Atp{SQ>$@`#d@`l^6$~S5z@;c2-_!-UoyaF246X9vy^R34e*=ufkyL*DJ zzi%+%gbUvoXO*pWvi~J#IZujBt+s?ijg5hR&!+|YKA&bA_WT3SpYHV^9DT)XaS@Rp z5l^uz))yX`V_)M&;%i*aKbxI8?|X(fc!r-P?Rw%a~ex4mZtQLyMs|=MORtfd_6PZUD32IPTz0ZeRudtC<-#9X)^3TSf)3cRD z#QVMnC2DVj2SKj)q=#i(^*oM`E3S2heqe&w-F+F}9LC9N~DyE8o&eZ{835Hx7O zH{tRAZ>zuZn78C@VItqdM2=v}I>MA?6u-R96PEdA;<^5mbIY=QThapFEorvuEkAA< zl-u*4t*Y)werPuGR9HY{s>+bV5?sh%Axzy>Uk3fT>Ya`|Es_i0!2RHscD0ltt<^J3 z-3$4yP|gTr%@&vGsax11`Ke`n4}X{X+~Myi-HqRCj;FZ6JbnN8$uHXaq)eIjsO`xu zJA88E|7kUu$EGb_{jBR{<-M6KUCZ20o)^YORcK6d8njfK+d|M>iL>)C$}9CQEUxy}P`y!Uxae9EJLC_Q>A z;r4qUS(vkRSCRJHuK!$j3Bwb2^!)60yX&{Y-ASeTZ)f=T+AiVl=%{*ktNXPNc0AhW F{{p-Pk-h)` diff --git a/textproc.asm b/textproc.asm index f48bd10..cb64706 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1709,6 +1709,28 @@ FinishResultDisplay mwa #textbuffer+48 displayposition jsr displaybyte + ;--------------------- + ;displaying the energy of a tank shield (if exist) + ;--------------------- + ; clear (if no shield) + lda #$00 ; space + sta textbuffer+40+10 + sta textbuffer+40+11 + sta textbuffer+40+12 + sta textbuffer+40+13 + ; check shield energy and display it + ldx TankNr + lda ShieldEnergy,x + beq NoShieldEnergy + sta decimal ; displayed value + lda #$08 ; ( + sta textbuffer+40+10 + mwa #textbuffer+40+11 displayposition + jsr displaybyte + lda #$09 ; ) + sta textbuffer+40+13 +NoShieldEnergy + ;========================= ;display Force ;========================= @@ -1717,7 +1739,7 @@ FinishResultDisplay sta decimal lda ForceTableH,x sta decimal+1 - mwa #textbuffer+40+34 displayposition + mwa #textbuffer+40+36 displayposition jsr displaydec ;========================= @@ -1729,9 +1751,9 @@ FinishResultDisplay lda AngleTable,x bmi AngleToLeft lda #$7f ; (tab) character - sta textbuffer+40+23 + sta textbuffer+40+25 lda #0 ;space - sta textbuffer+40+20 + sta textbuffer+40+22 lda #90 sec sbc AngleTable,x @@ -1748,12 +1770,12 @@ AngleToLeft lda BarrelTableL,y sta CharCode lda #$7e ;(del) char - sta textbuffer+40+20 + sta textbuffer+40+22 lda #0 ;space - sta textbuffer+40+23 + sta textbuffer+40+25 AngleDisplay - mwa #textbuffer+40+21 displayposition + mwa #textbuffer+40+23 displayposition jsr displaybyte ;========================= diff --git a/variables.asm b/variables.asm index 6f535a9..bafa6ce 100644 --- a/variables.asm +++ b/variables.asm @@ -66,6 +66,8 @@ looseL ;---------------------------------------------------- Energy .DS [MaxPlayers] +ShieldEnergy + .DS [MaxPlayers] EnergyDecrease .DS 1 eXistenZ .DS [MaxPlayers] diff --git a/weapons.asm b/weapons.asm index 46084c6..cde7e13 100644 --- a/weapons.asm +++ b/weapons.asm @@ -667,11 +667,26 @@ DistanceCheckLoop tay ; check shields lda ActiveDefenceWeapon,x - cmp #56 ; shield + cmp #56 ; one hit shield beq UseShield + cmp #58 ; shield with energy + beq UseShieldWithEnergy jsr DecreaseEnergyX jmp EndOfDistanceCheckLoop +UseShieldWithEnergy + jsr DecreaseShieldEnergyX + cpy #0 ; is necessary to reduce tenk energy ? + beq ShieldCoveredTank + jsr DecreaseEnergyX +ShieldCoveredTank + lda ShieldEnergy,x + jne EndOfDistanceCheckLoop +ShieldEnergy0 ; deactivate if no energy. it's like use one hit shield :) UseShield + mva #1 Erase + phx + jsr DrawTankShield + plx mva #0 ActiveDefenceWeapon,x ; deactivate defense weapons TankIsNotWithinTheRange EndOfDistanceCheckLoop