Guest User

Untitled

a guest
Feb 20th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.99 KB | None | 0 0
  1. // ----------------------------------------This npc will NOT:-----------------------------------------//
  2. // 1) Forge weapons
  3. // 2) Brew: Embryo's
  4. //-----------------------------------------This npc WILL do:------------------------------------------//
  5. // 1) Temper: Iron, Steel
  6. // 2) Enchant Stone Craft
  7. // 3) Brew: Alcohol, Aloevera, Anodyne, Glistening Coat
  8. // 4) Brew: Blue, Red, Red Slim, Yellow, Yellow Slim potions, White potions, White Slim potions
  9. // 5) Brew: Acid Bottle, Fire Bottle, Marine Sphere Bottle, Plant Bottle
  10. // 6) Brew: Earth, Fire, Thunder, Water Resistance Potions
  11. //---------------------------------------------Extra Info:--------------------------------------------//
  12. // Included the formulas in case you wanted to make alterations, so you have a base equation to work
  13. // with and dont hae to figure it all out on your own. Tested on eAthena 14921 but its a npc script, so
  14. // it should work with 3ceam as well.
  15.  
  16. //Iron Tempering:
  17. //((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 4000 + (getskilllv(94) * 500) / 100)
  18.  
  19. //Steel Tempering:
  20. //(((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 3000 + (getskilllv(95) * 500) / 100) - 10)
  21.  
  22. //Stone Craft
  23. //(((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30)
  24.  
  25.  
  26. //Base Formula works for: Blue Pots, Slim Red Pots, Fire/Water/Earth/Thunder Elemental Resistant Potions, Anodyne, Aloevera, Embryo (embryo not used in this npc)
  27. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)
  28.  
  29. //Slim White Pots, Glistening Coat
  30. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5)
  31.  
  32. //Slim Yellow Pots
  33. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 3)
  34. // NOTE: rounded yellow slim pots from 2.5 to 3. eAthena cant handle decimals
  35.  
  36. //Red/Yellow/White Pots
  37. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25)
  38.  
  39. //Fire/Acid/Plant/Marine Sphere Bottles
  40. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5)
  41.  
  42. //Alcohol
  43. //(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 15)
  44. //----------------------------------------------------------------------------------------------------//
  45. arcadia,235,221,5 script Easy Brewer 409,{
  46.  
  47. Main:
  48. if(Class==4011){
  49. mes .name$;
  50. mes "Make your selection "+jobname(Class)+".";
  51. menu "Iron Tempering",W_Iron,"Steel Tempering",W_Steel,"Stone Craft",W_Stone,"Information",W_Info,"Forging Success Rate",W_Percent,"Quit",Quit;}
  52. if(Class==4019){
  53. mes .name$;
  54. mes "Make your selection "+jobname(Class)+".";
  55. menu "Alcohol",B_Alco,"Bottle Types",B_Botl,"Glistening Coat",B_Glist,"Potions",B_Pot,"Slim Pots",B_Slim,"Misc",B_Misc,"Resist Potions",B_Rest,"Information",B_Info,"Brewing Success Rate",B_Percent,"Quit",Quit;}
  56.  
  57. mes "Im sorry but to use this npc, you need to either be a Creator or Whitesmith";
  58. close;
  59.  
  60. W_Iron:
  61. mes "How much Iron are you asking for?";
  62. input .@Amount;
  63. if(.@Amount==0) { goto Quit;}
  64. if(Zeny < (.@Amount * 500) || countitem(1002) < .@Amount || countitem(612) < .@Amount) goto Insuf;
  65. delitem 1002, .@Amount;
  66. delitem 612, .@Amount;
  67. set Zeny, Zeny - (.@Amount * 500);
  68. if(((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 4000 + (getskilllv(94) * 500) / 100 ) >=100){
  69. getitem 998, .@Amount;
  70. next;
  71. goto Quit;
  72. }
  73. getitem 998, (.@Amount * ((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 4000 + (getskilllv(94) * 500) / 100) / 100);
  74. next;
  75. goto Quit;
  76.  
  77. W_Steel:
  78. mes "How much Steel are you asking for?";
  79. input .@Amount;
  80. if(.@Amount==0) {goto Quit;}
  81. if(countitem(998) < (.@Amount * 5) || countitem(1003) < .@Amount || countitem(612) < .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  82. delitem 998, (.@Amount * 5);
  83. delitem 1003, .@Amount;
  84. delitem 612, .@Amount;
  85. set Zeny, Zeny - (.@Amount * 500);
  86. if((((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 3000 + (getskilllv(95) * 500) / 100) - 10) >=100){
  87. getitem 999, .@Amount;
  88. next;
  89. goto Quit;
  90. }
  91. getitem 999, (.@Amount * (((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 3000 + (getskilllv(95) * 500) / 100) -10) / 100);
  92. next;
  93. goto Quit;
  94.  
  95. W_Stone:
  96. mes "Which stones were you wanting to refine?";
  97. switch(select("Crystal Blue:Green Live:Red Blood:Star Crumb:Wind of Verdure")){
  98. case 1:
  99. mes "How many Crystal Blue's do you want?";
  100. input .@Amount;
  101. if(.@Amount==0) {goto Quit;}
  102. if(countitem(991) < 10 * .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  103. delitem 991, (.@Amount * 10);
  104. set Zeny, Zeny - (.@Amount * 500);
  105. if((((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) >=100){
  106. getitem 995, .@Amount;
  107. next;
  108. goto Quit;
  109. }
  110. getitem 995, (.@Amount * (((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) / 100);
  111. next;
  112. goto Quit;
  113. case 2:
  114. mes "How many Green Live's do you want?";
  115. input .@Amount;
  116. if(.@Amount==0) {goto Quit;}
  117. if(countitem(993) < 10 * .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  118. delitem 993, (.@Amount * 10);
  119. set Zeny, Zeny - (.@Amount * 500);
  120. if((((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) >=100){
  121. getitem 997, .@Amount;
  122. next;
  123. goto Quit;
  124. }
  125. getitem 997, (.@Amount * (((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) / 100);
  126. next;
  127. goto Quit;
  128. case 3:
  129. mes "How many Red Blood's do you want?";
  130. input .@Amount;
  131. if(.@Amount==0) {goto Quit;}
  132. if(countitem(990) < 10 * .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  133. delitem 990, (.@Amount * 10);
  134. set Zeny, Zeny - (.@Amount * 500);
  135. if((((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) >=100){
  136. getitem 994, .@Amount;
  137. next;
  138. goto Quit;
  139. }
  140. getitem 994, (.@Amount * (((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) / 100);
  141. next;
  142. goto Quit;
  143. case 4:
  144. mes "How many Star Crumb's do you want?";
  145. input .@Amount;
  146. if(.@Amount==0) {goto Quit;}
  147. if(countitem(1001) < 10 * .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  148. delitem 1001, (.@Amount * 10);
  149. set Zeny, Zeny - (.@Amount * 500);
  150. getitem 1000, .@Amount;
  151. next;
  152. goto Quit;
  153. case 5:
  154. mes "How many Wind of Verdure's do you want?";
  155. input .@Amount;
  156. if(.@Amount==0) {goto Quit;}
  157. if(countitem(992) < 10 * .@Amount || Zeny < (.@Amount * 500)) goto Insuf;
  158. delitem 992, (.@Amount * 10);
  159. set Zeny, Zeny - (.@Amount * 500);
  160. if((((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) -30) >=100){
  161. getitem 996, .@Amount;
  162. next;
  163. goto Quit;
  164. }
  165. getitem 996, (.@Amount * (((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) - 30) / 100);
  166. next;
  167. goto Quit;
  168. }
  169.  
  170. W_Percent:
  171. mes "Your current Percent Rates.";
  172. mes "Iron: "+((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 4000 + (getskilllv(94) * 500) / 100)+"";
  173. mes "Steel: "+(((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 3000 + (getskilllv(95) * 500) / 100) -10)+"";
  174. mes "Stone Craft: "+(((JobLevel * 20) + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + 1000 + (getskilllv(96) * 500) / 100) -30)+"";
  175. mes "*NOTE: Star Crumb crafting is always 100%*";
  176. mes "Returning you to the main menu now.";
  177. next;
  178. goto Main;
  179. close;
  180.  
  181. W_Info:
  182. mes "With my help you can cut down on the amount of time to manually temper your iron, steel and stone crafting. Your "+jobname(Class)+"'s forging rates will be used in creation.";
  183. next;
  184. mes .name$;
  185. mes "You still are required to have the correct items to make whatever you want, but with me, I'll make them in batch quantities to save you the trouble.";
  186. next;
  187. mes .name$;
  188. mes "I charge 500 Zeny per Iron, Steel or Stone Craft refinement. Sounds good doesnt it? Returning you to the main menu now.";
  189. next;
  190. goto Main;
  191.  
  192. // Biochemist's values here //
  193. B_Alco:
  194. mes "How many Alcohol's do you want?";
  195. input .@Amount;
  196. if(.@Amount==0) {goto Quit;}
  197. if(countitem(7033) < (5 * .@Amount) || countitem(905) < (5 * .@Amount) || countitem(713) < .@Amount || countitem(1092) < .@Amount || countitem(7134) < .@Amount || countitem(7127) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  198. delitem 7033, (.@Amount * 5);
  199. delitem 905, (.@Amount * 5);
  200. delitem 713, .@Amount;
  201. delitem 1092, .@Amount;
  202. delitem 7134, .@Amount;
  203. set Zeny, Zeny - (.@Amount * 500);
  204. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 15) >=100){
  205. getitem2 970, .@Amount,1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  206. next;
  207. goto Quit;
  208. }
  209. getitem2 970, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 15) / 100),1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  210. next;
  211. goto Quit;
  212.  
  213. B_Botl:
  214. switch(select("Acid:Fire:Marine Sphere:Plant")){
  215. case 1:
  216. mes "How many Acid Bottle's do you want?";
  217. input .@Amount;
  218. if(.@Amount==0) {goto Quit;}
  219. if(countitem(929) < .@Amount || countitem(713) < .@Amount || countitem(7134) < .@Amount || countitem(7129) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  220. delitem 929, .@Amount;
  221. delitem 713, .@Amount;
  222. delitem 7134, .@Amount;
  223. set Zeny, Zeny - (.@Amount * 500);
  224. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) >=100){
  225. getitem 7136, .@Amount;
  226. next;
  227. goto Quit;
  228. }
  229. getitem 7136, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) / 100);
  230. next;
  231. goto Quit;
  232. case 2:
  233. mes "How many Fire Bottle's do you want?";
  234. input .@Amount;
  235. if(.@Amount==0) {goto Quit;}
  236. if(countitem(1059) < .@Amount || countitem(970) < .@Amount || countitem(7134) < .@Amount || countitem(7128) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  237. delitem 1059, .@Amount;
  238. delitem 970, .@Amount;
  239. delitem 7134, .@Amount;
  240. set Zeny, Zeny - (.@Amount * 500);
  241. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) >=100){
  242. getitem 7135, .@Amount;
  243. next;
  244. goto Quit;
  245. }
  246. getitem 7135, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) / 100);
  247. next;
  248. goto Quit;
  249. case 3:
  250. mes "How many Marine Sphere Bottle's do you want?";
  251. input .@Amount;
  252. if(.@Amount==0) {goto Quit;}
  253. if(countitem(1051) < .@Amount || countitem(1050) < .@Amount || countitem(713) < .@Amount || countitem(7134) < .@Amount || countitem(7131) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  254. delitem 1051, .@Amount;
  255. delitem 1050, .@Amount;
  256. delitem 713, .@Amount;
  257. delitem 7134, .@amount;
  258. set Zeny, Zeny - (.@Amount * 500);
  259. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) >=100){
  260. getitem 7138, .@Amount;
  261. next;
  262. goto Next;
  263. }
  264. getitem 7138, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) / 100);
  265. next;
  266. goto Quit;
  267. case 4:
  268. mes "How many Plant Bottle's do you want?";
  269. input .@Amount;
  270. if(.@Amount==0) {goto Quit;}
  271. if(countitem(1032) < (2 * .@Amount) || countitem(713) < .@Amount || countitem(7134) < .@Amount || countitem(7130) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  272. delitem 1032, (.@Amount * 2);
  273. delitem 713, .@Amount;
  274. delitem 7134, .@amount;
  275. set Zeny, Zeny - (.@Amount * 500);
  276. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) >=100){
  277. getitem 7137, .@Amount;
  278. next;
  279. goto Quit;
  280. }
  281. getitem 7137, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5) / 100);
  282. next;
  283. goto Quit;
  284. }
  285.  
  286. B_Glist:
  287. mes "How many Glistening Coat's do you want?";
  288. input .@Amount;
  289. if(.@Amount==0) {goto Quit;}
  290. if(countitem(1044) < .@Amount || countitem(950) < .@Amount || countitem(970) < .@Amount || countitem(713) < .@Amount || countitem(7134) < .@Amount || countitem(7132) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  291. delitem 1044, .@amount;
  292. delitem 950, .@amount;
  293. delitem 713, .@amount;
  294. delitem 7134, .@amount;
  295. set Zeny, Zeny - (.@Amount * 500);
  296. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5) >=100){
  297. getitem 7139, .@Amount;
  298. next;
  299. goto Quit;
  300. }
  301. getitem 7139, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5) / 100);
  302. next;
  303. goto Quit;
  304.  
  305. B_Pot:
  306. mes "Which color of Potion?";
  307. switch(select("Blue:Red:Yellow:White")){
  308. case 1:
  309. mes "How many Blue Pots do you want?";
  310. input .@Amount;
  311. if(.@Amount==0) {goto Quit;}
  312. if(countitem(510) < .@Amount || countitem(911) < .@Amount || countitem(1093) < .@Amount || countitem(7134) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  313. delitem 510, .@Amount;
  314. delitem 911, .@Amount;
  315. delitem 1093, .@Amount;
  316. delitem 7134, .@Amount;
  317. set Zeny, Zeny - (.@Amount * 500);
  318. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  319. getitem 505, .@Amount;
  320. next;
  321. goto Quit;
  322. }
  323. getitem 505, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  324. next;
  325. goto Quit;
  326. case 2:
  327. mes "How many Red Pots do you want?";
  328. input .@Amount;
  329. if(.@Amount==0) {goto Quit;}
  330. if(countitem(507) < .@Amount || countitem(1093) < .@Amount || countitem(7134) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  331. delitem 507, .@Amount;
  332. delitem 1093, .@Amount;
  333. delitem 7134, .@Amount;
  334. set Zeny, Zeny - (.@Amount * 500);
  335. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) >=100){
  336. getitem 501, .@Amount;
  337. next;
  338. goto Quit;
  339. }
  340. getitem 501, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) / 100);
  341. next;
  342. goto Quit;
  343. case 3:
  344. mes "How many Yellow Pots do you want?";
  345. input .@Amount;
  346. if(.@Amount==0) {goto Quit;}
  347. if(countitem(508) < @Amount || countitem(1093) < .@Amount || countitem(7134) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  348. delitem 508, .@Amount;
  349. delitem 1093, .@Amount;
  350. delitem 7134, .@Amount;
  351. set Zeny, Zeny - (.@Amount * 500);
  352. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) >=100){
  353. getitem 503, .@Amount;
  354. next;
  355. goto Quit;
  356. }
  357. getitem 503, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) / 100);
  358. next;
  359. goto Quit;
  360. case 4:
  361. mes "How many White Pots do you want?";
  362. input .@Amount;
  363. if(.@Amount==0) {goto Quit;}
  364. if(countitem(509) < @Amount || countitem(1093) < .@Amount || countitem(7134) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  365. delitem 509, .@Amount;
  366. delitem 1093, .@Amount;
  367. delitem 7134, .@Amount;
  368. set Zeny, Zeny - (.@Amount * 500);
  369. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) >=100){
  370. getitem 504, .@Amount;
  371. next;
  372. goto Quit;
  373. }
  374. getitem 504, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25) / 100);
  375. next;
  376. goto Quit;
  377. }
  378.  
  379. B_Slim:
  380. mes "Which type of Slim Pot?";
  381. switch(select("Red:Yellow:White")){
  382. case 1:
  383. mes "How many Red Slim Pots do you want?";
  384. input .@Amount;
  385. if(.@Amount==0) {goto Quit;}
  386. if(countitem(501) < @Amount || countitem(952) < .@Amount || countitem(1092) < .@Amount || countitem(7134) < .@Amount || countitem(7133) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  387. delitem 501, .@Amount;
  388. delitem 952, .@Amount;
  389. delitem 1092, .@Amount;
  390. delitem 7134, .@Amount;
  391. set Zeny, Zeny - (.@Amount * 500);
  392. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 3) >=100){
  393. getitem2 545, .@Amount,1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  394. next;
  395. goto Quit;
  396. }
  397. getitem2 545, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 3) / 100),1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  398. next;
  399. goto Quit;
  400. case 2:
  401. mes "How many Yellow Slim Pots do you want?";
  402. input .@Amount;
  403. if(.@Amount==0) {goto Quit;}
  404. if(countitem(503) < @Amount || countitem(1017) < .@Amount || countitem(1092) < .@Amount || countitem(7134) < .@Amount || countitem(7133) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  405. delitem 503, .@Amount;
  406. delitem 1017, .@Amount;
  407. delitem 7133, .@Amount;
  408. delitem 7134, .@Amount;
  409. set Zeny, Zeny - (.@Amount * 500);
  410. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  411. getitem2 546, .@Amount,1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  412. next;
  413. goto Quit;
  414. }
  415. getitem2 546, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100),1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  416. next;
  417. goto Quit;
  418. case 3:
  419. mes "How many White Slim Pots do you want?";
  420. input .@Amount;
  421. if(.@Amount==0) {goto Quit;}
  422. if(countitem(504) < @Amount || countitem(1061) < .@Amount || countitem(1092) < .@Amount || countitem(7134) < .@Amount || countitem(7133) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  423. delitem 504, .@Amount;
  424. delitem 1061, .@Amount;
  425. delitem 1092, .@Amount;
  426. delitem 7134, .@Amount;
  427. set Zeny, Zeny - (.@Amount * 500);
  428. if(((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5) >=100){
  429. getitem2 547, .@Amount,1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  430. next;
  431. goto Quit;
  432. }
  433. getitem2 547, (.@Amount * ((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5) / 100),1,0,0, 254, 0, getcharid(0) & 0xFFFF, getcharid(0) >> 0x10;
  434. next;
  435. goto Quit;
  436. }
  437.  
  438. B_Misc:
  439. mes "Aloevera or Anodyne?";
  440. switch(select("Aloevera:Anodyne")){
  441. case 1:
  442. mes "How many Aloevera do you want?";
  443. input .@Amount;
  444. if(.@Amount==0) {goto Quit;}
  445. if(countitem(509) < .@Amount || countitem(518) < .@Amount || countitem(713) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  446. delitem 509, .@Amount;
  447. delitem 518, .@Amount;
  448. delitem 713, .@Amount;
  449. set Zeny, Zeny - (.@Amount * 500);
  450. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  451. getitem 606, .@Amount;
  452. next;
  453. goto Quit;
  454. }
  455. getitem 606, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  456. next;
  457. goto Quit;
  458. case 2:
  459. mes "How many Anodyne do you want?";
  460. input .@Amount;
  461. if(.@Amount==0) {goto Quit;}
  462. if(countitem(708) < .@Amount || countitem(970) < .@Amount || countitem(713) < .@Amount || countitem(7144) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  463. delitem 708, .@Amount;
  464. delitem 970, .@Amount;
  465. delitem 713, .@Amount;
  466. set Zeny, Zeny - (.@Amount * 500);
  467. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  468. getitem 605, .@Amount;
  469. next;
  470. goto Quit;
  471. }
  472. getitem 605, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  473. next;
  474. goto Quit;
  475. }
  476.  
  477. B_Rest:
  478. mes "Which type of Resist Potion?";
  479. switch(select("Earth:Fire:Thunder:Water")){
  480. case 1:
  481. mes "How many Earth Resist Potion's do you want?";
  482. input .@Amount;
  483. if(.@Amount==0) {goto Quit;}
  484. if(countitem(7126) < ( 2 * .@Amount) || countitem(717) < .@Amount || countitem(7134) < 1 || countitem(7434) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  485. delitem 7126, (.@Amount * 2);
  486. delitem 717, .@Amount;
  487. delitem 7134, .@Amount;
  488. set Zeny, Zeny - (.@Amount * 500);
  489. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  490. getitem 12120, .@Amount;
  491. next;
  492. goto Quit;
  493. }
  494. getitem 12120, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  495. next;
  496. goto Quit;
  497. case 2:
  498. mes "How many Fire Resist Potion's do you want?";
  499. input .@Amount;
  500. if(.@Amount==0) {goto Quit;}
  501. if(countitem(1012) < ( 2 * .@Amount) || countitem(716) < .@Amount || countitem(7134) < 1 || countitem(7434) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  502. delitem 1012, (.@Amount * 2);
  503. delitem 716, .@Amount;
  504. delitem 7134, .@Amount;
  505. set Zeny, Zeny - (.@Amount * 500);
  506. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  507. getitem 12118, .@Amount;
  508. next;
  509. goto Quit;
  510. }
  511. getitem 12118, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  512. next;
  513. goto Quit;
  514. case 3:
  515. mes "How many Thunder Resist Potion's do you want?";
  516. input .@Amount;
  517. if(.@Amount==0) {goto Quit;}
  518. if(countitem(1057) < ( 3 * .@Amount) || countitem(717) < .@Amount || countitem(7134) < 1 || countitem(7434) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  519. delitem 1057, (.@Amount * 3);
  520. delitem 717, .@Amount;
  521. delitem 7134, .@Amount;
  522. set Zeny, Zeny - (.@Amount * 500);
  523. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  524. getitem 12121, .@Amount;
  525. next;
  526. goto Quit;
  527. }
  528. getitem 12121, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  529. next;
  530. goto Quit;
  531. case 4:
  532. mes "How many Water Resist Potion's do you want?";
  533. input .@Amount;
  534. if(.@Amount==0) {goto Quit;}
  535. if(countitem(950) < ( 3 * .@Amount) || countitem(717) < .@Amount || countitem(7134) < 1 || countitem(7434) < 1 || Zeny < (.@Amount * 500)) goto Insuf;
  536. delitem 950, (.@Amount * 3);
  537. delitem 717, .@Amount;
  538. delitem 7134, .@Amount;
  539. set Zeny, Zeny - (.@Amount * 500);
  540. if((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) >=100){
  541. getitem 12119, .@Amount;
  542. next;
  543. goto Quit;
  544. }
  545. getitem 12119, (.@Amount * (((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) / 100);
  546. next;
  547. goto Quit;
  548. }
  549.  
  550. B_Percent:
  551. mes "Your current Percent Rates.";
  552. mes "Alcohol: "+((getskilllv(227) * 1) + (getskilllv(228) * 3) + ((JobLevel * 20)/100) + (((readparam(bDex)+readparam(bLuk)+(readparam(bInt)/2)) * 10)/100) + 5 + getskilllv(8015) + 5)+"%";
  553. mes "Aloevera: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  554. mes "Anodyne: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  555. mes "Glistening: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5)+"%";
  556. next;
  557. mes .name$;
  558. mes "Your current Resistance Potion Rates.";
  559. mes "Earth: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  560. mes "Fire: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  561. mes "Thunder: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  562. mes "Water: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  563. next;
  564. mes .name$;
  565. mes "Your current Potion Rates.";
  566. mes "Blue: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  567. mes "Red: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25)+"%";
  568. mes "Red Slim: "+(((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100)+"%";
  569. mes "Yellow: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25)+"%";
  570. mes "Yellow Slim: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 3)+"%";
  571. mes "White: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 25)+"%";
  572. mes "White Slim: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) - 5)+"%";
  573. next;
  574. mes .name$;
  575. mes "Your current Bottle Rates.";
  576. mes "Acid: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5)+"%";
  577. mes "Fire: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5)+"%";
  578. mes "Marine Sphere: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5)+"%";
  579. mes "Plant: "+((((getskilllv(227) * 50) + (getskilllv(228) * 300) + (JobLevel * 20) + (readparam(bInt) / 2) * 10 + (readparam(bDex) * 10) + (readparam(bLuk) * 10) + getskilllv(8015) * 100) / 100) + 5)+"%";
  580. next;
  581. mes .name$;
  582. mes "NOTE: If you have a Vanilmirth Homunculus that has Level 5 Instuction Change, you gain an additional 5% on your brewing. Value reflected in current Rates! Returning you to the main menu.";
  583. next;
  584. goto Main;
  585.  
  586. B_Info:
  587. mes "With my help you can cut down on the amount of time to manually create your potions. Your "+jobname(Class)+"'s brewing rates will be used in creation.";
  588. next;
  589. mes .name$;
  590. mes "You still are required to have the correct items to make whatever you want, but with me, I'll make them in batch quantities to save you the trouble.";
  591. next;
  592. mes .name$;
  593. mes "I charge 500 Zeny per potion created. Sounds good doesnt it? Your rate is defaulted to 100% if your % rate is over 100. Returning you to the main menu now.";
  594. next;
  595. goto Main;
  596.  
  597. Insuf:
  598. mes " ";
  599. mes "Im sorry "+strcharinfo(0)+", but you lack the required items and/or zeny to fulfill your request..";
  600. close;
  601.  
  602. Quit:
  603. mes " ";
  604. mes "Thank you, come again!";
  605. close;
  606.  
  607. OnInit:
  608. set .name$,"[Easy Brewer]";
  609. end;
  610. }
Add Comment
Please, Sign In to add comment