Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- aclass X2AbilityCost_DP_Ammo extends X2AbilityCost_Ammo;
- //this part works
- simulated function name CanAfford(XComGameState_Ability kAbility, XComGameState_Unit ActivatingUnit)
- {
- local XComGameState_Item Weapon;
- Weapon = ActivatingUnit.GetItemInSlot(eInvSlot_PrimaryWeapon);
- if (Weapon != none)
- {
- if (Weapon.Ammo >= iAmmo)
- return 'AA_Success';
- }
- return 'AA_CannotAfford_AmmoCost';
- }
- //this part works in a weird way
- simulated function ApplyCost(XComGameStateContext_Ability AbilityContext, XComGameState_Ability kAbility, XComGameState_BaseObject AffectState, XComGameState_Item AffectWeapon, XComGameState NewGameState)
- {
- local XComGameState_Unit Unit;
- local XComGameState_Item Weapon;
- Unit = ComGameState_Unit(`XCOMHISTORY.GetGameStateForObjectID(kAbility.OwnerStateObject.ObjectID));
- Weapon = Unit.GetItemInSlot(eInvSlot_PrimaryWeapon);
- if (`CHEATMGR != none && `CHEATMGR.bUnlimitedAmmo && Unit.GetTeam() == eTeam_XCom) return;
- //TargetState = History.GetGameStateForObjectID(AbilityContext.InputContext.PrimaryTarget.ObjectID);
- kAbility.iAmmoConsumed = iAmmo; //not sure what this even does
- Weapon.Ammo -= iAmmo;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement