Ver Fonte

- Cleaned up homunc attack request parsing. Homunculus no longer goes into auto-attack (ctrl+click) mode since the client does every attack request individually.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9805 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex há 18 anos atrás
pai
commit
4b7dcab0f2
3 ficheiros alterados com 8 adições e 10 exclusões
  1. 4 1
      Changelog-Trunk.txt
  2. 1 8
      src/map/clif.c
  3. 3 1
      src/map/mob.c

+ 4 - 1
Changelog-Trunk.txt

@@ -4,10 +4,13 @@ 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/02/06
+	* Cleaned up homunc attack request parsing. Homunculus no longer goes into
+	  auto-attack (ctrl+click) mode since the client does every attack request
+	  individually.
 	* Fixed char-server not sending party status update when a member logs
 	  on/off.
 	* Fixed crash when parsing guild member information change from the
-	  char-server when the specified character is not found in the guild.
+	  char-server if the specified character is not found in the guild.
 	* Fixed MvP mobs giving exp when killed even if they shouldn't.
 2007/02/05
 	* Fixed @lvup, #lvup not doing a stat reset and lowering your status points

+ 1 - 8
src/map/clif.c

@@ -11706,19 +11706,12 @@ void clif_parse_HomMoveTo(int fd,struct map_session_data *sd) {	//[orn]
 }
 
 void clif_parse_HomAttack(int fd,struct map_session_data *sd) {	//[orn]
-	struct block_list *target;
 	RFIFOHEAD(fd);
-	nullpo_retv(sd);
 
 	if(!merc_is_hom_active(sd->hd))
 		return;
 	
-	if ((target = map_id2bl(RFIFOL(fd,6))) == NULL || status_isdead(target)) 
-		return;
-
-	merc_stop_walking(sd->hd, 1);
-	merc_stop_attack(sd->hd);
-	unit_attack(&sd->hd->bl,RFIFOL(fd,6),1) ;
+	unit_attack(&sd->hd->bl,RFIFOL(fd,6),0) ;
 }
 
 void clif_parse_HomMenu(int fd, struct map_session_data *sd) {	//[orn]

+ 3 - 1
src/map/mob.c

@@ -2075,7 +2075,9 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
 		clif_mvp_exp(mvp_sd,mexp);
 		pc_gainexp(mvp_sd, &md->bl, mexp,0);
 		log_mvp[1] = mexp;
-		if(!map[m].flag.nomvploot && !(type&1))
+		if(map[m].flag.nomvploot || type&1)
+			; //No drops.
+		else
 		for(j=0;j<3;j++){
 			i = rand() % 3;