Henrybk

onMonsterKill 2.0

Jun 30th, 2015
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.50 KB | None | 0 0
  1. package onMonsterKill;
  2.  
  3. use strict;
  4. use Globals;
  5. use Utils;
  6. use Misc;
  7. use AI;
  8. use Log qw(debug message warning error);
  9.  
  10. Plugins::register('onMonsterKill', 'Check killed monsters', \&on_unload, \&on_unload);
  11.  
  12. my $hooks = Plugins::addHooks(
  13.     ['target_died', \&on_Hash, undef]
  14. );
  15.  
  16. sub on_unload {
  17.     Plugins::delHooks($hooks);
  18. }
  19.  
  20. sub on_Hash {
  21.     my ($self, $args) = @_;
  22.     my $monster = $args->{monster};
  23.     my $i = 0;
  24.     while (exists $config{"onMonsterKill_$i"}) {
  25.         if ($config{"onMonsterKill_$i"} && checkSelfCondition("onMonsterKill_$i") && checkMonster("onMonsterKill_$i", $monster)) {
  26.             Commands::run($config{"onMonsterKill_$i"});
  27.             last;
  28.         }
  29.     } continue {
  30.         $i++;
  31.     }
  32. }
  33.  
  34. sub checkMonster {
  35.     my ($prefix, $monster) = @_;
  36.     return 0 if (!$prefix);
  37.     return 0 if ($config{$prefix . "_disabled"});
  38.     if ($config{$prefix."_name"}) {
  39.         return 0 if ($monster->{name} ne $config{$prefix."_name"});
  40.     }
  41.     if ($config{$prefix."_name_given"}) {
  42.         return 0 if ($monster->{name_given} ne $config{$prefix."_name_given"});
  43.     }
  44.     if ($config{$prefix."_nameID"}) {
  45.         return 0 if ($monster->{nameID} ne $config{$prefix."_nameID"});
  46.     }
  47.     if ($config{$prefix."_dmgFromYou"}) {
  48.         return 0 if (!inRange($monster->{dmgFromYou}, $config{$prefix."_dmgFromYou"}));
  49.     }
  50.     if ($config{$prefix."_numAtkFromYou"}) {
  51.         return 0 if (!inRange($monster->{numAtkFromYou}, $config{$prefix."_numAtkFromYou"}));
  52.     }
  53.     if ($config{$prefix."_moblv"}) {
  54.         return 0 if ($monster->{lv} != $config{$prefix."_moblv"});
  55.     }
  56.     return 1;
  57. }
  58.  
  59. 1;
Advertisement
Add Comment
Please, Sign In to add comment