Merge branch 'More-AI-improvem'

# Conflicts:
#	src/karts/controller/skidding_ai.cpp
This commit is contained in:
auria.mg 2018-04-22 19:36:37 -04:00
commit c08093d732
3 changed files with 692 additions and 520 deletions

View File

@ -555,9 +555,6 @@ void ArenaAI::useItems(const float dt)
case PowerupManager::POWERUP_PARACHUTE: case PowerupManager::POWERUP_PARACHUTE:
break; // POWERUP_PARACHUTE break; // POWERUP_PARACHUTE
case PowerupManager::POWERUP_ANVIL:
break; // POWERUP_ANVIL
case PowerupManager::POWERUP_RUBBERBALL: case PowerupManager::POWERUP_RUBBERBALL:
break; break;

File diff suppressed because it is too large Load Diff

View File

@ -194,6 +194,9 @@ private:
enum {SKID_PROBAB_NOT_YET, SKID_PROBAB_NO_SKID, SKID_PROBAB_SKID} enum {SKID_PROBAB_NOT_YET, SKID_PROBAB_NO_SKID, SKID_PROBAB_SKID}
m_skid_probability_state; m_skid_probability_state;
/** This is used by computeSkill to know what skill is used */
enum SkillType {ITEM_SKILL, NITRO_SKILL};
/** The last item selected for collection, for which a probability /** The last item selected for collection, for which a probability
* was determined. */ * was determined. */
const Item *m_last_item_random; const Item *m_last_item_random;
@ -242,11 +245,19 @@ private:
void handleRaceStart(); void handleRaceStart();
void handleAcceleration(int ticks); void handleAcceleration(int ticks);
void handleSteering(float dt); void handleSteering(float dt);
int computeSkill(SkillType type);
void handleItems(const float dt, const Vec3 *aim_point, void handleItems(const float dt, const Vec3 *aim_point,
int last_node); int last_node, int item_skill);
void handleBubblegum(int item_skill, const std::vector<const Item *> &items_to_collect,
const std::vector<const Item *> &items_to_avoid);
void handleCake(int item_skill);
void handleBowling(int item_skill);
void handleSwatter(int item_skill);
void handleSwitch(int item_skill, const std::vector<const Item *> &items_to_collect,
const std::vector<const Item *> &items_to_avoid);
void handleRescue(const float dt); void handleRescue(const float dt);
void handleBraking(); void handleBraking();
void handleNitroAndZipper(); void handleNitroAndZipper(int item_skill);
void computeNearestKarts(); void computeNearestKarts();
void handleItemCollectionAndAvoidance(Vec3 *aim_point, void handleItemCollectionAndAvoidance(Vec3 *aim_point,
int last_node); int last_node);