8
8
9
9
namespace VectorNetworkProject \TheMix \event \entity ;
10
10
11
+ use InkoHX \GoldLibrary \GoldAPI ;
12
+ use InkoHX \LeveLibrary \LevelAPI ;
13
+ use pocketmine \event \entity \EntityDamageByEntityEvent ;
11
14
use pocketmine \event \entity \EntityDamageEvent ;
12
15
use pocketmine \event \Listener ;
13
16
use pocketmine \Player ;
@@ -21,23 +24,25 @@ public function event(EntityDamageEvent $event)
21
24
{
22
25
$ entity = $ event ->getEntity ();
23
26
$ entity ->extinguish ();
24
- if (TheEndGameEvent::isFinish ()) {
27
+ if (TheEndGameEvent::isFinish ()) return ;
28
+ if (!$ entity instanceof Player) return ;
29
+ if ($ event ->getFinalDamage () < $ entity ->getHealth ()) return ;
30
+ if ($ event ->getCause () === EntityDamageEvent::CAUSE_FALL ) return ;
31
+ if ($ event instanceof EntityDamageByEntityEvent) {
25
32
$ event ->setCancelled ();
26
- return ;
27
- }
28
- if (!$ entity instanceof Player) {
29
- return ;
30
- }
31
- if ($ event ->getFinalDamage () <= $ entity ->getHealth ()) {
32
- return ;
33
- }
34
- if ($ event ->getCause () === EntityDamageEvent::CAUSE_FALL ) {
33
+ SpawnManager::PlayerReSpawn ($ entity );
34
+ Streak::resetStreak ($ entity );
35
+ $ damager = $ event ->getDamager ();
36
+ if ($ damager instanceof Player) {
37
+ if ($ entity ->getName () === $ damager ->getName ()) return ;
38
+ Streak::addStreak ($ damager );
39
+ GoldAPI::addGold ($ damager , mt_rand (10 , 15 ));
40
+ LevelAPI::Auto ($ damager , mt_rand (10 , 15 ));
41
+ }
42
+ } else {
35
43
$ event ->setCancelled ();
36
-
37
- return ;
44
+ Streak:: resetStreak ( $ entity );
45
+ SpawnManager:: PlayerReSpawn ( $ entity ) ;
38
46
}
39
- $ event ->setCancelled ();
40
- Streak::resetStreak ($ entity );
41
- SpawnManager::PlayerReSpawn ($ entity );
42
47
}
43
48
}
0 commit comments