Browse Source

- getpetinfo 5 will now return the pet's rename flag.
- Autoloot will now only work on items dropped a certain distance from the player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and defaults to AREA_SIZE.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10039 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 18 years ago
parent
commit
a102344894
5 changed files with 18 additions and 3 deletions
  1. 4 0
      Changelog-Trunk.txt
  2. 1 1
      doc/script_commands.txt
  3. 7 0
      src/map/atcommand.h
  4. 2 1
      src/map/mob.c
  5. 4 1
      src/map/script.c

+ 4 - 0
Changelog-Trunk.txt

@@ -4,6 +4,10 @@ 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.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 
 2007/03/21
 2007/03/21
+	* getpetinfo 5 will now return the pet's rename flag.
+	* Autoloot will now only work on items dropped a certain distance from the
+	  player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and
+	  defaults to AREA_SIZE.
 	* Removed Magic Rod's cast bar.
 	* Removed Magic Rod's cast bar.
 	* Gravitation no longer causes damage flinch. [Skotlex]
 	* Gravitation no longer causes damage flinch. [Skotlex]
 2007/03/20
 2007/03/20

+ 1 - 1
doc/script_commands.txt

@@ -2737,7 +2737,7 @@ currently has active. Valid types are:
  2 - Pet name. Will return "null" if there's no pet. 
  2 - Pet name. Will return "null" if there's no pet. 
  3 - Pet friendly level (intimacy score). 1000 is full loyalty.
  3 - Pet friendly level (intimacy score). 1000 is full loyalty.
  4 - Pet hungry level. 100 is completely full.
  4 - Pet hungry level. 100 is completely full.
-
+ 5 - Pet rename flag. 0 means this pet has not been named yet.
 ---------------------------------------
 ---------------------------------------
 
 
 *petstat(<flag>)
 *petstat(<flag>)

+ 7 - 0
src/map/atcommand.h

@@ -4,6 +4,13 @@
 #ifndef _ATCOMMAND_H_
 #ifndef _ATCOMMAND_H_
 #define _ATCOMMAND_H_
 #define _ATCOMMAND_H_
 
 
+//This is the distance at which @autoloot works,
+//if the item drops farther from the player than this,
+//it will not be autolooted. [Skotlex]
+#ifndef AUTOLOOT_DISTANCE 
+	#define AUTOLOOT_DISTANCE AREA_SIZE
+#endif
+
 enum AtCommandType {
 enum AtCommandType {
 	AtCommand_None = -1,
 	AtCommand_None = -1,
 	AtCommand_Broadcast = 0,
 	AtCommand_Broadcast = 0,

+ 2 - 1
src/map/mob.c

@@ -1494,7 +1494,8 @@ static void mob_item_drop(struct mob_data *md, struct item_drop_list *dlist, str
 	}
 	}
 
 
 	if (dlist->first_sd && dlist->first_sd->state.autoloot &&
 	if (dlist->first_sd && dlist->first_sd->state.autoloot &&
-		(drop_rate <= dlist->first_sd->state.autoloot)
+		drop_rate <= dlist->first_sd->state.autoloot &&
+		check_distance_blxy(&dlist->first_sd->bl, dlist->x, dlist->y, AUTOLOOT_DISTANCE)
 	) {	//Autoloot.
 	) {	//Autoloot.
 		if (party_share_loot(
 		if (party_share_loot(
 			dlist->first_sd->status.party_id?
 			dlist->first_sd->status.party_id?

+ 4 - 1
src/map/script.c

@@ -10663,7 +10663,7 @@ BUILDIN_FUNC(recovery)
 /*==========================================
 /*==========================================
  * Get your pet info: getpetinfo(n)  
  * Get your pet info: getpetinfo(n)  
  * n -> 0:pet_id 1:pet_class 2:pet_name
  * n -> 0:pet_id 1:pet_class 2:pet_name
-	3:friendly 4:hungry
+ * 3:friendly 4:hungry, 5: rename flag.
  *------------------------------------------
  *------------------------------------------
  */
  */
 BUILDIN_FUNC(getpetinfo)
 BUILDIN_FUNC(getpetinfo)
@@ -10693,6 +10693,9 @@ BUILDIN_FUNC(getpetinfo)
 			case 4:
 			case 4:
 				script_pushint(st,pd->pet.hungry);
 				script_pushint(st,pd->pet.hungry);
 				break;
 				break;
+			case 5:
+				script_pushint(st,pd->pet.rename_flag);
+				break;
 			default:
 			default:
 				script_pushint(st,0);
 				script_pushint(st,0);
 				break;
 				break;