From d2db33e7db2925acea8a1e725e57d5d5b0b5a7a3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 22 Apr 2024 17:58:05 +0800 Subject: [PATCH] 1 --- server/gameserver/netdata.cc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index c1281a20..9d16b5ec 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -279,6 +279,32 @@ private: void DtoInit(Creature* c) { + { + auto rand_attr = hero_dto->At("rand_attr"); + if (rand_attr && rand_attr->IsArray()) { + for (int i = 0; i < rand_attr->Size(); ++i) { + auto attr = rand_attr->At(i); + if (attr && attr->IsObject()) { + int attr_id = a8::XValue(attr->Get("attr_id", "0")); + float val = a8::XValue(attr->Get("val", "0")).GetDouble(); + } + } + } + } + { + auto chip_page = hero_dto->At("chip_page"); + if (chip_page && chip_page->IsObject()) { + std::vector keys; + chip_page->GetKeys(keys); + for (auto& key : keys) { + auto attr = chip_page->At(key); + if (attr && attr->IsObject()) { + int attr_id = a8::XValue(attr->Get("attr_id", "0")); + float val = a8::XValue(attr->Get("val", "0")).GetDouble(); + } + } + } + } } private: