diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-07-07 11:40:57 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-07-07 11:40:57 +0000 |
commit | 56085534698fec2430c4fc8e659f079453824f0f (patch) | |
tree | 3fcdfa5ba6f039253ff462e1d08263aaa2bbf5e5 /src/map/skill.c | |
parent | 7c40f2f704fdb517c4c922cf24e4ba499cb3208d (diff) | |
download | hercules-56085534698fec2430c4fc8e659f079453824f0f.tar.gz hercules-56085534698fec2430c4fc8e659f079453824f0f.tar.bz2 hercules-56085534698fec2430c4fc8e659f079453824f0f.tar.xz hercules-56085534698fec2430c4fc8e659f079453824f0f.zip |
First attempt at implementing the official walk speed system
* separated speed modifiers into bonuses, penalties and other statuses
* no bonuses stack, instead the maximum is taken
* no penalties stack, instead the maximum is taken
* Union, Riding and Pushcart are the only other statuses that stack
* both bonuses and penalties are linear modifiers of the base walk speed
* 'other' statuses are applied after bonuses and penalties
Changed many equations to match official walk speed system
* Steel Body now sets a fixed walk speed of 200 (bypassing everything else)
* Defender now caps the walk speed to a minimum of 200
* Slow Grace now uses official equation for aspd/walk speed decrease
* Pushcart's speed penalty is now halved
* Free Cast now changes walk speed to a fixed value, bypassing bonuses and penalties
* Wedding clothes now have a penalty of +100%, not +200%
* rogue's Tunnel Drive and stalker's Chasewalk ignore all penalties
* taekwon's Running is now 5% faster
* Frenzy is now 5% faster
* Gospel's offensive slowdown is now +75% instead of +33%
* Quagmire now slows down by +50% instead of +100%
* Gatling Fever now slows down by +100% instead of +33%
* Cloaking modifier is now a bonus/penalty, depending on presence of wall
* Longing for Freedom overrides the song/dance penalty (bugreport:416)
* Bard/Dancer Spriit now properly affects song/dance penalty (bugreport:1019)
* item-granted speedup no longer stacks with speed bonuses (topic:145019)
* removed some status code that pre-calculated speed bonuses/penalties, to make calculations more localized and less messy (see song/dance code)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12923 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index ec0abc00f..ece5ca0af 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6324,13 +6324,12 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, short skilli } break; case DC_DONTFORGETME: - val1 = 30*skilllv+status->dex; // ASPD decrease - val2 = 100 -2*skilllv -status->agi/10; // Movement speed adjustment. + val1 = status->dex/10 + 3*skilllv + 5; // ASPD decrease + val2 = status->agi/10 + 3*skilllv + 5; // Movement speed adjustment. if(sd){ - val1 += pc_checkskill(sd,DC_DANCINGLESSON); //TO-DO This is a guessed value - val2 -= pc_checkskill(sd,DC_DANCINGLESSON); //TO-DO This is a guessed value + val1 += pc_checkskill(sd,DC_DANCINGLESSON); + val2 += pc_checkskill(sd,DC_DANCINGLESSON); } - if (val2 < 1) val2 = 1; break; case BA_APPLEIDUN: val1 = 5+2*skilllv+status->vit/10; // MaxHP percent increase |