ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/schmorp-neko.ext
Revision: 1.7
Committed: Thu Feb 9 01:15:25 2006 UTC (18 years, 3 months ago) by root
Branch: MAIN
Changes since 1.6: +2 -1 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #! perl
2
3 # archetype nekosan
4
5 use Data::Dumper;
6
7 sub teleport {
8 my ($pl, $map, $x, $y) = @_;
9
10 my $portal = cf::object::new ("exit");
11
12 $portal->set_slaying ($map);
13 $portal->set_hp ($x);
14 $portal->set_sp ($y);
15
16 $portal->apply ($pl);
17
18 $portal->free;
19 }
20
21 sub on_move {
22 my ($data) = @_;
23
24 if (my $pl = $data->{who}->nearest_player) {
25 my (undef, undef, undef, $dir, undef) = $data->{who}->rangevector ($pl);
26 $data->{who}->move ($dir);
27 }
28
29 1
30 }
31
32 sub on_attack {
33 my ($data) = @_;
34
35 $data->{activator}{neko_attack}++
36 or cf::LOG cf::llevDebug, sprintf "QBERT Neko-san was attacked by %s!\n", $data->{activator}->name;
37
38 $data->{activator}->message ("Meoow! (You are hurting me)")
39 if !($data->{activator}{neko_attack} & 15);
40
41 if ($data->{activator}{neko_attack} > 256) {
42 $data->{activator}{neko_attack} -= 128;
43 $data->{activator}->message ("Neko-san is suddenly gone!");
44 teleport $data->{activator}, "/scorn/misc/scorn_illusions", 15, 7;
45 $data->{activator}->message ("You hear strange noises all around you...");
46 $data->{activator}->message ("You feel dumb.");
47 }
48
49 1
50 }
51
52 sub on_say {
53 my ($data) = @_;
54
55 cf::LOG cf::llevDebug, sprintf "QBERT [Neko-fon] %s: %s\n", $data->{activator}->name, $data->{message};
56
57 0
58 }
59