1
This commit is contained in:
parent
98f6454670
commit
8ba9544bfa
@ -410,7 +410,7 @@ void AndroidNewAI::UpdateNewAI()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!ai_meta && GetAiLevel() != 0) {
|
if (!ai_meta && GetAiLevel() != 0) {
|
||||||
ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel());
|
ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel(), 0);
|
||||||
if (!ai_meta) {
|
if (!ai_meta) {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
@ -602,12 +602,7 @@ private:
|
|||||||
MetaData::AI& item = a8::FastAppend(ai_list);
|
MetaData::AI& item = a8::FastAppend(ai_list);
|
||||||
item.i = &meta;
|
item.i = &meta;
|
||||||
item.Init();
|
item.Init();
|
||||||
ai_hash[meta.ai_level()] = &item;
|
ai_hash[a8::MakeInt64(meta.ai_level(), meta.ai_mode())] = &item;
|
||||||
}
|
|
||||||
for (int i = 1; i <= MAX_AI_LEVEL; ++i) {
|
|
||||||
if (ai_hash.find(i) == ai_hash.end()) {
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -836,8 +831,8 @@ MetaData::Robot* MetaMgr::RandRobot(std::set<int>& refreshed_robot_set)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaData::AI* MetaMgr::GetAI(int ai_level)
|
MetaData::AI* MetaMgr::GetAI(int ai_level, int ai_mode)
|
||||||
{
|
{
|
||||||
auto itr = loader_->ai_hash.find(ai_level);
|
auto itr = loader_->ai_hash.find(a8::MakeInt64(ai_level, ai_mode));
|
||||||
return itr != loader_->ai_hash.end() ? itr->second : nullptr;
|
return itr != loader_->ai_hash.end() ? itr->second : nullptr;
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
int GetKillPointParam1(int kill_num);
|
int GetKillPointParam1(int kill_num);
|
||||||
int GetKillPointParam2(int kill_num);
|
int GetKillPointParam2(int kill_num);
|
||||||
MetaData::Robot* RandRobot(std::set<int>& refreshed_robot_set);
|
MetaData::Robot* RandRobot(std::set<int>& refreshed_robot_set);
|
||||||
MetaData::AI* GetAI(int ai_level);
|
MetaData::AI* GetAI(int ai_level, int ai_mode);
|
||||||
|
|
||||||
int gas_inactive_time = 10;
|
int gas_inactive_time = 10;
|
||||||
int newbie_gas_inactive_time = 5;
|
int newbie_gas_inactive_time = 5;
|
||||||
|
@ -97,7 +97,7 @@ void ZombieAI::UpdateAI()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!node_->ai_meta && GetAiLevel() != 0) {
|
if (!node_->ai_meta && GetAiLevel() != 0) {
|
||||||
node_->ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel());
|
node_->ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel(), 1);
|
||||||
if (!node_->ai_meta) {
|
if (!node_->ai_meta) {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
@ -263,6 +263,7 @@ message AI
|
|||||||
optional string random_move_time = 9;
|
optional string random_move_time = 9;
|
||||||
optional int32 attack_range = 10;
|
optional int32 attack_range = 10;
|
||||||
optional float attack_rate = 11;
|
optional float attack_rate = 11;
|
||||||
|
optional int32 ai_mode = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
//end
|
//end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user