This should be pretty well translated.
Code:
sub EVENT_ENTERZONE {
if ($ulevel >= 15 && !defined $qglobals{"Wayfarer"}) {
if ($client->GetStartZone() != $zoneid && ($zoneid ~~ [1..3, 8..10, 19, 22..24, 29, 30, 34, 35, 40..42, 45, 49, 52, 54, 55, 60..62, 67, 68, 75, 82, 106, 155, 202, 382, 383, 392, 393, 408])) {
$client->Message(15, "A mysterious voice whispers to you, \"If you can feel me in your thoughts, know this --
something is changing in the world and I reckon you should be a part of it. I do not know much, but I do know
that in every home city and the wilds there are agents of an organization called the Wayfarers Brotherhood. They
are looking for recruits . . . If you can hear this message, you are one of the chosen. Rush to your home city, or
search the West Karanas and Rathe Mountains for a contact if you have been exiled from your home for your deeds,
and find out more. Adventure awaits you, my friend.\"");
}
}
}
sub EVENT_COMBINE_SUCCESS {
if ($recipe_id ~~ [10904..10907]) {
$client->Message(1, "The gem resonates with power as the shards placed within glow unlocking some of the stone's power. You were successful in assembling most of the stone but there are four slots left to fill, where could those four pieces be?");
} elsif ($recipe_id == 10903) {
if ($class ~~ [1, 7, 9, 16]) {
quest::summonitem(67665);
} elsif ($class ~~ [3..5, 8, 15]) {
quest::summonitem(67666);
} elsif ($class ~~ [2, 6, 10]) {
quest::summonitem(67667);
} elsif ($class ~~ [11..14]) {
quest::summonitem(67668);
}
quest::summonitem(67704);
} elsif ($recipe_id == 10346) {
if ($class ~~ [1, 7, 9, 16]) {
quest::summonitem(67660);
} elsif ($class ~~ [3..5, 8, 15]) {
quest::summonitem(67661);
} elsif ($class ~~ [2, 6, 10]) {
quest::summonitem(67662);
} elsif ($class ~~ [11..14]) {
quest::summonitem(67663);
}
quest::summonitem(67704);
} elsif ($recipe_id == 10334) {
if ($class ~~ [1, 7, 9, 16]) {
quest::summonitem(67653);
} elsif ($class ~~ [3..5, 8, 15]) {
quest::summonitem(67654);
} elsif ($class ~~ [2, 6, 10]) {
quest::summonitem(67655);
} elsif ($class ~~ [11..14]) {
quest::summonitem(67656);
}
quest::summonitem(67704);
} elsif ($recipe_id == 19460) {
$client->SetAAPoints($client->GetAAPoints() + 5);
quest::ding();
$client->Message(15, "You have gained 5 ability points!");
quest::setglobal("cleric_epic", 7, 5, "F");
} elsif ($recipe_id ~~ [13402..13405]) {
$client->Message(15, "The piece of the metal orb fuses together with the blue diamonds under the intense heat of the forge. As it does, a flurry of images flash through your mind... A ranger and his bear side by side, stoic and unafraid, in a war-torn forest. A bitter tattooed woman with bluish skin wallowing in misery in a waterfront tavern. An endless barrage of crashing thunder and lightning illuminating a crimson brick ampitheater. Two halflings locked in a battle of wits using a checkered board. The images then fade from your mind");
} elsif ($recipe_id == 13412) {
quest::setglobal("ranger_epic", 3, 5, "F");
if ($zonesn eq "jaggedpine") {
$client->Message(15, "The seed grows rapidly the moment you push it beneath the soil. It appears at first as a mere shoot, but within moments grows into a stout sapling and then into a gigantic tree. The tree is one you've never seen before. It is the coloration and thick bark of a redwood with the thick bole indicative of the species. The tree is, however, far too short and has spindly branches sprouting from it with beautiful flowers that you would expect on a dogwood. You take all of this in at a glance. It takes you a moment longer to realize that the tree is moving.");
quest::spawn2(181222, 0, 0, ($client->GetX() + 3), ($client->GetY() + 3), $client->GetZ(), 0);
} else {
$client->Message(15, "The soil conditions prohibit the seed from taking hold.");
quest::summonitem($_) for (62621, 62622, 62844, 72091);
}
} elsif ($recipe_id == 13413) {
$client->SetAAPoints($client->GetAAPoints() + 5);
quest::ding();
$client->Message(15, "You have gained 5 ability points!");
quest::setglobal("ranger_epic", 5, 5, "F");
}
}
sub EVENT_CONNECT {
my %vet_aa = (481 => [31536000, 1, 1],
482 => [63072000, 1, 1],
483 => [94608000, 1, 1],
484 => [126144000, 1, 1],
485 => [157680000, 1, 1],
486 => [189216000, 1, 1],
487 => [220752000, 1, 1],
511 => [252288000, 1, 1],
2000 => [283824000, 1, 1],
8081 => [315360000, 1, 1],
8130 => [346896000, 1, 1],
453 => [378432000, 1, 1],
182 => [409968000, 1, 1],
600 => [441504000, 1, 1]);
foreach my $key (keys %vet_aa) {
if ($vet_aa{$key}[2] && ($vet_aa{$key}[2] || $client->GetAccountAge() >= $vet_aa{$key}[0])) {
$client->GrantAlternateAdvancementAbility($key, 1);
}
}
}
sub EVENT_LEVEL_UP {
foreach my $skill (0..55, 62, 70, 72..74, 76, 77) {
if ($client->CanHaveSkill($skill) && $client->MaxSkill($skill) > 0) {
$client->SetSkill($skill, $client->MaxSkill($skill));
}
}
}