From 8f40fa6af0e9e18b0fd48fc3da35f3de0b9ce5bd Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 21 Aug 2006 16:39:14 +0000 Subject: - Added BL_HOM handling to battle_gettarget. - Some cleaning in skill.c in regard to homun skills. - Madness Canceller now stacks with other aspd bonuses, just like Berserk does. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8403 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 73 +++++++++++++++++++++------------------------------------ 1 file changed, 27 insertions(+), 46 deletions(-) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index 218e8ae53..df2b796e6 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5542,63 +5542,44 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in AREA_SIZE, BL_MOB, bl, src); } } - else - { - // Failed - if (hd) - clif_skill_fail(hd->master, skillid, 0, 0); - else if (sd) - clif_skill_fail(sd, skillid, 0, 0); - } + // Failed + else if (hd && hd->master) + clif_skill_fail(hd->master, skillid, 0, 0); + else if (sd) + clif_skill_fail(sd, skillid, 0, 0); break; case HVAN_CHAOTIC: //[orn] { - if(hd){ - //HOM,PC,MOB - struct block_list* heal_target=NULL; - int heal = skill_calc_heal( src, 1+rand()%skilllv ); - static const int per[10][2]={{20,50},{50,60},{25,75},{60,64},{34,67}, - {34,67},{34,67},{34,67},{34,67},{34,67}}; - int rnd = rand()%100; - if(rndbl; - }else if(rndmaster->bl)) - heal_target = &hd->master->bl; - else - heal_target = &hd->bl; - }else{//MOB - heal_target = map_id2bl(hd->target_id); - if(heal_target==NULL) - heal_target = &hd->bl; - } - clif_skill_nodamage(src,heal_target,AL_HEAL,heal,1); - clif_skill_nodamage(src,heal_target,skillid,heal,1); - status_heal(heal_target, heal, 0, 0); + static const int per[10][2]={{20,50},{50,60},{25,75},{60,64},{34,67}, + {34,67},{34,67},{34,67},{34,67},{34,67}}; + int rnd = rand()%100; + if(rndbl,type,100,skilllv,skill_get_time(skillid,skilllv))) ; - skill_blockmerc_start(hd, skillid, skill_get_time2(skillid,skilllv)) ; } - else - clif_skill_fail(hd->master,skillid,0,0); break; - case HLIF_CHANGE: //[orn] + //Homun single-target support skills [orn] + case HAMI_BLOODLUST: + case HFLI_FLEET: + case HFLI_SPEED: + case HLIF_CHANGE: clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); if (hd) skill_blockmerc_start(hd, skillid, skill_get_time2(skillid,skilllv)); break; - default: ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skillid); map_freeblock_unlock(); -- cgit v1.2.3-60-g2f50