Log In
Sign Up
Go Gold
Home
Forum
Mail
Downloads
Game Search
Macro Editor
Notes
Membership
default-actions.pl - Quest File
General Info
Quest File
# Default-actions.pl # # Default actions to perform if the user performs particular actions on an NPC. sub defaultSay{ my $handled = plugin::nullzero(shift); my $name = plugin::assocName(); my $text = plugin::val('$text'); my $mname = plugin::fixNPCName(); my $faction = plugin::val('$faction'); my $zonesn = plugin::val('$zonesn'); my $npc = plugin::val('$npc'); my $zoneln = plugin::cityName(); if (!$handled) { if ($mname=~/^Soulbinder\w/) { if($text=~/^hail/i) { quest::say("Greetings, ${name}. When a hero of our world is slain, their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity, it is my duty to [bind your soul] to this location if that is your wish."); quest::doanim(29); $handled = 1; } elsif (($text=~/bind my soul/i) || ($text=~/bind your soul/i)) { quest::say("Binding your soul. You will return here when you die."); quest::doanim(42); quest::selfcast(2049); $handled = 1; } } elsif ($mname=~/^Guard\w/) { if ($faction > 5) { quest::me("$mname glowers at you dubiously."); $handled = 1; } else { quest::say("Hail, $name! Pardon me. I am on duty, keeping $zoneln safe."); $handled = 1; } } elsif (($mname=~/^Merchant\w/) || ($mname=~/^Innkeep/) || ($mname=~/^Barkeep/)) { if($text=~/^Hail/i) { quest::say("Welcome, $name! Why don't you browse through my selection of fine goods and pick out some things you like?"); $handled = 1; } } } if (($text=~/test money/i) && (plugin::val('$status') > 20)) { quest::givecash(99, 99, 99, 99); } } sub defaultItem { plugin::returnUnusedItems(); } sub defaultDeath { my $handled = plugin::nullzero(shift); my $mname = plugin::val('$mname'); my $zonesn = plugin::val('$zonesn'); if (!$handled) { if ($mname =~ /^(an\_)?orc(\_.+|)$/i) # Everything from 'orc' to 'an_orc_flibberty_gibbet', but not 'orchard_master', etc. { # Orc death quest::say( (($zonesn =~ /(g|l)faydark/) || ($zonesn eq 'crushbone')) ? plugin::random('You shall have all the Crushbone Orcs on your tail for my death!!') : "DEBUG: $zonesn orc death!"); $handled = 1; } elsif ($mname =~ /^(a\_)?gnoll(\_.+|)$/i) # Everything from 'gnoll' to 'a_gnoll_flibberty_gibbet', but not 'gnollish', etc. { # Gnoll death quest::say( ($zonesn =~ /^qey/i) ? plugin::random('DEBUG: Blackburrow gnoll death!!') : "DEBUG: $zonesn (Non-Blackburrow) gnoll death!"); $handled = 1; } elsif ($mname =~ /^Guard/i) { # Guard death my $city = plugin::cityName(); quest::say( ($city eq 'Kelethin') ? 'Kelethin guard death!' : ($city eq 'Felwithe') ? 'Felwithe guard death!' : "DEBUG: $city guard death!" ); $handled = 1; } } } sub defaultSlay { my $handled = plugin::nullzero(shift); my $mname = plugin::val('$mname'); my $zonesn = plugin::val('$zonesn'); if (!$handled) { if ($mname =~ /^Guard/i) { # Guard kills # 25% chance for flavor text if (int(rand(4)) == 0) { my $city = plugin::cityName(); quest::say( ($city eq 'Kelethin') ? 'For the protection of all Feir\'dal, there shall be no mercy for your kind.' : ($city eq 'Felwithe') ? 'Another one bites the dust.' : "$city is a little bit safer now." ); } $handled = 1; } } } sub defaultCombat() { my $combat_state = plugin::val('$combat_state'); my $zonesn = plugin::val('$zonesn'); my $mname = plugin::val('$mname'); if ($combat_state == 1) { if ($zonesn =~ /^((l|g)faydark|crushbone)$/) { if ($mname =~ /^(an\_)?orc(\_.+|)$/i) # Everything from 'orc' to 'an_orc_flibberty_gibbet', but not 'orchard_master', etc. { } } } } return; # Sample code to work from my $random_result = int(rand(100)); if(($combat_state == 1) &&($random_result<=50)){ quest::say("Death!! Death to all who oppose the Crushbone orcs!!"); }else{ quest::say("You've ruined your lands. You'll not ruin mine!"); }
Source: 17 Jan 2022
Quest Source: 28 May 2022