From 925974d3452293164ea62ca474182a87d5e3517d Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 4 Jul 2006 19:00:02 +0000 Subject: - Implemented cooking chances. Chance of success is 70% - 7*(dish-lv)% + 12*(cooking set-lv)%. Exception: When using the legendary cooking set, success chance is 100% regardless of dish. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7518 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/map/skill.c b/src/map/skill.c index d9f6fbc62..775e8ca14 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -9881,8 +9881,8 @@ int skill_can_produce_mix (struct map_session_data *sd, int nameid, int trigger, if(trigger>20) { // Non-weapon, non-food item (itemlv must match) if(skill_produce_db[i].itemlv!=trigger) return 0; - } else if(trigger>10) { // Food (itemlv must be higher or equal) - if(skill_produce_db[i].itemlv<=10 || skill_produce_db[i].itemlv>trigger) + } else if(trigger>10) { // Food (any item level between 10 and 20 will do) + if(skill_produce_db[i].itemlv<=10) return 0; } else { // Weapon (itemlv must be higher or equal) if(skill_produce_db[i].itemlv>trigger) @@ -10077,6 +10077,16 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in } break; default: + if (sd->menuskill_id == AM_PHARMACY && + sd->menuskill_lv > 10 && sd->menuskill_lv <= 20) + { //Assume Cooking Dish + if (sd->menuskill_lv >= 15) //Legendary Cooking Set. + make_per = 10000; //100% Success + else + make_per = 12*(sd->menuskill_lv-10) //12% chance per set level. + + 700 - 70*(skill_produce_db[idx].itemlv-10); //70% - 7% per dish level + break; + } make_per = 5000; break; } @@ -10199,7 +10209,8 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in clif_misceffect(&sd->bl,3); break; default: //Those that don't require a skill? - if (skill_produce_db[idx].itemlv==11) //Cooking items. + if (skill_produce_db[idx].itemlv>10 && + skill_produce_db[idx].itemlv<= 20) //Cooking items. clif_specialeffect(&sd->bl, 608, AREA); break; } @@ -10239,7 +10250,8 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in clif_misceffect(&sd->bl,2); break; default: - if (skill_produce_db[idx].itemlv==11) + if (skill_produce_db[idx].itemlv>10 && + skill_produce_db[idx].itemlv<= 20) //Cooking items. clif_specialeffect(&sd->bl, 609, AREA); } } -- cgit v1.2.3-70-g09d2