From 620e60eebce2c1f35c5c9a82f6ca365b316587f5 Mon Sep 17 00:00:00 2001 From: Valaris Date: Sun, 29 Jan 2006 16:10:48 +0000 Subject: AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/custom/shifty_assassin.txt | 208 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 npc/custom/shifty_assassin.txt (limited to 'npc/custom/shifty_assassin.txt') diff --git a/npc/custom/shifty_assassin.txt b/npc/custom/shifty_assassin.txt new file mode 100644 index 000000000..9c225e10f --- /dev/null +++ b/npc/custom/shifty_assassin.txt @@ -0,0 +1,208 @@ +//===== eAthena Script ======================================= +//= Shifty Assassin +//===== By: ================================================== +//= acky - god@acky.com +//===== Current Version: ===================================== +//= 1.1.1 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= Players buy ninjas to assassinate other players +//===== Additional Comments: ================================= +//= 1.1.1 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious] +//============================================================ + +morocc.gat,148,86,5 script Shifty Assassin 725,{ +set $ninja_price,250000; + +// STARTS THE MENU // +M_Start: +mes "[Shifty Assassin]"; +mes "What do you want?"; +next; +if (getgmlevel(3) > 90) goto M_GM; +menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit; +M_GM: +menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit; + +// GM MENU TO ADD NINJAS // +M_Add: +mes "[Shifty Assassin]"; +mes "How many ninjas do you want to make available?"; +next; +set @add,0; +input @add; +set $ninja_avail,$ninja_avail+@add; +mes @add + " ninjas added."; +close; + +// BUY NINJAS // +M_Buy: +mes "[Shifty Assassin]"; +mes "How many ninjas do you want buy?"; +mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available."; +mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each."; + +set @buy,0; +input @buy; +next; +if ($ninja_avail < 1) goto NoNinjas; +if ($ninja_avail < @buy) goto NotEnoughNinjas; +set @price,@buy*$ninja_price; +if (zeny < @price ) goto NoZeny; + +mes "[Shifty Assassin]"; +mes "That will cost you ^0000FF" + @price + " zeny^000000."; +next; +menu "Continue",-,"Cancel",M_Exit; + +set zeny,zeny-@price; +set #ninjas,#ninjas+@buy; +set $ninja_avail,$ninja_avail-@buy; + +mes "[Shifty Assassin]"; +mes "Thank you."; +close; + +// ASSASSINATE SOMEBODY // +M_Kill: +if ($AgitStarted != 0) goto M_Busy; +mes "[Shifty Assassin]"; +mes "Enter the name of the target."; +mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000"; +next; +menu "Continue",-,"Cancel",M_Exit; +set @name$,"0"; +input @name$; +next; +mes "[Shifty Assassin]"; +mes "Active Ninjas: "+#ninjas; +mes "Resting Ninjas: "+#ninjasr; +mes "How many do you want to send?"; +set @number,0; +input @number; +if (@number < 1) goto NoNinjasSent; +if (@number > #ninjas) goto NotEnoughNinjas1; +if (@number > 10) goto TooManyNinjas; +set @chance,rand (1,12); +set #ninjas,#ninjas-@number; +set #ninjas,#ninjas+#ninjasr; +set #ninjasr,0; +if (@number < @chance) goto M_Failure; + +// SUCCESSFUL ATTACK // +mes "Sending ninjas now."; +next; +mes "[Shifty Assassin]"; +set @ninjasurvived,rand (1,@number); +set #ninjasr,@number-@ninjasurvived; +mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived."; + +atcommand strcharinfo(0) + "@kill "+@name$; +announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",8; +close; + +// FAILED ATTACK // +M_Failure: +mes "Sending ninjas now."; +next; +mes "[Shifty Assassin]"; +set @ninjasurvived,rand (1,@number); +set #ninjasr,@number-@ninjasurvived; +mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived."; + +announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8; +close; + +// NINJAS BUSY FOR WOE // +M_Busy: +mes "[Shifty Assassin]"; +mes "Sorry, all my ninjas are busy doing War of Emperium."; +close; + +// CHECK YOUR NINJAS // +M_Check: +mes "[Shifty Assassin]"; +mes "You have:"; +mes "^FF0000" + #ninjas + "^000000 Active Ninjas."; +mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas."; +next; +goto M_Start; + + +// LIMIT // +NoNinjasSent: +mes "[Shifty Assassin]"; +mes "You can't kill anyone without ninjas."; +next; +goto M_Start; + +TooManyNinjas: +mes "[Shifty Assassin]"; +mes "You can only send 10 ninjas max."; +next; +goto M_Start; + +NoZeny: +mes "[Shifty Assassin]"; +mes "You do not have enough zeny."; +close; + +NotEnoughNinjas: +mes "[Shifty Assassin]"; +mes "There aren't that many ninjas to buy."; +next; +goto M_Start; + +NoNinjas: +mes "[Shifty Assassin]"; +mes "There are no ninjas left to buy."; +close; + +NotEnoughNinjas1: +mes "[Shifty Assassin]"; +mes "You do not have that many ninjas."; +next; +goto M_Start; + +M_Exit: +mes "[Shifty Assassin]"; +mes "Goodbye."; +close; + +// TIMER DELAY NINJA ADDER // + +OnClock0600: +set $ninja_avail,$ninja_avail+2; +end; + +OnClock1200: +set $ninja_avail,$ninja_avail+2; +end; + +OnClock1500: +set $ninja_avail,$ninja_avail+2; +end; + + +OnClock1800: +set $ninja_avail,$ninja_avail+3; +end; + +OnClock1900: +set $ninja_avail,$ninja_avail+2; +end; + +OnClock2000: +set $ninja_avail,$ninja_avail+2; +end; + + +OnClock0000: +set $ninja_avail,$ninja_avail+2; +end; + +OnInit: +set $ninja_avail,$ninja_avail+1; +end; +} \ No newline at end of file -- cgit v1.2.3-60-g2f50