monster_race.txt 93 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967
  1. //===== rAthena Script =======================================
  2. //= Hugel Monster Races
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.8
  7. //===== Compatible With: =====================================
  8. //= rAthena SVN (Trunk, r12752+)
  9. //===== Description: =========================================
  10. //= [Official Conversion]
  11. //= - Hugel Monster Races (Single and Double)
  12. //= - Prize Medal Exchanging, and Monster Track NPCs.
  13. //= - Contains both euRO and iRO dialog.
  14. //= - There are no permenent variables.
  15. //===== Additional Comments: =================================
  16. //= 1.0 First version. Please report bugs. [L0ne_W0lf]
  17. //= 1.1 Corrected a minor typo. [L0ne_W0lf]
  18. //= 1.2 Replaced effect numerics with constants. [L0ne_W0lf]
  19. //= 1.3 Ei'felle now gives Exercise. (Bugreport:4092) [L0ne_W0lf]
  20. //= 1.4 Fixed call to a non-existant event. [L0ne_W0lf]
  21. //= 1.5 Updated Dialog. [L0ne_W0lf]
  22. //= 1.6 Updated experience rewards. [L0ne_W0lf]
  23. //= 1.7 Optimization, -4000 lines (more can still be done). [Euphy]
  24. //= 1.8 Optimized.
  25. //= Fixed Medal Distributor (Dual Race) disappears accordingly. [Joseph]
  26. //============================================================
  27. // Monstrer Race - Single Monster Race
  28. //============================================================
  29. hugel,51,61,0 script #race_timer1-1 -1,{
  30. OnInit:
  31. OnEnable:
  32. enablenpc "#race_timer1-1";
  33. set $@mon_time_1_1,2;
  34. initnpctimer;
  35. end;
  36. OnDisable:
  37. disablenpc "#race_timer1-1";
  38. stopnpctimer;
  39. end;
  40. OnTimer10000:
  41. mapannounce "hugel","The Single Monster Race will soon begin. We hope to see many of you participate!",bc_map,"0x87ceeb";
  42. end;
  43. OnTimer30000:
  44. mapannounce "hugel","The Single Monster Race Arena has just opened.",bc_map,"0x87ceeb";
  45. set $@mon_time_1_1,1;
  46. donpcevent "Race Progress Timer::OnEnable";
  47. end;
  48. OnTimer90000:
  49. mapannounce "hugel","The Single Monster Race arena is now open. Participants should enter the Arena as soon as they can.",bc_map,"0x87ceeb";
  50. end;
  51. OnTimer210000:
  52. mapannounce "hugel","The entrance to the Single Monster Race Arena will close shortly. Participants, please enter the arena now.",bc_map,"0x87ceeb";
  53. end;
  54. OnTimer270000:
  55. mapannounce "hugel","The Single Monster Race Arena's entrance will soon close.",bc_map,"0x87ceeb";
  56. end;
  57. OnTimer272000:
  58. mapannounce "hugel","Participants, please enter the Arena before the doors close.",bc_map,"0x87ceeb";
  59. end;
  60. OnTimer330000:
  61. mapannounce "hugel","The race is now starting. If you missed your chance to enter this race, please try again next time~!",bc_map,"0x87ceeb";
  62. set $@mon_time_1_1,0;
  63. donpcevent "#race_timer1-1::OnDisable";
  64. stopnpctimer;
  65. end;
  66. }
  67. p_track01,58,0,0 script Race Progress Timer -1,{
  68. OnEnable:
  69. enablenpc "Race Progress Timer";
  70. initnpctimer;
  71. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  72. enablenpc "starting#"+.@i;
  73. set .@c, 1;
  74. while (.@c <= 6) {
  75. setd ".@line_"+.@c,rand(1,70);
  76. if (getd(".@line_"+.@c) <= 10) {
  77. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  78. enablenpc "Luk"+.@c+"#5";
  79. enablenpc "Luk"+.@c+"#6";
  80. setd "$@mr_1_tire"+.@c,rand(50,60);
  81. enablenpc "Tire"+.@c+"#1";
  82. } else if (getd(".@line_"+.@c) <= 30) {
  83. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  84. enablenpc "Luk"+.@c+"#5";
  85. set getd(".@tired"+.@c),rand(40,60);
  86. setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c);
  87. enablenpc "Tire"+.@c+"#1";
  88. if (getd(".@tired"+.@c) >= 50) enablenpc "Tire"+.@c+"#2";
  89. } else if (getd(".@line_"+.@c) <= 40) {
  90. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  91. enablenpc "Luk"+.@c+"#1";
  92. set getd(".@tired"+.@c),rand(30,50);
  93. setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c);
  94. enablenpc "Tire"+.@c+"#1";
  95. enablenpc "Tire"+.@c+"#2";
  96. if (getd(".@tired"+.@c) < 40) enablenpc "Tire"+.@c+"#3";
  97. } else if (getd(".@line_"+.@c) <= 50) {
  98. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  99. enablenpc "Luk"+.@c+"#1";
  100. enablenpc "Luk"+.@c+"#2";
  101. set getd(".@tired"+.@c),rand(20,40);
  102. setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c);
  103. for (set .@i, 1; .@i <= 3; set .@i, .@i + 1)
  104. enablenpc "Tire"+.@c+"#"+.@i;
  105. if (getd(".@tired"+.@c) < 30) enablenpc "Tire"+.@c+"#4";
  106. } else if (getd(".@line_"+.@c)) <= 60 {
  107. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  108. for (set .@i, 1; .@i <= 3; set .@i, .@i + 1)
  109. enablenpc "Luk"+.@c+"#"+.@i;
  110. set getd(".@tired"+.@c),rand(10,30);
  111. setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c);
  112. for (set .@i, 1; .@i <= 4; set .@i, .@i + 1)
  113. enablenpc "Tire"+.@c+"#"+.@i;
  114. if (getd(".@tired"+.@c) < 20) enablenpc "Tire"+.@c+"#5";
  115. } else if (getd(".@line_"+.@c) <= 70) {
  116. setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c);
  117. for (set .@i, 1; .@i <= 4; set .@i, .@i + 1)
  118. enablenpc "Luk"+.@c+"#"+.@i;
  119. set getd(".@tired"+.@c),rand(0,20);
  120. setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c);
  121. for (set .@i, 1; .@i <= 5; set .@i, .@i + 1)
  122. enablenpc "Tire"+.@c+"#"+.@i;
  123. if (getd(".@tired"+.@c) < 10) enablenpc "Tire"+.@c+"#6";
  124. }
  125. set .@c, .@c + 1;
  126. }
  127. end;
  128. OnDisable:
  129. disablenpc "Race Progress Timer";
  130. stopnpctimer;
  131. end;
  132. OnTimer1000:
  133. enablenpc "Ticket Helper#single";
  134. end;
  135. OnTimer7000:
  136. mapannounce "p_track01","Welcome to the Monster Race Arena.",bc_map,"0xffb6c1";
  137. end;
  138. OnTimer10000:
  139. mapannounce "p_track01","Feel free to inquire at the help desk whenever you have questions.",bc_map,"0xffb6c1";
  140. end;
  141. OnTimer120000:
  142. mapannounce "p_track01","The Single Monster Race will start in 3 minutes.",bc_map,"0xffb6c1";
  143. end;
  144. OnTimer123000:
  145. mapannounce "p_track01","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0xffb6c1";
  146. end;
  147. OnTimer240000:
  148. mapannounce "p_track01","The Single Monster Race will start shortly.",bc_map,"0xffb6c1";
  149. end;
  150. OnTimer243000:
  151. mapannounce "p_track01","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0xffb6c1";
  152. end;
  153. OnTimer300000:
  154. mapannounce "p_track01","The Monster Race has already begun. Good luck to all the participants.",bc_map,"0xffb6c1";
  155. set $@mon_time_1_1,0;
  156. set $@monster_race,0;
  157. disablenpc "Ticket Helper#single";
  158. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  159. donpcevent "Runner No. "+.@i+"::OnEnable";
  160. stopnpctimer;
  161. end;
  162. OnInit:
  163. disablenpc "Race Progress Timer";
  164. end;
  165. }
  166. p_track01,73,22,1 script Ticket Helper#single 899,{
  167. mes "[Ticket Helper]";
  168. mes "Welcome to the";
  169. mes "Monster Race Arena.";
  170. mes "If you'd like to participate";
  171. mes "in the ^3131FFSingle Monster Race^000000,";
  172. mes "then please select 1 out of";
  173. mes "the 6 monsters from the list.";
  174. next;
  175. if (!checkweight(908,200)) {
  176. mes "[Ticket Helper]";
  177. mes "Wait, wait...";
  178. mes "I can't give you";
  179. mes "anything right now.";
  180. mes "You're carrying way";
  181. mes "too many things...";
  182. close;
  183. }
  184. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  185. set .@m$, .@m$ + "Monster "+.@i+":";
  186. set .@m, select ("Monster Status:"+.@m$) - 1;
  187. if (!.@m) {
  188. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  189. mes "Monster "+.@i+" [^CC6600Luck^000000: " + getd("$@mr_1_luk"+.@i) + "] [^EE0000HP^000000: " + getd("$@mr_1_tire"+.@i) + "]";
  190. close;
  191. } else {
  192. if ($@mon_time_1_1 == 1) {
  193. if (monster_race_1) {
  194. mes "[Ticket Helper]";
  195. mes "You have selected";
  196. mes "Monster ^FF0000"+ monster_race_1 +"^000000 for the";
  197. mes "Single Monster Race.";
  198. mes "The start of the race";
  199. mes "will be announced soon,";
  200. mes "so please wait. Thank you.";
  201. close;
  202. }
  203. mes "[Ticket Helper]";
  204. mes "You've chosen Monster "+.@m+"?";
  205. mes "Alright then, please wait";
  206. mes "until the start of the race is";
  207. mes "announced. If the monster you";
  208. mes "picked wins, then please use this ticket to redeem your prize.";
  209. getitem 7514,1; //Monster_Ticket
  210. set monster_race_1,.@m;
  211. close;
  212. }
  213. mes "[Ticket Helper]";
  214. mes "I'm sorry, but a Monster";
  215. mes "Race is now in progress.";
  216. mes "If you'd like to participate, then please wait for the next race.";
  217. close;
  218. }
  219. OnInit:
  220. disablenpc "Ticket Helper#single";
  221. end;
  222. }
  223. - script Runner#main -1,{
  224. function WN;
  225. OnEnable:
  226. emotion e_gasp;
  227. enablenpc strnpcinfo(0);
  228. getmapxy(.@m$,.@x,.@y,1);
  229. setarray .@mob[1], 1725,1726,1727,1728,1730,1729;
  230. monster "p_track01",58,.@y,"The "+WN(1)+" Racer",.@mob[WN(0)],1,strnpcinfo(0)+"::OnMyMobDead";
  231. end;
  232. OnDisable:
  233. disablenpc strnpcinfo(0);
  234. killmonster "p_track01",strnpcinfo(0)+"::OnMyMobDead";
  235. end;
  236. OnTouchNPC:
  237. initnpctimer;
  238. set .@n, WN(0);
  239. set $@monster_race,.@n;
  240. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) {
  241. if (.@n == .@i) continue;
  242. donpcevent "Runner No. "+.@i+"::OnDisable";
  243. }
  244. end;
  245. OnTimer1000:
  246. mapannounce "p_track01","We have a winner...!",bc_map,"0x33FF66";
  247. end;
  248. OnTimer2000:
  249. mapannounce "p_track01","Monster "+WN(0)+" is the winner of this race!",bc_map,"0x33FF66";
  250. end;
  251. OnTimer6000:
  252. mapannounce "p_track01","If you wagered on Monster "+WN(0)+" in this race, talk to the Medal Distributor to receive your prize!",bc_map,"0x33FF66";
  253. end;
  254. OnTimer8000:
  255. mapannounce "p_track01","Please remember that we can distribute Prize Medals for only 5 minutes after each race.",bc_map,"0x33FF66";
  256. end;
  257. OnTimer9000:
  258. donpcevent "Medal Distributor#single::OnEnable";
  259. donpcevent strnpcinfo(0)+"::OnDisable";
  260. killmonster "p_track01",strnpcinfo(0)+"::OnMyMobDead";
  261. stopnpctimer;
  262. end;
  263. function WN {
  264. set .@n, charat(strnpcinfo(0),getstrlen(strnpcinfo(0))-1);
  265. if (!getarg(0)) return .@n;
  266. return ((.@n <= 3)?((.@n == 1)?"1st":((.@n == 2)?"2nd":"3rd")):.@n+"th");
  267. }
  268. OnInit:
  269. if (compare(strnpcinfo(0),"main")) end;
  270. disablenpc strnpcinfo(0);
  271. end;
  272. }
  273. p_track01,30,38,0 duplicate(Runner#main) Runner No. 1 -1,1,0
  274. p_track01,30,36,0 duplicate(Runner#main) Runner No. 2 -1,1,0
  275. p_track01,30,34,0 duplicate(Runner#main) Runner No. 3 -1,1,0
  276. p_track01,30,32,0 duplicate(Runner#main) Runner No. 4 -1,1,0
  277. p_track01,30,30,0 duplicate(Runner#main) Runner No. 5 -1,1,0
  278. p_track01,30,28,0 duplicate(Runner#main) Runner No. 6 -1,1,0
  279. p_track01,67,45,5 script Medal Distributor#single 845,{
  280. if (!checkweight(908,200)) {
  281. mes "[Medal Distributor]";
  282. mes "I'm sorry, but I can't";
  283. mes "reward you with any medals";
  284. mes "until you make more space";
  285. mes "available in your Inventory.";
  286. close;
  287. }
  288. set .@insa,rand(1,1000);
  289. if (countitem(7514)) {
  290. mes "[Medal Distributor]";
  291. mes "Hello there~";
  292. mes "If you've wagered on the";
  293. mes "winning monster in a recent";
  294. mes "race, then you can exchange";
  295. mes "your game ticket here for";
  296. mes "some Prize Medals.";
  297. next;
  298. mes "[Medal Distributor]";
  299. mes "Please remember that you can";
  300. mes "only exchange winning Game";
  301. mes "Tickets for Prize Medals right";
  302. mes "after the race finishes. Prize";
  303. mes "Medals may be given to Wayne";
  304. mes "in Hugel in exchange for items.";
  305. next;
  306. if ($@monster_race) {
  307. if (monster_race_1 == $@monster_race) {
  308. mes "[Medal Distributor]";
  309. mes "Oh, congratulations, you";
  310. mes "have a winning ticket for";
  311. mes "a Single Monster Race! So ";
  312. mes "would you like to exchange your";
  313. mes "Racing Ticket for Prize Medals?";
  314. next;
  315. if (select("Yes, please.:No, thanks.") == 2) {
  316. mes "[Medal Distributor]";
  317. mes "Um, are you sure? You ";
  318. mes "can only exchange a winning";
  319. mes "Racing Ticket for Prize Medals";
  320. mes "for a short time after the race. If you made a mistake, you";
  321. mes "should ask me again quickly.";
  322. close;
  323. }
  324. mes "[Medal Distributor]";
  325. mes "Let me see your ticket...";
  326. mes "Oh! Congratulations, you";
  327. mes "won! May I have your name?";
  328. next;
  329. input .@input$;
  330. if (.@input$ == strcharinfo(0)) {
  331. mes "[Medal Distributor]";
  332. mes "Ah, "+strcharinfo(0)+".";
  333. mes "You can exchange this";
  334. mes "ticket for a Prize Medal by";
  335. mes "entering your ticket exchange";
  336. mes "number now. Your ticket";
  337. mes "exchange number is ^FF0000" + .@insa + "^000000.";
  338. next;
  339. input .@input; //,0,1000;
  340. if (!.@input) {
  341. mes "[Medal Distributor]";
  342. mes "Oh? You don't want";
  343. mes "to exchange your";
  344. mes "winning ticket?";
  345. close;
  346. } else if (.@input == .@insa) {
  347. mes "[Medal Distributor]";
  348. mes "Thank you! You entered";
  349. mes "the correct number...";
  350. mes "Everything seems to";
  351. mes "be in order. Alright!";
  352. next;
  353. mes "[Medal Distributor]";
  354. mes "Now please accept your";
  355. mes "Prize Medals! You can";
  356. mes "exchange these with";
  357. mes "Wayne in Hugel for some";
  358. mes "interesting items. Thank you~";
  359. delitem 7514,1; //Monster_Ticket
  360. set monster_race_1,0;
  361. getitem 7515,4; //Marvelous_Medal
  362. close;
  363. }
  364. mes "[Medal Distributor]";
  365. mes "I'm sorry, but it seems";
  366. mes "that you entered the";
  367. mes "incorrect ticket number.";
  368. mes "Would you mind coming";
  369. mes "back again in a while?";
  370. close;
  371. }
  372. mes "[Medal Distributor]";
  373. mes "What's this...?";
  374. mes "I think there's a problem...";
  375. mes "Did you enter your name";
  376. mes "incorrectly? Please check";
  377. mes "your name, and then try again.";
  378. close;
  379. }
  380. mes "[Medal Distributor]";
  381. mes "You may not have wagered";
  382. mes "on the winning monster in";
  383. mes "the last race, but I hope that";
  384. mes "you get lucky next time~";
  385. close;
  386. }
  387. }
  388. mes "[Medal Distributor]";
  389. mes "Hello there~";
  390. mes "If you've wagered on the";
  391. mes "winning monster in a recent";
  392. mes "race, then you can exchange";
  393. mes "your game ticket here for";
  394. mes "some Prize Medals.";
  395. next;
  396. mes "[Medal Distributor]";
  397. mes "Please remember that you can";
  398. mes "only exchange winning Game";
  399. mes "Tickets for Prize Medals right";
  400. mes "after the race finishes. Prize";
  401. mes "Medals may be given to Wayne";
  402. mes "in Hugel in exchange for items.";
  403. close;
  404. OnEnable:
  405. emotion e_gasp;
  406. enablenpc "Medal Distributor#single";
  407. initnpctimer;
  408. end;
  409. OnTimer1000:
  410. mapannounce "p_track01","The Monster Race is finished! Congratulations to all the winners!",bc_map,"0xFFFF00";
  411. end;
  412. OnTimer4000:
  413. mapannounce "p_track01","Please give your Racing Ticket to the Medal Distributor if you bet on the winning monster.",bc_map,"0xFFFF00";
  414. end;
  415. OnTimer7000:
  416. mapannounce "p_track01","You have 5 minutes to exchange a winning ticket for Prize Medals from the Medal Distributor.",bc_map,"0xFFFF00";
  417. end;
  418. OnTimer10000:
  419. mapannounce "p_track01","All tickets become void after this 5 minute period, so winners should claim their prize now.",bc_map,"0xFFFF00";
  420. end;
  421. OnTimer13000:
  422. mapannounce "p_track01","Please leave the Race Arena before this 5 minute period elapses. Thank you.",bc_map,"0xFFFF00";
  423. end;
  424. OnTimer240000:
  425. mapannounce "p_track01","Attention. We will being preparing for the next race shortly...",bc_map,"0xFFFF00";
  426. end;
  427. OnTimer243000:
  428. mapannounce "p_track01","We will close the Racing Arena in 1 minute to prepare for the next race.",bc_map,"0xFFFF00";
  429. end;
  430. OnTimer246000:
  431. mapannounce "p_track01","Participants in the last race should leave the arena as soon as possible.",bc_map,"0xFFFF00";
  432. end;
  433. OnTimer249000:
  434. mapannounce "p_track01","Thank you for your cooperation.",bc_map,"0xFFFF00";
  435. end;
  436. OnTimer252000:
  437. mapannounce "p_track01","We hope that you enjoyed the Monster Race arena. Come back again soon~",bc_map,"0xFFFF00";
  438. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) {
  439. donpcevent "starting#"+.@i+"::OnDisable";
  440. setd "$@mr_1_luk"+.@i,0;
  441. setd "$@mr_1_tire"+.@i,0;
  442. }
  443. set .@c, 1;
  444. while (.@c <= 6) {
  445. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) {
  446. disablenpc "Tire"+.@c+"#"+.@i;
  447. disablenpc "Luk"+.@c+"#"+.@i;
  448. }
  449. set .@c, .@c + 1;
  450. }
  451. end;
  452. OnTimer300000:
  453. donpcevent "#race_timer1-1::OnEnable";
  454. set $@mon_time_1_1,2;
  455. set $@monster_race,0;
  456. mapwarp "p_track01","hugel",63,73;
  457. end;
  458. OnTimer306000:
  459. donpcevent "Race Progress Timer::OnEnable";
  460. end;
  461. OnTimer342000:
  462. disablenpc "Medal Distributor#single";
  463. stopnpctimer;
  464. end;
  465. OnInit:
  466. disablenpc "Medal Distributor#single";
  467. end;
  468. }
  469. p_track01,76,36,1 script Exit Guide#single 798,{
  470. mes "[Exit Guide]";
  471. mes "If you have a winning Racing";
  472. mes "Ticket, please make sure that";
  473. mes "you redeem it for Prize Medals";
  474. mes "now. All Racing Tickets become";
  475. mes "void once the next race begins.";
  476. next;
  477. mes "[Exit Guide]";
  478. mes "If you wish to leave";
  479. mes "the arena, then I can guide";
  480. mes "you outside. Would you like";
  481. mes "to leave the arena right now?";
  482. next;
  483. if (select("Yes:No") == 2) {
  484. mes "[Exit Guide]";
  485. mes "Alright, then.";
  486. mes "Just let me know";
  487. mes "whenever you're";
  488. mes "ready to leave.";
  489. close;
  490. }
  491. if (!countitem(7514)) {
  492. mes "[Exit Guide]";
  493. mes "Thank you for";
  494. mes "your patronage, and";
  495. mes "I hope that you come";
  496. mes "visit us again soon~";
  497. } else {
  498. mes "[Exit Guide]";
  499. mes "In accordance with our";
  500. mes "policies, I must take your";
  501. mes "Racing Ticket before you leave.";
  502. mes "Thank you for your patronage,";
  503. mes "and I hope you enjoy your time";
  504. mes "here in the Monster Race Arena.";
  505. delitem 7514,1; //Monster_Ticket
  506. }
  507. set monster_race_1,0;
  508. close2;
  509. warp "hugel",63,73;
  510. end;
  511. }
  512. hugel,58,72,6 script Eckar Ellebird#single 798,{
  513. mes "[Eckar Ellebird]";
  514. mes "Welcome to the biggest";
  515. mes "attraction in Hugel, the";
  516. mes "Monster Race Arena.";
  517. mes "How may I help you today?";
  518. next;
  519. if (select("Monster Race Info:Enter Monster Race") == 1) {
  520. mes "[Eckar Ellebird]";
  521. mes "Monster Races originated from";
  522. mes "simple children's games in which";
  523. mes "Cute Pets would race against each other. This grew into an adult";
  524. mes "pastime that is so popular, we've built a racing arena in Hugel.";
  525. next;
  526. mes "[Eckar Ellebird]";
  527. mes "Our Monster Race Arena hosts";
  528. mes "two types of monster races. First, we have the Single Monster Race,";
  529. mes "in which those that wagered on the 1st place monster are rewarded.";
  530. next;
  531. mes "[Eckar Ellebird]";
  532. mes "Then, we have the Dual Monster";
  533. mes "Race in which the house odds and rewards are greater than in Single";
  534. mes "Monster Races: you must wager on 2 monsters, and they must place in";
  535. mes "1st and 2nd for you to win.";
  536. next;
  537. mes "[Eckar Ellebird]";
  538. mes "Although a small entrance";
  539. mes "fee is required, we only use";
  540. mes "the money to give rewards to";
  541. mes "participants and maintain this";
  542. mes "arena. Therefore, we're not";
  543. mes "profiting from this enterprise.";
  544. next;
  545. mes "[Eckar Ellebird]";
  546. mes "Also, we prohibit others";
  547. mes "from making personal bets";
  548. mes "and wagers, using items and";
  549. mes "zeny, based on the outcomes";
  550. mes "of these races. That kind of";
  551. mes "gambling is illegal here...";
  552. next;
  553. mes "[Eckar Ellebird]";
  554. mes "Once you enter the Race Arena, you will receive a Racing Ticket.";
  555. mes "Keep in mind that winning Racing Tickets can only be exchanged for";
  556. mes "Prize Medals during a 5 minute window after the end of the race.";
  557. next;
  558. }
  559. mes "[Eckar Ellebird]";
  560. mes "The entrance fee for all races";
  561. mes "in the Monster Race Arena is";
  562. mes "2,000 zeny. If you'd like to wager on a Dual Monster Race, then";
  563. mes "please ask my brother Erenes,";
  564. mes "and he will help you.";
  565. next;
  566. mes "[Eckar Ellebird]";
  567. mes "Otherwise, I'll help get you";
  568. mes "started if you're interested";
  569. mes "in a Single Monster Race.";
  570. mes "Would you like wager on";
  571. mes "a Single Monster Race?";
  572. next;
  573. if (select("Yes, please.:No, thanks.") == 2) {
  574. mes "[Eckar Ellebird]";
  575. mes "Very well. I hope that";
  576. mes "you enjoy your time here";
  577. mes "in the Monster Race Arena~";
  578. close;
  579. }
  580. if (!checkweight(908,700)) {
  581. mes "[Eckar Ellebird]";
  582. mes "Oh, wow. You're carrying";
  583. mes "an awful lot of stuff... Yeah,";
  584. mes "you better put some of it away";
  585. mes "in Kafra Storage or something.";
  586. close;
  587. }
  588. if (Zeny < 2000) {
  589. mes "[Eckar Ellebird]";
  590. mes "I'm sorry, but you";
  591. mes "don't have enough";
  592. mes "money to pay the";
  593. mes "2,000 zeny entrance fee. ";
  594. close;
  595. }
  596. if (countitem(7514)) {
  597. mes "[Eckar Ellebird]";
  598. mes "Hm? What are you doing";
  599. mes "with an expired Racing Ticket?";
  600. mes "Well, I better get rid of it for you before it can get mixed up";
  601. mes "with your new Racing Ticket.";
  602. delitem 7514,1; //Monster_Ticket
  603. next;
  604. if ($@mon_time_1_1 == 1) {
  605. mes "[Eckar Ellebird]";
  606. mes "Alright, I think you";
  607. mes "should be all set. I hope";
  608. mes "that you enjoy the race~";
  609. mes "Let me guide you inside";
  610. mes "the Monster Race Arena now.";
  611. set zeny,zeny-2000;
  612. set monster_race_1,0;
  613. close2;
  614. warp "p_track01",75,41;
  615. end;
  616. } else if ($@mon_time_1_1 == 2) {
  617. mes "[Eckar Ellebird]";
  618. mes "We're still finishing our";
  619. mes "preparations for the next";
  620. mes "Single Monster Race, so";
  621. mes "we ask that you please";
  622. mes "wait a little while longer.";
  623. close;
  624. }
  625. } else {
  626. if ($@mon_time_1_1 == 1) {
  627. mes "[Eckar Ellebird]";
  628. mes "Thanks, I hope that";
  629. mes "you enjoy this race.";
  630. mes "Let me guide you now";
  631. mes "to the Monster Race Arena.";
  632. set zeny,zeny-2000;
  633. set monster_race_1,0;
  634. close2;
  635. warp "p_track01",75,41;
  636. end;
  637. } else if ($@mon_time_1_1 == 2) {
  638. mes "[Eckar Ellebird]";
  639. mes "We're still finishing our";
  640. mes "preparations for the next";
  641. mes "Single Monster Race, so";
  642. mes "we ask that you please";
  643. mes "wait a little while longer...";
  644. close;
  645. }
  646. }
  647. if (!.@monster_race) {
  648. mes "[Eckar Ellebird]";
  649. mes "Right now, a Monster Race";
  650. mes "is in progress. It's too late to place a wager, but if you'd like";
  651. mes "to watch, the fee is 500 zeny";
  652. mes "for spectators. Would you like to enter the Monster Race Arena?";
  653. next;
  654. if (select("Enter:Cancel") == 2) {
  655. mes "[Eckar Ellebird]";
  656. mes "Alright, then. If you'd like";
  657. mes "to wager on a monster";
  658. mes "race, please wait for the";
  659. mes "current race to finish. I hope";
  660. mes "that you enjoy your time here";
  661. mes "in the Monster Race Arena~";
  662. close;
  663. }
  664. if (Zeny > 499) {
  665. mes "[Eckar Ellebird]";
  666. mes "Thank you~";
  667. mes "I hope you enjoy";
  668. mes "watching this race!";
  669. set zeny,zeny-500;
  670. set monster_race_1,0;
  671. close2;
  672. warp "p_track01",75,41;
  673. end;
  674. }
  675. mes "[Eckar Ellebird]";
  676. mes "I'm sorry, but you don't";
  677. mes "have enough money to pay";
  678. mes "the 500 zeny spectator fee.";
  679. close;
  680. }
  681. mes "[Eckar Ellebird]";
  682. mes "I'm sorry, but a monster";
  683. mes "race has just ended, so we're";
  684. mes "having the 5 minute period in";
  685. mes "which the winners can claim";
  686. mes "their Prize Medals. The gate";
  687. mes "will open soon, so please wait.";
  688. close;
  689. }
  690. p_track01,39,49,3 script Game Guide#single 845,{
  691. mes "[Game Guide]";
  692. mes "Welcome to the";
  693. mes "Monster Race Arena.";
  694. mes "How can I help you?";
  695. next;
  696. switch(select("Monster Race Info:Wager Info:Ticket Redemption Info")) {
  697. case 1:
  698. mes "[Game Guide]";
  699. mes "Monster Races originated from";
  700. mes "simple children's games in which";
  701. mes "Cute Pets would race against each other. This grew into an adult";
  702. mes "pastime that is so popular, we've built a racing arena in Hugel.";
  703. next;
  704. mes "[Game Guide]";
  705. mes "Our Monster Race Arena hosts";
  706. mes "two types of monster races. First, we have the Single Monster Race,";
  707. mes "in which those that wagered on the 1st place monster are rewarded.";
  708. next;
  709. mes "[Game Guide]";
  710. mes "Then, we have the Dual Monster";
  711. mes "Race in which the house odds and rewards are greater than in Single";
  712. mes "Monster Races: you must wager on 2 monsters, and they must place in";
  713. mes "1st and 2nd for you to win.";
  714. next;
  715. mes "[Game Guide]";
  716. mes "Although a small entrance";
  717. mes "fee is required, we only use";
  718. mes "the money to give rewards to";
  719. mes "participants and maintain this";
  720. mes "arena. Therefore, we're not";
  721. mes "profiting from this enterprise.";
  722. next;
  723. mes "[Game Guide]";
  724. mes "Also, we prohibit others";
  725. mes "from making personal bets";
  726. mes "and wagers, using items and";
  727. mes "zeny, based on the outcomes";
  728. mes "of these races. That kind of";
  729. mes "gambling is illegal here...";
  730. next;
  731. mes "[Game Guide]";
  732. mes "Once you enter the Race Arena, you will receive a Racing Ticket.";
  733. mes "Keep in mind that winning Racing Tickets can only be exchanged for";
  734. mes "Prize Medals during a 5 minute window after the end of the race.";
  735. next;
  736. break;
  737. case 2:
  738. mes "[Game Guide]";
  739. mes "Before placing a wager, you";
  740. mes "must get a free Racing Ticket";
  741. mes "from the Ticket Helper. There,";
  742. mes "I've marked the Ticket Helper";
  743. mes "on your Mini-Map, so you can";
  744. mes "find him pretty easily.";
  745. viewpoint 1,73,22,1,0xFF3355;
  746. next;
  747. break;
  748. case 3:
  749. mes "[Game Guide]";
  750. mes "If you wagered on the winner";
  751. mes "of a Single Monster Race, or";
  752. mes "on the 1st or 2nd place winners";
  753. mes "in a Dual Monster Race, then";
  754. mes "you can exchange your Racing";
  755. mes "Ticket for Prize Medals.";
  756. next;
  757. mes "[Game Guide]";
  758. mes "However, you must exchange";
  759. mes "your Racing Ticket with the";
  760. mes "Medal Distributor within the";
  761. mes "5 minute window after the end";
  762. mes "of the race. ^FF0000Your ticket becomes^FFFFFF ^FF0000 void after these 5 minutes.^000000";
  763. next;
  764. mes "[Game Guide]";
  765. mes "When this 5 minute window";
  766. mes "elapses, you will be teleported outside, and we will immediately";
  767. mes "begin preparing for the next race. Make sure that you remember this";
  768. mes "information when you wager.";
  769. next;
  770. mes "[Game Guide]";
  771. mes "If you haven't received";
  772. mes "your free Racing Ticket,";
  773. mes "then please visit the Ticket";
  774. mes "Helper. There, I've just marked";
  775. mes "his location on your Mini-Map.";
  776. viewpoint 1,67,45,2,0xCE6300;
  777. next;
  778. break;
  779. }
  780. mes "[Game Guide]";
  781. mes "Thank you, and";
  782. mes "I hope you enjoy";
  783. mes "your time here in the";
  784. mes "Monster Racing Arena.";
  785. close;
  786. }
  787. - script starting_1 -1,{
  788. OnDisable:
  789. for(set .@i,1; .@i<7; set .@i,.@i+1)
  790. enablenpc "Luk1#"+.@i;
  791. for(set .@i,1; .@i<7; set .@i,.@i+1)
  792. enablenpc "Tire1#"+.@i;
  793. setd "$@mr_1_luk"+strnpcinfo(2),0;
  794. setd "$@mr_1_tire"+strnpcinfo(2),0;
  795. end;
  796. OnTouchNPC:
  797. set .@start,rand(1,100);
  798. if (.@start < 11) set .@speed,60;
  799. else if (.@start < 21) set .@speed,70;
  800. else if (.@start < 31) set .@speed,80;
  801. else if (.@start < 41) set .@speed,90;
  802. else if (.@start < 51) set .@speed,100;
  803. else if (.@start < 61) set .@speed,110;
  804. else if (.@start < 71) set .@speed,120;
  805. else if (.@start < 81) set .@speed,130;
  806. else if (.@start < 91) set .@speed,140;
  807. else set .@speed,150;
  808. sc_start SC_WALKSPEED,5000,.@speed;
  809. end;
  810. OnInit:
  811. disablenpc strnpcinfo(0);
  812. end;
  813. }
  814. - script Luk_1 -1,{
  815. OnTouchNPC:
  816. set .@start,rand(1,100);
  817. if (.@start < 61) set .@speed,110;
  818. else if (.@start < 71) set .@speed,120;
  819. else if (.@start < 81) set .@speed,130;
  820. else if (.@start < 91) set .@speed,140;
  821. else set .@speed,150;
  822. sc_start SC_WALKSPEED,10000,.@speed;
  823. end;
  824. OnInit:
  825. disablenpc strnpcinfo(0);
  826. end;
  827. }
  828. - script Luk_2 -1,{
  829. OnTouchNPC:
  830. set .@start,rand(1,100);
  831. if (.@start < 61) set .@time,1000;
  832. else if (.@start < 71) set .@time,2000;
  833. else if (.@start < 81) set .@time,3000;
  834. else if (.@start < 91) set .@time,4000;
  835. if (.@time) sc_start SC_STUN,.@time,0;
  836. end;
  837. OnInit:
  838. disablenpc strnpcinfo(0);
  839. end;
  840. }
  841. - script Tire_1 -1,{
  842. OnTouchNPC:
  843. set .@start,rand(1,100);
  844. if (.@start < 61) set .@time,1000;
  845. else if (.@start < 71) set .@time,2000;
  846. else if (.@start < 81) set .@time,3000;
  847. else if (.@start < 91) set .@time,4000;
  848. if (.@time) sc_start SC_SLEEP,.@time,0;
  849. end;
  850. OnInit:
  851. disablenpc strnpcinfo(0);
  852. end;
  853. }
  854. p_track01,56,38,0 duplicate(starting_1) starting#1 -1,0,0
  855. p_track01,56,36,0 duplicate(starting_1) starting#2 -1,0,0
  856. p_track01,56,34,0 duplicate(starting_1) starting#3 -1,0,0
  857. p_track01,56,32,0 duplicate(starting_1) starting#4 -1,0,0
  858. p_track01,56,30,0 duplicate(starting_1) starting#5 -1,0,0
  859. p_track01,56,28,0 duplicate(starting_1) starting#6 -1,0,0
  860. p_track01,33,38,0 duplicate(Luk_1) Luk1#1 -1,0,0
  861. p_track01,37,38,0 duplicate(Luk_1) Luk1#2 -1,0,0
  862. p_track01,53,38,0 duplicate(Luk_1) Luk1#3 -1,0,0
  863. p_track01,45,38,0 duplicate(Luk_1) Luk1#4 -1,0,0
  864. p_track01,33,36,0 duplicate(Luk_1) Luk2#1 -1,0,0
  865. p_track01,37,36,0 duplicate(Luk_1) Luk2#2 -1,0,0
  866. p_track01,53,36,0 duplicate(Luk_1) Luk2#3 -1,0,0
  867. p_track01,45,36,0 duplicate(Luk_1) Luk2#4 -1,0,0
  868. p_track01,33,34,0 duplicate(Luk_1) Luk3#1 -1,0,0
  869. p_track01,37,34,0 duplicate(Luk_1) Luk3#2 -1,0,0
  870. p_track01,53,34,0 duplicate(Luk_1) Luk3#3 -1,0,0
  871. p_track01,45,34,0 duplicate(Luk_1) Luk3#4 -1,0,0
  872. p_track01,33,32,0 duplicate(Luk_1) Luk4#1 -1,0,0
  873. p_track01,37,32,0 duplicate(Luk_1) Luk4#2 -1,0,0
  874. p_track01,53,32,0 duplicate(Luk_1) Luk4#3 -1,0,0
  875. p_track01,45,32,0 duplicate(Luk_1) Luk4#4 -1,0,0
  876. p_track01,33,30,0 duplicate(Luk_1) Luk5#1 -1,0,0
  877. p_track01,37,30,0 duplicate(Luk_1) Luk5#2 -1,0,0
  878. p_track01,53,30,0 duplicate(Luk_1) Luk5#3 -1,0,0
  879. p_track01,45,30,0 duplicate(Luk_1) Luk5#4 -1,0,0
  880. p_track01,33,28,0 duplicate(Luk_1) Luk6#1 -1,0,0
  881. p_track01,37,28,0 duplicate(Luk_1) Luk6#2 -1,0,0
  882. p_track01,53,28,0 duplicate(Luk_1) Luk6#3 -1,0,0
  883. p_track01,45,28,0 duplicate(Luk_1) Luk6#4 -1,0,0
  884. p_track01,49,38,0 duplicate(Luk_2) Luk1#5 -1,0,0
  885. p_track01,41,38,0 duplicate(Luk_2) Luk1#6 -1,0,0
  886. p_track01,49,36,0 duplicate(Luk_2) Luk2#5 -1,0,0
  887. p_track01,41,36,0 duplicate(Luk_2) Luk2#6 -1,0,0
  888. p_track01,49,34,0 duplicate(Luk_2) Luk3#5 -1,0,0
  889. p_track01,41,34,0 duplicate(Luk_2) Luk3#6 -1,0,0
  890. p_track01,49,32,0 duplicate(Luk_2) Luk4#5 -1,0,0
  891. p_track01,41,32,0 duplicate(Luk_2) Luk4#6 -1,0,0
  892. p_track01,49,30,0 duplicate(Luk_2) Luk5#5 -1,0,0
  893. p_track01,41,30,0 duplicate(Luk_2) Luk5#6 -1,0,0
  894. p_track01,49,28,0 duplicate(Luk_2) Luk6#5 -1,0,0
  895. p_track01,41,28,0 duplicate(Luk_2) Luk6#6 -1,0,0
  896. p_track01,43,38,0 duplicate(Tire_1) Tire1#1 -1,0,0
  897. p_track01,39,38,0 duplicate(Tire_1) Tire1#2 -1,0,0
  898. p_track01,35,38,0 duplicate(Tire_1) Tire1#3 -1,0,0
  899. p_track01,55,38,0 duplicate(Tire_1) Tire1#4 -1,0,0
  900. p_track01,51,38,0 duplicate(Tire_1) Tire1#5 -1,0,0
  901. p_track01,47,38,0 duplicate(Tire_1) Tire1#6 -1,0,0
  902. p_track01,43,36,0 duplicate(Tire_1) Tire2#1 -1,0,0
  903. p_track01,39,36,0 duplicate(Tire_1) Tire2#2 -1,0,0
  904. p_track01,35,36,0 duplicate(Tire_1) Tire2#3 -1,0,0
  905. p_track01,55,36,0 duplicate(Tire_1) Tire2#4 -1,0,0
  906. p_track01,51,36,0 duplicate(Tire_1) Tire2#5 -1,0,0
  907. p_track01,47,36,0 duplicate(Tire_1) Tire2#6 -1,0,0
  908. p_track01,43,34,0 duplicate(Tire_1) Tire3#1 -1,0,0
  909. p_track01,39,34,0 duplicate(Tire_1) Tire3#2 -1,0,0
  910. p_track01,35,34,0 duplicate(Tire_1) Tire3#3 -1,0,0
  911. p_track01,55,34,0 duplicate(Tire_1) Tire3#4 -1,0,0
  912. p_track01,51,34,0 duplicate(Tire_1) Tire3#5 -1,0,0
  913. p_track01,47,34,0 duplicate(Tire_1) Tire3#6 -1,0,0
  914. p_track01,43,32,0 duplicate(Tire_1) Tire4#1 -1,0,0
  915. p_track01,39,32,0 duplicate(Tire_1) Tire4#2 -1,0,0
  916. p_track01,35,32,0 duplicate(Tire_1) Tire4#3 -1,0,0
  917. p_track01,55,32,0 duplicate(Tire_1) Tire4#4 -1,0,0
  918. p_track01,51,32,0 duplicate(Tire_1) Tire4#5 -1,0,0
  919. p_track01,47,32,0 duplicate(Tire_1) Tire4#6 -1,0,0
  920. p_track01,43,30,0 duplicate(Tire_1) Tire5#1 -1,0,0
  921. p_track01,39,30,0 duplicate(Tire_1) Tire5#2 -1,0,0
  922. p_track01,35,30,0 duplicate(Tire_1) Tire5#3 -1,0,0
  923. p_track01,55,30,0 duplicate(Tire_1) Tire5#4 -1,0,0
  924. p_track01,51,30,0 duplicate(Tire_1) Tire5#5 -1,0,0
  925. p_track01,47,30,0 duplicate(Tire_1) Tire5#6 -1,0,0
  926. p_track01,43,28,0 duplicate(Tire_1) Tire6#1 -1,0,0
  927. p_track01,39,28,0 duplicate(Tire_1) Tire6#2 -1,0,0
  928. p_track01,35,28,0 duplicate(Tire_1) Tire6#3 -1,0,0
  929. p_track01,55,28,0 duplicate(Tire_1) Tire6#4 -1,0,0
  930. p_track01,51,28,0 duplicate(Tire_1) Tire6#5 -1,0,0
  931. p_track01,47,28,0 duplicate(Tire_1) Tire6#6 -1,0,0
  932. // Monstrer Race - Dual Monster Race
  933. //============================================================
  934. hugel,47,56,0 script #race_timer2-1 -1,{
  935. OnEnable:
  936. enablenpc "#race_timer2-1";
  937. set $@mon_time_2_1,2;
  938. initnpctimer;
  939. end;
  940. OnDisable:
  941. disablenpc "#race_timer2-1";
  942. stopnpctimer;
  943. end;
  944. OnTimer10000:
  945. mapannounce "hugel","The Dual Monster Race will soon begin. We hope to see many of you participate!",bc_map,"0xffb6c1";
  946. end;
  947. OnTimer30000:
  948. mapannounce "hugel","The Dual Monster Race Arena has just opened.",bc_map,"0xffb6c1";
  949. set $@mon_time_2_1,1;
  950. donpcevent "#race_timer2-2::OnEnable";
  951. enablenpc "Ticket Helper#2";
  952. donpcevent "TrapGlobal#race02::OnEnable";
  953. end;
  954. OnTimer90000:
  955. mapannounce "hugel","The Dual Monster Race arena is now open. Participants should enter the Arena as soon as they can.",bc_map,"0xffb6c1";
  956. end;
  957. OnTimer210000:
  958. mapannounce "hugel","The entrance to the Dual Monster Race Arena will close shortly. Participants, please enter the arena now.",bc_map,"0xffb6c1";
  959. end;
  960. OnTimer270000:
  961. mapannounce "hugel","The Dual Monster Race Arena's entrance will soon close.",bc_map,"0xffb6c1";
  962. end;
  963. OnTimer272000:
  964. mapannounce "hugel","Participants, please enter the Arena before the doors close.",bc_map,"0xffb6c1";
  965. end;
  966. OnTimer330000:
  967. mapannounce "hugel","The race is now starting. If you missed your chance to enter this race, please try again next time~!",bc_map,"0xffb6c1";
  968. set $@mon_time_2_1,0;
  969. donpcevent "#race_timer2-1::OnDisable";
  970. stopnpctimer;
  971. end;
  972. OnInit:
  973. enablenpc "#race_timer2-1";
  974. set $@mon_time_2_1,2;
  975. initnpctimer;
  976. end;
  977. }
  978. p_track02,42,23,0 script #race_timer2-2 -1,{
  979. OnEnable:
  980. enablenpc "#race_timer2-2";
  981. set $@mon_time_2_2,0;
  982. initnpctimer;
  983. end;
  984. OnDisable:
  985. disablenpc "#race_timer2-2";
  986. stopnpctimer;
  987. end;
  988. OnTimer5000:
  989. mapannounce "p_track02","Welcome to the Monster Race Arena.",bc_map,"0x87ceeb";
  990. end;
  991. OnTimer7000:
  992. mapannounce "p_track02","Feel free to inquire at the help desk whenever you have questions.",bc_map,"0x87ceeb";
  993. end;
  994. OnTimer120000:
  995. mapannounce "p_track02","The Dual Monster Race will start in 3 minutes.",bc_map,"0x87ceeb";
  996. end;
  997. OnTimer122000:
  998. mapannounce "p_track02","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0x87ceeb";
  999. end;
  1000. OnTimer240000:
  1001. mapannounce "p_track02","The Dual Monster Race will start shortly.",bc_map,"0x87ceeb";
  1002. end;
  1003. OnTimer242000:
  1004. mapannounce "p_track02","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0x87ceeb";
  1005. end;
  1006. OnTimer300000:
  1007. mapannounce "p_track02","The Monster Race is starting now. Good luck, everybody!",bc_map,"0x87ceeb";
  1008. set $@mon_time_2_2,1;
  1009. set $@mon_race_2_1,0;
  1010. set $@mon_race_2_2,0;
  1011. disablenpc "Ticket Helper#2";
  1012. donpcevent "#poring1::OnEnable";
  1013. donpcevent "#lunatic1::OnEnable";
  1014. donpcevent "#savagebebe1::OnEnable";
  1015. donpcevent "#desertwolf1::OnEnable";
  1016. donpcevent "#deviruchi1::OnEnable";
  1017. donpcevent "#baphomet1::OnEnable";
  1018. stopnpctimer;
  1019. end;
  1020. OnInit:
  1021. disablenpc "#race_timer2-2";
  1022. set $@mon_time_2_2,0;
  1023. end;
  1024. }
  1025. p_track02,80,43,0 script #race_timer2-3 -1,{
  1026. OnInit:
  1027. disablenpc "#race_timer2-3";
  1028. end;
  1029. OnEnable:
  1030. enablenpc "#race_timer2-3";
  1031. initnpctimer;
  1032. end;
  1033. OnDisable:
  1034. disablenpc "#race_timer2-3";
  1035. stopnpctimer;
  1036. end;
  1037. OnTimer3000:
  1038. mapannounce "p_track02","The Monster Race is finished! Congratulations to all the winners!",bc_map,"0xFFFF00";
  1039. end;
  1040. OnTimer6000:
  1041. mapannounce "p_track02","Please give your Racing Ticket to the Medal Distributor if you bet on the winning monster.",bc_map,"0xFFFF00";
  1042. end;
  1043. OnTimer9000:
  1044. mapannounce "p_track02","You have 5 minutes to exchange a winning ticket for Prize Medals from the Medal Distributor.",bc_map,"0xFFFF00";
  1045. end;
  1046. OnTimer12000:
  1047. mapannounce "p_track02","All tickets become void after this 5 minute period, so winners should claim their prize now.",bc_map,"0xFFFF00";
  1048. end;
  1049. OnTimer15000:
  1050. mapannounce "p_track02","Please leave the Race Arena before this 5 minute period elapses. Thank you.",bc_map,"0xFFFF00";
  1051. end;
  1052. OnTimer240000:
  1053. mapannounce "p_track02","Attention. We will being preparing for the next race shortly...",bc_map,"0xFFFF00";
  1054. end;
  1055. OnTimer243000:
  1056. mapannounce "p_track02","We will close the Racing Arena in 1 minute to prepare for the next race.",bc_map,"0xFFFF00";
  1057. end;
  1058. OnTimer246000:
  1059. mapannounce "p_track02","Participants in the last race should leave the arena as soon as possible.",bc_map,"0xFFFF00";
  1060. end;
  1061. OnTimer249000:
  1062. mapannounce "p_track02","Thank you for your cooperation.",bc_map,"0xFFFF00";
  1063. end;
  1064. OnTimer252000:
  1065. mapannounce "p_track02","We hope that you enjoyed the Monster Race arena. Come back again soon~",bc_map,"0xFFFF00";
  1066. end;
  1067. OnTimer300000:
  1068. mapwarp "p_track02","hugel",63,73;
  1069. disablenpc "Medal Distributor#medal";
  1070. donpcevent "#race_timer2-1::OnEnable";
  1071. set $@mon_race_2_1,0;
  1072. set $@mon_race_2_2,0;
  1073. donpcevent "#race_timer2-3::OnDisable";
  1074. stopnpctimer;
  1075. end;
  1076. }
  1077. hugel,62,69,1 script Eckar Erenes#double 798,{
  1078. mes "[Eckar Erenes]";
  1079. mes "Welcome to the";
  1080. mes "Monster Race Arena,";
  1081. mes "the pride and joy of";
  1082. mes "the village of Hugel!";
  1083. mes "How may I help you?";
  1084. next;
  1085. if (select("Monster Race Info:Enter Monster Race") == 1) {
  1086. mes "[Eckar Erenes]";
  1087. mes "Monster Races originated from";
  1088. mes "simple children's games in which";
  1089. mes "Cute Pets would race against each other. This grew into an adult";
  1090. mes "pastime that is so popular, we've built a racing arena in Hugel.";
  1091. next;
  1092. mes "[Eckar Erenes]";
  1093. mes "Our Monster Race Arena hosts";
  1094. mes "two types of monster races. First, we have the Single Monster Race,";
  1095. mes "in which those that wagered on the 1st place monster are rewarded.";
  1096. next;
  1097. mes "[Eckar Erenes]";
  1098. mes "Then, we have the Dual Monster";
  1099. mes "Race in which the house odds and rewards are greater than in Single";
  1100. mes "Monster Races: you must wager on 2 monsters, and they must place in";
  1101. mes "1st and 2nd for you to win.";
  1102. next;
  1103. mes "[Eckar Erenes]";
  1104. mes "Although a small entrance";
  1105. mes "fee is required, we only use";
  1106. mes "the money to give rewards to";
  1107. mes "participants and maintain this";
  1108. mes "arena. Therefore, we're not";
  1109. mes "profiting from this enterprise.";
  1110. next;
  1111. mes "[Eckar Erenes]";
  1112. mes "Also, we prohibit others";
  1113. mes "from making personal bets";
  1114. mes "and wagers, using items and";
  1115. mes "zeny, based on the outcomes";
  1116. mes "of these races. That kind of";
  1117. mes "gambling is illegal here...";
  1118. next;
  1119. mes "[Eckar Erenes]";
  1120. mes "Once you enter the Race Arena, you will receive a Racing Ticket.";
  1121. mes "Keep in mind that winning Racing Tickets can only be exchanged for";
  1122. mes "Prize Medals during a 5 minute window after the end of the race.";
  1123. next;
  1124. }
  1125. mes "[Eckar Erenes]";
  1126. mes "The entrance fee for all races";
  1127. mes "in the Monster Race Arena is";
  1128. mes "2,000 zeny. If you'd like to wager on a Single Monster Race,";
  1129. mes "then please ask my brother";
  1130. mes "Ellebird to help you.";
  1131. next;
  1132. mes "[Eckar Erenes]";
  1133. mes "Otherwise, I'll help get you";
  1134. mes "started if you're interested";
  1135. mes "in a Dual Monster Race.";
  1136. mes "Would you like to wager";
  1137. mes "on a Dual Monster Race?";
  1138. next;
  1139. if (select("Yes, please.:No, thanks.") == 2) {
  1140. mes "[Eckar Erenes]";
  1141. mes "Very well. I hope that";
  1142. mes "you enjoy your time here";
  1143. mes "in the Monster Race Arena~";
  1144. close;
  1145. }
  1146. if (!checkweight(909,700)) {
  1147. mes "[Eckar Erenes]";
  1148. mes "Hmm... You're toting";
  1149. mes "too many things with you";
  1150. mes "right now. You better put";
  1151. mes "some of your stuff away in";
  1152. mes "Kafra Storage before you can";
  1153. mes "wager on any monster races...";
  1154. close;
  1155. }
  1156. if (Zeny < 2000) {
  1157. mes "[Eckar Erenes]";
  1158. mes "I'm sorry, but you";
  1159. mes "don't have enough";
  1160. mes "money to pay the";
  1161. mes "2,000 zeny entrance fee. ";
  1162. close;
  1163. }
  1164. if (countitem(7514)) {
  1165. mes "[Eckar Erenes]";
  1166. mes "Hm? What are you doing";
  1167. mes "with an expired Racing Ticket?";
  1168. mes "Well, I better get rid of it for you before it can get mixed up";
  1169. mes "with your new Racing Ticket.";
  1170. delitem 7514,1; //Monster_Ticket
  1171. next;
  1172. if ($@mon_time_2_1 == 1) {
  1173. mes "[Eckar Erenes]";
  1174. mes "Alright, I think you";
  1175. mes "should be all set. I hope";
  1176. mes "that you enjoy the race~";
  1177. mes "Let me guide you inside";
  1178. mes "the Monster Race Arena now.";
  1179. set zeny,zeny-2000;
  1180. set monster_race_2_1,0;
  1181. set monster_race_2_2,0;
  1182. close2;
  1183. warp "p_track02",75,41;
  1184. end;
  1185. }
  1186. else if ($@mon_time_2_1 == 2) {
  1187. mes "[Eckar Erenes]";
  1188. mes "We're still finishing our";
  1189. mes "preparations for the next";
  1190. mes "Double Monster Race, so";
  1191. mes "we ask that you please";
  1192. mes "wait a little while longer...";
  1193. close;
  1194. }
  1195. } else {
  1196. if ($@mon_time_2_1 == 1) {
  1197. mes "[Eckar Erenes]";
  1198. mes "Thanks, I hope that";
  1199. mes "you enjoy this race.";
  1200. mes "Let me guide you now";
  1201. mes "to the Monster Race Arena.";
  1202. set zeny,zeny-2000;
  1203. set monster_race_2_1,0;
  1204. set monster_race_2_2,0;
  1205. close2;
  1206. warp "p_track02",75,41;
  1207. end;
  1208. } else if ($@mon_time_2_1 == 2) {
  1209. mes "[Eckar Erenes]";
  1210. mes "We're still finishing our";
  1211. mes "preparations for the next";
  1212. mes "Double Monster Race, so";
  1213. mes "we ask that you please";
  1214. mes "wait a little while longer...";
  1215. close;
  1216. }
  1217. }
  1218. if (!$@mon_time_2_1 || !$@mon_time_2_2) {
  1219. mes "[Eckar Erenes]";
  1220. mes "Right now, a Monster Race";
  1221. mes "is in progress. It's too late to place a wager, but if you'd like";
  1222. mes "to watch, the fee is 500 zeny";
  1223. mes "for spectators. Would you like to enter the Monster Race Arena?";
  1224. next;
  1225. if (select("Enter:Cancel") == 2) {
  1226. mes "[Eckar Erenes]";
  1227. mes "Alright, then. If you'd like";
  1228. mes "to wager on a monster";
  1229. mes "race, please wait for the";
  1230. mes "current race to finish. I hope";
  1231. mes "that you enjoy your time here";
  1232. mes "in the Monster Race Arena~";
  1233. close;
  1234. }
  1235. if (Zeny > 499) {
  1236. mes "[Eckar Erenes]";
  1237. mes "Thank you~";
  1238. mes "I hope you enjoy";
  1239. mes "watching this race!";
  1240. set zeny,zeny-500;
  1241. set monster_race_2_1,0;
  1242. set monster_race_2_2,0;
  1243. close2;
  1244. warp "p_track02",75,41;
  1245. end;
  1246. }
  1247. mes "[Eckar Erenes]";
  1248. mes "I'm sorry, but you don't";
  1249. mes "have enough money to pay";
  1250. mes "the 500 zeny spectator fee.";
  1251. close;
  1252. }
  1253. mes "[Eckar Erenes]";
  1254. mes "I'm sorry, but a monster";
  1255. mes "race has just ended, so we're";
  1256. mes "having the 5 minute period in";
  1257. mes "which the winners can claim";
  1258. mes "their Prize Medals. The gate";
  1259. mes "will open soon, so please wait.";
  1260. close;
  1261. }
  1262. p_track02,73,22,1 script Ticket Helper#2 899,{
  1263. if (!checkweight(908,200)) {
  1264. mes "[Ticket Helper]";
  1265. mes "Welcome to the";
  1266. mes "Monster Race Arena.";
  1267. mes "If you'd like to participate";
  1268. mes "in the ^3131FFDouble Monster Race^000000,";
  1269. mes "then please select 1 out of";
  1270. mes "the 6 monsters from the list.";
  1271. next;
  1272. mes "[Ticket Helper]";
  1273. mes "Wait, wait...";
  1274. mes "I can't give you";
  1275. mes "anything right now.";
  1276. mes "You're carrying way";
  1277. mes "too many things...";
  1278. close;
  1279. }
  1280. if (!monster_race_2_1 && !monster_race_2_2) {
  1281. mes "[Ticket Helper]";
  1282. mes "Hello there!";
  1283. mes "Interested in wagering on";
  1284. mes "the Dual Monster Race?";
  1285. mes "I'm here to help you if you've";
  1286. mes "got any questions, or if you";
  1287. mes "want to place your wager.";
  1288. next;
  1289. switch(select("Check Monster Status:Wager on Race:Monster Race?:Cancel")) {
  1290. case 1:
  1291. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  1292. mes "Monster "+.@i+" [^CC6600Luck^000000: " + getd("$@mon_r02_Luk"+.@i) + "] [^EE0000HP^000000: " + getd("$@mon_r02_tire"+.@i) + "]";
  1293. close;
  1294. case 2:
  1295. mes "[Ticket Helper]";
  1296. mes "Alright, please choose which";
  1297. mes "two monsters that you think";
  1298. mes "will win 1st and 2nd place.";
  1299. mes "If both your monsters come";
  1300. mes "in 1st and 2nd, in any order,";
  1301. mes "you'll win the wager.";
  1302. next;
  1303. mes "[Ticket Helper]";
  1304. mes "Now, please tell me";
  1305. mes "your first choice for one";
  1306. mes "of the monsters that";
  1307. mes "will win this race.";
  1308. next;
  1309. while (1) {
  1310. set .@m$, "";
  1311. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  1312. set .@m$, .@m$ + ((.@i != .@m1)?"Monster "+.@i:"")+":";
  1313. set .@m, 0;
  1314. set .@m, select (.@m$);
  1315. switch (.@m) {
  1316. Case 1: setarray .@w$, "a friendly","Poring type monster"; break;
  1317. Case 2: setarray .@w$, "an adorable","Lunatic type monster"; break;
  1318. Case 3: setarray .@w$, "a darling","Savage Babe monster"; break;
  1319. Case 4: setarray .@w$, "a gentle baby","Desert Wolf monster"; break;
  1320. Case 5: setarray .@w$, "a small, yet","demonic, Deviruchi"; break;
  1321. Case 6: setarray .@w$, "a naughty","Baphomet Jr. monster"; break;
  1322. }
  1323. mes "[Ticket Helper]";
  1324. mes "You've chosen";
  1325. mes "^0000FFMonster "+.@m+"^000000, "+.@w$[0];
  1326. mes .@w$[1]+".";
  1327. mes "Are you sure you want";
  1328. mes "to choose this monster?";
  1329. if (select("Yes:No") == 2) {
  1330. mes "[Ticket Helper]";
  1331. mes "You have canceled";
  1332. mes "your wager. Okay,";
  1333. mes "I understand. Perhaps";
  1334. mes "you'd feel more comfortable";
  1335. mes "checking the monsters first?";
  1336. close;
  1337. }
  1338. next;
  1339. if (!.@m1) {
  1340. mes "[Ticket Helper]";
  1341. mes "Now, please make";
  1342. mes "your second choice";
  1343. mes "for the monster that";
  1344. mes "you think will place";
  1345. mes "1st or 2nd in this race.";
  1346. next;
  1347. set .@m1, .@m;
  1348. } else {
  1349. if (!$@mon_time_2_2) {
  1350. mes "[Ticket Helper]";
  1351. mes "You've wagered on";
  1352. mes "^0000FFMonster "+.@m1+"^000000 and ^0000FFMonster "+.@m+"^000000";
  1353. mes "to win this race. Good luck!";
  1354. mes "I really hope that the odds";
  1355. mes "work out in your favor~";
  1356. emotion e_kis;
  1357. set monster_race_2_1,.@m1;
  1358. set monster_race_2_2,.@m;
  1359. getitem 7514,1; //Monster_Ticket
  1360. close;
  1361. } else {
  1362. mes "[Ticket Helper]";
  1363. mes "I'm very sorry, but a";
  1364. mes "monster race is underway.";
  1365. mes "Please wait, and then place";
  1366. mes "your wager for the next race.";
  1367. close;
  1368. }
  1369. }
  1370. }
  1371. case 3:
  1372. mes "[Ticket Helper]";
  1373. mes "Monster Races originated from";
  1374. mes "simple children's games in which";
  1375. mes "Cute Pets would race against each other. This grew into an adult";
  1376. mes "pastime that is so popular, we've built a racing arena in Hugel.";
  1377. next;
  1378. mes "[Ticket Helper]";
  1379. mes "Our Monster Race Arena hosts";
  1380. mes "two types of monster races. First, we have the Single Monster Race,";
  1381. mes "in which those that wagered on the 1st place monster are rewarded.";
  1382. next;
  1383. mes "[Eclar Ellbird]";
  1384. mes "Then, we have the Dual Monster";
  1385. mes "Race in which those that wagered on the 1st and 2nd place monsters";
  1386. mes "are equally rewarded. The house";
  1387. mes "odds and wager rewards are greater in Dual Races than Single Races.";
  1388. next;
  1389. mes "[Ticket Helper]";
  1390. mes "Although a small entrance";
  1391. mes "fee is required, we only use";
  1392. mes "the money to give rewards to";
  1393. mes "participants and maintain this";
  1394. mes "arena. Therefore, we're not";
  1395. mes "profiting from this enterprise.";
  1396. next;
  1397. mes "[Ticket Helper]";
  1398. mes "Also, we prohibit others";
  1399. mes "from making personal bets";
  1400. mes "and wagers, using items and";
  1401. mes "zeny, based on the outcomes";
  1402. mes "of these races. That kind of";
  1403. mes "gambling is illegal here...";
  1404. next;
  1405. mes "[Ticket Helper]";
  1406. mes "Once you enter the Race Arena, you will receive a Racing Ticket.";
  1407. mes "Keep in mind that winning Racing Tickets can only be exchanged for";
  1408. mes "Prize Medals during a 5 minute window after the end of the race.";
  1409. next;
  1410. mes "[Ticket Helper]";
  1411. mes "You're already here";
  1412. mes "inside the Monster Race";
  1413. mes "Arena, so you may as well";
  1414. mes "try placing a wager. It's";
  1415. mes "more fun than you'd think~";
  1416. close;
  1417. case 4:
  1418. mes "[Ticket Helper]";
  1419. mes "You have canceled";
  1420. mes "your wager. Okay,";
  1421. mes "I understand. Perhaps";
  1422. mes "you'd feel more comfortable";
  1423. mes "checking the monsters first?";
  1424. close;
  1425. }
  1426. } else {
  1427. if (countitem(7514)) {
  1428. mes "[Ticket Helper]";
  1429. mes "You've wagered on";
  1430. mes "^0000FFMonster " + monster_race_2_1 + "^000000 and ^0000FFMonster " + monster_race_2_2 + "^000000";
  1431. mes "for this Dual Monster Race.";
  1432. next;
  1433. }
  1434. mes "[Ticket Helper]";
  1435. mes "The start of the race will be";
  1436. mes "announced through a broadcast.";
  1437. mes "You can refer to your Mini-Map";
  1438. mes "to track the monsters' race";
  1439. mes "positions. Thank you, and";
  1440. mes "have a good time!";
  1441. viewpoint 1,43,35,0,0xFF0000;
  1442. close;
  1443. }
  1444. OnInit:
  1445. disablenpc "Ticket Helper#2";
  1446. end;
  1447. }
  1448. p_track02,39,49,3 script Game Guide#double 845,{
  1449. mes "[Game Guide]";
  1450. mes "Welcome to the";
  1451. mes "Monster Race Arena.";
  1452. mes "How can I help you?";
  1453. next;
  1454. switch(select("Monster Race Info:Wager Info:Ticket Redemption Info")) {
  1455. case 1:
  1456. mes "[Game Guide]";
  1457. mes "Monster Races originated from";
  1458. mes "simple children's games in which";
  1459. mes "Cute Pets would race against each other. This grew into an adult";
  1460. mes "pastime that is so popular, we've built a racing arena in Hugel.";
  1461. next;
  1462. mes "[Game Guide]";
  1463. mes "Our Monster Race Arena hosts";
  1464. mes "two types of monster races. First, we have the Single Monster Race,";
  1465. mes "in which those that wagered on the 1st place monster are rewarded.";
  1466. next;
  1467. mes "[Game Guide]";
  1468. mes "Then, we have the Dual Monster";
  1469. mes "Race in which the house odds and rewards are greater than in Single";
  1470. mes "Monster Races: you must wager on 2 monsters, and they must place in";
  1471. mes "1st and 2nd for you to win.";
  1472. next;
  1473. mes "[Game Guide]";
  1474. mes "Although a small entrance";
  1475. mes "fee is required, we only use";
  1476. mes "the money to give rewards to";
  1477. mes "participants and maintain this";
  1478. mes "arena. Therefore, we're not";
  1479. mes "profiting from this enterprise.";
  1480. next;
  1481. mes "[Game Guide]";
  1482. mes "Also, we prohibit others";
  1483. mes "from making personal bets";
  1484. mes "and wagers, using items and";
  1485. mes "zeny, based on the outcomes";
  1486. mes "of these races. That kind of";
  1487. mes "gambling is illegal here...";
  1488. next;
  1489. mes "[Game Guide]";
  1490. mes "Once you enter the Race Arena, you will receive a Racing Ticket.";
  1491. mes "Keep in mind that winning Racing Tickets can only be exchanged for";
  1492. mes "Prize Medals during a 5 minute window after the end of the race.";
  1493. next;
  1494. break;
  1495. case 2:
  1496. mes "[Game Guide]";
  1497. mes "Before placing a wager, you";
  1498. mes "must get a free Racing Ticket";
  1499. mes "from the Ticket Helper. There,";
  1500. mes "I've marked the Ticket Helper";
  1501. mes "on your Mini-Map, so you can";
  1502. mes "find him pretty easily.";
  1503. viewpoint 1,73,22,1,0xFF3355;
  1504. next;
  1505. break;
  1506. case 3:
  1507. mes "[Game Guide]";
  1508. mes "If you wagered on the winner";
  1509. mes "of a Single Monster Race, or";
  1510. mes "on the 1st or 2nd place winners";
  1511. mes "in a Dual Monster Race, then";
  1512. mes "you can exchange your Racing";
  1513. mes "Ticket for Prize Medals.";
  1514. next;
  1515. mes "[Game Guide]";
  1516. mes "However, you must exchange";
  1517. mes "your Racing Ticket with the";
  1518. mes "Medal Distributor within the";
  1519. mes "5 minute window after the end";
  1520. mes "of the race. ^FF0000Your ticket becomes^FFFFFF ^FF0000 void after these 5 minutes.^000000";
  1521. next;
  1522. mes "[Game Guide]";
  1523. mes "When this 5 minute window";
  1524. mes "elapses, you will be teleported outside, and we will immediately";
  1525. mes "begin preparing for the next race. Make sure that you remember this";
  1526. mes "information when you wager.";
  1527. next;
  1528. mes "[Game Guide]";
  1529. mes "If you haven't received";
  1530. mes "your free Racing Ticket,";
  1531. mes "then please visit the Ticket";
  1532. mes "Helper. There, I've just marked";
  1533. mes "his location on your Mini-Map.";
  1534. viewpoint 1,67,45,2,0xCE6300;
  1535. next;
  1536. break;
  1537. }
  1538. mes "[Game Guide]";
  1539. mes "Thank you, and";
  1540. mes "I hope you enjoy";
  1541. mes "your time here in the";
  1542. mes "Monster Racing Arena.";
  1543. close;
  1544. }
  1545. p_track02,67,45,5 script Medal Distributor#medal 845,{
  1546. if (!checkweight(909,20)) {
  1547. mes "[Medal Distributor]";
  1548. mes "I'm sorry, but I can't";
  1549. mes "reward you with any medals";
  1550. mes "until you make more space";
  1551. mes "available in your Inventory.";
  1552. close;
  1553. }
  1554. mes "[Medal Distributor]";
  1555. mes "Hello there~";
  1556. mes "If you've wagered on the";
  1557. mes "winning monster in a recent";
  1558. mes "race, then you can exchange";
  1559. mes "your game ticket here for";
  1560. mes "some Prize Medals.";
  1561. next;
  1562. if (!countitem(7514)) {
  1563. mes "[Medal Distributor]";
  1564. mes "Please remember that you can";
  1565. mes "only exchange winning Game";
  1566. mes "Tickets for Prize Medals right";
  1567. mes "after the race finishes. Prize";
  1568. mes "Medals may be given to Wayne";
  1569. mes "in Hugel in exchange for items.";
  1570. close;
  1571. }
  1572. mes "[Medal Distributor]";
  1573. mes "Please remember that you can";
  1574. mes "only exchange winning Game";
  1575. mes "Tickets for Prize Medals right";
  1576. mes "after the race finishes. Prize";
  1577. mes "Medals may be given to Wayne";
  1578. mes "in Hugel in exchange for items.";
  1579. next;
  1580. if (monster_race_2_1 == $@mon_race_2_1 && monster_race_2_2 == $@mon_race_2_2) {
  1581. mes "[Medal Distributor]";
  1582. mes "Congratulations! It's really";
  1583. mes "difficult to guess the winners";
  1584. mes "of a Dual Monster Race, so you";
  1585. mes "must be really lucky! Would you";
  1586. mes "like to exchange your winning";
  1587. mes "Racing Ticket for Prize Medals?";
  1588. next;
  1589. if (select("Yes, please.:No, thanks.") == 1) {
  1590. mes "[Medal Distributor]";
  1591. mes "Okay, everything looks good,";
  1592. mes "so here's your Prize Medals~";
  1593. mes "If you want to trade these";
  1594. mes "medals for items, please";
  1595. mes "visit Wayne in Hugel. We hope";
  1596. mes "you enjoyed the Monster Race~";
  1597. delitem 7514,1; //Monster_Ticket
  1598. set monster_race_2_1,7;
  1599. set monster_race_2_2,7;
  1600. getitem 7515,15; //Marvelous_Medal
  1601. close;
  1602. }
  1603. mes "[Medal Distributor]";
  1604. mes "Um, are you sure? You ";
  1605. mes "can only exchange a winning";
  1606. mes "Racing Ticket for Prize Medals";
  1607. mes "for a short time after the race. If you made a mistake, you";
  1608. mes "should ask me again quickly.";
  1609. close;
  1610. } else if (!monster_race_2_1 && !monster_race_2_2) {
  1611. mes "[Medal Distributor]";
  1612. mes "Well, better luck next time...";
  1613. mes "Although you can't always";
  1614. mes "be lucky, it's always fun to";
  1615. mes "wager on the monster races!";
  1616. close;
  1617. } else if (monster_race_2_1 == 7 && monster_race_2_2 == 7) {
  1618. mes "[Medal Distributor]";
  1619. mes "Thanks for visiting the";
  1620. mes "Monster Race Arena, and";
  1621. mes "I hope you enjoy your time";
  1622. mes "here. I'll see you next time~";
  1623. close;
  1624. } else if (monster_race_2_1 != $@mon_race_2_1 || monster_race_2_2 != $@mon_race_2_2) {
  1625. mes "[Medal Distributor]";
  1626. mes "You may not have wagered";
  1627. mes "on the winning monster in";
  1628. mes "the last race, but I hope that";
  1629. mes "you get lucky next time~";
  1630. close;
  1631. }
  1632. OnInit:
  1633. disablenpc "Medal Distributor#medal";
  1634. end;
  1635. }
  1636. p_track02,76,38,1 script Exit Guide#double 798,{
  1637. mes "[Exit Guide]";
  1638. mes "If you have a winning Racing";
  1639. mes "Ticket, please make sure that";
  1640. mes "you redeem it for Prize Medals";
  1641. mes "now. All Racing Tickets become";
  1642. mes "void once the next race begins.";
  1643. next;
  1644. mes "[Exit Guide]";
  1645. mes "If you wish to leave";
  1646. mes "the arena, then I can guide";
  1647. mes "you outside. Would you like";
  1648. mes "to leave the arena right now?";
  1649. next;
  1650. if (select("Yes:No") == 2) {
  1651. mes "[Exit Guide]";
  1652. mes "Alright, then.";
  1653. mes "Just let me know";
  1654. mes "whenever you're";
  1655. mes "ready to leave.";
  1656. close;
  1657. }
  1658. if (!countitem(7514)) {
  1659. mes "[Exit Guide]";
  1660. mes "Thank you for";
  1661. mes "your patronage, and";
  1662. mes "I hope that you come";
  1663. mes "visit us again soon~";
  1664. } else {
  1665. mes "[Exit Guide]";
  1666. mes "In accordance with our";
  1667. mes "policies, I must take your";
  1668. mes "Racing Ticket before you leave.";
  1669. mes "Thank you for your patronage,";
  1670. mes "and I hope you enjoy your time";
  1671. mes "here in the Monster Race Arena.";
  1672. delitem 7514,1; //Monster_Ticket
  1673. }
  1674. set monster_race_2_1,0;
  1675. set monster_race_2_2,0;
  1676. close2;
  1677. warp "hugel",63,73;
  1678. end;
  1679. }
  1680. - script mob1#main -1,{
  1681. function MN;
  1682. OnEnable:
  1683. enablenpc strnpcinfo(0);
  1684. setarray .@n[1], 1725,1726,1727,1728,1730,1729;
  1685. getmapxy(.@m$,.@x,.@y,1);
  1686. set .@i, MN;
  1687. monster "p_track02",58,.@y,"Monster "+.@i,.@n[.@i],1,strnpcinfo(0)+"::OnMyMobDead";
  1688. end;
  1689. OnDisable:
  1690. killmonster "p_track02",strnpcinfo(0)+"::OnMyMobDead";
  1691. disablenpc strnpcinfo(0);
  1692. end;
  1693. OnTouchNPC:
  1694. set .@i, MN;
  1695. if (!$@mon_race_2_1) {
  1696. emotion e_lv;
  1697. specialeffect EF_MVP;
  1698. mapannounce "p_track02","Monster "+.@i+" has reached the Finish Line!",bc_map,"0x66FFCC";
  1699. set $@mon_race_2_1,1;
  1700. donpcevent strnpcinfo(0)+"::OnDisable";
  1701. } else {
  1702. emotion e_lv;
  1703. specialeffect EF_MVP;
  1704. mapannounce "p_track02","The race is over! Monster "+.@i+" has reached the Finish Line!",bc_map,"0x66FFCC";
  1705. set $@mon_race_2_2,1;
  1706. donpcevent "#poring1::OnDisable";
  1707. donpcevent "#lunatic1::OnDisable";
  1708. donpcevent "#savagebebe1::OnDisable";
  1709. donpcevent "#desertwolf1::OnDisable";
  1710. donpcevent "#deviruchi1::OnDisable";
  1711. donpcevent "#baphomet1::OnDisable";
  1712. donpcevent "TrapGlobal#race02::OnDisable";
  1713. enablenpc "Medal Distributor#medal";
  1714. donpcevent "#race_timer2-3::OnEnable";
  1715. }
  1716. end;
  1717. OnMyMobDead:
  1718. end;
  1719. function MN {
  1720. setarray .@n$[1], "poring","lunatic","savagebebe","desertwolf","deviruchi","baphomet";
  1721. for (set .@i, 1; .@i <= getarraysize(.@n$); set .@i, .@i + 1) {
  1722. if (compare(strnpcinfo(0),.@n$[.@i]))
  1723. break;
  1724. }
  1725. return .@i;
  1726. }
  1727. OnInit:
  1728. if (compare(strnpcinfo(0),"main")) end;
  1729. disablenpc strnpcinfo(0);
  1730. end;
  1731. }
  1732. p_track02,30,38,0 duplicate(mob1#main) #poring1 139,0,0
  1733. p_track02,30,36,0 duplicate(mob1#main) #lunatic1 139,0,0
  1734. p_track02,30,34,0 duplicate(mob1#main) #savagebebe1 139,0,0
  1735. p_track02,30,32,0 duplicate(mob1#main) #desertwolf1 139,0,0
  1736. p_track02,30,30,0 duplicate(mob1#main) #deviruchi1 139,0,0
  1737. p_track02,30,28,0 duplicate(mob1#main) #baphomet1 139,0,0
  1738. p_track02,19,48,0 script TrapGlobal#race02 -1,{
  1739. OnEnable:
  1740. enablenpc "TrapGlobal#race02";
  1741. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  1742. enablenpc "starting#race02_"+.@i;
  1743. set .@c, 1;
  1744. while (.@c <= 6) {
  1745. setd ".@line_"+.@c,rand(1,70);
  1746. if (getd(".@line_"+.@c) <= 10) {
  1747. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1748. enablenpc "Luk#race02_"+.@c+"_5";
  1749. enablenpc "Luk#race02_"+.@c+"_6";
  1750. setd ".@tired_"+.@c,rand(50,60);
  1751. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1752. enablenpc "Tire#race02_"+.@c+"_1";
  1753. } else if (getd(".@line_"+.@c) <= 30) {
  1754. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1755. enablenpc "Luk#race02_"+.@c+"_5";
  1756. setd ".@tired_"+.@c,rand(40,60);
  1757. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1758. enablenpc "Tire#race02_"+.@c+"_1";
  1759. if (getd(".@tired_"+.@c) < 50) enablenpc "Tire#race02_"+.@c+"_2";
  1760. } else if (getd(".@line_"+.@c) <= 40) {
  1761. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1762. enablenpc "Luk#race02_"+.@c+"_1";
  1763. setd ".@tired_"+.@c,rand(30,50);
  1764. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1765. enablenpc "Tire#race02_"+.@c+"_1";
  1766. enablenpc "Tire#race02_"+.@c+"_2";
  1767. if (getd(".@tired_"+.@c) < 40) enablenpc "Tire#race02_"+.@c+"_3";
  1768. } else if (getd(".@line_"+.@c) <= 50) {
  1769. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1770. enablenpc "Luk#race02_"+.@c+"_1";
  1771. enablenpc "Luk#race02_"+.@c+"_2";
  1772. setd ".@tired_"+.@c,rand(20,40);
  1773. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1774. for (set .@i, 1; .@i <= 3; set .@i, .@i + 1)
  1775. enablenpc "Tire#race02_"+.@c+"_"+.@i;
  1776. if (getd(".@tired_"+.@c) < 30) enablenpc "Tire#race02_"+.@c+"_4";
  1777. } else if (getd(".@line_"+.@c) <= 60) {
  1778. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1779. for (set .@i, 1; .@i <= 3; set .@i, .@i + 1)
  1780. enablenpc "Luk#race02_"+.@c+"_"+.@i;
  1781. setd ".@tired_"+.@c,rand(10,30);
  1782. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1783. for (set .@i, 1; .@i <= 4; set .@i, .@i + 1)
  1784. enablenpc "Tire#race02_"+.@c+"_"+.@i;
  1785. if (getd(".@tired_"+.@c) < 20) enablenpc "Tire#race02_"+.@c+"_5";
  1786. } else if (getd(".@line_"+.@c) <= 70) {
  1787. setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c);
  1788. for (set .@i, 1; .@i <= 4; set .@i, .@i + 1)
  1789. enablenpc "Luk#race02_"+.@c+"_"+.@i;
  1790. setd ".@tired_"+.@c,rand(0,20);
  1791. setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c);
  1792. for (set .@i, 1; .@i <= 5; set .@i, .@i + 1)
  1793. enablenpc "Tire#race02_"+.@c+"_"+.@i;
  1794. if (getd(".@tired_"+.@c) < 10) enablenpc "Tire#race02_"+.@c+"_6";
  1795. }
  1796. set .@c, .@c + 1;
  1797. }
  1798. end;
  1799. OnDisable:
  1800. disablenpc "TrapGlobal#race02";
  1801. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1)
  1802. donpcevent "starting#race02_"+.@i+"::OnDisable";
  1803. end;
  1804. OnInit:
  1805. for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) {
  1806. setd "$@mon_r02_luk"+.@i,0;
  1807. setd "$@mon_r02_tire"+.@i,0;
  1808. }
  1809. end;
  1810. }
  1811. - script starting_2 -1,{
  1812. OnDisable:
  1813. disablenpc strnpcinfo(0);
  1814. for(set .@i,1; .@i<7; set .@i,.@i+1)
  1815. disablenpc "Luk#"+strnpcinfo(2)+"_"+.@i;
  1816. for(set .@i,1; .@i<7; set .@i,.@i+1)
  1817. disablenpc "Tire#"+strnpcinfo(2)+"_"+.@i;
  1818. end;
  1819. OnTouchNPC:
  1820. set .@start,rand(1,100);
  1821. if (.@start < 11) set .@speed,60;
  1822. else if (.@start < 21) set .@speed,70;
  1823. else if (.@start < 31) set .@speed,80;
  1824. else if (.@start < 41) set .@speed,90;
  1825. else if (.@start < 51) set .@speed,100;
  1826. else if (.@start < 61) set .@speed,110;
  1827. else if (.@start < 71) set .@speed,120;
  1828. else if (.@start < 81) set .@speed,130;
  1829. else if (.@start < 91) set .@speed,140;
  1830. else set .@speed,150;
  1831. sc_start SC_WALKSPEED,5000,.@speed;
  1832. end;
  1833. OnInit:
  1834. disablenpc strnpcinfo(0);
  1835. end;
  1836. }
  1837. p_track02,56,38,0 duplicate(starting_2) starting#race02_1 -1,0,0
  1838. p_track02,56,36,0 duplicate(starting_2) starting#race02_2 -1,0,0
  1839. p_track02,56,34,0 duplicate(starting_2) starting#race02_3 -1,0,0
  1840. p_track02,56,32,0 duplicate(starting_2) starting#race02_4 -1,0,0
  1841. p_track02,56,30,0 duplicate(starting_2) starting#race02_5 -1,0,0
  1842. p_track02,56,28,0 duplicate(starting_2) starting#race02_6 -1,0,0
  1843. p_track02,33,38,0 duplicate(Luk_1) Luk#race02_1_1 -1,0,0
  1844. p_track02,37,38,0 duplicate(Luk_1) Luk#race02_1_2 -1,0,0
  1845. p_track02,53,38,0 duplicate(Luk_1) Luk#race02_1_3 -1,0,0
  1846. p_track02,45,38,0 duplicate(Luk_1) Luk#race02_1_4 -1,0,0
  1847. p_track02,33,36,0 duplicate(Luk_1) Luk#race02_2_1 -1,0,0
  1848. p_track02,37,36,0 duplicate(Luk_1) Luk#race02_2_2 -1,0,0
  1849. p_track02,53,36,0 duplicate(Luk_1) Luk#race02_2_3 -1,0,0
  1850. p_track02,45,36,0 duplicate(Luk_1) Luk#race02_2_4 -1,0,0
  1851. p_track02,33,34,0 duplicate(Luk_1) Luk#race02_3_1 -1,0,0
  1852. p_track02,37,34,0 duplicate(Luk_1) Luk#race02_3_2 -1,0,0
  1853. p_track02,53,34,0 duplicate(Luk_1) Luk#race02_3_3 -1,0,0
  1854. p_track02,45,34,0 duplicate(Luk_1) Luk#race02_3_4 -1,0,0
  1855. p_track02,33,32,0 duplicate(Luk_1) Luk#race02_4_1 -1,0,0
  1856. p_track02,37,32,0 duplicate(Luk_1) Luk#race02_4_2 -1,0,0
  1857. p_track02,53,32,0 duplicate(Luk_1) Luk#race02_4_3 -1,0,0
  1858. p_track02,45,32,0 duplicate(Luk_1) Luk#race02_4_4 -1,0,0
  1859. p_track02,33,30,0 duplicate(Luk_1) Luk#race02_5_1 -1,0,0
  1860. p_track02,37,30,0 duplicate(Luk_1) Luk#race02_5_2 -1,0,0
  1861. p_track02,53,30,0 duplicate(Luk_1) Luk#race02_5_3 -1,0,0
  1862. p_track02,45,30,0 duplicate(Luk_1) Luk#race02_5_4 -1,0,0
  1863. p_track02,33,28,0 duplicate(Luk_1) Luk#race02_6_1 -1,0,0
  1864. p_track02,37,28,0 duplicate(Luk_1) Luk#race02_6_2 -1,0,0
  1865. p_track02,53,28,0 duplicate(Luk_1) Luk#race02_6_3 -1,0,0
  1866. p_track02,45,28,0 duplicate(Luk_1) Luk#race02_6_4 -1,0,0
  1867. p_track02,49,38,0 duplicate(Luk_2) Luk#race02_1_5 -1,0,0
  1868. p_track02,41,38,0 duplicate(Luk_2) Luk#race02_1_6 -1,0,0
  1869. p_track02,49,36,0 duplicate(Luk_2) Luk#race02_2_5 -1,0,0
  1870. p_track02,41,36,0 duplicate(Luk_2) Luk#race02_2_6 -1,0,0
  1871. p_track02,49,34,0 duplicate(Luk_2) Luk#race02_3_5 -1,0,0
  1872. p_track02,41,34,0 duplicate(Luk_2) Luk#race02_3_6 -1,0,0
  1873. p_track02,49,32,0 duplicate(Luk_2) Luk#race02_4_5 -1,0,0
  1874. p_track02,41,32,0 duplicate(Luk_2) Luk#race02_4_6 -1,0,0
  1875. p_track02,49,30,0 duplicate(Luk_2) Luk#race02_5_5 -1,0,0
  1876. p_track02,41,30,0 duplicate(Luk_2) Luk#race02_5_6 -1,0,0
  1877. p_track02,49,28,0 duplicate(Luk_2) Luk#race02_6_5 -1,0,0
  1878. p_track02,41,28,0 duplicate(Luk_2) Luk#race02_6_6 -1,0,0
  1879. p_track02,43,38,0 duplicate(Tire_1) Tire#race02_1_1 -1,0,0
  1880. p_track02,39,38,0 duplicate(Tire_1) Tire#race02_1_2 -1,0,0
  1881. p_track02,35,38,0 duplicate(Tire_1) Tire#race02_1_3 -1,0,0
  1882. p_track02,55,38,0 duplicate(Tire_1) Tire#race02_1_4 -1,0,0
  1883. p_track02,51,38,0 duplicate(Tire_1) Tire#race02_1_5 -1,0,0
  1884. p_track02,47,38,0 duplicate(Tire_1) Tire#race02_1_6 -1,0,0
  1885. p_track02,43,36,0 duplicate(Tire_1) Tire#race02_2_1 -1,0,0
  1886. p_track02,39,36,0 duplicate(Tire_1) Tire#race02_2_2 -1,0,0
  1887. p_track02,35,36,0 duplicate(Tire_1) Tire#race02_2_3 -1,0,0
  1888. p_track02,55,36,0 duplicate(Tire_1) Tire#race02_2_4 -1,0,0
  1889. p_track02,51,36,0 duplicate(Tire_1) Tire#race02_2_5 -1,0,0
  1890. p_track02,47,36,0 duplicate(Tire_1) Tire#race02_2_6 -1,0,0
  1891. p_track02,43,34,0 duplicate(Tire_1) Tire#race02_3_1 -1,0,0
  1892. p_track02,39,34,0 duplicate(Tire_1) Tire#race02_3_2 -1,0,0
  1893. p_track02,35,34,0 duplicate(Tire_1) Tire#race02_3_3 -1,0,0
  1894. p_track02,55,34,0 duplicate(Tire_1) Tire#race02_3_4 -1,0,0
  1895. p_track02,51,34,0 duplicate(Tire_1) Tire#race02_3_5 -1,0,0
  1896. p_track02,47,34,0 duplicate(Tire_1) Tire#race02_3_6 -1,0,0
  1897. p_track02,43,32,0 duplicate(Tire_1) Tire#race02_4_1 -1,0,0
  1898. p_track02,39,32,0 duplicate(Tire_1) Tire#race02_4_2 -1,0,0
  1899. p_track02,35,32,0 duplicate(Tire_1) Tire#race02_4_3 -1,0,0
  1900. p_track02,55,32,0 duplicate(Tire_1) Tire#race02_4_4 -1,0,0
  1901. p_track02,51,32,0 duplicate(Tire_1) Tire#race02_4_5 -1,0,0
  1902. p_track02,47,32,0 duplicate(Tire_1) Tire#race02_4_6 -1,0,0
  1903. p_track02,43,30,0 duplicate(Tire_1) Tire#race02_5_1 -1,0,0
  1904. p_track02,39,30,0 duplicate(Tire_1) Tire#race02_5_2 -1,0,0
  1905. p_track02,35,30,0 duplicate(Tire_1) Tire#race02_5_3 -1,0,0
  1906. p_track02,55,30,0 duplicate(Tire_1) Tire#race02_5_4 -1,0,0
  1907. p_track02,51,30,0 duplicate(Tire_1) Tire#race02_5_5 -1,0,0
  1908. p_track02,47,30,0 duplicate(Tire_1) Tire#race02_5_6 -1,0,0
  1909. p_track02,43,28,0 duplicate(Tire_1) Tire#race02_6_1 -1,0,0
  1910. p_track02,39,28,0 duplicate(Tire_1) Tire#race02_6_2 -1,0,0
  1911. p_track02,35,28,0 duplicate(Tire_1) Tire#race02_6_3 -1,0,0
  1912. p_track02,55,28,0 duplicate(Tire_1) Tire#race02_6_4 -1,0,0
  1913. p_track02,51,28,0 duplicate(Tire_1) Tire#race02_6_5 -1,0,0
  1914. p_track02,47,28,0 duplicate(Tire_1) Tire#race02_6_6 -1,0,0
  1915. // NPCs for Redeeming Prize Medals (Einbroch and Hugel)
  1916. //============================================================
  1917. ein_in01,85,208,5 script Ei'felle#repay01 854,{
  1918. if (!ein_medal01) {
  1919. mes "[Ei'felle]";
  1920. mes "Curses! We need to deliver";
  1921. mes "what our customers ordered,";
  1922. mes "but we've been making nothing";
  1923. mes "but shipshod products! If we";
  1924. mes "only had that metal, we could";
  1925. mes "pump up our product quality!";
  1926. next;
  1927. select("What metal are you talking about?");
  1928. mes "[Ei'felle]";
  1929. mes "There's a small village";
  1930. mes "at the outskirts of the";
  1931. mes "Schwaltzvalt Republic that";
  1932. mes "gives these special medals";
  1933. mes "that are made of this metal";
  1934. mes "which we desperately need...";
  1935. next;
  1936. mes "[Ei'felle]";
  1937. mes "We've sent one of our best";
  1938. mes "guildsmen to get some of those";
  1939. mes "medals for us, but he hasn't";
  1940. mes "reported back to us quite yet.";
  1941. mes "I'm getting pretty anxious...";
  1942. next;
  1943. mes "[Ei'felle]";
  1944. mes "I mean, we need a whole";
  1945. mes "lot of that metal to fill out";
  1946. mes "our orders and finish our";
  1947. mes "manufacturing research,";
  1948. mes "but so far, none of us have";
  1949. mes "been able to get any medals...";
  1950. next;
  1951. if (countitem(7515)) {
  1952. mes "["+ strcharinfo(0) +"]";
  1953. mes "Oh! Are you talking";
  1954. mes "about the medals that";
  1955. mes "they give as rewards in";
  1956. mes "the Monster Race Arena?";
  1957. mes "I have some of those.";
  1958. next;
  1959. mes "[Ei'felle]";
  1960. mes "Huh? Show them to me...";
  1961. mes "Yes! That's exactly what";
  1962. mes "we need! Would you please";
  1963. mes "donate your medals so that we";
  1964. mes "can finally make some quality";
  1965. mes "products for our customers?";
  1966. next;
  1967. callsub S_Reward;
  1968. end;
  1969. }
  1970. mes "[Ei'felle]";
  1971. mes "If you happen to obtain any";
  1972. mes "medals from the Monster";
  1973. mes "Race Arena in Hugel, then";
  1974. mes "please bring some of them";
  1975. mes "to me. I'll be sure to repay";
  1976. mes "you for your kindness...";
  1977. close;
  1978. } else if (ein_medal01 < 500) {
  1979. mes "[Ei'felle]";
  1980. mes "Oh, how have you been?";
  1981. mes "Thank you so much for";
  1982. mes "donating so many medals,";
  1983. mes "they've been helpful in my";
  1984. mes "research. Still, I need more";
  1985. mes "and more of them everyday...";
  1986. next;
  1987. if (countitem(7515)) {
  1988. mes "[Ei'felle]";
  1989. mes "The other Blacksmith";
  1990. mes "Guildsmen are doing their";
  1991. mes "best to collect Prize Medals";
  1992. mes "in Hugel, but they keep failing";
  1993. mes "to win them! If you have any";
  1994. mes "medals, then may I have some?";
  1995. next;
  1996. callsub S_Reward;
  1997. end;
  1998. }
  1999. mes "[Ei'felle]";
  2000. mes "If you happen to obtain any";
  2001. mes "medals from the Monster";
  2002. mes "Race Arena in Hugel, then";
  2003. mes "please bring some of them";
  2004. mes "to me. I'll be sure to repay";
  2005. mes "you for your kindness...";
  2006. close;
  2007. }
  2008. if (!checkweight(1201,1)) {
  2009. mes "[Ei'felle]";
  2010. mes "Goodness, you're carrying";
  2011. mes "so many things with you!";
  2012. mes "You'd better put some of";
  2013. mes "it away in Kafra Storage";
  2014. mes "before you're overwhelmed";
  2015. mes "by the bulk of your items!";
  2016. close;
  2017. }
  2018. if (ein_medal01 > 499 && ein_medal01 < 1500) {
  2019. if (ein_medal01 < 1000) {
  2020. mes "[Ei'felle]";
  2021. mes "Ah, welcome back! I've finally";
  2022. mes "made a breakthrough in my";
  2023. mes "metal research! Look, I've";
  2024. mes "developed this Glittering";
  2025. mes "Jacket! It's lightweight and";
  2026. mes "very durable, you see?";
  2027. next;
  2028. mes "[Ei'felle]";
  2029. mes "I wouldn't be able to have";
  2030. mes "completed this without your";
  2031. mes "help. Now, would you like to";
  2032. mes "receive this Glittering Jacket";
  2033. mes "as my way of repaying you?";
  2034. next;
  2035. if (select("Accept:Wait for Further Development") == 1) {
  2036. callsub S_BonusReward,500,2319;
  2037. end;
  2038. }
  2039. mes "[Ei'felle]";
  2040. mes "Ah, I see. You'd rather wait";
  2041. mes "until we develop something";
  2042. mes "more to your liking. In that";
  2043. mes "case, would you please donate";
  2044. mes "more medals to my research?";
  2045. mes "We're always low on them...";
  2046. next;
  2047. } else if (ein_medal01 < 1500) {
  2048. mes "[Ei'felle]";
  2049. mes "Oh, you're back!";
  2050. mes "Thanks to all the medals";
  2051. mes "that you've donated, I'm now";
  2052. mes "able to manufacture a set";
  2053. mes "of slotted armor imbued";
  2054. mes "with a property of your choice.";
  2055. next;
  2056. mes "[Ei'felle]";
  2057. mes "If you'd like, I can repay you";
  2058. mes "now by creating a set of slotted elemental armor for you, or we";
  2059. mes "can wait for you to donate more";
  2060. mes "medals until I can develop";
  2061. mes "something else for you.";
  2062. next;
  2063. switch(select("Accept Armor:Can I have something else?:Wait for Further Development")) {
  2064. case 1:
  2065. mes "[Ei'felle]";
  2066. mes "I can manufacture one set of";
  2067. mes "slotted Armor imbued with the";
  2068. mes "Fire, Earth, Wind, or Water";
  2069. mes "property. Which property would";
  2070. mes "you like your armor to have?";
  2071. next;
  2072. switch(select("Fire Property:Earth Property:Wind Property:Water Property")) {
  2073. case 1: callsub S_BonusReward,1000,2345; end;
  2074. case 2: callsub S_BonusReward,1000,2351; end;
  2075. case 3: callsub S_BonusReward,1000,2349; end;
  2076. case 4: callsub S_BonusReward,1000,2347; end;
  2077. }
  2078. case 2:
  2079. mes "[Ei'felle]";
  2080. mes "Something else...?";
  2081. mes "Oh, you must mean";
  2082. mes "the Glittering Jacket that";
  2083. mes "I developed earlier. After";
  2084. mes "all, I have any other items";
  2085. mes "to offer you for now...";
  2086. next;
  2087. callsub S_BonusReward,500,2319;
  2088. end;
  2089. case 3:
  2090. mes "[Ei'felle]";
  2091. mes "Ah, I see. You'd rather wait";
  2092. mes "until we develop something";
  2093. mes "more to your liking. In that";
  2094. mes "case, would you please donate";
  2095. mes "more medals to my research?";
  2096. mes "We're always low on them...";
  2097. next;
  2098. break;
  2099. }
  2100. }
  2101. if (countitem(7515)) {
  2102. mes "[Ei'felle]";
  2103. mes "The other Blacksmith";
  2104. mes "Guildsmen are doing their";
  2105. mes "best to collect Prize Medals";
  2106. mes "in Hugel, but they keep failing";
  2107. mes "to win them! If you have any";
  2108. mes "medals, then may I have some?";
  2109. next;
  2110. callsub S_Reward;
  2111. end;
  2112. }
  2113. mes "[Ei'felle]";
  2114. mes "If you happen to obtain any";
  2115. mes "medals from the Monster";
  2116. mes "Race Arena in Hugel, then";
  2117. mes "please bring some of them";
  2118. mes "to me. I'll be sure to repay";
  2119. mes "you for your kindness...";
  2120. close;
  2121. } else if (ein_medal01 > 1499) {
  2122. mes "[Ei'felle]";
  2123. mes "Ah, you're back! I've";
  2124. mes "extracted all the metal";
  2125. mes "from the medals you've";
  2126. mes "given me, and I think I have";
  2127. mes "enough to create a Level 4";
  2128. mes "Weapon. Isn't that incredible?";
  2129. next;
  2130. mes "[Ei'felle]";
  2131. mes "If you like, I can create";
  2132. mes "one of these weapons for you";
  2133. mes "as my way of repaying you for";
  2134. mes "your help. What do you think?";
  2135. next;
  2136. if (select("Yes, I want a Level 4 Weapon.:Can I have something else?") == 2) {
  2137. mes "[Ei'felle]";
  2138. mes "Something else?";
  2139. mes "Oh, alright then, would";
  2140. mes "you like to have a Glittering";
  2141. mes "Jacket, or a set of slotted";
  2142. mes "elemental Armor? Please go";
  2143. mes "ahead and make your choice~";
  2144. next;
  2145. switch (select("Glittering Jacket:Fire Property Armor:Earth Property Armor:Wind Property Armor:Water Property Armor:Cancel")) {
  2146. case 1: callsub S_BonusReward,500,2319; end;
  2147. case 2: callsub S_BonusReward,1000,2345; end;
  2148. case 3: callsub S_BonusReward,1000,2351; end;
  2149. case 4: callsub S_BonusReward,1000,2349; end;
  2150. case 5: callsub S_BonusReward,1000,2347; end;
  2151. case 6: close;
  2152. }
  2153. }
  2154. setarray .@m$, "Dagger","One Handed Sword","Two Handed Sword","Axe","Mace","Bow","Staff","Book","Spear","Katar","Knuckle","Whip","Musical Instrument";
  2155. set .@m, select (implode(.@m$,":")) - 1;
  2156. mes "[Ei'felle]";
  2157. mes "So you'd like to have a";
  2158. mes .@m$[.@m]+"? Please choose";
  2159. mes "which Level 4 Weapon";
  2160. mes "that you want me to create.";
  2161. next;
  2162. switch (.@m) {
  2163. Case 0:
  2164. setarray .@mw$, "Ginnungagap:Grimtooth:Dragon Killer:Mail Breaker:Bazerald:Sword Breaker:Ice Pick:Sucsamad:Kitchen Knife:Azoth:Exorciser:Assassin Dagger:Moonlight Dagger:Weeder Knife:Cursed Dagger:Dagger of Counter:Combat Knife:Fortune Sword";
  2165. setarray .@mw, 13002,1237,13001,1225,1231,1224,1230,1236,1229,1235,1233,1232,1234,1227,1241,1242,1228,1223;
  2166. break;
  2167. Case 1:
  2168. setarray .@mw$, "Nagan:Immaterial Sword:Mysteltainn:Byeollungum:Star Dust Blade:Caesar's Sword:Ice Falchion:Excalibur:Edge:Cutlus:Solar Sword:Tirfing:Fireblend";
  2169. setarray .@mw, 1130,1141,1138,1140,1148,1134,1131,1137,1132,1135,1136,1139,1133;
  2170. break;
  2171. Case 2:
  2172. setarray .@mw$, "Dragon Slayer:Masamune:Muramasa:Schweizersabel:Executioner:Zweihander:Katzbalger";
  2173. setarray .@mw, 1166,1165,1164,1167,1169,1168,1170;
  2174. break;
  2175. Case 3:
  2176. setarray .@mw$, "Great Axe:Guillotine:Light Epsilon:Bloody Axe:Sabbath:Slaughter:Cleaver:Tomahawk";
  2177. setarray .@mw, 1364,1369,1366,1363,1365,1367,1305,1368;
  2178. break;
  2179. Case 4:
  2180. setarray .@mw$, "Golden Mace:Grand Cross:Long Mace:Spike:Slash:Quadrille";
  2181. setarray .@mw, 1524,1528,1525,1523,1526,1527;
  2182. break;
  2183. Case 5:
  2184. setarray .@mw$, "Roguemaster's Bow:Dragon Wing:Rudra's Bow:Ballista";
  2185. setarray .@mw, 1719,1724,1720,1722;
  2186. break;
  2187. Case 6:
  2188. setarray .@mw$, "Wing Staff:Wizardry Staff";
  2189. setarray .@mw, 1616,1473;
  2190. Case 7:
  2191. setarray .@mw$, "Legacy of Dragon:Book of the Apocalypse:Girl's Diary:Hardcover Book";
  2192. setarray .@mw, 1559,1557,1558,1561;
  2193. break;
  2194. Case 8:
  2195. setarray .@mw$, "Gae Bolg:Gelerdria:Gungnir:Skewer:Longinus's Spear:Brionac:Bill Guisarme:Zephyrus:Crescent Scythe:Tjungkuletti:Hellfire";
  2196. setarray .@mw, 1474,1414,1413,1415,1469,1470,1467,1468,1466,1416,1471;
  2197. break;
  2198. Case 9:
  2199. setarray .@mw$, "Infiltrator:Bloody Roar:Unholy Touch";
  2200. setarray .@mw, 1261,1265,1263;
  2201. break;
  2202. Case 10:
  2203. setarray .@mw$, "Hatii Claw:Berserk:Kaiser Knuckle";
  2204. setarray .@mw, 1815,1814,1813;
  2205. break;
  2206. Case 11:
  2207. setarray .@mw$, "Lariat:Rapture Rose:Blade Whip:Chemeti:Queen's Whip";
  2208. setarray .@mw, 1962,1963,1969,1964,1970;
  2209. break;
  2210. Case 12:
  2211. setarray .@mw$, "Oriental Lute:Electric Guitar";
  2212. setarray .@mw, 1918,1913;
  2213. break;
  2214. }
  2215. set .@j, select (.@mw$+":Cancel") - 1;
  2216. explode(.@mw$,.@mw$,":");
  2217. if (.@j == getarraysize(.@mw$)) close;
  2218. callsub S_BonusReward,1500,.@mw[.@j];
  2219. end;
  2220. }
  2221. S_Reward:
  2222. if (select("Sure:No") == 2) {
  2223. mes "[Ei'felle]";
  2224. mes "Oh, alright...";
  2225. mes "Still, I really need";
  2226. mes "those medals, so if you";
  2227. mes "change your mind, please";
  2228. mes "come back as soon as you can.";
  2229. emotion e_sob;
  2230. close;
  2231. }
  2232. mes "[Ei'felle]";
  2233. mes "Oh, thank you so much!";
  2234. mes "I can use the metal in those";
  2235. mes "medals to produce some high";
  2236. mes "quality products. Now, how";
  2237. mes "shall I repay you for giving me";
  2238. mes "some of your Prize Medals?";
  2239. next;
  2240. switch(select("Base Experience:Job Experience:No, I'm just glad to help.:How's your research progressing?")) {
  2241. case 1:
  2242. mes "[Ei'felle]";
  2243. mes "You just want to improve";
  2244. mes "yourself, huh? Well, I dunno";
  2245. mes "if you want to get stronger,";
  2246. mes "smarter, or faster, but I can";
  2247. mes "coach you on some visualization if you like. Now, relax with me~";
  2248. mes "physical development.";
  2249. next;
  2250. mes "[Ei'felle]";
  2251. mes "Focus... and believe.";
  2252. mes "Believe that you are";
  2253. mes "becoming what you want";
  2254. mes "to be! B-believe... with";
  2255. mes "all of your freakin' heart!";
  2256. emotion e_omg,1;
  2257. emotion e_omg;
  2258. next;
  2259. mes "[Ei'felle]";
  2260. mes "*Phew* How's that?";
  2261. mes "Now do you see the";
  2262. mes "power of hope?";
  2263. delitem 7515,1; //Marvelous_Medal
  2264. if (BaseLevel < 21) getexp 200,0;
  2265. else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 300,0;
  2266. else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 1000,0;
  2267. else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 1800,0;
  2268. else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 2500,0;
  2269. else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 4700,0;
  2270. else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 5500,0;
  2271. else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 7000,0;
  2272. else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 8800,0;
  2273. else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 10900,0;
  2274. else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 13300,0;
  2275. else getexp 16000,0;
  2276. close;
  2277. case 2:
  2278. mes "[Ei'felle]";
  2279. mes "You want to become more";
  2280. mes "competent in your job? Um...";
  2281. mes "Alright, we can do that. Just";
  2282. mes "meditate with me, and we'll go";
  2283. mes "do some imagery work together.";
  2284. mes "I'm real good at this you know.";
  2285. next;
  2286. mes "[Ei'felle]";
  2287. mes "J-just... visualize";
  2288. mes "yourself... being...";
  2289. mes "t-totally... awesome!";
  2290. mes "You've gotta see it, and";
  2291. mes "you've gotta feel it in your";
  2292. mes "freakin' heart and mind!";
  2293. emotion e_omg,1;
  2294. emotion e_omg;
  2295. next;
  2296. mes "[Ei'felle]";
  2297. mes "Yeap, it doesn't matter";
  2298. mes "if it's real or imagined...";
  2299. mes "Your mind will work on";
  2300. mes "whatever you feed it.";
  2301. mes "Placebos and psychosomatic symptoms-- it all ties together.";
  2302. delitem 7515,1; //Marvelous_Medal
  2303. if (BaseLevel < 21) getexp 0,150;
  2304. else if ((BaseLevel > 20) && (BaseLevel < 31)) getexp 0,200;
  2305. else if ((BaseLevel > 30) && (BaseLevel < 41)) getexp 0,750;
  2306. else if ((BaseLevel > 40) && (BaseLevel < 51)) getexp 0,1800;
  2307. else if ((BaseLevel > 50) && (BaseLevel < 61)) getexp 0,2500;
  2308. else if ((BaseLevel > 60) && (BaseLevel < 71)) getexp 0,3525;
  2309. else if ((BaseLevel > 70) && (BaseLevel < 81)) getexp 0,4125;
  2310. else if ((BaseLevel > 80) && (BaseLevel < 96)) getexp 0,5250;
  2311. else if ((BaseLevel > 95) && (BaseLevel < 111)) getexp 0,6600;
  2312. else if ((BaseLevel > 110) && (BaseLevel < 126)) getexp 0,8175;
  2313. else if ((BaseLevel > 125) && (BaseLevel < 141)) getexp 0,9975;
  2314. else getexp 0,12000;
  2315. close;
  2316. case 3:
  2317. mes "[Ei'felle]";
  2318. mes "What th--?! You sure";
  2319. mes "you don't want anything?";
  2320. mes "Hm, well, I think it's kind";
  2321. mes "of bad karma if I don't give";
  2322. mes "you anything in return, so...";
  2323. mes "Think of something. Quick.";
  2324. next;
  2325. mes "["+ strcharinfo(0) +"]";
  2326. mes "Er, just use the medals";
  2327. mes "to further your manufacturing";
  2328. mes "research, and then you can";
  2329. mes "pay me back if your develop";
  2330. mes "something new. It's, um, like";
  2331. mes "an investment in your work!";
  2332. next;
  2333. mes "[Ei'felle]";
  2334. mes "Yeah... Yeah.";
  2335. mes "Okay, I see where";
  2336. mes "you're coming from.";
  2337. mes "That's pretty smart.";
  2338. mes "Okay, I'll repay you when";
  2339. mes "we develop something new!";
  2340. next;
  2341. mes "[Ei'felle]";
  2342. mes "Anyway, I need as many";
  2343. mes "medals as I can get as";
  2344. mes "soon as I can. How many";
  2345. mes "medals do you think you";
  2346. mes "can give me right now?";
  2347. next;
  2348. switch(select("Take them all.:How about this much?:No, I changed my mind.")) {
  2349. case 1:
  2350. mes "[Ei'felle]";
  2351. mes "Th-thank you!";
  2352. mes "Thank you so much!";
  2353. mes "Your help will greatly";
  2354. mes "advance my research,";
  2355. mes "and I promise to repay";
  2356. mes "you as soon as I can!";
  2357. set .@medals,countitem(7515);
  2358. delitem 7515,.@medals; //Marvelous_Medal
  2359. set ein_medal01,ein_medal01+.@medals;
  2360. close;
  2361. case 2:
  2362. mes "[Ei'felle]";
  2363. mes "Alright, please enter the";
  2364. mes "number of medals that";
  2365. mes "you're willing to give me.";
  2366. mes "Please don't enter any";
  2367. mes "number greater than 100.";
  2368. next;
  2369. while(1) {
  2370. input .@input;
  2371. if (!.@input) {
  2372. mes "[Ei'felle]";
  2373. mes "Aw, so you've decided";
  2374. mes "to cancel? Well, it's your";
  2375. mes "choice, but I'm still so";
  2376. mes "disappointed. Please come";
  2377. mes "back if you change your mind...";
  2378. close;
  2379. } else if (.@input < 1 || .@input > 100) {
  2380. mes "[Ei'felle]";
  2381. mes "Remember, you can only";
  2382. mes "enter a number from 1 to 100.";
  2383. mes "If you want to give me more";
  2384. mes "medals, then perhaps you";
  2385. mes "should just give them all to me~ ^FFFFFF ^000000";
  2386. next;
  2387. } else break;
  2388. }
  2389. if (countitem(7515) < .@input) {
  2390. mes "[Ei'felle]";
  2391. mes "I'm sorry, but I don't";
  2392. mes "think you have that many";
  2393. mes "medals with you. Make sure";
  2394. mes "that you offer me an amount of";
  2395. mes "medals that you actually have.";
  2396. emotion e_heh;
  2397. close;
  2398. } else {
  2399. mes "[Ei'felle]";
  2400. mes "Th-thank you!";
  2401. mes "Thank you so much!";
  2402. mes "Your help will greatly";
  2403. mes "advance my research,";
  2404. mes "and I promise to repay";
  2405. mes "you as soon as I can!";
  2406. delitem 7515,.@input; //Marvelous_Medal
  2407. set ein_medal01,ein_medal01+.@input;
  2408. close;
  2409. }
  2410. case 3:
  2411. mes "[Ei'felle]";
  2412. mes "Oh, alright...";
  2413. mes "Still, I really need";
  2414. mes "those medals, so if you";
  2415. mes "change your mind, please";
  2416. mes "come back as soon as you can.";
  2417. close;
  2418. }
  2419. delitem 7515,1; //Marvelous_Medal
  2420. set ein_medal01,1;
  2421. close;
  2422. case 4:
  2423. mes "[Ei'felle]";
  2424. mes "Well, I've been able to";
  2425. mes "create a Glittering Jacket";
  2426. mes "using the medals that you've";
  2427. mes "brought to me. But I just know";
  2428. mes "I can make something better";
  2429. mes "if you'd bring me more!";
  2430. next;
  2431. mes "[Ei'felle]";
  2432. mes "As of now, I have the metal";
  2433. mes "from ^FF0000"+ ein_medal01 +"^000000 Prizes Medals that";
  2434. mes "you've donated to me. The more";
  2435. mes "that you bring, the closer I can get to making a new breakthrough!";
  2436. close;
  2437. }
  2438. S_BonusReward:
  2439. mes "[Ei'felle]";
  2440. if (getarg(1) == 2319) {
  2441. mes "Do you really want";
  2442. mes "this "+getitemname(getarg(1))+"?";
  2443. mes "You may want to forego this";
  2444. mes "reward in favor of getting";
  2445. mes "something better later...";
  2446. } else if ((getarg(1) == 2345) || (getarg(1) == 2347) || (getarg(1) == 2349) || (getarg(1) == 2351)) {
  2447. mes "Are you sure that you want";
  2448. mes "to accept this set of slotted";
  2449. if (getarg(1) == 2345) mes "Fire property Armor? If you do,";
  2450. else if (getarg(1) == 2351) mes "Earth property Armor? If you do,";
  2451. else if (getarg(1) == 2349) mes "Wind property Armor? If you do,";
  2452. else if (getarg(1) == 2347) mes "Water property Armor? If you do,";
  2453. mes "I'll need more medals from you";
  2454. mes "to make further advancements";
  2455. mes "in my manufacturing research.";
  2456. } else {
  2457. mes "So you wish to have a";
  2458. mes getitemname(getarg(1))+"? If you choose";
  2459. mes "to have this Level 4 Weapon,";
  2460. mes "I'll need to melt many of the";
  2461. mes "medals that you've donated";
  2462. mes "to me. Shall we proceed?";
  2463. }
  2464. next;
  2465. if (select("Decline:Accept") == 1) {
  2466. mes "["+ strcharinfo(0) +"]";
  2467. mes "W-wait, I changed my";
  2468. mes "mind. Would it be fine";
  2469. mes "if I asked you to give";
  2470. mes "me a reward later?";
  2471. next;
  2472. mes "[Ei'felle]";
  2473. if (!getiteminfo(getarg(1),13)) { //use item level to determine if the item is armor (no weapon level)
  2474. mes "Of course, of course.";
  2475. mes "Remember, if you donate";
  2476. mes "more medals to me, then";
  2477. mes "I'll be able to create items";
  2478. mes "of higher quality for you~";
  2479. } else {
  2480. mes "I don't think I can develop";
  2481. mes "anything better than these Level 4 Weapons, but after making";
  2482. mes "such a big investment, you should decide on what you want carefully.";
  2483. }
  2484. close;
  2485. }
  2486. mes "[Ei'felle]";
  2487. if (getarg(1) == 2319) {
  2488. mes "Here you are, I trust that";
  2489. mes "this "+getitemname(getarg(1))+" will";
  2490. mes "serve you well. Thank you";
  2491. mes "for your help, and I hope that";
  2492. mes "you'll continue to donate your";
  2493. mes "medals for my metal research~";
  2494. }
  2495. else if ((getarg(1) == 2345) || (getarg(1) == 2347) || (getarg(1) == 2349) || (getarg(1) == 2351)) {
  2496. mes "Great choice! I'm sure";
  2497. if (getarg(1) == 2345) mes "that this set of slotted Fire";
  2498. else if (getarg(1) == 2351) mes "that this set of slotted Earth";
  2499. else if (getarg(1) == 2349) mes "that this set of slotted Wind";
  2500. else if (getarg(1) == 2347) mes "that this set of slotted Water";
  2501. mes "property Armor will serve you";
  2502. mes "well. Thank you for your help,";
  2503. mes "and if you get more medals,";
  2504. mes "please donate them to me~";
  2505. } else {
  2506. mes "Once again, I'd like to";
  2507. mes "thank you for providing";
  2508. mes "me with all of those medals.";
  2509. mes "I imagine it must have been";
  2510. mes "difficult. In any case, I would";
  2511. mes "appreciate your continued help~";
  2512. }
  2513. set ein_medal01,ein_medal01-getarg(0);
  2514. getitem getarg(1),1;
  2515. close;
  2516. }
  2517. hugel,71,83,4 script Wayne 900,{
  2518. if (!checkweight(1201,1)) {
  2519. mes "[Wayne]";
  2520. mes "Hold on a second...";
  2521. mes "If you want to exchange";
  2522. mes "your Prize Medals for items,";
  2523. mes "you'd better free up more space";
  2524. mes "in your Inventory first. Why don't you use your Kafra Storage?";
  2525. close;
  2526. }
  2527. mes "[Wayne]";
  2528. mes "Hello, there! Ever wonder";
  2529. mes "what you could do with all";
  2530. mes "the Prize Medals you can win";
  2531. mes "in Monster Race Arena? You";
  2532. mes "can donate them in Einbroch";
  2533. mes "to the Blacksmith Guild...";
  2534. next;
  2535. mes "[Wayne]";
  2536. mes "...Or you can exchange them";
  2537. mes "for items, right here and right";
  2538. mes "now, with me. As always, the";
  2539. mes "choice is really up to you.";
  2540. next;
  2541. if (select("Prize Medal Exchange:Cancel") == 2) {
  2542. mes "[Wayne]";
  2543. mes "Well, just keep in mind";
  2544. mes "that you can always come";
  2545. mes "to me to trade in your Prize";
  2546. mes "Medals for consumable items.";
  2547. mes "That guy in Einbroch? Not sure";
  2548. mes "what he'd give you for them...";
  2549. next;
  2550. mes "[Wayne]";
  2551. mes "All I know is that he";
  2552. mes "needs a whole lot of medals";
  2553. mes "for the work that he's doing.";
  2554. mes "Still, I hear that he just may";
  2555. mes "make your donations worth";
  2556. mes "all your effort, you know?";
  2557. close;
  2558. }
  2559. if (!checkweight(909,550)) {
  2560. mes "[Wayne]";
  2561. mes "Hold on a second...";
  2562. mes "If you want to exchange";
  2563. mes "your Prize Medals for items,";
  2564. mes "you'd better free up more space";
  2565. mes "in your Inventory first. Why don't you use your Kafra Storage?";
  2566. close;
  2567. } else {
  2568. mes "[Wayne]";
  2569. mes "Now, how many Prize Medals";
  2570. mes "would you like to exchange?";
  2571. mes "It doesn't take a genius to";
  2572. mes "figure out that you can get";
  2573. mes "more valuable items by trading";
  2574. mes "more Prize Medals at a time.";
  2575. next;
  2576. setarray .@pm, 1,3,7,8,16,25,42,59;
  2577. for (set .@i, 0; .@i < getarraysize(.@pm); set .@i, .@i + 1)
  2578. set .@m$, .@m$ + .@pm[.@i] + " Prize medal:";
  2579. set .@m, select (.@m$) - 1;
  2580. switch (.@m) {
  2581. Case 0:
  2582. setarray .@mr$, "2 Hinale Leaflets:2 Aloe Leaflets:1 Mastela Fruit:5 Witch Starsands:4 Condensed Red Potions";
  2583. setarray .@mr, 520,2,521,2,522,1,1061,5,545,4;
  2584. break;
  2585. Case 1:
  2586. setarray .@mr$, "1 Royal Jelly:6 Holy Waters";
  2587. setarray .@mr, 526,1,523,6;
  2588. break;
  2589. Case 2:
  2590. setarray .@mr$, "1 Cookie Bag:1 First Aid Kit";
  2591. setarray .@mr, 12130,1,12110,1;
  2592. break;
  2593. Case 3:
  2594. set .@mr$, "1 Gift Box";
  2595. setarray .@mr, 644,1;
  2596. break;
  2597. Case 4:
  2598. set .@mr$, "1 Old Blue Box";
  2599. setarray .@mr, 603,1;
  2600. break;
  2601. Case 5:
  2602. set .@mr$, "1 Taming Gift Set";
  2603. setarray .@mr, 12105,1;
  2604. break;
  2605. Case 6:
  2606. set .@mr$, "1 Old Purple Box";
  2607. setarray .@mr, 617,1;
  2608. break;
  2609. Case 7:
  2610. set .@mr$, "1 Poring Box";
  2611. setarray .@mr, 12109,1;
  2612. break;
  2613. }
  2614. mes "[Wayne]";
  2615. mes "Now, please choose";
  2616. mes "which of the following item";
  2617. mes "sets that you'd like to receive";
  2618. mes "in exchange for "+.@pm[.@m]+" Prize Medal."+((getarraysize(.@mr)<3)?" Well, we have only 1 set, but...":"");
  2619. next;
  2620. set .@m2, select (.@mr$) - 1;
  2621. if (countitem(7515) < .@pm[.@m]) {
  2622. mes "[Wayne]";
  2623. mes "Hey, you don't have";
  2624. mes "enough Prize Medals with";
  2625. mes "you. Go and get some more";
  2626. mes "if you want to exchange";
  2627. mes "them with me for anything.";
  2628. close;
  2629. }
  2630. mes "[Wayne]";
  2631. mes "There you go~";
  2632. mes "Thanks for using my";
  2633. mes "service, and I hope that";
  2634. mes "you come visit me again";
  2635. mes "soon. Enjoy the monster";
  2636. mes "races, fair adventurer~";
  2637. delitem 7515,.@pm[.@m];
  2638. getitem .@mr[.@m2*2],.@mr[((.@m2*2)+1)];
  2639. close;
  2640. }
  2641. }
  2642. // Monstrer Race Affiliated NPCs
  2643. //============================================================
  2644. airplane,246,47,1 script Eocatt#decoy01 878,{
  2645. mes "[Eocatt]";
  2646. mes "There's an old, humble";
  2647. mes "village on the outskirts of";
  2648. mes "the Schwaltzvalt Republic.";
  2649. mes "It was just a tiny blip on the";
  2650. mes "map until they opened up";
  2651. mes "their Monster Race Arena!";
  2652. next;
  2653. mes "[Eocatt]";
  2654. mes "If you win wagers on the";
  2655. mes "monster race games, you'll";
  2656. mes "be rewarded with these Prize";
  2657. mes "Medals that are made of some";
  2658. mes "really rare metal. I hear this metal's in demand in Einbroch...";
  2659. next;
  2660. mes "[Eocatt]";
  2661. mes "Right, right...";
  2662. mes "I remember now, the";
  2663. mes "town was named Hugel.";
  2664. mes "I'm sure there's other fun";
  2665. mes "things to do there, but I'm sure that the Race Arena is a must!";
  2666. close;
  2667. }
  2668. hugel,85,93,5 script Mudie#dummy01 866,{
  2669. mes "[Mudie]";
  2670. mes "The Monster Races";
  2671. mes "are probably the biggest";
  2672. mes "attraction here in Hugel.";
  2673. mes "We don't have much else";
  2674. mes "going on here, I'm afraid.";
  2675. next;
  2676. mes "[Mudie]";
  2677. mes "If you want to go visit";
  2678. mes "the Monster Race Arena,";
  2679. mes "just head towards the";
  2680. mes "7 'o clock direction on";
  2681. mes "your Mini-Map, and look for";
  2682. mes "the hill surrounded by a fence.";
  2683. next;
  2684. mes "[Mudie]";
  2685. mes "You should find the arena";
  2686. mes "somewhere around that area.";
  2687. mes "Anyway, if you want to wager";
  2688. mes "or just watch the races, just";
  2689. mes "ask one of the Eckar brothers. I hope you enjoy our little town~";
  2690. close;
  2691. }
  2692. p_track02,32,45,5 script Eccentric Scholar#double 755,{
  2693. mes "[Eccentric Scholar]";
  2694. mes "Let's see now...";
  2695. mes "Monster 1's average speed";
  2696. mes "and luck, as affected by";
  2697. mes "wind resistance, fatigue...";
  2698. mes "What's the approximate";
  2699. mes "probability of winning...?";
  2700. next;
  2701. mes "[Eccentric Scholar]";
  2702. mes "Crunch it into my";
  2703. mes "algorithm... Carry the two...";
  2704. mes "Wait, how many significant";
  2705. mes "figures should I be using?";
  2706. mes "Ah, right, 7, to account for x,";
  2707. mes "a value representing--";
  2708. next;
  2709. mes "["+ strcharinfo(0) +"]";
  2710. mes "Excuse me, but";
  2711. mes "what are you doing?";
  2712. next;
  2713. mes "[Eccentric Scholar]";
  2714. mes "S-silence!";
  2715. mes "I must complete";
  2716. mes "my calculations!";
  2717. mes "Now, where was I...?";
  2718. specialeffect EF_CLAYMORE;
  2719. emotion e_an;
  2720. close;
  2721. }
  2722. p_track02,69,31,1 script Blacksmith Guildsman#dou 726,{
  2723. if (!$@mon_time_2_2) {
  2724. mes "[Blacksmith Guildsman]";
  2725. mes "How many times must";
  2726. mes "I wager on these races?!";
  2727. mes "I haven't won even once!";
  2728. mes "Oh, I must have the worst";
  2729. mes "luck in wagering history!";
  2730. emotion e_sob;
  2731. next;
  2732. mes "[Blacksmith Guildsman]";
  2733. mes "I've been assigned by my";
  2734. mes "guild to bring back some";
  2735. mes "Prize Medals to Einbroch...";
  2736. mes "They're apparently made";
  2737. mes "with some rare metal, but...";
  2738. mes "It's too hard for me to win~!";
  2739. emotion e_swt2;
  2740. close;
  2741. }
  2742. mes "[Blacksmith Guildsman]";
  2743. mes "Run! Go go go!";
  2744. mes "I need to win some";
  2745. mes "medals! Otherwise, I'll";
  2746. mes "be too ashamed to return";
  2747. mes "home to Einbroch! F-faster!";
  2748. emotion e_korea;
  2749. close;
  2750. }
  2751. p_track02,53,45,3 script Valiant Knight#double 733,{
  2752. mes "[Valiant Knight]";
  2753. mes "Hey, have you been";
  2754. mes "wagering on the races?";
  2755. mes "If you've got a hot tip, then";
  2756. mes "would you share it with me?";
  2757. mes "I've won some wagers... But";
  2758. mes "I really wanna win more!";
  2759. next;
  2760. mes "[Valiant Knight]";
  2761. mes "Hah hah! It's like I tell";
  2762. mes "those Blacksmiths! If they";
  2763. mes "don't wanna lose all the time,";
  2764. mes "then they should just bet on the same monster. Me? I always";
  2765. mes "bet on the black Deviruchi~";
  2766. next;
  2767. mes "[Valiant Knight]";
  2768. mes "You too...!";
  2769. mes "Always bet";
  2770. mes "on Deviruchi!";
  2771. emotion e_no1;
  2772. close;
  2773. }
  2774. p_track01,27,47,5 script Drunkard#single 853,{
  2775. mes "[Familiar Drunkard]";
  2776. mes "Grrr...! ^333333*Hiccup*^000000";
  2777. mes "I just gotta win this";
  2778. mes "next game! I hafta do it!";
  2779. mes "Hey, you! Which number is";
  2780. mes "your lucky number? Huh?";
  2781. next;
  2782. mes "["+ strcharinfo(0) +"]";
  2783. mes "I, er...";
  2784. next;
  2785. mes "[Familiar Drunkard]";
  2786. mes "C'mon, I need your";
  2787. mes "lucky number cuz I ran";
  2788. mes "out of mine! Tell me!";
  2789. mes "Tell me! ^333333*Hiccup~*^000000";
  2790. close;
  2791. }
  2792. p_track01,69,31,1 script Blacksmith Guildsman#sin 107,{
  2793. mes "[Blacksmith Guildsman]";
  2794. mes "How can this be so hard?";
  2795. mes "Why can't I win at least";
  2796. mes "one of these races? Argh!";
  2797. mes "I can't go back until I get";
  2798. mes "at least one Prize Medal!";
  2799. next;
  2800. mes "[Blacksmith Guildsman]";
  2801. mes "Yeah, I've been assigned";
  2802. mes "by the Einbroch Factory to";
  2803. mes "get some Prize Medals since";
  2804. mes "they're made of this rare medal. But it looks like they picked";
  2805. mes "the wrong guy for this job...";
  2806. next;
  2807. mes "[Blacksmith Guildsman]";
  2808. mes "I mean, I've been here";
  2809. mes "forever and I haven't won";
  2810. mes "anything yet! Hey, do me";
  2811. mes "a favor and give any extra";
  2812. mes "Prize Medals you might have";
  2813. mes "to the Einbroch Factory, okay?";
  2814. close;
  2815. }
  2816. p_track01,45,42,3 script Absent Minded Man#single 881,{
  2817. mes "[Absent Minded Man]";
  2818. mes "Say, are you here to bet";
  2819. mes "on the monster races? I've";
  2820. mes "come all the way here, just";
  2821. mes "because some strange man";
  2822. mes "asked me to win medals. It's";
  2823. mes "the only reason I'm in Hugel...";
  2824. next;
  2825. mes "[Absent Minded Man]";
  2826. mes "But I've made more than";
  2827. mes "100 wagers, and haven't won";
  2828. mes "any of them! I mean, if I bet";
  2829. mes "on the same monster 6 times,";
  2830. mes "I should win at least once,";
  2831. mes "right? What's going on?!";
  2832. close;
  2833. }