diff options
-rw-r--r-- | Changelog.txt | 3 | ||||
-rw-r--r-- | conf-tmpl/atcommand_athena.conf | 1 | ||||
-rw-r--r-- | src/map/atcommand.c | 27 | ||||
-rw-r--r-- | src/map/atcommand.h | 1 | ||||
-rw-r--r-- | src/map/map.h | 1 | ||||
-rw-r--r-- | src/map/mob.c | 2 |
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); |