
с консоли не всегда удобно смотреть но идея вообче интересная, ты сам сделаешь? я чесно гря даж не думал еще как энто реализовать...
Модератор: 4epT
Код: Выделить всё
sub attack_string {
my ($source, $target, $damage, $delay) = @_;
assert(UNIVERSAL::isa($source, 'Actor')) if DEBUG;
assert(UNIVERSAL::isa($target, 'Actor')) if DEBUG;
return TF("%s %s %s - Dmg: %s (delay %s)\n",
$source->nameString,
$source->verb('attack', 'attacks'),
$target->nameString($source),
$damage, $delay);
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Name ID DmgTo DmgFrom Distance Coordinates
0 Anopheles[Анофелес] 1627 60 93 1 (102, 112)
1 Caramel[Unknown] 1103 0 0 17.2 (116, 121)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$monster->{binID} $name $monster->{binType} $dmgTo $dmgFrom $dist $pos
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Код: Выделить всё
[ 92/ 80] You attack Monster Anopheles (0) - Dmg: 20 (delay 24.6)
Код: Выделить всё
sub attack_string {
my ($source, $target, $damage, $delay) = @_;
assert(UNIVERSAL::isa($source, 'Actor')) if DEBUG;
assert(UNIVERSAL::isa($target, 'Actor')) if DEBUG;
#------------Блок получения $mobXPmax из monsters.txt зная $target->name
my $DamPercent = int($target->{dmgTo} / $mobXPmax * 100);
return TF("%s %s %s %s - Dmg: %s (delay %s)\n",
$source->nameString,
$source->verb('attack', 'attacks'),
$target->nameString($source),
$DamPercent,
$damage, $delay);
}
Код: Выделить всё
sub attack_string {
my ($source, $target, $damage, $delay) = @_;
assert(UNIVERSAL::isa($source, 'Actor')) if DEBUG;
assert(UNIVERSAL::isa($target, 'Actor')) if DEBUG;
my $mobMaxHP = mon_control($target->{name})->{mob_hp};
if ($mobMaxHP > 0) {
my $DamPercent = int($target->{dmgTo} /$mobMaxHP * 100);
return TF("%s %s %s - Dmg: %s [%s] (delay %s)\n",
$source->nameString,
$source->verb('attack', 'attacks'),
$target->nameString($source),
$damage, $DamPercent, $delay);
} else {
return TF("%s %s %s - Dmg: %s (delay %s)\n",
$source->nameString,
$source->verb('attack', 'attacks'),
$target->nameString($source),
$damage, $delay);
}
}
Код: Выделить всё
return TF("You use %s on monster %s (%d) %s(delay %s)\n", $skillName,
$target->name, $target->{binID}, $damage, $delay);
Код: Выделить всё
my $mobMaxHP = mon_control($target->{name})->{mob_hp};
if ($mobMaxHP > 0) {
my $DamPercent = int($target->{dmgTo} /$mobMaxHP * 100);
return TF("You use %s on monster %s (%d) %s [%s] (delay %s)\n", $skillName,
$target->name, $target->{binID}, $damage, $DamPercent, $delay);
} else {
return TF("You use %s on monster %s (%d) %s(delay %s)\n", $skillName,
$target->name, $target->{binID}, $damage, $delay);
}
Код: Выделить всё
$r_hash->{$key}{weight} = $args[8];
Код: Выделить всё
$r_hash->{$key}{mob_hp} = $args[9];
Код: Выделить всё
You use Bash (lvl 10) on monster Caramel (0) - Dmg: 936 [65] (delay 26.6)
You attack Monster Caramel (0) - Dmg: 316 [87] (delay 26.6)
You attack Monster Caramel (0) - Dmg: 238 [104] (delay 26.6)
Exp gained: 264/162 (0.00%/0.00%)