From f1970492c10591dcecc72a0cada6f7cf1cbfa8d5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 23 Jun 2018 10:38:58 +0100 Subject: [PATCH] Projectile: added API to modify projectile base damage multiplier This adds two new methods: - Projectile->getBaseDamage() - Projectile->setBaseDamage() --- src/pocketmine/entity/projectile/Arrow.php | 3 ++- .../entity/projectile/Projectile.php | 22 ++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/entity/projectile/Arrow.php b/src/pocketmine/entity/projectile/Arrow.php index bfe45c412..5842149a9 100644 --- a/src/pocketmine/entity/projectile/Arrow.php +++ b/src/pocketmine/entity/projectile/Arrow.php @@ -52,7 +52,8 @@ class Arrow extends Projectile{ protected $gravity = 0.05; protected $drag = 0.01; - protected $damage = 2; + /** @var float */ + protected $damage = 2.0; /** @var int */ protected $pickupMode = self::PICKUP_ANY; diff --git a/src/pocketmine/entity/projectile/Projectile.php b/src/pocketmine/entity/projectile/Projectile.php index 7cd579690..0daf7039d 100644 --- a/src/pocketmine/entity/projectile/Projectile.php +++ b/src/pocketmine/entity/projectile/Projectile.php @@ -46,7 +46,8 @@ abstract class Projectile extends Entity{ public const DATA_SHOOTER_ID = 17; - protected $damage = 0; + /** @var float */ + protected $damage = 0.0; /** @var Vector3|null */ protected $blockHit; @@ -112,6 +113,25 @@ abstract class Projectile extends Entity{ return false; } + /** + * Returns the base damage applied on collision. This is multiplied by the projectile's speed to give a result + * damage. + * + * @return float + */ + public function getBaseDamage() : float{ + return $this->damage; + } + + /** + * Sets the base amount of damage applied by the projectile. + * + * @param float $damage + */ + public function setBaseDamage(float $damage) : void{ + $this->damage = $damage; + } + /** * Returns the amount of damage this projectile will deal to the entity it hits. * @return int