… | |
… | |
33 | $pl |
33 | $pl |
34 | } |
34 | } |
35 | |
35 | |
36 | sub on_move { |
36 | sub on_move { |
37 | my ($self, $enemy) = @_; |
37 | my ($self, $enemy) = @_; |
38 | #warn "move<@_>\n";#d# |
|
|
39 | |
38 | |
40 | if (my $pl = find_target_player $self) { |
39 | if (my $pl = find_target_player $self) { |
41 | my ($d, undef, undef, $dir, undef) = $self->rangevector ($pl); |
40 | my ($d, undef, undef, $dir, undef) = $self->rangevector ($pl); |
42 | |
41 | |
43 | if ($d < 1.5) { |
42 | if ($d < 1.5) { |
… | |
… | |
104 | |
103 | |
105 | cf::override; |
104 | cf::override; |
106 | } |
105 | } |
107 | |
106 | |
108 | sub on_attack { |
107 | sub on_attack { |
109 | my ($self) = @_; |
108 | my ($self, $hitter) = @_; |
110 | #warn "attack<@_>\n";#d# |
|
|
111 | |
109 | |
112 | if ($self->{neko_last_attack} < time - 300) { |
110 | if ($hitter->{neko_last_attack} < time - 300) { |
113 | $self->{neko_attack} = 0; |
111 | $hitter->{neko_attack} = 0; |
114 | } |
112 | } |
115 | |
113 | |
116 | $self->{neko_last_attack} = time; |
114 | $hitter->{neko_last_attack} = time; |
117 | $self->{neko_attack}++ |
115 | $hitter->{neko_attack}++ |
118 | or ext::schmorp_irc::do_notice "Neko-san was attacked by ". $self->name . "!\n"; |
116 | or ext::schmorp_irc::do_notice "Neko-san was attacked by ". $hitter->name . "!\n"; |
119 | |
117 | |
120 | $self->message ("Meoow! (Please do not hurt me)") |
118 | $hitter->message ("Meoow! (Please do not hurt me)") |
121 | if !($self->{neko_attack} & 15); |
119 | if !($hitter->{neko_attack} & 15); |
122 | |
120 | |
123 | if ($self->{neko_attack} > 512) { |
121 | if ($hitter->{neko_attack} > 512) { |
124 | $self->{neko_attack} -= 128; |
122 | $hitter->{neko_attack} -= 128; |
125 | $self->message ("Neko-san is suddenly gone!"); |
123 | $hitter->message ("Neko-san is suddenly gone!"); |
126 | teleport $self, "/scorn/misc/scorn_illusions", 15, 7; |
124 | teleport $hitter, "/scorn/misc/scorn_illusions", 15, 7; |
127 | $self->message ("You hear strange noises all around you..."); |
125 | $hitter->message ("You hear strange noises all around you..."); |
128 | $self->message ("You feel dumb."); |
126 | $hitter->message ("You feel dumb."); |
129 | } |
127 | } |
130 | |
128 | |
131 | cf::override; |
129 | cf::override; |
132 | } |
130 | } |
133 | |
131 | |