private void Attack(SurvivorSprite survivorSprite) { this.AttackerBooleans = shotgunAttackTextureSheet.CellCollisionBooleans[0]; this.AttackerPixels = shotgunAttackTextureSheet.CellCollisionPixels[0]; this.AttackerBounds = CollisionHelper.CalculateCollisionRectangle( survivorSprite.Location.TransformMatrixForOffset(shotgunAttackTextureSheet.CellOffsets[0]), new Point(shotgunAttackTextureSheet.CellSourceRectangles[0].Width, shotgunAttackTextureSheet.CellSourceRectangles[0].Height)); this.AttackerTransformMatrix = survivorSprite.Location.TransformMatrixForOffset(shotgunAttackTextureSheet.CellOffsets[0]); MultiAttackResults multiAttackResults = survivorSprite.Game.ZombiesSubsystem.ZombiesAttackManager.AttackWithProjectile(this, DamageValue); survivorSprite.Game.Results.KillResults.ShotgunBlastKills += multiAttackResults.Kills; if (multiAttackResults.Kills > 0) { survivorSprite.Game.Results.ShotgunWeaponResults.UsageResultingInKills++; if (multiAttackResults.Kills == 2) { survivorSprite.Game.Results.KillResults.DoubleKills++; } else if (multiAttackResults.Kills == 3) { survivorSprite.Game.Results.KillResults.TripleKills++; } } else if (multiAttackResults.Damages > 0) { survivorSprite.Game.Results.ShotgunWeaponResults.UsageResultingInDamage++; } else { survivorSprite.Game.Results.ShotgunWeaponResults.UsageResultingInNoDamage++; } }
private void Attack(SurvivorSprite survivorSprite) { this.AttackerBooleans = pistolAttackTextureSheet.CellCollisionBooleans[0]; this.AttackerPixels = pistolAttackTextureSheet.CellCollisionPixels[0]; this.AttackerBounds = CollisionHelper.CalculateCollisionRectangle( survivorSprite.Location.TransformMatrixForOffset(pistolAttackTextureSheet.CellOffsets[0]), new Point(pistolAttackTextureSheet.CellSourceRectangles[0].Width, pistolAttackTextureSheet.CellSourceRectangles[0].Height)); this.AttackerTransformMatrix = survivorSprite.Location.TransformMatrixForOffset(pistolAttackTextureSheet.CellOffsets[0]); AttackResults attackResults = survivorSprite.Game.ZombiesSubsystem.ZombiesAttackManager.AttackWithProjectileSingleTarget(this, DamageValue); if (attackResults == AttackResults.Kill) { survivorSprite.Game.Results.PistolWeaponResults.UsageResultingInKills++; survivorSprite.Game.Results.KillResults.PistolShotKills++; } else if (attackResults == AttackResults.Damage) { survivorSprite.Game.Results.PistolWeaponResults.UsageResultingInDamage++; } else { survivorSprite.Game.Results.PistolWeaponResults.UsageResultingInNoDamage++; } }