From 5b059b5531b02f08340ea6f62550e4dfc516056d Mon Sep 17 00:00:00 2001 From: TheSaminator Date: Tue, 24 May 2022 11:31:32 -0400 Subject: [PATCH] Minor refactorings --- src/commonMain/kotlin/starshipfights/game/game_ability.kt | 4 ++-- .../kotlin/starshipfights/game/ship_instances.kt | 2 +- src/commonMain/kotlin/starshipfights/game/ship_weapons.kt | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/commonMain/kotlin/starshipfights/game/game_ability.kt b/src/commonMain/kotlin/starshipfights/game/game_ability.kt index 1c32be6..89bf7c1 100644 --- a/src/commonMain/kotlin/starshipfights/game/game_ability.kt +++ b/src/commonMain/kotlin/starshipfights/game/game_ability.kt @@ -443,7 +443,7 @@ sealed class PlayerAbilityType { if (!shipInstance.canUseWeapon(weapon)) return null val shipWeapon = shipInstance.armaments.weaponInstances[weapon] ?: return null - val pickResponse = pick(shipInstance.getWeaponPickRequest(shipWeapon.weapon, shipInstance.position, shipInstance.owner)) + val pickResponse = pick(shipInstance.getWeaponPickRequest(shipWeapon.weapon)) return pickResponse?.let { PlayerAbilityData.UseWeapon(it) } } @@ -456,7 +456,7 @@ sealed class PlayerAbilityType { if (!shipInstance.canUseWeapon(weapon)) return GameEvent.InvalidAction("That weapon cannot be used") val shipWeapon = shipInstance.armaments.weaponInstances[weapon] ?: return GameEvent.InvalidAction("That weapon does not exist") - val pickRequest = shipInstance.getWeaponPickRequest(shipWeapon.weapon, shipInstance.position, shipInstance.owner) + val pickRequest = shipInstance.getWeaponPickRequest(shipWeapon.weapon) val pickResponse = data.target if (!gameState.isValidPick(pickRequest, pickResponse)) return GameEvent.InvalidAction("Invalid target") diff --git a/src/commonMain/kotlin/starshipfights/game/ship_instances.kt b/src/commonMain/kotlin/starshipfights/game/ship_instances.kt index 4f4828a..dc773ce 100644 --- a/src/commonMain/kotlin/starshipfights/game/ship_instances.kt +++ b/src/commonMain/kotlin/starshipfights/game/ship_instances.kt @@ -86,9 +86,9 @@ data class ShipInstance( return when (weapon) { is ShipWeaponInstance.Cannon -> weaponAmount > 0 - is ShipWeaponInstance.Hangar -> weapon.wingHealth > 0.0 is ShipWeaponInstance.Lance -> weapon.numCharges > EPSILON is ShipWeaponInstance.Torpedo -> true + is ShipWeaponInstance.Hangar -> weapon.wingHealth > 0.0 is ShipWeaponInstance.ParticleClawLauncher -> true is ShipWeaponInstance.LightningYarn -> true is ShipWeaponInstance.MegaCannon -> weapon.remainingShots > 0 diff --git a/src/commonMain/kotlin/starshipfights/game/ship_weapons.kt b/src/commonMain/kotlin/starshipfights/game/ship_weapons.kt index f1b3423..4b2de43 100644 --- a/src/commonMain/kotlin/starshipfights/game/ship_weapons.kt +++ b/src/commonMain/kotlin/starshipfights/game/ship_weapons.kt @@ -571,7 +571,7 @@ fun criticalChance(attacker: ShipInstance, weaponId: Id, targeted: S } * attacker.firepower.criticalChance } -fun ShipInstance.getWeaponPickRequest(weapon: ShipWeapon, position: ShipPosition, side: GlobalSide): PickRequest = when (weapon) { +fun ShipInstance.getWeaponPickRequest(weapon: ShipWeapon): PickRequest = when (weapon) { is AreaWeapon -> PickRequest( type = PickType.Location( excludesNearShips = emptySet(), @@ -594,9 +594,9 @@ fun ShipInstance.getWeaponPickRequest(weapon: ShipWeapon, position: ShipPosition ) else -> { val targetSet = if ((weapon as? ShipWeapon.Hangar)?.wing == StrikeCraftWing.FIGHTERS) - setOf(side) + setOf(owner) else - setOf(side.other) + setOf(owner.other) val weaponRangeMult = when (weapon) { is ShipWeapon.Cannon -> firepower.rangeMultiplier @@ -614,7 +614,7 @@ fun ShipInstance.getWeaponPickRequest(weapon: ShipWeapon, position: ShipPosition minDistance = weapon.minRange, maxDistance = weapon.maxRange * weaponRangeMult, firingArcs = weapon.firingArcs, - canSelfSelect = side in targetSet + canSelfSelect = owner in targetSet ) ) } -- 2.25.1