From 09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 12 Apr 2006 02:03:31 +0000 Subject: - Fixed Landmine's level 1 duration. - Cleaned up implementation of BlastMine and Claymore Trap. - Added Freezing trap information to battle_calc_weapon attack. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5998 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 11 +++++------ src/map/skill.c | 38 ++++++++++++-------------------------- 2 files changed, 17 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/map/battle.c b/src/map/battle.c index e97856c25..cb12328c6 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1144,11 +1144,6 @@ static struct Damage battle_calc_weapon_attack( case KN_AUTOCOUNTER: wd.flag=(wd.flag&~BF_SKILLMASK)|BF_NORMAL; break; - - //Until they're at right position - gs_arrow- [Vicious] - case GS_RAPIDSHOWER: - wd.div_= 5; - break; } } @@ -1284,6 +1279,7 @@ static struct Damage battle_calc_weapon_attack( break; case NPC_GUIDEDATTACK: case RG_BACKSTAP: + case HT_FREEZINGTRAP: case AM_ACIDTERROR: case MO_INVESTIGATE: case MO_EXTREMITYFIST: @@ -1525,6 +1521,9 @@ static struct Damage battle_calc_weapon_attack( case AC_CHARGEARROW: skillratio += 50; break; + case HT_FREEZINGTRAP: + skillratio += -50+10*skill_lv; + break; case KN_PIERCE: skillratio += 10*skill_lv; break; @@ -2853,7 +2852,7 @@ struct Damage battle_calc_misc_attack( if( sd==NULL || (skill = pc_checkskill(sd,HT_STEELCROW)) <= 0) skill=0; - //Blitz Beat lv5 Damage + //Blitz Beat lv5 Damage damage=(dex/10+int_/2+skill*3+40)*2; skill = skill_get_num(HT_BLITZBEAT, 5); damage_div_fix(damage, skill); diff --git a/src/map/skill.c b/src/map/skill.c index 9e340c066..27b133033 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6740,7 +6740,6 @@ int skill_unit_onplace_timer(struct skill_unit *src,struct block_list *bl,unsign struct skill_unit_group *sg; struct block_list *ss; struct map_session_data *sd = NULL; - int splash_count=0; struct status_change *tsc, *sc; struct skill_unit_group_tickset *ts; int type, skillid; @@ -6915,12 +6914,13 @@ int skill_unit_onplace_timer(struct skill_unit *src,struct block_list *bl,unsign case UNT_FLASHER: case UNT_FREEZINGTRAP: case UNT_CLAYMORETRAP: - map_foreachinrange(skill_count_target,&src->bl, - skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, - &src->bl,&splash_count); +// This ain't used anymore.... +// map_foreachinrange(skill_count_target,&src->bl, +// skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, +// &src->bl,&splash_count); map_foreachinrange(skill_trap_splash,&src->bl, skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, - &src->bl,tick,splash_count); + &src->bl,tick); sg->unit_id = UNT_USED_TRAPS; clif_changetraplook(&src->bl, UNT_USED_TRAPS); sg->limit=DIFF_TICK(tick,sg->tick)+1500; @@ -9107,26 +9107,16 @@ int skill_trap_splash (struct block_list *bl, va_list ap) { struct block_list *src; int tick; - int splash_count; struct skill_unit *unit; struct skill_unit_group *sg; struct block_list *ss; - int i; - - nullpo_retr(0, bl); - nullpo_retr(0, ap); - nullpo_retr(0, src = va_arg(ap,struct block_list *)); - nullpo_retr(0, unit = (struct skill_unit *)src); - nullpo_retr(0, sg = unit->group); -// nullpo_retr(0, ss = map_id2bl(sg->src_id)); - if ((ss = map_id2bl(sg->src_id)) == NULL) - { //Temporal debug until this case is solved. [Skotlex] - ShowDebug("skill_trap_splash: Trap's source (id: %d) not found!\n", sg->src_id); - return 0; - } + src = va_arg(ap,struct block_list *); + unit = (struct skill_unit *)src; tick = va_arg(ap,int); - splash_count = va_arg(ap,int); + + nullpo_retr(0, sg = unit->group); + nullpo_retr(0, ss = map_id2bl(sg->src_id)); if(battle_check_target(src,bl,BCT_ENEMY) > 0){ switch(sg->unit_id){ @@ -9137,14 +9127,10 @@ int skill_trap_splash (struct block_list *bl, va_list ap) break; case UNT_BLASTMINE: case UNT_CLAYMORETRAP: - for(i=0;iskill_id,sg->skill_lv,tick,(sg->val2)?0x0500:0); - } + skill_attack(BF_MISC,ss,src,bl,sg->skill_id,sg->skill_lv,tick,0); break; case UNT_FREEZINGTRAP: - skill_attack(BF_WEAPON, ss,src,bl,sg->skill_id,sg->skill_lv,tick,(sg->val2)?0x0500:0); - break; - default: + skill_attack(BF_WEAPON,ss,src,bl,sg->skill_id,sg->skill_lv,tick,0); break; } } -- cgit v1.2.3-70-g09d2