Sfoglia il codice sorgente

Made Homunculus Resurrection only fail on cast-end (see topic:155223)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10845 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage 18 anni fa
parent
commit
0236557286
3 ha cambiato i file con 7 aggiunte e 12 eliminazioni
  1. 1 0
      Changelog-Trunk.txt
  2. 6 5
      src/map/mercenary.c
  3. 0 7
      src/map/skill.c

+ 1 - 0
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.

+ 6 - 5
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);
 

+ 0 - 7
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)){