airships.txt 43 KB

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