airships.txt 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476
  1. //===== rAthena Script =======================================
  2. //= The Airship System Script
  3. //===== By: ==================================================
  4. //= rAthena Dev Team
  5. //===== Compatible With: =====================================
  6. //= rAthena SVN
  7. //===== Description: =========================================
  8. //= The Airship System used in the official servers.
  9. //===== Additional Comments: =================================
  10. //= Official NPCs.
  11. //============================================================
  12. //============================================================
  13. //= Domestic Airship Route
  14. //= ... -> Juno -> Einbroch -> Lighthalzen -> Einbroch
  15. //= -> Juno -> Hugel -> ...
  16. //============================================================
  17. airplane,243,73,0 script #AirshipWarp-1 45,1,1,{
  18. end;
  19. OnInit:
  20. OnHide:
  21. misceffect 16;
  22. disablenpc strnpcinfo(0);
  23. end;
  24. OnUnhide:
  25. enablenpc strnpcinfo(0);
  26. misceffect 215;
  27. end;
  28. OnTouch:
  29. switch ($@airplanelocation) {
  30. case 0: warp "yuno",92,260; end;
  31. case 1: warp "einbroch",92,278; end;
  32. case 2: warp "lighthalzen",302,75; end;
  33. case 3: warp "hugel",181,146; end;
  34. }
  35. }
  36. airplane,243,29,0 duplicate(#AirshipWarp-1) #AirshipWarp-2 45,1,1
  37. airplane,1,1,0 script Domestic_Airship -1,{
  38. end;
  39. OnInit:
  40. initnpctimer;
  41. end;
  42. OnTimer20000:
  43. mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
  44. end;
  45. OnTimer50000:
  46. mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00ff00";
  47. end;
  48. OnTimer60000:
  49. set $@airplanelocation,1;
  50. donpcevent "#AirshipWarp-1::OnUnhide";
  51. donpcevent "#AirshipWarp-2::OnUnhide";
  52. mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
  53. end;
  54. OnTimer70000:
  55. mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
  56. end;
  57. OnTimer80000:
  58. donpcevent "#AirshipWarp-1::OnHide";
  59. donpcevent "#AirshipWarp-2::OnHide";
  60. mapannounce "airplane","The Airship is now taking off. Our next destination is Lighthalzen.",bc_map,"0x70dbdb";
  61. end;
  62. OnTimer100000:
  63. mapannounce "airplane","We are heading to Lighthalzen.",bc_map,"0x70dbdb";
  64. end;
  65. OnTimer130000:
  66. mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,"0x70dbdb";
  67. end;
  68. OnTimer140000:
  69. set $@airplanelocation,2;
  70. donpcevent "#AirshipWarp-1::OnUnhide";
  71. donpcevent "#AirshipWarp-2::OnUnhide";
  72. mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,"0x70dbdb";
  73. end;
  74. OnTimer150000:
  75. mapannounce "airplane","Currently we are in Lighthalzen. The Airship will leave shortly.",bc_map,"0x70dbdb";
  76. end;
  77. OnTimer160000:
  78. donpcevent "#AirshipWarp-1::OnHide";
  79. donpcevent "#AirshipWarp-2::OnHide";
  80. mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
  81. end;
  82. OnTimer180000:
  83. mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
  84. end;
  85. OnTimer210000:
  86. mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00FF00";
  87. end;
  88. OnTimer220000:
  89. set $@airplanelocation,1;
  90. donpcevent "#AirshipWarp-1::OnUnhide";
  91. donpcevent "#AirshipWarp-2::OnUnhide";
  92. mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
  93. end;
  94. OnTimer230000:
  95. mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
  96. end;
  97. OnTimer240000:
  98. donpcevent "#AirshipWarp-1::OnHide";
  99. donpcevent "#AirshipWarp-2::OnHide";
  100. mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,"0xff8200";
  101. end;
  102. OnTimer260000:
  103. mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
  104. end;
  105. OnTimer290000:
  106. mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
  107. end;
  108. OnTimer300000:
  109. set $@airplanelocation,0;
  110. donpcevent "#AirshipWarp-1::OnUnhide";
  111. donpcevent "#AirshipWarp-2::OnUnhide";
  112. mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
  113. end;
  114. OnTimer310000:
  115. mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
  116. end;
  117. OnTimer320000:
  118. donpcevent "#AirshipWarp-1::OnHide";
  119. donpcevent "#AirshipWarp-2::OnHide";
  120. mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,"0xca4bf3";
  121. end;
  122. OnTimer340000:
  123. mapannounce "airplane","We are heading to Hugel.",bc_map,"0xca4bf3";
  124. end;
  125. OnTimer370000:
  126. mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,"0xca4bf3";
  127. end;
  128. OnTimer380000:
  129. set $@airplanelocation,3;
  130. donpcevent "#AirshipWarp-1::OnUnhide";
  131. donpcevent "#AirshipWarp-2::OnUnhide";
  132. mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,"0xca4bf3";
  133. end;
  134. OnTimer390000:
  135. mapannounce "airplane","Currently we are in Hugel. The Airship will leave shortly.",bc_map,"0xca4bf3";
  136. end;
  137. OnTimer400000:
  138. donpcevent "#AirshipWarp-1::OnHide";
  139. donpcevent "#AirshipWarp-2::OnHide";
  140. mapannounce "airplane","The Airship is leaving the ground. Our next destination is Juno.",bc_map,"0xff8200";
  141. end;
  142. OnTimer420000:
  143. mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
  144. end;
  145. OnTimer450000:
  146. mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
  147. end;
  148. OnTimer460000:
  149. set $@airplanelocation,0;
  150. donpcevent "#AirshipWarp-1::OnUnhide";
  151. donpcevent "#AirshipWarp-2::OnUnhide";
  152. mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
  153. end;
  154. OnTimer470000:
  155. mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
  156. end;
  157. OnTimer480000:
  158. donpcevent "#AirshipWarp-1::OnHide";
  159. donpcevent "#AirshipWarp-2::OnHide";
  160. mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
  161. stopnpctimer;
  162. initnpctimer;
  163. }
  164. airplane,240,64,5 script Exit#airplane1a::ExitAirplane 857,{
  165. end;
  166. }
  167. airplane,247,64,5 duplicate(ExitAirplane) Exit#airplane1b 857
  168. airplane,240,40,1 duplicate(ExitAirplane) Exit#airplane2a 857
  169. airplane,247,40,1 duplicate(ExitAirplane) Exit#airplane2b 857
  170. airplane,100,69,3 script Airship Crew#ein-1 852,{
  171. mes "[Airship Crew]";
  172. mes "If we've landed at";
  173. mes "your destination and";
  174. mes "you'd like to leave the";
  175. mes "Airship, please use the";
  176. mes "stairs up ahead. Thank";
  177. mes "you for your patronage.";
  178. close;
  179. }
  180. airplane,64,94,1 script Umbala Kid#ein_p 787,{
  181. emotion e_swt2;
  182. mes "[Kid]";
  183. if (event_umbala >= 3) {
  184. mes "Wow, mom!";
  185. mes "L-look at this!";
  186. mes "We're flying! W-we're...";
  187. mes "We're in the freakin' sky!";
  188. }
  189. else {
  190. mes "Makumalagu!";
  191. mes "Saampa joojimbo";
  192. mes "kaku na jedi Solo.";
  193. mes "Bwahahahahahahaah!";
  194. }
  195. close;
  196. }
  197. airplane,66,93,3 script Umbala Lady#ein_p 783,{
  198. emotion e_dots;
  199. mes "[Lady]";
  200. if (event_umbala >= 3) {
  201. mes "Shush...";
  202. mes "Honey, behave~";
  203. mes "Don't act so excited";
  204. mes "when we're out in a";
  205. mes "public place like this!";
  206. }
  207. else {
  208. mes "Chooktu!";
  209. mes "Sacraup matii!";
  210. mes "Shaka gurftalfi";
  211. mes "huntiki manjoo!";
  212. }
  213. close;
  214. }
  215. airplane,71,91,7 script Umbala Man#ein_p 789,{
  216. if (event_umbala >= 3) {
  217. mes "[Chrmlim]";
  218. mes "Hey there~";
  219. mes "From that look on";
  220. mes "your face, I see that";
  221. mes "you can understand";
  222. mes "me. ^333333*Whew...!*^000000";
  223. next;
  224. emotion e_pif;
  225. mes "[Chrmlim]";
  226. mes "I've been helping the";
  227. mes "Airship enterprise by";
  228. mes "having the Airship Crewmen";
  229. mes "train in Umbala to overcome";
  230. mes "any acrophobia they might have through bungee jumping. Neat, eh?";
  231. next;
  232. mes "[Chrmlim]";
  233. mes "But...";
  234. mes "Some of them couldn't";
  235. mes "overcome their fear of";
  236. mes "heights. And a few even";
  237. mes "ended up, um, ^333333in Nifflheim^000000.";
  238. }
  239. else {
  240. mes "[Chrmlim]";
  241. mes "Bajoo ga";
  242. mes "nukta Airship.";
  243. next;
  244. mes "[Chrmlim]";
  245. mes "...";
  246. mes "......";
  247. next;
  248. emotion e_pif;
  249. mes "[Chrmlim]";
  250. mes "Shabala moow bajama";
  251. mes "Airship kulaha googoona ";
  252. mes "salu. Dama, kookoo na nu";
  253. mes "yukuta. Um, fashuku na ret!";
  254. }
  255. close;
  256. }
  257. airplane,250,58,2 script Airship Staff#airplane 67,{
  258. // Hugel quest addition
  259. if (hg_ma1 == 3) {
  260. mes "[Airship Staff]";
  261. mes "Welcome";
  262. mes "to the Airship.";
  263. mes "How may I help you?";
  264. next;
  265. select("Do you have a passenger named Thierry?");
  266. mes "[Airship Staff]";
  267. mes "I am sorry, but I do not think that we have a passenger by that name.";
  268. close;
  269. }
  270. // Hugel quest end
  271. mes "[Airship Staff]";
  272. mes "Welcome";
  273. mes "to the Airship.";
  274. mes "How may I help you?";
  275. next;
  276. switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
  277. case 1:
  278. mes "[Airship Staff]";
  279. mes "When you see a broadcast";
  280. mes "announcing that we have";
  281. mes "arrived at your destination,";
  282. mes "please use one of the exits";
  283. mes "located at the north and";
  284. mes "south ends of the Airship.";
  285. next;
  286. mes "[Airship Staff]";
  287. mes "If you happen to miss";
  288. mes "your stop, don't worry.";
  289. mes "The Airship is constantly";
  290. mes "en route and you'll get";
  291. mes "another chance to arrive";
  292. mes "to your intended destination.";
  293. close;
  294. case 2:
  295. mes "[Airship Staff]";
  296. mes "The Captain's Cabin";
  297. mes "is located at the front";
  298. mes "of the Airship. There, you";
  299. mes "can meet the captain and";
  300. mes "the pilot of the Airship.";
  301. close;
  302. case 3:
  303. mes "[Airship Staff]";
  304. mes "The Airship provides";
  305. mes "various Mini Games for";
  306. mes "the entertainment of all";
  307. mes "our passengers. We invite";
  308. mes "you to try your luck and skills";
  309. mes "in the Airship's Mini Games~";
  310. close;
  311. case 4:
  312. mes "[Airship Staff]";
  313. mes "Well, I hope you";
  314. mes "your flight aboard";
  315. mes "our Airships. Thank";
  316. mes "you and have a good day.";
  317. close;
  318. }
  319. }
  320. airplane,80,71,2 script Zerta#01airplane 834,{
  321. mes "[Zerta]";
  322. mes "Oh, hello adventurer.";
  323. mes "I am currently on a";
  324. mes "sacred journey, offering";
  325. mes "prayer for the sake of the";
  326. mes "Rune-Midgard continent.";
  327. close;
  328. }
  329. airplane,65,63,4 script Maelin#01airplane 714,{
  330. mes "[Maelin]";
  331. mes "Um, this Airship is";
  332. mes "to Lutie, isn't it? I've";
  333. mes "waiting so long,";
  334. mes "but I haven't heard any";
  335. mes "broadcast about Lutie.";
  336. close;
  337. }
  338. airplane,72,34,6 script Aanos#01airplane 702,{
  339. mes "[Aanos]";
  340. mes "Oh wooow~";
  341. mes "The sky looks";
  342. mes "so different and";
  343. mes "pretty from up there!";
  344. close;
  345. }
  346. airplane,221,158,2 script Pilot#airplane 852,{
  347. // Hugel quest addition
  348. if (hg_ma1 == 3) {
  349. mes "[Pilot]";
  350. mes "I wish that I could go drink a cold fresh beer.";
  351. mes "Drinking is the goal of my life! Drinking gives me energy!";
  352. mes "I am nothing without drinks!";
  353. next;
  354. mes "[Pilot]";
  355. mes "But! Driving under the influence is not good.";
  356. mes "But! That makes me want to drink more and more!";
  357. emotion e_sob;
  358. next;
  359. select("Do you know a passenger named Thierry?");
  360. mes "[Pilot]";
  361. mes "This uniform is";
  362. mes "really dapper, but";
  363. mes "it's way too thick to";
  364. mes "wear around the Airship.";
  365. next;
  366. mes "[Pilot]";
  367. mes "...";
  368. mes "......";
  369. mes "No one ever really";
  370. mes "comes into this room.";
  371. mes "And the captain IS a reindeer.^FFFFFF ^000000 I could just strip to my boxers.";
  372. next;
  373. emotion e_omg;
  374. mes "[Pilot]";
  375. mes "Wah!? Who is it!";
  376. next;
  377. mes "- ...He is not listening to you, at all. -";
  378. close;
  379. }
  380. // Hugel quest end
  381. switch (rand(1,4)) {
  382. case 1:
  383. mes "[Pilot]";
  384. mes "It's been sooo";
  385. mes "long since I've";
  386. mes "enjoyed a nice, cold";
  387. mes "alcoholic brew. But the";
  388. mes "job requires me to be as";
  389. mes "clear headed as I can!";
  390. next;
  391. mes "[Pilot]";
  392. mes "Always drink responsibly!";
  393. mes "Still, I can't remember the";
  394. mes "last time I had a real vacation";
  395. mes "or even a day off. Yeap, some";
  396. mes "booze, some chips, some TV";
  397. mes "and serius R&R is in order.";
  398. emotion e_sob;
  399. close;
  400. case 2:
  401. mes "[Pilot]";
  402. mes "Man, the weather";
  403. mes "is really nice today.";
  404. mes "Bright, open skies make";
  405. mes "for some good visibility";
  406. mes "and safe, carefree flying.";
  407. close;
  408. case 3:
  409. mes "[Pilot]";
  410. mes "You know, our captain's a";
  411. mes "respectable guy. Him and";
  412. mes "his brother are actually well";
  413. mes "known in the aircraft industry.";
  414. mes "Who knew reindeer made";
  415. mes "such good captains?";
  416. next;
  417. mes "[Pilot]";
  418. mes "Just between you";
  419. mes "and me, I gotta tell";
  420. mes "you, that Santa was onto";
  421. mes "something, getting reindeers";
  422. mes "and elves to work for him.";
  423. mes "The man must be a genius!";
  424. close;
  425. default:
  426. mes "[Pilot]";
  427. mes "You know, this whole";
  428. mes "piloting thing in the air,";
  429. mes "it's rather new, you know?";
  430. mes "Yeah, they got this Airship";
  431. mes "operation in a hurry.";
  432. next;
  433. emotion e_omg;
  434. mes "[Pilot]";
  435. mes "Still, they where real";
  436. mes "serius, really thought";
  437. mes "ahead. I mean, they had us";
  438. mes "training while the Airships";
  439. mes "were still being invented.";
  440. mes "Isn't that freakin' crazy?!";
  441. close;
  442. }
  443. }
  444. airplane,50,66,5 script Apple Merchant#airplane 86,{
  445. mes "[Fruitz]";
  446. mes "Welcome to Fruitz's";
  447. mes "Shop where you can";
  448. mes "purchase Apples or grind";
  449. mes "them to make Apple Juice.";
  450. next;
  451. switch (select("Buy Apples.:Make Apple Juice.:Why are you here?:Cancel.")) {
  452. case 1:
  453. mes "[Fruitz]";
  454. mes "Please enter the amount";
  455. mes "of Apples that you wish to";
  456. mes "buy. Each Apple is 15 zeny";
  457. mes "and you can buy a maximum";
  458. mes "of 500 at a time. Please enter";
  459. mes " '0' to cancel your order.";
  460. next;
  461. while (1) {
  462. input .@input;
  463. set .@pay, .@input * 15;
  464. if (.@input == 0) {
  465. mes "[Fruitz]";
  466. mes "Thanks for stopping";
  467. mes "by my shop. Farewell!";
  468. mes "Come by anytime when";
  469. mes "you feel like having an";
  470. mes "Apple to snack on~";
  471. close;
  472. }
  473. else if (.@input < 1 || .@input > 500) {
  474. mes "[Fruitz]";
  475. mes "You've entered a number";
  476. mes "higher than the maximum";
  477. mes "value of 500. Please enter";
  478. mes "the number of Apples you";
  479. mes "wish to purchase again.";
  480. next;
  481. }
  482. else {
  483. mes "[Fruitz]";
  484. mes "A total of ^FF0000" + .@input + "^000000 Apples";
  485. mes "will cost you ^FF0000" + .@pay + " Zeny^000000 zeny.";
  486. mes "Would you like to continue?";
  487. next;
  488. if (select("Yes:No") == 2) {
  489. mes "[Fruitz]";
  490. mes "Thanks for stopping";
  491. mes "by my shop. Farewell!";
  492. mes "Come by anytime when";
  493. mes "you feel like having an";
  494. mes "Apple to snack on~";
  495. close;
  496. }
  497. break;
  498. }
  499. }
  500. if (Zeny < .@pay) {
  501. mes "[Fruitz]";
  502. mes "I'm sorry, but you don't";
  503. mes "have enough money to";
  504. mes "purchase that many Apples.";
  505. mes "Please check your zeny or";
  506. mes "purchase fewer Apples.";
  507. close;
  508. }
  509. else if (checkweight(512,.@input) == 0) {
  510. mes "[Fruitz]";
  511. mes "Hmmm, I don't think";
  512. mes "you've got enough room in";
  513. mes "your inventory to carry this";
  514. mes "many Apples. Why don't you free up some of your inventory space?";
  515. close;
  516. }
  517. else {
  518. set Zeny, Zeny - .@pay;
  519. getitem 512,.@input; //Apple
  520. mes "[Fruitz]";
  521. mes "Thanks for stopping by";
  522. mes "my shop. I hope you enjoy";
  523. mes "the flavor of these Apples~!";
  524. close;
  525. }
  526. case 2:
  527. mes "[Fruitz]";
  528. mes "Okay, I'll need";
  529. mes "^FF00003 Apples and 1 Empty Bottle^000000";
  530. mes "to make 1 Apple Juice for you.";
  531. mes "Would you like to proceed?";
  532. next;
  533. switch (select("Yes:No")) {
  534. case 1:
  535. if (countitem(512) < 3 || countitem(713) < 1) {
  536. mes "[Fruitz]";
  537. mes "I'm sorry, but you don't";
  538. mes "have enough materials to";
  539. mes "create a bottle of Apple Juice.";
  540. mes "Remember, I need 3 Apples";
  541. mes "and 1 Empty Bottle to do it.";
  542. close;
  543. }
  544. else {
  545. mes "[Fruitz]";
  546. mes "Thank you,";
  547. mes "please wait";
  548. mes "just a moment.";
  549. next;
  550. mes "^3355FF*Grind grind*";
  551. mes "*Grind grind*";
  552. mes "*Clang...!*^000000";
  553. next;
  554. delitem 512,3; //Apple
  555. delitem 713,1; //Empty_Bottle
  556. getitem 531,1; //Apple_Juice
  557. mes "[Fruitz]";
  558. mes "There you go~";
  559. mes "I hope you enjoy!";
  560. mes "Please feel free to";
  561. mes "stop by for your Apple";
  562. mes "and Apple Juice needs";
  563. mes "at anytime, adventurer~";
  564. close;
  565. }
  566. case 2:
  567. mes "[Fruitz]";
  568. mes "Thanks for stopping";
  569. mes "by my shop. Farewell!";
  570. mes "Come by anytime when";
  571. mes "you feel like having an";
  572. mes "Apple to snack on~";
  573. close;
  574. }
  575. case 3:
  576. mes "[Fruitz]";
  577. mes "I used to be a wandering";
  578. mes "vagabond when, one day,";
  579. mes "I took a nap and something";
  580. mes "struck my head and awoke";
  581. mes "me from my restful slumber.";
  582. next;
  583. mes "[Fruitz]";
  584. mes "It turns out that I was";
  585. mes "sleeping beneath an apple";
  586. mes "tree and that an apple fell";
  587. mes "and hit me on the head.";
  588. mes "I was dying of hunger and";
  589. mes "was about to eat that Apple...";
  590. next;
  591. mes "[Fruitz]";
  592. mes "But suddenly, Kain, my old";
  593. mes "friend from the mining days,";
  594. mes "asked me to help him around";
  595. mes "on the Airship. So I did, and";
  596. mes "it was there where I found some";
  597. mes "people playing the Dice game.";
  598. next;
  599. mes "[Fruitz]";
  600. mes "I was bored and curious";
  601. mes "and ended up wagering that";
  602. mes "single Apple in a game of";
  603. mes "dice. But for some reason,";
  604. mes "I had this incredible lucky";
  605. mes "streak. One apple became two... ";
  606. next;
  607. mes "[Fruitz]";
  608. mes "Two became four and";
  609. mes "before I knew it, I had";
  610. mes "cornered the Apple market!";
  611. mes "I won so many Apples, I just";
  612. mes "started my own business here";
  613. mes "on the Airship. Weird, huh?";
  614. next;
  615. mes "[Fruitz]";
  616. mes "So Apples are good";
  617. mes "for you. They were";
  618. mes "certainly very good";
  619. mes "to me. Hahahahaah~!";
  620. close;
  621. case 4:
  622. mes "[Fruitz]";
  623. mes "Thank you for";
  624. mes "using my shop.";
  625. mes "Farewell~";
  626. close;
  627. }
  628. }
  629. //============================================================
  630. //= International Airship Route
  631. //= ... -> Izlude -> Juno -> Rachel -> ...
  632. //============================================================
  633. airplane_01,243,73,0 script #AirshipWarp-3 45,1,1,{
  634. end;
  635. OnTouch:
  636. switch ($@airplanelocation2) {
  637. case 0: warp "ra_fild12",292,204; end;
  638. case 1: warp "izlude",200,56; end;
  639. case 2: warp "yuno",12,261; end;
  640. }
  641. OnInit:
  642. OnHide:
  643. misceffect 16;
  644. disablenpc strnpcinfo(0);
  645. end;
  646. OnUnhide:
  647. enablenpc strnpcinfo(0);
  648. misceffect 215;
  649. end;
  650. }
  651. airplane_01,243,29,0 duplicate(#AirshipWarp-3) #AirshipWarp-4 45,1,1
  652. airplane_01,1,1,0 script International_Airship -1,{
  653. end;
  654. OnInit:
  655. OnEnable:
  656. initnpctimer;
  657. end;
  658. OnTimer25000:
  659. mapannounce "airplane_01","We are heading to Izlude.",bc_map,"0x00ff00";
  660. end;
  661. OnTimer50000:
  662. mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00";
  663. end;
  664. OnTimer60000:
  665. set $@airplanelocation2,1;
  666. donpcevent "#AirshipWarp-3::OnUnhide";
  667. donpcevent "#AirshipWarp-4::OnUnhide";
  668. mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00";
  669. end;
  670. OnTimer70000:
  671. mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00";
  672. end;
  673. OnTimer80000:
  674. donpcevent "#AirshipWarp-3::OnHide";
  675. donpcevent "#AirshipWarp-4::OnHide";
  676. mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb";
  677. end;
  678. OnTimer105000:
  679. mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb";
  680. end;
  681. OnTimer130000:
  682. mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb";
  683. end;
  684. OnTimer140000:
  685. set $@airplanelocation2,2;
  686. donpcevent "#AirshipWarp-3::OnUnhide";
  687. donpcevent "#AirshipWarp-4::OnUnhide";
  688. mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb";
  689. end;
  690. OnTimer150000:
  691. mapannounce "airplane_01","We are currently in Juno. The Airship will leave shorty.",bc_map,"0x70dbdb";
  692. end;
  693. OnTimer160000:
  694. donpcevent "#AirshipWarp-3::OnHide";
  695. donpcevent "#AirshipWarp-4::OnHide";
  696. mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200";
  697. end;
  698. OnTimer185000:
  699. mapannounce "airplane_01","We are heading to Rachel.",bc_map,"0xFF8200";
  700. end;
  701. OnTimer210000:
  702. mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200";
  703. end;
  704. OnTimer220000:
  705. set $@airplanelocation2,0;
  706. donpcevent "#AirshipWarp-3::OnUnhide";
  707. donpcevent "#AirshipWarp-4::OnUnhide";
  708. mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200";
  709. end;
  710. OnTimer230000:
  711. mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200";
  712. end;
  713. OnTimer240000:
  714. donpcevent "#AirshipWarp-3::OnHide";
  715. donpcevent "#AirshipWarp-4::OnHide";
  716. mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00";
  717. stopnpctimer;
  718. set .moninv, .moninv + 1;
  719. if (.moninv == 7) {
  720. if (rand(1,3) == 3) {
  721. donpcevent "Airship#airplane02::OnEnable";
  722. end;
  723. }
  724. set .moninv, 0;
  725. }
  726. initnpctimer;
  727. end;
  728. }
  729. airplane_01,240,64,5 script Exit#airplane_011a::ExitAirplane01 857,{
  730. end;
  731. }
  732. airplane_01,247,64,5 duplicate(ExitAirplane01) Exit#airplane_011b 857
  733. airplane_01,240,40,1 duplicate(ExitAirplane01) Exit#airplane_012a 857
  734. airplane_01,247,40,1 duplicate(ExitAirplane01) Exit#airplane_012b 857
  735. airplane_01,250,58,2 script Airship Staff#airplane01 67,{
  736. mes "[Airship Staff]";
  737. mes "Welcome";
  738. mes "to the Airship.";
  739. mes "How may I help you?";
  740. next;
  741. switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
  742. case 1:
  743. mes "[Airship Staff]";
  744. mes "When you see a broadcast";
  745. mes "announcing that we have";
  746. mes "arrived at your destination,";
  747. mes "please use one of the exits";
  748. mes "located at the north and";
  749. mes "south ends of the Airship.";
  750. next;
  751. mes "[Airship Staff]";
  752. mes "If you happen to miss";
  753. mes "your stop, don't worry.";
  754. mes "The Airship is constantly";
  755. mes "en route and you'll get";
  756. mes "another chance to arrive";
  757. mes "to your intended destination.";
  758. close;
  759. case 2:
  760. mes "[Airship Staff]";
  761. mes "The Captain's Cabin";
  762. mes "is located at the front";
  763. mes "of the Airship. There, you";
  764. mes "can meet the captain and";
  765. mes "the pilot of the Airship.";
  766. close;
  767. case 3:
  768. mes "[Airship Staff]";
  769. mes "The Airship provides";
  770. mes "various Mini Games for";
  771. mes "the entertainment of all";
  772. mes "our passengers. We invite";
  773. mes "you to try your luck and skills";
  774. mes "in the Airship's Mini Games~";
  775. close;
  776. case 4:
  777. mes "[Airship Staff]";
  778. mes "Well, I hope you";
  779. mes "your flight aboard";
  780. mes "our Airships. Thank";
  781. mes "you and have a good day.";
  782. close;
  783. }
  784. }
  785. airplane_01,50,66,5 script Apple Merchant#air01 86,{
  786. if (checkweight(1201,1) == 0) {
  787. mes "- Wait a minute !! -";
  788. mes "- Currently you're carrying -";
  789. mes "- too many items with you. -";
  790. mes "- Please try again -";
  791. mes "- after you loose some weight. -";
  792. close;
  793. }
  794. mes "[Meltz]";
  795. mes "Welcome to Meltz's";
  796. mes "Shop where you can";
  797. mes "purchase Apples or grind";
  798. mes "them to make Apple Juice.";
  799. next;
  800. switch (select("Buy Apples.:Make Apple Juice.:Cancel.")) {
  801. case 1:
  802. mes "[Meltz]";
  803. mes "Please enter the amount";
  804. mes "of Apples that you wish to";
  805. mes "buy. Each Apple is 15 zeny";
  806. mes "and you can buy a maximum";
  807. mes "of 500 at a time. Please enter";
  808. mes "'0' to cancel your order.";
  809. next;
  810. while (1) {
  811. input .@input;
  812. set .@pay, .@input * 15;
  813. if (.@input == 0) {
  814. mes "[Meltz]";
  815. mes "Thanks for stopping";
  816. mes "by my shop. Farewell!";
  817. mes "Come by anytime when";
  818. mes "you feel like having an";
  819. mes "Apple to snack on~";
  820. close;
  821. }
  822. else if (.@input < 1 || .@input > 500) {
  823. mes "[Meltz]";
  824. mes "You've entered a number";
  825. mes "higher than the maximum";
  826. mes "value of 500. Please enter";
  827. mes "the number of Apples you";
  828. mes "wish to purchase again.";
  829. next;
  830. }
  831. else {
  832. mes "[Meltz]";
  833. mes "A total of ^FF0000" + .@input + "^000000 Apples";
  834. mes "will cost you ^FF0000" + .@pay + "^000000 zeny.";
  835. mes "Would you like to continue?";
  836. next;
  837. if (select("Yes:No") == 2) {
  838. mes "[Meltz]";
  839. mes "Thanks for stopping";
  840. mes "by my shop. Farewell!";
  841. mes "Come by anytime when";
  842. mes "you feel like having an";
  843. mes "Apple to snack on~";
  844. close;
  845. }
  846. break;
  847. }
  848. }
  849. if (Zeny < .@pay) {
  850. mes "[Meltz]";
  851. mes "I'm sorry, you don't have";
  852. mes "enough money with you.";
  853. mes "Please check your funds or";
  854. mes "purchase less Apples.";
  855. close;
  856. }
  857. else if (checkweight(512,.@input) == 0) {
  858. mes "[Meltz]";
  859. mes "Hmm, I don't think you've";
  860. mes "got enough room to carry";
  861. mes "this many Apples. You might";
  862. mes "want to free up your inventory";
  863. mes "space.";
  864. close;
  865. }
  866. else {
  867. set Zeny, Zeny - .@pay;
  868. getitem 512,.@input; //Apple
  869. mes "[Meltz]";
  870. mes "Thanks for stopping by";
  871. mes "my shop. I hope you enjoy";
  872. mes "the flavor of these Apples~!";
  873. close;
  874. }
  875. case 2:
  876. mes "[Meltz]";
  877. mes "Okay, I'll need";
  878. mes "^FF00003 Apples and 1 Empty Bottle^000000";
  879. mes "to make 1 Apple Juice for you.";
  880. mes "Would you like to proceed?";
  881. next;
  882. switch (select("Yes:No")) {
  883. case 1:
  884. if (countitem(512) < 3 || countitem(713) < 1) {
  885. mes "[Meltz]";
  886. mes "I'm sorry, but you don't";
  887. mes "have enough materials to";
  888. mes "create a bottle of Apple Juice.";
  889. mes "Remember, I need 3 Apples";
  890. mes "and 1 Empty Bottle to do it.";
  891. close;
  892. }
  893. else {
  894. mes "[Meltz]";
  895. mes "Thank you, please wait.";
  896. next;
  897. mes "^3355FF*Grind* *Grind*";
  898. mes "*Grind* *Grind*";
  899. mes "*Clang...!*^000000";
  900. next;
  901. delitem 512,3; //Apple
  902. delitem 713,1; //Empty_Bottle
  903. getitem 531,1; //Apple_Juice
  904. mes "[Meltz]";
  905. mes "There you go~";
  906. mes "Please come again.";
  907. close;
  908. }
  909. case 2:
  910. mes "[Meltz]";
  911. mes "Thanks for stopping";
  912. mes "by my shop. Farewell!";
  913. mes "Come by anytime when";
  914. mes "you feel like having an";
  915. mes "Apple to snack on~";
  916. close;
  917. }
  918. case 3:
  919. mes "[Meltz]";
  920. mes "Thanks for stopping";
  921. mes "by my shop. Farewell!";
  922. mes "Come by anytime when";
  923. mes "you feel like having an";
  924. mes "Apple to snack on~";
  925. close;
  926. }
  927. }
  928. airplane_01,221,158,2 script Pilot#airplane_01 852,{
  929. switch (rand(1,4)) {
  930. case 1:
  931. mes "[Pilot]";
  932. mes "Longitude, 131 degrees east.";
  933. mes "Latitude, 37 degrees north.";
  934. mes "We're right on course, captain.";
  935. close;
  936. case 2:
  937. mes "[Pilot]";
  938. mes "Looks like a really";
  939. mes "cloudy day. Always hard";
  940. mes "to navigate when the skies";
  941. mes "aren't clear. Guess we'll";
  942. mes "need to amp the radar.";
  943. close;
  944. case 3:
  945. mes "[Pilot]";
  946. mes "The Captain is a good";
  947. mes "man and I can't think of";
  948. mes "a finer person to command";
  949. mes "this ship. Still, he's pretty";
  950. mes "tough, a real slave driver.";
  951. next;
  952. mes "[^ff0000Tarlock^000000]";
  953. mes "^ff0000Hey...!^000000";
  954. mes "^ff0000Less chit-chat^000000";
  955. mes "^ff0000and more piloting!^000000";
  956. next;
  957. mes "[Pilot]";
  958. mes "R-right away, sir!";
  959. mes "(See what I mean?)";
  960. close;
  961. default:
  962. mes "[Pilot]";
  963. mes "This uniform is";
  964. mes "really dapper, but";
  965. mes "it's way too thick to";
  966. mes "wear around the Airship.";
  967. next;
  968. mes "[Pilot]";
  969. mes "...";
  970. mes "......";
  971. mes "No one ever really";
  972. mes "comes into this room.";
  973. mes "And the captain IS a reindeer.";
  974. mes "I could just strip to my boxers.";
  975. next;
  976. emotion e_omg;
  977. mes "[Pilot]";
  978. mes "Oh...! Hello there!";
  979. mes "E-e-enjoying your flight?!";
  980. close;
  981. }
  982. }
  983. airplane_01,83,61,2 script Dianne#01airplane_01 72,2,2,{
  984. mes "[Dianne]";
  985. mes "It's so weird!";
  986. mes "I went to visit the";
  987. mes "Airship Captain and";
  988. mes "all I saw was this";
  989. mes "weird reindeer. Oh!";
  990. mes "Do you think that...";
  991. close;
  992. OnTouch:
  993. emotion e_sob;
  994. end;
  995. }
  996. airplane_01,69,63,2 script Mendel#01airplane_01 55,{
  997. mes "[Mendel]";
  998. mes "As I expected, the";
  999. mes "in-flight meals are";
  1000. mes "three star quality at best.";
  1001. mes "*Harrrumph* I really should";
  1002. mes "have brought my chef so that";
  1003. mes "I could enjoy a real meal.";
  1004. close;
  1005. }
  1006. airplane_01,71,31,2 script Swordsman Shimizu#air_01 106,{
  1007. mes "[Swordsman Shimizu]";
  1008. mes "Finally, after five";
  1009. mes "years of waiting...";
  1010. mes "I can have my revenge!";
  1011. next;
  1012. mes "[Swordsman Shimizu]";
  1013. mes "I just...";
  1014. mes "Have to make sure that";
  1015. mes "I don't keep missing my";
  1016. mes "stop. But soon, very soon,";
  1017. mes "vengeance will be mine!";
  1018. close;
  1019. }
  1020. //============================================================
  1021. //= Typing Challenge
  1022. //============================================================
  1023. airplane_01,32,61,4 script Nils#ein 49,1,1,{
  1024. mes "[Nils]";
  1025. mes "Welcome to the";
  1026. mes "^ff0000RO Typing Challenge^000000.";
  1027. mes "Would you like to play";
  1028. mes "a quick typing game?";
  1029. next;
  1030. switch (select("Play ^ff0000RO Typing Challenge^000000:Information:View Top Records:Cancel")) {
  1031. case 1:
  1032. mes "[Nils]";
  1033. mes "Okay, we have";
  1034. mes "a new challenger!";
  1035. mes "Enter the following";
  1036. mes "text as quickly as you";
  1037. mes "can without making any";
  1038. mes "mistakes! Let's start~!";
  1039. setarray .@line1_1$[0], "^3cbcbccallipygian salacius lascivious^000000",
  1040. "^3cbcbcBy the power of^000000",
  1041. "^0000ffthkelfkskeldmsiejdlslehfndkelsheidl^000000",
  1042. "^3cbcbcburrdingdingdingdilidingdingdingphoohudaamb^000000",
  1043. "^3cbcbcCoboman no chikara-yumei na^000000",
  1044. "^3cbcbcI'm the king of All Weirdos! Now^000000",
  1045. "^3cbcbcYou give me no choice. I guess it's^000000";
  1046. setarray .@line1_2$[0], "^3cbcbclicentious prurient concupiscent^000000",
  1047. "^3cbcbcp-po-poi-po-poi-poin-poing^000000",
  1048. "^3cbcbcskemd^000000",
  1049. "^3cbcbcandoorabambarambambambambamburanbamding^000000",
  1050. "^3cbcbcchikara-daiookii na chikara da ze!^000000",
  1051. "^3cbcbcyou know of my true power. Obey~!^000000",
  1052. "^3cbcbctime for me to reveal my secret...^000000";
  1053. setarray .@line1_3$[0], "",
  1054. "^3cbcbcGOD-POING. I NEVER LOSE!^000000",
  1055. "",
  1056. "",
  1057. "^3cbcbcCOBO ON^000000",
  1058. "",
  1059. "";
  1060. setarray .@word1$[0], "callipygian salacius lascivious licentious prurient concupiscent",
  1061. "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!",
  1062. "thkelfkskeldmsiejdlslehfndkelsheidlskemd",
  1063. "burrdingdingdingdilidingdingdingphoohudaambandoorabambarambambambambamburanbamding",
  1064. "Coboman no chikara-yumei na chikara-daiookii na chikara da ze! COBO ON",
  1065. "I'm the king of All Weirdos! Now you know of my true power. Obey~!",
  1066. "You give me no choice. I guess it's time for me to reveal my secret...";
  1067. setarray .@line2_1$[0], "^3cbcbcuNflAPPaBLe LoVaBLe SeCreTs AnD^000000",
  1068. "^ff1493LiGhTsPeEd RiGhT SPEed LeFT TURn^000000",
  1069. "^ff1493hfjdkeldjsieldjshfjdjeiskdlefvbd^000000",
  1070. "^ff1493burapaphuralanderamduanbatuhiwooi^000000",
  1071. "^ff1493belief love luck grimace sweat rush^000000",
  1072. "^800080opeN, Open!op3n.openOpen0p3nOpEn0pen^000000",
  1073. "^3cbcbcfReeDoM ecstAcy JoUrnaliSm ArMplt^000000";
  1074. setarray .@line2_2$[0], "^3cbcbcboWLIiNg aGaINST tHe KarMA of YoUtH^000000",
  1075. "^ff1493RiGhT BuRn OrIGInAL GaNgSteR SmACk^000000",
  1076. "",
  1077. "^ff1493kabamturubamdingding^000000",
  1078. "^ff1493folktale rodimus optimus bumblebee^000000",
  1079. "^800080`open'0Pen open? open!111OPENSESAME^000000",
  1080. "^3cbcbcDisCoverY hEaDaChE MoonbeAmS jUsTiCE^000000";
  1081. setarray .@word2$[0], "uNflAPPaBLe LoVaBLe SeCreTs AnD boWLIiNg aGaINST tHe KarMA of YoUtH",
  1082. "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk",
  1083. "hfjdkeldjsieldjshfjdjeiskdlefvbd",
  1084. "burapaphuralanderamduanbatuhiwooikabamturubamdingding",
  1085. "belief love luck grimace sweat rush folktale rodimus optimus bumblebee",
  1086. "opeN, Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open? open!111OPENSESAME",
  1087. "fReeDoM ecstAcy JoUrnaliSm ArMplt DisCoverY hEaDaChE MoonbeAmS jUsTiCE";
  1088. setarray .@letters[0], 1300,
  1089. 1250,
  1090. 1180,
  1091. 1380,
  1092. 1740,
  1093. 1440,
  1094. 1450;
  1095. set .@wordtest, rand(7);
  1096. next;
  1097. mes "[Nils]";
  1098. mes .@line1_1$[.@wordtest];
  1099. mes .@line1_2$[.@wordtest];
  1100. mes .@line1_3$[.@wordtest];
  1101. set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
  1102. next;
  1103. input .@save1$;
  1104. set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
  1105. set .@total_time, .@end_time - .@start_time;
  1106. mes "[Nils]";
  1107. mes .@line2_1$[.@wordtest];
  1108. mes .@line2_2$[.@wordtest];
  1109. set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
  1110. next;
  1111. input .@save2$;
  1112. set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
  1113. set .@total_time, .@total_time + (.@start_time - .@end_time);
  1114. set .@tasoo, (.@letters[.@wordtest] / .@total_time) * 6;
  1115. if ((.@save1$ == .@word1$[.@wordtest]) && (.@save2$ == .@word2$[.@wordtest])) {
  1116. mes "[Nils]";
  1117. mes "Your record is ^ff0000" + .@total_time + " seconds^000000 and";
  1118. mes "the total letters are " + .@tasoo + ".";
  1119. next;
  1120. if (.@tasoo >= 1300) {
  1121. mes "[Nils]";
  1122. mes "Hmmm, this record isn't";
  1123. mes "humanly possible unless you";
  1124. mes "copy and paste the whole";
  1125. mes "sentence. Please play fairly";
  1126. mes "next time.";
  1127. close;
  1128. }
  1129. if (.@tasoo >= $050320_ein_typing) {
  1130. mes "[Nils]";
  1131. mes "The previous top record was";
  1132. mes "made by ^0000ff" + $050320_minus1_typing$ + "^000000";
  1133. mes "with the total ^0000ff" + $050320_ein_typing + "^000000 letters.";
  1134. mes "However, ^ff0000" + strcharinfo(0) + "^000000,";
  1135. mes "you made the new top record";
  1136. mes "this time. Congratulations!";
  1137. set $050320_minus1_typing$, strcharinfo(0);
  1138. set $050320_ein_typing, .@tasoo;
  1139. close;
  1140. }
  1141. else {
  1142. mes "[Nils]";
  1143. mes "^0000ff" + $050320_minus1_typing$ + "^000000";
  1144. mes "is the current";
  1145. mes "record holder with";
  1146. mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
  1147. mes "characters. Try to beat";
  1148. mes "that record next time~";
  1149. close;
  1150. }
  1151. }
  1152. else {
  1153. mes "[Nils]";
  1154. mes "Oooh...";
  1155. mes "I'm sorry, but";
  1156. mes "you entered the";
  1157. mes "text incorrectly...";
  1158. close;
  1159. }
  1160. case 2:
  1161. mes "[Nils]";
  1162. mes "The ^ff0000RO Typing Challenge^000000";
  1163. mes "is a game where you enter";
  1164. mes "the given text as quickly as you";
  1165. mes "can. The name of the top player";
  1166. mes "is recorded for posterity. If you";
  1167. mes "want fame, here's your chance!";
  1168. next;
  1169. mes "[Nils]";
  1170. mes "I'd just like to let";
  1171. mes "you know that you type";
  1172. mes "all the text that you see";
  1173. mes "in the single input line that";
  1174. mes "you're given. So don't press";
  1175. mes "the enter key, just click 'OK.'";
  1176. close;
  1177. case 3:
  1178. mes "[Nils]";
  1179. mes "^0000ff" + $050320_minus1_typing$ + "^000000";
  1180. mes "is the current";
  1181. mes "record holder with";
  1182. mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
  1183. mes "characters. Try to beat";
  1184. mes "that record next time~";
  1185. close;
  1186. case 4:
  1187. mes "[Nils]";
  1188. mes "Feel free to take on the";
  1189. mes "^ff0000RO Typing Challenge^000000";
  1190. mes "anytime. I'll be here~";
  1191. close;
  1192. }
  1193. }
  1194. //============================================================
  1195. //= Apple Gambling
  1196. //============================================================
  1197. airplane_01,33,68,4 script Clarice 74,{
  1198. mes "[Clarice]";
  1199. mes "Hi, I'm Clarice~";
  1200. mes "How would you like";
  1201. mes "to wager some Apples";
  1202. mes "in a friendly game of Dice?";
  1203. next;
  1204. callfunc "applegamble","Clarice";
  1205. end;
  1206. }
  1207. function script applegamble {
  1208. switch (select("Play Dice Game:Learn Dice Game Rules:Cancel")) {
  1209. case 3:
  1210. mes "["+getarg(0)+"]";
  1211. mes "I'm up for a game of";
  1212. mes "dice whenever you feel";
  1213. mes "like it. Just talk to me if";
  1214. mes "you ever get hit with the";
  1215. mes "sudden urge to gamble, kay?";
  1216. close;
  1217. case 2:
  1218. mes "["+getarg(0)+"]";
  1219. mes "The rules for the Dice game";
  1220. mes "are pretty simple. First, you";
  1221. mes "place a bet by wagering Apples.";
  1222. mes "You can bet a maximum of 50";
  1223. mes "Apples at a time. To keep things";
  1224. mes "legal, I can only accept Apples.";
  1225. next;
  1226. mes "["+getarg(0)+"]";
  1227. mes "But hey, if all that zeny";
  1228. mes "is burning a hole in your";
  1229. mes "pocket, head over to Fruitz";
  1230. mes "and you can buy as many";
  1231. mes "Apples as you want, playah~";
  1232. next;
  1233. mes "["+getarg(0)+"]";
  1234. mes "Now, we begin with me";
  1235. mes "rolling two 6-sided dice.";
  1236. mes "When it's your turn, you'll";
  1237. mes "roll two 6-sided dice. After";
  1238. mes "that, both of us will have the";
  1239. mes "option of rolling a third die.";
  1240. next;
  1241. mes "["+getarg(0)+"]";
  1242. mes "Now here's the important";
  1243. mes "thing. If your total is higher";
  1244. mes "than 12, you'll bust, meaning";
  1245. mes "that you lose. Otherwise, the";
  1246. mes "person with the higher total";
  1247. mes "is the winner. Got it?";
  1248. next;
  1249. mes "["+getarg(0)+"]";
  1250. mes "Now, you'll be the first";
  1251. mes "to decide whether or not";
  1252. mes "you'll roll the third die. Then,";
  1253. mes "depending on your result, I'll";
  1254. mes "roll my third die... Or maybe not.";
  1255. next;
  1256. mes "["+getarg(0)+"]";
  1257. mes "When you win, you'll";
  1258. mes "receive twice as many";
  1259. mes "Apples as you wagered.";
  1260. mes "But if we happen to tie, you";
  1261. mes "get the Apples that you bet";
  1262. mes "returned to you. Fair, right?";
  1263. close;
  1264. case 1:
  1265. break;
  1266. }
  1267. mes "["+getarg(0)+"]";
  1268. mes "Ooh, so you'll play with";
  1269. mes "me? Great! How many";
  1270. mes "Apples would you like to bet?";
  1271. mes "Remember, you can wager";
  1272. mes "up to 50 Apples. If you'd like";
  1273. mes "to cancel, please enter '0'.";
  1274. next;
  1275. while(1) {
  1276. input .@amount;
  1277. if (.@amount == 0) {
  1278. mes "["+getarg(0)+"]";
  1279. mes "Changed your mind?";
  1280. mes "I understand. Well then,";
  1281. mes "I hope we can play sometime.";
  1282. close;
  1283. }
  1284. else if (.@amount < 1 || .@amount > 50) {
  1285. mes "["+getarg(0)+"]";
  1286. mes "You can't bet more than";
  1287. mes "50 Apples. Remember, we";
  1288. mes "need to keep these stakes";
  1289. mes "reasonable. Please enter";
  1290. mes "a value no greater than 50.";
  1291. next;
  1292. continue;
  1293. }
  1294. mes "["+getarg(0)+"]";
  1295. mes "So you'll be";
  1296. mes "betting ^FF0000"+.@amount+"^000000 Apples.";
  1297. mes "Is that right?";
  1298. next;
  1299. if (select("Yes:No") == 2) {
  1300. mes "["+getarg(0)+"]";
  1301. mes "Mm, made a mistake?";
  1302. mes "Alright, please enter the";
  1303. mes "number of Apples you";
  1304. mes "wish to place in this bet";
  1305. next;
  1306. continue;
  1307. }
  1308. if (countitem(512) <.@amount) {
  1309. mes "I'm sorry, but you";
  1310. mes "don't seem to have";
  1311. mes "enough Apples for this";
  1312. mes "bet... You can't gamble";
  1313. mes "if you can't play, you know.";
  1314. next;
  1315. continue;
  1316. }
  1317. delitem 512,.@amount;
  1318. mes "["+getarg(0)+"]";
  1319. mes "Good!";
  1320. mes "Now we can start";
  1321. mes "this game! I'll roll first~";
  1322. break;
  1323. }
  1324. mes "^3355FF*Rolling and rumbling*^000000";
  1325. next;
  1326. set .@giveapple, .@amount*2;
  1327. set .@table1, rand(1,6);
  1328. set .@table2, rand(1,6);
  1329. set .@tablesub, .@table1 + .@table2;
  1330. set .@tabletotal, .@tablesub;
  1331. mes "["+getarg(0)+"]";
  1332. mes "I got a ^0000FF" + .@table1 + "^000000 and a ^0000FF" + .@table2 + "^000000.";
  1333. mes "That's a total of ^0000FF" + .@tablesub + "^000000.";
  1334. mes "^FF0000" + strcharinfo(0) + "^000000, now it's your turn.";
  1335. next;
  1336. select("Cast Dice.");
  1337. mes "^3355FF*Rolling and rumbling*^000000";
  1338. set .@player1, rand(1,6);
  1339. set .@player2, rand(1,6);
  1340. set .@playersub, .@player1 + .@player2;
  1341. if (.@playersub > 9 && .@amount > 39) {
  1342. set .@player1, rand(1,6);
  1343. set .@player2, rand(1,6);
  1344. set .@playersub, .@player1 + .@player2;
  1345. }
  1346. set .@playertotal, .@playersub;
  1347. next;
  1348. mes "["+getarg(0)+"]";
  1349. mes "^FF0000" + strcharinfo(0) + "^000000, you have ^FF0000" + .@player1 + "^000000 and ^FF0000" + .@player2 + "^000000. The total is ^FF0000" + .@playersub + "^000000 .";
  1350. next;
  1351. mes "["+getarg(0)+"]";
  1352. if(.@playersub == .@tablesub) {
  1353. mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. We are making an even game. Would you like to cast dice again?";
  1354. } else if (.@playersub > .@tablesub) {
  1355. mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. ^FF0000" + strcharinfo(0) + "^000000, you are currently winning this game. Would you like to cast dice again?";
  1356. } else if(.@tablesub > .@playersub) {
  1357. mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. I am winning this game. Would you like to cast dice again?";
  1358. }
  1359. next;
  1360. switch (select("Cast dice.:Cancel.")) {
  1361. case 1:
  1362. mes "^3355FF*Rolling and rumbling*^000000";
  1363. set .@player3, rand(1,6);
  1364. set .@playertotal, .@playertotal + .@player3;
  1365. next;
  1366. mes "["+getarg(0)+"]";
  1367. if (.@playertotal > 12) {
  1368. mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. You lost this game. I am sorry but please try again.";
  1369. close;
  1370. }
  1371. else if (.@playertotal < .@tablesub) {
  1372. mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. Even though you casted dice again, still your total is smaller than mine. You lost the game. I am sorry and please try again.";
  1373. close;
  1374. }
  1375. else if (.@playertotal == .@tablesub) {
  1376. if (.@tablesub > 8) {
  1377. mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. I don't want to take any risk, let's end this game in a draw. Let's play again some other time~";
  1378. close2;
  1379. getitem 512,.@amount; //Apple
  1380. end;
  1381. }
  1382. }
  1383. else {
  1384. mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. Now it is my turn.";
  1385. }
  1386. break;
  1387. case 2:
  1388. mes "["+getarg(0)+"]";
  1389. if (.@playersub > .@tablesub) {
  1390. mes "I see, you don't want to take risk of losing the game. Okay, let me cast dice again.";
  1391. }
  1392. else if (.@playersub == .@tablesub) {
  1393. if (.@tablesub > 8) {
  1394. mes "I see, you don't want to take risk of losing this game. Neither do I, let's end this game in a draw. Let's play again some other time~";
  1395. close2;
  1396. getitem 512,.@amount; //Apple
  1397. end;
  1398. }
  1399. mes "Alright.";
  1400. mes "Let me cast the dice again.";
  1401. }
  1402. else {
  1403. mes "It couldn't hurt to try.";
  1404. mes "Well, I win this time.";
  1405. mes "I'm sorry, let's try play";
  1406. mes "again sometime.";
  1407. close;
  1408. }
  1409. break;
  1410. }
  1411. next;
  1412. mes "^3355FF*Rolling and rumbling*^000000";
  1413. set .@table3, rand(1,6);
  1414. set .@tabletotal, .@tabletotal + .@table3;
  1415. next;
  1416. mes "["+getarg(0)+"]";
  1417. if (.@tabletotal > 12) {
  1418. mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. I lost this game since my total exceeded 12. Let me give you my apples. Congratulations, that was a great game.";
  1419. close2;
  1420. getitem 512,.@giveapple; //Apple
  1421. end;
  1422. }
  1423. else if (.@playertotal > .@tabletotal) {
  1424. mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 you won this game, ^FF0000" + strcharinfo(0) + "^000000. Let me give you my apples. It was a great game and I hope we will play again some other time.";
  1425. close2;
  1426. getitem 512,.@giveapple; //Apple
  1427. end;
  1428. }
  1429. else if (.@playertotal == .@tabletotal) {
  1430. mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 this game came out even, ^FF0000" + strcharinfo(0) + "^000000. Let me give you your apple back. It was a great game and I hope we will play again some other time.";
  1431. close2;
  1432. getitem 512,.@amount; //Apple
  1433. end;
  1434. }
  1435. else if (.@playertotal < .@tabletotal) {
  1436. mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 you lost this game, ^FF0000" + strcharinfo(0) + "^000000. I am sorry but please try again.";
  1437. close;
  1438. }
  1439. }