summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-10 13:35:11 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-10 13:35:11 +0000
commit86354787809a85d57593dc6c1940262752d5b846 (patch)
tree313f47a603f277cfe1fa333a1d17d5765605c7fa /src/map/skill.c
parent2aa039840a624a43d9d0051479d520b78636f8ca (diff)
downloadhercules-86354787809a85d57593dc6c1940262752d5b846.tar.gz
hercules-86354787809a85d57593dc6c1940262752d5b846.tar.bz2
hercules-86354787809a85d57593dc6c1940262752d5b846.tar.xz
hercules-86354787809a85d57593dc6c1940262752d5b846.zip
- Fixed a memory overwrite crash on pc_readdb, thanks to foobar.
- Fixed only the first TK stance triggering when you have multiple of them active. - Default of skill_attack_enable changed to yes. - Fixed a compiler error in some ninja skill that only triggers on windows or c++ compilers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5557 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 1524831a5..9357ce68e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -921,18 +921,21 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
clif_skill_fail(sd,skillid,0,0);
}
// Chance to trigger Taekwon kicks [Dralnu]
- if(sd->sc.count) {
- if(sd->sc.data[SC_READYSTORM].timer != -1)
+ if(sd->sc.count && sd->sc.data[SC_COMBO].timer == -1) {
+ if(sd->sc.data[SC_READYSTORM].timer != -1 &&
sc_start4(src,SC_COMBO, 15, TK_STORMKICK,0,0,0,
- (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
- else if(sd->sc.data[SC_READYDOWN].timer != -1)
+ (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
+ ; //Stance triggered
+ else if(sd->sc.data[SC_READYDOWN].timer != -1 &&
sc_start4(src,SC_COMBO, 15, TK_DOWNKICK,0,0,0,
- (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
- else if(sd->sc.data[SC_READYTURN].timer != -1 && sd->sc.data[SC_COMBO].timer == -1)
+ (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
+ ; //Stance triggered
+ else if(sd->sc.data[SC_READYTURN].timer != -1 &&
sc_start4(src,SC_COMBO, 15, TK_TURNKICK,0,0,0,
- (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src)));
- else if(sd->sc.data[SC_READYCOUNTER].timer != -1 && sd->sc.data[SC_COMBO].timer == -1) //additional chance from SG_FRIEND [Komurka]
- {
+ (2000 - 4 * status_get_agi(src) - 2 * status_get_dex(src))))
+ ; //Stance triggered
+ else if(sd->sc.data[SC_READYCOUNTER].timer != -1)
+ { //additional chance from SG_FRIEND [Komurka]
rate = 20;
if (sd->sc.data[SC_SKILLRATE_UP].timer != -1 && sd->sc.data[SC_SKILLRATE_UP].val1 == TK_COUNTER) {
rate += rate*sd->sc.data[SC_SKILLRATE_UP].val2/100;