diff options
author | panikon <panikon@zoho.com> | 2014-07-12 15:07:34 -0300 |
---|---|---|
committer | panikon <panikon@zoho.com> | 2014-07-12 15:07:34 -0300 |
commit | 17e4145a5e511a90bb00224f637c83508f86f281 (patch) | |
tree | 6ba39ed654c4d825b3f0abd456d01f895a2cffd6 /src/map/status.c | |
parent | da4f06859fd49393ddd82c07a0586a20cb5ad4f6 (diff) | |
download | hercules-17e4145a5e511a90bb00224f637c83508f86f281.tar.gz hercules-17e4145a5e511a90bb00224f637c83508f86f281.tar.bz2 hercules-17e4145a5e511a90bb00224f637c83508f86f281.tar.xz hercules-17e4145a5e511a90bb00224f637c83508f86f281.zip |
Updated SR_FLASHCOMBO behaviour
- Added SC_FLASHCOMBO
Relocated some code related to SC_ALL_RIDING
Updated SI table and skill table according to 3CeAM, special thanks to Rytech
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/map/status.c b/src/map/status.c index 7a9d8b747..c73f78c42 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -644,6 +644,7 @@ void initChangeTables(void) { set_sc( SR_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN, SCB_NONE ); set_sc( SR_GENTLETOUCH_CHANGE , SC_GENTLETOUCH_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP ); set_sc( SR_GENTLETOUCH_REVITALIZE, SC_GENTLETOUCH_REVITALIZE , SI_GENTLETOUCH_REVITALIZE, SCB_MAXHP|SCB_REGEN ); + set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SI_FLASHCOMBO , SCB_WATK ); /** * Wanderer / Minstrel **/ @@ -4642,6 +4643,8 @@ unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc, watk += watk * sc->data[SC_TIDAL_WEAPON]->val2 / 100; if(sc->data[SC_ANGRIFFS_MODUS]) watk += watk * sc->data[SC_ANGRIFFS_MODUS]->val2/100; + if( sc->data[SC_FLASHCOMBO] ) + watk += sc->data[SC_FLASHCOMBO]->val2; return (unsigned short)cap_value(watk,0,USHRT_MAX); } @@ -9011,9 +9014,15 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t val1 = 1002; // default poring break; case SC_ALL_RIDING: - unit->stop_attack(bl); tick = -1; break; + case SC_FLASHCOMBO: + /** + * val1 = <IN>skill_id + * val2 = <OUT>attack addition + **/ + val2 = 20+(20*val1); + break; default: if( calc_flag == SCB_NONE && status->SkillChangeTable[type] == 0 && status->IconChangeTable[type] == 0 ) { //Status change with no calc, no icon, and no skill associated...? @@ -9234,6 +9243,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_WEIGHTOVER90: case SC_CAMOUFLAGE: case SC_SIREN: + case SC_ALL_RIDING: unit->stop_attack(bl); break; case SC_SILENCE: |