Advertisement
musashi1584

Untitled

Jul 21st, 2017
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class X2Effect_BlastPadding extends X2Effect_ModifyStats config (LW_ScalingDefensivePerks);
  2.  
  3. var config int CERAMIC_PLATING_HP;
  4. var config int ALLOY_PLATING_HP;
  5. var config int CARAPACE_PLATING_HP;
  6. var config int CHITIN_PLATING_HP;
  7.  
  8. simulated protected function OnEffectAdded(const out EffectAppliedData ApplyEffectParameters, XComGameState_BaseObject kNewTargetState, XComGameState NewGameState, XComGameState_Effect NewEffectState)
  9. {  
  10.     local XComGameState_Unit TargetUnit;
  11.     local StatChange NewChange;
  12.     local int BonusAmount;
  13.     local array<XComGameState_Item> Items;
  14.     local XComGameState_Item Item;
  15.     local XComGameState_Item Plating;
  16.    
  17.     TargetUnit = XComGameState_Unit(kNewTargetState);
  18.  
  19.     if (TargetUnit == none)
  20.         return;
  21.  
  22.     Items = TargetUnit.GetAllInventoryItems();
  23.  
  24.     foreach Items(Item)
  25.     {
  26.         if(Item.GetMyTemplate().ItemCat == 'plating'){
  27.             Plating = Item;
  28.         }
  29.     }
  30.  
  31.     switch(Plating.GetMyTemplateName()){
  32.         case 'CeramicPlating':
  33.             BonusAmount = 2;
  34.         break;
  35.         case 'AlloyPlating':
  36.             BonusAmount = 3;
  37.         break;
  38.         case 'ChitinPlating':
  39.             BonusAmount = 4;
  40.         break;
  41.         case 'CarapacePlating':
  42.             BonusAmount = 5;
  43.         break;
  44.         default:
  45.     }
  46.  
  47.     if(BonusAmount < StatAmount){
  48.         BonusAmount = StatAmount;
  49.     }
  50.    
  51.    
  52.     NewChange.StatType = eStat_HP;
  53.     NewChange.StatAmount = BonusAmount;
  54.    
  55.     NewEffectState.StatChanges.AddItem(NewChange);
  56.    
  57.     super.OnEffectAdded(ApplyEffectParameters, kNewTargetState, NewGameState, NewEffectState);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement