1
This commit is contained in:
parent
4cb2d0e5fe
commit
fe88e08ab8
@ -28,6 +28,7 @@ AndroidNewAI::~AndroidNewAI()
|
|||||||
|
|
||||||
void AndroidNewAI::Update(int delta_time)
|
void AndroidNewAI::Update(int delta_time)
|
||||||
{
|
{
|
||||||
|
old_ai_data_.state_elapsed_time += delta_time;
|
||||||
Human* hum = (Human*)owner;
|
Human* hum = (Human*)owner;
|
||||||
if (hum->poisoning) {
|
if (hum->poisoning) {
|
||||||
hum->poisoning_time += delta_time;
|
hum->poisoning_time += delta_time;
|
||||||
@ -83,6 +84,63 @@ void AndroidNewAI::Update(int delta_time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AndroidNewAI::DefaultAi()
|
void AndroidNewAI::DefaultAi()
|
||||||
|
{
|
||||||
|
switch (old_ai_data_.state) {
|
||||||
|
case AS_thinking:
|
||||||
|
{
|
||||||
|
if (old_ai_data_.state_elapsed_time > 1500 + rand() % 3000) {
|
||||||
|
int rnd = rand();
|
||||||
|
if (rnd % 100 < 30) {
|
||||||
|
ChangeToStateOldAI(AS_moving);
|
||||||
|
} else if (rnd % 100 < 50) {
|
||||||
|
ChangeToStateOldAI(AS_attack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case AS_moving:
|
||||||
|
{
|
||||||
|
if (old_ai_data_.state_elapsed_time < 1000 + rand() % 2000) {
|
||||||
|
DoMoveOldAI();
|
||||||
|
} else {
|
||||||
|
int rnd = rand();
|
||||||
|
if (rnd % 100 < 30) {
|
||||||
|
ChangeToStateOldAI(AS_thinking);
|
||||||
|
} else if (rnd % 100 < 50) {
|
||||||
|
ChangeToStateOldAI(AS_attack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case AS_attack:
|
||||||
|
{
|
||||||
|
if ((old_ai_data_.state_elapsed_time < 3000 && old_ai_data_.last_target) ||
|
||||||
|
(old_ai_data_.state_elapsed_time < 1100)) {
|
||||||
|
DoAttackOldAI();
|
||||||
|
} else {
|
||||||
|
int rnd = rand();
|
||||||
|
if (rnd % 100 < 30) {
|
||||||
|
ChangeToStateOldAI(AS_moving);
|
||||||
|
} else if (rnd % 100 < 50) {
|
||||||
|
ChangeToStateOldAI(AS_thinking);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AndroidNewAI::ChangeToStateOldAI(AndroidState_e to_state)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AndroidNewAI::DoMoveOldAI()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AndroidNewAI::DoAttackOldAI()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "aicomponent.h"
|
#include "aicomponent.h"
|
||||||
|
#include "android.ai.h"
|
||||||
|
|
||||||
|
struct OldAiData
|
||||||
|
{
|
||||||
|
AndroidState_e state = AS_thinking;
|
||||||
|
int state_elapsed_time = 0;
|
||||||
|
Human* last_target = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
class Human;
|
class Human;
|
||||||
class AndroidNewAI : public AIComponent
|
class AndroidNewAI : public AIComponent
|
||||||
@ -12,6 +20,10 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void DefaultAi();
|
void DefaultAi();
|
||||||
|
void ChangeToStateOldAI(AndroidState_e to_state);
|
||||||
|
void DoMoveOldAI();
|
||||||
|
void DoAttackOldAI();
|
||||||
|
|
||||||
void UpdateAiLevel1();
|
void UpdateAiLevel1();
|
||||||
void UpdateAiLevel2();
|
void UpdateAiLevel2();
|
||||||
void UpdateAiLevel3();
|
void UpdateAiLevel3();
|
||||||
@ -21,4 +33,7 @@ private:
|
|||||||
void UpdateAiLevel7();
|
void UpdateAiLevel7();
|
||||||
void UpdateAiLevel8();
|
void UpdateAiLevel8();
|
||||||
|
|
||||||
|
private:
|
||||||
|
OldAiData old_ai_data_;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user