summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt3
-rw-r--r--conf-tmpl/atcommand_athena.conf1
-rw-r--r--src/map/atcommand.c27
-rw-r--r--src/map/atcommand.h1
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/mob.c2
6 files changed, 34 insertions, 1 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 4ca45ceb8..765aab1f4 100644
--- a/Changelog.txt
+++ b/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...
diff --git a/conf-tmpl/atcommand_athena.conf b/conf-tmpl/atcommand_athena.conf
index 84f7806bd..78cee226f 100644
--- a/conf-tmpl/atcommand_athena.conf
+++ b/conf-tmpl/atcommand_athena.conf
@@ -81,6 +81,7 @@ where: 1
// Spawns you to set points in major cities.
go: 10
+autoloot: 10
//----------------------
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index a91fe061b..4e6d5c456 100644
--- a/src/map/atcommand.c
+++ b/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 }
@@ -7535,6 +7537,31 @@ atcommand_changelook(const int fd, struct map_session_data* sd,
}
/*==========================================
+ *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.
*------------------------------------------
*/
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index be2bdcbcb..7616b725f 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -236,6 +236,7 @@ enum AtCommandType {
AtCommand_UndisguiseAll,
AtCommand_DisguiseAll,
AtCommand_ChangeLook,
+ AtCommand_AutoLoot, //by Upa-Kun
// end
AtCommand_Unknown,
diff --git a/src/map/map.h b/src/map/map.h
index 1d0f7a432..565f68dbc 100644
--- a/src/map/map.h
+++ b/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]
diff --git a/src/map/mob.c b/src/map/mob.c
index ecf3c8bdc..b381a4407 100644
--- a/src/map/mob.c
+++ b/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);