… | |
… | |
341 | } elsif ($cmd eq "msg") { |
341 | } elsif ($cmd eq "msg") { |
342 | push @replies, [$self->{npc}, (scalar cf::safe_eval $args, %vars)]; |
342 | push @replies, [$self->{npc}, (scalar cf::safe_eval $args, %vars)]; |
343 | |
343 | |
344 | } elsif ($cmd eq "setflag") { |
344 | } elsif ($cmd eq "setflag") { |
345 | my ($name, $value) = split /\s+/, $args, 2; |
345 | my ($name, $value) = split /\s+/, $args, 2; |
346 | $value ? $flag->{$name} = $value |
346 | defined $value ? $flag->{$name} = $value |
347 | : delete $flag->{$name}; |
347 | : delete $flag->{$name}; |
348 | |
348 | |
349 | } elsif ($cmd eq "setstate") { |
349 | } elsif ($cmd eq "setstate") { |
350 | my ($name, $value) = split /\s+/, $args, 2; |
350 | my ($name, $value) = split /\s+/, $args, 2; |
351 | $value ? $state->{$name} = $value |
351 | defined $value ? $state->{$name} = $value |
352 | : delete $state->{$name}; |
352 | : delete $state->{$name}; |
353 | |
353 | |
354 | } elsif ($cmd eq "ifflag") { |
354 | } elsif ($cmd eq "ifflag") { |
355 | my ($name, $value) = split /\s+/, $args, 2; |
355 | my ($name, $value) = split /\s+/, $args, 2; |
356 | defined $value ? $flag->{$name} eq $value |
356 | defined $value ? $flag->{$name} eq $value |
357 | : $flag->{$name} |
357 | : $flag->{$name} |