Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. #using scripts\codescripts\struct;
  2.  
  3. #using scripts\shared\array_shared;
  4. #using scripts\shared\clientfield_shared;
  5. #using scripts\shared\system_shared;
  6. #using scripts\shared\util_shared;
  7. #using scripts\shared\visionset_mgr_shared;
  8.  
  9. #insert scripts\shared\shared.gsh;
  10. #insert scripts\shared\version.gsh;
  11.  
  12. #using scripts\shared\ai\zombie_utility;
  13.  
  14. #using scripts\zm\_util;
  15. #using scripts\zm\_zm_perks;
  16. #using scripts\zm\_zm_pers_upgrades;
  17. #using scripts\zm\_zm_pers_upgrades_functions;
  18. #using scripts\zm\_zm_pers_upgrades_system;
  19. #using scripts\zm\_zm_stats;
  20. #using scripts\zm\_zm_utility;
  21.  
  22. #insert scripts\zm\_zm_perk_juggernaut.gsh;
  23. #insert scripts\zm\_zm_perks.gsh;
  24. #insert scripts\zm\_zm_utility.gsh;
  25.  
  26. // WARDOGSK93 - Code Start
  27. #insert scripts\wardog\shared\wardog_shared.gsh; // This line is required so the below macro is valid
  28. WARDOG_INCLUDES
  29.  
  30. #insert scripts\wardog\zm\wardog_zm.gsh; // This line is required so the below macro is valid
  31. WARDOG_ZM_INCLUDES
  32.  
  33. #insert scripts\wardog\zm\perks\wardog_perk_helper.gsh; // This line is required so the below macro is valid
  34. WARDOG_ZM_PERK_INCLUDES
  35.  
  36. // Original
  37. // #precache( "material", "specialty_juggernaut_zombies" );
  38. #precache( "material", JUGGERNAUT_SHADER );
  39. // WARDOGSK93 - Code End
  40. #precache( "string", "ZOMBIE_PERK_JUGGERNAUT" );
  41. // WARDOGSK93 - Code Start
  42. // Original
  43. // #precache( "fx", "zombie/fx_perk_juggernaut_zmb" );
  44. #precache( "fx", JUGGERNAUT_MACHINE_LIGHT_FX_FILE );
  45. #precache( "fx", JUGGERNAUT_WAYPOINT_FX );
  46. // WARDOGSK93 - Code End
  47.  
  48. #namespace zm_perk_juggernaut;
  49.  
  50. REGISTER_SYSTEM( "zm_perk_juggernaut", &__init__, undefined )
  51.  
  52. // JUGGERNAUT
  53.  
  54. //-----------------------------------------------------------------------------------
  55. // setup
  56. //-----------------------------------------------------------------------------------
  57. function __init__()
  58. {
  59. enable_juggernaut_perk_for_level();
  60. }
  61.  
  62. function enable_juggernaut_perk_for_level()
  63. {
  64. // register juggernaut perk for level
  65. zm_perks::register_perk_basic_info( PERK_JUGGERNOG, "juggernog", JUGGERNAUT_PERK_COST, &"ZOMBIE_PERK_JUGGERNAUT", GetWeapon( JUGGERNAUT_PERK_BOTTLE_WEAPON ) );
  66. zm_perks::register_perk_precache_func( PERK_JUGGERNOG, &juggernaut_precache );
  67. zm_perks::register_perk_clientfields( PERK_JUGGERNOG, &juggernaut_register_clientfield, &juggernaut_set_clientfield );
  68. zm_perks::register_perk_machine( PERK_JUGGERNOG, &juggernaut_perk_machine_setup, &init_juggernaut );
  69. zm_perks::register_perk_threads( PERK_JUGGERNOG, &give_juggernaut_perk, &take_juggernaut_perk );
  70. zm_perks::register_perk_host_migration_params( PERK_JUGGERNOG, JUGGERNAUT_RADIANT_MACHINE_NAME, JUGGERNAUT_MACHINE_LIGHT_FX );
  71. }
  72.  
  73. function init_juggernaut()
  74. {
  75. // tweakable variables
  76. zombie_utility::set_zombie_var( "zombie_perk_juggernaut_health", 100 );
  77. zombie_utility::set_zombie_var( "zombie_perk_juggernaut_health_upgrade", 150 );
  78.  
  79. // WARDOGSK93 - Code Start
  80. wardog_perk_helper::include_perk_in_random_rotation(PERK_JUGGERNOG);
  81. wardog_perk_hud::register_perk_shader(PERK_JUGGERNOG, JUGGERNAUT_SHADER);
  82. // WARDOGSK93 - Code End
  83. }
  84.  
  85. function juggernaut_precache()
  86. {
  87. if( IsDefined(level.juggernaut_precache_override_func) )
  88. {
  89. [[ level.juggernaut_precache_override_func ]]();
  90. return;
  91. }
  92.  
  93. // WARDOGSK93 - Code Start
  94. // Original
  95. // level._effect[JUGGERNAUT_MACHINE_LIGHT_FX] = "zombie/fx_perk_juggernaut_zmb";
  96. level._effect[JUGGERNAUT_MACHINE_LIGHT_FX] = JUGGERNAUT_MACHINE_LIGHT_FX_FILE;
  97. level._effect["vulture_perk_machine_glow_juggernaut"] = JUGGERNAUT_WAYPOINT_FX;
  98. // WARDOGSK93 - Code End
  99.  
  100. level.machine_assets[PERK_JUGGERNOG] = SpawnStruct();
  101. level.machine_assets[PERK_JUGGERNOG].weapon = GetWeapon( JUGGERNAUT_PERK_BOTTLE_WEAPON );
  102. level.machine_assets[PERK_JUGGERNOG].off_model = JUGGERNAUT_MACHINE_DISABLED_MODEL;
  103. level.machine_assets[PERK_JUGGERNOG].on_model = JUGGERNAUT_MACHINE_ACTIVE_MODEL;
  104. }
  105.  
  106. function juggernaut_register_clientfield()
  107. {
  108. // WARDOGSK93 - Code Start
  109. // clientfield::register( "clientuimodel", PERK_CLIENTFIELD_JUGGERNAUT, VERSION_SHIP, 2, "int" );
  110. // WARDOGSK93 - Code End
  111. }
  112.  
  113. function juggernaut_set_clientfield( state )
  114. {
  115. // WARDOGSK93 - Code Start
  116. // self clientfield::set_player_uimodel( PERK_CLIENTFIELD_JUGGERNAUT, state );
  117. // WARDOGSK93 - Code End
  118. }
  119.  
  120. function juggernaut_perk_machine_setup( use_trigger, perk_machine, bump_trigger, collision )
  121. {
  122. use_trigger.script_sound = "mus_perks_jugganog_jingle";
  123. use_trigger.script_string = "jugg_perk";
  124. use_trigger.script_label = "mus_perks_jugganog_sting";
  125. use_trigger.longJingleWait = true;
  126. use_trigger.target = "vending_jugg";
  127. perk_machine.script_string = "jugg_perk";
  128. perk_machine.targetname = "vending_jugg";
  129. if( IsDefined( bump_trigger ) )
  130. {
  131. bump_trigger.script_string = "jugg_perk";
  132. }
  133.  
  134. // WARDOGSK93 - Code Start
  135. // Register waypoint for this machine
  136. wardog_perk_helper::register_perk_machine_waypoint(use_trigger, "vulture_perk_machine_glow_juggernaut", true);
  137. // WARDOGSK93 - Code End
  138. }
  139.  
  140. function give_juggernaut_perk()
  141. {
  142. // Increment player max health if its the jugg perk
  143. self zm_perks::perk_set_max_health_if_jugg( PERK_JUGGERNOG, true, false );
  144. }
  145.  
  146. function take_juggernaut_perk( b_pause, str_perk, str_result )
  147. {
  148. // Increment player max health if its the jugg perk
  149. self zm_perks::perk_set_max_health_if_jugg( "health_reboot", true, true );
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement