Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include "config.h"
#include "aggressive.h"
#include "event_xml.h"
#include "script.h"
#include <list>
#include <vector>
#include "vs_globals.h"
#include "config_xml.h"
#include "xml_support.h"
#include "cmd/unit_generic.h"
#include "communication.h"
#include "cmd/script/flightgroup.h"
#include "flybywire.h"
#include "hard_coded_scripts.h"
#include "cmd/script/mission.h"
#include "gfx/cockpit_generic.h"
#include "lin_time.h"
#include "faction_generic.h"
#include "cmd/role_bitmask.h"
#include "cmd/unit_util.h"
#include "warpto.h"
#include "cmd/csv.h"
#include "universe_util.h"
#include "vs_random.h"
#include "python/python_compile.h"
#include "cmd/unit_find.h"
#include "docking.h"
Go to the source code of this file.
Classes | |
class | FlyTo |
Functions | |
bool | CheckAccessory (Unit *tur) |
static void | TurretFAW (Unit *parent) |
static vsUMap< string, string > | getAITypes () |
static string | select_from_space_list (string inp, unsigned int seed) |
static AIEvents::ElemAttrMap * | getLogicOrInterrupt (string name, int faction, string unittype, vsUMap< string, AIEvents::ElemAttrMap * > &mymap, int personalityseed) |
static AIEvents::ElemAttrMap * | getProperLogicOrInterruptScript (string name, int faction, string unittype, bool interrupt, int personalityseed) |
static AIEvents::ElemAttrMap * | getProperScript (Unit *me, Unit *targ, bool interrupt, int personalityseed) |
std::string | GetRelationshipColor (float rel) |
unsigned int | DoSpeech (Unit *un, Unit *player_un, const FSM::Node &node) |
void | LeadMe (Unit *un, string directive, string speech, bool changetarget) |
Unit * | GetThreat (Unit *parent, Unit *leader) |
static bool | overridable (const std::string &s) |
static Unit * | GetRandomNav (vector< UnitContainer >navs[3], unsigned int randnum) |
static std::string | insysString ("Insys") |
static std::string | arrowString ("->") |
static Unit * | ChooseNavPoint (Unit *parent, Unit **otherdest, float *lurk_on_arrival) |
static Unit * | ChooseNearNavPoint (Unit *parent, Unit *suggestion, QVector location, float locradius) |
bool | CloseEnoughToNavOrDest (Unit *parent, Unit *navUnit, QVector nav) |
static Vector | randVector () |
static void | GoTo (AggressiveAI *ai, Unit *parent, const QVector &nav, float creationtime, bool boonies=false, Unit *destUnit=NULL) |
Variables | |
double | aggfire |
const EnumMap::Pair | element_names [] |
const EnumMap | AggressiveAIel_map (element_names, 25) |
vsUMap< string, AIEvents::ElemAttrMap * > | logic |
static float | aggressivity = 2.01 |
static int | randomtemp |
volatile Unit * | uoif |
volatile Unit * | uoi |
AggressiveAI * | DONOTUSEAG = NULL |
|
static |
Referenced by ChooseNavPoint().
Definition at line 1348 of file unit_generic.cpp.
Referenced by AddSubUnits(), Unit::LoadRow(), Unit::SetTurretAI(), TurretFAW(), and Unit::TurretFAW().
Definition at line 1240 of file aggressive.cpp.
References _Universe, a, Universe::activeStarSystem(), arrowString(), b, CompileRunPython(), Unit::UnitJump::drive, StarSystem::Statistics::enemycount, Unit::faction, float, StarSystem::Statistics::friendlycount, VSRandom::genrand_int31(), Unit::GetComputerData(), UnitUtil::getDistance(), StarSystem::getFileName(), UnitUtil::getFlightgroupName(), Unit::GetJumpStatus(), getNewTime(), GetRandomNav(), UnitUtil::getRelationFromFaction(), UniverseUtil::getScratchUnit(), VegaConfig::getVariable(), i, insysString(), int, FactionUtil::isCitizenInt(), StarSystem::Statistics::jumpPoints, k, Unit::Computer::RADARLIM::maxrange, StarSystem::Statistics::navs, XMLSupport::parse_bool(), XMLSupport::parse_float(), XMLSupport::parse_int(), Unit::Computer::radar, UniverseUtil::setScratchUnit(), start, StarSystem::stats, StarSystem::Statistics::system_faction, VSRandom::uniformExc(), vs_config, and vsrandom.
Referenced by Orders::AggressiveAI::ExecuteNoEnemies().
|
static |
Definition at line 1369 of file aggressive.cpp.
References _Universe, Universe::activeStarSystem(), StarSystem::collidemap, UnitCollection::createIterator(), findObjects(), StarSystem::getUnitList(), i, UnitUtil::isSignificant(), Unit::location, Magnitude(), Unit::Position(), NearestUnitLocator::retval, Unit::rSize(), Collidable::CollideRef::unit, and Unit::UNIT_ONLY.
Referenced by FlyTo::Execute(), and Orders::AggressiveAI::ExecuteNoEnemies().
Definition at line 1395 of file aggressive.cpp.
References UnitUtil::getDistance(), VegaConfig::getVariable(), Unit::isUnit(), XMLSupport::parse_float(), PLANETPTR, Unit::Position(), Unit::predicted_priority, Unit::rSize(), and vs_config.
Referenced by FlyTo::Execute(), and Orders::AggressiveAI::ExecuteNoEnemies().
Definition at line 199 of file aggressive.cpp.
References MessageCenter::add(), Unit::getFgSubnumber(), Unit::getFlightgroup(), Unit::getFullname(), FSM::Node::GetMessage(), Unit::getRelation(), GetRelationshipColor(), Unit::isUnit(), FSM::Node::messagedelta, mission, Mission::msgcenter, Flightgroup::name, Unit::name, PLANETPTR, and XMLSupport::tostring().
Referenced by FireKeyboard::DoSpeechAndAni(), FireKeyboard::Execute(), HelpOut(), LeadMe(), and FireKeyboard::ProcessCommMessage().
|
static |
Definition at line 83 of file aggressive.cpp.
References VSFileSystem::AiFile, VSFileSystem::VSFile::Close(), f, VSFileSystem::VSFile::GetRoot(), i, VSFileSystem::Ok, VSFileSystem::VSFile::OpenReadOnly(), and CSVTable::rows.
Referenced by getLogicOrInterrupt().
|
static |
Definition at line 134 of file aggressive.cpp.
References AggressiveAIel_map, getAITypes(), FactionUtil::GetFaction(), i, AIEvents::LoadAI(), and select_from_space_list().
Referenced by getProperLogicOrInterruptScript().
|
static |
Definition at line 161 of file aggressive.cpp.
References getLogicOrInterrupt(), and logic.
Referenced by getProperScript().
|
static |
Definition at line 170 of file aggressive.cpp.
References Unit::attackPreference(), Unit::faction, getProperLogicOrInterruptScript(), ROLES::getRoleEvents(), Unit::name, and Unit::unitRole().
Referenced by Orders::AggressiveAI::SignalChosenTarget().
|
static |
|
inline |
Definition at line 574 of file aggressive.cpp.
References _Universe, Universe::activeStarSystem(), UnitCollection::createIterator(), d, Unit::getRelation(), StarSystem::getUnitList(), Magnitude(), Unit::Position(), and Unit::Target().
Referenced by HelpOut(), and Orders::AggressiveAI::ProcessCurrentFgDirective().
|
static |
Definition at line 1452 of file aggressive.cpp.
References Order::EnqueueOrder(), Order::eraseType(), f, Order::FACING, VegaConfig::getVariable(), Order::MOVEMENT, XMLSupport::parse_bool(), Order::ReplaceOrder(), Order::SetParent(), and vs_config.
Referenced by Orders::AggressiveAI::ExecuteNoEnemies().
|
static |
Referenced by ChooseNavPoint(), and Orders::AggressiveAI::ExecuteNoEnemies().
Definition at line 224 of file aggressive.cpp.
References _Universe, Universe::AccessCockpit(), Flightgroup::directive, DoSpeech(), Unit::getFlightgroup(), Cockpit::GetParent(), UnitContainer::GetUnit(), i, Universe::isPlayerStarship(), Flightgroup::leader, FSM::Node::MakeNode(), Universe::numPlayers(), UnitContainer::SetUnit(), Flightgroup::target, and Unit::Target().
Referenced by FireKeyboard::AttackTarget(), FireKeyboard::BreakFormation(), FireKeyboard::DefendTarget(), FireKeyboard::DockTarget(), FireKeyboard::DockWithMe(), FireKeyboard::EjectKey(), FireKeyboard::FormUp(), FireKeyboard::HelpMeOut(), FireKeyboard::HoldPosition(), LeadMe(), and Orders::AggressiveAI::ReCommandWing().
|
static |
Definition at line 1183 of file aggressive.cpp.
Referenced by Orders::AggressiveAI::ReCommandWing().
|
static |
Definition at line 1447 of file aggressive.cpp.
References Vector.
Referenced by Orders::AggressiveAI::ExecuteNoEnemies().
|
static |
|
static |
Definition at line 69 of file aggressive.cpp.
References CheckAccessory(), Unit::EnqueueAIFirst(), f, and Unit::getSubUnits().
Referenced by Unit::EjectCargo(), and Orders::AggressiveAI::ProcessCurrentFgDirective().
double aggfire |
Definition at line 480 of file star_system_generic.cpp.
Referenced by Orders::AggressiveAI::Execute(), and StarSystem::UpdateUnitPhysics().
const EnumMap AggressiveAIel_map(element_names, 25) |
Referenced by getLogicOrInterrupt().
|
static |
Definition at line 247 of file aggressive.cpp.
Referenced by Orders::AggressiveAI::AggressiveAI().
AggressiveAI* DONOTUSEAG = NULL |
Definition at line 1712 of file aggressive.cpp.
const EnumMap::Pair element_names[] |
Definition at line 34 of file aggressive.cpp.
vsUMap< string, AIEvents::ElemAttrMap* > logic |
Definition at line 65 of file aggressive.cpp.
Referenced by getProperLogicOrInterruptScript().
|
static |
Definition at line 248 of file aggressive.cpp.
Referenced by Orders::AggressiveAI::AggressiveAI().
volatile Unit* uoi |
Definition at line 1582 of file aggressive.cpp.
Referenced by Orders::AggressiveAI::Execute().
volatile Unit* uoif |
Definition at line 1407 of file aggressive.cpp.
Referenced by FlyTo::Execute().