1
This commit is contained in:
parent
ee1a5a0417
commit
6acf3a2fb5
@ -3,12 +3,13 @@
|
|||||||
#include "android.h"
|
#include "android.h"
|
||||||
#include "metamgr.h"
|
#include "metamgr.h"
|
||||||
#include "android.ai.h"
|
#include "android.ai.h"
|
||||||
|
#include "zombie.ai.h"
|
||||||
#include "room.h"
|
#include "room.h"
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
|
|
||||||
Android::Android():Human()
|
Android::Android():Human()
|
||||||
{
|
{
|
||||||
ai = new AndroidNewAI;
|
ai = new ZombieAI;
|
||||||
ai->owner = this;
|
ai->owner = this;
|
||||||
#if 0
|
#if 0
|
||||||
++PerfMonitor::Instance()->entity_num[ET_Android];
|
++PerfMonitor::Instance()->entity_num[ET_Android];
|
||||||
|
@ -1861,8 +1861,6 @@ void Human::ChangeToRace(RaceType_e race, int level)
|
|||||||
}
|
}
|
||||||
race_ = race;
|
race_ = race;
|
||||||
level_ = level;
|
level_ = level;
|
||||||
room->frame_event.AddRaceChg(this);
|
|
||||||
room->frame_event.AddLevelChg(this);
|
|
||||||
if (race_ == kHumanRace) {
|
if (race_ == kHumanRace) {
|
||||||
meta = MetaMgr::Instance()->GetPlayer(HUMAN_RACE_META_START_ID + level_ - 1);
|
meta = MetaMgr::Instance()->GetPlayer(HUMAN_RACE_META_START_ID + level_ - 1);
|
||||||
if (!meta) {
|
if (!meta) {
|
||||||
@ -1880,6 +1878,13 @@ void Human::ChangeToRace(RaceType_e race, int level)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Human::ChangeToRaceAndNotify(RaceType_e race, int level)
|
||||||
|
{
|
||||||
|
ChangeToRace(race, level);
|
||||||
|
room->frame_event.AddRaceChg(this);
|
||||||
|
room->frame_event.AddLevelChg(this);
|
||||||
|
}
|
||||||
|
|
||||||
void Human::_InternalUpdateMove(float speed)
|
void Human::_InternalUpdateMove(float speed)
|
||||||
{
|
{
|
||||||
float nx = move_dir.x * speed;
|
float nx = move_dir.x * speed;
|
||||||
|
@ -281,6 +281,7 @@ class Human : public MoveableEntity
|
|||||||
void _UpdateMove(int speed);
|
void _UpdateMove(int speed);
|
||||||
RaceType_e GetRace() { return race_; }
|
RaceType_e GetRace() { return race_; }
|
||||||
void ChangeToRace(RaceType_e race, int level);
|
void ChangeToRace(RaceType_e race, int level);
|
||||||
|
void ChangeToRaceAndNotify(RaceType_e race, int level);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void _InternalUpdateMove(float speed);
|
void _InternalUpdateMove(float speed);
|
||||||
|
@ -306,6 +306,9 @@ void Room::CreateAndroid(int robot_num)
|
|||||||
alive_count_chged_frameno_ = GetFrameNo();
|
alive_count_chged_frameno_ = GetFrameNo();
|
||||||
++PerfMonitor::Instance()->alive_count;
|
++PerfMonitor::Instance()->alive_count;
|
||||||
refreshed_robot_set_.insert(robot_meta->i->id());
|
refreshed_robot_set_.insert(robot_meta->i->id());
|
||||||
|
if (GetRoomMode() == kZombieMode) {
|
||||||
|
hum->ChangeToRace(kHumanRace, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!CanAddToScene(hum)) {
|
if (!CanAddToScene(hum)) {
|
||||||
a8::SetBitFlag(hum->status, HS_Disable);
|
a8::SetBitFlag(hum->status, HS_Disable);
|
||||||
@ -2494,6 +2497,9 @@ void Room::AddPlayerPostProc(Player* hum)
|
|||||||
while (human_hash_.size() > GetRoomMaxPlayerNum()) {
|
while (human_hash_.size() > GetRoomMaxPlayerNum()) {
|
||||||
RandRemoveAndroid();
|
RandRemoveAndroid();
|
||||||
}
|
}
|
||||||
|
if (GetRoomMode() == kZombieMode) {
|
||||||
|
hum->ChangeToRace(kHumanRace, 1);
|
||||||
|
}
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
xtimer.AddRepeatTimerAndAttach
|
xtimer.AddRepeatTimerAndAttach
|
||||||
(SERVER_FRAME_RATE * 5,
|
(SERVER_FRAME_RATE * 5,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user