summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/mercenary.c11
-rw-r--r--src/map/skill.c7
3 files changed, 7 insertions, 12 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index c20b32d4b..298956869 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.
2007/07/03
+ * Made Homun Resurrection only fail on cast-end (see topic:155223)
* Re-coded 'soundeffectall'; removed the third parameter ('coverage')
- adjust your scripts if you use this command [ultramage]
* Defined out a problematic piece code in conv_num.
diff --git a/src/map/mercenary.c b/src/map/mercenary.c
index 4f39607b1..0da771e5b 100644
--- a/src/map/mercenary.c
+++ b/src/map/mercenary.c
@@ -735,12 +735,13 @@ int merc_create_homunculus_request(struct map_session_data *sd, int class_)
return 1;
}
-int merc_resurrect_homunculus(struct map_session_data *sd, unsigned char per, short x, short y)
+int merc_resurrect_homunculus(struct map_session_data* sd, unsigned char per, short x, short y)
{
- struct homun_data *hd;
+ struct homun_data* hd;
nullpo_retr(0, sd);
+
if (!sd->status.hom_id)
- return 0;
+ return 0; // no homunculus
if (!sd->hd) //Load homun data;
return intif_homunculus_requestload(sd->status.account_id, sd->status.hom_id);
@@ -748,10 +749,10 @@ int merc_resurrect_homunculus(struct map_session_data *sd, unsigned char per, sh
hd = sd->hd;
if (hd->homunculus.vaporize)
- return 0;
+ return 0; // vaporized homunculi need to be 'called'
if (!status_isdead(&hd->bl))
- return 0;
+ return 0; // already alive
merc_hom_init_timers(hd);
diff --git a/src/map/skill.c b/src/map/skill.c
index 95c64e89c..1a500786d 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -8449,13 +8449,6 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t
return 0;
}
break;
- case AM_RESURRECTHOMUN: // Can't resurrect homun if you don't have a dead homun
- if (!sd->status.hom_id || !sd->hd || sd->hd->homunculus.hp)
- {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
- break;
}
if(!(type&2)){