예제 #1
0
    def lock_on(self) -> Optional[LockOn]:
        if self.fire_groups and all_equal((fg.lock_on for fg in self.fire_groups)):

            return self.fire_groups[0].lock_on

        else:

            return None
예제 #2
0
    def ammo(self) -> Optional[Ammo]:
        if self.fire_modes and all_equal((fm.ammo for fm in self.fire_modes)):

            return self.fire_modes[0].ammo

        else:

            return None
예제 #3
0
    def heat(self) -> Optional[Heat]:
        if self.fire_modes and all_equal((fm.heat for fm in self.fire_modes)):

            return self.fire_modes[0].heat

        else:

            return None
예제 #4
0
    def recoil(self) -> Optional[Recoil]:
        if self.fire_groups and all_equal((fg.recoil for fg in self.fire_groups)):

            return self.fire_groups[0].recoil

        else:

            return None
예제 #5
0
    def projectile(self) -> Optional[Projectile]:
        if self.fire_groups and all_equal((fg.projectile for fg in self.fire_groups)):

            return self.fire_groups[0].projectile

        else:

            return None
예제 #6
0
    def fire_timing(self) -> Optional[FireTiming]:
        if self.fire_groups and all_equal((fg.fire_timing for fg in self.fire_groups)):

            return self.fire_groups[0].fire_timing

        else:

            return None
예제 #7
0
    def heat(self) -> Optional[Heat]:
        if self.fire_groups and all_equal((fg.heat for fg in self.fire_groups)):

            return self.fire_groups[0].heat

        else:

            return None
예제 #8
0
    def ammo(self) -> Optional[Ammo]:
        if self.fire_groups and all_equal((fg.ammo for fg in self.fire_groups)):

            return self.fire_groups[0].ammo

        else:

            return None
예제 #9
0
    def lock_on(self) -> Optional[LockOn]:
        if self.fire_modes and all_equal(
            (fm.lock_on for fm in self.fire_modes)):

            return self.fire_modes[0].lock_on

        else:

            return None
예제 #10
0
    def projectile(self) -> Optional[Projectile]:
        if self.fire_modes and all_equal(
            (fm.projectile for fm in self.fire_modes)):

            return self.fire_modes[0].projectile

        else:

            return None
예제 #11
0
    def player_state_can_ads(self) -> Optional[Dict[PlayerState, bool]]:
        if self.fire_modes and all_equal(
            (fm.player_state_can_ads for fm in self.fire_modes)):

            return self.fire_modes[0].player_state_can_ads

        else:

            return None
예제 #12
0
    def recoil(self) -> Optional[Recoil]:
        if self.fire_modes and all_equal(
            (fm.recoil for fm in self.fire_modes)):

            return self.fire_modes[0].recoil

        else:

            return None
예제 #13
0
    def direct_damage_profile(self) -> Optional[DamageProfile]:
        if self.fire_modes and all_equal(
            (fm.direct_damage_profile for fm in self.fire_modes)):

            return self.fire_modes[0].direct_damage_profile

        else:

            return None
예제 #14
0
    def fire_timing(self) -> Optional[FireTiming]:
        if self.fire_modes and all_equal(
            (fm.fire_timing for fm in self.fire_modes)):

            return self.fire_modes[0].fire_timing

        else:

            return None
예제 #15
0
    def direct_damage_profile(self) -> Optional[DamageProfile]:
        if self.fire_groups and all_equal(
            (fg.direct_damage_profile for fg in self.fire_groups)):

            return self.fire_groups[0].direct_damage_profile

        else:

            return None
예제 #16
0
    def player_state_can_ads(self) -> Optional[Dict[PlayerState, bool]]:
        if self.fire_groups and all_equal(
            (fg.player_state_can_ads for fg in self.fire_groups)):

            return self.fire_groups[0].player_state_can_ads

        else:

            return None
예제 #17
0
    def player_state_cone_of_fire(
            self) -> Optional[Dict[PlayerState, ConeOfFire]]:
        if self.fire_groups and all_equal(
            (fg.player_state_cone_of_fire for fg in self.fire_groups)):

            return self.fire_groups[0].player_state_cone_of_fire

        else:

            return None
예제 #18
0
def test_all_equal():
    assert all_equal([1, 2, 3]) is False
    assert all_equal([1, 1]) is True
    assert all_equal([]) is True