Pārlūkot izejas kodu

Edit for Upa

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1016 54d463be-8e91-2dee-dedb-b68131a5f0ec
(no author) 20 gadi atpakaļ
vecāks
revīzija
2841175718
6 mainītis faili ar 34 papildinājumiem un 1 dzēšanām
  1. 3 0
      Changelog.txt
  2. 1 0
      conf-tmpl/atcommand_athena.conf
  3. 27 0
      src/map/atcommand.c
  4. 1 0
      src/map/atcommand.h
  5. 1 0
      src/map/map.h
  6. 1 1
      src/map/mob.c

+ 3 - 0
Changelog.txt

@@ -1,5 +1,8 @@
 Date	Added
 
+01/31
+	* Added at(@) command @autoloot, which turns autoloot on or off for the
+	  player who uses it [Upa-Kun]
 01/29
 	* Fixed Storage Bug with Named Stackable items. Thanks to Nimion [Lupus]
 		e.g. Arrows, Iron, Elemental stones, etc...

+ 1 - 0
conf-tmpl/atcommand_athena.conf

@@ -81,6 +81,7 @@ where: 1
 
 // Spawns you to set points in major cities.
 go: 10
+autoloot: 10
 
 
 //----------------------

+ 27 - 0
src/map/atcommand.c

@@ -210,6 +210,7 @@ ACMD_FUNC(gmotd); // Added by MC Cameri, created by davidsiaw
 ACMD_FUNC(misceffect); // by MC Cameri
 ACMD_FUNC(mobsearch);
 ACMD_FUNC(cleanmap);
+ACMD_FUNC(autoloot);  // by Upa-Kun
 
 #ifndef TXT_ONLY
 ACMD_FUNC(checkmail); // [Valaris]
@@ -526,6 +527,7 @@ static AtCommandInfo atcommand_info[] = {
 	{ AtCommand_UndisguiseAll,		"@undisguiseall",	99,	atcommand_undisguiseall },
 	{ AtCommand_DisguiseAll,		"@disguiseall",	99,	atcommand_disguiseall },
 	{ AtCommand_ChangeLook,		"@changelook",	99,	atcommand_changelook },
+	{ AtCommand_AutoLoot,		"@autoloot",	10,	atcommand_autoloot }, // Upa-Kun
 
 // add new commands before this line
 	{ AtCommand_Unknown,             NULL,                1, NULL }
@@ -7534,6 +7536,31 @@ atcommand_changelook(const int fd, struct map_session_data* sd,
 	return 0;
 }
 
+/*==========================================
+ *Turns on/off AutoLoot for a specific player
+ *------------------------------------------
+ *by Upa-Kun
+ */
+int
+atcommand_autoloot(
+	const int fd, struct map_session_data* sd,
+	const char* command, const char* message)
+{
+	nullpo_retr(-1, sd);
+	if (sd->autoloot) 
+	{
+		sd->autoloot = 0;
+		clif_displaymessage(fd, "Autoloot is now off.");
+	}
+	else 
+	{
+		sd->autoloot = 1;
+		clif_displaymessage(fd, "Autoloot is now on.");
+	}
+	return 0;  
+}   
+
+
 /*==========================================
  * It is made to rain.
  *------------------------------------------

+ 1 - 0
src/map/atcommand.h

@@ -236,6 +236,7 @@ enum AtCommandType {
 	AtCommand_UndisguiseAll,
 	AtCommand_DisguiseAll,
 	AtCommand_ChangeLook,
+	AtCommand_AutoLoot, //by Upa-Kun
 
 	// end
 	AtCommand_Unknown,

+ 1 - 0
src/map/map.h

@@ -331,6 +331,7 @@ struct map_session_data {
 	int last_skillid,last_skilllv;		// Added by RoVeRT
 
 	unsigned char change_level; // [celest]
+	int autoloot; //by Upa-Kun
 
 #ifndef TXT_ONLY
 	int mail_counter;	// mail counter for mail system [Valaris]

+ 1 - 1
src/map/mob.c

@@ -1994,7 +1994,7 @@ static int mob_delay_item_drop(int tid,unsigned int tick,int id,int data)
 			}
 		} else
 		#endif
-		if(battle_config.item_auto_get){
+		if(battle_config.item_auto_get || ditem->first_sd->autoloot){//Autoloot added by Upa-Kun
 			drop_flag = 0;
 			if((flag = pc_additem(ditem->first_sd,&temp_item,ditem->amount))){
 				clif_additem(ditem->first_sd,0,0,flag);