diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 3ff697d30f..c3ea0eccf1 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/10/23 + * Modified SC_STONE so that the duration of the "petrifying" time is 5 secs + reduced by your natural resistance to petrify (which is mdef%) [Skotlex] * Modified the meaning of the third column in the skill_require_db. Instead of MaxHP, this is now called MaxHPTrigger. This column (which was previously unused by all skills) signals the limit HP% that you can have to diff --git a/src/map/status.c b/src/map/status.c index bc30ada235..c46d16a01d 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4497,6 +4497,10 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val if (!(rand()%10000 < rate)) return 0; + + //Need to store resistance so the petrifying time can also be reduced. [Skotlex] + if (type == SC_STONE) + val4 = def; } undead_flag=battle_check_undead(status->race,status->def_ele); @@ -4993,6 +4997,11 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val val3 = tick/1000; //Petrified HP-damage iterations. if(val3 < 1) val3 = 1; tick = 5000; //Petrifying time. + if (val4) + { //Apply duration resist to petrifying time as well. + tick -= tick*val4/10000; + val4 = 0; //Is later used as a tick-damage counter. + } calc_flag = 0; //Actual status changes take effect on petrified state. break;