summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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
4 files changed, 30 insertions, 1 deletions
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);