ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/Deliantra.pm
(Generate patch)

Comparing deliantra/Deliantra/Deliantra.pm (file contents):
Revision 1.131 by root, Tue Sep 1 21:37:25 2009 UTC vs.
Revision 1.134 by root, Wed Oct 28 10:17:01 2009 UTC

1=head1 NAME 1=head1 NAME
2 2
3Deliantra - Deliantra suppport module to read/write archetypes, maps etc. 3Deliantra - Deliantra suppport module to read/write archetypes, maps etc.
4 4
5=over 4
6
5=cut 7=cut
6 8
7package Deliantra; 9package Deliantra;
8 10
9our $VERSION = '1.24'; 11our $VERSION = '1.25';
10 12
11use common::sense; 13use common::sense;
12 14
13use base 'Exporter'; 15use base 'Exporter';
14 16
151 boat => MOVE_BOAT, 153 boat => MOVE_BOAT,
152 ship => MOVE_SHIP, 154 ship => MOVE_SHIP,
153 all => MOVE_ALL, 155 all => MOVE_ALL,
154); 156);
155 157
156our @MOVE_TYPE = qw(all ship boat swim flying fly_high fly_low walk); 158our @MOVE_TYPE = qw(all walk flying fly_low fly_high swim boat ship);
157 159
158{ 160{
159 package Deliantra::MoveType; 161 package Deliantra::MoveType;
160 162
161 use overload 163 use overload
389 $ob->{$attr} = new Deliantra::MoveType $ob->{$attr}; 391 $ob->{$attr} = new Deliantra::MoveType $ob->{$attr};
390 } 392 }
391 393
392 # convert outdated movement flags to new movement sets 394 # convert outdated movement flags to new movement sets
393 if (defined (my $v = delete $ob->{no_pass})) { 395 if (defined (my $v = delete $ob->{no_pass})) {
394 $ob->{move_block} = new Deliantra::MoveType $v ? "all" : ""; 396 $ob->{move_block} = new Deliantra::MoveType $v ? "all" : "0";
395 } 397 }
396 if (defined (my $v = delete $ob->{slow_move})) { 398 if (defined (my $v = delete $ob->{slow_move})) {
397 $ob->{move_slow} += "walk"; 399 $ob->{move_slow} += "walk";
398 $ob->{move_slow_penalty} = $v; 400 $ob->{move_slow_penalty} = $v;
399 } 401 }
400 if (defined (my $v = delete $ob->{walk_on})) { 402 if (defined (my $v = delete $ob->{walk_on})) {
401 $ob->{move_on} ||= new Deliantra::MoveType; if ($v) { $ob->{move_on} += "walk" } else { $ob->{move_on} -= "walk" } 403 $ob->{move_on} ||= new Deliantra::MoveType; if ($v) { $ob->{move_on} += "walk" } else { $ob->{move_on} -= "walk" }
402 } 404 }
403 if (defined (my $v = delete $ob->{walk_off})) { 405 if (defined (my $v = delete $ob->{walk_off})) {
404 $ob->{move_off} ||= new Deliantra::MoveType; if ($v) { $ob->{move_off} += "walk" } else { $ob->{move_off} -= "walk" } 406 $ob->{move_off} ||= new Deliantra::MoveType; if ($v) { $ob->{move_off} += "walk" } else { $ob->{move_off} -= "walk" }
405 } 407 }
406 if (defined (my $v = delete $ob->{fly_on})) { 408 if (defined (my $v = delete $ob->{fly_on})) {
987 989
988 \%cache 990 \%cache
989 }; 991 };
990} 992}
991 993
994=back
995
992=head1 AUTHOR 996=head1 AUTHOR
993 997
994 Marc Lehmann <schmorp@schmorp.de> 998 Marc Lehmann <schmorp@schmorp.de>
995 http://home.schmorp.de/ 999 http://home.schmorp.de/
996 1000

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines