Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. // This is an Unreal Script
  2.  
  3. class X2Ability_LW_TechnicalHeavyWeaponReload extends X2Ability
  4. dependson (XComGameStateContext_Ability);
  5.  
  6. static function array<X2DataTemplate> CreateTemplates()
  7. {
  8. local array<X2DataTemplate> Templates;
  9. Templates.AddItem(LWReloadFlamethrower());
  10. //Templates.AddItem(LWReloadRocketLauncher());
  11. //Templates.AddItem(PurePassive('AutoloaderArmaments', "img:///UILibrary_LW_Overhaul.LW_AbilityFireandSteel"));
  12.  
  13. return Templates;
  14. }
  15.  
  16. static function X2AbilityTemplate LWReloadFlamethrower()
  17. {
  18. local X2AbilityTemplate Template;
  19. local X2AbilityTemplate FlameThrowerTemplate;
  20. local X2AbilityCost_ActionPoints ActionPointCost;
  21. local X2Condition_UnitProperty ShooterPropertyCondition;
  22. local X2Condition_AbilitySourceWeapon WeaponCondition;
  23. local X2AbilityTrigger_PlayerInput InputTrigger;
  24. local X2AbilityCharges_BonusCharges Charges;
  25. local X2AbilityCost_Charges ChargeCost;
  26. local array<name> SkipExclusions;
  27.  
  28. `CREATE_X2ABILITY_TEMPLATE(Template, 'LWReloadFlamethrower');
  29.  
  30. Template.bDontDisplayInAbilitySummary = true;
  31. ActionPointCost = new class'X2AbilityCost_ActionPoints';
  32. Template.AbilityCosts.AddItem(ActionPointCost);
  33.  
  34. ShooterPropertyCondition = new class'X2Condition_UnitProperty';
  35. ShooterPropertyCondition.ExcludeDead = true; //Can't reload while dead
  36. Template.AbilityShooterConditions.AddItem(ShooterPropertyCondition);
  37.  
  38. //add condition (must have less than max flamethrower ammo)
  39.  
  40. SkipExclusions.AddItem(class'X2AbilityTemplateManager'.default.DisorientedName);
  41. Template.AddShooterEffectExclusions(SkipExclusions);
  42.  
  43. InputTrigger = new class'X2AbilityTrigger_PlayerInput';
  44. Template.AbilityTriggers.AddItem(InputTrigger);
  45.  
  46. Charges = new class'X2AbilityCharges_BonusCharges';
  47. Charges.InitialCharges = 2;
  48. Template.AbilityCharges = Charges;
  49.  
  50. ChargeCost = new class'X2AbilityCost_Charges';
  51. ChargeCost.NumCharges = 1;
  52. Template.AbilityCosts.AddItem(ChargeCost);
  53.  
  54. if(Charges == 1){
  55. AddCharges(Template, 2);
  56. FlameThowerTemplate = class'LWFlamethrower';
  57. AddCharges(FlameThrowerTemplate,1);
  58. }
  59.  
  60. Template.AbilityToHitCalc = default.DeadEye;
  61.  
  62. Template.AbilityTargetStyle = default.SelfTarget;
  63.  
  64. Template.AbilitySourceName = 'eAbilitySource_Standard';
  65. Template.eAbilityIconBehaviorHUD = eAbilityIconBehavior_ShowIfAvailable;
  66. Template.IconImage = "img:///UILibrary_PerkIcons.UIPerk_reload";
  67. Template.ShotHUDPriority = class'UIUtilities_Tactical'.const.ARMOR_ACTIVE_PRIORITY;
  68. Template.bNoConfirmationWithHotKey = true;
  69. Template.bDisplayInUITooltip = false;
  70. Template.bDisplayInUITacticalText = false;
  71. Template.DisplayTargetHitChance = false;
  72.  
  73. Template.ActivationSpeech = 'Reloading';
  74.  
  75. Template.BuildNewGameStateFn = ReloadAbility_BuildGameState;
  76. Template.BuildVisualizationFn = ReloadAbility_BuildVisualization;
  77.  
  78. ActionPointCost.iNumPoints = 1;
  79. Template.Hostility = eHostility_Neutral;
  80.  
  81. Template.CinescriptCameraType="GenericAccentCam";
  82.  
  83. return Template;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement