From 8d356dbe3f056474700fcbdd563d8ea437b1464e Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 2 Nov 2008 00:19:12 +0000 Subject: * Minor cleanup in login server * Char server now records client version and reports it to map server * Map server will now report all skills (even ones with dangerous indices) for client version 1 and above * Use status change val1 (instead of val2) index for speed potions, so that they can be triggered more easily from within scripts * Item database now also keeps track of the effect that items have on the spower stat * spower is now based on level + int*2 + modifier (see last point) * Minor bugfixes in support functionality for the SLang interpreter - Do not restart the map server without also restarting the char server, as the interserver protocol has changed slightly! (patch by fate) --- src/map/battle.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 991affd..38a654e 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -963,7 +963,7 @@ int battle_get_adelay(struct block_list *bl) aspd_rate += 25; //増速ポーション使用時は減算 if(sc_data[i=SC_SPEEDPOTION2].timer!=-1 || sc_data[i=SC_SPEEDPOTION1].timer!=-1 || sc_data[i=SC_SPEEDPOTION0].timer!=-1) - aspd_rate -= sc_data[i].val2; + aspd_rate -= sc_data[i].val1; // Fate's `haste' spell works the same as the above if (sc_data[SC_HASTE].timer != -1) aspd_rate -= sc_data[SC_HASTE].val1; @@ -971,6 +971,7 @@ int battle_get_adelay(struct block_list *bl) if(sc_data[SC_DEFENDER].timer != -1) adelay += (1100 - sc_data[SC_DEFENDER].val1*100); } + if(aspd_rate != 100) adelay = adelay*aspd_rate/100; if(adelay < battle_config.monster_max_aspd<<1) adelay = battle_config.monster_max_aspd<<1; @@ -1013,12 +1014,13 @@ int battle_get_amotion(struct block_list *bl) if(sc_data[SC_STEELBODY].timer!=-1) // 金剛 aspd_rate += 25; if(sc_data[i=SC_SPEEDPOTION2].timer!=-1 || sc_data[i=SC_SPEEDPOTION1].timer!=-1 || sc_data[i=SC_SPEEDPOTION0].timer!=-1) - aspd_rate -= sc_data[i].val2; + aspd_rate -= sc_data[i].val1; if (sc_data[SC_HASTE].timer != -1) aspd_rate -= sc_data[SC_HASTE].val1; if(sc_data[SC_DEFENDER].timer != -1) amotion += (550 - sc_data[SC_DEFENDER].val1*50); } + if(aspd_rate != 100) amotion = amotion*aspd_rate/100; if(amotion < battle_config.monster_max_aspd) amotion = battle_config.monster_max_aspd; -- cgit v1.2.3-60-g2f50