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

Comparing deliantra/server/lib/cf.pm (file contents):
Revision 1.290 by root, Mon Jul 2 03:15:30 2007 UTC vs.
Revision 1.297 by root, Thu Jul 5 08:10:30 2007 UTC

1400 # replace G<male|female> tags 1400 # replace G<male|female> tags
1401 || s{G<([^>|]*)\|([^>]*)>}{ 1401 || s{G<([^>|]*)\|([^>]*)>}{
1402 $self->gender ? $2 : $1 1402 $self->gender ? $2 : $1
1403 }ge 1403 }ge
1404 # replace H<hint text> 1404 # replace H<hint text>
1405 || s/H<([^\>]*)>/<fg name="lightblue">[$1]<\/fg>/g; 1405 || s{H<([^\>]*)>}
1406 {
1407 ("<fg name=\"lightblue\">[$1 (Use hintmode to suppress hints)]</fg>",
1408 "<fg name=\"lightblue\">[Hint suppressed, see hintmode]</fg>",
1409 "")
1410 [$self->{hintmode}]
1411 }ge;
1406 1412
1407 # create single paragraphs (very hackish) 1413 # create single paragraphs (very hackish)
1408 s/(?<=\S)\n(?=\w)/ /g; 1414 s/(?<=\S)\n(?=\w)/ /g;
1409 1415
1416 # compress some whitespace
1417 s/\s+\n/\n/g; # ws line-ends
1418 s/\n\n+/\n/g; # double lines
1419 s/^\n+//; # beginning lines
1420 s/\n+$//; # ending lines
1421
1410 $_ 1422 $_
1423}
1424
1425sub hintmode {
1426 $_[0]{hintmode} = $_[1] if @_ > 1;
1427 $_[0]{hintmode}
1411} 1428}
1412 1429
1413=item $player->ext_reply ($msgid, %msg) 1430=item $player->ext_reply ($msgid, %msg)
1414 1431
1415Sends an ext reply to the player. 1432Sends an ext reply to the player.
2340 my $hp = $exit->stats->hp; 2357 my $hp = $exit->stats->hp;
2341 my $sp = $exit->stats->sp; 2358 my $sp = $exit->stats->sp;
2342 2359
2343 $self->enter_link; 2360 $self->enter_link;
2344 2361
2362 # if exit is damned, update players death & WoR home-position
2363 $self->contr->savebed ($slaying, $hp, $sp)
2364 if $exit->flag (FLAG_DAMNED);
2365
2345 (async { 2366 (async {
2346 $self->deactivate_recursive; # just to be sure 2367 $self->deactivate_recursive; # just to be sure
2347 unless (eval { 2368 unless (eval {
2348 $self->goto ($slaying, $hp, $sp); 2369 $self->goto ($slaying, $hp, $sp);
2349 2370
2389 2410
2390sub cf::client::send_msg { 2411sub cf::client::send_msg {
2391 my ($self, $color, $type, $msg, @extra) = @_; 2412 my ($self, $color, $type, $msg, @extra) = @_;
2392 2413
2393 $msg = $self->pl->expand_cfpod ($msg); 2414 $msg = $self->pl->expand_cfpod ($msg);
2415
2416 return unless @extra || length $msg;
2394 2417
2395 if ($self->can_msg) { 2418 if ($self->can_msg) {
2396 $self->send_packet ("msg " . $self->{json_coder}->encode ([$color, $type, $msg, @extra])); 2419 $self->send_packet ("msg " . $self->{json_coder}->encode ([$color, $type, $msg, @extra]));
2397 } else { 2420 } else {
2398 # replace some tags by gcfclient-compatible ones 2421 # replace some tags by gcfclient-compatible ones
2559 2582
2560=pod 2583=pod
2561 2584
2562The following functions and methods are available within a safe environment: 2585The following functions and methods are available within a safe environment:
2563 2586
2564 cf::object contr pay_amount pay_player map 2587 cf::object
2588 contr pay_amount pay_player map x y force_find force_add
2589 insert remove
2590
2565 cf::object::player player 2591 cf::object::player
2566 cf::player peaceful 2592 player
2567 cf::map trigger 2593
2594 cf::player
2595 peaceful
2596
2597 cf::map
2598 trigger
2568 2599
2569=cut 2600=cut
2570 2601
2571for ( 2602for (
2572 ["cf::object" => qw(contr pay_amount pay_player map)], 2603 ["cf::object" => qw(contr pay_amount pay_player map force_find force_add x y
2604 insert remove)],
2573 ["cf::object::player" => qw(player)], 2605 ["cf::object::player" => qw(player)],
2574 ["cf::player" => qw(peaceful)], 2606 ["cf::player" => qw(peaceful)],
2575 ["cf::map" => qw(trigger)], 2607 ["cf::map" => qw(trigger)],
2576) { 2608) {
2577 no strict 'refs'; 2609 no strict 'refs';

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines