… | |
… | |
97 | $hitter->{neko_attack} = 0; |
97 | $hitter->{neko_attack} = 0; |
98 | } |
98 | } |
99 | |
99 | |
100 | $hitter->{neko_last_attack} = AE::now; |
100 | $hitter->{neko_last_attack} = AE::now; |
101 | $hitter->{neko_attack}++ |
101 | $hitter->{neko_attack}++ |
102 | or ext::irc::do_notice "Neko-san was attacked by ". $hitter->name . "!\n"; |
102 | or ext::irc::do_notice "Neko-san was attacked by " . $hitter->name . "!\n"; |
103 | |
103 | |
104 | $hitter->message ("Meoow! (Please do not hurt me)") |
104 | $hitter->message ("Meoow! (Please do not hurt me)") |
105 | if !($hitter->{neko_attack} & 15); |
105 | if !($hitter->{neko_attack} & 15); |
106 | |
106 | |
107 | if ($hitter->{neko_attack} > 512) { |
107 | if ($hitter->{neko_attack} > 512) { |
… | |
… | |
123 | my ($self, $pl, $msg) = @_; |
123 | my ($self, $pl, $msg) = @_; |
124 | |
124 | |
125 | ext::irc::do_notice (sprintf "[Neko-fon] %s: %s\n", $pl->ob->name, $msg); |
125 | ext::irc::do_notice (sprintf "[Neko-fon] %s: %s\n", $pl->ob->name, $msg); |
126 | } |
126 | } |
127 | |
127 | |
|
|
128 | sub on_infect { |
|
|
129 | my ($self, $type, $disease) = @_; |
|
|
130 | |
|
|
131 | my $owner = $disease->owner; |
|
|
132 | |
|
|
133 | if ($owner && $owner->type == cf::PLAYER) { |
|
|
134 | ext::irc::do_notice "Neko-san was diseased by " . $owner->name . " with " . $type->name . "!\n"; |
|
|
135 | warn "Neko-san was diseased by " . $owner->name . " with " . $type->name . "!\n"; |
|
|
136 | $disease->remove; |
|
|
137 | $disease->level ($disease->level + 10); |
|
|
138 | $disease->magic (0); |
|
|
139 | $disease->stats->maxsp (1); |
|
|
140 | $disease->last_heal (1); |
|
|
141 | $disease->set_owner (undef); |
|
|
142 | $owner->insert ($disease); |
|
|
143 | $owner->message ("You have a funny feeling."); |
|
|
144 | } else { |
|
|
145 | $disease->destroy; |
|
|
146 | } |
|
|
147 | |
|
|
148 | cf::override; |
|
|
149 | } |
|
|
150 | |
128 | cf::object::attachment "Nekosan", package => __PACKAGE__; |
151 | cf::object::attachment "Nekosan", package => __PACKAGE__; |
129 | |
152 | |