From 07365afd8066f299711d7def9fdaa6cc6bc357a9 Mon Sep 17 00:00:00 2001 From: toms Date: Sat, 19 Aug 2006 16:57:03 +0000 Subject: [PATCH] Fixed HAMI_CASTLE git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8366 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 1 + db/Changelog.txt | 1 + db/skill_cast_db.txt | 2 ++ src/map/skill.c | 15 +++++++++++++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 43289cd7ec..a7690d368c 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ 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/19 + * Fixed HAMI_CASTLE [Toms] * Fixed HLIF_CHANGE [Toms] * Updated HLIF_BRAIN skill [Toms] * Fixed homunculus intimacy on feeding [Toms] diff --git a/db/Changelog.txt b/db/Changelog.txt index db8102d2ee..1c2d4c9dcb 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -20,6 +20,7 @@ ========================= 08/19 + * Added HAMI_CASTLE block time [Toms] * Updated NJ_BAKUENRYU skill tree [Toms] * Updated HLIF_CHANGE skill [Toms] * Updated Kouenka, removed aftercast delay [Toms] diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index 45600c6e88..a01155f886 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -969,6 +969,8 @@ 8002,0,0,0,40000:35000:30000:25000:20000,0 //-- HLIF_CHANGE 8004,0,0,0,60000:180000:300000,600000:900000:1200000 +//-- HAMI_CASTLE +8005,0,0,0,0,60000:70000:80000:90000:129000 //-- HAMI_DEFENCE 8006,0,0,0,40000:35000:30000:25000:20000,30000 //-- HAMI_BLOODLUST diff --git a/src/map/skill.c b/src/map/skill.c index e3fa451f01..fe6b57d97e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5523,12 +5523,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; case HAMI_CASTLE: //[orn] - if(rand()%100 > 20*skilllv || src == bl) - break; //Failed. + if (src == bl && sd && sd->hd && merc_is_hom_active(sd->hd)) // (If used with @useskill, put the homunc as dest) + bl = &sd->hd->bl; + if(rand()%100 < 20*skilllv && src != bl) { int x,y; x = src->x; y = src->y; + if (hd) + skill_blockmerc_start(hd, skillid, skill_get_time2(skillid,skilllv)); if (unit_movepos(src,bl->x,bl->y,0,0)) { clif_skill_nodamage(src,bl,skillid,skilllv,1); @@ -5541,6 +5544,14 @@ 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 + clif_skill_fail(sd, skillid, 0, 0); + } break; case HVAN_CHAOTIC: //[orn] {