summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-12 02:03:31 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-12 02:03:31 +0000
commit09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee (patch)
tree7e573c8350ed240e1d3bf250d5fac7e5f9bad7d5 /src
parent260c3e2fc442271410e96a89b924d54aa767d80d (diff)
downloadhercules-09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee.tar.gz
hercules-09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee.tar.bz2
hercules-09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee.tar.xz
hercules-09a4c48b4c47691962161bb3dd3faf9bbb5fd6ee.zip
- 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
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c11
-rw-r--r--src/map/skill.c38
2 files changed, 17 insertions, 32 deletions
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;i<splash_count;i++){
- skill_attack(BF_MISC,ss,src,bl,sg->skill_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;
}
}