Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- storage.cpp - function storage_additem
- static int storage_additem(struct map_session_data* sd, struct s_storage *stor, struct item *it, int amount);
- variable
- sd->premiumStorage.stor_id : number of storage, should match with storage configured at inter_server.yml
- */
- prontera,150,150,0 script Deposit Headgear 112,{
- mes .@npc_name$ = "[^0080FF"+ strnpcinfo(1) +"^000000]";
- mes F_Hi() +" "+ strcharinfo(0);
- mes "Do you need something ?";
- .@s = select("~ Deposit Headgear:~ Adv Book:~ Just Passing By.");
- clear;
- mes .@npc_name$;
- switch (.@s)
- {
- case 1: break;
- case 2:
- .@size = getdepositdata();
- if (!.@size)
- {
- mes "no data found";
- close;
- }
- for (.@i = 0; .@i < .@size; .@i++)
- {
- .@j = .@type[.@i];
- if (.Param[.@j] == 2)
- .@str$ = sprintf(.Bonus$[.@j], .@val1[.@i], .@val2[.@i]);
- else if (.Param[.@j] == 1)
- .@str$ = sprintf(.Bonus$[.@j], .@val1[.@i]);
- else
- .@str = "Undefined - "+ .@j +" "+ .@val1[.@i] +" "+ .@val2[.@i];
- mes .@str$;
- }
- close;
- case 3:
- mes "Alright, "+ F_Bye();
- close;
- }
- mes "Only Headgear can be put inside.";
- mes "if deposit bonus is not activated after you put the headgear inside, try to re equip your gear.";
- close2;
- openstorage2 1, STOR_MODE_GET|STOR_MODE_PUT;
- end;
- OnInit:
- .stor = 1;
- function Add;
- freeloop(1);
- Add(SP_STR, 1, "STR +%d");
- Add(SP_AGI, 1, "AGI +%d");
- Add(SP_VIT, 1, "VIT +%d");
- Add(SP_INT, 1, "INT +%d");
- Add(SP_DEX, 1, "DEX +%d");
- Add(SP_LUK, 1, "LUK +%d");
- Add(SP_ATK1, 1, "ATK +%d");
- Add(SP_ATK2, 1, "ATK2 +%d");
- Add(SP_BASE_ATK, 1, "BASE ATK +%d");
- Add(SP_DEF1, 1, "DEF1 +%d");
- Add(SP_DEF2, 1, "DEF2 +%d");
- Add(SP_MDEF1, 1, "MDEF1 +%d");
- Add(SP_MDEF2, 1, "MDEF2 +%d");
- Add(SP_HIT, 1, "HIT +%d");
- Add(SP_FLEE1, 1, "FLEE1 +%d");
- Add(SP_FLEE2, 1, "FLEE2 +%d");
- Add(SP_CRITICAL, 1, "CRITICAL +%d");
- Add(SP_ATKELE, 1, "ATK ELE +%d");
- Add(SP_DEFELE, 1, "DEF ELE +%d");
- Add(SP_MAXHP, 1, "MAX HP +%d");
- Add(SP_MAXSP, 1, "MAX SP +%d");
- Add(SP_MAXHPRATE, 1, "MAX HP RATE +%d");
- Add(SP_MAXSPRATE, 1, "MAX SP RATE +%d");
- Add(SP_SPRATE, 1, "SP CONSUMPTION RATE +%d");
- Add(SP_ATTACKRANGE, 1, "ATK RANGE +%d");
- Add(SP_SPEED_RATE, 1, "SPEED RATE +%d");
- Add(SP_SPEED_ADDRATE, 1, "DEF1 +%d");
- Add(SP_ASPD, 1, "DEF1 +%d");
- Add(SP_ASPD_FIX, 1, "DEF1 +%d");
- Add(SP_ASPD_RATE, 1, "DEF1 +%d");
- Add(SP_HP_RECOV_RATE, 1, "DEF1 +%d");
- Add(SP_SP_RECOV_RATE, 1, "DEF1 +%d");
- Add(SP_CRITICAL_DEF, 1, "DEF1 +%d");
- Add(SP_NEAR_ATK_DEF, 1, "DEF1 +%d");
- Add(SP_LONG_ATK_DEF, 1, "DEF1 +%d");
- Add(SP_DOUBLE_RATE, 1, "DEF1 +%d");
- Add(SP_DOUBLE_ADD_RATE, 1, "DEF1 +%d");
- Add(SP_MATK_RATE, 1, "DEF1 +%d");
- Add(SP_IGNORE_DEF_ELE, 1, "DEF1 +%d");
- Add(SP_IGNORE_DEF_RACE, 1, "DEF1 +%d");
- Add(SP_IGNORE_DEF_CLASS, 1, "DEF1 +%d");
- Add(SP_ATK_RATE, 1, "DEF1 +%d");
- Add(SP_MAGIC_ATK_DEF, 1, "DEF1 +%d");
- Add(SP_MISC_ATK_DEF, 1, "DEF1 +%d");
- Add(SP_IGNORE_MDEF_ELE, 1, "DEF1 +%d");
- Add(SP_IGNORE_MDEF_RACE, 1, "DEF1 +%d");
- Add(SP_PERFECT_HIT_RATE, 1, "DEF1 +%d");
- Add(SP_PERFECT_HIT_ADD_RATE, 1, "DEF1 +%d");
- Add(SP_CRITICAL_RATE, 1, "DEF1 +%d");
- Add(SP_DEF_RATIO_ATK_ELE, 1, "DEF1 +%d");
- Add(SP_DEF_RATIO_ATK_RACE, 1, "DEF1 +%d");
- Add(SP_DEF_RATIO_ATK_CLASS, 1, "DEF1 +%d");
- Add(SP_HIT_RATE, 1, "DEF1 +%d");
- Add(SP_FLEE_RATE, 1, "DEF1 +%d");
- Add(SP_FLEE2_RATE, 1, "DEF1 +%d");
- Add(SP_DEF_RATE, 1, "DEF1 +%d");
- Add(SP_DEF2_RATE, 1, "DEF1 +%d");
- Add(SP_MDEF_RATE, 1, "DEF1 +%d");
- Add(SP_MDEF2_RATE, 1, "DEF1 +%d");
- Add(SP_RESTART_FULL_RECOVER, 1, "DEF1 +%d");
- Add(SP_NO_CASTCANCEL, 1, "DEF1 +%d");
- Add(SP_NO_CASTCANCEL2, 1, "DEF1 +%d");
- Add(SP_NO_SIZEFIX, 1, "DEF1 +%d");
- Add(SP_NO_MAGIC_DAMAGE, 1, "DEF1 +%d");
- Add(SP_NO_WEAPON_DAMAGE, 1, "DEF1 +%d");
- Add(SP_NO_MISC_DAMAGE, 1, "DEF1 +%d");
- Add(SP_NO_GEMSTONE, 1, "DEF1 +%d");
- Add(SP_INTRAVISION, 1, "DEF1 +%d");
- Add(SP_NO_KNOCKBACK, 1, "DEF1 +%d");
- Add(SP_SPLASH_RANGE, 1, "DEF1 +%d");
- Add(SP_SPLASH_ADD_RANGE, 1, "DEF1 +%d");
- Add(SP_SHORT_WEAPON_DAMAGE_RETURN, 1, "DEF1 +%d");
- Add(SP_LONG_WEAPON_DAMAGE_RETURN, 1, "DEF1 +%d");
- Add(SP_MAGIC_DAMAGE_RETURN, 1, "DEF1 +%d");
- Add(SP_ALL_STATS, 1, "DEF1 +%d");
- Add(SP_AGI_VIT, 1, "DEF1 +%d");
- Add(SP_AGI_DEX_STR, 1, "DEF1 +%d");
- Add(SP_PERFECT_HIDE, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_WEAPON, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_ARMOR, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_HELM, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_SHIELD, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_GARMENT, 1, "DEF1 +%d");
- Add(SP_UNBREAKABLE_SHOES, 1, "DEF1 +%d");
- Add(SP_CLASSCHANGE, 1, "DEF1 +%d");
- Add(SP_LONG_ATK_RATE, 1, "DEF1 +%d");
- Add(SP_BREAK_WEAPON_RATE, 1, "DEF1 +%d");
- Add(SP_BREAK_ARMOR_RATE, 1, "DEF1 +%d");
- Add(SP_ADD_STEAL_RATE, 1, "DEF1 +%d");
- Add(SP_DELAYRATE, 1, "DEF1 +%d");
- Add(SP_CRIT_ATK_RATE, 1, "DEF1 +%d");
- Add(SP_NO_REGEN, 1, "DEF1 +%d");
- Add(SP_UNSTRIPABLE_WEAPON, 1, "DEF1 +%d");
- Add(SP_UNSTRIPABLE, 1, "DEF1 +%d");
- Add(SP_UNSTRIPABLE_ARMOR, 1, "DEF1 +%d");
- Add(SP_UNSTRIPABLE_HELM, 1, "DEF1 +%d");
- Add(SP_UNSTRIPABLE_SHIELD, 1, "DEF1 +%d");
- Add(SP_HP_DRAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_SP_DRAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_SP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_HP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_LONG_SP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_LONG_HP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_MAGIC_SP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_MAGIC_HP_GAIN_VALUE, 1, "DEF1 +%d");
- Add(SP_ADD_HEAL_RATE, 1, "DEF1 +%d");
- Add(SP_ADD_HEAL2_RATE, 1, "DEF1 +%d");
- Add(SP_ADD_ITEM_HEAL_RATE, 1, "DEF1 +%d");
- Add(SP_EMATK, 1, "DEF1 +%d");
- Add(SP_ADD_VARIABLECAST, 1, "DEF1 +%d");
- Add(SP_FIXCASTRATE, 1, "DEF1 +%d");
- Add(SP_ADD_FIXEDCAST, 1, "DEF1 +%d");
- Add(SP_CASTRATE, 1, "DEF1 +%d");
- Add(SP_VARCASTRATE, 1, "DEF1 +%d");
- Add(SP_ADD_FIXEDCAST, 1, "DEF1 +%d");
- Add(SP_FIXCASTRATE, 1, "DEF1 +%d");
- Add(SP_VARCASTRATE, 1, "DEF1 +%d");
- Add(SP_CASTRATE, 1, "DEF1 +%d");
- Add(SP_ADDMAXWEIGHT, 1, "DEF1 +%d");
- Add(SP_ABSORB_DMG_MAXHP, 1, "DEF1 +%d");
- Add(SP_CRITICAL_RANGEATK, 1, "DEF1 +%d");
- Add(SP_WEAPON_ATK_RATE, 1, "DEF1 +%d");
- Add(SP_WEAPON_MATK_RATE, 1, "DEF1 +%d");
- Add(SP_NO_MADO_FUEL, 1, "DEF1 +%d");
- Add(SP_NO_WALK_DELAY, 1, "DEF1 +%d");
- Add(SP_ADDELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDSIZE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBCLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDEFF, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDEFF2, 2, "SP_ADDELE %d +%d%");
- Add(SP_RESEFF, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ADDELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ADDRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ADDCLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ADDSIZE, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ATK_ELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_DAMAGE_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_MAGIC_DAMAGE_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_DEF_MONSTER, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_MDEF_MONSTER, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_DRAIN_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_DRAIN_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_VANISH_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_VANISH_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_GET_ZENY_NUM, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_GET_ZENY_NUM, 2, "SP_ADDELE %d +%d%");
- Add(SP_WEAPON_COMA_ELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_WEAPON_COMA_RACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_WEAPON_COMA_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_WEAPON_ATK, 2, "SP_ADDELE %d +%d%");
- Add(SP_WEAPON_DAMAGE_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_CRITICAL_ADDRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDEFF_WHENHIT, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_ATK, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_HEAL, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_HEAL2, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_SKILL_BLOW, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_LOSS_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_REGEN_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_REGEN_PERCENT_HP, 2, "SP_ADDELE %d +%d%");
- Add(SP_REGEN_PERCENT_SP, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADDRACE2, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBSIZE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBRACE2, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_ITEM_HEAL_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_ITEMGROUP_HEAL_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_EXP_ADDRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_EXP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_GAIN_RACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_MONSTER_DROP_ITEM, 2, "SP_ADDELE %d +%d%");
- Add(SP_ADD_MONSTER_DROP_ITEMGROUP, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_LOSS_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_REGEN_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_DRAIN_VALUE_RACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_DRAIN_VALUE_RACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_HP_DRAIN_VALUE_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_SP_DRAIN_VALUE_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_IGNORE_MDEF_RACE_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_IGNORE_MDEF_CLASS_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_IGNORE_DEF_RACE_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_IGNORE_DEF_CLASS_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_USE_SP_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_DELAY:, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_COOLDOWN, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_VARIABLECAST, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_FIXEDCAST, 2, "SP_ADDELE %d +%d%");
- Add(SP_CASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_VARCASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_FIXCASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_FIXEDCAST, 2, "SP_ADDELE %d +%d%");
- Add(SP_FIXCASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_VARCASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_CASTRATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_SKILL_USE_SP, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUB_SKILL, 2, "SP_ADDELE %d +%d%");
- Add(SP_SUBDEF_ELE, 2, "SP_ADDELE %d +%d%");
- Add(SP_COMA_CLASS, 2, "SP_ADDELE %d +%d%");
- Add(SP_COMA_RACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_MAGIC_ADDRACE2, 2, "SP_ADDELE %d +%d%");
- Add(SP_IGNORE_MDEF_RACE2_RATE, 2, "SP_ADDELE %d +%d%");
- Add(SP_DROP_ADDRACE, 2, "SP_ADDELE %d +%d%");
- Add(SP_DROP_ADDCLASS, 2, "SP_ADDELE %d +%d%");
- freeloop(0);
- end;
- function Add {
- .@idx = getarg(0, -1);
- .@arg = getarg(1, -1);
- .@str$ = getarg(2, "");
- if (.@str$ == "" || .@idx == -1 || .@arg == -1)
- {
- debugmes sprintf("%s : invalid data %d, %d, %s", strnpcinfo(1), .@idx, .@arg, .@str$);
- return;
- }
- .Param[.@idx] = .@arg;
- .Bonus$[.@idx] = .@str$;
- return;
- }
- }
Add Comment
Please, Sign In to add comment