summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorpanikon <panikon@zoho.com>2014-07-12 15:07:34 -0300
committerpanikon <panikon@zoho.com>2014-07-12 15:07:34 -0300
commit17e4145a5e511a90bb00224f637c83508f86f281 (patch)
tree6ba39ed654c4d825b3f0abd456d01f895a2cffd6 /src/map/status.c
parentda4f06859fd49393ddd82c07a0586a20cb5ad4f6 (diff)
downloadhercules-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.c12
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: