Advertisement
Guest User

Untitled

a guest
Sep 29th, 2010
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.34 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include common_scripts\_destructible;
  3. #include common_scripts\_destructible_types;
  4. #using_animtree( "destructibles_dlc2" );
  5.  
  6. makeType_dlc2( destructibleType )
  7. {
  8. //println( destructibleType );
  9.  
  10. // if it's already been created dont create it again
  11. infoIndex = getInfoIndex( destructibleType );
  12. if ( infoIndex >= 0 )
  13. return infoIndex;
  14.  
  15. found_dlc2_destructible = true;
  16. switch ( destructibleType )
  17. {
  18. // add new destructibles here, you can write new functions for them or call the old ones
  19. case "toy_fortune_machine":
  20. toy_fortune_machine( destructibleType );
  21. break;
  22. case "toy_trashcan_clown":
  23. toy_trashcan_clown( destructibleType );
  24. break;
  25. case "toy_popcorn_cart":
  26. toy_popcorn_cart( destructibleType );
  27. break;
  28. case "vehicle_theme_park_truck":
  29. vehicle_theme_park_truck( destructibleType );
  30. break;
  31. case "vehicle_delivery_truck_white":
  32. vehicle_delivery_truck_white( destructibleType );
  33. break;
  34. case "toy_keg":
  35. toy_keg( destructibleType );
  36. break;
  37. case "toy_propane_tank03":
  38. toy_propane_tank03( destructibleType );
  39. break;
  40. case "toy_propane_tank03b":
  41. toy_propane_tank03b( destructibleType );
  42. break;
  43.  
  44. default:
  45. found_dlc2_destructible = false;
  46. break;
  47. }
  48.  
  49. if ( !found_dlc2_destructible )
  50. {
  51. return undefined;
  52. }
  53.  
  54. infoIndex = getInfoIndex( destructibleType );
  55. assert( infoIndex >= 0 );
  56. return infoIndex;
  57. }
  58.  
  59. toy_fortune_machine( destructibleType )
  60. {
  61. //---------------------------------------------------------------------
  62. // Exploding Fortune Telling Maching
  63. //---------------------------------------------------------------------
  64. destructible_create( destructibleType, "tag_origin", 0, undefined, 32 );
  65. destructible_loopsound( "fortune_machine_idle" );
  66. destructible_loopfx( "J_Eye_RI", "props/fortune_machine_glow_eyes", 2.9 );
  67. destructible_loopfx( "J_Eye_LE", "props/fortune_machine_glow_eyes", 2.9 );
  68. destructible_loopfx( "tag_fx3", "props/fortune_machine_glow_ball", 4.0 );
  69. destructible_anim( get_precached_anim( "fortune_machine_anim" ), #animtree, "setanimknob", undefined, undefined, "fortune_machine_anim" );
  70. destructible_state( "tag_origin", "fortune_machine", 75 );
  71. destructible_fx( "tag_fx", "props/fortune_machine_exp", undefined, undefined, undefined, 1 );
  72. destructible_fx( "tag_fx2", "props/fortune_machine_tickets" );
  73. destructible_sound( "fortune_machine_destroy" );
  74. destructible_anim( get_precached_anim( "fortune_machine_des" ), #animtree, "setanimknob", undefined, 0, "fortune_machine_des" );
  75. destructible_explode( 20, 2000, 20, 20, 40, 40, undefined, 64 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage, continueDamage, originOffset
  76. destructible_state( undefined, "fortune_machine_des", undefined, undefined, "no_melee" );
  77. }
  78.  
  79. toy_trashcan_clown( destructibleType )
  80. {
  81. //---------------------------------------------------------------------
  82. // Clown Trashcan toy
  83. //---------------------------------------------------------------------
  84. destructible_create( destructibleType, "tag_origin", 120, undefined, 32 );
  85. destructible_fx( "tag_fx", "props/garbage_spew_des", true, "splash" );
  86. destructible_fx( "tag_fx", "props/garbage_spew", true, damage_not( "splash" ) );
  87. destructible_sound( "exp_trashcan_sweet" );
  88. destructible_explode( 600, 651, 1, 1, 10, 20 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  89.  
  90. destructible_state( "tag_origin", "trashcan_clown_base", undefined, undefined, undefined, undefined, undefined, false );
  91.  
  92.  
  93. destructible_part( "tag_fx", "trashcan_clown_lid", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  94.  
  95. }
  96.  
  97.  
  98. toy_popcorn_cart( destructibleType )
  99. {
  100. //---------------------------------------------------------------------
  101. // Exploding Fortune Telling Maching
  102. //---------------------------------------------------------------------
  103. destructible_create( destructibleType, "tag_glass", 5 );
  104. destructible_fx( "tag_fx", "props/popcorn_cart_glass_dmg" );
  105. destructible_sound( "popcorn_cart_glass_dmg" );
  106. destructible_state( undefined, "popcorn_cart_glass_dmg", 100, undefined, undefined, "splash" );
  107. destructible_fx( "tag_fx", "props/popcorn_cart_exp" );
  108. destructible_sound( "popcorn_cart_destroy" );
  109. destructible_state( undefined, "popcorn_cart_damaged", undefined, undefined, undefined, undefined, undefined, false );
  110.  
  111. destructible_part( "tag_glass", "popcorn_cart_damaged", 4, undefined, undefined, undefined, 1.0, 1.0 );
  112. }
  113.  
  114.  
  115. vehicle_theme_park_truck( destructibleType )
  116. {
  117. //---------------------------------------------------------------------
  118. // White Moving Truck
  119. //---------------------------------------------------------------------
  120. destructible_create( destructibleType, "tag_body", 300, undefined, 32, "no_melee" );
  121. //destructible_splash_damage_scaler( 18 );
  122. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  123. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  124. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  125. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  126. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  127. destructible_sound( "fire_vehicle_flareup_med" );
  128. destructible_loopsound( "fire_vehicle_med" );
  129. destructible_healthdrain( 15, 0.25, 210, "allies" );
  130. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  131. destructible_loopsound( "fire_vehicle_med" );
  132. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  133. destructible_fx( "tag_death_fx", "explosions/vehicle_explosion_medium", false );
  134. destructible_sound( "car_explode" );
  135. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  136. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  137. destructible_state( undefined, "vehicle_theme_park_truck_destroyed", undefined, 32, "no_melee" );
  138. // Tires
  139. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  140. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  141. destructible_sound( "veh_tire_deflate", "bullet" );
  142. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  143. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  144. destructible_sound( "veh_tire_deflate", "bullet" );
  145. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  146. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  147. destructible_sound( "veh_tire_deflate", "bullet" );
  148. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  149. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  150. destructible_sound( "veh_tire_deflate", "bullet" );
  151. // Glass ( Front )
  152. tag = "tag_glass_front";
  153. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  154. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  155. destructible_fx( tag + "_fx", "props/car_glass_large" );
  156. destructible_sound( "veh_glass_break_large" );
  157. destructible_state( undefined );
  158. tag = "tag_glass_front2";
  159. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  160. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  161. destructible_fx( tag + "_fx", "props/car_glass_large" );
  162. destructible_sound( "veh_glass_break_large" );
  163. destructible_state( undefined );
  164. // glass left
  165. tag = "tag_glass_side_left";
  166. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  167. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  168. destructible_fx( tag + "_fx", "props/car_glass_med" );
  169. destructible_sound( "veh_glass_break_large" );
  170. destructible_state( undefined );
  171. tag = "tag_glass_left_front";
  172. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  173. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  174. destructible_fx( tag + "_fx", "props/car_glass_med" );
  175. destructible_sound( "veh_glass_break_large" );
  176. destructible_state( undefined );
  177. // glass right
  178. tag = "tag_glass_side_right";
  179. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  180. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  181. destructible_fx( tag + "_fx", "props/car_glass_med" );
  182. destructible_sound( "veh_glass_break_large" );
  183. destructible_state( undefined );
  184. tag = "tag_glass_right_front";
  185. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  186. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  187. destructible_fx( tag + "_fx", "props/car_glass_med" );
  188. destructible_sound( "veh_glass_break_large" );
  189. destructible_state( undefined );
  190.  
  191. }
  192.  
  193. vehicle_delivery_truck_white( destructibleType )
  194. {
  195. //---------------------------------------------------------------------
  196. // White Moving Truck
  197. //---------------------------------------------------------------------
  198. destructible_create( destructibleType, "tag_body", 300, undefined, 32, "no_melee" );
  199. //destructible_splash_damage_scaler( 18 );
  200. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_whitesmoke", 0.4 );
  201. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  202. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke", 0.4 );
  203. destructible_state( undefined, undefined, 100, undefined, 32, "no_melee" );
  204. destructible_loopfx( "tag_hood_fx", "smoke/car_damage_blacksmoke_fire", 0.4 );
  205. destructible_sound( "fire_vehicle_flareup_med" );
  206. destructible_loopsound( "fire_vehicle_med" );
  207. destructible_healthdrain( 15, 0.25, 210, "allies" );
  208. destructible_state( undefined, undefined, 300, "player_only", 32, "no_melee" );
  209. destructible_loopsound( "fire_vehicle_med" );
  210. destructible_state( undefined, undefined, 400, undefined, 32, "no_melee" );
  211. destructible_fx( "tag_death_fx", "explosions/vehicle_explosion_medium", false );
  212. destructible_sound( "car_explode" );
  213. destructible_explode( 4000, 5000, 210, 250, 50, 300, undefined, undefined, 0.3, 500 );
  214. destructible_anim( %vehicle_80s_sedan1_destroy, #animtree, "setanimknob", undefined, undefined, "vehicle_80s_sedan1_destroy" );
  215. destructible_state( undefined, "vehicle_delivery_truck_white_destroyed", undefined, 32, "no_melee" );
  216. // Tires
  217. destructible_part( "left_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  218. destructible_anim( %vehicle_80s_sedan1_flattire_LF, #animtree, "setanim" );
  219. destructible_sound( "veh_tire_deflate", "bullet" );
  220. destructible_part( "left_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  221. destructible_anim( %vehicle_80s_sedan1_flattire_LB, #animtree, "setanim" );
  222. destructible_sound( "veh_tire_deflate", "bullet" );
  223. destructible_part( "right_wheel_01_jnt", undefined, 20, undefined, undefined, "no_melee" );
  224. destructible_anim( %vehicle_80s_sedan1_flattire_RF, #animtree, "setanim" );
  225. destructible_sound( "veh_tire_deflate", "bullet" );
  226. destructible_part( "right_wheel_02_jnt", undefined, 20, undefined, undefined, "no_melee" );
  227. destructible_anim( %vehicle_80s_sedan1_flattire_RB, #animtree, "setanim" );
  228. destructible_sound( "veh_tire_deflate", "bullet" );
  229. // Glass ( Front )
  230. tag = "tag_glass_front";
  231. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  232. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  233. destructible_fx( tag + "_fx", "props/car_glass_large" );
  234. destructible_sound( "veh_glass_break_large" );
  235. destructible_state( undefined );
  236. tag = "tag_glass_front2";
  237. destructible_part( tag, undefined, 40, undefined, undefined, undefined, undefined, undefined, true );
  238. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  239. destructible_fx( tag + "_fx", "props/car_glass_large" );
  240. destructible_sound( "veh_glass_break_large" );
  241. destructible_state( undefined );
  242. // glass left
  243. tag = "tag_glass_side_left";
  244. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  245. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  246. destructible_fx( tag + "_fx", "props/car_glass_med" );
  247. destructible_sound( "veh_glass_break_large" );
  248. destructible_state( undefined );
  249. tag = "tag_glass_left_front";
  250. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  251. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  252. destructible_fx( tag + "_fx", "props/car_glass_med" );
  253. destructible_sound( "veh_glass_break_large" );
  254. destructible_state( undefined );
  255. // glass right
  256. tag = "tag_glass_side_right";
  257. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  258. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  259. destructible_fx( tag + "_fx", "props/car_glass_med" );
  260. destructible_sound( "veh_glass_break_large" );
  261. destructible_state( undefined );
  262. tag = "tag_glass_right_front";
  263. destructible_part( tag, undefined, 20, undefined, undefined, undefined, undefined, undefined, true );
  264. destructible_state( tag + "_d", undefined, 60, undefined, undefined, undefined, true );
  265. destructible_fx( tag + "_fx", "props/car_glass_med" );
  266. destructible_sound( "veh_glass_break_large" );
  267. destructible_state( undefined );
  268.  
  269. }
  270.  
  271. toy_keg( destructibleType )
  272. {
  273. //---------------------------------------------------------------------
  274. // beer keg toy
  275. //---------------------------------------------------------------------
  276. destructible_create( destructibleType, "tag_origin", 250, undefined, 32, "no_melee" );
  277. destructible_splash_damage_scaler( 11 );
  278. destructible_state( undefined, undefined, 500, undefined, 32, "no_melee" );
  279. destructible_loopfx( "tag_fx", "props/keg_leak", 0.1 );
  280. destructible_loopsound( "keg_spray_loop" );
  281. destructible_healthdrain( 12, 0.2 );
  282. destructible_state( undefined, undefined, 800, undefined, 5, "no_melee" );
  283. destructible_fx( "tag_fx", "props/keg_exp", false );
  284. destructible_fx( "tag_fx", "props/keg_spray_10sec", false );
  285. destructible_sound( "keg_burst" );
  286. destructible_explode( 17000, 18000, 96, 96, 32, 48 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  287. destructible_state( undefined, "prop_trailerpark_beer_keg_dest", undefined, undefined, "no_melee" );
  288.  
  289. // destroyed hydrant
  290. // destructible_part( "tag_fx", "com_keg_dam", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  291. // side cap
  292. // destructible_part( "tag_cap", "com_keg_cap", undefined, undefined, undefined, undefined, 1.0, 1.0 );
  293. }
  294.  
  295. toy_propane_tank03( destructibleType )
  296. {
  297. //---------------------------------------------------------------------
  298. // Smaller Propane tank goes KaBooM
  299. //---------------------------------------------------------------------
  300.  
  301. destructible_create( destructibleType, "tag_origin", 50, undefined, 32, "no_melee" );
  302. destructible_splash_damage_scaler( 10 );
  303. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  304. destructible_loopsound( "propanetank03_gas_leak_loop" );
  305. destructible_loopfx( "tag_cap", "distortion/propane_cap_distortion_small", 0.1 );
  306. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  307. destructible_loopfx( "tag_cap", "fire/propane_capfire_leak", 0.1 );
  308. destructible_sound( "propanetank03_flareup_med" );
  309. destructible_loopsound( "propanetank03_fire_med" );
  310. destructible_healthdrain( 12, 0.2, 210, "allies" );
  311. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  312. destructible_physics( "tag_cap", ( 50, 0, 0 ) );
  313. //destructible_loopfx( "tag_cap", "fire/propane_capfire", 0.6 );
  314. destructible_fx( "tag_cap", "fire/propane_valvefire_flareup" );
  315. //destructible_fx( "tag_cap", "fire/propane_capfire_flareup" );
  316. destructible_loopfx( "tag_cap", "fire/propane_valvefire", 0.1 );
  317. destructible_sound( "propanetank03_flareup_med" );
  318. destructible_loopsound( "propanetank03_fire_med" );
  319. destructible_state( undefined, undefined, 200, undefined, 5, "no_melee" );
  320. destructible_fx( "tag_fx", "fire/firelp_med_pm" );
  321. //destructible_fx( "tag_fx", "explosions/propane_large_exp_fireball" );
  322. destructible_fx( "tag_fx", "explosions/propane_small_exp", false );
  323. destructible_sound( "propanetank03_explode" );
  324. destructible_explode( 3500, 4000, 300, 300, 32, 200, undefined, 32 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  325. destructible_state( undefined, "com_propane_tank03_d", undefined, undefined, "no_melee" );
  326. // Top Cap
  327. destructible_part( "tag_cap", "com_propane_tank_lid_03" );
  328.  
  329. }
  330.  
  331. toy_propane_tank03b( destructibleType )
  332. {
  333. //---------------------------------------------------------------------
  334. // Smaller Propane tank goes KaBooM
  335. //---------------------------------------------------------------------
  336.  
  337. destructible_create( destructibleType, "tag_origin", 50, undefined, 32, "no_melee" );
  338. destructible_splash_damage_scaler( 10 );
  339. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  340. destructible_loopsound( "propanetank03_gas_leak_loop" );
  341. destructible_loopfx( "tag_cap", "distortion/propane_cap_distortion_small", 0.1 );
  342. destructible_state( undefined, undefined, 350, undefined, 32, "no_melee" );
  343. destructible_loopfx( "tag_cap", "fire/propane_capfire_leak", 0.1 );
  344. destructible_sound( "propanetank03_flareup_med" );
  345. destructible_loopsound( "propanetank03_fire_med" );
  346. destructible_healthdrain( 12, 0.2, 210, "allies" );
  347. destructible_state( undefined, undefined, 200, undefined, 32, "no_melee" );
  348. destructible_physics( "tag_cap", ( 50, 0, 0 ) );
  349. //destructible_loopfx( "tag_cap", "fire/propane_capfire", 0.6 );
  350. destructible_fx( "tag_cap", "fire/propane_valvefire_flareup" );
  351. //destructible_fx( "tag_cap", "fire/propane_capfire_flareup" );
  352. destructible_loopfx( "tag_cap", "fire/propane_valvefire", 0.1 );
  353. destructible_sound( "propanetank03_flareup_med" );
  354. destructible_loopsound( "propanetank03_fire_med" );
  355. destructible_state( undefined, undefined, 200, undefined, 5, "no_melee" );
  356. destructible_fx( "tag_fx", "fire/firelp_med_pm" );
  357. //destructible_fx( "tag_fx", "explosions/propane_large_exp_fireball" );
  358. destructible_fx( "tag_fx", "explosions/propane_small_exp", false );
  359. destructible_sound( "propanetank03_explode" );
  360. destructible_explode( 3500, 4000, 300, 300, 32, 200, undefined, 32 ); // force_min, force_max, rangeSP, rangeMP, mindamage, maxdamage
  361. destructible_state( undefined, "com_propane_tank03_d", undefined, undefined, "no_melee" );
  362. // Top Cap
  363. destructible_part( "tag_cap", "com_propane_tank_lid_03b" );
  364.  
  365. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement