Updated Item Group features (#2692)
* Added config to hide last chars of player's name `broadcast_hide_name` and its default value is 2. * Fixed `getgroupitem` that should give unidentified item for equipment types. * Added optional param for `getgroupitem` and `getrandgroupitem` to always give player identified item, ignores the `itemdb_isidentified`'s check. * Thanks to @aleos89 @Lemongrass3110
This commit is contained in:
@@ -19521,7 +19521,7 @@ void clif_parse_merge_item_cancel(int fd, struct map_session_data* sd) {
|
||||
/**
|
||||
* 07fd <size>.W <type>.B <itemid>.W <charname_len>.B <charname>.24B <source_len>.B <containerid>.W (ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN)
|
||||
* 07fd <size>.W <type>.B <itemid>.W <charname_len>.B <charname>.24B <source_len>.B <srcname>.24B (ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN)
|
||||
* type: ITEMOBTAIN_TYPE_BOXITEM & ITEMOBTAIN_TYPE_MONSTER_ITEM "[playername] ... [surcename] ... [itemname]" -> MsgStringTable[1629]
|
||||
* type: ITEMOBTAIN_TYPE_BOXITEM & ITEMOBTAIN_TYPE_MONSTER_ITEM "[playername] ... [sourcename] ... [itemname]" -> MsgStringTable[1629]
|
||||
* type: ITEMOBTAIN_TYPE_NPC "[playername] ... [itemname]" -> MsgStringTable[1870]
|
||||
**/
|
||||
void clif_broadcast_obtain_special_item(const char *char_name, unsigned short nameid, unsigned short container, enum BROADCASTING_SPECIAL_ITEM_OBTAIN type, const char *srcname) {
|
||||
@@ -19539,7 +19539,15 @@ void clif_broadcast_obtain_special_item(const char *char_name, unsigned short na
|
||||
WBUFB(buf, 4) = type;
|
||||
WBUFW(buf, 5) = nameid;
|
||||
WBUFB(buf, 7) = NAME_LENGTH;
|
||||
safestrncpy(WBUFCP(buf, 8), char_name, NAME_LENGTH);
|
||||
|
||||
if (battle_config.broadcast_hide_name) {
|
||||
std::string dispname = std::string(char_name);
|
||||
int hide = min(battle_config.broadcast_hide_name, dispname.length() - 1);
|
||||
dispname.replace(dispname.length() - hide, hide, hide, '*');
|
||||
safestrncpy(WBUFCP(buf, 8), dispname.c_str(), NAME_LENGTH);
|
||||
}
|
||||
else
|
||||
safestrncpy(WBUFCP(buf, 8), char_name, NAME_LENGTH);
|
||||
|
||||
switch (type) {
|
||||
case ITEMOBTAIN_TYPE_BOXITEM:
|
||||
|
||||
Reference in New Issue
Block a user