diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-07-06 20:51:01 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-07-06 20:51:01 +0000 |
commit | 531c41a41d40857359bda2f35ce3d51539d9fee8 (patch) | |
tree | f4fd52c3b255b343b6bedf62cfeeff92a605f763 /src/map/battle.c | |
parent | da7e5884ad5c3fcb098a566761a7599ed495f834 (diff) | |
download | hercules-531c41a41d40857359bda2f35ce3d51539d9fee8.tar.gz hercules-531c41a41d40857359bda2f35ce3d51539d9fee8.tar.bz2 hercules-531c41a41d40857359bda2f35ce3d51539d9fee8.tar.xz hercules-531c41a41d40857359bda2f35ce3d51539d9fee8.zip |
* Cleaned up some nasty code related to skill_blown
- split 'direction' value from flags
- moved (almost) entire direction calculating code to the outside
- bowling bash now has the 'suck-in' effect (knockback is now done in the direction you were last facing, not in your-target direction)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10861 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 06329b3bb..a40df7765 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -307,7 +307,8 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i if(sc->data[SC_AUTOGUARD].timer != -1 && flag&BF_WEAPON && !(skill_get_nk(skill_num)&NK_NO_CARDFIX_ATK) && - rand()%100 < sc->data[SC_AUTOGUARD].val2) { + rand()%100 < sc->data[SC_AUTOGUARD].val2) + { int delay; clif_skill_nodamage(bl,bl,CR_AUTOGUARD,sc->data[SC_AUTOGUARD].val1,1); // different delay depending on skill level [celest] @@ -320,7 +321,7 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i unit_set_walkdelay(bl, gettick(), delay, 1); if(sc->data[SC_SHRINK].timer != -1 && rand()%100<5*sc->data[SC_AUTOGUARD].val1) - skill_blown(bl,src,skill_get_blewcount(CR_SHRINK,1)); + skill_blown(bl,src,skill_get_blewcount(CR_SHRINK,1),-1,0); return 0; } @@ -366,8 +367,8 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i { if (sc->data[SC_UTSUSEMI].timer != -1) { clif_specialeffect(bl, 462, AREA); - skill_blown (src, bl, sc->data[SC_UTSUSEMI].val3); - }; + skill_blown(src,bl,sc->data[SC_UTSUSEMI].val3,-1,0); + } //Both need to be consumed if they are active. if (sc->data[SC_UTSUSEMI].timer != -1 && --sc->data[SC_UTSUSEMI].val2 <= 0) |