Paste Search Dynamic
Recent pastes
onDamage
  1.    public function onDamage(EntityDamageByEntityEvent $event){
  2.         $victim = $event->getEntity();
  3.         $killer = $event->getDamager();
  4.  
  5.         if (!$victim instanceof UPlayer && !$killer instanceof UPlayer) return;
  6.  
  7.         foreach (UHC::getInstance()->getManager()->getParties() as $party) {
  8.             if (in_array($victim->getName(), $party->getPlayerNames())) {
  9.                 if ($party->getState() !== 2) {
  10.                     $event->setCancelled();
  11.                 } else {
  12.                     if ($victim->getHealth() - $event->getFinalDamage() <= 0) {
  13.                         /**
  14.                          * Kill
  15.                          */
  16.                         $event->setCancelled();
  17.                         $party->quitParty($victim);
  18.                         foreach($victim->getInventory()->getContents() as $item) {
  19.                             $victim->dropItem($item);
  20.                         }
  21.  
  22.                         $victim->setGamemode(3);
  23.                         $victim->teleport($killer);
  24.                         $party->sendMessageAll(UHC::KILL . "§c" . $victim->getName() . " §fa été tué(e) par §c" . $killer->getName());
  25.                         $party->kills[$killer->getName()]++;
  26.  
  27.                         /**
  28.                          * Win
  29.                          */
  30.                         if($party->getCountPlayers() == 1){
  31.                             if(in_array($killer, $party->getPlayers())){
  32.                                 Server::getInstance()->broadcastMessage(UHC::PREFIX . "Victoire de §9" . $killer->getName() . " §fsur une partie d'UHC");
  33.                                 $party->quitParty($killer);
  34.                                 $killer->lobby();
  35.                                 $killer->giveInventory();
  36.                                 $killer->in_party = false;
  37.                                 $killer->party = null;
  38.  
  39.                                 foreach (Server::getInstance()->getLevelByName($victim->getLevel()->getName())->getPlayers() as $gm3){
  40.                                     if(!$gm3->isSpectator()) return;
  41.                                     if(!$gm3 instanceof UPlayer) return;
  42.                                     $gm3->lobby();
  43.                                     $gm3->giveInventory();
  44.  
  45.                                     $gm3->party = null;
  46.                                     $gm3->in_party = false;
  47.                                 }
  48.  
  49.                                 $party->removeParty();
  50.                             }
  51.                         }
  52.                     }
  53.                 }
  54.             }
  55.         }
  56.     }
Parsed in 0.034 seconds