Advertisement
Iridar51

Untitled

Jul 29th, 2018
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. aclass X2AbilityCost_DP_Ammo extends X2AbilityCost_Ammo;
  2.  
  3. //this part works
  4. simulated function name CanAfford(XComGameState_Ability kAbility, XComGameState_Unit ActivatingUnit)
  5. {
  6. local XComGameState_Item Weapon;
  7.  
  8. Weapon = ActivatingUnit.GetItemInSlot(eInvSlot_PrimaryWeapon);
  9. if (Weapon != none)
  10. {
  11. if (Weapon.Ammo >= iAmmo)
  12. return 'AA_Success';
  13. }
  14.  
  15. return 'AA_CannotAfford_AmmoCost';
  16. }
  17.  
  18. //this part works in a weird way
  19. simulated function ApplyCost(XComGameStateContext_Ability AbilityContext, XComGameState_Ability kAbility, XComGameState_BaseObject AffectState, XComGameState_Item AffectWeapon, XComGameState NewGameState)
  20. {
  21. local XComGameState_Unit Unit;
  22. local XComGameState_Item Weapon;
  23.  
  24. Unit = ComGameState_Unit(`XCOMHISTORY.GetGameStateForObjectID(kAbility.OwnerStateObject.ObjectID));
  25. Weapon = Unit.GetItemInSlot(eInvSlot_PrimaryWeapon);
  26.  
  27. if (`CHEATMGR != none && `CHEATMGR.bUnlimitedAmmo && Unit.GetTeam() == eTeam_XCom) return;
  28.  
  29. //TargetState = History.GetGameStateForObjectID(AbilityContext.InputContext.PrimaryTarget.ObjectID);
  30.  
  31. kAbility.iAmmoConsumed = iAmmo; //not sure what this even does
  32. Weapon.Ammo -= iAmmo;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement