Splash attacks do cause additional effects except for autocasts. (bugreport:2661)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13804 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Inkfish 2009-05-23 03:25:33 +00:00
parent 45addf32f8
commit 579f0a250d
3 changed files with 5 additions and 6 deletions

View File

@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
09/05/23
* Splash attacks do cause additional effects except for autocasts. (bugreport:2661) [Inkfish]
09/05/22 09/05/22
* Fixed some behaviors of additional effects (bugreport:3100,bugreport:2661) [Inkfish] * Fixed some behaviors of additional effects (bugreport:3100,bugreport:2661) [Inkfish]
- Coma can now be blocked by such skills as SafetyWall, Pneuma and Basilica. - Coma can now be blocked by such skills as SafetyWall, Pneuma and Basilica.

View File

@ -939,7 +939,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
wd.dmotion=tstatus->dmotion; wd.dmotion=tstatus->dmotion;
wd.blewcount=skill_get_blewcount(skill_num,skill_lv); wd.blewcount=skill_get_blewcount(skill_num,skill_lv);
wd.flag = BF_WEAPON; //Initial Flag wd.flag = BF_WEAPON; //Initial Flag
wd.flag|= skill_num?BF_SKILL:BF_NORMAL; wd.flag |= (skill_num||wflag)?BF_SKILL:BF_NORMAL; // Baphomet card's splash damage is counted as a skill. [Inkfish]
wd.dmg_lv=ATK_DEF; //This assumption simplifies the assignation later wd.dmg_lv=ATK_DEF; //This assumption simplifies the assignation later
nk = skill_get_nk(skill_num); nk = skill_get_nk(skill_num);
flag.hit = nk&NK_IGNORE_FLEE?1:0; flag.hit = nk&NK_IGNORE_FLEE?1:0;

View File

@ -550,8 +550,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
{ {
case 0: // Normal attacks (no skill used) case 0: // Normal attacks (no skill used)
{ {
if( !(attack_type&BF_WEAPON) ) if( attack_type&BF_SKILL )
break; // If a normal attack is not a weapon attack, it's splash damage. [Inkfish] break; // If a normal attack is a skill, it's splash damage. [Inkfish]
if(sd) { if(sd) {
// Automatic trigger of Blitz Beat // Automatic trigger of Blitz Beat
if (pc_isfalcon(sd) && sd->status.weapon == W_BOW && (skill=pc_checkskill(sd,HT_BLITZBEAT))>0 && if (pc_isfalcon(sd) && sd->status.weapon == W_BOW && (skill=pc_checkskill(sd,HT_BLITZBEAT))>0 &&
@ -1830,9 +1830,6 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
ud->attackabletime = tick + type; ud->attackabletime = tick + type;
} }
if( !skillid && flag&1 )
dmg.flag &= ~BF_WEAPON; // hack to make splash attack not trigger anything else.
if( !dmg.amotion ) if( !dmg.amotion )
{ //Instant damage { //Instant damage
status_fix_damage(src,bl,damage,dmg.dmotion); //Deal damage before knockback to allow stuff like firewall+storm gust combo. status_fix_damage(src,bl,damage,dmg.dmotion); //Deal damage before knockback to allow stuff like firewall+storm gust combo.