Advertisement
Guest User

Untitled

a guest
Sep 29th, 2010
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 222.06 KB | None | 0 0
  1. #include common_scripts\_destructible;
  2. #using_animtree( "destructibles" );
  3.  
  4. makeType( destructibleType )
  5. {
  6. //println( destructibleType );
  7.  
  8. // if it's already been created dont create it again
  9. infoIndex = getInfoIndex( destructibleType );
  10. if ( infoIndex >= 0 )
  11. return infoIndex;
  12.  
  13. switch( destructibleType )
  14. {
  15. case "toy_glass120x110":
  16. toy_glass( "120x110" );
  17. break;
  18. case "toy_glass120x44":
  19. toy_glass( "120x44" );
  20. break;
  21. case "toy_glass56x59":
  22. toy_glass( "56x59" );
  23. break;
  24. case "toy_glass74x110":
  25. toy_glass( "74x110" );
  26. break;
  27. case "toy_glass74x44":
  28. toy_glass( "74x44" );
  29. break;
  30. case "toy_dt_mirror":
  31. toy_dt_mirror( "" );
  32. break;
  33. case "toy_dt_mirror_large":
  34. toy_dt_mirror( "_large" );
  35. break;
  36. case "toy_tubetv_tv1":
  37. toy_tubetv_( "tv1" );
  38. break;
  39. case "toy_tubetv_tv2":
  40. toy_tubetv_( "tv2" );
  41. break;
  42. case "toy_tv_flatscreen_01":
  43. toy_tvs_flatscreen( "01", "" );
  44. break;
  45. case "toy_tv_flatscreen_02":
  46. toy_tvs_flatscreen( "02", "" );
  47. break;
  48. case "toy_tv_flatscreen_wallmount_01":
  49. toy_tvs_flatscreen( "01", "wallmount_" );
  50. break;
  51. case "toy_tv_flatscreen_wallmount_02":
  52. toy_tvs_flatscreen( "02", "wallmount_" );
  53. break;
  54. case "toy_transformer_ratnest01":
  55. toy_transformer_ratnest01( destructibleType );
  56. break;
  57. case "toy_transformer_small01":
  58. toy_transformer_small01( destructibleType );
  59. break;
  60. case "toy_generator":
  61. toy_generator( destructibleType );
  62. break;
  63. case "toy_generator_on":
  64. toy_generator_on( destructibleType );
  65. break;
  66. case "toy_oxygen_tank_01":
  67. toy_oxygen_tank( "01" );
  68. break;
  69. case "toy_oxygen_tank_02":
  70. toy_oxygen_tank( "02" );
  71. break;
  72. case "toy_electricbox2":
  73. toy_electricbox2( destructibleType );
  74. break;
  75. case "toy_electricbox4":
  76. toy_electricbox4( destructibleType );
  77. break;
  78. case "toy_airconditioner":
  79. toy_airconditioner( destructibleType );
  80. break;
  81. case "toy_ceiling_fan":
  82. toy_ceiling_fan( destructibleType );
  83. break;
  84. case "toy_wall_fan":
  85. toy_wall_fan( destructibleType );
  86. break;
  87. case "toy_propane_tank02":
  88. toy_propane_tank02( destructibleType );
  89. break;
  90. case "toy_propane_tank02_small":
  91. toy_propane_tank02_small( destructibleType );
  92. break;
  93. case "toy_copier":
  94. toy_copier( destructibleType );
  95. break;
  96. case "toy_firehydrant":
  97. toy_firehydrant( destructibleType );
  98. break;
  99. case "toy_parkingmeter":
  100. toy_parkingmeter( destructibleType );
  101. break;
  102. case "toy_mailbox":
  103. toy_mailbox( destructibleType );
  104. break;
  105. case "toy_mailbox2_black":
  106. toy_mailbox2( "black" );
  107. break;
  108. case "toy_mailbox2_green":
  109. toy_mailbox2( "green" );
  110. break;
  111. case "toy_mailbox2_yellow":
  112. toy_mailbox2( "yellow" );
  113. break;
  114. case "toy_newspaper_stand_red":
  115. toy_newspaper_stand_red( destructibleType );
  116. break;
  117. case "toy_newspaper_stand_blue":
  118. toy_newspaper_stand_blue( destructibleType );
  119. break;
  120. case "toy_filecabinet":
  121. toy_filecabinet( destructibleType );
  122. break;
  123. case "toy_trashbin_01":
  124. toy_trashbin_01( destructibleType );
  125. break;
  126. case "toy_trashbin_02":
  127. toy_trashbin_02( destructibleType );
  128. break;
  129. case "toy_recyclebin_01":
  130. toy_recyclebin_01( destructibleType );
  131. break;
  132. case "toy_trashcan_metal_closed":
  133. toy_trashcan_metal_closed( destructibleType );
  134. break;
  135. case "toy_water_collector":
  136. toy_water_collector( destructibleType );
  137. break;
  138. case "toy_foliage_tree_oak_1":
  139. toy_foliage_tree_oak_1( destructibleType );
  140. break;
  141. case "toy_usa_gas_station_trash_bin_01":
  142. toy_usa_gas_station_trash_bin_01( destructibleType );
  143. break;
  144. case "toy_usa_gas_station_trash_bin_02":
  145. toy_usa_gas_station_trash_bin_02( destructibleType );
  146. break;
  147. case "toy_light_ceiling_round":
  148. toy_light_ceiling_round( destructibleType );
  149. break;
  150. case "toy_light_ceiling_fluorescent":
  151. toy_light_ceiling_fluorescent( destructibleType );
  152. break;
  153. case "toy_light_ceiling_fluorescent_spotlight":
  154. toy_light_ceiling_fluorescent_spotlight( destructibleType );
  155. break;
  156. case "toy_light_ceiling_fluorescent_single":
  157. toy_light_ceiling_fluorescent_single( destructibleType );
  158. break;
  159. case "toy_light_ceiling_fluorescent_single_spotlight":
  160. toy_light_ceiling_fluorescent_single_spotlight( destructibleType );
  161. break;
  162. case "toy_bookstore_bookstand4_books":
  163. toy_bookstore_bookstand4_books( destructibleType );
  164. break;
  165. case "toy_locker_double":
  166. toy_locker_double( destructibleType );
  167. break;
  168. case "toy_chicken":
  169. toy_chicken( "" );
  170. break;
  171. case "toy_chicken_white":
  172. toy_chicken( "_white" );
  173. break;
  174. case "toy_chicken_black_white":
  175. toy_chicken( "_black_white" );
  176. break;
  177. case "vehicle_bus_destructible":
  178. vehicle_bus_destructible();
  179. break;
  180. case "vehicle_80s_sedan1_green":
  181. vehicle_80s_sedan1( "green" );
  182. break;
  183. case "vehicle_80s_sedan1_red":
  184. vehicle_80s_sedan1( "red" );
  185. break;
  186. case "vehicle_80s_sedan1_silv":
  187. vehicle_80s_sedan1( "silv" );
  188. break;
  189. case "vehicle_80s_sedan1_tan":
  190. vehicle_80s_sedan1( "tan" );
  191. break;
  192. case "vehicle_80s_sedan1_yel":
  193. vehicle_80s_sedan1( "yel" );
  194. break;
  195. case "vehicle_80s_sedan1_brn":
  196. vehicle_80s_sedan1( "brn" );
  197. break;
  198. case "vehicle_80s_hatch1_green":
  199. vehicle_80s_hatch1( "green" );
  200. break;
  201. case "vehicle_80s_hatch1_red":
  202. vehicle_80s_hatch1( "red" );
  203. break;
  204. case "vehicle_80s_hatch1_silv":
  205. vehicle_80s_hatch1( "silv" );
  206. break;
  207. case "vehicle_80s_hatch1_tan":
  208. vehicle_80s_hatch1( "tan" );
  209. break;
  210. case "vehicle_80s_hatch1_yel":
  211. vehicle_80s_hatch1( "yel" );
  212. break;
  213. case "vehicle_80s_hatch1_brn":
  214. vehicle_80s_hatch1( "brn" );
  215. break;
  216. case "vehicle_80s_hatch2_green":
  217. vehicle_80s_hatch2( "green" );
  218. break;
  219. case "vehicle_80s_hatch2_red":
  220. vehicle_80s_hatch2( "red" );
  221. break;
  222. case "vehicle_80s_hatch2_silv":
  223. vehicle_80s_hatch2( "silv" );
  224. break;
  225. case "vehicle_80s_hatch2_tan":
  226. vehicle_80s_hatch2( "tan" );
  227. break;
  228. case "vehicle_80s_hatch2_yel":
  229. vehicle_80s_hatch2( "yel" );
  230. break;
  231. case "vehicle_80s_hatch2_brn":
  232. vehicle_80s_hatch2( "brn" );
  233. break;
  234. case "vehicle_80s_wagon1_green":
  235. vehicle_80s_wagon1( "green" );
  236. break;
  237. case "vehicle_80s_wagon1_red":
  238. vehicle_80s_wagon1( "red" );
  239. break;
  240. case "vehicle_80s_wagon1_silv":
  241. vehicle_80s_wagon1( "silv" );
  242. break;
  243. case "vehicle_80s_wagon1_tan":
  244. vehicle_80s_wagon1( "tan" );
  245. break;
  246. case "vehicle_80s_wagon1_yel":
  247. vehicle_80s_wagon1( "yel" );
  248. break;
  249. case "vehicle_80s_wagon1_brn":
  250. vehicle_80s_wagon1( "brn" );
  251. break;
  252. case "vehicle_small_hatch_blue":
  253. vehicle_small_hatch( "blue" );
  254. break;
  255. case "vehicle_small_hatch_green":
  256. vehicle_small_hatch( "green" );
  257. break;
  258. case "vehicle_small_hatch_turq":
  259. vehicle_small_hatch( "turq" );
  260. break;
  261. case "vehicle_small_hatch_white":
  262. vehicle_small_hatch( "white" );
  263. break;
  264. case "vehicle_pickup":
  265. vehicle_pickup( destructibleType );
  266. break;
  267. case "vehicle_hummer":
  268. vehicle_hummer( destructibleType );
  269. break;
  270. case "vehicle_moving_truck":
  271. vehicle_moving_truck( destructibleType );
  272. break;
  273. case "vehicle_bm21_mobile_bed":
  274. vehicle_bm21( destructibleType, "vehicle_bm21_mobile_bed_dstry" );
  275. break;
  276. case "vehicle_bm21_cover":
  277. vehicle_bm21( destructibleType, "vehicle_bm21_mobile_cover_dstry" );
  278. break;
  279. case "vehicle_luxurysedan_2008":
  280. vehicle_luxurysedan( "");
  281. break;
  282. case "vehicle_luxurysedan_2008_gray":
  283. vehicle_luxurysedan( "_gray");
  284. break;
  285. case "vehicle_luxurysedan_2008_white":
  286. vehicle_luxurysedan( "_white");
  287. break;
  288. case "vehicle_uaz_winter":
  289. vehicle_uaz_winter( destructibleType );
  290. break;
  291. case "vehicle_uaz_fabric":
  292. vehicle_uaz_fabric( destructibleType );
  293. break;
  294. case "vehicle_uaz_hardtop":
  295. vehicle_uaz_hardtop( destructibleType );
  296. break;
  297. case "vehicle_uaz_open":
  298. vehicle_uaz_open( destructibleType );
  299. break;
  300. case "vehicle_policecar":
  301. vehicle_policecar( destructibleType );
  302. break;
  303. case "vehicle_policecar_russia":
  304. vehicle_policecar_russia( destructibleType );
  305. break;
  306. case "vehicle_taxi":
  307. vehicle_taxi( destructibleType );
  308. break;
  309. case "vehicle_mig29_landed":
  310. vehicle_mig29_landed( destructibleType );
  311. break;
  312. case "vehicle_mack_truck_short_snow":
  313. vehicle_mack_truck_short( "snow" );
  314. break;
  315. case "vehicle_mack_truck_short_green":
  316. vehicle_mack_truck_short( "green" );
  317. break;
  318. case "vehicle_mack_truck_short_white":
  319. vehicle_mack_truck_short( "white" );
  320. break;
  321. case "vehicle_motorcycle_01":
  322. vehicle_motorcycle( "01" );
  323. break;
  324. case "vehicle_motorcycle_02":
  325. vehicle_motorcycle( "02" );
  326. break;
  327. case "vehicle_subcompact_black":
  328. vehicle_subcompact( "black" );
  329. break;
  330. case "vehicle_subcompact_blue":
  331. vehicle_subcompact( "blue" );
  332. break;
  333. case "vehicle_subcompact_dark_gray":
  334. vehicle_subcompact( "dark_gray" );
  335. break;
  336. case "vehicle_subcompact_deep_blue":
  337. vehicle_subcompact( "deep_blue" );
  338. break;
  339. case "vehicle_subcompact_gold":
  340. vehicle_subcompact( "gold" );
  341. break;
  342. case "vehicle_subcompact_gray":
  343. vehicle_subcompact( "gray" );
  344. break;
  345. case "vehicle_subcompact_green":
  346. vehicle_subcompact( "green" );
  347. break;
  348. case "vehicle_subcompact_mica":
  349. vehicle_subcompact( "mica" );
  350. break;
  351. case "vehicle_subcompact_slate":
  352. vehicle_subcompact( "slate" );
  353. break;
  354. case "vehicle_subcompact_tan":
  355. vehicle_subcompact( "tan" );
  356. break;
  357. case "vehicle_subcompact_white":
  358. vehicle_subcompact( "white" );
  359. break;
  360. case "vehicle_coupe_black":
  361. vehicle_coupe( "black" );
  362. break;
  363. case "vehicle_coupe_blue":
  364. vehicle_coupe( "blue" );
  365. break;
  366. case "vehicle_coupe_dark_gray":
  367. vehicle_coupe( "dark_gray" );
  368. break;
  369. case "vehicle_coupe_deep_blue":
  370. vehicle_coupe( "deep_blue" );
  371. break;
  372. case "vehicle_coupe_gold":
  373. vehicle_coupe( "gold" );
  374. break;
  375. case "vehicle_coupe_gray":
  376. vehicle_coupe( "gray" );
  377. break;
  378. case "vehicle_coupe_green":
  379. vehicle_coupe( "green" );
  380. break;
  381. case "vehicle_coupe_mica":
  382. vehicle_coupe( "mica" );
  383. break;
  384. case "vehicle_coupe_slate":
  385. vehicle_coupe( "slate" );
  386. break;
  387. case "vehicle_coupe_tan":
  388. vehicle_coupe( "tan" );
  389. break;
  390. case "vehicle_coupe_white":
  391. vehicle_coupe( "white" );
  392. break;
  393. case "vehicle_van_black":
  394. vehicle_van( "black" );
  395. break;
  396. case "vehicle_van_blue":
  397. vehicle_van( "blue" );
  398. break;
  399. case "vehicle_van_dark_gray":
  400. vehicle_van( "dark_gray" );
  401. break;
  402. case "vehicle_van_deep_blue":
  403. vehicle_van( "deep_blue" );
  404. break;
  405. case "vehicle_van_gold":
  406. vehicle_van( "gold" );
  407. break;
  408. case "vehicle_van_gray":
  409. vehicle_van( "gray" );
  410. break;
  411. case "vehicle_van_green":
  412. vehicle_van( "green" );
  413. break;
  414. case "vehicle_van_mica":
  415. vehicle_van( "mica" );
  416. break;
  417. case "vehicle_van_slate":
  418. vehicle_van( "slate" );
  419. break;
  420. case "vehicle_van_tan":
  421. vehicle_van( "tan" );
  422. break;
  423. case "vehicle_van_white":
  424. vehicle_van( "white" );
  425. break;
  426. case "vehicle_suburban":
  427. vehicle_suburban( destructibleType, "" );
  428. break;
  429. case "vehicle_suburban_beige":
  430. vehicle_suburban( destructibleType, "_beige" );
  431. break;
  432. case "vehicle_suburban_dull":
  433. vehicle_suburban( destructibleType, "_dull" );
  434. break;
  435. case "vehicle_suburban_red":
  436. vehicle_suburban( destructibleType, "_red" );
  437. break;
  438. case "vehicle_snowmobile":
  439. vehicle_snowmobile( destructibleType );
  440. break;
  441. case "destructible_gaspump":
  442. destructible_gaspump( destructibleType );
  443. break;
  444. case "destructible_electrical_transformer_large":
  445. destructible_electrical_transformer_large( destructibleType );
  446. break;
  447.  
  448. // Default means invalid type
  449. default:
  450. assertMsg( "Destructible object 'destructible_type' key/value of '" + destructibleType + "' is not valid" );
  451. break;
  452. }
  453.  
  454. infoIndex = getInfoIndex( destructibleType );
  455. assert( infoIndex >= 0 );
  456. return infoIndex;
  457. }
  458.  
  459. getInfoIndex( destructibleType )
  460. {
  461. if ( !isdefined( level.destructible_type ) )
  462. return - 1;
  463. if ( level.destructible_type.size == 0 )
  464. return - 1;
  465.  
  466. for ( i = 0 ; i < level.destructible_type.size ; i++ )
  467. {
  468. if ( destructibleType == level.destructible_type[ i ].v[ "type" ] )
  469. return i;
  470. }
  471.  
  472. // didn't find it in the array, must not exist
  473. return - 1;
  474. }
  475.  
  476. toy_glass( size )
  477. {
  478. //---------------------------------------------------------------------
  479. // glass break test 120x110inches
  480. //---------------------------------------------------------------------
  481. destructible_create( "toy_glass" + size, "tag_origin", 50 );
  482. destructible_splash_damage_scaler( 5 );
  483. destructible_sound( "building_glass_shatter" );
  484. // Glass
  485. tag = "tag_glass";
  486. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  487. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  488. destructible_fx( tag, "props/highrise_glass_" + size );
  489. //destructible_fx( tag, "props/highrise_glass_120x110_fountain" );
  490. destructible_sound( "building_glass_blowout" );
  491. destructible_state( tag + "_des", undefined, 100, undefined, undefined, undefined, true );
  492. destructible_fx( tag, "props/highrise_glass_" + size + "_edge");
  493. destructible_sound( "building_glass_blowout" );
  494. destructible_state( undefined );
  495. }
  496.  
  497. toy_dt_mirror( size )
  498. {
  499. //---------------------------------------------------------------------
  500. // dt_mirror
  501. //---------------------------------------------------------------------
  502. destructible_create( "toy_dt_mirror" + size, "tag_origin", 150, undefined, 32 );
  503. destructible_splash_damage_scaler( 5 );
  504. destructible_fx( "tag_fx", "props/mirror_shatter" + size );
  505. destructible_sound( "mirror_shatter" );
  506. destructible_state( "tag_origin", "dt_mirror" + size + "_dam", 150, undefined );
  507. destructible_fx( "tag_fx", "props/mirror_dt_panel" + size + "_broken" );
  508. destructible_explode( 1000, 2000, 32, 32, 32, 48, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  509. destructible_state( "tag_origin", "dt_mirror" + size + "_des", 150, undefined );
  510. }
  511.  
  512. toy_tubetv_( version )
  513. {
  514. //---------------------------------------------------------------------
  515. // Tube TV
  516. //---------------------------------------------------------------------
  517. destructible_create( "toy_tubetv_" + version, "tag_origin", 1, undefined, 32 );
  518. destructible_splash_damage_scaler( 1 );
  519. destructible_fx( "tag_fx", "explosions/tv_explosion" );
  520. destructible_sound( "tv_shot_burst" );
  521. destructible_explode( 20, 2000, 9, 9, 3, 3, undefined, 12 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  522. destructible_state( undefined, "com_" + version + "_d", undefined, undefined, "no_melee" );
  523. }
  524.  
  525. toy_tvs_flatscreen( version, mounting )
  526. {
  527. //---------------------------------------------------------------------
  528. // Flatscreen TVs
  529. //---------------------------------------------------------------------
  530. destructible_create( "toy_tv_flatscreen_" + mounting + version, "tag_origin", 1, undefined, 32 );
  531. destructible_splash_damage_scaler( 1 );
  532. destructible_fx( "tag_fx", "explosions/tv_flatscreen_explosion" );
  533. destructible_sound( "tv_shot_burst" );
  534. destructible_explode( 20, 2000, 10, 10, 3, 3, undefined, 15 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  535. destructible_state( undefined, "ma_flatscreen_tv_" + mounting + "broken_" + version, 200, undefined, "no_melee" );
  536. }
  537.  
  538. toy_transformer_ratnest01( destructibleType )
  539. {
  540. //---------------------------------------------------------------------
  541. // Transformer w/ wires for Favela
  542. //---------------------------------------------------------------------
  543. destructible_create( destructibleType, "tag_origin", 75, undefined, 32, "no_melee" );
  544. destructible_splash_damage_scaler( 15 );
  545. destructible_loopfx( "tag_fx", "smoke/car_damage_whitesmoke", 0.4 );
  546. destructible_state( undefined, undefined, 75, undefined, 32, "no_melee" );
  547. destructible_loopfx( "tag_fx", "smoke/car_damage_blacksmoke", 0.4 );
  548. destructible_state( undefined, undefined, 150, undefined, 32, "no_melee" );
  549. destructible_loopfx( "tag_sparks", "explosions/transformer_spark_runner", .5 );
  550. destructible_loopsound( "transformer_spark_loop" );
  551. destructible_healthdrain( 24, 0.2 );
  552. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  553. destructible_loopfx( "tag_sparks", "explosions/transformer_spark_runner", .5 );
  554. destructible_loopfx( "tag_fx", "fire/transformer_blacksmoke_fire", .4 );
  555. destructible_sound( "transformer01_flareup_med" );
  556. destructible_loopsound( "transformer_spark_loop" );
  557. destructible_healthdrain( 24, 0.2, 150, "allies" );
  558. destructible_state( undefined, undefined, 400, undefined, 5, "no_melee" );
  559. destructible_fx( "tag_fx", "explosions/transformer_explosion", false );
  560. destructible_fx( "tag_fx", "fire/firelp_small_pm" );
  561. destructible_sound( "transformer01_explode" );
  562. destructible_explode( 7000, 8000, 150, 256, 16, 100, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  563. destructible_state( undefined, "utility_transformer_ratnest01_dest", undefined, undefined, "no_melee" );
  564. }
  565.  
  566. toy_transformer_small01( destructibleType )
  567. {
  568. //---------------------------------------------------------------------
  569. // Small hanging Transformer box for Favela
  570. //---------------------------------------------------------------------
  571. destructible_create( destructibleType, "tag_origin", 75, undefined, 32, "no_melee" );
  572. destructible_splash_damage_scaler( 15 );
  573. destructible_loopfx( "tag_fx", "smoke/car_damage_whitesmoke", 0.4 );
  574. destructible_state( undefined, undefined, 75, undefined, 32, "no_melee" );
  575. destructible_loopfx( "tag_fx", "smoke/car_damage_blacksmoke", 0.4 );
  576. destructible_state( undefined, undefined, 150, undefined, 32, "no_melee" );
  577. destructible_loopfx( "tag_fx", "explosions/transformer_spark_runner", .5 );
  578. destructible_loopsound( "transformer_spark_loop" );
  579. destructible_healthdrain( 24, 0.2 );
  580. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  581. destructible_loopfx( "tag_fx", "explosions/transformer_spark_runner", .5 );
  582. destructible_loopfx( "tag_fx", "fire/transformer_small_blacksmoke_fire", .4 );
  583. destructible_sound( "transformer01_flareup_med" );
  584. destructible_loopsound( "transformer_spark_loop" );
  585. destructible_healthdrain( 24, 0.2, 150, "allies" );
  586. destructible_state( undefined, undefined, 400, undefined, 5, "no_melee" );
  587. destructible_fx( "tag_fx", "explosions/transformer_explosion", false );
  588. destructible_fx( "tag_fx", "fire/firelp_small_pm" );
  589. destructible_sound( "transformer01_explode" );
  590. destructible_explode( 7000, 8000, 150, 256, 16, 100, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  591. destructible_state( undefined, "utility_transformer_small01_dest", undefined, undefined, "no_melee" );
  592. }
  593.  
  594. toy_generator( destructibleType )
  595. {
  596. //---------------------------------------------------------------------
  597. // Red Generator
  598. //---------------------------------------------------------------------
  599. destructible_create( destructibleType, "tag_bounce", 75, undefined, 32, "no_melee" );
  600. destructible_splash_damage_scaler( 15 );
  601. destructible_loopfx( "tag_fx2", "smoke/generator_damage_whitesmoke", 0.4 );
  602. destructible_state( undefined, undefined, 75, undefined, 32, "no_melee" );
  603. destructible_loopfx( "tag_fx2", "smoke/generator_damage_blacksmoke", 0.4 );
  604. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  605. destructible_loopfx( "tag_fx2", "smoke/generator_damage_blacksmoke", 0.4 );
  606. destructible_loopfx( "tag_fx4", "explosions/generator_spark_runner", .9 );
  607. destructible_loopfx( "tag_fx3", "explosions/generator_spark_runner", .6123 );
  608. destructible_loopsound( "generator_spark_loop" );
  609. destructible_healthdrain( 24, 0.2, 64, "allies" );
  610. destructible_state( undefined, undefined, 400, undefined, 5, "no_melee" );
  611. destructible_fx( "tag_fx", "explosions/generator_explosion", false );
  612. destructible_fx( "tag_fx", "fire/generator_des_fire" );
  613. destructible_sound( "generator01_explode" );
  614. destructible_explode( 7000, 8000, 128, 128, 16, 50, undefined, 0 ); // force_min, force_max, range, mindamage, maxdamage
  615. destructible_anim( get_precached_anim( "generator_explode" ), #animtree, "setanimknob", undefined, undefined, "generator_explode" );
  616. destructible_state( undefined, "machinery_generator_des", undefined, undefined, "no_melee" );
  617. }
  618.  
  619. toy_generator_on( destructibleType )
  620. {
  621. //---------------------------------------------------------------------
  622. // Red Generator, on... with sound and vibration animation
  623. //---------------------------------------------------------------------
  624. destructible_create( destructibleType, "tag_bounce", 0, undefined, 32, "no_melee" );
  625. destructible_splash_damage_scaler( 15 );
  626. destructible_loopfx( "tag_fx2", "smoke/generator_exhaust", 0.4 );
  627. destructible_anim( get_precached_anim( "generator_vibration" ), #animtree, "setanimknob", undefined, undefined, "generator_vibration" );
  628. destructible_loopsound( "generator_running" );
  629. destructible_state( "tag_origin", "machinery_generator", 150 );
  630. destructible_loopfx( "tag_fx2", "smoke/generator_damage_whitesmoke", 0.4 );
  631. destructible_loopsound( "generator_running" );
  632. destructible_state( undefined, undefined, 75, undefined, 32, "no_melee" );
  633. destructible_loopfx( "tag_fx2", "smoke/generator_damage_blacksmoke", 0.4 );
  634. destructible_loopsound( "generator_damage_loop" );
  635. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  636. destructible_loopfx( "tag_fx2", "smoke/generator_damage_blacksmoke", 0.4 );
  637. destructible_loopfx( "tag_fx4", "explosions/generator_spark_runner", .9 );
  638. destructible_loopfx( "tag_fx3", "explosions/generator_spark_runner", .6123 );
  639. destructible_loopsound( "generator_spark_loop" );
  640. destructible_loopsound( "generator_damage_loop" );
  641. destructible_healthdrain( 24, 0.2, 64, "allies" );
  642. destructible_state( undefined, undefined, 400, undefined, 5, "no_melee" );
  643. destructible_fx( "tag_fx", "explosions/generator_explosion", false );
  644. destructible_fx( "tag_fx", "fire/generator_des_fire" );
  645. destructible_sound( "generator01_explode" );
  646. destructible_explode( 7000, 8000, 128, 128, 16, 50, undefined, 0 ); // force_min, force_max, range, mindamage, maxdamage
  647. destructible_anim( get_precached_anim( "generator_explode" ), #animtree, "setanimknob", undefined, 0, "generator_explode" );
  648. destructible_anim( get_precached_anim( "generator_explode_02" ), #animtree, "setanimknob", undefined, 0, "generator_explode_02" );
  649. destructible_anim( get_precached_anim( "generator_explode_03" ), #animtree, "setanimknob", undefined, 0, "generator_explode_03" );
  650. destructible_state( undefined, "machinery_generator_des", undefined, undefined, "no_melee" );
  651. }
  652.  
  653. toy_oxygen_tank( version )
  654. {
  655. //---------------------------------------------------------------------
  656. // Oxygen Tanks 01 and 02
  657. //---------------------------------------------------------------------
  658. destructible_create( "toy_oxygen_tank_" + version, "tag_origin", 150, undefined, 32, "no_melee" );
  659. destructible_healthdrain( 12, 0.2, 64, "allies" );
  660. destructible_loopsound( "oxygen_tank_leak_loop" );
  661. destructible_fx( "tag_cap", "props/oxygen_tank" + version + "_cap" );
  662. destructible_loopfx( "tag_cap", "distortion/oxygen_tank_leak", 0.4 );
  663. destructible_state( undefined, "machinery_oxygen_tank" + version + "_dam", 300, undefined, 32, "no_melee" );
  664. destructible_fx( "tag_fx", "explosions/oxygen_tank" + version + "_explosion", false );
  665. destructible_sound( "oxygen_tank_explode" );
  666. destructible_explode( 7000, 8000, 150, 256, 16, 150, undefined, 32 );
  667. destructible_state( undefined, "machinery_oxygen_tank" + version + "_des", undefined, undefined, "no_melee" );
  668. }
  669.  
  670. toy_electricbox2( destructibleType )
  671. {
  672. //---------------------------------------------------------------------
  673. // electric box large toy
  674. //---------------------------------------------------------------------
  675. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  676. destructible_splash_damage_scaler( 15 );
  677. destructible_fx( "tag_fx", "props/electricbox4_explode", undefined, undefined, undefined, 1 );
  678. destructible_sound( "exp_fusebox_sparks" );
  679. destructible_explode( 1000, 2000, 32, 32, 32, 48, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  680. destructible_state( undefined, "me_electricbox2_dest", undefined, undefined, "no_melee" );
  681. // door
  682. destructible_part( "tag_fx", "me_electricbox2_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  683.  
  684. // door upper
  685. destructible_part( "tag_door_upper", "me_electricbox2_door_upper", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  686.  
  687. }
  688.  
  689. toy_electricbox4( destructibleType )
  690. {
  691. //---------------------------------------------------------------------
  692. // electric box medium toy
  693. //---------------------------------------------------------------------
  694. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  695. destructible_splash_damage_scaler( 15 );
  696. destructible_fx( "tag_fx", "props/electricbox4_explode", undefined, undefined, undefined, 1 );
  697. destructible_sound( "exp_fusebox_sparks" );
  698. destructible_explode( 20, 2000, 32, 32, 32, 48, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  699. destructible_state( undefined, "me_electricbox4_dest", undefined, undefined, "no_melee" );
  700. // door
  701. destructible_part( "tag_fx", "me_electricbox4_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  702. }
  703.  
  704. toy_airconditioner( destructibleType )
  705. {
  706. //---------------------------------------------------------------------
  707. // Small Airconditioner hanging on wall
  708. //---------------------------------------------------------------------
  709. destructible_create( destructibleType, "tag_origin", 0, undefined, 32 );
  710. destructible_anim( get_precached_anim( "ex_airconditioner_fan" ), #animtree, "setanimknob", undefined, undefined, "ex_airconditioner_fan" );
  711. destructible_loopsound( "airconditioner_running_loop" );
  712. destructible_state( "tag_origin", "com_ex_airconditioner", 300 );
  713. destructible_fx( "tag_fx", "explosions/airconditioner_ex_explode", undefined, undefined, undefined, 1 );
  714. destructible_sound( "airconditioner_burst" );
  715. destructible_explode( 1000, 2000, 32, 32, 32, 48, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  716. destructible_state( undefined, "com_ex_airconditioner_dam", undefined, undefined, "no_melee" );
  717. // door
  718. destructible_part( "tag_fx", "com_ex_airconditioner_fan", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  719. }
  720.  
  721.  
  722. toy_ceiling_fan( destructibleType )
  723. {
  724. //---------------------------------------------------------------------
  725. // ceiling fan
  726. //---------------------------------------------------------------------
  727. destructible_create( destructibleType, "tag_origin", 0, undefined, 32 );
  728. destructible_anim( get_precached_anim( "me_fanceil1_spin" ), #animtree, "setanimknob", undefined, undefined, "me_fanceil1_spin" );
  729. destructible_state( "tag_origin", "me_fanceil1", 150 );
  730. destructible_anim( get_precached_anim( "me_fanceil1_spin_stop" ), #animtree, "setanimknob", undefined, undefined, "me_fanceil1_spin_stop" );
  731. destructible_fx( "tag_fx", "explosions/ceiling_fan_explosion" );
  732. destructible_sound( "ceiling_fan_sparks" );
  733. destructible_explode( 1000, 2000, 32, 32, 5, 32, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  734. destructible_state( undefined, "me_fanceil1_des", undefined, undefined, "no_melee" );
  735. destructible_part( "tag_fx", undefined, 150, undefined, undefined, undefined, 1.0 );
  736. }
  737.  
  738.  
  739. toy_wall_fan( destructibleType )
  740. {
  741. //---------------------------------------------------------------------
  742. // wall fan
  743. //---------------------------------------------------------------------
  744. destructible_create( destructibleType, "tag_swivel", 0, undefined, 32 );
  745. destructible_anim( get_precached_anim( "wall_fan_rotate" ), #animtree, "setanimknob", undefined, undefined, "wall_fan_rotate" );
  746. destructible_loopsound( "wall_fan_fanning" );
  747. destructible_state( "tag_wobble", "cs_wallfan1", 150 );
  748. destructible_anim( get_precached_anim( "wall_fan_stop" ), #animtree, "setanimknob", undefined, undefined, "wall_fan_wobble" );
  749. destructible_fx( "tag_fx", "explosions/wallfan_explosion_dmg" );
  750. destructible_sound( "wall_fan_sparks" );
  751. // destructible_loopsound( "wall_fan_malfuntioning" );
  752. destructible_state( "tag_wobble", "cs_wallfan1", 150, undefined, "no_melee" );
  753. // destructible_anim( get_precached_anim( "wall_fan_stop" ), #animtree, "setanimknob", undefined, undefined, "wall_fan_stop" );
  754. destructible_fx( "tag_fx", "explosions/wallfan_explosion_des" );
  755. destructible_sound( "wall_fan_break" );
  756. destructible_state( undefined, "cs_wallfan1_dmg", undefined, undefined, "no_melee" );
  757. }
  758.  
  759. toy_propane_tank02( destructibleType )
  760. {
  761. //---------------------------------------------------------------------
  762. // Large Propane tank goes KaBooM
  763. //---------------------------------------------------------------------
  764.  
  765. destructible_create( destructibleType, "tag_origin", 50, undefined, 32, "no_melee" );
  766. destructible_splash_damage_scaler( 5 );
  767. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  768. destructible_loopsound( "propanetank02_gas_leak_loop" );
  769. destructible_loopfx( "tag_cap", "distortion/propane_cap_distortion", 0.1 );
  770. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  771. destructible_loopfx( "tag_cap", "fire/propane_capfire_leak", 0.1 );
  772. destructible_sound( "propanetank02_flareup_med" );
  773. destructible_loopsound( "propanetank02_fire_med" );
  774. destructible_healthdrain( 12, 0.2, 300, "allies" );
  775. destructible_state( undefined, undefined, 150, undefined, 32, "no_melee" );
  776. destructible_physics( "tag_cap", ( 50, 0, 0 ) );
  777. destructible_loopfx( "tag_cap", "fire/propane_capfire", 0.6 );
  778. destructible_fx( "tag_valve", "fire/propane_valvefire_flareup" );
  779. destructible_physics( "tag_valve", ( 50, 0, 0 ) );
  780. destructible_fx( "tag_cap", "fire/propane_capfire_flareup" );
  781. destructible_loopfx( "tag_valve", "fire/propane_valvefire", 0.1 );
  782. destructible_sound( "propanetank02_flareup2_med" );
  783. destructible_loopsound( "propanetank02_fire_med" );
  784. destructible_state( undefined, undefined, 150, undefined, 5, "no_melee" );
  785. destructible_fx( "tag_fx", "fire/propane_small_fire" );
  786. destructible_fx( "tag_fx", "explosions/propane_large_exp_fireball" );
  787. destructible_fx( "tag_fx", "explosions/propane_large_exp", false );
  788. destructible_sound( "propanetank02_explode" );
  789. destructible_loopsound( "propanetank02_fire_blown_med" );
  790. destructible_explode( 7000, 8000, 600, 600, 32, 300 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  791. destructible_state( undefined, "com_propane_tank02_DES", undefined, undefined, "no_melee" );
  792. // Lower Valve
  793. destructible_part( "tag_valve", "com_propane_tank02_valve" );
  794. // Top Cap
  795. destructible_part( "tag_cap", "com_propane_tank02_cap" );
  796.  
  797. }
  798.  
  799. toy_propane_tank02_small( destructibleType )
  800. {
  801. //---------------------------------------------------------------------
  802. // Small Propane tank goes KaBooM
  803. //---------------------------------------------------------------------
  804.  
  805. destructible_create( destructibleType, "tag_origin", 50, undefined, 32, "no_melee" );
  806. destructible_splash_damage_scaler( 10 );
  807. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  808. destructible_loopsound( "propanetank02_gas_leak_loop" );
  809. destructible_loopfx( "tag_cap", "distortion/propane_cap_distortion", 0.1 );
  810. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  811. destructible_loopfx( "tag_cap", "fire/propane_capfire_leak", 0.1 );
  812. destructible_sound( "propanetank02_flareup_med" );
  813. destructible_loopsound( "propanetank02_fire_med" );
  814. destructible_healthdrain( 12, 0.2, 210, "allies" );
  815. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  816. destructible_physics( "tag_cap", ( 50, 0, 0 ) );
  817. destructible_loopfx( "tag_cap", "fire/propane_capfire", 0.6 );
  818. destructible_fx( "tag_valve", "fire/propane_valvefire_flareup" );
  819. destructible_physics( "tag_valve", ( 50, 0, 0 ) );
  820. destructible_fx( "tag_cap", "fire/propane_capfire_flareup" );
  821. destructible_loopfx( "tag_valve", "fire/propane_valvefire", 0.1 );
  822. destructible_sound( "propanetank02_flareup_med" );
  823. destructible_loopsound( "propanetank02_fire_med" );
  824. destructible_state( undefined, undefined, 200, undefined, 5, "no_melee" );
  825. destructible_fx( "tag_fx", "fire/propane_small_fire" );
  826. //destructible_fx( "tag_fx", "explosions/propane_large_exp_fireball" );
  827. destructible_fx( "tag_fx", "explosions/propane_large_exp", false );
  828. destructible_sound( "propanetank02_explode" );
  829. destructible_explode( 7000, 8000, 400, 400, 32, 100 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  830. destructible_state( undefined, "com_propane_tank02_small_DES", undefined, undefined, "no_melee" );
  831. // Lower Valve
  832. destructible_part( "tag_valve", "com_propane_tank02_small_valve" );
  833. // Top Cap
  834. destructible_part( "tag_cap", "com_propane_tank02_small_cap" );
  835.  
  836. }
  837.  
  838. toy_copier( destructibleType )
  839. {
  840. //---------------------------------------------------------------------
  841. // copier toy
  842. //---------------------------------------------------------------------
  843. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  844. destructible_splash_damage_scaler( 15 );
  845. destructible_loopfx( "tag_left_feeder", "smoke/car_damage_whitesmoke", 0.4 );
  846. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  847. destructible_loopfx( "tag_left_feeder", "smoke/car_damage_blacksmoke", 0.4 );
  848. destructible_state( undefined, undefined, 500, undefined, 32, "no_melee" );
  849. destructible_loopfx( "tag_fx", "props/photocopier_sparks", 3 );
  850. destructible_loopsound( "copier_spark_loop" );
  851. destructible_healthdrain( 12, 0.2 );
  852. destructible_state( undefined, undefined, 800, undefined, 5, "no_melee" );
  853. destructible_fx( "tag_fx", "props/photocopier_exp", false );
  854. destructible_fx( "tag_fx", "props/photocopier_fire" );
  855. destructible_sound( "copier_exp" );
  856. destructible_loopsound( "copier_fire_loop" );
  857. destructible_explode( 7000, 8000, 96, 96, 32, 48 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  858. destructible_state( undefined, "prop_photocopier_destroyed", undefined, undefined, "no_melee" );
  859.  
  860.  
  861. // left feeder part
  862. destructible_part( "tag_left_feeder", "prop_photocopier_destroyed_left_feeder", 4, undefined, undefined, undefined, 1.0, 1.0 );
  863. // right shelf
  864. destructible_part( "tag_right_shelf", "prop_photocopier_destroyed_right_shelf", 4, undefined, undefined, undefined, 1.0, 1.0 );
  865. // top cover
  866. destructible_part( "tag_top", "prop_photocopier_destroyed_top", 4, undefined, undefined, undefined, 1.0, 1.0 );
  867.  
  868. }
  869.  
  870. toy_firehydrant( destructibleType )
  871. {
  872. //---------------------------------------------------------------------
  873. // fire hydrant toy
  874. //---------------------------------------------------------------------
  875. destructible_create( destructibleType, "tag_origin", 250, undefined, 32, "no_melee" );
  876. destructible_splash_damage_scaler( 11 );
  877. destructible_state( undefined, undefined, 500, undefined, 32, "no_melee" );
  878. destructible_loopfx( "tag_cap", "props/firehydrant_leak", 0.1 );
  879. destructible_loopsound( "firehydrant_spray_loop" );
  880. destructible_healthdrain( 12, 0.2 );
  881. destructible_state( undefined, undefined, 800, undefined, 5, "no_melee" );
  882. destructible_fx( "tag_fx", "props/firehydrant_exp", false );
  883. destructible_fx( "tag_fx", "props/firehydrant_spray_10sec", false );
  884. destructible_sound( "firehydrant_burst" );
  885. destructible_explode( 17000, 18000, 96, 96, 32, 48 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  886. destructible_state( undefined, "com_firehydrant_dest", undefined, undefined, "no_melee" );
  887.  
  888. // destroyed hydrant
  889. destructible_part( "tag_fx", "com_firehydrant_dam", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  890. // side cap
  891. destructible_part( "tag_cap", "com_firehydrant_cap", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  892. }
  893.  
  894. toy_parkingmeter( destructibleType )
  895. {
  896. //---------------------------------------------------------------------
  897. // parking meter toy
  898. //---------------------------------------------------------------------
  899. destructible_create( destructibleType, "tag_meter", 120 );
  900. destructible_fx( "tag_fx", "props/parking_meter_coins", true, damage_not( "splash" ) ); // coin drop
  901. destructible_fx( "tag_fx", "props/parking_meter_coins_exploded", true, "splash" ); // coin drop
  902. destructible_sound( "exp_parking_meter_sweet" ); // coin drop sounds
  903. destructible_explode( 2800, 3000, 64, 64, 0, 0, true ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue to take damage
  904. destructible_state( undefined, "com_parkingmeter_damaged", 20, undefined, undefined, "splash" );
  905. destructible_state( undefined, "com_parkingmeter_destroyed", undefined, undefined, undefined, undefined, undefined, true );
  906.  
  907. // coin collector's cap
  908. destructible_part( "tag_cap", "com_parkingmeter_cap", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  909. }
  910.  
  911. toy_mailbox( destructibleType )
  912. {
  913. //---------------------------------------------------------------------
  914. // mail box without pole
  915. //---------------------------------------------------------------------
  916. destructible_create( destructibleType, "tag_origin", 200 );
  917. destructible_fx( "tag_fx", "props/mail_box_explode", true ); // mail flying
  918. destructible_sound( "exp_mailbox_sweet" ); // mail paper sounds
  919. destructible_explode( 100, 2000, 64, 64, 0, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  920. destructible_state( "tag_origin", "com_mailbox_dam" );
  921. destructible_part( "tag_door", "com_mailbox_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  922. destructible_part( "tag_flag", "com_mailbox_flag", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  923.  
  924. }
  925.  
  926. toy_mailbox2( color )
  927. {
  928. //---------------------------------------------------------------------
  929. // mailbox2 w/ pole toy
  930. //---------------------------------------------------------------------
  931. destructible_create( "toy_mailbox2_" + color, "tag_origin", 120 );
  932. destructible_fx( "tag_fx", "props/mail_box_explode", true, damage_not( "splash" ) ); // bullet damages
  933. destructible_fx( "tag_fx", "props/mail_box_explode", true, "splash" ); // grenade damages
  934. destructible_sound( "exp_mailbox_sweet" );
  935. destructible_explode( 2800, 3000, 64, 64, 0, 0, true ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue to take damage
  936. destructible_state( undefined, "mailbox_" + color + "_dam", 20, undefined, undefined, "splash" );
  937. destructible_state( undefined, "mailbox_black_dest", undefined, undefined, undefined, undefined, undefined, true );
  938.  
  939. // mailbox door
  940. destructible_part( "tag_door", "mailbox_" + color + "_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  941. destructible_part( "tag_flag", "mailbox_black_flag", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  942. }
  943.  
  944.  
  945. toy_newspaper_stand_red( destructibleType )
  946. {
  947. //---------------------------------------------------------------------
  948. // newspaper stand toy
  949. //---------------------------------------------------------------------
  950. destructible_create( destructibleType, "tag_origin", 120 );
  951. destructible_fx( "tag_door", "props/news_stand_paper_spill", true, damage_not( "splash" ) ); // coin drop
  952. destructible_sound( "exp_newspaper_box" ); // coin drop sounds
  953. destructible_explode( 2500, 2501, 64, 64, 0, 0, true ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue to take damage
  954. destructible_state( undefined, "com_newspaperbox_red_dam", 20, undefined, undefined, "splash" );
  955. destructible_fx( "tag_fx", "props/news_stand_explosion", true, "splash" ); // coin drop
  956. destructible_state( undefined, "com_newspaperbox_red_des", undefined, undefined, undefined, undefined, undefined, false );
  957.  
  958. // front door
  959. destructible_part( "tag_door", "com_newspaperbox_red_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  960. }
  961.  
  962. toy_newspaper_stand_blue( destructibleType )
  963. {
  964. //---------------------------------------------------------------------
  965. // newspaper stand toy
  966. //---------------------------------------------------------------------
  967. destructible_create( destructibleType, "tag_origin", 120 );
  968. destructible_fx( "tag_door", "props/news_stand_paper_spill_shatter", true, damage_not( "splash" ) ); // coin drop
  969. destructible_sound( "exp_newspaper_box" ); // coin drop sounds
  970. destructible_explode( 800, 2001, 64, 64, 0, 0, true ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue to take damage
  971. destructible_state( undefined, "com_newspaperbox_blue_dam", 20, undefined, undefined, "splash" );
  972. destructible_fx( "tag_fx", "props/news_stand_explosion", true, "splash" ); // coin drop
  973. destructible_state( undefined, "com_newspaperbox_blue_des", undefined, undefined, undefined, undefined, undefined, false );
  974.  
  975. // front door
  976. destructible_part( "tag_door", "com_newspaperbox_blue_door", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  977.  
  978. }
  979.  
  980. toy_filecabinet( destructibleType )
  981. {
  982. //---------------------------------------------------------------------
  983. // filecabinet toy
  984. //---------------------------------------------------------------------
  985. destructible_create( destructibleType, "tag_origin", 120 );
  986. destructible_fx( "tag_drawer_lower", "props/filecabinet_dam", true, damage_not( "splash" ) ); // coin drop
  987. destructible_sound( "exp_filecabinet" );
  988. destructible_state( undefined, "com_filecabinetblackclosed_dam", 20, undefined, undefined, "splash" );
  989. destructible_fx( "tag_drawer_upper", "props/filecabinet_des", true, "splash" ); // coin drop
  990. destructible_sound( "exp_filecabinet" ); // coin drop sounds
  991. destructible_physics( "tag_drawer_upper", ( 50, -10, 5 ) ); // coin drop sounds
  992. destructible_state( undefined, "com_filecabinetblackclosed_des", undefined, undefined, undefined, undefined, undefined, false );
  993.  
  994. // front door
  995. destructible_part( "tag_drawer_upper", "com_filecabinetblackclosed_drawer", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  996.  
  997. }
  998.  
  999. toy_trashbin_01( destructibleType )
  1000. {
  1001. //---------------------------------------------------------------------
  1002. // trashbin01 toy
  1003. //---------------------------------------------------------------------
  1004. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1005. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  1006. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  1007. destructible_sound( "exp_trashcan_sweet" );
  1008. destructible_explode( 1300, 1351, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1009.  
  1010. destructible_state( undefined, "com_trashbin01_dmg", undefined, undefined, undefined, undefined, undefined, false );
  1011.  
  1012. destructible_part( "tag_fx", "com_trashbin01_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1013.  
  1014. }
  1015.  
  1016. toy_trashbin_02( destructibleType )
  1017. {
  1018. //---------------------------------------------------------------------
  1019. // trashbin02 toy
  1020. //---------------------------------------------------------------------
  1021. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1022. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  1023. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  1024. destructible_sound( "exp_trashcan_sweet" );
  1025. destructible_explode( 600, 800, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1026.  
  1027. destructible_state( undefined, "com_trashbin02_dmg", undefined, undefined, undefined, undefined, undefined, false );
  1028.  
  1029. destructible_part( "tag_fx", "com_trashbin02_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1030.  
  1031. }
  1032.  
  1033. toy_recyclebin_01( destructibleType )
  1034. {
  1035. //---------------------------------------------------------------------
  1036. // recyclebin toy
  1037. //---------------------------------------------------------------------
  1038. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1039. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  1040. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  1041. destructible_sound( "exp_trashcan_sweet" );
  1042. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1043.  
  1044. destructible_state( undefined, "com_recyclebin01_dmg", undefined, undefined, undefined, undefined, undefined, false );
  1045.  
  1046.  
  1047. destructible_part( "tag_fx", "com_recyclebin01_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1048.  
  1049. }
  1050.  
  1051. toy_trashcan_metal_closed( destructibleType )
  1052. {
  1053. //---------------------------------------------------------------------
  1054. // trashcan_metal_closed
  1055. //---------------------------------------------------------------------
  1056. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1057. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  1058. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  1059. destructible_sound( "exp_trashcan_sweet" );
  1060. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1061. destructible_state( undefined, "com_trashcan_metal_with_trash", undefined, undefined, undefined, undefined, undefined, false );
  1062.  
  1063. destructible_part( "tag_fx", "com_trashcan_metalLID", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1064. }
  1065.  
  1066. toy_water_collector( destructibleType )
  1067. {
  1068. //---------------------------------------------------------------------
  1069. // utility_water_collector - big blue odd shaped water barrels
  1070. //---------------------------------------------------------------------
  1071. destructible_create( destructibleType, "tag_origin", 220, undefined, 32, "no_melee" );
  1072. destructible_fx( "tag_fx", "explosions/water_collector_explosion" );
  1073. destructible_sound( "water_collector_splash" );
  1074. destructible_explode( 500, 800, 32, 32, 1, 10, undefined, 32 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continue damage, originoffset
  1075. destructible_state( undefined, "utility_water_collector_base_dest", undefined, undefined, "no_melee", undefined, undefined, false );
  1076.  
  1077. destructible_part( "tag_lid", undefined, 220, undefined, undefined, "no_melee", 1.0 );
  1078. destructible_state( undefined );
  1079. }
  1080.  
  1081. toy_foliage_tree_oak_1( destructibleType )
  1082. {
  1083. //---------------------------------------------------------------------
  1084. // foliage_tree_oak_1 destructible tree (splash damage only)
  1085. //---------------------------------------------------------------------
  1086. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "splash" );
  1087. destructible_fx( "tag_fx", "explosions/tree_trunk_explosion_oak_1", true, "splash" );
  1088. destructible_sound( "large_oak_tree_impact" );
  1089. destructible_sound( "large_oak_tree_fall" );
  1090. //destructible_fx( "tag_fx", "explosions/tree_trunk_explosion_oak_1", true, damage_not( "splash" ) );
  1091. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1092.  
  1093. destructible_state( undefined, "foliage_tree_oak_1_destroyed_trunk", undefined, undefined, undefined, undefined, undefined, false );
  1094.  
  1095. }
  1096.  
  1097.  
  1098. toy_usa_gas_station_trash_bin_01( destructibleType )
  1099. {
  1100. //---------------------------------------------------------------------
  1101. // usa_gas_station_trash_bin_01 toy
  1102. //---------------------------------------------------------------------
  1103. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1104. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  1105. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  1106. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1107.  
  1108. destructible_state( undefined, "usa_gas_station_trash_bin_01_base", undefined, undefined, undefined, undefined, undefined, false );
  1109.  
  1110. destructible_part( "tag_fx", "usa_gas_station_trash_bin_01_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1111.  
  1112. }
  1113.  
  1114. toy_usa_gas_station_trash_bin_02( destructibleType )
  1115. {
  1116. //---------------------------------------------------------------------
  1117. // usa_gas_station_trash_bin_02 toy
  1118. //---------------------------------------------------------------------
  1119. destructible_create( destructibleType, "tag_origin", 120, undefined, 32, "no_melee" );
  1120. destructible_fx( "tag_fx_high", "props/garbage_spew_des", true, "splash" );
  1121. destructible_fx( "tag_fx_high", "props/garbage_spew", true, damage_not( "splash" ) );
  1122. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1123.  
  1124. destructible_state( undefined, "usa_gas_station_trash_bin_02_base", undefined, undefined, undefined, undefined, undefined, false );
  1125.  
  1126.  
  1127. destructible_part( "tag_fx_high", "usa_gas_station_trash_bin_02_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1128.  
  1129. }
  1130.  
  1131.  
  1132. toy_light_ceiling_round( destructibleType )
  1133. {
  1134. //---------------------------------------------------------------------
  1135. // Ceiling round light
  1136. //---------------------------------------------------------------------
  1137. //println( "Ceiling light round being destroyed?" );
  1138. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1139. destructible_splash_damage_scaler( 15 );
  1140. destructible_lights_out( 16 );
  1141. destructible_fx( "tag_fx", "misc/light_blowout_runner" );
  1142. destructible_state( undefined, "com_light_ceiling_round_off", undefined, undefined, "no_melee" );
  1143. }
  1144.  
  1145. toy_light_ceiling_fluorescent( destructibleType )
  1146. {
  1147. //---------------------------------------------------------------------
  1148. // Ceiling fluorescent light
  1149. //---------------------------------------------------------------------
  1150. println( "Ceiling light fluorescent being destroyed?" );
  1151. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1152. destructible_splash_damage_scaler( 15 );
  1153. destructible_fx( "tag_fx", "misc/light_fluorescent_blowout_runner" );
  1154. destructible_fx( "tag_swing_fx", "misc/light_blowout_swinging_runner" );
  1155. destructible_lights_out( 16 );
  1156. destructible_explode( 20, 2000, 64, 64, 40, 80 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1157. destructible_anim( get_precached_anim( "light_fluorescent_swing" ), #animtree, "setanimknob", undefined, 0, "light_fluorescent_swing" );
  1158. destructible_sound( "fluorescent_light_fall", undefined, 0 );
  1159. destructible_sound( "fluorescent_light_bulb", undefined, 0 );
  1160. //destructible_sound( "fluorescent_light_spark", undefined, 0 );
  1161. destructible_anim( get_precached_anim( "light_fluorescent_swing_02" ), #animtree, "setanimknob", undefined, 1, "light_fluorescent_swing_02" );
  1162. destructible_sound( "fluorescent_light_fall", undefined, 1 );
  1163. destructible_sound( "fluorescent_light_bulb", undefined, 1 );
  1164. //destructible_sound( "fluorescent_light_spark", undefined, 1 );
  1165. destructible_anim( get_precached_anim( "light_fluorescent_null" ), #animtree, "setanimknob", undefined, 2, "light_fluorescent_null" );
  1166. destructible_state( undefined, "me_lightfluohang_double_destroyed", undefined, undefined, "no_melee" );
  1167.  
  1168.  
  1169. }
  1170.  
  1171. toy_light_ceiling_fluorescent_spotlight( destructibleType )
  1172. {
  1173. //---------------------------------------------------------------------
  1174. // Ceiling fluorescent light
  1175. //---------------------------------------------------------------------
  1176. println( "Ceiling light fluorescent being destroyed?" );
  1177. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1178. destructible_splash_damage_scaler( 15 );
  1179. destructible_sound( "fluorescent_light_bulb" );
  1180. //destructible_sound( "fluorescent_light_spark" ); //played in effect
  1181. destructible_fx( "tag_fx", "misc/light_fluorescent_blowout_runner" );
  1182. destructible_fx( "tag_swing_fx", "misc/light_blowout_swinging_runner" );
  1183. destructible_lights_out( 16 );
  1184. destructible_explode( 20, 2000, 64, 64, 40, 80 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1185. destructible_anim( get_precached_anim( "light_fluorescent_swing" ), #animtree, "setanimknob", undefined, 0, "light_fluorescent_swing" );
  1186. destructible_sound( "fluorescent_light_fall", undefined, 0 );
  1187. destructible_sound( "fluorescent_light_bulb", undefined, 0 );
  1188. //destructible_sound( "fluorescent_light_spark", undefined, 0 );
  1189. destructible_spotlight( "tag_swing_r_far" );
  1190. destructible_sound( "fluorescent_light_fall" );
  1191. destructible_state( undefined, "me_lightfluohang_double_destroyed", undefined, undefined, "no_melee" );
  1192. }
  1193.  
  1194. toy_light_ceiling_fluorescent_single( destructibleType )
  1195. {
  1196. //---------------------------------------------------------------------
  1197. // Ceiling fluorescent light
  1198. //---------------------------------------------------------------------
  1199. println( "Ceiling light fluorescent single being destroyed?" );
  1200. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1201. destructible_splash_damage_scaler( 15 );
  1202. destructible_fx( "tag_fx", "misc/light_fluorescent_single_blowout_runner" );
  1203. destructible_fx( "tag_swing_center_fx", "misc/light_blowout_swinging_runner" );
  1204. destructible_fx( "tag_swing_center_fx_far", "misc/light_blowout_swinging_runner" );
  1205. destructible_explode( 20, 2000, 64, 64, 40, 80 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1206. destructible_anim( get_precached_anim( "light_fluorescent_single_swing" ), #animtree, "setanimknob", undefined, 0, "light_fluorescent_single_swing" );
  1207. destructible_sound( "fluorescent_light_fall", undefined, 0 );
  1208. destructible_sound( "fluorescent_light_bulb", undefined, 0 );
  1209. //destructible_sound( "fluorescent_light_spark", undefined, 0 );
  1210. destructible_anim( get_precached_anim( "light_fluorescent_single_swing_02" ), #animtree, "setanimknob", undefined, 1, "light_fluorescent_single_swing_02" );
  1211. destructible_sound( "fluorescent_light_hinge", undefined, 1 );
  1212. destructible_sound( "fluorescent_light_bulb", undefined, 1 );
  1213. //destructible_sound( "fluorescent_light_spark", undefined, 1 );
  1214. destructible_anim( get_precached_anim( "light_fluorescent_single_swing_03" ), #animtree, "setanimknob", undefined, 2, "light_fluorescent_single_swing_03" );
  1215. destructible_sound( "fluorescent_light_fall", undefined, 2 );
  1216. destructible_sound( "fluorescent_light_bulb", undefined, 2 );
  1217. //destructible_sound( "fluorescent_light_spark", undefined, 2 );
  1218. destructible_anim( get_precached_anim( "light_fluorescent_single_null" ), #animtree, "setanimknob", undefined, 3, "light_fluorescent_single_null" );
  1219. destructible_state( undefined, "me_lightfluohang_single_destroyed", undefined, undefined, "no_melee" );
  1220. }
  1221.  
  1222. toy_light_ceiling_fluorescent_single_spotlight( destructibleType )
  1223. {
  1224. //---------------------------------------------------------------------
  1225. // Ceiling fluorescent light
  1226. //---------------------------------------------------------------------
  1227. println( "Ceiling light fluorescent single being destroyed?" );
  1228. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1229. destructible_splash_damage_scaler( 15 );
  1230. destructible_lights_out( 16 );
  1231. destructible_sound( "fluorescent_light_bulb" );
  1232. //destructible_sound( "fluorescent_light_spark" ); //played in effect
  1233. destructible_fx( "tag_fx", "misc/light_fluorescent_single_blowout_runner" );
  1234. destructible_fx( "tag_swing_center_fx", "misc/light_blowout_swinging_runner" );
  1235. destructible_fx( "tag_swing_center_fx_far", "misc/light_blowout_swinging_runner" );
  1236. destructible_explode( 20, 2000, 64, 64, 40, 80 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  1237. destructible_anim( get_precached_anim( "light_fluorescent_single_swing_02" ), #animtree, "setanimknob", undefined, undefined, "light_fluorescent_single_swing_02" );
  1238. destructible_sound( "fluorescent_light_fall" );
  1239. destructible_spotlight( "tag_swing_center_fx_far" );
  1240. destructible_state( undefined, "me_lightfluohang_single_destroyed", undefined, undefined, "no_melee" );
  1241. }
  1242.  
  1243. toy_bookstore_bookstand4_books( destructibleType )
  1244. {
  1245. //---------------------------------------------------------------------
  1246. // bookstore_bookstand4_books
  1247. //---------------------------------------------------------------------
  1248. destructible_create( destructibleType, "tag_origin", 200, undefined, 32, "no_melee" );
  1249. destructible_splash_damage_scaler( 7 );
  1250. destructible_fx( "tag_fx", "props/bookshelf4_dmg", true, damage_not( "splash" ) );
  1251. //destructible_sound( "copier_exp" );
  1252. destructible_state( undefined, "bookstore_bookstand4", 100, undefined, undefined, "splash" );
  1253. destructible_fx( "tag_fx", "props/bookshelf4_des", true, "splash" );
  1254. destructible_explode( 2000, 3800, 32, 32, 1, 5, undefined, 0 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continueDamage, originOffset, earthQuakeScale, earthQuakeRadius
  1255. destructible_state( undefined, "bookstore_bookstand4_null", undefined, undefined, undefined, undefined, undefined, false );
  1256. }
  1257.  
  1258. toy_locker_double( destructibleType )
  1259. {
  1260. //---------------------------------------------------------------------
  1261. // Locker Double
  1262. //---------------------------------------------------------------------
  1263. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  1264.  
  1265. destructible_anim( get_precached_anim( "locker_broken_both_doors_1" ), #animtree, "setanimknob", undefined, 0, "locker_broken_both_doors_1" );
  1266. destructible_fx( "tag_fx", "props/locker_double_des_02_right", undefined, undefined, 0 );
  1267. destructible_sound( "lockers_fast", undefined, 0 );
  1268.  
  1269. destructible_anim( get_precached_anim( "locker_broken_both_doors_2" ), #animtree, "setanimknob", undefined, 1, "locker_broken_both_doors_2" );
  1270. destructible_fx( "tag_fx", "props/locker_double_des_01_left", undefined, undefined, 1 );
  1271. destructible_sound( "lockers_fast", undefined, 1 );
  1272.  
  1273. destructible_anim( get_precached_anim( "locker_broken_both_doors_4" ), #animtree, "setanimknob", undefined, 2, "locker_broken_both_doors_4" );
  1274. destructible_fx( "tag_fx", "props/locker_double_des_03_both", undefined, undefined, 2 );
  1275. destructible_sound( "lockers_double", undefined, 2 );
  1276.  
  1277. destructible_anim( get_precached_anim( "locker_broken_door1_fast" ), #animtree, "setanimknob", undefined, 3, "locker_broken_door1_fast" );
  1278. destructible_fx( "tag_fx", "props/locker_double_des_01_left", undefined, undefined, 3 );
  1279. destructible_sound( "lockers_fast", undefined, 3 );
  1280.  
  1281. destructible_anim( get_precached_anim( "locker_broken_door2_fast" ), #animtree, "setanimknob", undefined, 4, "locker_broken_door2_fast" );
  1282. destructible_fx( "tag_fx", "props/locker_double_des_02_right", undefined, undefined, 4 );
  1283. destructible_sound( "lockers_fast", undefined, 4 );
  1284.  
  1285. destructible_anim( get_precached_anim( "locker_broken_both_doors_3" ), #animtree, "setanimknob", undefined, 5, "locker_broken_both_doors_3" );
  1286. destructible_fx( "tag_fx", "misc/no_effect", undefined, undefined, 5 );
  1287. destructible_sound( "lockers_minor", undefined, 5 );
  1288.  
  1289. destructible_anim( get_precached_anim( "locker_broken_door1_slow" ), #animtree, "setanimknob", undefined, 6, "locker_broken_door1_slow" );
  1290. destructible_fx( "tag_fx", "misc/no_effect", undefined, undefined, 6 );
  1291. destructible_sound( "lockers_minor", undefined, 6 );
  1292.  
  1293. destructible_anim( get_precached_anim( "locker_broken_door2_slow" ), #animtree, "setanimknob", undefined, 7, "locker_broken_door2_slow" );
  1294. destructible_fx( "tag_fx", "misc/no_effect", undefined, undefined, 7 );
  1295. destructible_sound( "lockers_minor", undefined, 7 );
  1296.  
  1297. destructible_state( undefined, "com_locker_double_destroyed", undefined, undefined, "no_melee" );
  1298. }
  1299.  
  1300.  
  1301. toy_chicken( version )
  1302. {
  1303. //---------------------------------------------------------------------
  1304. // Chicken
  1305. //---------------------------------------------------------------------
  1306. destructible_create( "toy_chicken" + version, "tag_origin", 0, undefined, 32 );
  1307. destructible_anim( get_precached_anim( "chicken_cage_loop_01" ), #animtree, "setanimknob", undefined, 0, "chicken_cage_loop_01", 1.6 );
  1308. destructible_anim( get_precached_anim( "chicken_cage_loop_02" ), #animtree, "setanimknob", undefined, 1, "chicken_cage_loop_02", 1.6 );
  1309. destructible_loopsound( "animal_chicken_idle_loop" );
  1310. destructible_state( "tag_origin", "chicken" + version, 25 );
  1311. destructible_fx( "tag_origin", "props/chicken_exp" + version );
  1312. destructible_anim( get_precached_anim( "chicken_cage_death" ), #animtree, "setanimknob", undefined, 0, "chicken_cage_death" );
  1313. destructible_anim( get_precached_anim( "chicken_cage_death_02" ), #animtree, "setanimknob", undefined, 1, "chicken_cage_death_02" );
  1314. destructible_sound( "animal_chicken_death" );
  1315. destructible_state( undefined, "chicken" + version, undefined, undefined, "no_melee" );
  1316. }
  1317.  
  1318.  
  1319. vehicle_bus_destructible()
  1320. {
  1321. //---------------------------------------------------------------------
  1322. // Bus
  1323. //---------------------------------------------------------------------
  1324. destructible_create( "vehicle_bus_destructible" );
  1325. // Glass ( Front Left )
  1326. tag = "tag_window_front_left";
  1327. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1328. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1329. destructible_fx( tag, "props/car_glass_large" );
  1330. destructible_sound( "veh_glass_break_large" );
  1331. destructible_state( undefined );
  1332.  
  1333. // Glass ( Front Right )
  1334. tag = "tag_window_front_right";
  1335. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1336. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1337. destructible_fx( tag, "props/car_glass_large" );
  1338. destructible_sound( "veh_glass_break_large" );
  1339. destructible_state( undefined );
  1340.  
  1341. // Glass ( Driver Side )
  1342. tag = "tag_window_driver";
  1343. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1344. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1345. destructible_fx( tag, "props/car_glass_large" );
  1346. destructible_sound( "veh_glass_break_large" );
  1347. destructible_state( undefined );
  1348.  
  1349. // Glass ( Back of bus )
  1350. tag = "tag_window_back";
  1351. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1352. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1353. destructible_fx( tag, "props/car_glass_large" );
  1354. destructible_sound( "veh_glass_break_large" );
  1355. destructible_state( undefined );
  1356.  
  1357. // Glass ( Right Side )
  1358. tag = "tag_window_side_1";
  1359. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1360. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1361. destructible_fx( tag, "props/car_glass_large" );
  1362. destructible_sound( "veh_glass_break_large" );
  1363. destructible_state( undefined );
  1364.  
  1365. // Glass ( Right Side )
  1366. tag = "tag_window_side_2";
  1367. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1368. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1369. destructible_fx( tag, "props/car_glass_large" );
  1370. destructible_sound( "veh_glass_break_large" );
  1371. destructible_state( undefined );
  1372.  
  1373. // Glass ( Right Side )
  1374. tag = "tag_window_side_3";
  1375. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1376. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1377. destructible_fx( tag, "props/car_glass_large" );
  1378. destructible_sound( "veh_glass_break_large" );
  1379. destructible_state( undefined );
  1380.  
  1381. // Glass ( Right Side )
  1382. tag = "tag_window_side_4";
  1383. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1384. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1385. destructible_fx( tag, "props/car_glass_large" );
  1386. destructible_sound( "veh_glass_break_large" );
  1387. destructible_state( undefined );
  1388.  
  1389. // Glass ( Right Side )
  1390. tag = "tag_window_side_5";
  1391. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1392. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1393. destructible_fx( tag, "props/car_glass_large" );
  1394. destructible_sound( "veh_glass_break_large" );
  1395. destructible_state( undefined );
  1396.  
  1397. // Glass ( Left Side )
  1398. tag = "tag_window_side_6";
  1399. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1400. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1401. destructible_fx( tag, "props/car_glass_large" );
  1402. destructible_sound( "veh_glass_break_large" );
  1403. destructible_state( undefined );
  1404.  
  1405. // Glass ( Left Side )
  1406. tag = "tag_window_side_7";
  1407. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1408. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1409. destructible_fx( tag, "props/car_glass_large" );
  1410. destructible_sound( "veh_glass_break_large" );
  1411. destructible_state( undefined );
  1412.  
  1413. // Glass ( Left Side )
  1414. tag = "tag_window_side_8";
  1415. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1416. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1417. destructible_fx( tag, "props/car_glass_large" );
  1418. destructible_sound( "veh_glass_break_large" );
  1419. destructible_state( undefined );
  1420.  
  1421. // Glass ( Left Side )
  1422. tag = "tag_window_side_9";
  1423. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1424. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1425. destructible_fx( tag, "props/car_glass_large" );
  1426. destructible_sound( "veh_glass_break_large" );
  1427. destructible_state( undefined );
  1428.  
  1429. // Glass ( Left Side )
  1430. tag = "tag_window_side_10";
  1431. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1432. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1433. destructible_fx( tag, "props/car_glass_large" );
  1434. destructible_sound( "veh_glass_break_large" );
  1435. destructible_state( undefined );
  1436.  
  1437. // Glass ( Left Side )
  1438. tag = "tag_window_side_11";
  1439. destructible_part( tag, undefined, 99, undefined, undefined, undefined, undefined, undefined, true );
  1440. destructible_state( tag + "_d", undefined, 200, undefined, undefined, undefined, true );
  1441. destructible_fx( tag, "props/car_glass_large" );
  1442. destructible_sound( "veh_glass_break_large" );
  1443. destructible_state( undefined );
  1444.  
  1445. }
  1446.  
  1447. vehicle_80s_sedan1( color )
  1448. {
  1449. //---------------------------------------------------------------------
  1450. // 80's Sedan
  1451. //---------------------------------------------------------------------
  1452. destructible_create( "vehicle_80s_sedan1_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  1453. //destructible_splash_damage_scaler( 18 );
  1454. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  1455. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  1456. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  1457. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  1458. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  1459. destructible_sound( "fire_vehicle_flareup_med" );
  1460. destructible_loopsound( "fire_vehicle_med" );
  1461. destructible_healthdrain( 12, 0.2, 150, "allies" );
  1462. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  1463. destructible_loopsound( "fire_vehicle_med" );
  1464. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  1465. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  1466. destructible_sound( "car_explode" );
  1467. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  1468. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  1469. destructible_state( undefined, "vehicle_80s_sedan1_" + color + "_destroyed", undefined, 32, "no_melee" );
  1470. // Hood
  1471. tag = "tag_hood";
  1472. destructible_part( tag, "vehicle_80s_sedan1_" + color + "_hood", undefined, undefined, undefined, undefined, 1.0, 2.5 );
  1473. //Trunk
  1474. tag = "tag_trunk";
  1475. destructible_part( tag, "vehicle_80s_sedan1_" + color + "_trunk", undefined, undefined, undefined, undefined, 1.0 );
  1476. // Tires
  1477. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1478. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  1479. destructible_sound( "veh_tire_deflate", "bullet" );
  1480. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1481. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  1482. destructible_sound( "veh_tire_deflate", "bullet" );
  1483. destructible_part( "right_wheel_01_jnt", "vehicle_80s_sedan1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1484. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  1485. destructible_sound( "veh_tire_deflate", "bullet" );
  1486. destructible_part( "right_wheel_02_jnt", "vehicle_80s_sedan1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  1487. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  1488. destructible_sound( "veh_tire_deflate", "bullet" );
  1489. // Doors
  1490. destructible_part( "tag_door_left_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1491. destructible_part( "tag_door_left_back", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1492. destructible_part( "tag_door_right_front", "vehicle_80s_sedan1_" + color + "_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1493. destructible_part( "tag_door_right_back", "vehicle_80s_sedan1_" + color + "_door_RB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1494. // Glass ( Front )
  1495. tag = "tag_glass_front";
  1496. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1497. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1498. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  1499. destructible_sound( "veh_glass_break_large" );
  1500. destructible_state( undefined );
  1501. // Glass ( Back )
  1502. tag = "tag_glass_back";
  1503. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1504. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1505. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  1506. destructible_sound( "veh_glass_break_large" );
  1507. destructible_state( undefined );
  1508. // Glass ( Left Front )
  1509. tag = "tag_glass_left_front";
  1510. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1511. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1512. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  1513. destructible_sound( "veh_glass_break_large" );
  1514. destructible_state( undefined );
  1515. // Glass ( Right Front )
  1516. tag = "tag_glass_right_front";
  1517. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1518. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1519. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  1520. destructible_sound( "veh_glass_break_large" );
  1521. destructible_state( undefined );
  1522. // Glass ( Left Back )
  1523. tag = "tag_glass_left_back";
  1524. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1525. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1526. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  1527. destructible_sound( "veh_glass_break_large" );
  1528. destructible_state( undefined );
  1529. // Glass ( Right Back )
  1530. tag = "tag_glass_right_back";
  1531. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1532. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1533. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  1534. destructible_sound( "veh_glass_break_large" );
  1535. destructible_state( undefined );
  1536. // Head Light ( Left )
  1537. tag = "tag_light_left_front";
  1538. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1539. destructible_fx( tag, "props/car_glass_headlight" );
  1540. destructible_sound( "veh_glass_break_small" );
  1541. destructible_state( tag + "_d" );
  1542. // Head Light ( Right )
  1543. tag = "tag_light_right_front";
  1544. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1545. destructible_fx( tag, "props/car_glass_headlight" );
  1546. destructible_sound( "veh_glass_break_small" );
  1547. destructible_state( tag + "_d" );
  1548. // Tail Light ( Left )
  1549. tag = "tag_light_left_back";
  1550. destructible_part( tag, undefined, 20 );
  1551. destructible_fx( tag, "props/car_glass_brakelight" );
  1552. destructible_sound( "veh_glass_break_small" );
  1553. destructible_state( tag + "_d" );
  1554. // Tail Light ( Right )
  1555. tag = "tag_light_right_back";
  1556. destructible_part( tag, undefined, 20 );
  1557. destructible_fx( tag, "props/car_glass_brakelight" );
  1558. destructible_sound( "veh_glass_break_small" );
  1559. destructible_state( tag + "_d" );
  1560. // Bumpers
  1561. destructible_part( "tag_bumper_front", "vehicle_80s_sedan1_" + color + "_bumper_F", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1562. destructible_part( "tag_bumper_back", "vehicle_80s_sedan1_" + color + "_bumper_B", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1563. // Side Mirrors
  1564. destructible_part( "tag_mirror_left", "vehicle_80s_sedan1_" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  1565. destructible_physics();
  1566. destructible_part( "tag_mirror_right", "vehicle_80s_sedan1_" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  1567. destructible_physics();
  1568. }
  1569.  
  1570. vehicle_80s_hatch1( color )
  1571. {
  1572. //---------------------------------------------------------------------
  1573. // 80's hatchback
  1574. //---------------------------------------------------------------------
  1575. destructible_create( "vehicle_80s_hatch1_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  1576. //destructible_splash_damage_scaler( 18 );
  1577. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  1578. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  1579. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  1580. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  1581. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  1582. destructible_sound( "fire_vehicle_flareup_med" );
  1583. destructible_loopsound( "fire_vehicle_med" );
  1584. destructible_healthdrain( 12, 0.2, 150, "allies" );
  1585. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  1586. destructible_loopsound( "fire_vehicle_med" );
  1587. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  1588. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  1589. destructible_sound( "car_explode" );
  1590. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  1591. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  1592. destructible_state( undefined, "vehicle_80s_hatch1_" + color + "_destroyed", undefined, 32, "no_melee" );
  1593. // Hood
  1594. tag = "tag_hood";
  1595. destructible_part( tag, "vehicle_80s_hatch1_" + color + "_hood", 800, undefined, undefined, undefined, 1.0, 1.5 );
  1596. // Tires
  1597. destructible_part( "left_wheel_01_jnt", "vehicle_80s_hatch1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1598. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  1599. destructible_sound( "veh_tire_deflate", "bullet" );
  1600. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1601. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  1602. destructible_sound( "veh_tire_deflate", "bullet" );
  1603. destructible_part( "right_wheel_01_jnt", "vehicle_80s_hatch1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1604. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  1605. destructible_sound( "veh_tire_deflate", "bullet" );
  1606. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1607. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  1608. destructible_sound( "veh_tire_deflate", "bullet" );
  1609. // Doors
  1610. destructible_part( "tag_door_left_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1611. destructible_part( "tag_door_right_front", "vehicle_80s_hatch1_" + color + "_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1612. // Glass ( Front )
  1613. tag = "tag_glass_front";
  1614. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1615. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1616. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  1617. destructible_sound( "veh_glass_break_large" );
  1618. destructible_state( undefined );
  1619. // Glass ( Back )
  1620. tag = "tag_glass_back";
  1621. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1622. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1623. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  1624. destructible_sound( "veh_glass_break_large" );
  1625. destructible_state( undefined );
  1626. // Glass ( Left Front )
  1627. tag = "tag_glass_left_front";
  1628. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1629. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1630. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  1631. destructible_sound( "veh_glass_break_large" );
  1632. destructible_state( undefined );
  1633. // Glass ( Right Front )
  1634. tag = "tag_glass_right_front";
  1635. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1636. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1637. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  1638. destructible_sound( "veh_glass_break_large" );
  1639. destructible_state( undefined );
  1640. // Glass ( Left Back )
  1641. tag = "tag_glass_left_back";
  1642. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1643. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1644. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  1645. destructible_sound( "veh_glass_break_large" );
  1646. destructible_state( undefined );
  1647. // Glass ( Right Back )
  1648. tag = "tag_glass_right_back";
  1649. destructible_part( tag, undefined, 10, undefined, undefined, undefined, undefined, undefined, true );
  1650. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1651. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  1652. destructible_sound( "veh_glass_break_large" );
  1653. destructible_state( undefined );
  1654. // Head Light ( Left )
  1655. tag = "tag_light_left_front";
  1656. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1657. destructible_fx( tag, "props/car_glass_headlight" );
  1658. destructible_sound( "veh_glass_break_small" );
  1659. destructible_state( tag + "_d" );
  1660. // Head Light ( Right )
  1661. tag = "tag_light_right_front";
  1662. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1663. destructible_fx( tag, "props/car_glass_headlight" );
  1664. destructible_sound( "veh_glass_break_small" );
  1665. destructible_state( tag + "_d" );
  1666. // Tail Light ( Left )
  1667. tag = "tag_light_left_back";
  1668. destructible_part( tag, undefined, 20 );
  1669. destructible_fx( tag, "props/car_glass_brakelight" );
  1670. destructible_sound( "veh_glass_break_small" );
  1671. destructible_state( tag + "_d" );
  1672. // Tail Light ( Right )
  1673. tag = "tag_light_right_back";
  1674. destructible_part( tag, undefined, 20 );
  1675. destructible_fx( tag, "props/car_glass_brakelight" );
  1676. destructible_sound( "veh_glass_break_small" );
  1677. destructible_state( tag + "_d" );
  1678. // Bumpers
  1679. destructible_part( "tag_bumper_front" );
  1680. destructible_part( "tag_bumper_back" );
  1681. // Side Mirrors
  1682. destructible_part( "tag_mirror_left", "vehicle_80s_hatch1_" + color + "_mirror_L", 40 );
  1683. destructible_physics();
  1684. destructible_part( "tag_mirror_right", "vehicle_80s_hatch1_" + color + "_mirror_R", 40 );
  1685. destructible_physics();
  1686. }
  1687.  
  1688. vehicle_80s_hatch2( color )
  1689. {
  1690. //---------------------------------------------------------------------
  1691. // 80's hatchback 2
  1692. //---------------------------------------------------------------------
  1693. destructible_create( "vehicle_80s_hatch2_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  1694. //destructible_splash_damage_scaler( 18 );
  1695. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  1696. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  1697. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  1698. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  1699. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  1700. destructible_sound( "fire_vehicle_flareup_med" );
  1701. destructible_loopsound( "fire_vehicle_med" );
  1702. destructible_healthdrain( 12, 0.2, 150, "allies" );
  1703. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  1704. destructible_loopsound( "fire_vehicle_med" );
  1705. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  1706. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  1707. destructible_sound( "car_explode" );
  1708. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  1709. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  1710. destructible_state( undefined, "vehicle_80s_hatch2_" + color + "_destroyed", undefined, 32, "no_melee" );
  1711. // Hood
  1712. tag = "tag_hood";
  1713. destructible_part( tag, "vehicle_80s_hatch2_" + color + "_hood", 800, undefined, undefined, undefined, 1.0, 1.5 );
  1714. // Tires
  1715. destructible_part( "left_wheel_01_jnt", "vehicle_80s_hatch2_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1716. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  1717. destructible_sound( "veh_tire_deflate", "bullet" );
  1718. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1719. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  1720. destructible_sound( "veh_tire_deflate", "bullet" );
  1721. destructible_part( "right_wheel_01_jnt", "vehicle_80s_hatch2_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1722. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  1723. destructible_sound( "veh_tire_deflate", "bullet" );
  1724. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1725. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  1726. destructible_sound( "veh_tire_deflate", "bullet" );
  1727. // Doors
  1728. destructible_part( "tag_door_left_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1729. destructible_part( "tag_door_right_front", "vehicle_80s_hatch2_" + color + "_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1730. // Glass ( Front )
  1731. tag = "tag_glass_front";
  1732. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1733. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1734. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  1735. destructible_sound( "veh_glass_break_large" );
  1736. destructible_state( undefined );
  1737. // Glass ( Back )
  1738. tag = "tag_glass_back";
  1739. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1740. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1741. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  1742. destructible_sound( "veh_glass_break_large" );
  1743. destructible_state( undefined );
  1744. // Glass ( Left Front )
  1745. tag = "tag_glass_left_front";
  1746. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1747. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1748. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  1749. destructible_sound( "veh_glass_break_large" );
  1750. destructible_state( undefined );
  1751. // Glass ( Right Front )
  1752. tag = "tag_glass_right_front";
  1753. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1754. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1755. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  1756. destructible_sound( "veh_glass_break_large" );
  1757. destructible_state( undefined );
  1758. // Glass ( Left Back )
  1759. tag = "tag_glass_left_back";
  1760. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1761. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1762. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  1763. destructible_sound( "veh_glass_break_large" );
  1764. destructible_state( undefined );
  1765. // Glass ( Right Back )
  1766. tag = "tag_glass_right_back";
  1767. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1768. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1769. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  1770. destructible_sound( "veh_glass_break_large" );
  1771. destructible_state( undefined );
  1772. // Head Light ( Left )
  1773. tag = "tag_light_left_front";
  1774. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1775. destructible_fx( tag, "props/car_glass_headlight" );
  1776. destructible_sound( "veh_glass_break_small" );
  1777. destructible_state( tag + "_d" );
  1778. // Head Light ( Right )
  1779. tag = "tag_light_right_front";
  1780. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1781. destructible_fx( tag, "props/car_glass_headlight" );
  1782. destructible_sound( "veh_glass_break_small" );
  1783. destructible_state( tag + "_d" );
  1784. // Tail Light ( Left )
  1785. tag = "tag_light_left_back";
  1786. destructible_part( tag, undefined, 20 );
  1787. destructible_fx( tag, "props/car_glass_brakelight" );
  1788. destructible_sound( "veh_glass_break_small" );
  1789. destructible_state( tag + "_d" );
  1790. // Tail Light ( Right )
  1791. tag = "tag_light_right_back";
  1792. destructible_part( tag, undefined, 20 );
  1793. destructible_fx( tag, "props/car_glass_brakelight" );
  1794. destructible_sound( "veh_glass_break_small" );
  1795. destructible_state( tag + "_d" );
  1796. // Bumpers
  1797. destructible_part( "tag_bumper_front" );
  1798. destructible_part( "tag_bumper_back" );
  1799. // Side Mirrors
  1800. destructible_part( "tag_mirror_left", "vehicle_80s_hatch2_" + color + "_mirror_L", 40 );
  1801. destructible_physics();
  1802. destructible_part( "tag_mirror_right", "vehicle_80s_hatch2_" + color + "_mirror_R", 40 );
  1803. destructible_physics();
  1804. }
  1805.  
  1806. vehicle_80s_wagon1( color )
  1807. {
  1808. //---------------------------------------------------------------------
  1809. // 80's wagon
  1810. //---------------------------------------------------------------------
  1811. destructible_create( "vehicle_80s_wagon1_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  1812. //destructible_splash_damage_scaler( 18 );
  1813. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  1814. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  1815. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  1816. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  1817. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  1818. destructible_sound( "fire_vehicle_flareup_med" );
  1819. destructible_loopsound( "fire_vehicle_med" );
  1820. destructible_healthdrain( 12, 0.2, 150, "allies" );
  1821. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  1822. destructible_loopsound( "fire_vehicle_med" );
  1823. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  1824. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  1825. destructible_sound( "car_explode" );
  1826. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  1827. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  1828. destructible_state( undefined, "vehicle_80s_wagon1_" + color + "_destroyed", undefined, 32, "no_melee" );
  1829. // Hood
  1830. tag = "tag_hood";
  1831. destructible_part( tag, "vehicle_80s_wagon1_" + color + "_hood", 800, undefined, undefined, undefined, 1.0, 1.5 );
  1832. // Tires
  1833. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1834. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  1835. destructible_sound( "veh_tire_deflate", "bullet" );
  1836. destructible_part( "left_wheel_02_jnt", "vehicle_80s_wagon1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1837. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  1838. destructible_sound( "veh_tire_deflate", "bullet" );
  1839. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1840. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  1841. destructible_sound( "veh_tire_deflate", "bullet" );
  1842. destructible_part( "right_wheel_02_jnt", "vehicle_80s_wagon1_" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  1843. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  1844. destructible_sound( "veh_tire_deflate", "bullet" );
  1845. // Doors
  1846. destructible_part( "tag_door_left_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1847. destructible_part( "tag_door_left_back", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1848. destructible_part( "tag_door_right_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  1849. destructible_part( "tag_door_right_back", "vehicle_80s_wagon1_" + color + "_door_RB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1850. // Glass ( Front )
  1851. tag = "tag_glass_front";
  1852. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1853. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1854. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  1855. destructible_sound( "veh_glass_break_large" );
  1856. destructible_state( undefined );
  1857. // Glass ( Back )
  1858. tag = "tag_glass_back";
  1859. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1860. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1861. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  1862. destructible_sound( "veh_glass_break_large" );
  1863. destructible_state( undefined );
  1864. // Glass ( Left Front )
  1865. tag = "tag_glass_left_front";
  1866. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1867. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1868. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  1869. destructible_sound( "veh_glass_break_large" );
  1870. destructible_state( undefined );
  1871. // Glass ( Right Front )
  1872. tag = "tag_glass_right_front";
  1873. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1874. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1875. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  1876. destructible_sound( "veh_glass_break_large" );
  1877. destructible_state( undefined );
  1878. // Glass ( Left Back )
  1879. tag = "tag_glass_left_back";
  1880. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1881. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1882. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  1883. destructible_sound( "veh_glass_break_large" );
  1884. destructible_state( undefined );
  1885. // Glass ( Right Back )
  1886. tag = "tag_glass_right_back";
  1887. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1888. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1889. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  1890. destructible_sound( "veh_glass_break_large" );
  1891. destructible_state( undefined );
  1892. // Glass ( Left Back 2 )
  1893. tag = "tag_glass_left_back2";
  1894. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1895. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1896. destructible_fx( "tag_glass_left_back2_fx", "props/car_glass_med" );
  1897. destructible_sound( "veh_glass_break_large" );
  1898. destructible_state( undefined );
  1899. // Glass ( Right Back 2 )
  1900. tag = "tag_glass_right_back2";
  1901. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1902. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1903. destructible_fx( "tag_glass_right_back2_fx", "props/car_glass_med" );
  1904. destructible_sound( "veh_glass_break_large" );
  1905. destructible_state( undefined );
  1906. // Head Light ( Left )
  1907. tag = "tag_light_left_front";
  1908. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1909. destructible_fx( tag, "props/car_glass_headlight" );
  1910. destructible_sound( "veh_glass_break_small" );
  1911. destructible_state( tag + "_d" );
  1912. // Head Light ( Right )
  1913. tag = "tag_light_right_front";
  1914. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  1915. destructible_fx( tag, "props/car_glass_headlight" );
  1916. destructible_sound( "veh_glass_break_small" );
  1917. destructible_state( tag + "_d" );
  1918. // Tail Light ( Left )
  1919. tag = "tag_light_left_back";
  1920. destructible_part( tag, undefined, 20 );
  1921. destructible_fx( tag, "props/car_glass_brakelight" );
  1922. destructible_sound( "veh_glass_break_small" );
  1923. destructible_state( tag + "_d" );
  1924. // Tail Light ( Right )
  1925. tag = "tag_light_right_back";
  1926. destructible_part( tag, undefined, 20 );
  1927. destructible_fx( tag, "props/car_glass_brakelight" );
  1928. destructible_sound( "veh_glass_break_small" );
  1929. destructible_state( tag + "_d" );
  1930. // Bumpers
  1931. destructible_part( "tag_bumper_front", "vehicle_80s_wagon1_" + color + "_bumper_F", undefined, undefined, undefined, undefined, 1.0, 0.7 );
  1932. destructible_part( "tag_bumper_back", undefined, undefined, undefined, undefined, undefined, undefined, 0.6 );
  1933. // Side Mirrors
  1934. destructible_part( "tag_mirror_left", "vehicle_80s_wagon1_" + color + "_mirror_L", 40 );
  1935. destructible_physics();
  1936. destructible_part( "tag_mirror_right", "vehicle_80s_wagon1_" + color + "_mirror_R", 40 );
  1937. destructible_physics();
  1938. }
  1939.  
  1940. vehicle_small_hatch( color )
  1941. {
  1942. //---------------------------------------------------------------------
  1943. // small hatch
  1944. //---------------------------------------------------------------------
  1945. destructible_create( "vehicle_small_hatch_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  1946. //destructible_splash_damage_scaler( 18 );
  1947. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  1948. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  1949. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  1950. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  1951. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  1952. destructible_sound( "fire_vehicle_flareup_med" );
  1953. destructible_loopsound( "fire_vehicle_med" );
  1954. destructible_healthdrain( 15, 0.25, 150, "allies" );
  1955. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  1956. destructible_loopsound( "fire_vehicle_med" );
  1957. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  1958. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  1959. destructible_sound( "car_explode" );
  1960. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  1961. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  1962. destructible_state( undefined, "vehicle_small_hatch_" + color + "_destroyed", undefined, 32, "no_melee" );
  1963. // Hood
  1964. tag = "tag_hood";
  1965. destructible_part( tag, "vehicle_small_hatch_" + color + "_hood", 800, undefined, undefined, undefined, 1.0, 1.5 );
  1966. // Tires
  1967. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1968. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  1969. destructible_sound( "veh_tire_deflate", "bullet" );
  1970. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1971. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  1972. destructible_sound( "veh_tire_deflate", "bullet" );
  1973. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1974. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  1975. destructible_sound( "veh_tire_deflate", "bullet" );
  1976. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  1977. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  1978. destructible_sound( "veh_tire_deflate", "bullet" );
  1979. // Doors
  1980. destructible_part( "tag_door_left_front", "vehicle_small_hatch_" + color + "_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1981. destructible_part( "tag_door_right_front", "vehicle_small_hatch_" + color + "_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  1982. // Glass ( Front )
  1983. tag = "tag_glass_front";
  1984. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1985. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1986. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  1987. destructible_sound( "veh_glass_break_large" );
  1988. destructible_state( undefined );
  1989. // Glass ( Back )
  1990. tag = "tag_glass_back";
  1991. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  1992. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  1993. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  1994. destructible_sound( "veh_glass_break_large" );
  1995. destructible_state( undefined );
  1996. // Glass ( Left Front )
  1997. tag = "tag_glass_left_front";
  1998. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  1999. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2000. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2001. destructible_sound( "veh_glass_break_large" );
  2002. destructible_state( undefined );
  2003. // Glass ( Right Front )
  2004. tag = "tag_glass_right_front";
  2005. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2006. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2007. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2008. destructible_sound( "veh_glass_break_large" );
  2009. destructible_state( undefined );
  2010. // Glass ( Left Back )
  2011. tag = "tag_glass_left_back";
  2012. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2013. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2014. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  2015. destructible_sound( "veh_glass_break_large" );
  2016. destructible_state( undefined );
  2017. // Glass ( Right Back )
  2018. tag = "tag_glass_right_back";
  2019. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2020. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2021. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  2022. destructible_sound( "veh_glass_break_large" );
  2023. destructible_state( undefined );
  2024. // Head Light ( Left )
  2025. tag = "tag_light_left_front";
  2026. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2027. destructible_fx( tag, "props/car_glass_headlight" );
  2028. destructible_sound( "veh_glass_break_small" );
  2029. destructible_state( tag + "_d" );
  2030. // Head Light ( Right )
  2031. tag = "tag_light_right_front";
  2032. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2033. destructible_fx( tag, "props/car_glass_headlight" );
  2034. destructible_sound( "veh_glass_break_small" );
  2035. destructible_state( tag + "_d" );
  2036. // Tail Light ( Left )
  2037. tag = "tag_light_left_back";
  2038. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2039. destructible_fx( tag, "props/car_glass_brakelight" );
  2040. destructible_sound( "veh_glass_break_small" );
  2041. destructible_state( tag + "_d" );
  2042. // Tail Light ( Right )
  2043. tag = "tag_light_right_back";
  2044. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2045. destructible_fx( tag, "props/car_glass_brakelight" );
  2046. destructible_sound( "veh_glass_break_small" );
  2047. destructible_state( tag + "_d" );
  2048. // Bumpers
  2049. destructible_part( "tag_bumper_front", undefined, undefined, undefined, undefined, undefined, 1.0 );
  2050. destructible_part( "tag_bumper_back", undefined, undefined, undefined, undefined, undefined, 0.5 );
  2051. // Side Mirrors
  2052. destructible_part( "tag_mirror_left", "vehicle_small_hatch_" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  2053. destructible_physics();
  2054. destructible_part( "tag_mirror_right", "vehicle_small_hatch_" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  2055. destructible_physics();
  2056. }
  2057.  
  2058. vehicle_pickup( destructibleType )
  2059. {
  2060. //---------------------------------------------------------------------
  2061. // White Pickup Truck
  2062. //---------------------------------------------------------------------
  2063. destructible_create( destructibleType, "tag_body", 300, undefined, 32, "no_melee" );
  2064. //destructible_splash_damage_scaler( 18 );
  2065. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2066. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2067. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2068. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2069. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2070. destructible_sound( "fire_vehicle_flareup_med" );
  2071. destructible_loopsound( "fire_vehicle_med" );
  2072. destructible_healthdrain( 15, 0.25, 210, "allies" );
  2073. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2074. destructible_loopsound( "fire_vehicle_med" );
  2075. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2076. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2077. destructible_sound( "car_explode" );
  2078. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2079. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2080. destructible_state( undefined, "vehicle_pickup_destroyed", undefined, 32, "no_melee" );
  2081. // Hood
  2082. tag = "tag_hood";
  2083. destructible_part( tag, "vehicle_pickup_hood", 800, undefined, undefined, undefined, 1.0, 2.5 );
  2084. // Tires
  2085. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2086. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2087. destructible_sound( "veh_tire_deflate", "bullet" );
  2088. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2089. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2090. destructible_sound( "veh_tire_deflate", "bullet" );
  2091. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2092. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2093. destructible_sound( "veh_tire_deflate", "bullet" );
  2094. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2095. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2096. destructible_sound( "veh_tire_deflate", "bullet" );
  2097. // Doors
  2098. destructible_part( "tag_door_left_front", "vehicle_pickup_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2099. destructible_part( "tag_door_right_front", "vehicle_pickup_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2100. // Glass ( Front )
  2101. tag = "tag_glass_front";
  2102. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2103. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2104. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2105. destructible_sound( "veh_glass_break_large" );
  2106. destructible_state( undefined );
  2107. // Glass ( Back )
  2108. tag = "tag_glass_back";
  2109. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2110. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2111. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  2112. destructible_sound( "veh_glass_break_large" );
  2113. destructible_state( undefined );
  2114. // Glass ( Left Front )
  2115. tag = "tag_glass_left_front";
  2116. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2117. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2118. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2119. destructible_sound( "veh_glass_break_large" );
  2120. destructible_state( undefined );
  2121. // Glass ( Right Front )
  2122. tag = "tag_glass_right_front";
  2123. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2124. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2125. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2126. destructible_sound( "veh_glass_break_large" );
  2127. destructible_state( undefined );
  2128. // Glass ( Left Back )
  2129. tag = "tag_glass_left_back";
  2130. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2131. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2132. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  2133. destructible_sound( "veh_glass_break_large" );
  2134. destructible_state( undefined );
  2135. // Glass ( Right Back )
  2136. tag = "tag_glass_right_back";
  2137. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2138. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2139. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  2140. destructible_sound( "veh_glass_break_large" );
  2141. destructible_state( undefined );
  2142. // Head Light ( Left )
  2143. tag = "tag_light_left_front";
  2144. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2145. destructible_fx( tag, "props/car_glass_headlight" );
  2146. destructible_sound( "veh_glass_break_small" );
  2147. destructible_state( tag + "_d" );
  2148. // Head Light ( Right )
  2149. tag = "tag_light_right_front";
  2150. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2151. destructible_fx( tag, "props/car_glass_headlight" );
  2152. destructible_sound( "veh_glass_break_small" );
  2153. destructible_state( tag + "_d" );
  2154. // Tail Light ( Left )
  2155. tag = "tag_light_left_back";
  2156. destructible_part( tag, undefined, 20 );
  2157. destructible_fx( tag, "props/car_glass_brakelight" );
  2158. destructible_sound( "veh_glass_break_small" );
  2159. destructible_state( tag + "_d" );
  2160. // Tail Light ( Right )
  2161. tag = "tag_light_right_back";
  2162. destructible_part( tag, undefined, 20 );
  2163. destructible_fx( tag, "props/car_glass_brakelight" );
  2164. destructible_sound( "veh_glass_break_small" );
  2165. destructible_state( tag + "_d" );
  2166. // Bumpers
  2167. destructible_part( "tag_bumper_front", undefined, undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2168. destructible_part( "tag_bumper_back", undefined, undefined, undefined, undefined, undefined, undefined, 1.0 );
  2169. // Side Mirrors
  2170. destructible_part( "tag_mirror_left", "vehicle_pickup_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  2171. destructible_physics();
  2172. destructible_part( "tag_mirror_right", "vehicle_pickup_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  2173. destructible_physics();
  2174. }
  2175.  
  2176. vehicle_hummer( destructibleType )
  2177. {
  2178. //---------------------------------------------------------------------
  2179. // Hummer
  2180. //---------------------------------------------------------------------
  2181. destructible_create( destructibleType, "tag_body", 400, undefined, 32, "no_melee" );
  2182. //destructible_splash_damage_scaler( 18 );
  2183. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2184. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2185. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2186. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2187. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2188. destructible_sound( "fire_vehicle_flareup_med" );
  2189. destructible_loopsound( "fire_vehicle_med" );
  2190. destructible_healthdrain( 15, 0.25, 210, "allies" );
  2191. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2192. destructible_loopsound( "fire_vehicle_med" );
  2193. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2194. destructible_fx( "tag_deathfx", "explosions/vehicle_explosion_hummer", false );
  2195. destructible_sound( "car_explode" );
  2196. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2197. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2198. destructible_state( undefined, "vehicle_hummer_destroyed", undefined, 32, "no_melee" );
  2199. // Tires
  2200. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2201. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2202. destructible_sound( "veh_tire_deflate", "bullet" );
  2203. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2204. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2205. destructible_sound( "veh_tire_deflate", "bullet" );
  2206. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2207. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2208. destructible_sound( "veh_tire_deflate", "bullet" );
  2209. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2210. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2211. destructible_sound( "veh_tire_deflate", "bullet" );
  2212. // Glass ( Front )
  2213. tag = "tag_glass_front";
  2214. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2215. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2216. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2217. destructible_sound( "veh_glass_break_large" );
  2218. destructible_state( undefined );
  2219. // Glass ( Left Front )
  2220. tag = "tag_glass_left_front";
  2221. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2222. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2223. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2224. destructible_sound( "veh_glass_break_large" );
  2225. destructible_state( undefined );
  2226. // Glass ( Right Front )
  2227. tag = "tag_glass_right_front";
  2228. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2229. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2230. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2231. destructible_sound( "veh_glass_break_large" );
  2232. destructible_state( undefined );
  2233. // Glass ( Left Back )
  2234. tag = "tag_glass_left_back";
  2235. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2236. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2237. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  2238. destructible_sound( "veh_glass_break_large" );
  2239. destructible_state( undefined );
  2240. // Glass ( Right Back )
  2241. tag = "tag_glass_right_back";
  2242. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2243. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2244. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  2245. destructible_sound( "veh_glass_break_large" );
  2246. destructible_state( undefined );
  2247. }
  2248.  
  2249. vehicle_bm21( destructibleType, destroyedModel )
  2250. {
  2251. //---------------------------------------------------------------------
  2252. // BM21
  2253. //---------------------------------------------------------------------
  2254. destructible_create( destructibleType, "tag_body", 300, undefined, 32, "no_melee" );
  2255. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2256. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2257. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2258. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2259. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2260. destructible_sound( "fire_vehicle_flareup_med" );
  2261. destructible_loopsound( "fire_vehicle_med" );
  2262. destructible_healthdrain( 15, 0.25, 210, "allies" );
  2263. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2264. destructible_loopsound( "fire_vehicle_med" );
  2265. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2266. destructible_fx( "tag_deathfx", "explosions/small_vehicle_explosion", false );
  2267. destructible_sound( "car_explode" );
  2268. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2269. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2270. destructible_state( undefined, destroyedModel, undefined, 32, "no_melee" );
  2271. // Tires
  2272. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2273. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2274. destructible_sound( "veh_tire_deflate", "bullet" );
  2275. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2276. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2277. destructible_sound( "veh_tire_deflate", "bullet" );
  2278. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2279. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2280. destructible_sound( "veh_tire_deflate", "bullet" );
  2281. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2282. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2283. destructible_sound( "veh_tire_deflate", "bullet" );
  2284. // Glass ( Front )
  2285. tag = "tag_glass_front";
  2286. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2287. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2288. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2289. destructible_sound( "veh_glass_break_large" );
  2290. destructible_state( undefined );
  2291. // Glass ( Back )
  2292. tag = "tag_glass_back";
  2293. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2294. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2295. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  2296. destructible_sound( "veh_glass_break_large" );
  2297. destructible_state( undefined );
  2298. // Glass ( Left Front )
  2299. tag = "tag_glass_left_front";
  2300. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2301. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2302. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2303. destructible_sound( "veh_glass_break_large" );
  2304. destructible_state( undefined );
  2305. // Glass ( Right Front )
  2306. tag = "tag_glass_right_front";
  2307. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2308. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2309. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2310. destructible_sound( "veh_glass_break_large" );
  2311. destructible_state( undefined );
  2312. }
  2313.  
  2314. vehicle_moving_truck( destructibleType )
  2315. {
  2316. //---------------------------------------------------------------------
  2317. // White Moving Truck
  2318. //---------------------------------------------------------------------
  2319. destructible_create( destructibleType, "tag_body", 300, undefined, 32, "no_melee" );
  2320. //destructible_splash_damage_scaler( 18 );
  2321. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2322. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2323. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2324. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2325. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2326. destructible_sound( "fire_vehicle_flareup_med" );
  2327. destructible_loopsound( "fire_vehicle_med" );
  2328. destructible_healthdrain( 15, 0.25, 210, "allies" );
  2329. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2330. destructible_loopsound( "fire_vehicle_med" );
  2331. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2332. destructible_fx( "tag_death_fx", "explosions/vehicle_explosion_medium", false );
  2333. destructible_sound( "car_explode" );
  2334. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2335. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2336. destructible_state( undefined, "vehicle_moving_truck_dst", undefined, 32, "no_melee" );
  2337. // Tires
  2338. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2339. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2340. destructible_sound( "veh_tire_deflate", "bullet" );
  2341. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2342. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2343. destructible_sound( "veh_tire_deflate", "bullet" );
  2344. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2345. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2346. destructible_sound( "veh_tire_deflate", "bullet" );
  2347. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2348. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2349. destructible_sound( "veh_tire_deflate", "bullet" );
  2350. // Glass ( Front )
  2351. tag = "tag_glass_front";
  2352. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2353. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2354. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2355. destructible_sound( "veh_glass_break_large" );
  2356. destructible_state( undefined );
  2357. // Glass ( Left Front )
  2358. tag = "tag_glass_left_front";
  2359. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2360. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2361. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2362. destructible_sound( "veh_glass_break_large" );
  2363. destructible_state( undefined );
  2364. // Glass ( Right Front )
  2365. tag = "tag_glass_right_front";
  2366. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2367. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2368. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2369. destructible_sound( "veh_glass_break_large" );
  2370. destructible_state( undefined );
  2371. // Bumpers
  2372. //destructible_part( "tag_bumper_front", undefined, undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2373. //destructible_part( "tag_bumper_back", undefined, undefined, undefined, undefined, undefined, undefined, 1.0 );
  2374. }
  2375.  
  2376. vehicle_luxurysedan( color )
  2377. {
  2378. //---------------------------------------------------------------------
  2379. // Luxury Sedan
  2380. //---------------------------------------------------------------------
  2381. destructible_create( "vehicle_luxurysedan_2008" + color, "tag_body", 250, undefined, 32, "no_melee" );
  2382. //destructible_splash_damage_scaler( 18 );
  2383. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2384. destructible_car_alarm();
  2385. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2386. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2387. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2388. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2389. destructible_sound( "fire_vehicle_flareup_med" );
  2390. destructible_loopsound( "fire_vehicle_med" );
  2391. destructible_healthdrain( 15, 0.25, 210, "allies" );
  2392. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2393. destructible_loopsound( "fire_vehicle_med" );
  2394. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2395. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2396. destructible_sound( "car_explode" );
  2397. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2398. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2399. destructible_state( undefined, "vehicle_luxurysedan_2008" + color + "_destroy", undefined, 32, "no_melee" );
  2400. // Hood
  2401. tag = "tag_hood";
  2402. destructible_part( tag, "vehicle_luxurysedan_2008" + color + "_hood", 800, undefined, undefined, undefined, 1.0, 2.5 );
  2403. // Tires
  2404. destructible_part( "left_wheel_01_jnt", "vehicle_luxurysedan_2008" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2405. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2406. destructible_sound( "veh_tire_deflate", "bullet" );
  2407. destructible_car_alarm();
  2408. destructible_part( "left_wheel_02_jnt", "vehicle_luxurysedan_2008" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2409. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2410. destructible_sound( "veh_tire_deflate", "bullet" );
  2411. destructible_car_alarm();
  2412. destructible_part( "right_wheel_01_jnt", "vehicle_luxurysedan_2008" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2413. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2414. destructible_sound( "veh_tire_deflate", "bullet" );
  2415. destructible_car_alarm();
  2416. destructible_part( "right_wheel_02_jnt", "vehicle_luxurysedan_2008" + color + "_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2417. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2418. destructible_sound( "veh_tire_deflate", "bullet" );
  2419. destructible_car_alarm();
  2420. // Doors
  2421. destructible_part( "tag_door_left_front", "vehicle_luxurysedan_2008" + color + "_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2422. destructible_part( "tag_door_right_front", "vehicle_luxurysedan_2008" + color + "_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2423. destructible_part( "tag_door_left_back", "vehicle_luxurysedan_2008" + color + "_door_LB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2424. destructible_part( "tag_door_right_back", "vehicle_luxurysedan_2008" + color + "_door_RB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2425. // Glass ( Front )
  2426. tag = "tag_glass_front";
  2427. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2428. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2429. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2430. destructible_sound( "veh_glass_break_large" );
  2431. destructible_car_alarm();
  2432. destructible_state( undefined );
  2433. // Glass ( Back )
  2434. tag = "tag_glass_back";
  2435. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2436. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2437. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  2438. destructible_sound( "veh_glass_break_large" );
  2439. destructible_car_alarm();
  2440. destructible_state( undefined );
  2441. // Glass ( Left Front )
  2442. tag = "tag_glass_left_front";
  2443. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2444. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2445. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2446. destructible_sound( "veh_glass_break_large" );
  2447. destructible_car_alarm();
  2448. destructible_state( undefined );
  2449. // Glass ( Right Front )
  2450. tag = "tag_glass_right_front";
  2451. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2452. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2453. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2454. destructible_sound( "veh_glass_break_large" );
  2455. destructible_car_alarm();
  2456. destructible_state( undefined );
  2457. // Glass ( Left Back )
  2458. tag = "tag_glass_left_back";
  2459. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2460. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2461. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  2462. destructible_sound( "veh_glass_break_large" );
  2463. destructible_car_alarm();
  2464. destructible_state( undefined );
  2465. // Glass ( Right Back )
  2466. tag = "tag_glass_right_back";
  2467. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2468. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2469. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  2470. destructible_sound( "veh_glass_break_large" );
  2471. destructible_car_alarm();
  2472. destructible_state( undefined );
  2473. // Head Light ( Left )
  2474. tag = "tag_light_left_front";
  2475. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2476. destructible_fx( tag, "props/car_glass_headlight" );
  2477. destructible_sound( "veh_glass_break_small" );
  2478. destructible_state( tag + "_d" );
  2479. // Head Light ( Right )
  2480. tag = "tag_light_right_front";
  2481. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2482. destructible_fx( tag, "props/car_glass_headlight" );
  2483. destructible_sound( "veh_glass_break_small" );
  2484. destructible_state( tag + "_d" );
  2485. // Side Mirrors
  2486. destructible_part( "tag_mirror_left", "vehicle_luxurysedan_2008" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  2487. destructible_physics();
  2488. destructible_part( "tag_mirror_right", "vehicle_luxurysedan_2008" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  2489. destructible_physics();
  2490. }
  2491.  
  2492.  
  2493. vehicle_mig29_landed( destructibleType )
  2494. {
  2495. //---------------------------------------------------------------------
  2496. // Mig 29 Landed Airplane
  2497. //---------------------------------------------------------------------
  2498. destructible_create( destructibleType, "TAG_ORIGIN", 250, undefined, 32, "splash" );
  2499. destructible_splash_damage_scaler( 11 );
  2500. destructible_loopfx( "TAG_front_fire", "smoke/car_damage_whitesmoke", 0.4 );
  2501. destructible_loopfx( "TAG_rear_fire", "smoke/car_damage_whitesmoke", 0.4 );
  2502. destructible_state( undefined, undefined, 200, undefined, 32, "splash" );
  2503. destructible_loopfx( "TAG_front_fire", "smoke/car_damage_blacksmoke", 0.4 );
  2504. destructible_loopfx( "TAG_rear_fire", "smoke/car_damage_blacksmoke", 0.4 );
  2505. destructible_state( undefined, undefined, 100, undefined, 32, "splash" );
  2506. destructible_loopfx( "TAG_front_fire", "smoke/airplane_damage_blacksmoke_fire", 0.4 );
  2507. destructible_loopfx( "TAG_rear_fire", "smoke/airplane_damage_blacksmoke_fire", 0.4 );
  2508. destructible_sound( "fire_vehicle_flareup_med" );
  2509. destructible_loopsound( "fire_vehicle_med" );
  2510. destructible_healthdrain( 15, 0.25, 512, "allies" );
  2511. destructible_state( undefined, undefined, 300, "player_only", 32, "splash" );
  2512. destructible_loopsound( "fire_vehicle_med" );
  2513. destructible_state( undefined, undefined, 400, undefined, 32, "splash" );
  2514. destructible_fx( "TAG_FX", "explosions/vehicle_explosion_mig29", false );
  2515. destructible_sound( "car_explode" );
  2516. destructible_explode( 8000, 10000, 512, 512, 50, 300, undefined, undefined, 0.4, 1000 );
  2517. destructible_anim( %vehicle_mig29_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_mig29_destroy" );
  2518. destructible_state( undefined, "vehicle_mig29_v2_dest", undefined, 32, "splash" );
  2519.  
  2520. destructible_part( "TAG_COCKPIT", "vehicle_mig29_dest_cockpit", 40, undefined, undefined, undefined, undefined, 1.0 );
  2521. }
  2522.  
  2523. vehicle_mack_truck_short( color )
  2524. {
  2525. //---------------------------------------------------------------------
  2526. // Mack Truck
  2527. //---------------------------------------------------------------------
  2528. destructible_create( "vehicle_mack_truck_short_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  2529. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2530. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2531. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2532. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2533. destructible_loopfx( "tag_hood_fx", "smoke/mack_truck_damage_blacksmoke_fire", 0.4 );
  2534. destructible_loopfx( "tag_gastank", "smoke/motorcycle_damage_blacksmoke_fire", 0.4 );
  2535. destructible_sound( "mack_truck_flareup_med" );
  2536. destructible_loopsound( "mack_truck_fire_med" );
  2537. destructible_healthdrain( 15, 0.25, 300, "allies" );
  2538. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2539. destructible_loopsound( "mack_truck_fire_med" );
  2540. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2541. destructible_loopfx( "tag_gastank", "smoke/motorcycle_damage_blacksmoke_fire", 0.4 );
  2542. destructible_fx( "tag_cab_fire", "fire/firelp_med_pm" );
  2543. destructible_fx( "tag_death_fx", "explosions/propane_large_exp", false );
  2544. destructible_sound( "mack_truck_explode" );
  2545. destructible_loopsound( "fire_metal_large" );
  2546. destructible_explode( 8000, 10000, 512, 512, 100, 400, undefined, undefined, 0.4, 1000 );
  2547. //destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2548. destructible_state( undefined, "vehicle_mack_truck_short_" + color + "_destroy", undefined, 32, "no_melee" );
  2549. // Tires
  2550. destructible_part( "left_wheel_01_jnt", "vehicle_mack_truck_short_" + color + "_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 8.0 );
  2551. destructible_part( "left_wheel_02_jnt", "vehicle_mack_truck_short_" + color + "_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 81.0 );
  2552. destructible_part( "left_wheel_03_jnt", "vehicle_mack_truck_short_" + color + "_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 8.0 );
  2553. // Doors
  2554. destructible_part( "tag_door_left_front", "vehicle_mack_truck_short_" + color + "_door_lf", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2555. // Glass ( Front )
  2556. tag = "tag_glass_front";
  2557. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2558. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2559. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2560. destructible_sound( "mack_truck_glass_break_large" );
  2561. destructible_state( undefined );
  2562. // Glass ( Back )
  2563. tag = "tag_glass_back";
  2564. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2565. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2566. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  2567. destructible_sound( "mack_truck_glass_break_large" );
  2568. destructible_state( undefined );
  2569. // Glass ( Left Front )
  2570. tag = "tag_glass_left_front";
  2571. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2572. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2573. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2574. destructible_sound( "mack_truck_glass_break_small" );
  2575. destructible_state( undefined );
  2576. // Glass ( Right Front )
  2577. tag = "tag_glass_right_front";
  2578. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2579. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2580. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2581. destructible_sound( "mack_truck_glass_break_small" );
  2582. destructible_state( undefined );
  2583. }
  2584.  
  2585. vehicle_motorcycle( number )
  2586. {
  2587. explode_anim = undefined;
  2588. explode_anim = get_precached_anim( "vehicle_motorcycle_destroy_" + number );
  2589.  
  2590. //---------------------------------------------------------------------
  2591. // Motorcycle
  2592. //---------------------------------------------------------------------
  2593. destructible_create( "vehicle_motorcycle_" + number, "body_animate_jnt", 250, undefined, 32, "no_melee" );
  2594. //destructible_splash_damage_scaler( 18 );
  2595. destructible_loopfx( "tag_death_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2596. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2597. destructible_loopfx( "tag_death_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2598. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2599. destructible_loopfx( "tag_death_fx", "smoke/motorcycle_damage_blacksmoke_fire", 0.4 );
  2600. destructible_sound( "fire_vehicle_flareup_med" );
  2601. destructible_loopsound( "fire_vehicle_med" );
  2602. destructible_healthdrain( 15, 0.25, 128, "allies" );
  2603. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2604. destructible_loopsound( "fire_vehicle_med" );
  2605. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2606. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2607. destructible_sound( "car_explode" );
  2608. destructible_explode( 3000, 4000, 128, 150, 50, 300 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  2609. destructible_anim( explode_anim, #animtree, "setanimknob", undefined, undefined, "vehicle_motorcycle_destroy_" + number );
  2610. destructible_state( undefined, "vehicle_motorcycle_" + number + "_destroy", undefined, 32, "no_melee" );
  2611. // Tires
  2612. destructible_part( "front_wheel", "vehicle_motorcycle_01_front_wheel_d", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2613. // destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2614. // destructible_sound( "veh_tire_deflate", "bullet" );
  2615. destructible_part( "rear_wheel", "vehicle_motorcycle_01_rear_wheel_d", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2616. // destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2617. // destructible_sound( "veh_tire_deflate", "bullet" );
  2618. }
  2619.  
  2620. vehicle_subcompact( color )
  2621. {
  2622. //---------------------------------------------------------------------
  2623. // Modern Subcompact - shares textures with coupee and Van
  2624. //---------------------------------------------------------------------
  2625. destructible_create( "vehicle_subcompact_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  2626. //destructible_splash_damage_scaler( 18 );
  2627. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2628. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2629. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2630. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2631. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2632. destructible_sound( "fire_vehicle_flareup_med" );
  2633. destructible_loopsound( "fire_vehicle_med" );
  2634. destructible_healthdrain( 12, 0.2, 150, "allies" );
  2635. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2636. destructible_loopsound( "fire_vehicle_med" );
  2637. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2638. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2639. destructible_sound( "car_explode" );
  2640. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, 0, 0.3, 500 );
  2641. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2642. destructible_state( undefined, "vehicle_subcompact_" + color + "_destroyed", undefined, 32, "no_melee" );
  2643. // Tires
  2644. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2645. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2646. destructible_sound( "veh_tire_deflate", "bullet" );
  2647. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2648. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2649. destructible_sound( "veh_tire_deflate", "bullet" );
  2650. destructible_part( "left_wheel_02_jnt", "vehicle_subcompact_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  2651. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2652. destructible_sound( "veh_tire_deflate", "bullet" );
  2653. destructible_part( "right_wheel_02_jnt", "vehicle_subcompact_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  2654. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2655. destructible_sound( "veh_tire_deflate", "bullet" );
  2656. // Doors
  2657. destructible_part( "tag_door_left_back", "vehicle_subcompact_" + color + "_door_LB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2658. destructible_part( "tag_door_right_back", "vehicle_subcompact_" + color + "_door_RB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2659. // Glass ( Front )
  2660. tag = "tag_glass_front";
  2661. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2662. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2663. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  2664. destructible_sound( "veh_glass_break_large" );
  2665. destructible_state( undefined );
  2666. // Glass ( Back )
  2667. tag = "tag_glass_back";
  2668. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2669. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2670. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  2671. destructible_sound( "veh_glass_break_large" );
  2672. destructible_state( undefined );
  2673. // Glass ( Left Front )
  2674. tag = "tag_glass_left_front";
  2675. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2676. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2677. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  2678. destructible_sound( "veh_glass_break_large" );
  2679. destructible_state( undefined );
  2680. // Glass ( Right Front )
  2681. tag = "tag_glass_right_front";
  2682. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2683. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2684. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  2685. destructible_sound( "veh_glass_break_large" );
  2686. destructible_state( undefined );
  2687. // Glass ( Left Back )
  2688. tag = "tag_glass_left_back";
  2689. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2690. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2691. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  2692. destructible_sound( "veh_glass_break_large" );
  2693. destructible_state( undefined );
  2694. // Glass ( Right Back )
  2695. tag = "tag_glass_right_back";
  2696. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2697. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2698. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  2699. destructible_sound( "veh_glass_break_large" );
  2700. destructible_state( undefined );
  2701. // Head Light ( Left )
  2702. tag = "tag_light_left_front";
  2703. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2704. destructible_fx( tag, "props/car_glass_headlight" );
  2705. destructible_sound( "veh_glass_break_small" );
  2706. destructible_state( tag + "_d" );
  2707. // Head Light ( Right )
  2708. tag = "tag_light_right_front";
  2709. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2710. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2711. destructible_fx( tag, "props/car_glass_headlight" );
  2712. destructible_sound( "veh_glass_break_small" );
  2713. destructible_state( tag + "_d" );
  2714. // Side Mirrors
  2715. destructible_part( "tag_mirror_left", "vehicle_subcompact_" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  2716. destructible_physics();
  2717. destructible_part( "tag_mirror_right", "vehicle_subcompact_" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  2718. destructible_physics();
  2719. }
  2720.  
  2721. vehicle_van( color )
  2722. {
  2723. //---------------------------------------------------------------------
  2724. // Modern van - shares textures with Subcompact and Coupe
  2725. //---------------------------------------------------------------------
  2726. destructible_create( "vehicle_van_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  2727. //destructible_splash_damage_scaler( 18 );
  2728. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2729. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2730. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2731. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2732. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2733. destructible_sound( "fire_vehicle_flareup_med" );
  2734. destructible_loopsound( "fire_vehicle_med" );
  2735. destructible_healthdrain( 12, 0.2, 210, "allies" );
  2736. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2737. destructible_loopsound( "fire_vehicle_med" );
  2738. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2739. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2740. destructible_sound( "car_explode" );
  2741. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  2742. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2743. destructible_state( undefined, "vehicle_van_" + color + "_destroyed", undefined, 32, "no_melee" );
  2744. // Hood
  2745. tag = "tag_hood";
  2746. destructible_part( tag, "vehicle_van_" + color + "_hood", undefined, undefined, undefined, undefined, 1.0, 2.5 );
  2747. // Tires
  2748. destructible_part( "left_wheel_01_jnt", "vehicle_van_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  2749. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2750. destructible_sound( "veh_tire_deflate", "bullet" );
  2751. destructible_part( "right_wheel_01_jnt", "vehicle_van_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  2752. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2753. destructible_sound( "veh_tire_deflate", "bullet" );
  2754. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2755. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2756. destructible_sound( "veh_tire_deflate", "bullet" );
  2757. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2758. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2759. destructible_sound( "veh_tire_deflate", "bullet" );
  2760. // Doors
  2761. destructible_part( "tag_door_right_back", "vehicle_van_" + color + "_door_RB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2762. // Glass ( Front )
  2763. tag = "tag_glass_front";
  2764. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2765. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2766. destructible_fx( tag + "_fx", "props/car_glass_large" );
  2767. destructible_sound( "veh_glass_break_large" );
  2768. destructible_state( undefined );
  2769. // Glass ( Back )
  2770. tag = "tag_glass_back";
  2771. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2772. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2773. destructible_fx( tag + "_fx", "props/car_glass_large" );
  2774. destructible_sound( "veh_glass_break_large" );
  2775. destructible_state( undefined );
  2776. // Glass ( Left Front )
  2777. tag = "tag_glass_left_front";
  2778. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2779. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2780. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2781. destructible_sound( "veh_glass_break_large" );
  2782. destructible_state( undefined );
  2783. // Glass ( Right Front )
  2784. tag = "tag_glass_right_front";
  2785. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2786. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2787. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2788. destructible_sound( "veh_glass_break_large" );
  2789. destructible_state( undefined );
  2790. // Glass ( Left Back )
  2791. tag = "tag_glass_left_back";
  2792. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2793. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2794. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2795. destructible_sound( "veh_glass_break_large" );
  2796. destructible_state( undefined );
  2797. // Glass ( Right Back )
  2798. tag = "tag_glass_right_back";
  2799. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2800. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2801. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2802. destructible_sound( "veh_glass_break_large" );
  2803. destructible_state( undefined );
  2804. // Glass ( Left Back 2 )
  2805. tag = "tag_glass_left_back_02";
  2806. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2807. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2808. destructible_fx( "tag_glass_left_back_02_fx", "props/car_glass_med" );
  2809. destructible_sound( "veh_glass_break_large" );
  2810. destructible_state( undefined );
  2811. // Glass ( Right Back 2 )
  2812. tag = "tag_glass_right_back_02";
  2813. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2814. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2815. destructible_fx( "tag_glass_right_back_02_fx", "props/car_glass_med" );
  2816. destructible_sound( "veh_glass_break_large" );
  2817. destructible_state( undefined );
  2818. // Head Light ( Left )
  2819. tag = "tag_light_left_front";
  2820. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2821. destructible_fx( tag, "props/car_glass_headlight" );
  2822. destructible_sound( "veh_glass_break_small" );
  2823. destructible_state( tag + "_d" );
  2824. // Head Light ( Right )
  2825. tag = "tag_light_right_front";
  2826. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2827. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2828. destructible_fx( tag, "props/car_glass_headlight" );
  2829. destructible_sound( "veh_glass_break_small" );
  2830. destructible_state( tag + "_d" );
  2831. // Side Mirrors
  2832. destructible_part( "tag_mirror_left", "vehicle_van_" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  2833. destructible_physics();
  2834. destructible_part( "tag_mirror_right", "vehicle_van_" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  2835. destructible_physics();
  2836. }
  2837.  
  2838. vehicle_suburban( destructibleType, color )
  2839. {
  2840. //---------------------------------------------------------------------
  2841. // Suburban
  2842. //---------------------------------------------------------------------
  2843. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  2844. //destructible_splash_damage_scaler( 18 );
  2845. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2846. destructible_car_alarm();
  2847. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2848. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2849. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2850. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  2851. destructible_sound( "fire_vehicle_flareup_med" );
  2852. destructible_loopsound( "fire_vehicle_med" );
  2853. destructible_healthdrain( 12, 0.2, 210, "allies" );
  2854. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2855. destructible_loopsound( "fire_vehicle_med" );
  2856. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2857. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2858. destructible_sound( "car_explode" );
  2859. destructible_explode( 4000, 5000, 300, 300, 50, 300, undefined, undefined, 0.3, 500 );
  2860. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  2861. destructible_state( undefined, "vehicle_suburban_destroyed" + color, undefined, 32, "no_melee" );
  2862. // Tires
  2863. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2864. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  2865. destructible_sound( "veh_tire_deflate", "bullet" );
  2866. destructible_car_alarm();
  2867. destructible_part( "right_wheel_01_jnt", "vehicle_suburban_wheel_rf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  2868. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  2869. destructible_sound( "veh_tire_deflate", "bullet" );
  2870. destructible_car_alarm();
  2871. destructible_part( "left_wheel_02_jnt", "vehicle_suburban_wheel_rf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  2872. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  2873. destructible_sound( "veh_tire_deflate", "bullet" );
  2874. destructible_car_alarm();
  2875. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  2876. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  2877. destructible_sound( "veh_tire_deflate", "bullet" );
  2878. destructible_car_alarm();
  2879. // Doors
  2880. destructible_part( "tag_door_left_back", "vehicle_suburban_door_lb" + color, undefined, undefined, undefined, undefined, 1.0, 1.0 );
  2881. // Glass ( Front )
  2882. tag = "tag_glass_front";
  2883. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2884. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2885. destructible_fx( tag + "_fx", "props/car_glass_large" );
  2886. destructible_sound( "veh_glass_break_large" );
  2887. destructible_car_alarm();
  2888. destructible_state( undefined );
  2889. // Glass ( Back )
  2890. tag = "tag_glass_back";
  2891. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2892. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2893. destructible_fx( tag + "_fx", "props/car_glass_large" );
  2894. destructible_sound( "veh_glass_break_large" );
  2895. destructible_car_alarm();
  2896. destructible_state( undefined );
  2897. // Glass ( Center Divider )
  2898. tag = "tag_center_glass";
  2899. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  2900. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2901. destructible_fx( tag + "_fx", "props/car_glass_large" );
  2902. destructible_sound( "veh_glass_break_large" );
  2903. destructible_car_alarm();
  2904. destructible_state( undefined );
  2905. // Glass ( Left Front )
  2906. tag = "tag_glass_left_front";
  2907. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2908. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2909. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2910. destructible_sound( "veh_glass_break_large" );
  2911. destructible_car_alarm();
  2912. destructible_state( undefined );
  2913. // Glass ( Right Front )
  2914. tag = "tag_glass_right_front";
  2915. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2916. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2917. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2918. destructible_sound( "veh_glass_break_large" );
  2919. destructible_car_alarm();
  2920. destructible_state( undefined );
  2921. // Glass ( Left Back )
  2922. tag = "tag_glass_left_back";
  2923. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2924. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2925. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2926. destructible_sound( "veh_glass_break_large" );
  2927. destructible_car_alarm();
  2928. destructible_state( undefined );
  2929. // Glass ( Right Back )
  2930. tag = "tag_glass_right_back";
  2931. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2932. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2933. destructible_fx( tag + "_fx", "props/car_glass_med" );
  2934. destructible_sound( "veh_glass_break_large" );
  2935. destructible_car_alarm();
  2936. destructible_state( undefined );
  2937. // Glass ( Left Back 2 )
  2938. tag = "tag_glass_left_back_02";
  2939. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2940. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2941. destructible_fx( "tag_glass_left_back_02_fx", "props/car_glass_med" );
  2942. destructible_sound( "veh_glass_break_large" );
  2943. destructible_car_alarm();
  2944. destructible_state( undefined );
  2945. // Glass ( Right Back 2 )
  2946. tag = "tag_glass_right_back_02";
  2947. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2948. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2949. destructible_fx( "tag_glass_right_back_02_fx", "props/car_glass_med" );
  2950. destructible_sound( "veh_glass_break_large" );
  2951. destructible_car_alarm();
  2952. destructible_state( undefined );
  2953. // Head Light ( Left )
  2954. tag = "tag_light_left_front";
  2955. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  2956. destructible_fx( tag, "props/car_glass_headlight" );
  2957. destructible_sound( "veh_glass_break_small" );
  2958. destructible_car_alarm();
  2959. destructible_state( tag + "_d" );
  2960. // Head Light ( Right )
  2961. tag = "tag_light_right_front";
  2962. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  2963. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  2964. destructible_fx( tag, "props/car_glass_headlight" );
  2965. destructible_sound( "veh_glass_break_small" );
  2966. destructible_car_alarm();
  2967. destructible_state( tag + "_d" );
  2968. }
  2969.  
  2970. vehicle_snowmobile( destructibleType )
  2971. {
  2972. //---------------------------------------------------------------------
  2973. // Snowmobile
  2974. //---------------------------------------------------------------------
  2975. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  2976. //destructible_splash_damage_scaler( 18 );
  2977. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  2978. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  2979. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  2980. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  2981. destructible_loopfx( "tag_hood_fx", "smoke/snowmobile_damage_blacksmoke_fire", 0.4 );
  2982. destructible_sound( "fire_vehicle_flareup_med" );
  2983. destructible_loopsound( "fire_vehicle_med" );
  2984. destructible_healthdrain( 15, 0.25, 150, "allies" );
  2985. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  2986. destructible_loopsound( "fire_vehicle_med" );
  2987. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  2988. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  2989. destructible_sound( "car_explode" );
  2990. destructible_explode( 4000, 5000, 150, 150, 50, 300, undefined, undefined, 0.3, 500 );
  2991. destructible_anim( get_precached_anim( "vehicle_snowmobile_destroy_01" ), #animtree, "setanimknob", undefined, undefined, "vehicle_snowmobile_destroy_01" );
  2992. destructible_state( undefined, "vehicle_snowmobile_destroyed", undefined, 32, "no_melee" );
  2993. // Front Ski
  2994. tag = "right_wheel_01_jnt";
  2995. destructible_part( tag, "vehicle_snowmobile_ski_right", 800, undefined, undefined, undefined, 1.0, 2.5 );
  2996. // Bags
  2997. destructible_part( "TAG_BAG_CENTER", "vehicle_snowmobile_bag_center", undefined, undefined, undefined, undefined, 1.0, 2.0 );
  2998. destructible_part( "TAG_BAG_LEFT", "vehicle_snowmobile_bag_left", undefined, undefined, undefined, undefined, 1.0, 2.0 );
  2999. destructible_part( "TAG_BAG_RIGHT", "vehicle_snowmobile_bag_right", undefined, undefined, undefined, undefined, 1.0, 2.0 );
  3000. // Glass ( Front )
  3001. tag = "tag_glass_front";
  3002. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3003. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3004. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3005. destructible_sound( "veh_glass_break_large" );
  3006. destructible_state( undefined );
  3007. }
  3008.  
  3009. destructible_gaspump( destructibleType )
  3010. {
  3011. //---------------------------------------------------------------------
  3012. // Gas Pump 01
  3013. //---------------------------------------------------------------------
  3014. destructible_create( destructibleType, "tag_origin", 150, undefined, 32, "no_melee" );
  3015. destructible_splash_damage_scaler( 15 );
  3016. destructible_loopfx( "tag_death_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3017. destructible_state( undefined, undefined, 150, undefined, 32, "no_melee" );
  3018. destructible_loopfx( "tag_death_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3019. destructible_state( undefined, undefined, 250, undefined, 32, "no_melee" );
  3020. destructible_loopfx( "tag_death_fx", "fire/gas_pump_fire_damage", .4 );
  3021. destructible_sound( "gaspump01_flareup_med" );
  3022. destructible_loopsound( "gaspump01_fire_med" );
  3023. destructible_healthdrain( 12, 0.2, 210, "allies" );
  3024. destructible_state( undefined, undefined, 300, undefined, 32, "no_melee" );
  3025. destructible_loopfx( "tag_death_fx", "fire/gas_pump_fire_damage", .4 );
  3026. destructible_loopsound( "gaspump01_fire_med" );
  3027. destructible_healthdrain( 12, 0.2, 210, "allies" );
  3028. destructible_sound( "gaspump01_flareup_med" );
  3029. destructible_loopfx( "tag_fx", "fire/gas_pump_fire_handle", 0.05 );
  3030. destructible_anim( %gaspump01_hose, #animtree, "setanimknob", undefined, undefined, "gaspump01_hose" );
  3031. destructible_state( undefined, undefined, 400, undefined, 5, "no_melee" );
  3032. destructible_fx( "tag_death_fx", "explosions/gas_pump_exp", false );
  3033. destructible_sound( "gaspump01_explode" );
  3034. destructible_explode( 6000, 8000, 210, 300, 50, 300, undefined, undefined, 0.3, 500 );
  3035. destructible_state( undefined, "furniture_gaspump01_destroyed", undefined, undefined, "no_melee" );
  3036.  
  3037. // Large Front Bottom panel
  3038. destructible_part( "tag_panel_front01", "furniture_gaspump01_panel01", 80, undefined, undefined, undefined, 1.0, 1.0, undefined, 1.0 );
  3039. destructible_physics();
  3040. // Medium Front Middle panel
  3041. destructible_part( "tag_panel_front02", "furniture_gaspump01_panel02", 40, undefined, undefined, undefined, 1.0, 1.0 );
  3042. destructible_physics();
  3043. // Small Front Top Panel
  3044. destructible_part( "tag_panel_front03", "furniture_gaspump01_panel03", 40, undefined, undefined, undefined, 1.0, 1.0 );
  3045. destructible_sound( "exp_gaspump_sparks" );
  3046. destructible_fx( "tag_panel_front03", "props/electricbox4_explode" );
  3047. destructible_physics();
  3048.  
  3049. // Large Back Bottom panel
  3050. destructible_part( "tag_panel_back01", "furniture_gaspump01_panel01", 110, undefined, undefined, undefined, 1.0, 1.0, undefined, 1.0 );
  3051. destructible_physics();
  3052. // Medium Back Middle panel
  3053. destructible_part( "tag_panel_back02", "furniture_gaspump01_panel02", 40, undefined, undefined, undefined, 1.0, 1.0 );
  3054. destructible_physics();
  3055. // Small Back Top Panel
  3056. destructible_part( "tag_panel_back03", "furniture_gaspump01_panel03", 40, undefined, undefined, undefined, 1.0, 1.0 );
  3057. destructible_sound( "exp_gaspump_sparks" );
  3058. destructible_fx( "tag_panel_back03", "props/electricbox4_explode" );
  3059. destructible_physics();
  3060.  
  3061. }
  3062.  
  3063. destructible_electrical_transformer_large( destructibleType )
  3064. {
  3065. //---------------------------------------------------------------------
  3066. // Electrical transformer 01
  3067. //---------------------------------------------------------------------
  3068. destructible_create( destructibleType, "tag_origin", 1500, undefined, 32, "no_melee" );
  3069. destructible_splash_damage_scaler( 2 );
  3070. destructible_loopsound( "electrical_transformer_sparks" );
  3071. destructible_loopfx( "tag_fx", "explosions/electrical_transformer_spark_runner", 0.8 );
  3072. destructible_healthdrain( 12, 0.2, 210, "allies" );
  3073. destructible_state( undefined, undefined, 500, undefined, 32, "no_melee" );
  3074. destructible_loopsound( "electrical_transformer_sparks" );
  3075. destructible_fx( "tag_fx_junction", "explosions/generator_sparks_c", false );
  3076. destructible_loopfx( "tag_fx_junction", "fire/electrical_transformer_blacksmoke_fire", 0.4 );
  3077. destructible_loopfx( "tag_fx", "explosions/electrical_transformer_spark_runner", 0.8 );
  3078. destructible_healthdrain( 12, 0.2, 210, "allies" );
  3079. destructible_state( undefined, undefined, 300, undefined, 32, "no_melee" );
  3080. destructible_loopsound( "electrical_transformer_sparks" );
  3081. destructible_loopfx( "tag_fx_junction", "fire/electrical_transformer_blacksmoke_fire", 0.4 );
  3082. destructible_loopfx( "tag_fx", "explosions/electrical_transformer_spark_runner", 0.8 );
  3083. destructible_loopfx( "tag_fx_valve", "explosions/generator_spark_runner", 0.6 );
  3084. destructible_healthdrain( 12, 0.2, 210, "allies" );
  3085. destructible_state( undefined, undefined, 500, undefined, 32, "no_melee" );
  3086. destructible_fx( "tag_death_fx", "explosions/electrical_transformer_explosion", false );
  3087. destructible_sound( "electrical_transformer01_explode" );
  3088. destructible_explode( 6000, 8000, 210, 300, 20, 300, undefined, undefined, 0.3, 500 );
  3089. destructible_state( undefined, "com_electrical_transformer_large_des", undefined, undefined, "no_melee" );
  3090.  
  3091. // door 1
  3092. destructible_part( "tag_door1", "com_electrical_transformer_large_dam_door1", 1500, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3093. destructible_sound( "electrical_transformer01_explode_detail" );
  3094. destructible_fx( "tag_door1", "explosions/generator_explosion" );
  3095. destructible_physics();
  3096.  
  3097. // door 2
  3098. destructible_part( "tag_door2", "com_electrical_transformer_large_dam_door2", 150, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3099. destructible_physics();
  3100.  
  3101. // door 3
  3102. destructible_part( "tag_door3", "com_electrical_transformer_large_dam_door3", 150, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3103. destructible_physics();
  3104.  
  3105. // door 4
  3106. destructible_part( "tag_door4", "com_electrical_transformer_large_dam_door4", 150, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3107. destructible_physics();
  3108.  
  3109. // door 5
  3110. destructible_part( "tag_door5", "com_electrical_transformer_large_dam_door5", 1500, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3111. destructible_sound( "electrical_transformer01_explode_detail" );
  3112. destructible_fx( "tag_door5", "explosions/generator_explosion" );
  3113. destructible_physics();
  3114.  
  3115. // door 6
  3116. destructible_part( "tag_door6", "com_electrical_transformer_large_dam_door6", 150, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3117. destructible_physics();
  3118.  
  3119. // door 7
  3120. destructible_part( "tag_door7", "com_electrical_transformer_large_dam_door7", 150, undefined, undefined, undefined, 0, 1.0, undefined, 1 );
  3121. destructible_loopsound( "electrical_transformer_sparks" );
  3122. destructible_fx( "tag_door7", "props/electricbox4_explode" );
  3123. destructible_physics();
  3124.  
  3125. }
  3126.  
  3127.  
  3128. get_precached_anim( animname )
  3129. {
  3130. println( animname );
  3131. assertEX( isdefined( level._destructible_preanims ) && isdefined( level._destructible_preanims[ animname ] ),"Can't find destructible anim: "+animname+" check the Build Precache Scripts and Repackage Zone boxes In launcher when you compile your map. " );
  3132. return level._destructible_preanims[ animname ];
  3133. }
  3134.  
  3135. #using_animtree ( "vehicles" );
  3136.  
  3137.  
  3138. vehicle_coupe( color )
  3139. {
  3140. //---------------------------------------------------------------------
  3141. // Modern coupe - shares textures with Subcompact and Van
  3142. //---------------------------------------------------------------------
  3143. destructible_create( "vehicle_coupe_" + color, "tag_body", 250, undefined, 32, "no_melee" );
  3144. //destructible_splash_damage_scaler( 18 );
  3145. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3146. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3147. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3148. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3149. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3150. destructible_sound( "fire_vehicle_flareup_med" );
  3151. destructible_loopsound( "fire_vehicle_med" );
  3152. destructible_healthdrain( 12, 0.2, 150, "allies" );
  3153. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3154. destructible_loopsound( "fire_vehicle_med" );
  3155. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3156. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3157. destructible_sound( "car_explode" );
  3158. destructible_explode( 4000, 5000, 150, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3159. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3160. destructible_state( undefined, "vehicle_coupe_" + color + "_destroyed", undefined, 32, "no_melee" );
  3161. // Tires
  3162. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  3163. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim", true );
  3164. destructible_sound( "veh_tire_deflate", "bullet" );
  3165. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  3166. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim", true );
  3167. destructible_sound( "veh_tire_deflate", "bullet" );
  3168. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  3169. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim", true );
  3170. destructible_sound( "veh_tire_deflate", "bullet" );
  3171. destructible_part( "right_wheel_02_jnt", "vehicle_coupe_wheel_lf", 20, undefined, undefined, "no_melee", undefined, 2.3 );
  3172. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim", true );
  3173. destructible_sound( "veh_tire_deflate", "bullet" );
  3174. // Doors
  3175. destructible_part( "tag_door_left_front", "vehicle_coupe_" + color + "_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3176. // Spoiler (rear)
  3177. destructible_part( "tag_spoiler", "vehicle_coupe_" + color + "_spoiler", undefined, undefined, undefined, undefined, 1.0, 2.0 );
  3178. // Glass ( Front )
  3179. tag = "tag_glass_front";
  3180. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3181. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3182. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3183. destructible_sound( "veh_glass_break_large" );
  3184. destructible_state( undefined );
  3185. // Glass ( Back )
  3186. tag = "tag_glass_back";
  3187. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3188. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3189. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3190. destructible_sound( "veh_glass_break_large" );
  3191. destructible_state( undefined );
  3192. // Glass ( Left Front )
  3193. tag = "tag_glass_left_front";
  3194. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3195. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3196. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3197. destructible_sound( "veh_glass_break_large" );
  3198. destructible_state( undefined );
  3199. // Glass ( Right Front )
  3200. tag = "tag_glass_right_front";
  3201. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3202. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3203. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3204. destructible_sound( "veh_glass_break_large" );
  3205. destructible_state( undefined );
  3206. // Glass ( Left Back )
  3207. tag = "tag_glass_left_back";
  3208. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3209. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3210. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3211. destructible_sound( "veh_glass_break_large" );
  3212. destructible_state( undefined );
  3213. // Glass ( Right Back )
  3214. tag = "tag_glass_right_back";
  3215. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3216. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3217. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3218. destructible_sound( "veh_glass_break_large" );
  3219. destructible_state( undefined );
  3220. // Head Light ( Left )
  3221. tag = "tag_light_left_front";
  3222. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3223. destructible_fx( tag, "props/car_glass_headlight" );
  3224. destructible_sound( "veh_glass_break_small" );
  3225. destructible_state( tag + "_d" );
  3226. // Head Light ( Right )
  3227. tag = "tag_light_right_front";
  3228. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3229. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3230. destructible_fx( tag, "props/car_glass_headlight" );
  3231. destructible_sound( "veh_glass_break_small" );
  3232. // Side Mirrors
  3233. destructible_part( "tag_mirror_left", "vehicle_coupe_" + color + "_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3234. destructible_physics();
  3235. destructible_part( "tag_mirror_right", "vehicle_coupe_" + color + "_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3236. destructible_physics();
  3237.  
  3238. }
  3239.  
  3240. vehicle_uaz_winter( destructibleType )
  3241. {
  3242. //---------------------------------------------------------------------
  3243. // UAZ - Winter Version
  3244. //---------------------------------------------------------------------
  3245. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3246. //destructible_splash_damage_scaler( 18 );
  3247. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3248. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3249. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3250. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3251. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3252. destructible_sound( "fire_vehicle_flareup_med" );
  3253. destructible_loopsound( "fire_vehicle_med" );
  3254. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3255. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3256. destructible_loopsound( "fire_vehicle_med" );
  3257. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3258. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3259. destructible_sound( "car_explode" );
  3260. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3261. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3262. destructible_state( undefined, "vehicle_uaz_winter_destroy", undefined, 32, "no_melee" );
  3263. // Tires
  3264. destructible_part( "left_wheel_01_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee", undefined, 1.0 );
  3265. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim", true );
  3266. destructible_sound( "veh_tire_deflate", "bullet" );
  3267. destructible_part( "left_wheel_02_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3268. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim", true );
  3269. destructible_sound( "veh_tire_deflate", "bullet" );
  3270. destructible_part( "right_wheel_01_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee", undefined, 10.0 );
  3271. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim", true );
  3272. destructible_sound( "veh_tire_deflate", "bullet" );
  3273. destructible_part( "right_wheel_02_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee" );
  3274. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim", true );
  3275. destructible_sound( "veh_tire_deflate", "bullet" );
  3276. // Glass ( Front )
  3277. tag = "tag_glass_front";
  3278. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3279. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3280. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3281. destructible_sound( "veh_glass_break_large" );
  3282. destructible_state( undefined );
  3283. // Glass ( Back )
  3284. tag = "tag_glass_back";
  3285. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3286. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3287. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3288. destructible_sound( "veh_glass_break_large" );
  3289. destructible_state( undefined );
  3290. // Glass ( Left Front )
  3291. tag = "tag_glass_left_front";
  3292. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3293. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3294. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3295. destructible_sound( "veh_glass_break_large" );
  3296. destructible_state( undefined );
  3297. // Glass ( Right Front )
  3298. tag = "tag_glass_right_front";
  3299. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3300. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3301. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3302. destructible_sound( "veh_glass_break_large" );
  3303. destructible_state( undefined );
  3304. // Glass ( Left Back )
  3305. tag = "tag_glass_left_back";
  3306. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3307. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3308. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3309. destructible_sound( "veh_glass_break_large" );
  3310. destructible_state( undefined );
  3311. // Glass ( Right Back )
  3312. tag = "tag_glass_right_back";
  3313. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3314. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3315. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3316. destructible_sound( "veh_glass_break_large" );
  3317. destructible_state( undefined );
  3318. // Glass ( Left Back 2 )
  3319. tag = "tag_glass_left_back_02";
  3320. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3321. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3322. destructible_fx( "tag_glass_left_back_02_fx", "props/car_glass_med" );
  3323. destructible_sound( "veh_glass_break_large" );
  3324. destructible_state( undefined );
  3325. // Glass ( Right Back 2 )
  3326. tag = "tag_glass_right_back_02";
  3327. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3328. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3329. destructible_fx( "tag_glass_right_back_02_fx", "props/car_glass_med" );
  3330. destructible_sound( "veh_glass_break_large" );
  3331. destructible_state( undefined );
  3332. // Head Light ( Left )
  3333. tag = "tag_light_left_front";
  3334. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3335. destructible_fx( tag, "props/car_glass_headlight" );
  3336. destructible_sound( "veh_glass_break_small" );
  3337. destructible_state( tag + "_d" );
  3338. // Head Light ( Right )
  3339. tag = "tag_light_right_front";
  3340. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3341. destructible_fx( tag, "props/car_glass_headlight" );
  3342. destructible_sound( "veh_glass_break_small" );
  3343. destructible_state( tag + "_d" );
  3344. // Side Mirrors
  3345. destructible_part( "tag_mirror_left", "vehicle_uaz_winter_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3346. destructible_physics();
  3347. destructible_part( "tag_mirror_right", "vehicle_uaz_winter_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3348. destructible_physics();
  3349. }
  3350.  
  3351. vehicle_uaz_fabric( destructibleType )
  3352. {
  3353. //---------------------------------------------------------------------
  3354. // UAZ - Winter Version
  3355. //---------------------------------------------------------------------
  3356. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3357. //destructible_splash_damage_scaler( 18 );
  3358. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3359. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3360. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3361. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3362. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3363. destructible_sound( "fire_vehicle_flareup_med" );
  3364. destructible_loopsound( "fire_vehicle_med" );
  3365. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3366. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3367. destructible_loopsound( "fire_vehicle_med" );
  3368. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3369. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3370. destructible_sound( "car_explode" );
  3371. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3372. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3373. destructible_state( undefined, "vehicle_uaz_fabric_dsr", undefined, 32, "no_melee" );
  3374. // Tires
  3375. destructible_part( "left_wheel_01_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3376. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim", true );
  3377. destructible_sound( "veh_tire_deflate", "bullet" );
  3378. destructible_part( "left_wheel_02_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3379. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim", true );
  3380. destructible_sound( "veh_tire_deflate", "bullet" );
  3381. destructible_part( "right_wheel_01_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee" );
  3382. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim", true );
  3383. destructible_sound( "veh_tire_deflate", "bullet" );
  3384. destructible_part( "right_wheel_02_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee" );
  3385. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim", true );
  3386. destructible_sound( "veh_tire_deflate", "bullet" );
  3387. // Glass ( Front )
  3388. tag = "tag_glass_front";
  3389. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3390. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3391. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3392. destructible_sound( "veh_glass_break_large" );
  3393. destructible_state( undefined );
  3394. // Glass ( Back )
  3395. tag = "tag_glass_back";
  3396. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3397. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3398. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3399. destructible_sound( "veh_glass_break_large" );
  3400. destructible_state( undefined );
  3401. // Glass ( Left Front )
  3402. tag = "tag_glass_left_front";
  3403. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3404. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3405. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3406. destructible_sound( "veh_glass_break_large" );
  3407. destructible_state( undefined );
  3408. // Glass ( Right Front )
  3409. tag = "tag_glass_right_front";
  3410. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3411. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3412. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3413. destructible_sound( "veh_glass_break_large" );
  3414. destructible_state( undefined );
  3415. // Glass ( Left Back )
  3416. tag = "tag_glass_left_back";
  3417. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3418. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3419. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3420. destructible_sound( "veh_glass_break_large" );
  3421. destructible_state( undefined );
  3422. // Glass ( Right Back )
  3423. tag = "tag_glass_right_back";
  3424. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3425. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3426. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3427. destructible_sound( "veh_glass_break_large" );
  3428. destructible_state( undefined );
  3429. // Head Light ( Left )
  3430. tag = "tag_light_left_front";
  3431. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3432. destructible_fx( tag, "props/car_glass_headlight" );
  3433. destructible_sound( "veh_glass_break_small" );
  3434. destructible_state( tag + "_d" );
  3435. // Head Light ( Right )
  3436. tag = "tag_light_right_front";
  3437. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3438. destructible_fx( tag, "props/car_glass_headlight" );
  3439. destructible_sound( "veh_glass_break_small" );
  3440. destructible_state( tag + "_d" );
  3441. // Side Mirrors
  3442. destructible_part( "tag_mirror_left", "vehicle_uaz_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3443. destructible_physics();
  3444. destructible_part( "tag_mirror_right", "vehicle_uaz_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3445. destructible_physics();
  3446. }
  3447.  
  3448. vehicle_uaz_hardtop( destructibleType )
  3449. {
  3450. //---------------------------------------------------------------------
  3451. // UAZ - Winter Version
  3452. //---------------------------------------------------------------------
  3453. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3454. //destructible_splash_damage_scaler( 18 );
  3455. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3456. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3457. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3458. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3459. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3460. destructible_sound( "fire_vehicle_flareup_med" );
  3461. destructible_loopsound( "fire_vehicle_med" );
  3462. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3463. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3464. destructible_loopsound( "fire_vehicle_med" );
  3465. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3466. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3467. destructible_sound( "car_explode" );
  3468. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3469. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3470. destructible_state( undefined, "vehicle_uaz_hardtop_dsr", undefined, 32, "no_melee" );
  3471. // Tires
  3472. destructible_part( "left_wheel_01_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3473. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim", true );
  3474. destructible_sound( "veh_tire_deflate", "bullet" );
  3475. destructible_part( "left_wheel_02_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3476. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim", true );
  3477. destructible_sound( "veh_tire_deflate", "bullet" );
  3478. destructible_part( "right_wheel_01_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee" );
  3479. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim", true );
  3480. destructible_sound( "veh_tire_deflate", "bullet" );
  3481. destructible_part( "right_wheel_02_jnt", "vehicle_uaz_wheel_RF_d", 20, undefined, undefined, "no_melee" );
  3482. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim", true );
  3483. destructible_sound( "veh_tire_deflate", "bullet" );
  3484. // Glass ( Front )
  3485. tag = "tag_glass_front";
  3486. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3487. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3488. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3489. destructible_sound( "veh_glass_break_large" );
  3490. destructible_state( undefined );
  3491. // Glass ( Back )
  3492. tag = "tag_glass_back";
  3493. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3494. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3495. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3496. destructible_sound( "veh_glass_break_large" );
  3497. destructible_state( undefined );
  3498. // Glass ( Left Front )
  3499. tag = "tag_glass_left_front";
  3500. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3501. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3502. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3503. destructible_sound( "veh_glass_break_large" );
  3504. destructible_state( undefined );
  3505. // Glass ( Right Front )
  3506. tag = "tag_glass_right_front";
  3507. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3508. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3509. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3510. destructible_sound( "veh_glass_break_large" );
  3511. destructible_state( undefined );
  3512. // Glass ( Left Back )
  3513. tag = "tag_glass_left_back";
  3514. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3515. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3516. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3517. destructible_sound( "veh_glass_break_large" );
  3518. destructible_state( undefined );
  3519. // Glass ( Right Back )
  3520. tag = "tag_glass_right_back";
  3521. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3522. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3523. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3524. destructible_sound( "veh_glass_break_large" );
  3525. destructible_state( undefined );
  3526. // Glass ( Left Back 2 )
  3527. tag = "tag_glass_left_back2";
  3528. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3529. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3530. destructible_fx( "tag_glass_left_back2_fx", "props/car_glass_med" );
  3531. destructible_sound( "veh_glass_break_large" );
  3532. destructible_state( undefined );
  3533. // Glass ( Right Back 2 )
  3534. tag = "tag_glass_right_back2";
  3535. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3536. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3537. destructible_fx( "tag_glass_right_back2_fx", "props/car_glass_med" );
  3538. destructible_sound( "veh_glass_break_large" );
  3539. destructible_state( undefined );
  3540. // Head Light ( Left )
  3541. tag = "tag_light_left_front";
  3542. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3543. destructible_fx( tag, "props/car_glass_headlight" );
  3544. destructible_sound( "veh_glass_break_small" );
  3545. destructible_state( tag + "_d" );
  3546. // Head Light ( Right )
  3547. tag = "tag_light_right_front";
  3548. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3549. destructible_fx( tag, "props/car_glass_headlight" );
  3550. destructible_sound( "veh_glass_break_small" );
  3551. destructible_state( tag + "_d" );
  3552. // Side Mirrors
  3553. destructible_part( "tag_mirror_left", "vehicle_uaz_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3554. destructible_physics();
  3555. destructible_part( "tag_mirror_right", "vehicle_uaz_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3556. destructible_physics();
  3557. }
  3558.  
  3559. vehicle_uaz_open( destructibleType )
  3560. {
  3561. //---------------------------------------------------------------------
  3562. // UAZ - Open Version
  3563. //---------------------------------------------------------------------
  3564. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3565. //destructible_splash_damage_scaler( 18 );
  3566. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3567. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3568. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3569. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3570. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3571. destructible_sound( "fire_vehicle_flareup_med" );
  3572. destructible_loopsound( "fire_vehicle_med" );
  3573. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3574. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3575. destructible_loopsound( "fire_vehicle_med" );
  3576. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3577. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3578. destructible_sound( "car_explode" );
  3579. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3580. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3581. destructible_state( undefined, "vehicle_uaz_open_dsr", undefined, 32, "no_melee" );
  3582. // Tires
  3583. destructible_part( "left_wheel_01_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3584. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim", true );
  3585. destructible_sound( "veh_tire_deflate", "bullet" );
  3586. destructible_part( "left_wheel_02_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3587. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim", true );
  3588. destructible_sound( "veh_tire_deflate", "bullet" );
  3589. destructible_part( "right_wheel_01_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3590. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim", true );
  3591. destructible_sound( "veh_tire_deflate", "bullet" );
  3592. destructible_part( "right_wheel_02_jnt", "vehicle_uaz_wheel_LF_d", 20, undefined, undefined, "no_melee" );
  3593. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim", true );
  3594. destructible_sound( "veh_tire_deflate", "bullet" );
  3595. // Glass ( Front )
  3596. tag = "tag_glass_front";
  3597. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3598. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3599. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3600. destructible_sound( "veh_glass_break_large" );
  3601. destructible_state( undefined );
  3602. // Glass ( Back )
  3603. tag = "tag_glass_back";
  3604. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3605. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3606. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3607. destructible_sound( "veh_glass_break_large" );
  3608. destructible_state( undefined );
  3609. // Glass ( Left Front )
  3610. tag = "tag_glass_left_front";
  3611. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3612. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3613. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3614. destructible_sound( "veh_glass_break_large" );
  3615. destructible_state( undefined );
  3616. // Glass ( Right Front )
  3617. tag = "tag_glass_right_front";
  3618. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3619. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3620. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3621. destructible_sound( "veh_glass_break_large" );
  3622. destructible_state( undefined );
  3623. // Glass ( Left Back )
  3624. tag = "tag_glass_left_back";
  3625. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3626. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3627. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3628. destructible_sound( "veh_glass_break_large" );
  3629. destructible_state( undefined );
  3630. // Glass ( Right Back )
  3631. tag = "tag_glass_right_back";
  3632. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3633. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3634. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3635. destructible_sound( "veh_glass_break_large" );
  3636. destructible_state( undefined );
  3637. // Glass ( Left Back 2 )
  3638. tag = "tag_glass_left_back_02";
  3639. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3640. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3641. destructible_fx( "tag_glass_left_back_02_fx", "props/car_glass_med" );
  3642. destructible_sound( "veh_glass_break_large" );
  3643. destructible_state( undefined );
  3644. // Glass ( Right Back 2 )
  3645. tag = "tag_glass_right_back_02";
  3646. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3647. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3648. destructible_fx( "tag_glass_right_back_02_fx", "props/car_glass_med" );
  3649. destructible_sound( "veh_glass_break_large" );
  3650. destructible_state( undefined );
  3651. // Head Light ( Left )
  3652. tag = "tag_light_left_front";
  3653. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3654. destructible_fx( tag, "props/car_glass_headlight" );
  3655. destructible_sound( "veh_glass_break_small" );
  3656. destructible_state( tag + "_d" );
  3657. // Head Light ( Right )
  3658. tag = "tag_light_right_front";
  3659. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3660. destructible_fx( tag, "props/car_glass_headlight" );
  3661. destructible_sound( "veh_glass_break_small" );
  3662. destructible_state( tag + "_d" );
  3663. // Side Mirrors
  3664. destructible_part( "tag_mirror_left", "vehicle_uaz_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3665. destructible_physics();
  3666. destructible_part( "tag_mirror_right", "vehicle_uaz_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3667. destructible_physics();
  3668. }
  3669.  
  3670. vehicle_policecar( destructibleType )
  3671. {
  3672. //---------------------------------------------------------------------
  3673. // Police Car
  3674. //---------------------------------------------------------------------
  3675. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3676. //destructible_splash_damage_scaler( 18 );
  3677. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3678. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3679. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3680. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3681. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3682. destructible_sound( "fire_vehicle_flareup_med" );
  3683. destructible_loopsound( "fire_vehicle_med" );
  3684. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3685. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3686. destructible_loopsound( "fire_vehicle_med" );
  3687. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3688. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3689. destructible_sound( "car_explode_police" );
  3690. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3691. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3692. destructible_state( undefined, "vehicle_policecar_lapd_destroy", undefined, 32, "no_melee" );
  3693. // Tires
  3694. destructible_part( "left_wheel_01_jnt", "vehicle_policecar_lapd_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3695. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  3696. destructible_sound( "veh_tire_deflate", "bullet" );
  3697. destructible_part( "left_wheel_02_jnt", "vehicle_policecar_lapd_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3698. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  3699. destructible_sound( "veh_tire_deflate", "bullet" );
  3700. destructible_part( "right_wheel_01_jnt", "vehicle_policecar_lapd_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3701. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  3702. destructible_sound( "veh_tire_deflate", "bullet" );
  3703. destructible_part( "right_wheel_02_jnt", "vehicle_policecar_lapd_wheel_LF", 20, undefined, undefined, "no_melee" );
  3704. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  3705. destructible_sound( "veh_tire_deflate", "bullet" );
  3706. // Doors
  3707. destructible_part( "tag_door_left_front", "vehicle_policecar_lapd_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3708. destructible_part( "tag_door_right_front", "vehicle_policecar_lapd_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3709. destructible_part( "tag_door_left_back", "vehicle_policecar_lapd_door_LB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3710. // Glass ( Front )
  3711. tag = "tag_glass_front";
  3712. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3713. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3714. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3715. destructible_sound( "veh_glass_break_large" );
  3716. destructible_state( undefined );
  3717. // Glass ( Back )
  3718. tag = "tag_glass_back";
  3719. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3720. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3721. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3722. destructible_sound( "veh_glass_break_large" );
  3723. destructible_state( undefined );
  3724. // Glass ( Center Divider )
  3725. tag = "tag_center_glass";
  3726. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3727. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3728. destructible_fx( "TAG_CENTER_GLASS_FX", "props/car_glass_large" );
  3729. destructible_sound( "veh_glass_break_large" );
  3730. destructible_state( undefined );
  3731. // Glass ( Left Front )
  3732. tag = "tag_glass_left_front";
  3733. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3734. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3735. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3736. destructible_sound( "veh_glass_break_large" );
  3737. destructible_state( undefined );
  3738. // Glass ( Right Front )
  3739. tag = "tag_glass_right_front";
  3740. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3741. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3742. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3743. destructible_sound( "veh_glass_break_large" );
  3744. destructible_state( undefined );
  3745. // Glass ( Left Back )
  3746. tag = "tag_glass_left_back";
  3747. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3748. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3749. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3750. destructible_sound( "veh_glass_break_large" );
  3751. destructible_state( undefined );
  3752. // Glass ( Right Back )
  3753. tag = "tag_glass_right_back";
  3754. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3755. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3756. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3757. destructible_sound( "veh_glass_break_large" );
  3758. destructible_state( undefined );
  3759. // Head Light ( Left )
  3760. tag = "tag_light_left_front";
  3761. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3762. destructible_fx( tag, "props/car_glass_headlight" );
  3763. destructible_sound( "veh_glass_break_small" );
  3764. destructible_state( tag + "_d" );
  3765. // Head Light ( Right )
  3766. tag = "tag_light_right_front";
  3767. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3768. destructible_fx( tag, "props/car_glass_headlight" );
  3769. destructible_sound( "veh_glass_break_small" );
  3770. destructible_state( tag + "_d" );
  3771. // Side Mirrors
  3772. destructible_part( "tag_mirror_left", "vehicle_policecar_lapd_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3773. destructible_physics();
  3774. destructible_part( "tag_mirror_right", "vehicle_policecar_lapd_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3775. destructible_physics();
  3776. }
  3777.  
  3778. vehicle_policecar_russia( destructibleType )
  3779. {
  3780. //---------------------------------------------------------------------
  3781. // Police Car
  3782. //---------------------------------------------------------------------
  3783. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3784. //destructible_splash_damage_scaler( 18 );
  3785. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3786. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3787. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3788. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3789. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3790. destructible_sound( "fire_vehicle_flareup_med" );
  3791. destructible_loopsound( "fire_vehicle_med" );
  3792. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3793. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3794. destructible_loopsound( "fire_vehicle_med" );
  3795. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3796. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3797. destructible_sound( "car_explode_police" );
  3798. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3799. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3800. destructible_state( undefined, "vehicle_policecar_russia_destroy", undefined, 32, "no_melee" );
  3801. // Tires
  3802. destructible_part( "left_wheel_01_jnt", "vehicle_policecar_russia_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3803. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  3804. destructible_sound( "veh_tire_deflate", "bullet" );
  3805. destructible_part( "left_wheel_02_jnt", "vehicle_policecar_russia_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3806. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  3807. destructible_sound( "veh_tire_deflate", "bullet" );
  3808. destructible_part( "right_wheel_01_jnt", "vehicle_policecar_russia_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3809. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  3810. destructible_sound( "veh_tire_deflate", "bullet" );
  3811. destructible_part( "right_wheel_02_jnt", "vehicle_policecar_russia_wheel_LF", 20, undefined, undefined, "no_melee" );
  3812. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  3813. destructible_sound( "veh_tire_deflate", "bullet" );
  3814. // Doors
  3815. destructible_part( "tag_door_left_front", "vehicle_policecar_russia_door_LF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3816. destructible_part( "tag_door_right_front", "vehicle_policecar_russia_door_RF", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3817. destructible_part( "tag_door_left_back", "vehicle_policecar_russia_door_LB", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  3818. // Glass ( Front )
  3819. tag = "tag_glass_front";
  3820. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3821. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3822. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3823. destructible_sound( "veh_glass_break_large" );
  3824. destructible_state( undefined );
  3825. // Glass ( Back )
  3826. tag = "tag_glass_back";
  3827. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3828. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3829. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3830. destructible_sound( "veh_glass_break_large" );
  3831. destructible_state( undefined );
  3832. // Glass ( Center Divider )
  3833. tag = "tag_center_glass";
  3834. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3835. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3836. destructible_fx( "TAG_CENTER_GLASS_FX", "props/car_glass_large" );
  3837. destructible_sound( "veh_glass_break_large" );
  3838. destructible_state( undefined );
  3839. // Glass ( Left Front )
  3840. tag = "tag_glass_left_front";
  3841. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3842. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3843. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3844. destructible_sound( "veh_glass_break_large" );
  3845. destructible_state( undefined );
  3846. // Glass ( Right Front )
  3847. tag = "tag_glass_right_front";
  3848. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3849. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3850. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3851. destructible_sound( "veh_glass_break_large" );
  3852. destructible_state( undefined );
  3853. // Glass ( Left Back )
  3854. tag = "tag_glass_left_back";
  3855. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3856. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3857. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3858. destructible_sound( "veh_glass_break_large" );
  3859. destructible_state( undefined );
  3860. // Glass ( Right Back )
  3861. tag = "tag_glass_right_back";
  3862. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3863. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3864. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3865. destructible_sound( "veh_glass_break_large" );
  3866. destructible_state( undefined );
  3867. // Head Light ( Left )
  3868. tag = "tag_light_left_front";
  3869. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3870. destructible_fx( tag, "props/car_glass_headlight" );
  3871. destructible_sound( "veh_glass_break_small" );
  3872. destructible_state( tag + "_d" );
  3873. // Head Light ( Right )
  3874. tag = "tag_light_right_front";
  3875. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3876. destructible_fx( tag, "props/car_glass_headlight" );
  3877. destructible_sound( "veh_glass_break_small" );
  3878. destructible_state( tag + "_d" );
  3879. // Side Mirrors
  3880. destructible_part( "tag_mirror_left", "vehicle_policecar_russia_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  3881. destructible_physics();
  3882. destructible_part( "tag_mirror_right", "vehicle_policecar_russia_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  3883. destructible_physics();
  3884. }
  3885.  
  3886. vehicle_taxi( destructibleType )
  3887. {
  3888. //---------------------------------------------------------------------
  3889. // Taxi with random roof ads
  3890. //---------------------------------------------------------------------
  3891. destructible_create( destructibleType, "tag_body", 250, undefined, 32, "no_melee" );
  3892. //destructible_splash_damage_scaler( 18 );
  3893. random_dynamic_attachment( "tag_ad", "vehicle_taxi_rooftop_ad_base", "vehicle_taxi_rooftop_ad_1" );
  3894. random_dynamic_attachment( "tag_ad", "vehicle_taxi_rooftop_ad_base", "vehicle_taxi_rooftop_ad_2" );
  3895. random_dynamic_attachment( "tag_ad", "vehicle_taxi_rooftop_ad_base", "vehicle_taxi_rooftop_ad_3" );
  3896. random_dynamic_attachment( "tag_ad", "vehicle_taxi_rooftop_ad_base", "vehicle_taxi_rooftop_ad_4" );
  3897. random_dynamic_attachment( "tag_ad", "vehicle_taxi_toplight", undefined, "taxi_ad_clip" );
  3898. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  3899. destructible_car_alarm();
  3900. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  3901. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  3902. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  3903. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  3904. destructible_sound( "fire_vehicle_flareup_med" );
  3905. destructible_loopsound( "fire_vehicle_med" );
  3906. destructible_healthdrain( 15, 0.25, 210, "allies" );
  3907. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  3908. destructible_loopsound( "fire_vehicle_med" );
  3909. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  3910. destructible_fx( "tag_death_fx", "explosions/small_vehicle_explosion", false );
  3911. destructible_sound( "car_explode" );
  3912. destructible_explode( 4000, 5000, 200, 250, 50, 300, undefined, undefined, 0.3, 500 );
  3913. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  3914. destructible_state( undefined, "vehicle_taxi_yellow_destroy", undefined, 32, "no_melee" );
  3915. // Tires
  3916. destructible_part( "left_wheel_01_jnt", "vehicle_taxi_wheel_LF", 20, undefined, undefined, "no_melee" );
  3917. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  3918. destructible_sound( "veh_tire_deflate", "bullet" );
  3919. destructible_car_alarm();
  3920. destructible_part( "left_wheel_02_jnt", "vehicle_taxi_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3921. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  3922. destructible_sound( "veh_tire_deflate", "bullet" );
  3923. destructible_car_alarm();
  3924. destructible_part( "right_wheel_01_jnt", "vehicle_taxi_wheel_LF", 20, undefined, undefined, "no_melee", undefined, 1.7 );
  3925. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  3926. destructible_sound( "veh_tire_deflate", "bullet" );
  3927. destructible_car_alarm();
  3928. destructible_part( "right_wheel_02_jnt", "vehicle_taxi_wheel_LF", 20, undefined, undefined, "no_melee" );
  3929. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  3930. destructible_sound( "veh_tire_deflate", "bullet" );
  3931. destructible_car_alarm();
  3932. // Glass ( Front )
  3933. tag = "tag_glass_front";
  3934. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3935. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3936. destructible_fx( "tag_glass_front_fx", "props/car_glass_large" );
  3937. destructible_sound( "veh_glass_break_large" );
  3938. destructible_car_alarm();
  3939. destructible_state( undefined );
  3940. // Glass ( Back )
  3941. tag = "tag_glass_back";
  3942. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3943. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3944. destructible_fx( "tag_glass_back_fx", "props/car_glass_large" );
  3945. destructible_sound( "veh_glass_break_large" );
  3946. destructible_car_alarm();
  3947. destructible_state( undefined );
  3948. // Glass ( Center Divider )
  3949. tag = "tag_center_glass";
  3950. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  3951. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3952. destructible_fx( "TAG_CENTER_GLASS_FX", "props/car_glass_large" );
  3953. destructible_sound( "veh_glass_break_large" );
  3954. destructible_car_alarm();
  3955. destructible_state( undefined );
  3956. // Glass ( Left Front )
  3957. tag = "tag_glass_left_front";
  3958. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3959. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3960. destructible_fx( "tag_glass_left_front_fx", "props/car_glass_med" );
  3961. destructible_sound( "veh_glass_break_large" );
  3962. destructible_car_alarm();
  3963. destructible_state( undefined );
  3964. // Glass ( Right Front )
  3965. tag = "tag_glass_right_front";
  3966. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3967. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3968. destructible_fx( "tag_glass_right_front_fx", "props/car_glass_med" );
  3969. destructible_sound( "veh_glass_break_large" );
  3970. destructible_car_alarm();
  3971. destructible_state( undefined );
  3972. // Glass ( Left Back )
  3973. tag = "tag_glass_left_back";
  3974. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3975. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3976. destructible_fx( "tag_glass_left_back_fx", "props/car_glass_med" );
  3977. destructible_sound( "veh_glass_break_large" );
  3978. destructible_car_alarm();
  3979. destructible_state( undefined );
  3980. // Glass ( Right Back )
  3981. tag = "tag_glass_right_back";
  3982. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  3983. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  3984. destructible_fx( "tag_glass_right_back_fx", "props/car_glass_med" );
  3985. destructible_sound( "veh_glass_break_large" );
  3986. destructible_car_alarm();
  3987. destructible_state( undefined );
  3988. // Head Light ( Left )
  3989. tag = "tag_light_left_front";
  3990. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3991. destructible_fx( tag, "props/car_glass_headlight" );
  3992. destructible_sound( "veh_glass_break_small" );
  3993. destructible_state( tag + "_d" );
  3994. // Head Light ( Right )
  3995. tag = "tag_light_right_front";
  3996. destructible_part( tag, undefined, 20, undefined, undefined, undefined, 0.5 );
  3997. destructible_fx( tag, "props/car_glass_headlight" );
  3998. destructible_sound( "veh_glass_break_small" );
  3999. destructible_state( tag + "_d" );
  4000. // Side Mirrors
  4001. destructible_part( "tag_mirror_left", "vehicle_taxi_mirror_L", 40, undefined, undefined, undefined, undefined, 1.0 );
  4002. destructible_physics();
  4003. destructible_part( "tag_mirror_right", "vehicle_taxi_mirror_R", 40, undefined, undefined, undefined, undefined, 1.0 );
  4004. destructible_physics();
  4005. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement