diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 4 | ||||
-rw-r--r-- | src/map/script.c | 14 | ||||
-rw-r--r-- | src/map/skill.c | 2 |
3 files changed, 11 insertions, 9 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index e4f4e6679..f9472692e 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5273,6 +5273,10 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list ATK_ADD(10*sd->status.inventory[index].refine); } } + //Card Fix, tsd side + if ( tsd ) { //if player on player then it was already measured above + wd.damage = battle->calc_cardfix(BF_WEAPON, src, target, nk, s_ele, s_ele_, wd.damage, (flag.lh ? 1 : 0), wd.flag); + } #endif if( flag.infdef ) { //Plants receive 1 damage when hit diff --git a/src/map/script.c b/src/map/script.c index 235b7b8d5..39f8a7b63 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -3387,15 +3387,13 @@ void script_free_code(struct script_code* code) { nullpo_retv(code); - if( code->instances ) + if (code->instances) script->stop_instances(code); - else { - script->free_vars(code->local.vars); - if( code->local.arrays ) - code->local.arrays->destroy(code->local.arrays,script->array_free_db); - } - aFree( code->script_buf ); - aFree( code ); + script->free_vars(code->local.vars); + if (code->local.arrays) + code->local.arrays->destroy(code->local.arrays,script->array_free_db); + aFree(code->script_buf); + aFree(code); } /// Creates a new script state. diff --git a/src/map/skill.c b/src/map/skill.c index 31b8384db..a351425e1 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3947,7 +3947,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 case MS_MAGNUM: if( flag&1 ) { //Damage depends on distance, so add it to flag if it is > 1 - skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag|distance_bl(src, bl)); + skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag|SD_ANIMATION|distance_bl(src, bl)); } break; |