Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static function bool HasPrimaryMeleeOrPistolEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return HasPrimaryMeleeEquipped(UnitState, CheckGameState) || HasPrimaryPistolEquipped(UnitState, CheckGameState);
- }
- static function bool HasMeleeAndPistolEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return (HasPrimaryMeleeEquipped(UnitState, CheckGameState) && HasSecondaryPistolEquipped(UnitState, CheckGameState)) ||
- (HasPrimaryPistolEquipped(UnitState, CheckGameState) && HasSecondaryMeleeEquipped(UnitState, CheckGameState));
- }
- static function bool HasPrimaryMeleeEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsPrimaryMeleeWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_PrimaryWeapon, CheckGameState).GetMyTemplate())) &&
- !HasDualPistolEquipped(UnitState, CheckGameState) &&
- !HasDualMeleeEquipped(UnitState, CheckGameState) &&
- !HasShieldEquipped(UnitState, CheckGameState);
- }
- static function bool HasPrimaryPistolEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsPrimaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_PrimaryWeapon, CheckGameState).GetMyTemplate())) &&
- !HasDualPistolEquipped(UnitState, CheckGameState) &&
- !HasDualMeleeEquipped(UnitState, CheckGameState) &&
- !HasShieldEquipped(UnitState, CheckGameState);
- }
- static function bool HasSecondaryMeleeEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsSecondaryMeleeWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate()));
- }
- static function bool HasSecondaryPistolEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsSecondaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate()));
- }
- static function bool HasShieldEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- local X2WeaponTemplate SecondaryWeaponTemplate;
- SecondaryWeaponTemplate = X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate());
- return SecondaryWeaponTemplate.WeaponCat == 'shield';
- }
- static function bool HasDualPistolEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsPrimaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_PrimaryWeapon, CheckGameState).GetMyTemplate())) &&
- IsSecondaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate()));
- }
- static function bool CheckDualPistolGetsEquipped(XComGameState_Unit UnitState, XComGameState_Item ItemState, optional XComGameState CheckGameState)
- {
- return (IsPrimaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_PrimaryWeapon, CheckGameState).GetMyTemplate())) &&
- IsSecondaryPistolWeaponTemplate(X2WeaponTemplate(ItemState.GetMyTemplate())))
- ||
- (IsPrimaryPistolWeaponTemplate(X2WeaponTemplate(ItemState.GetMyTemplate())) &&
- IsSecondaryPistolWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate())));
- }
- static function bool HasDualMeleeEquipped(XComGameState_Unit UnitState, optional XComGameState CheckGameState)
- {
- return IsPrimaryMeleeWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_PrimaryWeapon, CheckGameState).GetMyTemplate())) &&
- IsSecondaryMeleeWeaponTemplate(X2WeaponTemplate(UnitState.GetItemInSlot(eInvSlot_SecondaryWeapon, CheckGameState).GetMyTemplate()));
- }
- static function bool IsPrimaryPistolWeaponTemplate(X2WeaponTemplate WeaponTemplate)
- {
- return WeaponTemplate != none &&
- WeaponTemplate.StowedLocation == eSlot_None &&
- WeaponTemplate.InventorySlot == eInvSlot_PrimaryWeapon &&
- default.PistolCategories.Find(WeaponTemplate.WeaponCat) != INDEX_NONE;
- }
- static function bool IsSecondaryPistolWeaponTemplate(X2WeaponTemplate WeaponTemplate)
- {
- return WeaponTemplate != none &&
- WeaponTemplate.StowedLocation == eSlot_None &&
- WeaponTemplate.InventorySlot == eInvSlot_SecondaryWeapon &&
- default.PistolCategories.Find(WeaponTemplate.WeaponCat) != INDEX_NONE &&
- InStr(WeaponTemplate.DataName, "_TMP_") == INDEX_NONE; // Filter RF Templar Weapons
- }
- static function bool IsPrimaryMeleeWeaponTemplate(X2WeaponTemplate WeaponTemplate)
- {
- return WeaponTemplate != none &&
- WeaponTemplate.InventorySlot == eInvSlot_PrimaryWeapon &&
- WeaponTemplate.iRange == 0 &&
- WeaponTemplate.WeaponCat != 'wristblade' &&
- WeaponTemplate.WeaponCat != 'shield' &&
- WeaponTemplate.WeaponCat != 'gauntlet';
- }
- static function bool IsSecondaryMeleeWeaponTemplate(X2WeaponTemplate WeaponTemplate)
- {
- return WeaponTemplate != none &&
- WeaponTemplate.InventorySlot == eInvSlot_SecondaryWeapon &&
- WeaponTemplate.iRange == 0 &&
- WeaponTemplate.WeaponCat != 'wristblade' &&
- WeaponTemplate.WeaponCat != 'shield' &&
- WeaponTemplate.WeaponCat != 'gauntlet';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement