summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/atcommand_athena.conf2
-rw-r--r--db/magicmushroom_db.txt5
-rw-r--r--db/pre-re/item_db.txt10
-rw-r--r--db/re/item_db.txt10
-rw-r--r--doc/atcommands.txt33
-rw-r--r--doc/script_commands.txt14
-rw-r--r--npc/merchants/buying_shops.txt269
-rw-r--r--sql-files/item_db.sql10
-rw-r--r--sql-files/item_db_re.sql10
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/skill.h2
11 files changed, 244 insertions, 123 deletions
diff --git a/conf/atcommand_athena.conf b/conf/atcommand_athena.conf
index 723dd7945..84acdcf23 100644
--- a/conf/atcommand_athena.conf
+++ b/conf/atcommand_athena.conf
@@ -53,6 +53,8 @@ aliases: {
monsterignore: ["battleignore"]
raise: ["revive"]
kill: ["die"]
+ guildstorage: ["gstorage"]
+ accinfo: ["accountinfo"]
}
/* Commands help file */
diff --git a/db/magicmushroom_db.txt b/db/magicmushroom_db.txt
index 70fcf3432..5705e537e 100644
--- a/db/magicmushroom_db.txt
+++ b/db/magicmushroom_db.txt
@@ -18,9 +18,10 @@
151 //TF_PICKSTONE
157 //MG_ENERGYCOAT
249 //CR_AUTOGUARD
-261 //MO_CALLSPIRITS
256 //CR_PROVIDENCE
-318 //BA_FROSTJOKER
+261 //MO_CALLSPIRITS
+270 //MO_EXPLOSIONSPIRITS
+326 //DC_SCREAM
500 //GS_GLITTERING
527 //NJ_TATAMIGAESHI
531 //NJ_UTSUSEMI
diff --git a/db/pre-re/item_db.txt b/db/pre-re/item_db.txt
index 1008ae96a..fee98e460 100644
--- a/db/pre-re/item_db.txt
+++ b/db/pre-re/item_db.txt
@@ -5161,11 +5161,11 @@
12733,Runstone_Hagalas,Hagalaz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_STONEHARDSKIN",1; },{},{}
// Rune Knight Rune Ores
-12734,Runstone_Quality,Luxurious Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 1; },{},{}
-12735,Runstone_Ancient,Ancient Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 2; },{},{}
-12736,Runstone_Mystic,Mystic Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 3; },{},{}
-12737,Runstone_Ordinary,General Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 4; },{},{}
-12738,Runstone_Rare,Rare Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 5; },{},{}
+12734,Runstone_Quality,Luxurious Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 5; },{},{}
+12735,Runstone_Ancient,Ancient Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 11; },{},{}
+12736,Runstone_Mystic,Mystic Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 14; },{},{}
+12737,Runstone_Ordinary,General Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 2; },{},{}
+12738,Runstone_Rare,Rare Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 8; },{},{}
12739,Snow_Flower,Snow Flowers,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12740,Inc_Str_Scroll,Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
diff --git a/db/re/item_db.txt b/db/re/item_db.txt
index 59b8f4c57..f2b59072a 100644
--- a/db/re/item_db.txt
+++ b/db/re/item_db.txt
@@ -5688,11 +5688,11 @@
12733,Runstone_Hagalas,Hagalaz Rune,11,100,,100,,,,,0xFFFFFFFF,8,2,,,,,,{ itemskill "RK_STONEHARDSKIN",1; },{},{}
// Rune Knight Rune Ores
-12734,Runstone_Quality,Luxurious Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 1; },{},{}
-12735,Runstone_Ancient,Ancient Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 2; },{},{}
-12736,Runstone_Mystic,Mystic Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 3; },{},{}
-12737,Runstone_Ordinary,General Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 4; },{},{}
-12738,Runstone_Rare,Rare Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 5; },{},{}
+12734,Runstone_Quality,Luxurious Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 5; },{},{}
+12735,Runstone_Ancient,Ancient Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 11; },{},{}
+12736,Runstone_Mystic,Mystic Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 14; },{},{}
+12737,Runstone_Ordinary,General Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 2; },{},{}
+12738,Runstone_Rare,Rare Rune,0,2,,100,,,,,0x00000080,8,2,,,,,,{ makerune 8; },{},{}
12739,Snow_Flower,Snow Flowers,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12740,Inc_Str_Scroll,Amplification Scroll,2,1,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
diff --git a/doc/atcommands.txt b/doc/atcommands.txt
index e472c9908..b5a394031 100644
--- a/doc/atcommands.txt
+++ b/doc/atcommands.txt
@@ -281,7 +281,7 @@ prontera (x= 165, y= 198) 01 00 00 00 00
| 2. Database Commands |
========================
-@monsterinfo <mob name/ID>
+@mobinfo <mob name/ID>
Displays monster information (rates, stats, drops, MVP data).
@@ -505,6 +505,25 @@ If @jail was used, the chat window will display "You have been jailed indefinite
---------------------------------------
+@accinfo <player name/account id>
+
+Searches for an account by ID or a character name, and outputs detailed information.
+To search partial names, "%" can be used as a wildcard.
+
+Example:
+@accinfo Test%
+
+Output:
+-- Account 2000001 --
+User: user123 | GM Group: 0 | State: 0
+Password: password123
+Account e-mail: a@a.com
+Last IP: 127.0.0.1 (Unknown)
+This user has logged 27 times, the last time were at 2012-11-24 17:29:07
+-- Character Details --
+[Slot/CID: 0/150001] Test1 | High Swordsman | Level: 99/50 | Off
+[Slot/CID: 1/150002] Test2 | Rune Knight | Level: 150/50 | On
+
======================
| 4. Action Commands |
======================
@@ -705,7 +724,7 @@ If no coordinates are entered, a random location will be chosen.
---------------------------------------
-@goto <player name/ID>
+@jumpto <player name/ID>
@follow <player name>
Warps to the specified player.
@@ -791,7 +810,7 @@ Resets a Star Gladiator's marked maps.
---------------------------------------
-@job <job name/ID>
+@jobchange <job name/ID>
Changes your job.
If no job is given, a list of all available jobs will be returned.
@@ -914,7 +933,7 @@ Additionally, @disguiseall/@undisguiseall will disguise all online players.
---------------------------------------
-@battleignore
+@monsterignore
Makes you immune to attacks (monsters/players/skills cannot target/hit you).
@@ -1228,7 +1247,7 @@ You must be the guildmaster to use this command.
---------------------------------------
-@gstorage
+@guildstorage
Opens your guild storage.
@@ -1319,7 +1338,7 @@ Creates the specified homunculus.
---------------------------------------
-@homevolve
+@homevolution
Evolves your homunculus, if possible.
@@ -1362,7 +1381,7 @@ Command what the player's homunculus will say.
---------------------------------------
-@hlvl <+/- amount>
+@homlevel <+/- amount>
Changes homunculus level by the specified amount.
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index ebb53eb70..087daadd5 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -4494,12 +4494,24 @@ Valid dish levels are:
19 - Level 9 Dish
20 - Level 10 Dish
-Altough it's required to set a dish level, it doesn't matter if you set it to 1
+Although it's required to set a dish level, it doesn't matter if you set it to 1
and you want to cook a level 10 dish, as long as you got the required incredients
to cook the dish the command works.
---------------------------------------
+*makerune <% success bonus>;
+
+This command will open a rune crafting window on the client connected to the
+invoking character. Since this command is officially used in rune ores, a bonus
+success rate must be specified (which adds to the base formula).
+
+You can see the full list of runes that can be produced in 'db/produce_db.txt'.
+The window will not be empty only if the invoking character can actually produce
+the items of that type and has the appropriate raw materials in their inventory.
+
+---------------------------------------
+
*successremovecards <equipment slot>;
This command will remove all cards from the item found in the specified
diff --git a/npc/merchants/buying_shops.txt b/npc/merchants/buying_shops.txt
index 19bbbe28f..4e9065b8e 100644
--- a/npc/merchants/buying_shops.txt
+++ b/npc/merchants/buying_shops.txt
@@ -1,105 +1,102 @@
//===== rAthena Script =======================================
-//= Buying Shop Licenses
+//= Buying Shop Scripts
//===== By: ==================================================
-//= Kisuka
+//= Kisuka, skyiing, Scriptor
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
-//= Buying Shop Licenses
+//= Buying Shop licenses and catalogs.
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
+//= 1.1 Added Catalog Magician. [Euphy]
//============================================================
// Black Marketeer (Buy Licenses - Non-Merchant Classes)
//============================================================
que_job01,68,84,1 script Black Marketeer#Buying 881,{
- if(getskilllv("ALL_BUYING_STORE") == 1) {
+ if (getskilllv("ALL_BUYING_STORE") == 1) {
mes "[Mr. Jass]";
mes "Hey, you already made a contract with Hugh.";
mes "I don't have any business with you.";
close;
- }else{
+ }
+ mes "[Mr. Jass]";
+ mes "You must need something badly to come to find me.";
+ mes "What do you want?";
+ next;
+ switch(select("Bulk Buyer Shop License:Who are you?:Nothing, nothing!")) {
+ case 1:
mes "[Mr. Jass]";
- mes "You must need something badly to come to find me.";
- mes "What do you want?";
+ mes "I knew it!";
+ mes "Sure, I can make it for you.";
+ mes "Mine looks just like the authentic one that Merchants get from that bastard Mr. Hugh!";
next;
- switch(select("Bulk Buyer Shop License:Who are you?:Nothing, nothing!")) {
- case 1:
- mes "[Mr. Jass]";
- mes "I knew it!";
- mes "Sure, I can make it for you.";
- mes "Mine looks just like the authentic one that Merchants get from that bastard Mr. Hugh!";
- next;
- mes "[Mr. Jass]";
- mes "And my license is better 'cuz you don't need ta' learn any skills.";
- mes "How many do you want?";
- next;
+ mes "[Mr. Jass]";
+ mes "And my license is better 'cuz you don't need ta' learn any skills.";
+ mes "How many do you want?";
+ next;
+ mes "[Mr. Jass]";
+ mes "Just so you know, I can only make them in small quantities, up to 10 at a time.";
+ mes "It'll cost 500 zeny for each one.";
+ next;
+ while(1) {
+ input .@input;
mes "[Mr. Jass]";
- mes "Just so you know, I can only make them in small quantities, up to 10 at a time.";
- mes "It'll cost 500 zeny for each one.";
- next;
- while(1) {
- input .@input;
- mes "[Mr. Jass]";
- if(.@input == 0) {
- mes "Don't you need those licenses?";
- close;
- }
- else if(.@input > 10) {
- mes "I can only make up to 10 at a time, you know.";
+ if (.@input == 0) {
+ mes "Don't you need those licenses?";
+ close;
+ } else if (.@input > 10) {
+ mes "I can only make up to 10 at a time, you know.";
+ next;
+ } else {
+ mes "It'll cost "+(.@input*500)+" zeny.";
+ if (Zeny < (.@input*500)) {
+ mes "but you don't have enough money.";
next;
+ mes "[Mr. Jass]";
+ mes "Don't you know the basics of business? Everything has a price.";
+ mes "If you want something, you gotta pay for it.";
+ } else {
+ mes "Ha... Ha ha ha!";
+ mes "Mr. Hugh, I'll take over your license business. You'll see!";
+ mes "*Giggle Giggle*";
+ getitem 12548,.@input; //Shabby_Purchase_Street
+ set Zeny,Zeny-(.@input*500);
}
- else {
- mes "It'll cost "+(.@input*500)+" zeny.";
- if(Zeny < (.@input*500)) {
- mes "but you don't have enough money.";
- next;
- mes "[Mr. Jass]";
- mes "Don't you know the basics of business? Everything has a price.";
- mes "If you want something, you gotta pay for it.";
- }else{
- mes "Ha... Ha ha ha!";
- mes "Mr. Hugh, I'll take over your license business. You'll see!";
- mes "*Giggle Giggle*";
- getitem 12548,.@input; // Shabby_Purchase_Street
- set Zeny,Zeny-(.@input*500);
- }
- close;
- }
+ close;
}
-
- case 2:
- mes "[Mr. Jass]";
- mes "I left my hometown a long time ago.";
- mes "It's meaningless to ask who I am because all I've got left now is my hatred.";
- next;
- mes "[Mr. Jass]";
- mes "...";
- mes "Hugh is a corrupt merchant with no sense of business ethics.";
- mes "My sole purpose in life is to destroy Hugh.";
- next;
- mes "[Mr. Jass]";
- mes "Aw, I drank too much... (*Hic*)";
- mes "That's just the alohol talking.";
- mes "Please forget anything I said.";
- close;
- case 3:
- mes "[Mr. Jass]";
- mes "Alright, alright! You don't have to yell.";
- mes "Just leave me alone if you've got no business with me.";
- close;
}
+ case 2:
+ mes "[Mr. Jass]";
+ mes "I left my hometown a long time ago.";
+ mes "It's meaningless to ask who I am because all I've got left now is my hatred.";
+ next;
+ mes "[Mr. Jass]";
+ mes "...";
+ mes "Hugh is a corrupt merchant with no sense of business ethics.";
+ mes "My sole purpose in life is to destroy Hugh.";
+ next;
+ mes "[Mr. Jass]";
+ mes "Aw, I drank too much... (*Hic*)";
+ mes "That's just the alohol talking.";
+ mes "Please forget anything I said.";
+ close;
+ case 3:
+ mes "[Mr. Jass]";
+ mes "Alright, alright! You don't have to yell.";
+ mes "Just leave me alone if you've got no business with me.";
+ close;
}
}
// Purchasing Team (Learn Skill - Merchant Classes)
//============================================================
alberta_in,58,52,4 script Purchasing Team#Buying 59,{
- if(BaseClass == Job_Merchant && getskilllv("MC_VENDING") >= 1) {
- if(getskilllv("ALL_BUYING_STORE") == 1) {
- mes "[Mr. Hugh]";
+ mes "[Mr. Hugh]";
+ if (BaseClass == Job_Merchant && getskilllv("MC_VENDING") >= 1) {
+ if (getskilllv("ALL_BUYING_STORE") == 1) {
mes "I'm Hugh from the Purchasing Team.";
mes "How may I help you today?";
next;
@@ -116,29 +113,26 @@ alberta_in,58,52,4 script Purchasing Team#Buying 59,{
while(1) {
input .@input;
mes "[Mr. Hugh]";
- if(.@input == 0) {
+ if (.@input == 0) {
mes "You have cancelled the trade.";
mes "Have a good day.";
close;
- }
- if(.@input > 50) {
+ } else if (.@input > 50) {
mes "Please enter a value of 50 or less.";
next;
- }
- else{
+ } else {
mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
- if(Zeny < (.@input*200)) {
+ if (Zeny < (.@input*200)) {
mes "but you don't seem to have enough money.";
- }else{
+ } else {
mes "Thank you for your patronage.";
- getitem 6377,.@input; // Buy_Stall_Permit
+ getitem 6377,.@input; //Buy_Stall_Permit
set Zeny,Zeny-(.@input*200);
}
close;
}
}
- }else{
- mes "[Mr. Hugh]";
+ } else {
mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
mes "You're...";
next;
@@ -204,11 +198,11 @@ alberta_in,58,52,4 script Purchasing Team#Buying 59,{
close;
}
mes "[Mr. Hugh]";
- if(Zeny < 10000) {
+ if (Zeny < 10000) {
mes "The registration fee is 10,000 zeny.";
mes "Please have the fee ready first.";
close;
- }else{
+ } else {
mes "You've made a good decision.";
mes "Please give me the registration fee, and sign right here....";
next;
@@ -218,7 +212,7 @@ alberta_in,58,52,4 script Purchasing Team#Buying 59,{
mes "I like your handwriting.";
mes "Okay, you're now approved to open the Bulk Buyer Shop.";
set Zeny,Zeny-10000;
- getitem 6377,5; // Buy_Stall_Permit
+ getitem 6377,5; //Buy_Stall_Permit
skill "ALL_BUYING_STORE",1,0;
next;
mes "[Mr. Hugh]";
@@ -236,13 +230,106 @@ alberta_in,58,52,4 script Purchasing Team#Buying 59,{
close;
}
}
- }else{
- mes "[Mr. Hugh]";
- mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
- mes "I'd love to chat, but I'm too busy at the moment.";
+ }
+ mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
+ mes "I'd love to chat, but I'm too busy at the moment.";
+ next;
+ mes "[Mr. Hugh]";
+ mes "My time is solely dedicated to our customers in the Merchant industry.";
+ close;
+}
+
+// Catalog Magician
+//============================================================
+moc_para01,22,16,5 script Catalog Magician#catal01 704,{
+ if (!checkweight(1201,2)) {
+ mes "- You have too many items. Please make space. -";
+ close;
+ }
+ set .@ticket_cost, 200;
+ mes "[Catalog Magician]";
+ mes "Look... the Magic Academy";
+ mes "in Geffen is now directly";
+ mes "selling the brand new";
+ mes "^007777Universal Catalog Silver^000000!";
+ next;
+ mes "He is looking at the words";
+ mes "written on his hand.";
+ mes "Seems like he's too busy";
+ mes "to look at you.";
+ next;
+ mes "[Catalog Magician]";
+ mes "A brand new catalog";
+ mes "has just come out!";
+ mes "You can check what";
+ mes "items can be traded";
+ mes "and what items are on";
+ mes "sale from the vendor.";
+ next;
+ mes "[Catalog Magician]";
+ mes "^007777Universal Catalog Silver^000000~";
+ mes "It costs only 200z each!";
+ mes "You can buy it up to 50";
+ mes "pieces at once!";
+ next;
+ switch(select("Buy ^007777Universal Catalog Silver^000000:I don't need it!:You don't look like a vendor...")) {
+ case 1:
+ mes "[Catalog Magician]";
+ mes "You... want all 50 pieces?";
+ mes "Or how many do you need?";
+ next;
+ while (1) {
+ input .@input;
+ mes "[Catalog Magician]";
+ if (.@input == 0) {
+ mes "Trade has been stopped!";
+ mes "I don't know what to do next...";
+ mes "What should I do?";
+ emotion e_swt2,1;
+ close;
+ } else if (.@input < 1 || .@input > 50) {
+ mes "It should be less than 50 pieces.";
+ next;
+ } else break;
+ }
+ set .@sell, .@ticket_cost * .@input;
+ mes "Total number of catalog(s) that";
+ mes "you're trying to purchase is";
+ mes .@input + " pieces and it costs " + .@sell + " z.";
+ if (Zeny < .@sell) {
+ mes "It seems you don't have enough money.";
+ mes "You can sell your equips";
+ mes "to make more money... if you want.";
+ close;
+ }
+ mes "Okie, here you go.";
+ set Zeny, Zeny - .@sell;
+ getitem 12580,.@input; //Vending_Search_Scroll
+ close;
+ case 2:
+ mes "[Catalog Magician]";
+ mes "Argh... you really need this";
+ mes "item... Do you want me to";
+ mes "explain again? I don't know";
+ mes "what to do next...";
+ mes "What should I do?";
+ emotion e_swt2,1;
+ close;
+ case 3:
+ mes "[Catalog Magician]";
+ mes "My real job is a magician.";
+ mes "I was going to ask the merchant";
+ mes "guild to sell them, but they were";
+ mes "trying use them as an appendix";
+ mes "into broom sales. That's why";
+ mes "I'm selling these by myself.";
next;
- mes "[Mr. Hugh]";
- mes "My time is solely dedicated to our customers in the Merchant industry.";
+ mes "[Catalog Magician]";
+ mes "There are many adventurers";
+ mes "here coming and going. I'm";
+ mes "pretty sure that I can sell them";
+ mes "all soon. Don't you think so?";
+ mes "So... let's start!! Buy more of them, please! PLEASE...!";
close;
}
}
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index 7daab1f84..fd25ceaf1 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -5192,11 +5192,11 @@ REPLACE INTO `item_db` VALUES (12732,'Runstone_Pertz','Wyrd Rune',11,100,NULL,10
REPLACE INTO `item_db` VALUES (12733,'Runstone_Hagalas','Hagalaz Rune',11,100,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,8,2,NULL,NULL,NULL,NULL,NULL,'itemskill "RK_STONEHARDSKIN",1;',NULL,NULL);
# Rune Knight Rune Ores
-REPLACE INTO `item_db` VALUES (12734,'Runstone_Quality','Luxurious Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 1;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12735,'Runstone_Ancient','Ancient Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 2;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12736,'Runstone_Mystic','Mystic Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12737,'Runstone_Ordinary','General Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 4;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (12738,'Runstone_Rare','Rare Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12734,'Runstone_Quality','Luxurious Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 5;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12735,'Runstone_Ancient','Ancient Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 11;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12736,'Runstone_Mystic','Mystic Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 14;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12737,'Runstone_Ordinary','General Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 2;',NULL,NULL);
+REPLACE INTO `item_db` VALUES (12738,'Runstone_Rare','Rare Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 8;',NULL,NULL);
REPLACE INTO `item_db` VALUES (12739,'Snow_Flower','Snow Flowers',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (12740,'Inc_Str_Scroll','Amplification Scroll',2,1,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql
index c2f8d6407..627b3cdac 100644
--- a/sql-files/item_db_re.sql
+++ b/sql-files/item_db_re.sql
@@ -5719,11 +5719,11 @@ REPLACE INTO `item_db_re` VALUES (12732,'Runstone_Pertz','Wyrd Rune',11,100,NULL
REPLACE INTO `item_db_re` VALUES (12733,'Runstone_Hagalas','Hagalaz Rune',11,100,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,8,2,NULL,NULL,NULL,NULL,NULL,'itemskill "RK_STONEHARDSKIN",1;',NULL,NULL);
# Rune Knight Rune Ores
-REPLACE INTO `item_db_re` VALUES (12734,'Runstone_Quality','Luxurious Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 1;',NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (12735,'Runstone_Ancient','Ancient Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 2;',NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (12736,'Runstone_Mystic','Mystic Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 3;',NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (12737,'Runstone_Ordinary','General Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 4;',NULL,NULL);
-REPLACE INTO `item_db_re` VALUES (12738,'Runstone_Rare','Rare Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 5;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12734,'Runstone_Quality','Luxurious Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 5;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12735,'Runstone_Ancient','Ancient Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 11;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12736,'Runstone_Mystic','Mystic Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 14;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12737,'Runstone_Ordinary','General Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 2;',NULL,NULL);
+REPLACE INTO `item_db_re` VALUES (12738,'Runstone_Rare','Rare Rune',0,2,NULL,100,NULL,NULL,NULL,NULL,0x00000080,8,2,NULL,NULL,NULL,NULL,NULL,'makerune 8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12739,'Snow_Flower','Snow Flowers',2,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12740,'Inc_Str_Scroll','Amplification Scroll',2,1,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/src/map/skill.c b/src/map/skill.c
index def642cd6..82b502420 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -15998,7 +15998,7 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in
{
int A = 100 * (51 + 2 * pc_checkskill(sd, skill_id));
int B = 100 * status->dex / 30 + 10 * (status->luk + sd->status.job_level);
- int C = cap_value(sd->itemid,0,10000); //itemid depend on used rune ()
+ int C = 100 * cap_value(sd->itemid,0,100); //itemid depend on makerune()
int D = 0;
switch (nameid) { //rune rank it_diff 9 craftable rune
case ITEMID_BERKANA:
diff --git a/src/map/skill.h b/src/map/skill.h
index b94fd836d..265f2c7aa 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -1821,7 +1821,7 @@ int skill_block_check(struct block_list *bl, enum sc_type type, int skillid);
/**
* Guilottine Cross
**/
-#define MAX_SKILL_MAGICMUSHROOM_DB 22
+#define MAX_SKILL_MAGICMUSHROOM_DB 23
struct s_skill_magicmushroom_db {
int skillid;
};