mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
Projectile: allow using negative damage amounts to remove damage effects
This commit is contained in:
parent
a8a3eb3866
commit
cdd3fe81e1
@ -284,19 +284,21 @@ abstract class Projectile extends Entity{
|
|||||||
protected function onHitEntity(Entity $entityHit, RayTraceResult $hitResult) : void{
|
protected function onHitEntity(Entity $entityHit, RayTraceResult $hitResult) : void{
|
||||||
$damage = $this->getResultDamage();
|
$damage = $this->getResultDamage();
|
||||||
|
|
||||||
if($this->getOwningEntity() === null){
|
if($damage >= 0){
|
||||||
$ev = new EntityDamageByEntityEvent($this, $entityHit, EntityDamageEvent::CAUSE_PROJECTILE, $damage);
|
if($this->getOwningEntity() === null){
|
||||||
}else{
|
$ev = new EntityDamageByEntityEvent($this, $entityHit, EntityDamageEvent::CAUSE_PROJECTILE, $damage);
|
||||||
$ev = new EntityDamageByChildEntityEvent($this->getOwningEntity(), $this, $entityHit, EntityDamageEvent::CAUSE_PROJECTILE, $damage);
|
}else{
|
||||||
}
|
$ev = new EntityDamageByChildEntityEvent($this->getOwningEntity(), $this, $entityHit, EntityDamageEvent::CAUSE_PROJECTILE, $damage);
|
||||||
|
}
|
||||||
|
|
||||||
$entityHit->attack($ev);
|
$entityHit->attack($ev);
|
||||||
|
|
||||||
if($this->fireTicks > 0){
|
if($this->fireTicks > 0){
|
||||||
$ev = new EntityCombustByEntityEvent($this, $entityHit, 5);
|
$ev = new EntityCombustByEntityEvent($this, $entityHit, 5);
|
||||||
$this->server->getPluginManager()->callEvent($ev);
|
$this->server->getPluginManager()->callEvent($ev);
|
||||||
if(!$ev->isCancelled()){
|
if(!$ev->isCancelled()){
|
||||||
$entityHit->setOnFire($ev->getDuration());
|
$entityHit->setOnFire($ev->getDuration());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user