去除幻化残留信息
This commit is contained in:
parent
4bcd88cb39
commit
61eacc9c67
@ -221,29 +221,7 @@ bool CommonFunc::DoAciotnAfterAccept(Player* player, uint32 id, bool quest)
|
||||
playerData->mountSpellId = 0;
|
||||
playerData->mountReqId = 0;
|
||||
}
|
||||
return true;
|
||||
case 999://购买幻化
|
||||
if (sReq->Check(player, playerData->trans_reqId))
|
||||
{
|
||||
if (playerData)
|
||||
{
|
||||
if (Item* item = playerData->AddItemById(player,playerData->trans_item, 1))
|
||||
{
|
||||
sReq->Des(player, playerData->trans_reqId);
|
||||
//添加幻化标记
|
||||
//player->ApplyEnchantment(item, EnchantmentSlot(PERM_ENCHANTMENT_SLOT), false);
|
||||
//item->SetEnchantment(EnchantmentSlot(PERM_ENCHANTMENT_SLOT), TRANS_FLAG_ENCHANT_ID, 0, 0);
|
||||
//player->ApplyEnchantment(item, EnchantmentSlot(PERM_ENCHANTMENT_SLOT), true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChatHandler(player->GetSession()).SendNotification("背包已满");
|
||||
}
|
||||
playerData->trans_reqId = 0;
|
||||
playerData->trans_item = 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -318,10 +318,6 @@ CustomPlayerData::CustomPlayerData()
|
||||
//backdoor block
|
||||
block = false;
|
||||
|
||||
//购买幻化
|
||||
trans_item = 0;
|
||||
trans_reqId = 0;
|
||||
|
||||
//升级 强化的物品
|
||||
playerItem = NULL;
|
||||
|
||||
|
||||
@ -580,10 +580,6 @@ public:
|
||||
//cfbg
|
||||
TeamId realTeam; // 队伍的真实ID
|
||||
|
||||
//购买幻化
|
||||
uint32 trans_item; // 购买幻化的物品ID
|
||||
uint32 trans_reqId; // 购买幻化所需的ID
|
||||
|
||||
//升级,强化的物品
|
||||
Item* playerItem; // 升级或强化的物品
|
||||
|
||||
|
||||
@ -95,7 +95,6 @@ using namespace Acore::ChatCommands;
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
std::unordered_map<uint32, KillerStreakTemplate> KillerStreakMap; // 连杀
|
||||
std::unordered_map<uint32, uint32> BuyTransItemMap; // 物品_购买幻化
|
||||
std::unordered_map<uint32, PlayerDropRate> PlayerDropRateMap; // 属性调整_玩家掉率修改
|
||||
std::unordered_map<uint32, float> AreaVisibilityDistMap; // 属性调整_地域可视距离
|
||||
std::vector<std::string> DirtyWordVector; // 聊天屏蔽词列表
|
||||
@ -139,17 +138,6 @@ void DataLoader::Load()
|
||||
}
|
||||
);
|
||||
|
||||
// 加载 幻化购买 数据
|
||||
LoadDataToMap(
|
||||
BuyTransItemMap,
|
||||
// 0 1
|
||||
"SELECT 物品ID, 需求模板ID FROM acore_custom._物品_购买幻化",
|
||||
"_物品_购买幻化-----------",
|
||||
[](Field* fields) -> std::pair<uint32, uint32> {
|
||||
return std::make_pair(fields[0].Get<uint32>(), fields[1].Get<uint32>());
|
||||
}
|
||||
);
|
||||
|
||||
// 加载 玩家掉率修改 数据
|
||||
LoadDataToMap(
|
||||
PlayerDropRateMap,
|
||||
|
||||
@ -23,9 +23,6 @@ struct KillerStreakTemplate
|
||||
};
|
||||
extern std::unordered_map<uint32, KillerStreakTemplate> KillerStreakMap;
|
||||
|
||||
//幻化购买
|
||||
extern std::unordered_map<uint32, uint32> BuyTransItemMap;
|
||||
|
||||
extern std::unordered_map<uint32, float> AreaVisibilityDistMap;
|
||||
|
||||
//过滤聊天字符
|
||||
|
||||
@ -299,149 +299,6 @@ bool GCAddon::OnRecv(Player* player, std::string msg)
|
||||
return true;
|
||||
}
|
||||
|
||||
//取消幻化
|
||||
/*else if (IsOpcode(opcode, "GC_C_BUY_TRANSMOG"))
|
||||
{
|
||||
uint32 id = atoi(SplitStr(msg, 1).c_str());
|
||||
uint32 fakeEntry = atoll(SplitStr(msg, 2).c_str());
|
||||
|
||||
EquipmentSlots slot = EQUIPMENT_SLOT_END;
|
||||
|
||||
switch (id)
|
||||
{
|
||||
case 1:slot = EQUIPMENT_SLOT_HEAD; break;
|
||||
case 2:slot = EQUIPMENT_SLOT_SHOULDERS; break;
|
||||
case 3:slot = EQUIPMENT_SLOT_BODY; break;
|
||||
case 4:slot = EQUIPMENT_SLOT_CHEST; break;
|
||||
case 5:slot = EQUIPMENT_SLOT_WAIST; break;
|
||||
case 6:slot = EQUIPMENT_SLOT_LEGS; break;
|
||||
case 7:slot = EQUIPMENT_SLOT_FEET; break;
|
||||
case 8:slot = EQUIPMENT_SLOT_WRISTS; break;
|
||||
case 9:slot = EQUIPMENT_SLOT_HANDS; break;
|
||||
case 10:slot = EQUIPMENT_SLOT_BACK; break;
|
||||
case 11:slot = EQUIPMENT_SLOT_MAINHAND; break;
|
||||
case 12:slot = EQUIPMENT_SLOT_OFFHAND; break;
|
||||
case 13:slot = EQUIPMENT_SLOT_RANGED; break;
|
||||
case 14:slot = EQUIPMENT_SLOT_TABARD; break;
|
||||
default:return true;
|
||||
}
|
||||
|
||||
if (Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot))
|
||||
{
|
||||
if (ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(fakeEntry))
|
||||
{
|
||||
if (sTransmogrification->PresetTransmog(player, item, fakeEntry, slot))
|
||||
SendTransMogData(player);
|
||||
else
|
||||
ChatHandler(player->GetSession()).PSendSysMessage("幻化失败,相关部位不能幻化此物品");
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (IsOpcode(opcode, "GC_TRANS_BUY"))
|
||||
{
|
||||
int32 i = atoi(SplitStr(msg, 1).c_str());
|
||||
|
||||
uint32 entry = abs(i);
|
||||
|
||||
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(entry);
|
||||
if (!pProto)
|
||||
{
|
||||
ChatHandler(player->GetSession()).SendNotification("该物品不存在");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 reqId = GetTransReqId(entry);
|
||||
|
||||
if (!sReq->Check(player, reqId))
|
||||
return true;
|
||||
|
||||
EquipmentSlots slot = EQUIPMENT_SLOT_END;
|
||||
|
||||
switch (pProto->InventoryType)
|
||||
{
|
||||
case INVTYPE_HEAD:
|
||||
slot = EQUIPMENT_SLOT_HEAD;
|
||||
break;
|
||||
case INVTYPE_SHOULDERS:
|
||||
slot = EQUIPMENT_SLOT_SHOULDERS;
|
||||
break;
|
||||
case INVTYPE_BODY:
|
||||
slot = EQUIPMENT_SLOT_BODY;
|
||||
break;
|
||||
case INVTYPE_CHEST:
|
||||
case INVTYPE_ROBE:
|
||||
slot = EQUIPMENT_SLOT_CHEST;
|
||||
break;
|
||||
case INVTYPE_WAIST:
|
||||
slot = EQUIPMENT_SLOT_WAIST;
|
||||
break;
|
||||
case INVTYPE_LEGS:
|
||||
slot = EQUIPMENT_SLOT_LEGS;
|
||||
break;
|
||||
case INVTYPE_FEET:
|
||||
slot = EQUIPMENT_SLOT_FEET;
|
||||
break;
|
||||
case INVTYPE_WRISTS:
|
||||
slot = EQUIPMENT_SLOT_WRISTS;
|
||||
break;
|
||||
case INVTYPE_HANDS:
|
||||
slot = EQUIPMENT_SLOT_HANDS;
|
||||
break;
|
||||
case INVTYPE_CLOAK:
|
||||
slot = EQUIPMENT_SLOT_BACK;
|
||||
break;
|
||||
case INVTYPE_WEAPON:
|
||||
case INVTYPE_WEAPONMAINHAND:
|
||||
case INVTYPE_2HWEAPON:
|
||||
slot = EQUIPMENT_SLOT_MAINHAND;
|
||||
break;
|
||||
case INVTYPE_WEAPONOFFHAND:
|
||||
case INVTYPE_SHIELD:
|
||||
slot = EQUIPMENT_SLOT_OFFHAND;
|
||||
break;
|
||||
case INVTYPE_RANGEDRIGHT:
|
||||
case INVTYPE_RANGED:
|
||||
slot = EQUIPMENT_SLOT_OFFHAND;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (slot == EQUIPMENT_SLOT_END)
|
||||
{
|
||||
ChatHandler(player->GetSession()).SendNotification("该物品不能用于幻化");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (entry > 56806 && !player->HasItemCount(entry, 1, true))
|
||||
{
|
||||
std::ostringstream oss;
|
||||
oss << "请先购买" << sCF->GetItemLink(entry);
|
||||
ChatHandler(player->GetSession()).SendNotification(oss.str().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (i < 0)
|
||||
slot = EQUIPMENT_SLOT_OFFHAND;
|
||||
|
||||
if (Item* itemTransmogrified = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot))
|
||||
{
|
||||
if (sTransmogrification->PresetTransmog(player, itemTransmogrified, entry, slot))
|
||||
{
|
||||
player->GetSession()->SendAreaTriggerMessage("幻化成功");
|
||||
sReq->Des(player, reqId);
|
||||
}
|
||||
else
|
||||
ChatHandler(player->GetSession()).SendNotification("目标部位不允许幻化成该物品,幻化失败");
|
||||
}
|
||||
else
|
||||
ChatHandler(player->GetSession()).SendNotification("该部位未装备物品,幻化失败");
|
||||
|
||||
return true;
|
||||
}*/
|
||||
|
||||
// 法宝信息
|
||||
else if (IsOpcode(opcode, "SM_C_TALISMAN"))
|
||||
{
|
||||
@ -1281,19 +1138,6 @@ std::string GCAddon::GetRewString(Player* player, uint32 rewId)
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
uint32 GCAddon::GetTransReqId(uint32 itemId)
|
||||
{
|
||||
std::unordered_map<uint32, uint32>::iterator iter = BuyTransItemMap.find(itemId);
|
||||
if (iter != BuyTransItemMap.end())
|
||||
return iter->second;
|
||||
|
||||
iter = BuyTransItemMap.find(0);
|
||||
if (iter != BuyTransItemMap.end())
|
||||
return iter->second;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//#include "mail.h"
|
||||
// subject 邮件标题
|
||||
// text 邮件内容
|
||||
|
||||
@ -45,8 +45,6 @@ public:
|
||||
std::string GetReqString(Player* player, uint32 reqId);
|
||||
std::string GetRewString(Player* player, uint32 rewId);
|
||||
|
||||
//幻化
|
||||
uint32 GetTransReqId(uint32 itemId);
|
||||
std::string GetItemIcon(uint32 entry);
|
||||
|
||||
void SendAllData(Player* player);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user