SoulLinker.txt 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. //===== rAthena Script =======================================
  2. //= Soul Linker Job Quest
  3. //===== By: ==================================================
  4. //= Celestria & Samuray22
  5. //===== Current Version: =====================================
  6. //= 1.6
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= [Official Conversion]
  11. //= Job quest for Soul Linker class.
  12. //= [Vars Used]
  13. //= SOUL_Q = Job Change Phase. (Max 4)
  14. //===== Additional Comments: =================================
  15. //= 1.2 Rescripted to Aegis 10.3 standards. [Samuray22]
  16. //= 1.3 Slight updates and fixes to the script. [L0ne_W0lf]
  17. //= Removes the use of labels, and corrects other errors.
  18. //= Removed the GM-use only NPC from the sec_in map.
  19. //= No longer used a global var, uses an NPC var instead.
  20. //= 1.3a Deleted Empty Color Tag. (bugreport:1572) [Samuray22]
  21. //= 1.4 Replaced effect numerics with constants. [L0ne_W0lf]
  22. //= 1.5 Added Quest Log commands. [Kisuka]
  23. //= 1.6 Updated to match the latest official script. [Euphy]
  24. //============================================================
  25. morocc_in,174,30,6 script Kid#link1 716,{
  26. if (Class == Job_Soul_Linker) {
  27. mes "[Maia]";
  28. mes "Best of luck in your";
  29. mes "journeys. As you master";
  30. mes "more Soul Linker skills,";
  31. mes "you will be able to draw";
  32. mes "more of the spirits' power";
  33. mes "to endow upon your allies...";
  34. close;
  35. }
  36. if (Class == Job_Star_Gladiator) {
  37. mes "[Kid]";
  38. if (Sex == SEX_MALE) {
  39. mes "Aren't you a warrior";
  40. mes "of the sun? I'm familiar";
  41. }
  42. else {
  43. mes "Aren't you a warrior of";
  44. mes "the moon? I'm familiar";
  45. }
  46. mes "with your ways. After all,";
  47. mes "the basis of both of our";
  48. mes "skills is grounded in the";
  49. mes "Taekwon Do job, right?";
  50. close;
  51. }
  52. if (Class != Job_Taekwon) {
  53. mes "[Kid]";
  54. mes "Mm? I've got nothing to";
  55. mes "offer you. But if you know";
  56. mes "any well experienced";
  57. mes "practitioners of Taekwon";
  58. mes "Do, they might benefit";
  59. mes "from what I know.";
  60. close;
  61. }
  62. if (JobLevel < 40) {
  63. mes "[Kid]";
  64. mes "So you're studying";
  65. mes "Taekwon Do. That's good,";
  66. mes "that's very good. Just keep";
  67. mes "refining those skills and";
  68. mes "stick to your training.";
  69. close;
  70. }
  71. else if (JobLevel > 39) {
  72. if (SOUL_Q == 0) {
  73. mes "[Kid]";
  74. mes "...";
  75. mes "Hey you.";
  76. next;
  77. mes "["+ strcharinfo(0) +"]";
  78. mes "Did you call me?";
  79. next;
  80. mes "[Kid]";
  81. mes "Yeah, I called you.";
  82. mes "Now don't make me";
  83. mes "raise my voice, and";
  84. mes "just get over here.";
  85. next;
  86. if (select("You're awfully rude for a kid!:Ignore him.") == 1) {
  87. mes "[Kid]";
  88. mes "You're lucky I'm";
  89. mes "taking an interest";
  90. mes "in you! I might look";
  91. mes "like a kid, but I'm over";
  92. mes "three hundred years old!";
  93. emotion ET_HNG;
  94. next;
  95. mes "[Kid]";
  96. mes "Now listen...";
  97. mes "I know that you're a";
  98. mes "disciple of Taekwon Do.";
  99. mes "It's a respectable art, but";
  100. mes "I've got a proposition for";
  101. mes "you if you want to hear it.";
  102. emotion ET_SMILE;
  103. next;
  104. mes "[Kid]";
  105. mes "I'm looking at you, and I can";
  106. mes "already tell that you're very";
  107. mes "spiritually inclined. You've";
  108. mes "got a lot of potential I don't";
  109. mes "wanna see wasted. Why don't";
  110. mes "you become a ''Soul-Linker?''";
  111. next;
  112. if (select("Ha! Silly little boy~:Soul Linker?") == 1) {
  113. mes "[Kid]";
  114. mes "You... You d-don't";
  115. mes "believe me? I'm being";
  116. mes "dead serious. Can you";
  117. mes "forget the fact that I look";
  118. mes "like a little kid for just one";
  119. mes "minute? *Psh* ...Youngsters.";
  120. close;
  121. }
  122. mes "[Kid]";
  123. mes "Soul Linkers communicate";
  124. mes "with spirits of fallen warriors";
  125. mes "that still wish to fight in the";
  126. mes "world of the living. Now, these";
  127. mes "warrior spirits can't fight as";
  128. mes "themselves in our world.";
  129. next;
  130. mes "[Kid]";
  131. mes "However, since you're";
  132. mes "spiritually inclined, these";
  133. mes "spirits are attracted to you.";
  134. mes "With enough training, you can";
  135. mes "temporarily imbue the power of these spirits to your allies.";
  136. next;
  137. mes "[Kid]";
  138. mes "Now, you can't imbue yourself";
  139. mes "with the spirits' power. Also,";
  140. mes "depending on your skills as";
  141. mes "a Soul Linker, you can only";
  142. mes "endow other characters of certain job classes with enchanced power.";
  143. next;
  144. mes "[Kid]";
  145. mes "You'll have to enter";
  146. mes "a wholly different world";
  147. mes "to become a Soul Linker,";
  148. mes "but I know it'll be possible";
  149. mes "for you. So what do you say?";
  150. next;
  151. if (select("No. At least, not now...:Alright. What do I have to do?") == 1) {
  152. mes "[Kid]";
  153. mes "Ah, alright. Well,";
  154. mes "if you ever decide to";
  155. mes "become a Soul Linker,";
  156. mes "then please come back";
  157. mes "and talk to me at any time.";
  158. close;
  159. }
  160. set SOUL_Q,1;
  161. setquest 6005;
  162. mes "[Kid]";
  163. mes "So you want to become";
  164. mes "a Soul Linker? Great!";
  165. mes "Alright, first I need you";
  166. mes "to bring back a few items.";
  167. mes "Don't worry, I'll explain";
  168. mes "why you need them later.";
  169. next;
  170. mes "[Kid]";
  171. mes "Now bring me";
  172. mes "^0000FF1 3 Carat Diamond^000000,";
  173. mes "^0000FF1 Immortal Heart^000000 and";
  174. mes "^0000FF1 Witherless Rose^000000.";
  175. mes "And try not to make me";
  176. mes "wait too long, alright?";
  177. close;
  178. }
  179. mes "[Kid]";
  180. mes "Huh...?";
  181. mes "Wait, where are";
  182. mes "you going? I'm...";
  183. mes "I'm talking to you!";
  184. close;
  185. }
  186. else if (SOUL_Q == 1) {
  187. if (Class == Job_Taekwon) {
  188. mes "[Kid]";
  189. mes "You're back, eh?";
  190. mes "So did you bring";
  191. mes "^0000FF1 3 Carat Diamond^000000,";
  192. mes "^0000FF1 Immortal Heart^000000 and";
  193. mes "^0000FF1 Witherless Rose^000000.";
  194. mes "like I asked you to?";
  195. next;
  196. if (select("There you are.:No, not yet...") == 1) {
  197. if (countitem(732) > 0 && countitem(929) > 0 && countitem(748) > 0) {
  198. delitem 732,1; //Crystal_Jewel__
  199. delitem 929,1; //Immortal_Heart
  200. delitem 748,1; //Witherless_Rose
  201. set SOUL_Q,2;
  202. changequest 6005,6006;
  203. mes "[Kid]";
  204. mes "Great, I see that you've";
  205. mes "brought everything. But";
  206. mes "before we begin, let me";
  207. mes "introduce myself. My name";
  208. mes "is Maia, and I've been alive for more than three hundred years.";
  209. next;
  210. mes "[Maia]";
  211. mes "Without giving away too many";
  212. mes "of the details, I've been divinely charged with the duty of finding";
  213. mes "and recruiting more Soul Linkers. That's part of the reason why";
  214. mes "I haven't, you know, passed on.";
  215. next;
  216. mes "[Maia]";
  217. mes "Anyway, I still need to finish";
  218. mes "preparations with the materials";
  219. mes "that you just brought, so would";
  220. mes "you come back in a little bit?";
  221. mes "Then, we'll talk once again.";
  222. close;
  223. }
  224. mes "[Kid]";
  225. mes "Mm...?";
  226. mes "Hey. You forgot";
  227. mes "a few things. Now";
  228. mes "go back and bring";
  229. mes "everything that I ask";
  230. mes "for this time, okay?";
  231. emotion ET_HNG;
  232. next;
  233. mes "[Kid]";
  234. mes "I know I just told you";
  235. mes "what we need, but I'm";
  236. mes "going to remind you again:";
  237. mes "^0000FF1 3 Carat Diamond^000000,";
  238. mes "^0000FF1 Immortal Heart^000000 and";
  239. mes "^0000FF1 Witherless Rose^000000.";
  240. close;
  241. }
  242. mes "[Kid]";
  243. mes "Mm. That's fine.";
  244. mes "Although I have all";
  245. mes "the time to spare in";
  246. mes "the world, I don't like";
  247. mes "to wait for very long.";
  248. close;
  249. }
  250. set SOUL_Q,0;
  251. mes "[Kid]";
  252. mes "You've become a warrior";
  253. mes "of the Sun, the Moon and";
  254. mes "the Stars instead? I had no";
  255. mes "idea you had that potential.";
  256. mes "I suppose I can't blame you...";
  257. close;
  258. }
  259. else if (SOUL_Q == 2) {
  260. if (SkillPoint) {
  261. mes "[Maia]";
  262. mes "You still have some";
  263. mes "unallocated Skill Points.";
  264. mes "Use them all to learn some";
  265. mes "Taekwon Do skills, and then";
  266. mes "return when you're ready.";
  267. close;
  268. }
  269. if (.SoulLinkerTest == 1) {
  270. mes "[Maia]";
  271. mes "Right now, someone else";
  272. mes "is completing the ceremony";
  273. mes "to become a Soul Linker.";
  274. mes "Would you please wait until";
  275. mes "it's finished? Then, when I'm";
  276. mes "available, I'll attend to you.";
  277. close;
  278. }
  279. donpcevent "Timer#link3::OnEnable";
  280. set .SoulLinkerTest,1;
  281. mes "[Maia]";
  282. mes "Great, I've finished";
  283. mes "the preparations. Now";
  284. mes "we'll proceed with the";
  285. mes "ceremony to change";
  286. mes "you into a Soul Linker.";
  287. mes "Now close your eyes...";
  288. close2;
  289. warp "job_soul",30,30;
  290. end;
  291. }
  292. else if (SOUL_Q > 2) {
  293. mes "[Maia]";
  294. mes "Are you ready to";
  295. mes "enter the depths";
  296. mes "of your mind again?";
  297. next;
  298. if (select("No:Yes") == 1) {
  299. mes "[Maia]";
  300. mes "Well then, come";
  301. mes "back to me when you";
  302. mes "think you are ready.";
  303. mes "Until then, I'll be";
  304. mes "waiting right here.";
  305. close;
  306. }
  307. if (.SoulLinkerTest == 1) {
  308. mes "[Maia]";
  309. mes "Right now, someone else";
  310. mes "is completing the ceremony";
  311. mes "to become a Soul Linker.";
  312. mes "Would you please wait until";
  313. mes "it's finished? Then, when I'm";
  314. mes "available, I'll attend to you.";
  315. close;
  316. }
  317. donpcevent "Timer#link3::OnEnable";
  318. set .SoulLinkerTest,1;
  319. mes "[Maia]";
  320. mes "Alright then, close";
  321. mes "your eyes and relax.";
  322. mes "We'll go back into the";
  323. mes "depths of your mind.";
  324. close2;
  325. warp "job_soul",30,30;
  326. end;
  327. }
  328. }
  329. OnInit:
  330. set .SoulLinkerTest,0;
  331. end;
  332. }
  333. job_soul,30,31,0 script Maia#link2::SLTester -1,3,3,{
  334. OnTouch_:
  335. if (Class == Job_Taekwon) {
  336. if (JobLevel < 40) {
  337. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  338. mes "[Maia]";
  339. mes "Hm? How did you come";
  340. mes "here? You're not qualified";
  341. mes "for this ceremony yet. Come,I will bring you back to Morocc...";
  342. close2;
  343. warp "morocc",157,47;
  344. end;
  345. }
  346. if (SOUL_Q == 2) {
  347. mes "[Maia]";
  348. mes "Do you recognize this";
  349. mes "place? Right now, we're";
  350. mes "inside your mind. The spirits";
  351. mes "of warriors that have died";
  352. mes "hover here, waiting for you";
  353. mes "to call upon their power.";
  354. next;
  355. mes "[Maia]";
  356. mes "Right now, there are only";
  357. mes "a few of them here, but if";
  358. mes "you continue to train, you";
  359. mes "will be able to call upon";
  360. mes "more spirits as a Soul Linker.";
  361. next;
  362. set SOUL_Q,3;
  363. changequest 6006,6007;
  364. mes "[Maia]";
  365. mes "We can only remain in";
  366. mes "your mind for 3 minutes.";
  367. mes "I suggest that you speak";
  368. mes "to the spirits while you";
  369. mes "have the opportunity.";
  370. close;
  371. }
  372. else if (SOUL_Q == 3) {
  373. mes "[Maia]";
  374. mes "Listen to what";
  375. mes "spirits are tending to say.";
  376. mes "There is a reason why";
  377. mes "they cannot move on";
  378. mes "to the next world.";
  379. close;
  380. }
  381. else if (SOUL_Q == 4) {
  382. mes "[Maia]";
  383. mes "I believe that you are";
  384. mes "now ready to become";
  385. mes "a Soul Linker. However,";
  386. mes "you may continue to";
  387. mes "speak with the spirits";
  388. mes "if that is what you wish.";
  389. next;
  390. if (select("Converse more with the spirits:Become a Soul Linker") == 1) {
  391. mes "[Maia]";
  392. mes "Alright. Try to hurry";
  393. mes "since we can remain in";
  394. mes "your mind for a limited";
  395. mes "time. Although, we can";
  396. mes "go back inside your mind";
  397. mes "if you talk to me later...";
  398. close;
  399. }
  400. if (ismounting()) {
  401. mes "[Maia]";
  402. mes "You are on a riding pet,";
  403. mes "so you cannot change your job.";
  404. mes "Please unequip your riding pet and try again!";
  405. close;
  406. }
  407. mes "[Maia]";
  408. mes "Then let us begin the";
  409. mes "ceremony. These items will";
  410. mes "be used to endow you with";
  411. mes "the ability to borrow the power";
  412. mes "of the fallen warriors and lend";
  413. mes "it to your friends in battle.";
  414. next;
  415. mes "[Maia]";
  416. mes "This Witherless Rose will";
  417. mes "wither away instead of you...";
  418. specialeffect EF_MAPPILLAR2,AREA,"Maia#link2";
  419. next;
  420. mes "[Maia]";
  421. mes "This Witherless Rose will";
  422. mes "wither away instead of you...";
  423. mes "This Immortal Heart will cease";
  424. mes "to pump blood, instead of yours. ";
  425. next;
  426. mes "[Maia]";
  427. mes "This Witherless Rose will";
  428. mes "wither away instead of you...";
  429. mes "This Immortal Heart will cease";
  430. mes "to pump blood, instead of yours. This Diamond will turn to dust,";
  431. mes "in place of your mortal body.";
  432. next;
  433. mes "[Maia]";
  434. mes "The dead who wish";
  435. mes "to continue fighting...";
  436. mes "Will fight for you! Use your";
  437. mes "powers as a Soul Linker";
  438. mes "wisely and for just purposes.";
  439. next;
  440. if (SkillPoint) {
  441. mes "^0000ffYou still have unused skill points. Please use all remaining skill points and try again!^000000";
  442. close;
  443. }
  444. completequest 6008;
  445. callfunc "Job_Change",Job_Soul_Linker;
  446. callfunc "F_ClearJobVar"; // clears all job variables for the current player
  447. set SOUL_Q,0;
  448. mes "[Maia]";
  449. mes "I wish the best of luck";
  450. mes "in your new life. Surround";
  451. mes "yourself with allies, and the";
  452. mes "spirits will be able to protect";
  453. mes "you and help you fight in your battles. Farewell for now, friend.";
  454. close2;
  455. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  456. donpcevent "Timer#link3::OnDisable";
  457. warp "morocc",157,47;
  458. end;
  459. }
  460. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  461. mes "[Maia]";
  462. mes "Hmm...?";
  463. mes "The time for you";
  464. mes "to be here has not";
  465. mes "arrived. Let's go";
  466. mes "back to Morocc...";
  467. close2;
  468. warp "morocc",157,47;
  469. end;
  470. }
  471. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  472. if (Class == Job_Soul_Linker) {
  473. mes "[Maia]";
  474. mes "The time has come for";
  475. mes "you to venture out into the";
  476. mes "wide world! More Soul Linkers";
  477. mes "will definitely be needed in the ongoing battle against evil...";
  478. }
  479. else {
  480. mes "[Maia]";
  481. mes "That's strange...";
  482. mes "You're not supposed to";
  483. mes "be here. Let me guide";
  484. mes "you back to Morocc...";
  485. }
  486. close2;
  487. warp "morocc",157,47;
  488. end;
  489. }
  490. job_soul,35,30,6 duplicate(SLTester) Maia#link6 716
  491. job_soul,30,35,6 script Monk Spirit#link4 827,{
  492. if (SOUL_Q == 2) {
  493. mes "[Monk Spirit]";
  494. mes "Who am I...?";
  495. mes "I think... I think";
  496. mes "it would be best if";
  497. mes "you spoke to Maya first...";
  498. mes "Who and what I am requires";
  499. mes "a complicated explanation...";
  500. close;
  501. }
  502. else if (SOUL_Q > 2) {
  503. mes "[Monk Spirit]";
  504. mes "In life, my peers did";
  505. mes "their best to assure me";
  506. mes "that I accomplish all that";
  507. mes "I could as a Monk. Still...";
  508. mes "Still I would never be fully";
  509. mes "satisfied with my skills.";
  510. next;
  511. mes "[Monk Spirit]";
  512. mes "In death, I had many regrets,";
  513. mes "never having the chance to pass";
  514. mes "my skills down to future Monks.";
  515. mes "Lending my power to others ";
  516. mes "is the only chance that I can";
  517. mes "possibly have to do this.";
  518. next;
  519. set SOUL_Q,4;
  520. if(checkquest(6008) == -1) {
  521. changequest 6007,6008;
  522. }
  523. mes "[Monk Spirit]";
  524. mes "I beg of you...";
  525. mes "I need you to help";
  526. mes "me fully realize the";
  527. mes "true potential of the";
  528. mes "Monks of today.";
  529. close;
  530. }
  531. mes "[Monk Spirit]";
  532. mes "...";
  533. close;
  534. }
  535. job_soul,30,25,7 script Sage Spirit#link5 754,{
  536. if (SOUL_Q == 2) {
  537. mes "[Sage Spirit]";
  538. mes "Speak to Maia.";
  539. mes "I'm afraid I may";
  540. mes "confuse you if Maia";
  541. mes "doesn't first explain";
  542. mes "your present situation...";
  543. close;
  544. }
  545. else if (SOUL_Q > 2) {
  546. mes "[Sage Spirit]";
  547. mes "My pursuit of knowledge";
  548. mes "granted me incredible power:";
  549. mes "in life, I could have destroyed";
  550. mes "anything I wanted. Few Sages";
  551. mes "could even reach my level...";
  552. next;
  553. mes "[Sage Spirit]";
  554. mes "I died, but I was never able";
  555. mes "to pass on to the next world.";
  556. mes "I still want to use my abilities.I want to use my knowledge";
  557. mes "to build what pleases me,";
  558. mes "and to destroy as I please.";
  559. next;
  560. mes "[Sage Spirit]";
  561. mes "It is enough if I can";
  562. mes "lend my power to a Sage";
  563. mes "that is worthy of receiving";
  564. mes "it. But to do that, I shall";
  565. mes "require your help. I beg you,";
  566. mes "let me become your spirit ally.";
  567. set SOUL_Q,4;
  568. if(checkquest(6008) == -1) {
  569. changequest 6007,6008;
  570. }
  571. next;
  572. mes "[Sage Spirit]";
  573. mes "I believe that you";
  574. mes "are the only one who";
  575. mes "has a chance of bringing";
  576. mes "rest to my troubled soul...";
  577. close;
  578. }
  579. mes "[Sage Spirit]";
  580. mes "...";
  581. close;
  582. }
  583. job_soul,25,30,5 script Alchemist Spirit#link7 744,{
  584. if (SOUL_Q == 2) {
  585. mes "[Alchemist Spirit]";
  586. mes "Oh! I really want to";
  587. mes "speak to you, but what";
  588. mes "I have to say won't make";
  589. mes "much sense unless you";
  590. mes "talk to Maia first. But yes,";
  591. mes "I really need your help.";
  592. close;
  593. }
  594. else if (SOUL_Q > 2) {
  595. mes "[Alchemist Spirit]";
  596. mes "Without exagerrating, I was";
  597. mes "the fastest Alchemist in my";
  598. mes "time. In fact, I may even be";
  599. mes "the fastest Alchemist ever.";
  600. mes "But then I grew arrogant, and";
  601. mes "killed myself in an accident.";
  602. next;
  603. mes "[Alchemist Spirit]";
  604. mes "But death would not stifle";
  605. mes "my skill. In fact, I've even";
  606. mes "improved my skill since I've";
  607. mes "passed away. I cannot go";
  608. mes "on to the next world until I've";
  609. mes "passed on my techniques...";
  610. set SOUL_Q,4;
  611. if(checkquest(6008) == -1) {
  612. changequest 6007,6008;
  613. }
  614. next;
  615. mes "[Alchemist Spirit]";
  616. mes "I'm powerless as a spirit,";
  617. mes "but with your help, I can";
  618. mes "influence the Alchemists of";
  619. mes "today and help them refine";
  620. mes "their skills. I beseech you,";
  621. mes "please give me this chance...";
  622. close;
  623. }
  624. mes "[Alchemist Spirit]";
  625. mes "...";
  626. close;
  627. }
  628. job_soul,1,5,0 script Timer#link3 111,{
  629. end;
  630. OnEnable:
  631. initnpctimer;
  632. end;
  633. OnDisable:
  634. stopnpctimer;
  635. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  636. end;
  637. OnTimer60000:
  638. OnTimer120000:
  639. if (getmapusers("job_soul") == 0) {
  640. stopnpctimer;
  641. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  642. }
  643. end;
  644. OnTimer180000:
  645. OnTimer181000:
  646. OnTimer182000:
  647. mapwarp "job_soul","morocc",157,47;
  648. end;
  649. OnTimer183000:
  650. mapwarp "job_soul","morocc",157,47;
  651. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  652. stopnpctimer;
  653. }
  654. sec_in02,35,153,0 script Soul Linker Var 871,{
  655. callfunc "F_GM_NPC";
  656. mes "[Soul Linker Var]";
  657. mes "I can reset the Soul Linker";
  658. mes "NPCs if a Soul Linker candidate";
  659. mes "encounters a problem during the";
  660. mes "end of the job quest. Please do";
  661. mes "not use this function if players are still in the Quest Map.";
  662. next;
  663. if (callfunc("F_GM_NPC",1854,0) < 1) {
  664. mes "[Soul Linker Var]";
  665. mes "Password";
  666. mes "is incorrect.";
  667. close;
  668. } else {
  669. mes "[Soul Linker Var]";
  670. mes "Would you like to";
  671. mes "reset the Soul Linker";
  672. mes "Global Variable?";
  673. next;
  674. switch(select("Reset:Cancel")) {
  675. case 1:
  676. mes "[Soul Linker Var]";
  677. mes "The Soul Linker";
  678. mes "Job Quest NPCs";
  679. mes "have been reset.";
  680. set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0;
  681. close;
  682. case 2:
  683. mes "[Soul Linker Var]";
  684. mes "You have canceled";
  685. mes "this command.";
  686. close;
  687. }
  688. }
  689. }
  690. //============================================================
  691. // Old changelog
  692. //============================================================
  693. //= A temp Soul Linker Job Changer based on the kRO quest.
  694. //= Quest info from RagnaInfo. Sprites from kRO screenshots
  695. //= 1.0 Optimized and updated [Lupus]
  696. //= 1.1 Fixed NPC names according to iRO [Lupus]
  697. //============================================================