existence_dev92

Untitled

Jun 26th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.45 KB | None | 0 0
  1. /*
  2. storage.cpp - function storage_additem
  3. static int storage_additem(struct map_session_data* sd, struct s_storage *stor, struct item *it, int amount);
  4.  
  5. variable
  6. sd->premiumStorage.stor_id : number of storage, should match with storage configured at inter_server.yml
  7. */
  8.  
  9. prontera,150,150,0 script Deposit Headgear 112,{
  10. mes .@npc_name$ = "[^0080FF"+ strnpcinfo(1) +"^000000]";
  11. mes F_Hi() +" "+ strcharinfo(0);
  12. mes "Do you need something ?";
  13. .@s = select("~ Deposit Headgear:~ Adv Book:~ Just Passing By.");
  14. clear;
  15. mes .@npc_name$;
  16. switch (.@s)
  17. {
  18. case 1: break;
  19. case 2:
  20. .@size = getdepositdata();
  21. if (!.@size)
  22. {
  23. mes "no data found";
  24. close;
  25. }
  26. for (.@i = 0; .@i < .@size; .@i++)
  27. {
  28. .@j = .@type[.@i];
  29. if (.Param[.@j] == 2)
  30. .@str$ = sprintf(.Bonus$[.@j], .@val1[.@i], .@val2[.@i]);
  31. else if (.Param[.@j] == 1)
  32. .@str$ = sprintf(.Bonus$[.@j], .@val1[.@i]);
  33. else
  34. .@str = "Undefined - "+ .@j +" "+ .@val1[.@i] +" "+ .@val2[.@i];
  35. mes .@str$;
  36. }
  37. close;
  38. case 3:
  39. mes "Alright, "+ F_Bye();
  40. close;
  41.  
  42. }
  43. mes "Only Headgear can be put inside.";
  44. mes "if deposit bonus is not activated after you put the headgear inside, try to re equip your gear.";
  45. close2;
  46. openstorage2 1, STOR_MODE_GET|STOR_MODE_PUT;
  47. end;
  48.  
  49. OnInit:
  50. .stor = 1;
  51.  
  52. function Add;
  53.  
  54. freeloop(1);
  55.  
  56. Add(SP_STR, 1, "STR +%d");
  57. Add(SP_AGI, 1, "AGI +%d");
  58. Add(SP_VIT, 1, "VIT +%d");
  59. Add(SP_INT, 1, "INT +%d");
  60. Add(SP_DEX, 1, "DEX +%d");
  61. Add(SP_LUK, 1, "LUK +%d");
  62. Add(SP_ATK1, 1, "ATK +%d");
  63. Add(SP_ATK2, 1, "ATK2 +%d");
  64. Add(SP_BASE_ATK, 1, "BASE ATK +%d");
  65. Add(SP_DEF1, 1, "DEF1 +%d");
  66. Add(SP_DEF2, 1, "DEF2 +%d");
  67. Add(SP_MDEF1, 1, "MDEF1 +%d");
  68. Add(SP_MDEF2, 1, "MDEF2 +%d");
  69. Add(SP_HIT, 1, "HIT +%d");
  70. Add(SP_FLEE1, 1, "FLEE1 +%d");
  71. Add(SP_FLEE2, 1, "FLEE2 +%d");
  72. Add(SP_CRITICAL, 1, "CRITICAL +%d");
  73. Add(SP_ATKELE, 1, "ATK ELE +%d");
  74. Add(SP_DEFELE, 1, "DEF ELE +%d");
  75. Add(SP_MAXHP, 1, "MAX HP +%d");
  76. Add(SP_MAXSP, 1, "MAX SP +%d");
  77. Add(SP_MAXHPRATE, 1, "MAX HP RATE +%d");
  78. Add(SP_MAXSPRATE, 1, "MAX SP RATE +%d");
  79. Add(SP_SPRATE, 1, "SP CONSUMPTION RATE +%d");
  80. Add(SP_ATTACKRANGE, 1, "ATK RANGE +%d");
  81. Add(SP_SPEED_RATE, 1, "SPEED RATE +%d");
  82. Add(SP_SPEED_ADDRATE, 1, "DEF1 +%d");
  83. Add(SP_ASPD, 1, "DEF1 +%d");
  84. Add(SP_ASPD_FIX, 1, "DEF1 +%d");
  85. Add(SP_ASPD_RATE, 1, "DEF1 +%d");
  86. Add(SP_HP_RECOV_RATE, 1, "DEF1 +%d");
  87. Add(SP_SP_RECOV_RATE, 1, "DEF1 +%d");
  88. Add(SP_CRITICAL_DEF, 1, "DEF1 +%d");
  89. Add(SP_NEAR_ATK_DEF, 1, "DEF1 +%d");
  90. Add(SP_LONG_ATK_DEF, 1, "DEF1 +%d");
  91. Add(SP_DOUBLE_RATE, 1, "DEF1 +%d");
  92. Add(SP_DOUBLE_ADD_RATE, 1, "DEF1 +%d");
  93. Add(SP_MATK_RATE, 1, "DEF1 +%d");
  94. Add(SP_IGNORE_DEF_ELE, 1, "DEF1 +%d");
  95. Add(SP_IGNORE_DEF_RACE, 1, "DEF1 +%d");
  96. Add(SP_IGNORE_DEF_CLASS, 1, "DEF1 +%d");
  97. Add(SP_ATK_RATE, 1, "DEF1 +%d");
  98. Add(SP_MAGIC_ATK_DEF, 1, "DEF1 +%d");
  99. Add(SP_MISC_ATK_DEF, 1, "DEF1 +%d");
  100. Add(SP_IGNORE_MDEF_ELE, 1, "DEF1 +%d");
  101. Add(SP_IGNORE_MDEF_RACE, 1, "DEF1 +%d");
  102. Add(SP_PERFECT_HIT_RATE, 1, "DEF1 +%d");
  103. Add(SP_PERFECT_HIT_ADD_RATE, 1, "DEF1 +%d");
  104. Add(SP_CRITICAL_RATE, 1, "DEF1 +%d");
  105. Add(SP_DEF_RATIO_ATK_ELE, 1, "DEF1 +%d");
  106. Add(SP_DEF_RATIO_ATK_RACE, 1, "DEF1 +%d");
  107. Add(SP_DEF_RATIO_ATK_CLASS, 1, "DEF1 +%d");
  108. Add(SP_HIT_RATE, 1, "DEF1 +%d");
  109. Add(SP_FLEE_RATE, 1, "DEF1 +%d");
  110. Add(SP_FLEE2_RATE, 1, "DEF1 +%d");
  111. Add(SP_DEF_RATE, 1, "DEF1 +%d");
  112. Add(SP_DEF2_RATE, 1, "DEF1 +%d");
  113. Add(SP_MDEF_RATE, 1, "DEF1 +%d");
  114. Add(SP_MDEF2_RATE, 1, "DEF1 +%d");
  115. Add(SP_RESTART_FULL_RECOVER, 1, "DEF1 +%d");
  116. Add(SP_NO_CASTCANCEL, 1, "DEF1 +%d");
  117. Add(SP_NO_CASTCANCEL2, 1, "DEF1 +%d");
  118. Add(SP_NO_SIZEFIX, 1, "DEF1 +%d");
  119. Add(SP_NO_MAGIC_DAMAGE, 1, "DEF1 +%d");
  120. Add(SP_NO_WEAPON_DAMAGE, 1, "DEF1 +%d");
  121. Add(SP_NO_MISC_DAMAGE, 1, "DEF1 +%d");
  122. Add(SP_NO_GEMSTONE, 1, "DEF1 +%d");
  123. Add(SP_INTRAVISION, 1, "DEF1 +%d");
  124. Add(SP_NO_KNOCKBACK, 1, "DEF1 +%d");
  125. Add(SP_SPLASH_RANGE, 1, "DEF1 +%d");
  126. Add(SP_SPLASH_ADD_RANGE, 1, "DEF1 +%d");
  127. Add(SP_SHORT_WEAPON_DAMAGE_RETURN, 1, "DEF1 +%d");
  128. Add(SP_LONG_WEAPON_DAMAGE_RETURN, 1, "DEF1 +%d");
  129. Add(SP_MAGIC_DAMAGE_RETURN, 1, "DEF1 +%d");
  130. Add(SP_ALL_STATS, 1, "DEF1 +%d");
  131. Add(SP_AGI_VIT, 1, "DEF1 +%d");
  132. Add(SP_AGI_DEX_STR, 1, "DEF1 +%d");
  133. Add(SP_PERFECT_HIDE, 1, "DEF1 +%d");
  134. Add(SP_UNBREAKABLE, 1, "DEF1 +%d");
  135. Add(SP_UNBREAKABLE_WEAPON, 1, "DEF1 +%d");
  136. Add(SP_UNBREAKABLE_ARMOR, 1, "DEF1 +%d");
  137. Add(SP_UNBREAKABLE_HELM, 1, "DEF1 +%d");
  138. Add(SP_UNBREAKABLE_SHIELD, 1, "DEF1 +%d");
  139. Add(SP_UNBREAKABLE_GARMENT, 1, "DEF1 +%d");
  140. Add(SP_UNBREAKABLE_SHOES, 1, "DEF1 +%d");
  141. Add(SP_CLASSCHANGE, 1, "DEF1 +%d");
  142. Add(SP_LONG_ATK_RATE, 1, "DEF1 +%d");
  143. Add(SP_BREAK_WEAPON_RATE, 1, "DEF1 +%d");
  144. Add(SP_BREAK_ARMOR_RATE, 1, "DEF1 +%d");
  145. Add(SP_ADD_STEAL_RATE, 1, "DEF1 +%d");
  146. Add(SP_DELAYRATE, 1, "DEF1 +%d");
  147. Add(SP_CRIT_ATK_RATE, 1, "DEF1 +%d");
  148. Add(SP_NO_REGEN, 1, "DEF1 +%d");
  149. Add(SP_UNSTRIPABLE_WEAPON, 1, "DEF1 +%d");
  150. Add(SP_UNSTRIPABLE, 1, "DEF1 +%d");
  151. Add(SP_UNSTRIPABLE_ARMOR, 1, "DEF1 +%d");
  152. Add(SP_UNSTRIPABLE_HELM, 1, "DEF1 +%d");
  153. Add(SP_UNSTRIPABLE_SHIELD, 1, "DEF1 +%d");
  154. Add(SP_HP_DRAIN_VALUE, 1, "DEF1 +%d");
  155. Add(SP_SP_DRAIN_VALUE, 1, "DEF1 +%d");
  156. Add(SP_SP_GAIN_VALUE, 1, "DEF1 +%d");
  157. Add(SP_HP_GAIN_VALUE, 1, "DEF1 +%d");
  158. Add(SP_LONG_SP_GAIN_VALUE, 1, "DEF1 +%d");
  159. Add(SP_LONG_HP_GAIN_VALUE, 1, "DEF1 +%d");
  160. Add(SP_MAGIC_SP_GAIN_VALUE, 1, "DEF1 +%d");
  161. Add(SP_MAGIC_HP_GAIN_VALUE, 1, "DEF1 +%d");
  162. Add(SP_ADD_HEAL_RATE, 1, "DEF1 +%d");
  163. Add(SP_ADD_HEAL2_RATE, 1, "DEF1 +%d");
  164. Add(SP_ADD_ITEM_HEAL_RATE, 1, "DEF1 +%d");
  165. Add(SP_EMATK, 1, "DEF1 +%d");
  166. Add(SP_ADD_VARIABLECAST, 1, "DEF1 +%d");
  167. Add(SP_FIXCASTRATE, 1, "DEF1 +%d");
  168. Add(SP_ADD_FIXEDCAST, 1, "DEF1 +%d");
  169. Add(SP_CASTRATE, 1, "DEF1 +%d");
  170. Add(SP_VARCASTRATE, 1, "DEF1 +%d");
  171. Add(SP_ADD_FIXEDCAST, 1, "DEF1 +%d");
  172. Add(SP_FIXCASTRATE, 1, "DEF1 +%d");
  173. Add(SP_VARCASTRATE, 1, "DEF1 +%d");
  174. Add(SP_CASTRATE, 1, "DEF1 +%d");
  175. Add(SP_ADDMAXWEIGHT, 1, "DEF1 +%d");
  176. Add(SP_ABSORB_DMG_MAXHP, 1, "DEF1 +%d");
  177. Add(SP_CRITICAL_RANGEATK, 1, "DEF1 +%d");
  178. Add(SP_WEAPON_ATK_RATE, 1, "DEF1 +%d");
  179. Add(SP_WEAPON_MATK_RATE, 1, "DEF1 +%d");
  180. Add(SP_NO_MADO_FUEL, 1, "DEF1 +%d");
  181. Add(SP_NO_WALK_DELAY, 1, "DEF1 +%d");
  182.  
  183. Add(SP_ADDELE, 2, "SP_ADDELE %d +%d%");
  184. Add(SP_ADDRACE, 2, "SP_ADDELE %d +%d%");
  185. Add(SP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
  186. Add(SP_ADDSIZE, 2, "SP_ADDELE %d +%d%");
  187. Add(SP_SUBELE, 2, "SP_ADDELE %d +%d%");
  188. Add(SP_SUBRACE, 2, "SP_ADDELE %d +%d%");
  189. Add(SP_SUBCLASS, 2, "SP_ADDELE %d +%d%");
  190. Add(SP_ADDEFF, 2, "SP_ADDELE %d +%d%");
  191. Add(SP_ADDEFF2, 2, "SP_ADDELE %d +%d%");
  192. Add(SP_RESEFF, 2, "SP_ADDELE %d +%d%");
  193. Add(SP_MAGIC_ADDELE, 2, "SP_ADDELE %d +%d%");
  194. Add(SP_MAGIC_ADDRACE, 2, "SP_ADDELE %d +%d%");
  195. Add(SP_MAGIC_ADDCLASS, 2, "SP_ADDELE %d +%d%");
  196. Add(SP_MAGIC_ADDSIZE, 2, "SP_ADDELE %d +%d%");
  197. Add(SP_MAGIC_ATK_ELE, 2, "SP_ADDELE %d +%d%");
  198. Add(SP_ADD_DAMAGE_CLASS, 2, "SP_ADDELE %d +%d%");
  199. Add(SP_ADD_MAGIC_DAMAGE_CLASS, 2, "SP_ADDELE %d +%d%");
  200. Add(SP_ADD_DEF_MONSTER, 2, "SP_ADDELE %d +%d%");
  201. Add(SP_ADD_MDEF_MONSTER, 2, "SP_ADDELE %d +%d%");
  202. Add(SP_HP_DRAIN_RATE, 2, "SP_ADDELE %d +%d%");
  203. Add(SP_SP_DRAIN_RATE, 2, "SP_ADDELE %d +%d%");
  204. Add(SP_SP_VANISH_RATE, 2, "SP_ADDELE %d +%d%");
  205. Add(SP_HP_VANISH_RATE, 2, "SP_ADDELE %d +%d%");
  206. Add(SP_GET_ZENY_NUM, 2, "SP_ADDELE %d +%d%");
  207. Add(SP_ADD_GET_ZENY_NUM, 2, "SP_ADDELE %d +%d%");
  208. Add(SP_WEAPON_COMA_ELE, 2, "SP_ADDELE %d +%d%");
  209. Add(SP_WEAPON_COMA_RACE, 2, "SP_ADDELE %d +%d%");
  210. Add(SP_WEAPON_COMA_CLASS, 2, "SP_ADDELE %d +%d%");
  211. Add(SP_WEAPON_ATK, 2, "SP_ADDELE %d +%d%");
  212. Add(SP_WEAPON_DAMAGE_RATE, 2, "SP_ADDELE %d +%d%");
  213. Add(SP_CRITICAL_ADDRACE, 2, "SP_ADDELE %d +%d%");
  214. Add(SP_ADDEFF_WHENHIT, 2, "SP_ADDELE %d +%d%");
  215. Add(SP_SKILL_ATK, 2, "SP_ADDELE %d +%d%");
  216. Add(SP_SKILL_HEAL, 2, "SP_ADDELE %d +%d%");
  217. Add(SP_SKILL_HEAL2, 2, "SP_ADDELE %d +%d%");
  218. Add(SP_ADD_SKILL_BLOW, 2, "SP_ADDELE %d +%d%");
  219. Add(SP_HP_LOSS_RATE, 2, "SP_ADDELE %d +%d%");
  220. Add(SP_HP_REGEN_RATE, 2, "SP_ADDELE %d +%d%");
  221. Add(SP_REGEN_PERCENT_HP, 2, "SP_ADDELE %d +%d%");
  222. Add(SP_REGEN_PERCENT_SP, 2, "SP_ADDELE %d +%d%");
  223. Add(SP_ADDRACE2, 2, "SP_ADDELE %d +%d%");
  224. Add(SP_SUBSIZE, 2, "SP_ADDELE %d +%d%");
  225. Add(SP_SUBRACE2, 2, "SP_ADDELE %d +%d%");
  226. Add(SP_ADD_ITEM_HEAL_RATE, 2, "SP_ADDELE %d +%d%");
  227. Add(SP_ADD_ITEMGROUP_HEAL_RATE, 2, "SP_ADDELE %d +%d%");
  228. Add(SP_EXP_ADDRACE, 2, "SP_ADDELE %d +%d%");
  229. Add(SP_EXP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
  230. Add(SP_SP_GAIN_RACE, 2, "SP_ADDELE %d +%d%");
  231. Add(SP_ADD_MONSTER_DROP_ITEM, 2, "SP_ADDELE %d +%d%");
  232. Add(SP_ADD_MONSTER_DROP_ITEMGROUP, 2, "SP_ADDELE %d +%d%");
  233. Add(SP_SP_LOSS_RATE, 2, "SP_ADDELE %d +%d%");
  234. Add(SP_SP_REGEN_RATE, 2, "SP_ADDELE %d +%d%");
  235. Add(SP_HP_DRAIN_VALUE_RACE, 2, "SP_ADDELE %d +%d%");
  236. Add(SP_SP_DRAIN_VALUE_RACE, 2, "SP_ADDELE %d +%d%");
  237. Add(SP_HP_DRAIN_VALUE_CLASS, 2, "SP_ADDELE %d +%d%");
  238. Add(SP_SP_DRAIN_VALUE_CLASS, 2, "SP_ADDELE %d +%d%");
  239. Add(SP_IGNORE_MDEF_RACE_RATE, 2, "SP_ADDELE %d +%d%");
  240. Add(SP_IGNORE_MDEF_CLASS_RATE, 2, "SP_ADDELE %d +%d%");
  241. Add(SP_IGNORE_DEF_RACE_RATE, 2, "SP_ADDELE %d +%d%");
  242. Add(SP_IGNORE_DEF_CLASS_RATE, 2, "SP_ADDELE %d +%d%");
  243. Add(SP_SKILL_USE_SP_RATE, 2, "SP_ADDELE %d +%d%");
  244. Add(SP_SKILL_DELAY:, 2, "SP_ADDELE %d +%d%");
  245. Add(SP_SKILL_COOLDOWN, 2, "SP_ADDELE %d +%d%");
  246. Add(SP_SKILL_VARIABLECAST, 2, "SP_ADDELE %d +%d%");
  247. Add(SP_SKILL_FIXEDCAST, 2, "SP_ADDELE %d +%d%");
  248. Add(SP_CASTRATE, 2, "SP_ADDELE %d +%d%");
  249. Add(SP_VARCASTRATE, 2, "SP_ADDELE %d +%d%");
  250. Add(SP_FIXCASTRATE, 2, "SP_ADDELE %d +%d%");
  251. Add(SP_SKILL_FIXEDCAST, 2, "SP_ADDELE %d +%d%");
  252. Add(SP_FIXCASTRATE, 2, "SP_ADDELE %d +%d%");
  253. Add(SP_VARCASTRATE, 2, "SP_ADDELE %d +%d%");
  254. Add(SP_CASTRATE, 2, "SP_ADDELE %d +%d%");
  255. Add(SP_SKILL_USE_SP, 2, "SP_ADDELE %d +%d%");
  256. Add(SP_SUB_SKILL, 2, "SP_ADDELE %d +%d%");
  257. Add(SP_SUBDEF_ELE, 2, "SP_ADDELE %d +%d%");
  258. Add(SP_COMA_CLASS, 2, "SP_ADDELE %d +%d%");
  259. Add(SP_COMA_RACE, 2, "SP_ADDELE %d +%d%");
  260. Add(SP_MAGIC_ADDRACE2, 2, "SP_ADDELE %d +%d%");
  261. Add(SP_IGNORE_MDEF_RACE2_RATE, 2, "SP_ADDELE %d +%d%");
  262. Add(SP_DROP_ADDRACE, 2, "SP_ADDELE %d +%d%");
  263. Add(SP_DROP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
  264.  
  265. freeloop(0);
  266. end;
  267.  
  268. function Add {
  269. .@idx = getarg(0, -1);
  270. .@arg = getarg(1, -1);
  271. .@str$ = getarg(2, "");
  272. if (.@str$ == "" || .@idx == -1 || .@arg == -1)
  273. {
  274. debugmes sprintf("%s : invalid data %d, %d, %s", strnpcinfo(1), .@idx, .@arg, .@str$);
  275. return;
  276. }
  277. .Param[.@idx] = .@arg;
  278. .Bonus$[.@idx] = .@str$;
  279. return;
  280. }
  281.  
  282. }
Add Comment
Please, Sign In to add comment