- 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://svn.code.sf.net/p/rathena/svn/trunk@8453 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-08-23 16:12:25 +00:00
parent cff4864a78
commit 99f03f87cc
2 changed files with 14 additions and 12 deletions

View File

@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/08/23
* Fixed HVAN_EXPLOSION [Skotlex]
* Frost Nova won't display a nodamage skill packet (still need to sort out
a way to fix the splash damaged packets) [Skotlex]
* Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown [Toms]
* Added debug on "Inifity loop" to know which script is making this loop [Toms]
2006/08/22

View File

@ -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);
}