1
This commit is contained in:
parent
fd36277d65
commit
c749f886ff
@ -849,7 +849,6 @@ void Room::OnHumanDie(Human* hum)
|
|||||||
--PerfMonitor::Instance()->alive_count;
|
--PerfMonitor::Instance()->alive_count;
|
||||||
RemoveFromAliveHumanHash(hum);
|
RemoveFromAliveHumanHash(hum);
|
||||||
NotifyUiUpdate();
|
NotifyUiUpdate();
|
||||||
CheckShowHand();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2624,55 +2623,6 @@ void Room::SyncFrameData()
|
|||||||
frame_event.Clear();
|
frame_event.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Room::CheckShowHand()
|
|
||||||
{
|
|
||||||
if (show_handed_) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Room::ShowHand()
|
|
||||||
{
|
|
||||||
std::vector<Player*> players;
|
|
||||||
std::vector<Human*> androids;
|
|
||||||
for (auto& pair : accountid_hash_) {
|
|
||||||
players.push_back(pair.second);
|
|
||||||
}
|
|
||||||
for (auto& pair : last_human_hash_) {
|
|
||||||
androids.push_back(pair.second);
|
|
||||||
}
|
|
||||||
for (size_t i = 0; i < players.size(); ++i) {
|
|
||||||
if (i >= androids.size()) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
Player* target = players[i];
|
|
||||||
Human* hum = androids[i];
|
|
||||||
{
|
|
||||||
Position pos = target->GetPos();
|
|
||||||
glm::vec3 dir = target->GetMoveDir();
|
|
||||||
if (rand() % 100 < 80) {
|
|
||||||
GlmHelper::RotateY(dir, a8::RandAngle() / 2.0f);
|
|
||||||
} else {
|
|
||||||
GlmHelper::RotateY(dir, a8::RandAngle());
|
|
||||||
}
|
|
||||||
// 999
|
|
||||||
#if 1
|
|
||||||
#else
|
|
||||||
pos = pos + dir * VIEW_RANGE;
|
|
||||||
#endif
|
|
||||||
if (OverBorder(pos.ToGlmVec3(), hum->GetRadius())) {
|
|
||||||
pos.SetX(target->GetPos().GetX());
|
|
||||||
if (OverBorder(pos.ToGlmVec3(), hum->GetRadius())) {
|
|
||||||
pos = target->GetPos(); //!!!
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hum->last_human_target = target;
|
|
||||||
hum->SetPos(pos);
|
|
||||||
EnableHuman(hum);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Room::RemoveRescue(Human* hum)
|
void Room::RemoveRescue(Human* hum)
|
||||||
{
|
{
|
||||||
for (auto& pair : human_hash_) {
|
for (auto& pair : human_hash_) {
|
||||||
|
@ -314,7 +314,6 @@ private:
|
|||||||
void NewBieRoomStart();
|
void NewBieRoomStart();
|
||||||
bool CanAddToScene(Human* hum);
|
bool CanAddToScene(Human* hum);
|
||||||
void SyncFrameData();
|
void SyncFrameData();
|
||||||
void CheckShowHand();
|
|
||||||
void InitAndroidAI();
|
void InitAndroidAI();
|
||||||
void ForwardGasRing(int n);
|
void ForwardGasRing(int n);
|
||||||
void InternalRemoveObjectLater(Entity* entity, a8::Attacher& entity_xtimer_attacher);
|
void InternalRemoveObjectLater(Entity* entity, a8::Attacher& entity_xtimer_attacher);
|
||||||
|
@ -37,75 +37,7 @@ const int HUM_NUM_DOWN_LIMIT = 2500;
|
|||||||
|
|
||||||
static RoomType_e GetHumanRoomType(const cs::CMJoin& msg, int& game_times)
|
static RoomType_e GetHumanRoomType(const cs::CMJoin& msg, int& game_times)
|
||||||
{
|
{
|
||||||
#if 1
|
|
||||||
return RoomType_OldBrid1;
|
return RoomType_OldBrid1;
|
||||||
#else
|
|
||||||
game_times = 0;
|
|
||||||
std::vector<std::string> tmp_strings;
|
|
||||||
a8::Split(msg.pre_settlement_info(), tmp_strings, ',');
|
|
||||||
if (tmp_strings.size() < 3) {
|
|
||||||
return RT_NewBrid;
|
|
||||||
}
|
|
||||||
//游戏次数,吃鸡数,击杀数,段位
|
|
||||||
game_times = a8::XValue(tmp_strings[0]);
|
|
||||||
int room_rank = tmp_strings.size() > 3 ? a8::XValue(tmp_strings[3]).GetInt() : 0;
|
|
||||||
time_t register_time = f8::ExtractRegisterTimeFromSessionId(msg.session_id());
|
|
||||||
#if 1
|
|
||||||
#else
|
|
||||||
if (!f8::IsOnlineEnv() || RoomMgr::Instance()->IsGM(msg)) {
|
|
||||||
game_times = 0;
|
|
||||||
if (!msg.team_uuid().empty()) {
|
|
||||||
game_times = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!msg.team_uuid().empty() && msg.team_members().size() > 1) {
|
|
||||||
for (auto& team_member : msg.team_members()) {
|
|
||||||
if (team_member.rank() > 0) {
|
|
||||||
if (team_member.rank() > room_rank) {
|
|
||||||
room_rank = team_member.rank();
|
|
||||||
register_time = team_member.create_time();
|
|
||||||
} else if(team_member.rank() == room_rank &&
|
|
||||||
team_member.create_time() > register_time) {
|
|
||||||
register_time = team_member.create_time();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
#if 0
|
|
||||||
if (msg.force_entry_newbie_room()) {
|
|
||||||
return RT_NewBrid;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (game_times <= 0) {
|
|
||||||
return RT_NewBrid;
|
|
||||||
} else if (game_times == 1) {
|
|
||||||
return RT_MidBrid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!msg.team_uuid().empty() && msg.team_members().size() > 1) {
|
|
||||||
if (room_rank >= 0 && room_rank <= 6) {
|
|
||||||
return RoomType_OldBrid1;
|
|
||||||
} else if (a8::BetweenDays(Global::g_nowtime, register_time) <= 0) {
|
|
||||||
return RoomType_OldBrid2;
|
|
||||||
} else {
|
|
||||||
return RoomType_OldBrid3;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (room_rank >= 0 && room_rank <= 6) {
|
|
||||||
//黄金段位以下
|
|
||||||
return RoomType_OldBrid1;
|
|
||||||
} else if (a8::BetweenDays(Global::g_nowtime, register_time) <= 0) {
|
|
||||||
//第一天,黄金段位以上
|
|
||||||
return RoomType_OldBrid2;
|
|
||||||
} else {
|
|
||||||
//其他
|
|
||||||
return RoomType_OldBrid3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RoomMgr::Init()
|
void RoomMgr::Init()
|
||||||
|
@ -121,7 +121,7 @@ void Team::CombineBornPoint()
|
|||||||
member->FindLocation();
|
member->FindLocation();
|
||||||
member->RefreshView();
|
member->RefreshView();
|
||||||
room->grid_service->MoveCreature(member);
|
room->grid_service->MoveCreature(member);
|
||||||
} else if (room->GetRoomType() == RoomType_MidBrid && !member->team_uuid.empty()){
|
} else {
|
||||||
room->EnableHuman(member);
|
room->EnableHuman(member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user