diff --git a/constants.asm b/constants.asm new file mode 100644 index 0000000..b595e1b --- /dev/null +++ b/constants.asm @@ -0,0 +1,1008 @@ +; @com.wudsn.ide.asm.mainsourcefile=scorch.asm + + .IF *>0 ;this is a trick that prevents compiling this file alone + +;=================================================================================== +;==========================CONSTANT TABLES, do not erase!=========================== +;=================================================================================== +TankColoursTable .BYTE $52,$32,$72,$92,$B2,$02 +CashOptionL ;(one zero less than on the screen) + .by 0,<200,<500,<800,<1000 +CashOptionH + .by 0,>200,>500,>800,>1000 +GravityTable .by 10,20,25,30,40 +MaxWindTable .by 5,20,40,60,80 +RoundsTable .by 10,20,30,40,50 +RoundsInTheGame .by 10 ;how many rounds in the current game +flyDelayTable .by 255,150,75,35,1 +;------------------------------------------------ + +LevelNameBeginL ; begins of level names + .by NamesOfLevels,>(NamesOfLevels+10),>(NamesOfLevels+20) + .by >(NamesOfLevels+32),>(NamesOfLevels+42),>(NamesOfLevels+52) + .by >(NamesOfLevels+64),>(NamesOfLevels+74),>(NamesOfLevels+84) +;-------------- +TanksWeaponsTableL + .by TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 +;-----4x4 texts----- +ResultLineBuffer + dta d" " + .byte $ff +LineTop + dta d"(%%%%%%%%%%%%)" + .byte $ff +;# - vertical, () * +, % - horizontal +LineBottom + dta d"*%%%%%%%%%%%%+" + .byte $ff +LineEmpty + dta d"# #" + .byte $ff +LineHeader1 + dta d"# ROUND: " +RoundNrDisplay + dta d" #" + .byte $ff +LineHeader2 + dta d"# RESULTS #" + .byte $ff +LineGameOver + dta d"# GAME OVER #" + .byte $ff + +;----------- +pmtableL ; addressess of the P/M memory for 5 tanks (6th is without P/M background) + .by <(pmgraph+$400) + .by <(pmgraph+$500) + .by <(pmgraph+$600) + .by <(pmgraph+$700) + .by <(pmgraph+$300) ; this is a missile background +pmtableH + .by >(pmgraph+$400) + .by >(pmgraph+$500) + .by >(pmgraph+$600) + .by >(pmgraph+$700) + .by >(pmgraph+$300) +;----------- +; this table changes Angle to the appropriate tank character +BarrelTableL + .by $02,$02,$02,$02,$02,$02,$02,$02 + .by $04,$04,$04,$04,$04,$04,$04,$04 + .by $06,$06,$06,$06,$06,$06,$06,$06,$06 + .by $08,$08,$08,$08,$08,$08,$08,$08 + .by $0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a + .by $0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c,$0c + .by $0e,$0e,$0e,$0e,$0e,$0e,$0e,$0e + .by $10,$10,$10,$10,$10,$10,$10,$10 + .by $12,$12,$12,$12,$12,$12,$12,$12,$12 + .by $14,$14,$14,$14,$14,$14,$14,$14 + .by $16,$16,$16,$16,$16,$16,$16,$16 +BarrelTableR + .by $2c,$2c,$2c,$2c,$2c,$2c,$2c,$2c + .by $2a,$2a,$2a,$2a,$2a,$2a,$2a,$2a + .by $28,$28,$28,$28,$28,$28,$28,$28,$28 + .by $26,$26,$26,$26,$26,$26,$26,$26 + .by $24,$24,$24,$24,$24,$24,$24,$24 + .by $22,$22,$22,$22,$22,$22,$22,$22,$22 + .by $20,$20,$20,$20,$20,$20,$20,$20 + .by $1e,$1e,$1e,$1e,$1e,$1e,$1e,$1e + .by $1c,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$1c + .by $1a,$1a,$1a,$1a,$1a,$1a,$1a,$1a + .by $18,$18,$18,$18,$18,$18,$18,$18 + +sintable + .by 0 + .by 4 + .by 8 + .by 13 + .by 17 + .by 22 + .by 26 + .by 31 + .by 35 + .by 40 + .by 44 + .by 48 + .by 53 + .by 57 + .by 61 + .by 66 + .by 70 + .by 74 + .by 79 + .by 83 + .by 87 + .by 91 + .by 95 + .by 100 + .by 104 + .by 108 + .by 112 + .by 116 + .by 120 + .by 124 + .by 128 + .by 131 + .by 135 + .by 139 + .by 143 + .by 146 + .by 150 + .by 154 + .by 157 + .by 161 + .by 164 + .by 167 + .by 171 + .by 174 + .by 177 + .by 181 + .by 184 + .by 187 + .by 190 + .by 193 + .by 196 + .by 198 + .by 201 + .by 204 + .by 207 + .by 209 + .by 212 + .by 214 + .by 217 + .by 219 + .by 221 + .by 223 + .by 226 + .by 228 + .by 230 + .by 232 + .by 233 + .by 235 + .by 237 + .by 238 + .by 240 + .by 242 + .by 243 + .by 244 + .by 246 + .by 247 + .by 248 + .by 249 + .by 250 + .by 251 + .by 252 + .by 252 + .by 253 + .by 254 + .by 254 + .by 255 + .by 255 + .by 255 + .by 255 + .by 255 + .by 255 ;anti self destruction byte + +costable + .by 255 ;anti self destruction byte + .by 255 + .by 255 + .by 255 + .by 255 + .by 255 + .by 254 + .by 254 + .by 253 + .by 252 + .by 252 + .by 251 + .by 250 + .by 249 + .by 248 + .by 247 + .by 246 + .by 244 + .by 243 + .by 242 + .by 240 + .by 238 + .by 237 + .by 235 + .by 233 + .by 232 + .by 230 + .by 228 + .by 226 + .by 223 + .by 221 + .by 219 + .by 217 + .by 214 + .by 212 + .by 209 + .by 207 + .by 204 + .by 201 + .by 198 + .by 196 + .by 193 + .by 190 + .by 187 + .by 184 + .by 181 + .by 177 + .by 174 + .by 171 + .by 167 + .by 164 + .by 161 + .by 157 + .by 154 + .by 150 + .by 146 + .by 143 + .by 139 + .by 135 + .by 131 + .by 128 + .by 124 + .by 120 + .by 116 + .by 112 + .by 108 + .by 104 + .by 100 + .by 95 + .by 91 + .by 87 + .by 83 + .by 79 + .by 74 + .by 70 + .by 66 + .by 61 + .by 57 + .by 53 + .by 48 + .by 44 + .by 40 + .by 35 + .by 31 + .by 26 + .by 22 + .by 17 + .by 13 + .by 8 + .by 4 + .by 0 + +linetableL + :screenheight .by <(display+screenBytes*#) + ;:20 .by <(display+screenBytes*#) + .by (display+screenBytes*#) + ;:20 .by >(display+screenBytes*#) + .by >PlotLine +;---------------------------- +bittable + .by $80,$40,$20,$10,$08,$04,$02,$01 +bittable2 + .by $7f,$bf,$df,$ef,$f7,$fb,$fd,$fe +;---------------------------- +disktance ;tanks distance + .by 0,0 + .by screenwidth/3 + .by screenwidth/4 + .by screenwidth/5 + .by screenwidth/6 + .by screenwidth/7 + ;max number of players=6 + +; this table is for deciding where a tank should slide +; accordingly to what is below the tank +; there are 3 bits used here +; bit 0 - go down +; bit 1 - go left +; bit 2 - go right +; position in the table equals to bit pattern of soil below tank + +WhereToSlideTable + ; we have 3 bits, when set: 2 - go left, 1 - go right, 0 - go down + .BY %001 ; 00000000 + .BY %101 ; 00000001 + .BY %100 ; 00000010 + .BY %100 ; 00000011 + .BY %100 ; 00000100 + .BY %100 ; 00000101 + .BY %100 ; 00000110 + .BY %100 ; 00000111 + .BY %100 ; 00001000 + .BY %000 ; 00001001 + .BY %000 ; 00001010 + .BY %000 ; 00001011 + .BY %000 ; 00001100 + .BY %000 ; 00001101 + .BY %000 ; 00001110 + .BY %000 ; 00001111 + .BY %010 ; 00010000 + .BY %000 ; 00010001 + .BY %000 ; 00010010 + .BY %000 ; 00010011 + .BY %000 ; 00010100 + .BY %000 ; 00010101 + .BY %000 ; 00010110 + .BY %000 ; 00010111 + .BY %000 ; 00011000 + .BY %000 ; 00011001 + .BY %000 ; 00011010 + .BY %000 ; 00011011 + .BY %000 ; 00011100 + .BY %000 ; 00011101 + .BY %000 ; 00011110 + .BY %000 ; 00011111 + .BY %010 ; 00100000 + .BY %000 ; 00100001 + .BY %000 ; 00100010 + .BY %000 ; 00100011 + .BY %000 ; 00100100 + .BY %000 ; 00100101 + .BY %000 ; 00100110 + .BY %000 ; 00100111 + .BY %000 ; 00101000 + .BY %000 ; 00101001 + .BY %000 ; 00101010 + .BY %000 ; 00101011 + .BY %000 ; 00101100 + .BY %000 ; 00101101 + .BY %000 ; 00101110 + .BY %000 ; 00101111 + .BY %010 ; 00110000 + .BY %000 ; 00110001 + .BY %000 ; 00110010 + .BY %000 ; 00110011 + .BY %000 ; 00110100 + .BY %000 ; 00110101 + .BY %000 ; 00110110 + .BY %000 ; 00110111 + .BY %000 ; 00111000 + .BY %000 ; 00111001 + .BY %000 ; 00111010 + .BY %000 ; 00111011 + .BY %000 ; 00111100 + .BY %000 ; 00111101 + .BY %000 ; 00111110 + .BY %000 ; 00111111 + .BY %010 ; 01000000 + .BY %000 ; 01000001 + .BY %000 ; 01000010 + .BY %000 ; 01000011 + .BY %000 ; 01000100 + .BY %000 ; 01000101 + .BY %000 ; 01000110 + .BY %000 ; 01000111 + .BY %000 ; 01001000 + .BY %000 ; 01001001 + .BY %000 ; 01001010 + .BY %000 ; 01001011 + .BY %000 ; 01001100 + .BY %000 ; 01001101 + .BY %000 ; 01001110 + .BY %000 ; 01001111 + .BY %000 ; 01010000 + .BY %000 ; 01010001 + .BY %000 ; 01010010 + .BY %000 ; 01010011 + .BY %000 ; 01010100 + .BY %000 ; 01010101 + .BY %000 ; 01010110 + .BY %000 ; 01010111 + .BY %000 ; 01011000 + .BY %000 ; 01011001 + .BY %000 ; 01011010 + .BY %000 ; 01011011 + .BY %000 ; 01011100 + .BY %000 ; 01011101 + .BY %000 ; 01011110 + .BY %000 ; 01011111 + .BY %010 ; 01100000 + .BY %000 ; 01100001 + .BY %000 ; 01100010 + .BY %000 ; 01100011 + .BY %000 ; 01100100 + .BY %000 ; 01100101 + .BY %000 ; 01100110 + .BY %000 ; 01100111 + .BY %000 ; 01101000 + .BY %000 ; 01101001 + .BY %000 ; 01101010 + .BY %000 ; 01101011 + .BY %000 ; 01101100 + .BY %000 ; 01101101 + .BY %000 ; 01101110 + .BY %000 ; 01101111 + .BY %000 ; 01110000 + .BY %000 ; 01110001 + .BY %000 ; 01110010 + .BY %000 ; 01110011 + .BY %000 ; 01110100 + .BY %000 ; 01110101 + .BY %000 ; 01110110 + .BY %000 ; 01110111 + .BY %000 ; 01111000 + .BY %000 ; 01111001 + .BY %000 ; 01111010 + .BY %000 ; 01111011 + .BY %000 ; 01111100 + .BY %000 ; 01111101 + .BY %000 ; 01111110 + .BY %000 ; 01111111 + .BY %011 ; 10000000 + .BY %000 ; 10000001 + .BY %000 ; 10000010 + .BY %000 ; 10000011 + .BY %000 ; 10000100 + .BY %000 ; 10000101 + .BY %000 ; 10000110 + .BY %000 ; 10000111 + .BY %000 ; 10001000 + .BY %000 ; 10001001 + .BY %000 ; 10001010 + .BY %000 ; 10001011 + .BY %000 ; 10001100 + .BY %000 ; 10001101 + .BY %000 ; 10001110 + .BY %000 ; 10001111 + .BY %000 ; 10010000 + .BY %000 ; 10010001 + .BY %000 ; 10010010 + .BY %000 ; 10010011 + .BY %000 ; 10010100 + .BY %000 ; 10010101 + .BY %000 ; 10010110 + .BY %000 ; 10010111 + .BY %000 ; 10011000 + .BY %000 ; 10011001 + .BY %000 ; 10011010 + .BY %000 ; 10011011 + .BY %000 ; 10011100 + .BY %000 ; 10011101 + .BY %000 ; 10011110 + .BY %000 ; 10011111 + .BY %010 ; 10100000 + .BY %000 ; 10100001 + .BY %000 ; 10100010 + .BY %000 ; 10100011 + .BY %000 ; 10100100 + .BY %000 ; 10100101 + .BY %000 ; 10100110 + .BY %000 ; 10100111 + .BY %000 ; 10101000 + .BY %000 ; 10101001 + .BY %000 ; 10101010 + .BY %000 ; 10101011 + .BY %000 ; 10101100 + .BY %000 ; 10101101 + .BY %000 ; 10101110 + .BY %000 ; 10101111 + .BY %000 ; 10110000 + .BY %000 ; 10110001 + .BY %000 ; 10110010 + .BY %000 ; 10110011 + .BY %000 ; 10110100 + .BY %000 ; 10110101 + .BY %000 ; 10110110 + .BY %000 ; 10110111 + .BY %000 ; 10111000 + .BY %000 ; 10111001 + .BY %000 ; 10111010 + .BY %000 ; 10111011 + .BY %000 ; 10111100 + .BY %000 ; 10111101 + .BY %000 ; 10111110 + .BY %000 ; 10111111 + .BY %010 ; 11000000 + .BY %000 ; 11000001 + .BY %000 ; 11000010 + .BY %000 ; 11000011 + .BY %000 ; 11000100 + .BY %000 ; 11000101 + .BY %000 ; 11000110 + .BY %000 ; 11000111 + .BY %000 ; 11001000 + .BY %000 ; 11001001 + .BY %000 ; 11001010 + .BY %000 ; 11001011 + .BY %000 ; 11001100 + .BY %000 ; 11001101 + .BY %000 ; 11001110 + .BY %000 ; 11001111 + .BY %000 ; 11010000 + .BY %000 ; 11010001 + .BY %000 ; 11010010 + .BY %000 ; 11010011 + .BY %000 ; 11010100 + .BY %000 ; 11010101 + .BY %000 ; 11010110 + .BY %000 ; 11010111 + .BY %000 ; 11011000 + .BY %000 ; 11011001 + .BY %000 ; 11011010 + .BY %000 ; 11011011 + .BY %000 ; 11011100 + .BY %000 ; 11011101 + .BY %000 ; 11011110 + .BY %000 ; 11011111 + .BY %010 ; 11100000 + .BY %000 ; 11100001 + .BY %000 ; 11100010 + .BY %000 ; 11100011 + .BY %000 ; 11100100 + .BY %000 ; 11100101 + .BY %000 ; 11100110 + .BY %000 ; 11100111 + .BY %000 ; 11101000 + .BY %000 ; 11101001 + .BY %000 ; 11101010 + .BY %000 ; 11101011 + .BY %000 ; 11101100 + .BY %000 ; 11101101 + .BY %000 ; 11101110 + .BY %000 ; 11101111 + .BY %000 ; 11110000 + .BY %000 ; 11110001 + .BY %000 ; 11110010 + .BY %000 ; 11110011 + .BY %000 ; 11110100 + .BY %000 ; 11110101 + .BY %000 ; 11110110 + .BY %000 ; 11110111 + .BY %000 ; 11111000 + .BY %000 ; 11111001 + .BY %000 ; 11111010 + .BY %000 ; 11111011 + .BY %000 ; 11111100 + .BY %000 ; 11111101 + .BY %000 ; 11111110 + .BY %000 ; 11111111 + +EndOfTheBarrelX + .by 4,4,4,4,4,4,4,4,4,4,4 + .by 5,5,5,5,5,5,5,5,5,5 + .by 6,6,6,6,6,6,6,6,6 + .by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7,7,7,7,7 + + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0 + + .by 0,0,0,0,0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + .by 1,1,1,1,1,1,1,1,1 + .by 2,2,2,2,2,2,2,2,2,2 + .by 3,3,3,3,3,3,3,3,3,3,3 + +EndOfTheBarrelY + .by 7,7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 + .by 6,6,6,6,6,6,6,6,6 + .by 5,5,5,5,5,5,5,5,5,5 + .by 4,4,4,4,4,4,4,4,4,4,4,4,4 + .by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 + + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0,0,0,0,0,0,0 + .by 0,0,0,0 + + .by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 + .by 4,4,4,4,4,4,4,4,4,4,4,4,4 + .by 5,5,5,5,5,5,5,5,5,5 + .by 6,6,6,6,6,6,6,6,6 + .by 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7 + .by 7,7,7,7,7,7,7,7,7,7,7 +;------------------------------------------------- + +TanksNamesDefault + dta d"1st Tank" + dta d"2nd Tank" + dta d"3rd Tank" + dta d"4th Tank" + dta d"5th Tank" + dta d"6th Tank" + +;Weapon prices (*10 on screen) +price_Baby_Missile___ = 0 ;_0 +price_Missile________ = 96 ;_1 +price_Baby_Nuke______ = 111 ;_2 +price_Nuke___________ = 144 ;_3 +price_LeapFrog_______ = 192 ;_4 +price_Funky_Bomb_____ = 293 ;_5 +price_MIRV___________ = 456 ;_6 +price_Death_s_Head___ = 337 ;_7 +price_Napalm_________ = 0 ;496 ;_8 +price_Hot_Napalm_____ = 0 ;511 ;_9 +price_Tracer_________ = 102 ;_10 +price_Smoke_Tracer___ = 291 ;_11 +price_Baby_Roller____ = 689 ;_12 +price_Roller_________ = 600 ;_13 +price_Heavy_Roller___ = 592 ;_14 +price_Riot_Charge____ = 0 ;330 ;_15 +price_Riot_Blast_____ = 0 ;341 ;_16 +price_Riot_Bomb______ = 369 ;_17 +price_Heavy_Riot_Bomb = 322 ;_18 +price_Baby_Digger____ = 336 ;_19 +price_Digger_________ = 276 ;_20 +price_Heavy_Digger___ = 253 ;_21 +price_Baby_Sandhog___ = 218 ;_22 +price_Sandhog________ = 191 ;_23 +price_Heavy_Sandhog__ = 305 ;_24 +price_Dirt_Clod______ = 104 ;_25 +price_Dirt_Ball______ = 130 ;_26 +price_Ton_of_Dirt____ = 171 ;_27 +price_Liquid_Dirt____ = 0 ;530 ;_28 +price_Dirt_Charge____ = 581 ;_29 +price_Earth_Disrupter = 0 ;430 ;_30 +price_Plasma_Blast___ = 0 ;274 ;_31 +price_Laser__________ = 577 ;_32 +price______________33 = 0 +price______________34 = 0 +price______________35 = 0 +price______________36 = 0 +price______________37 = 0 +price______________38 = 0 +price______________39 = 0 +price______________40 = 0 +price______________41 = 0 +price______________42 = 0 +price______________43 = 0 +price______________44 = 0 +price______________45 = 0 +price______________46 = 0 +price______________47 = 0 +price_Heat_Guidance__ = 0 ;_48_($30) +price_Bal_Guidance___ = 0 ;_49 +price_Horz_Guidance__ = 0 ;_50 +price_Vert_Guidance__ = 0 ;_51 +price_Lazy_Boy_______ = 0 ;_52 +price_Parachute______ = 1100 ;_53 +price_Battery________ = 0 ;_54 +price_Mag_Deflector__ = 0 ;_55 +price_Shield_________ = 0 ;_56 +price_Force_Shield___ = 0 ;_57 +price_Heavy_Shield___ = 0 ;_58 +price_Super_Mag______ = 0 ;_59 +price_Auto_Defense___ = 0 ;_60 +price_Fuel_Tank______ = 0 ;_61 +price_Contact_Trigger = 0 ;_62 +price______________63 = 0 + +WeaponPriceH ; weapons prices (tables with prices of weapons) + .by >price_Baby_Missile___ + .by >price_Missile________ + .by >price_Baby_Nuke______ + .by >price_Nuke___________ + .by >price_LeapFrog_______ + .by >price_Funky_Bomb_____ + .by >price_MIRV___________ + .by >price_Death_s_Head___ + .by >price_Napalm_________ + .by >price_Hot_Napalm_____ + .by >price_Tracer_________ + .by >price_Smoke_Tracer___ + .by >price_Baby_Roller____ + .by >price_Roller_________ + .by >price_Heavy_Roller___ + .by >price_Riot_Charge____ + .by >price_Riot_Blast_____ + .by >price_Riot_Bomb______ + .by >price_Heavy_Riot_Bomb + .by >price_Baby_Digger____ + .by >price_Digger_________ + .by >price_Heavy_Digger___ + .by >price_Baby_Sandhog___ + .by >price_Sandhog________ + .by >price_Heavy_Sandhog__ + .by >price_Dirt_Clod______ + .by >price_Dirt_Ball______ + .by >price_Ton_of_Dirt____ + .by >price_Liquid_Dirt____ + .by >price_Dirt_Charge____ + .by >price_Earth_Disrupter + .by >price_Plasma_Blast___ + .by >price_Laser__________ + .by >price______________33 + .by >price______________34 + .by >price______________35 + .by >price______________36 + .by >price______________37 + .by >price______________38 + .by >price______________39 + .by >price______________40 + .by >price______________41 + .by >price______________42 + .by >price______________43 + .by >price______________44 + .by >price______________45 + .by >price______________46 + .by >price______________47 + .by >price_Heat_Guidance__ + .by >price_Bal_Guidance___ + .by >price_Horz_Guidance__ + .by >price_Vert_Guidance__ + .by >price_Lazy_Boy_______ + .by >price_Parachute______ + .by >price_Battery________ + .by >price_Mag_Deflector__ + .by >price_Shield_________ + .by >price_Force_Shield___ + .by >price_Heavy_Shield___ + .by >price_Super_Mag______ + .by >price_Auto_Defense___ + .by >price_Fuel_Tank______ + .by >price_Contact_Trigger + .by >price______________63 + +WeaponPriceL + .by