mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-19 17:36:34 +00:00
Merge branch 'master' of github.com:PocketMine/PocketMine-MP
This commit is contained in:
commit
20f9352714
@ -101,7 +101,7 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
$deltaX = $this->x - $e->x;
|
$deltaX = $this->x - $e->x;
|
||||||
$deltaZ = $this->z - $e->z;
|
$deltaZ = $this->z - $e->z;
|
||||||
$yaw = atan2($deltaX, $deltaZ);
|
$yaw = atan2($deltaX, $deltaZ);
|
||||||
$this->knockBack($e, $damage, sin($yaw), cos($yaw));
|
$this->knockBack($e, $damage, sin($yaw), cos($yaw), $source->getKnockBack());
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setHealth($this->getHealth() - $damage);
|
$this->setHealth($this->getHealth() - $damage);
|
||||||
@ -114,9 +114,8 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
$this->attackTime = 10; //0.5 seconds cooldown
|
$this->attackTime = 10; //0.5 seconds cooldown
|
||||||
}
|
}
|
||||||
|
|
||||||
public function knockBack(Entity $attacker, $damage, $x, $z){
|
public function knockBack(Entity $attacker, $damage, $x, $z, $base = 0.4){
|
||||||
$f = sqrt($x ** 2 + $z ** 2);
|
$f = sqrt($x ** 2 + $z ** 2);
|
||||||
$base = 0.4;
|
|
||||||
|
|
||||||
$motion = new Vector3($this->motionX, $this->motionY, $this->motionZ);
|
$motion = new Vector3($this->motionX, $this->motionY, $this->motionZ);
|
||||||
|
|
||||||
|
@ -29,16 +29,19 @@ class EntityDamageByEntityEvent extends EntityDamageEvent{
|
|||||||
|
|
||||||
/** @var Entity */
|
/** @var Entity */
|
||||||
private $damager;
|
private $damager;
|
||||||
|
/** @var float */
|
||||||
|
private $knockBack;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Entity $damager
|
* @param Entity $damager
|
||||||
* @param Entity $entity
|
* @param Entity $entity
|
||||||
* @param int $cause
|
* @param int $cause
|
||||||
* @param int|int[] $damage
|
* @param int|int[] $damage
|
||||||
|
* @param float $knockBack
|
||||||
*/
|
*/
|
||||||
public function __construct(Entity $damager, Entity $entity, $cause, $damage){
|
public function __construct(Entity $damager, Entity $entity, $cause, $damage, $knockBack = 0.4){
|
||||||
$this->damager = $damager;
|
$this->damager = $damager;
|
||||||
|
$this->knockBack = $knockBack;
|
||||||
parent::__construct($entity, $cause, $damage);
|
parent::__construct($entity, $cause, $damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,6 +51,16 @@ class EntityDamageByEntityEvent extends EntityDamageEvent{
|
|||||||
public function getDamager(){
|
public function getDamager(){
|
||||||
return $this->damager;
|
return $this->damager;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public function getKnockBack(){
|
||||||
|
return $this->knockBack;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param float $knockBack
|
||||||
|
*/
|
||||||
|
public function setKnockBack($knockBack){
|
||||||
|
$this->knockBack = $knockBack;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user