summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-23 16:12:25 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-23 16:12:25 +0000
commitd56f5afd4540115e4ea43208d367b4f09c18623c (patch)
tree692f55f1763cd632a97f096f8f9e2e2e26bc4840 /src/map/skill.c
parentfeeb1b0df2e02b06e68e1c6ab53d673798213ba4 (diff)
downloadhercules-d56f5afd4540115e4ea43208d367b4f09c18623c.tar.gz
hercules-d56f5afd4540115e4ea43208d367b4f09c18623c.tar.bz2
hercules-d56f5afd4540115e4ea43208d367b4f09c18623c.tar.xz
hercules-d56f5afd4540115e4ea43208d367b4f09c18623c.zip
- Fixed HVAN_EXPLOSION (What did I fixed? either it doing no damage, or it giving no exp to the caster, whichever bug was there)
- Frost Nova won't display a nodamage skill packet (still need to sort out a way to fix the splash damaged packets) - Some cleaning on the timeout code for traps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8453 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 974d3c2ae..209116db8 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2029,6 +2029,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, CR_HOLYCROSS, -1, 5);
break;
//Skills who's damage should't show any skill-animation.
+ case HVAN_EXPLOSION:
case NPC_SELFDESTRUCTION:
if(src->type==BL_PC)
dmg.blewcount = 10;
@@ -2139,7 +2140,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
sc->count && sc->data[SC_DOUBLECAST].timer != -1 &&
rand() % 100 < 40+10*sc->data[SC_DOUBLECAST].val1)
{
-// skill_addtimerskill(src, tick + dmg.div_*dmg.amotion, bl->id, 0, 0, skillid, skilllv, BF_MAGIC, flag|1);
+// skill_addtimerskill(src, tick + dmg.div_*dmg.amotion, bl->id, 0, 0, skillid, skilllv, BF_MAGIC, flag|2);
skill_addtimerskill(src, tick + dmg.amotion, bl->id, 0, 0, skillid, skilllv, BF_MAGIC, flag|2);
}
@@ -4035,8 +4036,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case NJ_HYOUSYOURAKU:
case NJ_RAIGEKISAI:
- case WZ_FROSTNOVA:
clif_skill_nodamage(src,bl,skillid,skilllv,1);
+ case WZ_FROSTNOVA:
skill_area_temp[1] = 0;
map_foreachinrange(skill_attack_area, src,
skill_get_splash(skillid, skilllv), BL_CHAR,
@@ -9175,6 +9176,7 @@ int skill_attack_area (struct block_list *bl, va_list ap)
flag=va_arg(ap,int);
type=va_arg(ap,int);
+
if (skill_area_temp[1] == bl->id) //This is the target of the skill, do a full attack and skip target checks.
return skill_attack(atk_type,src,dsrc,bl,skillid,skilllv,tick,flag);
@@ -9969,16 +9971,13 @@ int skill_unit_timer_sub (struct block_list *bl, va_list ap)
case UNT_TALKIEBOX:
{
struct block_list *src=map_id2bl(group->src_id);
- if(group->unit_id == UNT_ANKLESNARE && group->val2);
- else{
- if(src && src->type==BL_PC && !group->state.into_abyss)
- { //Avoid generating trap items when it did not cost to create them. [Skotlex]
- struct item item_tmp;
- memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid=1065;
- item_tmp.identify=1;
- map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,NULL,NULL,NULL,0);
- }
+ if(src && src->type==BL_PC && !group->state.into_abyss)
+ { //Avoid generating trap items when it did not cost to create them. [Skotlex]
+ struct item item_tmp;
+ memset(&item_tmp,0,sizeof(item_tmp));
+ item_tmp.nameid=1065;
+ item_tmp.identify=1;
+ map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,NULL,NULL,NULL,0);
}
skill_delunit(unit);
}