You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

856 lines
26 KiB
Plaintext

//===== rAthena Script =======================================
//= Rebellion Job Quest
//===== Description: =========================================
//= [Official Conversion]
//= Job change Quest from Gunslinger -> Rebellion.
//===== Changelogs: ==========================================
//= 1.0 First version. [exneval]
//= 1.1 Syntax change. [Capuche]
//============================================================
moc_fild12,261,318,3 script Suspicious Man 4_M_MOCASS2,2,2,{
end;
OnTouch:
if (Class == Job_Gunslinger && BaseLevel >= 99 && JobLevel >= 70) {
if (isbegin_quest(12340) == 0) {
mes "[Suspicious Man]";
mes "Finally I've found you, Vagabond Spike! Your neck is mine!";
next;
select("Say what?");
mes "[Suspicious Man]";
mes "*Snort* Don't pretend like you don't know. Look at this poster! You're in it!";
next;
select("I see the resemblance, but that's not me.");
mes "["+strcharinfo(0)+"]";
mes "Forget the resemblance. Where did you get that poster? I've never committed a crime.";
next;
mes "[Suspicious Man]";
mes "I knew you'd try to lie your way out.";
next;
mes "[Suspicious Man]";
mes "The ^0000ffEinbroch Private Pub^000000 has released that wanted poster. You have many bounty hunters like me on your heels.";
next;
mes "[Suspicious Man]";
mes "I don't care if you're the right one so long as you look it and I can take you dead or alive.";
}
else {
mes "[Suspicious Man]";
mes "It's you again! You've got guts to come back here!";
}
next;
if (select("Make a run for it.:Fight him.") == 1)
mes "^0000ffI should run for now and think about this later.^000000";
else
mes "^0000ffHe's not the only bounty hunter after me, if he's telling the truth. I need time to strategize.^000000";
close2;
if (isbegin_quest(12340) == 0)
setquest 12340;// Rebellion Job Change Quest
warp "moc_fild12",186,83;
}
end;
}
einbroch,54,97,3 script Bouncer 4_M_REBELLION,{
if (BaseClass != Job_Gunslinger) {
mes "[Bouncer]";
mes "No loitering around the venue.";
close;
}
switch( isbegin_quest(12340) ) {
case 0:
mes "[Bouncer]";
mes "Under construction, can't get in.";
close;
case 1:
mes "[Bouncer]";
mes "*Gasp* You! I thought you were already captured. Ooh, doesn't matter now. You're my Get Out of Jail Free card!";
next;
select("I'm not the criminal you think I am!");
mes "[Bouncer]";
mes "You aren't?";
next;
mes "^0000ffThe bouncer examines your face.^000000";
next;
mes "[Bouncer]";
mes "Hm, you bear a striking resemblance, though you don't look not as menacing as that criminal Spike";
next;
select("I want to talk to the poster publisher.");
mes "[Bouncer]";
mes "Your problem is a bit out of my league. Get in. If I find out you're the real deal all along, I'll see that you'll never see the outside again.";
close2;
warp "job_gun",81,29;
end;
case 2:
mes "[Bouncer]";
mes "You're back. Why?";
next;
if (select("I want in.:I was passing by.") == 2) {
mes "[Bouncer]";
mes "You're silly.";
close;
}
mes "[Bouncer]";
mes "Go ahead. Stay out of trouble.";
close2;
warp "job_gun",70,28;
end;
}
}
job_gun,68,33,3 script Ruthless Rebellion 4_F_REBELLION,{
mes "[Ruthless Rebellion]";
mes "Do you know how to use a gun?";
close;
}
job_gun,78,33,3 script Suspicious Gunslinger 4_M_JOB_BLACKSMITH,{
mes "[Suspicious Gunslinger]";
mes "...";
next;
mes "[Quiet Gunslinger]";
mes "Don't say I look like a blacksmith you know.";
close;
}
job_gun,74,24,6 script Drunken Man 4_M_LIEMAN,{
mes "[Drunken Man]";
mes "*Hiccups* Oh, I'm the owner here.";
mes "Oh wait, am I in the pub or someplace else? Zzz...";
close;
}
job_gun,64,33,6 script Anxious Man 4_M_ALCHE_A,{
mes "[Anxious Man]";
mes "Maybe I'm in the wrong place. This place doesn't look like a pub.";
close;
}
job_gun,86,29,3 script Kulbertinov 4_M_REBELLION,{
if (Class == Job_Rebellion) {
mes "[Kulbertinov]";
mes "Do you want to see the boss?";
next;
if (select("Yes.:No.") == 1) {
close2;
warp "job_gun",220,130;
end;
}
end;
}
if (Class != Job_Gunslinger) {
mes "[Kulbertinov]";
mes "Are you looking for me?";
close;
}
switch( isbegin_quest(12340) ) {
case 0:
mes "[Kulbertinov]";
mes "Can I help you?";
close;
case 1:
mes "[Kulbertinov]";
mes "What do you want?";
next;
select("I'm mistaken for a criminal!.");
mes "[Kulbertinov]";
mes "Wait a minute... Mwah hah hah!";
next;
mes "^0000ffHe scans your face, then guffaws.^000000";
next;
mes "[Kulbertinov]";
mes "I'm sorry. For a moment, I thought Spike came back to life. He was found dead three days ago.";
next;
select("He was captured already?");
mes "[Kulbertinov]";
mes "Yes, and the bounty hunter was already paid. The news hasn't spread, and you're the spitting image of him. Go figure.";
next;
select("You have to do something!");
mes "[Kulbertinov]";
mes "I'm sorry, but I can't talk to every single bounty hunter for you. Of course, I'm willing to compensate for your inconvenience.";
next;
mes "[Kulbertinov]";
mes "Hey, how about you join our ranks? At the very last, you won't get shot.";
next;
select("You want me become a bounty hunter?");
mes "[Kulbertinov]";
mes "No, bounty hunting is just a pastime. We're the experts of all the firearms in the world.";
next;
mes "[Kulbertinov]";
mes "Carefree spirits!";
mes "Magical spitfires!";
mes "We call ourselves the ^0000ffRebellion^000000.";
next;
mes "[Kulbertinov]";
mes "You look like you know how to use a gun. How'd you like to join our ranks? You won't have to worry about other bounty hunters anymore too.";
next;
if (select("Let me think it over.:I don't think I have a choice.") == 1) {
mes "[Kulbertinov]";
mes "You can think it over and over, but the answer won't change. Just take the offer.";
}
else {
mes "[Kulbertinov]";
mes "Good thinking. Might as well do it now and get it over with.";
}
next;
mes "[Kulbertinov]";
mes "Talk to Enwin Conick. She guides drifting spirits like you to the way of the Rebellion. I'll send word to her. Ah, and don't point your gun at her.";
completequest 12340;
setquest 12341;// Rebellion Job Change Quest
close2;
warp "job_gun",19,15;
end;
case 2:
mes "[Kulbertinov]";
mes "Do you have business with Elwin Conick?";
next;
if (select("No.:Send me to Elwin Conick.") == 1) {
mes "[Kulbertinov]";
mes "All right. Care for a shot of vodka?";
close;
}
mes "[Kulbertinov]";
mes "Okay, I'll let her know.";
close2;
warp "job_gun",19,15;
end;
}
}
job_gun,19,24,3 script Elwin Conick#1 4_F_REBELLION,{
if (Class != Job_Gunslinger) {
mes "[Elwin Conick]";
mes "If you don't want to join Rebellions, just get out.";
close2;
warp "job_gun",81,29;
end;
}
if (isbegin_quest(12341) == 1) {
mes "[Elwin Conick]";
mes "Do you to join us Rebellions?";
next;
mes "^0000ffThe short woman with keen eyes stares into your eyes.^000000";
next;
mes "[Elwin Conick]";
mes "Sign here.";
next;
mes "^0000ffThe undersigned party '_____' will not speak of the test even if he or she suffers injury, mutilation, or death in an unforeseen accident that may occur during the test.^000000";
next;
select("WHAT?!");
mes "[Elwin Conick]";
mes "Do you want join us or not?";
next;
if (select("I give up.:...I'll sign.") == 1) {
mes "[Elwin Conick]";
mes "Your choice.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "Good. Now, follow me.";
close2;
warp "job_gun",117,41;
end;
}
if (isbegin_quest(12342) == 1) {
mes "[Elwin Conick]";
mes "Do you want to try again?";
next;
if (select("I give up.:Do it.") == 1) {
mes "[Elwin Conick]";
mes "Your choice.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "Follow me.";
close2;
warp "job_gun",117,41;
end;
}
if (isbegin_quest(12343) > 0) {
mes "[Elwin Conick]";
if (isbegin_quest(12343) == 1)
mes "You still have Ivan's shooting test, do you want to try again?";
else
mes "Ivan's shooting test have not finished yet, do you want to try again?";
next;
if (select("I give up.:Do it.") == 1) {
mes "[Elwin Conick]";
mes "It's not worth to give up, now go out and relax.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "Remember to give your best.";
close2;
warp "job_gun",120,130;
end;
}
if (isbegin_quest(12345) == 1) {
mes "[Elwin Conick]";
mes "Ivan is waiting for you, go find him.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "You have no more test to take. Why don't you go out and have a drink?";
close2;
warp "job_gun",81,29;
end;
}
job_gun,117,46,3 script Elwin Conick#2 4_F_REBELLION,{
if (Class != Job_Gunslinger) {
mes "[Elwin Conick]";
mes "If you don't want to join Rebellions, just get out.";
close2;
warp "job_gun",81,29;
end;
}
.@emt_chk = getstatus(SC_MONSTER_TRANSFORM,1);
.@quest_12341 = isbegin_quest(12341);
.@quest_12342 = isbegin_quest(12342);
if (.@emt_chk == 3169) {
mes "^0000ffYou are already in the test form. If you have finished all your tests, report to Elwin Conick in the Assembly Room^000000.";
close;
}
if (.@emt_chk) {
mes "[Elwin Conick]";
mes "Look at yourself, do you really want to test?";
next;
mes "^0000ffElwin see you turn into another form and she is very angry. Wait for your current form ends, and then find her again.^000000";
next;
if (select("Wait.:Go away.") == 2) {
mes "[Elwin Conick]";
mes "Come back when you aren't in any form.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "It's not worth to give up, now go out and relax.";
close;
}
if (.@quest_12341 == 1 || .@quest_12342 == 1) {
if (countitem(6746)) {
mes "[Elwin Conick]";
mes "Any leftover Steel Artifacts must be returned after the test.";
delitem 6746,countitem(6746);// Steel_Article
close;
}
if (countitem(6747)) {
mes "[Elwin Conick]";
mes "Any leftover Steel Artifacts must be returned after the test.";
delitem 6747,countitem(6747);// Steel_Article_
close;
}
if ((countitem(13118) - isequipped(13118)) > 0) {
mes "[Elwin Conick]";
mes "Time over. You failed the test. Let me take all your leftover test materials.";
delitem 13118,1;// Tiny_Flame
close;
}
if (.@quest_12342 == 1)
.@menu$ = "Got it.";
else {
.@menu$ = "Okay.";
setquest 12342;// Rebellion Job Change Quest
completequest 12341;
}
mes "[Elwin Conick]";
mes "Listen up. I'm not going to great lengths trying to explain the test to you.";
next;
select( .@menu$ );
mes "[Elwin Conick]";
if (.@quest_12341 == 1) {
mes "This is where the firearm molds are cast. Everywhere you can see Steel Artifacts are being produced.";
next;
mes "[Elwin Conick]";
mes "We Rebellions are weapon experts at heart. Here you will learn to create and assemble firearms.";
next;
mes "[Elwin Conick]";
mes "You'll be asked to control the furnace controller near the entrance and select 5 standard Steel Artifacts.";
next;
mes "[Elwin Conick]";
mes "You'll then take them to the next Assembly Room and assemble them info a firearm. You'll be given 3 minutes to do all that. You'd better be fast and focused, or you will fail the test.";
next;
mes "[Elwin Conick]";
mes "I'll be in the next room, waiting for you to bring me a complete firearm. To check the elapsed time, you'll be transformed into a different job. ^0000ffIf you pass 3 minutes and turn back to normal, go back to me and start the test again.^000000.";
}
else {
mes "You'll be asked to control switches on the machine and select 5 standard Steel Artifacts.";
next;
mes "[Elwin Conick]";
mes "You'll then take them to the next Assembly Room and assemble them into a complete firearm. You'll be given 3 minutes to finish all that. ^0000ffTo check the elapsed time, you'll be transformed into a different job^000000.";
next;
mes "[Elwin Conick]";
mes "I'll be in the next room, waiting for you to bring me a complete firearm. Remember, ^0000ffyou fail the test when your transformation expires after 3 minutes^000000.";
}
transform 3169,180000;
close;
}
mes "[Elwin Conick]";
mes "Ah? Are you lost? You need to register first and then get back here.";
close2;
warp "job_gun",81,29;
end;
}
job_gun,198,39,3 script Elwin Conick#3 4_F_REBELLION,{
if (Class != Job_Gunslinger) {
mes "[Elwin Conick]";
mes "If you don't want to join Rebellions, just get out.";
close2;
warp "job_gun",81,29;
end;
}
if (isbegin_quest(12342) == 1) {
.@emt_chk = getstatus(SC_MONSTER_TRANSFORM,1);
if (.@emt_chk == 3169) {
if ((countitem(13118) - isequipped(13118)) < 1) {// don't count if equipped
mes "[Elwin Conick]";
mes "Are you done? I don't see any completed firearm in your inventory.";
close;
}
mes "[Elwin Conick]";
mes "It's shoddy but not bad, given the time. You passed.";
delitem 13118,1;// Tiny_Flame
next;
mes "[Elwin Conick]";
mes "Let me take all your leftover test materials.";
delitem 6746,countitem(6746);// Iron_Artifact
delitem 6747,countitem(6747);// Steel_Artifact
next;
mes "[Elwin Conick]";
mes "Now you can move on to the next course. Ivan Sidorenko will oversee your test.";
completequest 12342;
close2;
warp "job_gun",120,133;
end;
}
if (.@emt_chk) {
mes "[Elwin Conick]";
mes "Look at yourself, do you really want to test?";
next;
mes "^0000ffElwin see you turn into another form and she is very angry. Wait for your current form ends, and then find her again.^000000";
next;
if (select("Wait.:Go away.") == 2) {
mes "[Elwin Conick]";
mes "Come back when you aren't in any form.";
close2;
warp "job_gun",81,29;
end;
}
mes "[Elwin Conick]";
mes "It's not worth to give up, now go out and relax.";
close;
}
mes "[Elwin Conick]";
mes "Time over. You failed the test. Let me take all your leftover test materials.";
delitem 6746,countitem(6746);// Iron_Artifact
delitem 6747,countitem(6747);// Steel_Artifact
delitem 13118,(countitem(13118) - isequipped(13118));// Tiny_Flame
next;
mes "[Elwin Conick]";
mes "Let's start again.";
close2;
warp "job_gun",117,41;
end;
}
mes "[Elwin Conick]";
mes "Ah? Are you lost? You need to register first and then get back here.";
close2;
warp "job_gun",81,29;
end;
}
job_gun,165,18,0 script Furnace Controller#1 CLEAR_NPC,{
if (Class != Job_Gunslinger) {
mes "Only authorized user can do the operation.";
close;
}
if (getstatus(SC_MONSTER_TRANSFORM,1) == 3169) {// J_REB_SHECIL1
if (isbegin_quest(12342) == 1) {
mes "Do you want to dredge the mold up from the furnace?";
next;
if (select("Quit.:Begin.") == 1) {
mes "Switch to the Standby mode.";
close;
}
mes "Initializing Furnace Controller ZX-3100...";
disablenpc "Furnace Controller#1";
donpcevent "Furnace Controller#2::OnStart";
close;
}
}
mes "Not an authorized user. Abort the operation.";
close;
}
job_gun,214,36,0 script Auto Anvil#1 CLEAR_NPC,{
if (Class != Job_Gunslinger) {
mes "Only authorized user can do the operation.";
close;
}
if ((countitem(13118) - isequipped(13118)) > 0) {// Tiny_Flame
mes "Unauthorized firearm creation has been detected. Report to Manager Elwin.";
close;
}
if (getstatus(SC_MONSTER_TRANSFORM,1) == 3169) {
if (countitem(6747) < 5) {// Steel_Article_
mes "You do not have standard Steel Artifacts.";
close;
}
if (isbegin_quest(12342) == 1) {
mes "Do you want to use the auto anvil and shape the standard Steel Artifacts into a firearm?";
next;
if (select("Quit.:Begin.") == 1) {
mes "For your safety, please step away from the auto anvil.";
close;
}
if (rand(1,10) > 6) {
mes "You have successfully created a firearm using the auto anvil. ^ff0000Please report before your transformation expires^000000.";
specialeffect EF_REPAIRWEAPON;
getitem 13118,1;// Tiny_Flame
}
else {
mes "Failed to create a firearm.";
specialeffect EF_SUI_EXPLOSION;
}
delitem 6747,5;// Steel_Article_
close;
}
}
mes "Not an authorized user. Abort the operation.";
close;
}
job_gun,165,18,0 script Furnace Controller#2 CLEAR_NPC,{
mes "The system is busy dredging a completed mold from the furnace.";
close;
OnStart:
enablenpc "Furnace Controller#2";
sleep 3000;
mapannounce "job_gun","Furnace Controller: Dredging a mold up from the furnace... Workers, stand by at the production line.",bc_map,"0x00ff44";
sleep 500;
for ( .@i = 0; .@i < 30; ++.@i ) {
.@eff_rnd = rand(1,100);
if (.@eff_rnd < 33)
donpcevent "Heating Furnace#3::OnStart";
else if (.@eff_rnd > 66)
donpcevent "Heating Furnace#4::OnStart";
else
donpcevent "Heating Furnace#5::OnStart";
sleep 200;
.@d_itemx = rand(127,143);
.@d_itemy = rand(26,29);
makeitem 6746,1,"job_gun",.@d_itemx,.@d_itemy;// Steel_Article
if (rand(1,10) > 7)
makeitem 6747,1,"job_gun",.@d_itemx,.@d_itemy;// Steel_Article_
sleep 500;
}
sleep 2000;
mapannounce "job_gun","Furnace Controller: Finishing the operation... Entering Standby mode in 15 seconds.",bc_map,"0x00ff44";
sleep 15000;
disablenpc "Furnace Controller#2";
enablenpc "Furnace Controller#1";
end;
OnInit:
disablenpc "Furnace Controller#2";
end;
}
job_gun,130,31,0 script Heating Furnace#3 CLEAR_NPC,{
end;
OnStart:
specialeffect EF_FIREPILLAR;
sleep 500;
specialeffect EF_FIREPILLARBOMB;
end;
}
job_gun,136,31,0 duplicate(Heating Furnace#3) Heating Furnace#4 CLEAR_NPC
job_gun,141,31,0 duplicate(Heating Furnace#3) Heating Furnace#5 CLEAR_NPC
job_gun,120,138,3 script Ivan Sidorenko#1 4_M_REBELLION,{
if (Class != Job_Gunslinger) {
mes "[Ivan Sidorenko]";
mes "This is shooting test area, you can't come here as you like.";
close2;
warp "job_gun",81,29;
end;
}
if (isbegin_quest(12342) < 2) {
mes "[Ivan Sidorenko]";
mes "There seems to be a mistake, you can't stay here.";
close2;
warp "job_gun",81,29;
end;
}
if (isbegin_quest(12343) == 0) {
mes "[Ivan Sidorenko]";
mes "Hey, stay focused--we're using live ammo here, and you can get shot anytime.";
next;
mes "[Ivan Sidorenko]";
mes "Let me make this quick. Basically you'll be running in this shooting range consisting of 5 sections.";
next;
mes "[Ivan Sidorenko]";
mes "The objective is to find enemies in the midst of a crowd quickly and without fail.";
next;
mes "[Ivan Sidorenko]";
mes "Among all the targets, you must shoot only the ^0000ffStandard-issue Targets^000000. If you make a mistake, you'll lose points.";
next;
mes "[Ivan Sidorenko]";
mes "Let's try. There aren't many ^0000ffStandard-issue Targets^000000, so keep your eyes peeled.";
next;
mes "[Ivan Sidorenko]";
mes "^0000ffYou have 3 minutes to finish this test. If you can't finish before your transformation expires^000000, you'll fail. If that happens, just follow the path back to me.";
next;
mes "[Ivan Sidorenko]";
mes "^0000ffYou'll fail if you miss a Standard-issue Target, or shoot 3 incorrect targets^000000. Let's get started.";
setquest 12343;// Rebellion Job Change Quest
setquest 12344;// Rebellion Job Change Quest
transform 3169,180000;
close2;
warp "job_gun",102,146;
end;
}
if (isbegin_quest(12343) == 1) {
if (checkquest(12343,HUNTING) == 2)
.@j_r_s = 10;
if (checkquest(12344,HUNTING) == 2)
.@j_r_f = 2;
if (getstatus(SC_MONSTER_TRANSFORM,1) != 3169)
.@j_r_t = 5;
.@j_r_c = .@j_r_s - .@j_r_f - .@j_r_t;
if (.@j_r_c > 9) {
mes "[Ivan Sidorenko]";
mes "Good job. I didn't think you could pass so quickly.";
completequest 12343;
completequest 12344;
setquest 12345;// Rebellion Job Change Quest
next;
mes "[Ivan Sidorenko]";
mes "You may leave and wait outside. I'll bring other instructors' evaluation reports to see you.";
close2;
warp "job_gun",210,132;
end;
}
if (.@j_r_c == 8) {
mes "[Ivan Sidorenko]";
mes "You're quick enough, but you shot too many incorrect targets. You failed.";
}
else if (.@j_r_c == 5) {
mes "[Ivan Sidorenko]";
mes "You accurate enough, but you took too much time. Slow Rebellions don't survive long enough.";
}
else if (.@j_r_c < 5) {
mes "[Ivan Sidorenko]";
mes "You failed at both speed and accuracy. How did you survive this long?";
}
else {
mes "[Ivan Sidorenko]";
mes "There's a problem, the statistic seems to be wrong. Well... This can happen sometimes.";
}
erasequest 12343;
erasequest 12344;
next;
mes "[Ivan Sidorenko]";
mes "Let's try again. Be more careful this time.";
setquest 12343;
setquest 12344;
transform 3169,180000;
close2;
warp "job_gun",102,146;
end;
}
mes "[Ivan Sidorenko]";
mes "How did you not leave?";
next;
mes "[Ivan Sidorenko]";
mes "You may leave and wait outside. I'll bring other instructors' evaluation reports to see you.";
close2;
warp "job_gun",210,132;
end;
}
job_gun,1,4,0 script #target CLEAR_NPC,{
end;
OnStart:
killmonster "job_gun","#target::OnMyMobDead";
OnInit:
OnMyMobDead:
hideonnpc "#target";
while( mobcount("job_gun","#target::OnMyMobDead") < 16 ) {
.@m_rg = rand(1,5);
if (.@m_rg == 1)
monster "job_gun",rand(88,99),rand(143,147),"Standard-issue Target",3169,1,"#target::OnMyMobDead";
else if (.@m_rg == 2)
monster "job_gun",rand(92,96),rand(95,122),"Standard-issue Target",3169,1,"#target::OnMyMobDead";
else if (.@m_rg == 3)
monster "job_gun",rand(143,159),rand(99,100),"Standard-issue Target",3169,1,"#target::OnMyMobDead";
else if (.@m_rg == 4)
monster "job_gun",rand(157,158),rand(137,160),"Standard-issue Target",3169,1,"#target::OnMyMobDead";
else
monster "job_gun",rand(119,134),rand(156,160),"Standard-issue Target",3169,1,"#target::OnMyMobDead";
}
end;
}
job_gun,1,5,0 script #nontarget CLEAR_NPC,{
end;
OnStart:
killmonster "job_gun","#nontarget::OnMyMobDead";
OnInit:
OnMyMobDead:
hideonnpc "#nontarget";
while( mobcount("job_gun","#nontarget::OnMyMobDead") < 56 ) {
.@m_rg = rand(1,5);
if (.@m_rg == 1)
monster "job_gun",rand(88,99),rand(143,147),"Defective Target",3170,1,"#nontarget::OnMyMobDead";
else if (.@m_rg == 2)
monster "job_gun",rand(92,96),rand(95,122),"Defective Target",3170,1,"#nontarget::OnMyMobDead";
else if (.@m_rg == 3)
monster "job_gun",rand(143,159),rand(99,100),"Defective Target",3170,1,"#nontarget::OnMyMobDead";
else if (.@m_rg == 4)
monster "job_gun",rand(157,158),rand(137,160),"Defective Target",3170,1,"#nontarget::OnMyMobDead";
else
monster "job_gun",rand(119,134),rand(156,160),"Defective Target",3170,1,"#nontarget::OnMyMobDead";
}
end;
}
job_gun,220,132,3 script Ivan Sidorenko#2 10062,{
if (!checkweight(1201,1)) {
mes "You have too many items, please reduce them to continue.";
close;
}
if ((MaxWeight - Weight) < 1000) {
mes "The items in your inventory are weighing you down. Lighten your weight first.";
close;
}
if (isbegin_quest(12345) == 0) {
mes "[Ivan Sidorenko]";
mes "There must have been a mistake. You aren't supposed to remain here.";
close2;
warp "job_gun",81,29;
end;
}
if (Class == Job_Gunslinger) {
if (BaseLevel < 99 || JobLevel < 70) {
mes "[Ivan Sidorenko]";
mes "Huh? You look so weak? I have nothing more to say.";
close;
}
if (SkillPoint) {
mes "[Ivan Sidorenko]";
mes "Oh no~ You still have Skill Points.";
close;
}
mes "[Ivan Sidorenko]";
mes "Kulbertinov, Elwin, and I've evaluated your Rebellion test results.";
next;
mes "[Ivan Sidorenko]";
mes "And...";
next;
mes "[Ivan Sidorenko]";
mes "You've met all our requirements including the attitude and the test performance.";
next;
mes "[Ivan Sidorenko]";
mes "That's right, you're now a member of the Rebellion. Get ready to be wowed.";
next;
mes "[Ivan Sidorenko]";
mes "And Elwin wants you to have this. Take good care of it. He made it for you.";
jobchange Job_Rebellion;
completequest 12345;
getitem 13119,1;// Freedom_Flame
next;
mes "[Ivan Sidorenko]";
mes "See you later.";
close2;
warp "job_gun",81,29;
end;
}
if (Class == Job_Rebellion) {
mes "[Ivan Sidorenko]";
mes "This life should be fun, not boring.";
next;
mes "[Ivan Sidorenko]";
mes "And by becoming a Rebellion your life should be upgraded. So, go and create a great journey, make us proud!";
close2;
warp "job_gun",81,29;
end;
}
mes "[Ivan Sidorenko]";
mes "Do you have something to say to me, don't you?";
close;
}
job_gun,220,138,4 shop Prop Vending Machine 2_VENDING_MACHINE1,13210:-1,13211:-1,13212:-1,13213:-1,13214:-1,7663:-1,7664:-1,7665:-1
job_gun,216,138,4 script Butler Karlex 1_M_01,{
mes "[Butler Karlex]";
mes "Use this temporary storage to keep your items safe while on the Advancement test.";
next;
.@s = select("Quit.:Open the storage.");
mes "[Butler Karlex]";
mes "Thank you for using the service.";
close2;
if (.@s == 2)
openstorage;
end;
}
job_gun,56,26,0 warp rebelroom#1 2,2,einbroch,49,97
job_gun,18,10,0 warp rebelroom#2 2,2,job_gun,81,29
job_gun,165,22,0 warp rebelroom#3 2,2,job_gun,196,35
job_gun,197,49,0 warp rebelroom#4 2,2,job_gun,157,21
job_gun,88,144,0 warp shootingrange#1 3,3,job_gun,93,123
job_gun,105,97,0 warp shootingrange#2 3,3,job_gun,125,98
job_gun,156,115,0 warp shootingrange#3 3,3,job_gun,157,137
job_gun,152,154,0 warp shootingrange#4 3,3,job_gun,135,154
job_gun,130,146,0 warp shootingrange#5 3,3,job_gun,120,130
job_gun,1,1,0 script Admin1 CLEAR_NPC,{
callfunc "F_GM_NPC";
if (callfunc("F_GM_NPC",1854,0) != 1)
end;
mes "[Time Manager]";
mes "What time would you like to return?";
next;
switch( select("Cancel:Test monster spawn:Start from beginning:Furnace Zone:Shooting Zone:Complete the test") ) {
case 1:
end;
case 2:
donpcevent "#target::OnStart";
donpcevent "#nontarget::OnStart";
end;
case 3:
callsub S_Quest,0,0;
case 4:
callsub S_Quest,12341,12341;
case 5:
callsub S_Quest,12342,12342;
case 6:
callsub S_Quest,12345,12344;
}
end;
S_Quest:
setarray .@arguments[0], getarg(0), getarg(1);
for ( .@quest = 12340; .@quest <= 12345; ++.@quest ) {
if (isbegin_quest(.@quest) > 0)
erasequest .@quest;
if (.@quest <= .@arguments[0])
setquest .@quest;
if (.@quest <= .@arguments[1])
completequest .@quest;
}
end;
}