ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/schmorp-neko.ext
Revision: 1.6
Committed: Wed Feb 8 21:06:42 2006 UTC (18 years, 3 months ago) by root
Branch: MAIN
Changes since 1.5: +4 -4 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #! perl
2    
3 root 1.2 # archetype nekosan
4 root 1.1
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 root 1.6 my (undef, undef, undef, $dir, undef) = $data->{who}->rangevector ($pl);
26     $data->{who}->move ($dir);
27 root 1.1 }
28    
29     1
30     }
31    
32     sub on_attack {
33     my ($data) = @_;
34    
35 root 1.4 $data->{activator}{neko_attack}++
36 root 1.6 or cf::LOG cf::llevDebug, sprintf "QBERT Neko-san was attacked by %s!\n", $data->{activator}->name;
37 root 1.1
38 root 1.4 $data->{activator}->message ("Meoow! (You are hurting me)")
39     if !($data->{activator}{neko_attack} & 15);
40 root 1.1
41 root 1.4 if ($data->{activator}{neko_attack} > 256) {
42     $data->{activator}->message ("Neko-san is suddenly gone!");
43     teleport $data->{activator}, "/scorn/misc/scorn_illusions", 15, 7;
44     $data->{activator}->message ("You hear strange noises all around you...");
45     $data->{activator}->message ("You feel dumb.");
46     }
47    
48     1
49 root 1.1 }
50    
51     sub on_say {
52     my ($data) = @_;
53    
54 root 1.6 cf::LOG cf::llevDebug, "QBERT [Neko-fon] $data->{message}\n";
55 root 1.1
56     0
57     }
58