diff --git a/.gitignore b/.gitignore index 19b3cf8..fd5119c 100755 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /galaxyvalidator/local_settings.py .DS_Store pip-log.txt +/galaxyvalidator.egg-info/ \ No newline at end of file diff --git a/galaxyvalidator/__init__.py b/galaxyvalidator/__init__.py new file mode 100644 index 0000000..26f8dfc --- /dev/null +++ b/galaxyvalidator/__init__.py @@ -0,0 +1 @@ +__version__ = (0, 1) \ No newline at end of file diff --git a/galaxyvalidator/lapin/bin/lapin b/galaxyvalidator/lapin/bin/lapin new file mode 100755 index 0000000..f34479d Binary files /dev/null and b/galaxyvalidator/lapin/bin/lapin differ diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/AI.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/AI.galaxy new file mode 100644 index 0000000..d8e0cfb --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/AI.galaxy @@ -0,0 +1,716 @@ +//================================================================================================== +// AI Native Function Prototypes +//================================================================================================== +include "TriggerLibs/RequirementsAI" +include "TriggerLibs/BuildAI" + +const int c_ScoutStartLocations = 0; +const int c_ScoutBlockedPath = 1; +const int c_ScoutMinerals = 2; +const int c_ScoutDefault = 3; +const int c_ScoutPlayers = 4; + +const int c_noFlags = 0; +const point c_nullPoint = null; +const marker c_noMarker = null; +const string c_noTech = null; +const abilcmd c_nullCmd = null; +const wave c_nullWave = null; +const unit c_nullUnit = null; + +const bool c_stockIdle = true; +const bool c_stockAlways = false; + +const bool c_stockMinPeons = true; +const bool c_stockMaxPeons = false; + +const bool c_stockNeededFarms = true; +const bool c_stockNormalFarms = false; + +const int c_allEnemies = -1; + +const int c_defaultGasPeonCount = -1; + +const int c_expandDefault = 1; +const int c_expandVitalHard = 4; +const int c_expandNormalHard = 6; + +const int c_unitAttributeNone = -1; + +//-------------------------------------------------------------------------------------------------- +// Unit Order Priorities +//-------------------------------------------------------------------------------------------------- +// needs to match the order in Brain.h +const int c_prioNone = 0; +const int c_prioExtraScout = 1; +const int c_prioWorkerJob = 2; +const int c_prioUseableBully = 3; +const int c_prioStaticBully = 4; +const int c_prioGather = 5; +const int c_prioExpand = 6; +const int c_prioCombat = 7; +const int c_prioWaveIdle = 8; +const int c_prioScout = 9; +const int c_prioEarlyDefense = 10; +const int c_prioWavePeon = 11; +const int c_prioWave = 12; +const int c_prioTransport = 13; +const int c_prioDetect = 14; +const int c_prioNuke = 15; +const int c_prioScriptControlled = 16; + +//-------------------------------------------------------------------------------------------------- +// Races +//-------------------------------------------------------------------------------------------------- +const int c_raceProtoss = 1; +const int c_raceTerran = 2; +const int c_raceZerg = 3; + +//-------------------------------------------------------------------------------------------------- +// Build and Train Priorities +//-------------------------------------------------------------------------------------------------- +// needs to match the values in Captain.h +const int c_makePriorityLowest = 0; +const int c_makePriorityBully = 1; +const int c_makePriorityTown = 2; +const int c_makePriorityResearch = 3; +const int c_makePriorityAttack = 4; +const int c_makePriorityDefense = 5; +const int c_makePriorityExpand = 6; +const int c_makePriorityContinue = 7; +const int c_makePriorityPowerCreep = 8; +const int c_makePriorityDropoff = 9; +const int c_makePriorityHighest = 10; + +//-------------------------------------------------------------------------------------------------- +// Town Locations +//-------------------------------------------------------------------------------------------------- +const int c_townInvalid = -2; +const int c_townMain = -1; +const int c_townOne = 0; +const int c_townTwo = 1; +const int c_townThree = 2; +const int c_townFour = 3; +const int c_townFive = 4; +const int c_townSix = 5; +const int c_townSeven = 6; +const int c_townEight = 7; +const int c_townMax = 32; + +//-------------------------------------------------------------------------------------------------- +// Town States +//-------------------------------------------------------------------------------------------------- +const int c_townStateInvalid = -1; +const int c_townStateUnused = 0; +const int c_townStateClaimed = 1; +const int c_townStateEstablished = 2; + +//-------------------------------------------------------------------------------------------------- +// Wave States +//-------------------------------------------------------------------------------------------------- +// needs to match CWave::EWaveType +const int c_waveStateUnknown = 0; +const int c_waveStateIdle = 1; +const int c_waveStateSuicide = 2; +const int c_waveStateMerge = 3; +const int c_waveStateAttack = 4; +const int c_waveStateDropAttack = 5; +const int c_waveStateDefend = 6; +const int c_waveStateScout = 7; +const int c_waveStateRetreat = 8; +const int c_waveStateDropRetreat = 9; +const int c_waveStateClearObs = 10; +const int c_waveStateGuardHome = 11; + +//-------------------------------------------------------------------------------------------------- +// Wave Default Names +//-------------------------------------------------------------------------------------------------- +const int c_waveMain = 0; +const int c_waveDefend = 1; +const int c_waveAttack = 2; +const int c_waveDivert1 = 3; +const int c_waveDivert2 = 4; +const int c_waveClearObs = 5; +const int c_waveHome = 6; + +//-------------------------------------------------------------------------------------------------- +// Defense Threat Query Flags +//-------------------------------------------------------------------------------------------------- +const int c_dtAnyThreat = 1; +const int c_dtClosestThreat = 2; +const int c_dtRealThreat = 4; +const int c_dtAnyRealThreat = 5; +const int c_closestRealThreat = 6; +const int c_dtAllowCantAttack = 8; + +const int c_dtEvalAllThreats = 2; +const int c_dtEvalRealThreats = 6; + +//-------------------------------------------------------------------------------------------------- +// Best Target Flags +//-------------------------------------------------------------------------------------------------- +// Needs to match the flags in CCaptain +const int c_btNeedsPath = 1; +const int c_btBuildingOrNeedsPath = 2; +const int c_btPrefersPath = 4; +const int c_btAllowJumping = 8; +const int c_btSortByDistance = 16; +const int c_btSortByFullType = 32; +const int c_btSortByLeastRecent = 64; +const int c_btDefaultNeedsPath = 49; +const int c_btDefaultPrefersPath = 52; + +//-------------------------------------------------------------------------------------------------- +// Breakpoint Routines +//-------------------------------------------------------------------------------------------------- +native void DebugString (string value); +native void DebugUnit (unit value); +native void DebugInt (int value); +native void DebugFixed (fixed value); +native void DebugPoint (point value); + +//-------------------------------------------------------------------------------------------------- +// Difficulty +//-------------------------------------------------------------------------------------------------- +const int c_diffAdvanceWave = 0; +const int c_diffRepairDamage = 1; +const int c_diffFleeDamage = 2; +const int c_diffOptimizeGas = 3; +const int c_diffDefendWithPeons = 4; +const int c_diffNormalVision = 5; +const int c_diffLimitAPM = 6; +const int c_diffAutoLoadBunkers = 7; +const int c_diffEarlyGameRepair = 8; +const int c_diffEnableDangerMap = 9; +const int c_diffWaveAvoidDanger = 10; +const int c_diffNormalTargetPrio = 11; +const int c_diffEarlyDefenseScout = 12; + +native void AISetDifficulty (int player, int index, bool state); +native bool AIGetDifficulty (int player, int index); + +//-------------------------------------------------------------------------------------------------- +// Utility +//-------------------------------------------------------------------------------------------------- +native void AIStart (int player, bool isCampaign, int apm); + +native bool AIGivingUp (int player); +native void AIGoodGame (int player); + +native bool AIIsCampaign (int player); +native void AISetAPM (int player, int apm); + +native unit AIGrabUnit (int player, string aliasUnitType, int prio, point location); + +native int AIState (int player, int index); +native void AISetSpecificState (int player, int index, int state); +native void AISetAllStates (int player, int state); + +native void AISetFlag (int player, int index, bool state); +native bool AIGetFlag (int player, int index); +native void AITechFlag (int player, int index, int count, string what, int state); + +native void AIResetUserData (int player); +native void AISetUserString (int player, int index, string data); +native string AIGetUserString (int player, int index); +native void AISetUserInt (int player, int index, int data); +native int AIGetUserInt (int player, int index); +native void AIAddStringInt (int player, string data, int change); + +native fixed AIGetTime (); + +native int AIGetTotalStartLocs (); +native int AIGetGroundStartLocs (point loc); +native int AIGetAirStartLocs (point loc); +native int AIGetTotalTownLocs (); +native int AIGetGroundTownLocs (point loc); +native int AIGetAirTownLocs (point loc); + +native int AIRandomVal (int player, int which); +native void AINewChooseSubState (int player, int which, int min, int max, int defaultSubState); +native void AISetSubStateChance (int subState, int chance); +native int AIChooseSubState (); + +native bool AIWantsMultipleTransport (int player); +native void AISetWantsMultipleTransport (int player, bool enable); +native int AIGetNumMobileTransports (int player); + +native point AIGetBestCreepSpot (int player, unit creator, fixed createRadius); + +native void AIAddDetectionDanger (int player, string unitType); +native bool AIDefaultSuspectDetectionDanger (int player); + +native bool AIAnyWorkersFleeingNearby (int player, point loc, fixed radius); + +native int AIGetNumEnemies (int player); +native int AIGetNumAllies (int player); + +native point AIPlacementNearbyFindTest (int player, point loc, fixed range, string unitType); + +native void AIAddToExtraScoutGroup (int player, unit u); +native bool AIOfferNewScout (int player, unit u); + +//-------------------------------------------------------------------------------------------------- +// Misc Melee +//-------------------------------------------------------------------------------------------------- + +const int c_skirVeryEasy = 0; // difficulty settings +const int c_skirEasy = 1; +const int c_skirMedium = 2; +const int c_skirHard = 3; +const int c_skirVeryHard = 4; +const int c_skirCheater = 5; + +native bool AIAnyAllyAttacking (int player); +native point AIBestAllyAttackPoint (int player, wave w); +native bool AIAnyAllyNeedsDefending (int player); +native point AIBestAllyDefendPoint (int player, wave w); + +//-------------------------------------------------------------------------------------------------- +// Misc Campaign +//-------------------------------------------------------------------------------------------------- + +const int c_campBeginner = 0; // difficulty settings +const int c_campNormal = 1; +const int c_campAdvanced = 2; +const int c_campExpert = 3; + +native void AIGlobalSuicide (int player); + +native wave AIUnitGetWave (unit u); +native unitgroup AIWaveGetUnits (wave w); + +native unitgroup AIGetAllEscorts (unit u); +native unitgroup AIGetAllEscortsGroup (unitgroup ug); + +native void AIRemoveUnitFromAnyWaves (unit u); +native void AIRemoveGroupFromAnyWaves (unitgroup ug); + +native unitgroup AIGetUnitsInWavesWithTarget (int player, wavetarget target); + +native bool AIIsScriptControlled (unit u); +native void AISetUnitScriptControlled (unit u, bool enable); +native void AISetGroupScriptControlled (unitgroup ug, bool enable); + +native bool AIIsSuicideUnit (unit u); +native void AISetUnitSuicide (unit u, bool enable); +native void AISetGroupSuicide (unitgroup ug, bool enable); + +native bool AIIsNotUsableInWaves (unit u); +native void AISetUnitNotUsableInWaves (unit u, bool enable); +native void AISetGroupNotUsableInWaves (unitgroup ug, bool enable); + +native void AISetWantsToUpgrade (unit u); + +native void AIInitCampaignTowns (int player); +native void AIInitCampaignHarvest (int player); + + +//-------------------------------------------------------------------------------------------------- +// Towns +//-------------------------------------------------------------------------------------------------- +native void AIDeclareTown (int player, int town, point center); +native int AIGetMainTown (int player); +native void AISetMainTown (int player, int maintown); +native void AIUpdateMainTown (int player); + +native int AIGetTownState (int player, int town); +native fixed AIGetTownEstablishedTime (int player, int town); +native point AIGetTownLocation (int player, int town); +native int AIGetClosestTown (int player, point location); +native int AIGetNextUnusedTownSlot (int player); +native int AIGetBuildingCountInTown (int player, int town, string aliasUnitType, int countMask); + +native bool AIIsTownHarvestRunning (int player, int town); +native void AIHarvest (int player, int town); +native void AIHarvestRate (int player, int rate); +native void AIHarvestBonus (int player, fixed bonus); +native void AISetGasPeonCountOverride (int player, int town, int desiredGasCount); + +native int AIGetCurPeonCount (int player, int town); +native int AIGetMinPeonCount (int player, int town); +native int AIGetMaxPeonCount (int player, int town); +native int AIGetMineralAmountLeft (int player, int town); +native int AIGetGasAmountLeft (int player, int town); +native int AIGetMineralNumSpots (int player, int town); +native int AIGetRawGasNumSpots (int player, int town); + +native point AIGetGatherLocation (int player, int town);//xxx remove old functions +native point AIGetGatherDefLocation (int player, int town); + +native int AIExpand (int player, point searchStart, string firstBuilding); +native unitgroup AIGetTownThreats (int player, int town); +native unit AIGetObstruction (int player); +native bool AIHasNearbyOpenExpansion (int player); + +//------------------------------------------------------------------------------------------------- +// Scouting +//-------------------------------------------------------------------------------------------------- +native void AIScout (int player); +native void AISetNumScouts (int player, int num); +native void AISetScoutTimes (int player, int starts, int obstructed, int resources, int other); + +native point AIGetNextScoutLoc (int player); +native void AIClearCampaignScout (int player); + +//-------------------------------------------------------------------------------------------------- +// Construction +//-------------------------------------------------------------------------------------------------- +native void AIBuild (int player, int priority, int town, string aliasUnitType, int count, int flags); +native void AITrain (int player, int priority, int town, string aliasUnitType, int count); +native void AIResearch (int player, int priority, int town, string aliasUpgradeType); +native void AIMakeAlways (int player, int priority, int town, string aliasType, int count); +native void AIMakeOnce (int player, int priority, int town, string aliasType, int count); + +native void AIClearBuildQueue (int player); +native void AIClearTrainQueue (int player); +native void AIClearResearchQueue (int player); + +native bool AIHasRes (int player, int minerals, int gas); +native int AITechCount (int player, string aliasType, int countMask); +native void AITechCountFixupSingle (int player, string baseUnit, string upgradeOne); +native void AITechCountFixupEither (int player, string baseUnit, string upgradeOne, string upgradeTwo); +native void AITechCountFixupInOrder (int player, string baseUnit, string upgradeOne, string upgradeTwo); +native int AIKnownUnitCount (int player, int testPlayerId, string aliasUnitType); + +native void AIResetCounterUnits (int player); +native void AICounterUnit (int player, string seeWhat, fixed factor, string makeWhat); +native int AICounterUnits (int player, int testPlayerId, string makeWhat); + +native point AIGetRallyPoint (unit u); + +native void AISetPowerBuilding (int player, string building); +native void AISetCreepBuilding (int player, string building, string noCreepBehavior); + +//-------------------------------------------------------------------------------------------------- +// Stock +//-------------------------------------------------------------------------------------------------- +native void AIClearStock (int player); +native void AIEnableStock (int player); + +native void AISetStockEx (int player, int town, int count, string aliasType, int buildFlags, int stockFlags); +native void AISetStock (int player, int count, string aliasType); +native void AISetStockOpt (int player, int count, string aliasType); +native void AISetStockUnitNext (int player, int count, string aliasUnitType, bool when); +native bool AISetStockTown (int player, string aliasUnitTypeTH, string aliasUnitTypeGas); +native bool AISetStockExpand (int player, string aliasUnitTypeTH, int count); +native void AISetStockExtra (int player, int count, string aliasUnitType, int minerals); +native void AISetStockFarms (int player, string aliasUnitType, bool onlyNeeded); +native void AISetStockPeons (int player, int max, string aliasUnitType, bool onlyMinPeons, bool peonMode); + +native void AINewTechStock (int player); +native void AITechStockAdd (string upgradeType); +native void AISetStockTechNext (int player); + +void AISetStockAlias (int player, int count, string makeType, string aliasType) { + count = count - AITechCount(player, aliasType, c_techCountQueuedOrBetter); + if (count > 0) { + AISetStock(player, count + AITechCount(player, makeType, c_techCountQueuedOrBetter), makeType); + } +} + +void AISetStockFree (int player, int count, string makeType, string prereq) { + if (AITechCount(player, prereq, c_techCountCompleteOnly) > 0) { + AISetStock( player, count, makeType ); + } +} + +native void AIDefaultEconomy (int player, string hall, string gas, string food, string peon, int cap, bool peonMode); +native void AIDefaultExpansion (int player, string hall, int minerals, int gas, int expandFlags); + +native void AIClearLimitTech (int player); +native void AILimitTech (int player, int totalMin, int totalGas, int buildingMin, int buildingGas, int upgradeMin, int upgradeGas); +native void AIImportantTech (int player, string aliasType); + +native void AILimitStockLarva (int player, string aliasType); + +native bool AIHasStock (int player); +native bool AIHasStockFromTown (int player, int town); +native void AIRemoveStockFromTown (int player, int town); + +//-------------------------------------------------------------------------------------------------- +// AI Requirements +//-------------------------------------------------------------------------------------------------- +native int AIDefaultGetObjectType (int player, string aliasType); +native string AIDefaultGetMaker (int player, string aliasType); +native string AIDefaultGetFirstMissingReq (int player, string aliasType); +native string AIDefaultGetFirstUnfinishedReq (int player, string aliasType); +native int AIDefaultGetFullMakeTime (int player, string aliasType); + +native string AIGetBaseName (string aliasType); +native string AIGetBuildAtName (string aliasType); + +native void AIReqCountAsBuiltObject (int player, string aliasType); +native void AIReqAddSpecialMaker (string objType, string makerType, string abilName, int abilIndex); + +//-------------------------------------------------------------------------------------------------- +// Tactical +//-------------------------------------------------------------------------------------------------- +native void AIBaseThink (unit who, unitgroup candidates); +native bool AIEvalTacticalData (unit who, string data); + +const bool c_castRetreat = true; +const bool c_castHold = false; +native int AICast (unit u, order o, marker m, bool retreat); +native int AICastFlee (unit who, unit from, int distance, marker mark); + +native bool AINearbyUnits (int player, string unitType, point p, fixed range, int requiredCount); +native unitgroup AIFindUnits (int player, string unitType, point p, fixed range, int inMaxCount); +native bool AISameCommand (unit u1, unit u2); + +native unit AILastAttacker (unit u); +native int AILastAttack (unit u); + +native bool AIControlWantsToMove (unit u); +native bool AIControlForceToMove (unit u); +native bool AIControlWantsToUnburrow (unit u); +native bool AIControlWantsToBurrow (unit u); +native bool AIControlForceUnburrow (unit u); + +native bool AIUnitIsInCombat (unit u); + +native bool AIIsIgnoredByWave (unit u); +native void AISetIgnoredByWave (unit u, bool enable); + +native point AIGetHomePosition (unit u); + +native point AIGetCloakedAttacker (int p); +native void AIClearCloakedAttacker (int p, point pt); +native bool AISawCloakedUnit (int p); + +native point AIRandomSpawnPoint ( + int player, + region r, + fixed minDistFromEnemy, + fixed maxDistFromEnemy, + fixed maxDistFromBuilding +); +native point AIBestTargetPoint ( + unitgroup group, + int minHits, + int damageBase, + fixed minScore, + fixed radius, + point from, + fixed range, + int bonusAttri +); + +native unit AIDefaultCombatPriority (unit target, unitgroup attackers, unitgroup enemies); + +const int c_cloakMaxRange = 10; +native bool AICloakEvaluate (unit u, fixed minEnergy, fixed maxLife, fixed range); + +//-------------------------------------------------------------------------------------------------- +// Combat +//-------------------------------------------------------------------------------------------------- +const int c_combatEnable = 1; +const int c_combatDisable = 2; +const int c_combatRead = 3; + +void AISetDefaultCombatFlags (int player, bool isMelee); +native bool AICombatTargetProduction (int player, int action); +native bool AICombatTargetDropOffs (int player, int action); +native bool AICombatTargetFood (int player, int action); +native bool AICombatTargetActiveProduction (int player, int action); +native bool AICombatTargetWorkers (int player, int action); +native bool AICombatTargetAllyThreats (int player, int action); +native bool AICombatTargetSelfThreats (int player, int action); +native bool AICombatTargetCurrent (int player, int action); +native bool AICombatTargetAir (int player, int action); +native bool AICombatTargetMovers (int player, int action); +native bool AICombatTargetInjuries (int player, int action); +native bool AICombatTargetInAttackRange (int player, int action); +native bool AICombatTargetThreats (int player, int action); +native bool AICombatTargetHealers (int player, int action); +native bool AICombatTargetSiege (int player, int action); +native bool AICombatTargetAttackers (int player, int action); +native bool AICombatTargetSpecial (int player, int action); +native bool AICombatAvoidTimedUnits (int player, int action); +native bool AICombatAvoidNonThreats (int player, int action); +native bool AICombatAvoidWeakUnits (int player, int action); +native bool AICombatAvoidDisabledUnits (int player, int action); + +//-------------------------------------------------------------------------------------------------- +// Transports +//-------------------------------------------------------------------------------------------------- +native void AITransportIgnore (int player, string unitType); +native void AITransportSetPanic (int player, fixed value); +native void AITransportSetReturn (int player, point center); + +//-------------------------------------------------------------------------------------------------- +// Waves +//-------------------------------------------------------------------------------------------------- +native waveinfo AIWaveInfoCreate (); +native waveinfo AIWaveInfo (wave w); + +native void AIWaveInfoAdd (waveinfo info, string unitType, int count); +native int AIWaveInfoAttack (waveinfo info, int player, point from, wavetarget target, int time); +native int AIWaveInfoSuicide (waveinfo info, int player, point from, wavetarget target, int time); +native int AIWaveInfoScout (waveinfo info, int player, point from, int time); + +native string AIWaveToString (wave w); +native text AIWaveToText (wave w); + +native wave AIWaveCreate (waveinfo info, int player, point from); +native void AIWaveAddUnit (wave w, unit u); +native void AIWaveAddUnitPriority (wave w, unit u, int prio); +native void AIWaveRemoveUnit (wave w, unit u); +native int AIWaveUnitCount (wave w); +native int AIWaveDetectorCount (wave w); + +native void AIWaveSetType (wave w, int type, wavetarget target); + +native int AIWaveState (wave w); + +native void AIWaveDelete (wave w); + +native wavetarget AIWaveTargetUnit (unit u); +native wavetarget AIWaveTargetUnitGroup (unitgroup g); +native wavetarget AIWaveTargetUnitPoint (unit u); +native wavetarget AIWaveTargetPoint (point p); +native wavetarget AIWaveTargetPlayer (playergroup players); +native wavetarget AIWaveTargetMelee (int player); +native wavetarget AIWaveTargetMeleeHarass (int player); +native wavetarget AIWaveTargetMeleeDrop (int player, point dropLoc, point goalLoc); +native wavetarget AIWaveTargetMeleeDefend (int player); +native wavetarget AIWaveTargetMerge (wave w); +native wavetarget AIWaveTargetPatrol (int replaceType); +native wavetarget AIWaveTargetEscort (unitgroup g, int replaceType); +native wavetarget AIWaveTargetEscortNL (unitgroup g, int replaceType); +native wavetarget AIWaveTargetGatherO (int player, int town); +native wavetarget AIWaveTargetGatherD (int player, int town); +native wavetarget AIWaveTargetRegion (region r, int replaceType); + +native point AIWaveTargetGatherOPoint (int player, int town); +native point AIWaveTargetGatherDPoint (int player, int town); + +native unit AIWaveTargetGetUnit (wavetarget wt); +native unitgroup AIWaveTargetGetUnitGroup (wavetarget wt); + +native wavetarget AIWaveHarassRetreat (int player, wave w, fixed range); + +native wavetarget AIWaveGetTarget (wave w); + +native bool AIWaveIsInCombat (wave w); +native int AIWaveGetTimeInCombat (wave w); +native int AIWaveGetTimeSinceCombat (wave w); +native int AIWaveGetTimeSinceOrdered (wave w); + +native int AIWaveGetTimeSinceRetreat (wave w); + +native bool AIDefenseThreat (int type, int player, wave w); +native int AIDefenseThreatEval (int type, int player); +native int AIWaveEval (wave w); +native int AIWaveEvalRatio (wave w, fixed range); +native int AIUnitAreaEvalRatio (unit u, fixed range); +native int AIEvalRatio (int player); +native void AIEvalSetCustomIndex (int index); +native int AILastWaveEvalStaticRatio (); + +native void AIWaveTargetAddWaypoint (wavetarget wt, point waypoint, bool useTransport, int index); +native void AIWaveTargetClearWaypoints (wavetarget wt); + +//--- melee games --- +native wave AIWaveGet (int player, int waveName); +native void AIWaveSet (int player, int waveName, wave waveRef); +native int AIWaveType (wave waveRef); +//native void AIWaveSetUserData (wave waveRef, int index, int data); +//native int AIWaveGetUserData (wave waveRef, int index); + +native void AIWaveMerge (int player, int waveFrom, int waveInto); +native void AIWaveMergeMelee (int player); + +native wave WaveLastCreated (); + +native point AIGetBestTarget (int player, playergroup enemies, point gatherPoint, int flags); + +native bool AIFindDropAttackTarget (int player, point gatherPoint); +native point AILastDropLocation (); +native point AILastDropGoal (); +native fixed AIGetNextDropTimeCheck(int player); +native void AISetNextDropTimeCheck(int player, fixed time); + +native int AILastAttackRatio (wave w); +native int AILastAttackStartEval (wave w); + +//-------------------------------------------------------------------------------------------------- +// Attack Wave +//-------------------------------------------------------------------------------------------------- + +// Note: The difficulty parameter is a one-based index into +// the externalized difficulty levels defined in GameData.xml +// +const int c_difficultyAll = -1; // Add the same count to all difficulty levels + +native void AIAttackWaveAddUnits (int difficulty, int count, string unitType); + +// External utility function to add four counts to the standard four difficulties +void AIAttackWaveAddUnits4 (int n1, int n2, int n3, int n4, string unitType) { + AIAttackWaveAddUnits(2, n1, unitType); // Easy + AIAttackWaveAddUnits(3, n2, unitType); // Normal + AIAttackWaveAddUnits(4, n3, unitType); // Hard + AIAttackWaveAddUnits(5, n4, unitType); // Insane +} + +// Old external utility function to add three counts to the standard three difficulties +void AIAttackWaveAddUnits3 (int n1, int n2, int n3, string unitType) { + AIAttackWaveAddUnits4(n1,n2,n3,n3,unitType); +} + +native int AIAttackWaveSend (int player, int time, bool wait); + +native void AIAttackWaveCancel (wave waveRef); + +native void AIAttackWaveSetGatherPoint (int player, point gather); + +native void AIAttackWaveUseUnit (int player, unit u); +native void AIAttackWaveUseGroup (int player, unitgroup ug); + +native void AIAttackWaveAddEscortUnit (int player, unit u, unit escort, fixed offset, fixed angle); +native void AIAttackWaveAddEscortType (int player, string unitType, unit escort, fixed offset, fixed angle); + +native void AIAttackWaveSetTargetUnit (int player, unit u); +native void AIAttackWaveSetTargetUnitGroup (int player, unitgroup ug); +native void AIAttackWaveSetTargetUnitPoint (int player, unit u); +native void AIAttackWaveSetTargetPoint (int player, point p); +native void AIAttackWaveSetTargetPlayer (int player, playergroup players); +native void AIAttackWaveSetTargetMelee (int player); +native void AIAttackWaveSetTargetMeleeHarass (int player); +native void AIAttackWaveSetTargetMeleeDrop (int player, point dropLoc, point goalLoc); +native void AIAttackWaveSetTargetMeleeDefend (int player); +native void AIAttackWaveSetTargetMerge (int player, wave w); +native void AIAttackWaveSetTargetPatrol (int player, int replaceType); +native void AIAttackWaveSetTargetEscort (int player, unitgroup g, int replaceType); +native void AIAttackWaveSetTargetEscortNL (int player, unitgroup g, int replaceType); +native void AIAttackWaveSetTargetGatherO (int player, int town); +native void AIAttackWaveSetTargetGatherD (int player, int town); +native void AIAttackWaveSetTargetRegion (int player, region r, int replaceType); + +native void AIAttackWaveSetGatherEarlyNoReplace (int player); +native void AIAttackWaveSetKeepAlive (int player); + +native void AIAttackWaveAddWaypoint (int player, point waypoint, bool useTransport); +native void AIAttackWaveClearWaypoints (int player); + +//-------------------------------------------------------------------------------------------------- +// Bully Functions +//-------------------------------------------------------------------------------------------------- + +native void AISetMinimumBullyCount (int count, string unitType, int player); + +native void AISetGeneralRebuildCount (int count, bool building, int player); +native void AISetSpecificRebuildCount (int count, string unitType, int player); + +native void AISetBullyAttackWavePercent (int percent, int player); +native void AINearestTownLimitWaveGather (int player, bool enable); + +native void AINearestTownBullyRebuild (int player, bool enable); + +native void AIToggleBulliesInRegion (int player, region reg, bool activate); +native void AIResetBullyRebuildCountsInRegion (int player, region reg); + +native void AIClearAllBullies (int player); +native void AIAddBully (int player, string unitType, point loc, int rebuildCount); + +native string AIGetBullyType (unit u); diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/BuildAI.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/BuildAI.galaxy new file mode 100644 index 0000000..4c02635 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/BuildAI.galaxy @@ -0,0 +1,8 @@ +//================================================================================================== +// +// Placeholder AI script file +// +// Since natives.galaxy in Core includes AI files in Liberty, placeholder files are necessary +// such that Core-only mods can compile properly. +// +//================================================================================================== diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Abil.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Abil.galaxy new file mode 100644 index 0000000..757465d --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Abil.galaxy @@ -0,0 +1,751 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// Abil.galaxy generated from Abil.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCAbil +const int c_classIdCAbil = 0; +const int c_classIdCAbilProgress = 1; +const int c_classIdCAbilEffect = 2; +const int c_classIdCAbilQueueable = 3; +const int c_classIdCAbilRedirect = 4; +const int c_classIdCAbilArmMagazine = 5; +const int c_classIdCAbilAttack = 6; +const int c_classIdCAbilAugment = 7; +const int c_classIdCAbilBattery = 8; +const int c_classIdCAbilBeacon = 9; +const int c_classIdCAbilBehavior = 10; +const int c_classIdCAbilBuild = 11; +const int c_classIdCAbilBuildable = 12; +const int c_classIdCAbilEffectInstant = 13; +const int c_classIdCAbilEffectTarget = 14; +const int c_classIdCAbilHarvest = 15; +const int c_classIdCAbilInteract = 16; +const int c_classIdCAbilInventory = 17; +const int c_classIdCAbilLearn = 18; +const int c_classIdCAbilMerge = 19; +const int c_classIdCAbilMergeable = 20; +const int c_classIdCAbilMorph = 21; +const int c_classIdCAbilMorphPlacement = 22; +const int c_classIdCAbilMove = 23; +const int c_classIdCAbilPawn = 24; +const int c_classIdCAbilQueue = 25; +const int c_classIdCAbilRally = 26; +const int c_classIdCAbilRedirectInstant = 27; +const int c_classIdCAbilRedirectTarget = 28; +const int c_classIdCAbilResearch = 29; +const int c_classIdCAbilRevive = 30; +const int c_classIdCAbilSpecialize = 31; +const int c_classIdCAbilStop = 32; +const int c_classIdCAbilTrain = 33; +const int c_classIdCAbilTransport = 34; +const int c_classIdCAbilWarpable = 35; +const int c_classIdCAbilWarpTrain = 36; +const string c_classIdCAbilName = "CAbil"; +const string c_classIdCAbilProgressName = "CAbilProgress"; +const string c_classIdCAbilEffectName = "CAbilEffect"; +const string c_classIdCAbilQueueableName = "CAbilQueueable"; +const string c_classIdCAbilRedirectName = "CAbilRedirect"; +const string c_classIdCAbilArmMagazineName = "CAbilArmMagazine"; +const string c_classIdCAbilAttackName = "CAbilAttack"; +const string c_classIdCAbilAugmentName = "CAbilAugment"; +const string c_classIdCAbilBatteryName = "CAbilBattery"; +const string c_classIdCAbilBeaconName = "CAbilBeacon"; +const string c_classIdCAbilBehaviorName = "CAbilBehavior"; +const string c_classIdCAbilBuildName = "CAbilBuild"; +const string c_classIdCAbilBuildableName = "CAbilBuildable"; +const string c_classIdCAbilEffectInstantName = "CAbilEffectInstant"; +const string c_classIdCAbilEffectTargetName = "CAbilEffectTarget"; +const string c_classIdCAbilHarvestName = "CAbilHarvest"; +const string c_classIdCAbilInteractName = "CAbilInteract"; +const string c_classIdCAbilInventoryName = "CAbilInventory"; +const string c_classIdCAbilLearnName = "CAbilLearn"; +const string c_classIdCAbilMergeName = "CAbilMerge"; +const string c_classIdCAbilMergeableName = "CAbilMergeable"; +const string c_classIdCAbilMorphName = "CAbilMorph"; +const string c_classIdCAbilMorphPlacementName = "CAbilMorphPlacement"; +const string c_classIdCAbilMoveName = "CAbilMove"; +const string c_classIdCAbilPawnName = "CAbilPawn"; +const string c_classIdCAbilQueueName = "CAbilQueue"; +const string c_classIdCAbilRallyName = "CAbilRally"; +const string c_classIdCAbilRedirectInstantName = "CAbilRedirectInstant"; +const string c_classIdCAbilRedirectTargetName = "CAbilRedirectTarget"; +const string c_classIdCAbilResearchName = "CAbilResearch"; +const string c_classIdCAbilReviveName = "CAbilRevive"; +const string c_classIdCAbilSpecializeName = "CAbilSpecialize"; +const string c_classIdCAbilStopName = "CAbilStop"; +const string c_classIdCAbilTrainName = "CAbilTrain"; +const string c_classIdCAbilTransportName = "CAbilTransport"; +const string c_classIdCAbilWarpableName = "CAbilWarpable"; +const string c_classIdCAbilWarpTrainName = "CAbilWarpTrain"; + +// EAbilBehaviorStage +const int c_abilBehaviorStageUntoggled = 0; +const int c_abilBehaviorStageToggled = 1; +const string c_abilBehaviorStageUntoggledName = "Untoggled"; +const string c_abilBehaviorStageToggledName = "Toggled"; + +// EAbilBuildStage +const int c_abilBuildStageApproach = 0; +const int c_abilBuildStageWait = 1; +const int c_abilBuildStageConstruct = 2; +const int c_abilBuildStageHalt = 3; +const int c_abilBuildStageResume = 4; +const int c_abilBuildStageFinish = 5; +const int c_abilBuildStageCollide = 6; +const string c_abilBuildStageApproachName = "Approach"; +const string c_abilBuildStageWaitName = "Wait"; +const string c_abilBuildStageConstructName = "Construct"; +const string c_abilBuildStageHaltName = "Halt"; +const string c_abilBuildStageResumeName = "Resume"; +const string c_abilBuildStageFinishName = "Finish"; +const string c_abilBuildStageCollideName = "Collide"; + +// EAbilEffectStage +const int c_abilEffectStageApproach = 0; +const int c_abilEffectStagePrep = 1; +const int c_abilEffectStageCast = 2; +const int c_abilEffectStageChannel = 3; +const int c_abilEffectStageFinish = 4; +const string c_abilEffectStageApproachName = "Approach"; +const string c_abilEffectStagePrepName = "Prep"; +const string c_abilEffectStageCastName = "Cast"; +const string c_abilEffectStageChannelName = "Channel"; +const string c_abilEffectStageFinishName = "Finish"; + +// EAbilHarvestStage +const int c_abilHarvestStageApproachResource = 0; +const int c_abilHarvestStageWaitAtResource = 1; +const int c_abilHarvestStageHarvest = 2; +const int c_abilHarvestStageWaitToReturn = 3; +const int c_abilHarvestStageWaitForDropOff = 4; +const int c_abilHarvestStageApproachDropOff = 5; +const int c_abilHarvestStageDropOff = 6; +const string c_abilHarvestStageApproachResourceName = "ApproachResource"; +const string c_abilHarvestStageWaitAtResourceName = "WaitAtResource"; +const string c_abilHarvestStageHarvestName = "Harvest"; +const string c_abilHarvestStageWaitToReturnName = "WaitToReturn"; +const string c_abilHarvestStageWaitForDropOffName = "WaitForDropOff"; +const string c_abilHarvestStageApproachDropOffName = "ApproachDropOff"; +const string c_abilHarvestStageDropOffName = "DropOff"; + +// EAbilMorphStage +const int c_abilMorphStageApproach = 0; +const int c_abilMorphStageWait = 1; +const int c_abilMorphStageAbilsStart = 2; +const int c_abilMorphStageAbilsEnd = 3; +const int c_abilMorphStageActorStart = 4; +const int c_abilMorphStageActorEnd = 5; +const int c_abilMorphStageCollideStart = 6; +const int c_abilMorphStageCollideEnd = 7; +const int c_abilMorphStageFacingStart = 8; +const int c_abilMorphStageFacingEnd = 9; +const int c_abilMorphStageMoverStart = 10; +const int c_abilMorphStageMoverEnd = 11; +const int c_abilMorphStageStatsStart = 12; +const int c_abilMorphStageStatsEnd = 13; +const int c_abilMorphStageUnitStart = 14; +const int c_abilMorphStageUnitEnd = 15; +const string c_abilMorphStageApproachName = "Approach"; +const string c_abilMorphStageWaitName = "Wait"; +const string c_abilMorphStageAbilsStartName = "AbilsStart"; +const string c_abilMorphStageAbilsEndName = "AbilsEnd"; +const string c_abilMorphStageActorStartName = "ActorStart"; +const string c_abilMorphStageActorEndName = "ActorEnd"; +const string c_abilMorphStageCollideStartName = "CollideStart"; +const string c_abilMorphStageCollideEndName = "CollideEnd"; +const string c_abilMorphStageFacingStartName = "FacingStart"; +const string c_abilMorphStageFacingEndName = "FacingEnd"; +const string c_abilMorphStageMoverStartName = "MoverStart"; +const string c_abilMorphStageMoverEndName = "MoverEnd"; +const string c_abilMorphStageStatsStartName = "StatsStart"; +const string c_abilMorphStageStatsEndName = "StatsEnd"; +const string c_abilMorphStageUnitStartName = "UnitStart"; +const string c_abilMorphStageUnitEndName = "UnitEnd"; + +// EAbilArmMagazineCmd +const int c_abilArmMagazineCmdAmmo1 = 0; +const int c_abilArmMagazineCmdAmmo2 = 1; +const int c_abilArmMagazineCmdAmmo3 = 2; +const int c_abilArmMagazineCmdAmmo4 = 3; +const int c_abilArmMagazineCmdAmmo5 = 4; +const int c_abilArmMagazineCmdAmmo6 = 5; +const int c_abilArmMagazineCmdAmmo7 = 6; +const int c_abilArmMagazineCmdAmmo8 = 7; +const int c_abilArmMagazineCmdAmmo9 = 8; +const int c_abilArmMagazineCmdAmmo10 = 9; +const int c_abilArmMagazineCmdAmmo11 = 10; +const int c_abilArmMagazineCmdAmmo12 = 11; +const int c_abilArmMagazineCmdAmmo13 = 12; +const int c_abilArmMagazineCmdAmmo14 = 13; +const int c_abilArmMagazineCmdAmmo15 = 14; +const int c_abilArmMagazineCmdAmmo16 = 15; +const int c_abilArmMagazineCmdAmmo17 = 16; +const int c_abilArmMagazineCmdAmmo18 = 17; +const int c_abilArmMagazineCmdAmmo19 = 18; +const int c_abilArmMagazineCmdAmmo20 = 19; +const string c_abilArmMagazineCmdAmmo1Name = "Ammo1"; +const string c_abilArmMagazineCmdAmmo2Name = "Ammo2"; +const string c_abilArmMagazineCmdAmmo3Name = "Ammo3"; +const string c_abilArmMagazineCmdAmmo4Name = "Ammo4"; +const string c_abilArmMagazineCmdAmmo5Name = "Ammo5"; +const string c_abilArmMagazineCmdAmmo6Name = "Ammo6"; +const string c_abilArmMagazineCmdAmmo7Name = "Ammo7"; +const string c_abilArmMagazineCmdAmmo8Name = "Ammo8"; +const string c_abilArmMagazineCmdAmmo9Name = "Ammo9"; +const string c_abilArmMagazineCmdAmmo10Name = "Ammo10"; +const string c_abilArmMagazineCmdAmmo11Name = "Ammo11"; +const string c_abilArmMagazineCmdAmmo12Name = "Ammo12"; +const string c_abilArmMagazineCmdAmmo13Name = "Ammo13"; +const string c_abilArmMagazineCmdAmmo14Name = "Ammo14"; +const string c_abilArmMagazineCmdAmmo15Name = "Ammo15"; +const string c_abilArmMagazineCmdAmmo16Name = "Ammo16"; +const string c_abilArmMagazineCmdAmmo17Name = "Ammo17"; +const string c_abilArmMagazineCmdAmmo18Name = "Ammo18"; +const string c_abilArmMagazineCmdAmmo19Name = "Ammo19"; +const string c_abilArmMagazineCmdAmmo20Name = "Ammo20"; + +// EAbilAttackCmd +const int c_abilAttackCmdExecute = 0; +const string c_abilAttackCmdExecuteName = "Execute"; + +// EAbilAugmentCmd +const int c_abilAugmentCmdExecute = 0; +const string c_abilAugmentCmdExecuteName = "Execute"; + +// EAbilBatteryCmd +const int c_abilBatteryCmdExecute = 0; +const string c_abilBatteryCmdExecuteName = "Execute"; + +// EAbilBeaconCmd +const int c_abilBeaconCmdCancel = 0; +const int c_abilBeaconCmdMove = 1; +const string c_abilBeaconCmdCancelName = "Cancel"; +const string c_abilBeaconCmdMoveName = "Move"; + +// EAbilBehaviorCmd +const int c_abilBehaviorCmdOn = 0; +const int c_abilBehaviorCmdOff = 1; +const string c_abilBehaviorCmdOnName = "On"; +const string c_abilBehaviorCmdOffName = "Off"; + +// EAbilBuildCmd +const int c_abilBuildCmdBuild1 = 0; +const int c_abilBuildCmdBuild2 = 1; +const int c_abilBuildCmdBuild3 = 2; +const int c_abilBuildCmdBuild4 = 3; +const int c_abilBuildCmdBuild5 = 4; +const int c_abilBuildCmdBuild6 = 5; +const int c_abilBuildCmdBuild7 = 6; +const int c_abilBuildCmdBuild8 = 7; +const int c_abilBuildCmdBuild9 = 8; +const int c_abilBuildCmdBuild10 = 9; +const int c_abilBuildCmdBuild11 = 10; +const int c_abilBuildCmdBuild12 = 11; +const int c_abilBuildCmdBuild13 = 12; +const int c_abilBuildCmdBuild14 = 13; +const int c_abilBuildCmdBuild15 = 14; +const int c_abilBuildCmdBuild16 = 15; +const int c_abilBuildCmdBuild17 = 16; +const int c_abilBuildCmdBuild18 = 17; +const int c_abilBuildCmdBuild19 = 18; +const int c_abilBuildCmdBuild20 = 19; +const int c_abilBuildCmdBuild21 = 20; +const int c_abilBuildCmdBuild22 = 21; +const int c_abilBuildCmdBuild23 = 22; +const int c_abilBuildCmdBuild24 = 23; +const int c_abilBuildCmdBuild25 = 24; +const int c_abilBuildCmdBuild26 = 25; +const int c_abilBuildCmdBuild27 = 26; +const int c_abilBuildCmdBuild28 = 27; +const int c_abilBuildCmdBuild29 = 28; +const int c_abilBuildCmdBuild30 = 29; +const int c_abilBuildCmdHalt = 30; +const string c_abilBuildCmdBuild1Name = "Build1"; +const string c_abilBuildCmdBuild2Name = "Build2"; +const string c_abilBuildCmdBuild3Name = "Build3"; +const string c_abilBuildCmdBuild4Name = "Build4"; +const string c_abilBuildCmdBuild5Name = "Build5"; +const string c_abilBuildCmdBuild6Name = "Build6"; +const string c_abilBuildCmdBuild7Name = "Build7"; +const string c_abilBuildCmdBuild8Name = "Build8"; +const string c_abilBuildCmdBuild9Name = "Build9"; +const string c_abilBuildCmdBuild10Name = "Build10"; +const string c_abilBuildCmdBuild11Name = "Build11"; +const string c_abilBuildCmdBuild12Name = "Build12"; +const string c_abilBuildCmdBuild13Name = "Build13"; +const string c_abilBuildCmdBuild14Name = "Build14"; +const string c_abilBuildCmdBuild15Name = "Build15"; +const string c_abilBuildCmdBuild16Name = "Build16"; +const string c_abilBuildCmdBuild17Name = "Build17"; +const string c_abilBuildCmdBuild18Name = "Build18"; +const string c_abilBuildCmdBuild19Name = "Build19"; +const string c_abilBuildCmdBuild20Name = "Build20"; +const string c_abilBuildCmdBuild21Name = "Build21"; +const string c_abilBuildCmdBuild22Name = "Build22"; +const string c_abilBuildCmdBuild23Name = "Build23"; +const string c_abilBuildCmdBuild24Name = "Build24"; +const string c_abilBuildCmdBuild25Name = "Build25"; +const string c_abilBuildCmdBuild26Name = "Build26"; +const string c_abilBuildCmdBuild27Name = "Build27"; +const string c_abilBuildCmdBuild28Name = "Build28"; +const string c_abilBuildCmdBuild29Name = "Build29"; +const string c_abilBuildCmdBuild30Name = "Build30"; +const string c_abilBuildCmdHaltName = "Halt"; + +// EAbilBuildableCmd +const int c_abilBuildableCmdCancel = 0; +const string c_abilBuildableCmdCancelName = "Cancel"; + +// EAbilEffectInstantCmd +const int c_abilEffectInstantCmdExecute = 0; +const int c_abilEffectInstantCmdCancel = 1; +const string c_abilEffectInstantCmdExecuteName = "Execute"; +const string c_abilEffectInstantCmdCancelName = "Cancel"; + +// EAbilEffectTargetCmd +const int c_abilEffectTargetCmdExecute = 0; +const int c_abilEffectTargetCmdCancel = 1; +const string c_abilEffectTargetCmdExecuteName = "Execute"; +const string c_abilEffectTargetCmdCancelName = "Cancel"; + +// EAbilHarvestCmd +const int c_abilHarvestCmdGather = 0; +const int c_abilHarvestCmdReturn = 1; +const int c_abilHarvestCmdCancel = 2; +const string c_abilHarvestCmdGatherName = "Gather"; +const string c_abilHarvestCmdReturnName = "Return"; +const string c_abilHarvestCmdCancelName = "Cancel"; + +// EAbilInteractCmd +const int c_abilInteractCmdDesignate = 0; +const string c_abilInteractCmdDesignateName = "Designate"; + +// EAbilInventoryCmd +const int c_abilInventoryCmdDrop = 0; +const int c_abilInventoryCmdMove = 1; +const int c_abilInventoryCmdTake = 2; +const int c_abilInventoryCmdItemInstant = 3; +const int c_abilInventoryCmdItemTarget = 4; +const string c_abilInventoryCmdDropName = "Drop"; +const string c_abilInventoryCmdMoveName = "Move"; +const string c_abilInventoryCmdTakeName = "Take"; +const string c_abilInventoryCmdItemInstantName = "ItemInstant"; +const string c_abilInventoryCmdItemTargetName = "ItemTarget"; + +// EAbilLearnCmd +const int c_abilLearnCmdLearn1 = 0; +const int c_abilLearnCmdLearn2 = 1; +const int c_abilLearnCmdLearn3 = 2; +const int c_abilLearnCmdLearn4 = 3; +const int c_abilLearnCmdLearn5 = 4; +const int c_abilLearnCmdLearn6 = 5; +const int c_abilLearnCmdLearn7 = 6; +const int c_abilLearnCmdLearn8 = 7; +const int c_abilLearnCmdLearn9 = 8; +const int c_abilLearnCmdLearn10 = 9; +const int c_abilLearnCmdLearn11 = 10; +const int c_abilLearnCmdLearn12 = 11; +const int c_abilLearnCmdLearn13 = 12; +const int c_abilLearnCmdLearn14 = 13; +const int c_abilLearnCmdLearn15 = 14; +const int c_abilLearnCmdLearn16 = 15; +const int c_abilLearnCmdLearn17 = 16; +const int c_abilLearnCmdLearn18 = 17; +const int c_abilLearnCmdLearn19 = 18; +const int c_abilLearnCmdLearn20 = 19; +const string c_abilLearnCmdLearn1Name = "Learn1"; +const string c_abilLearnCmdLearn2Name = "Learn2"; +const string c_abilLearnCmdLearn3Name = "Learn3"; +const string c_abilLearnCmdLearn4Name = "Learn4"; +const string c_abilLearnCmdLearn5Name = "Learn5"; +const string c_abilLearnCmdLearn6Name = "Learn6"; +const string c_abilLearnCmdLearn7Name = "Learn7"; +const string c_abilLearnCmdLearn8Name = "Learn8"; +const string c_abilLearnCmdLearn9Name = "Learn9"; +const string c_abilLearnCmdLearn10Name = "Learn10"; +const string c_abilLearnCmdLearn11Name = "Learn11"; +const string c_abilLearnCmdLearn12Name = "Learn12"; +const string c_abilLearnCmdLearn13Name = "Learn13"; +const string c_abilLearnCmdLearn14Name = "Learn14"; +const string c_abilLearnCmdLearn15Name = "Learn15"; +const string c_abilLearnCmdLearn16Name = "Learn16"; +const string c_abilLearnCmdLearn17Name = "Learn17"; +const string c_abilLearnCmdLearn18Name = "Learn18"; +const string c_abilLearnCmdLearn19Name = "Learn19"; +const string c_abilLearnCmdLearn20Name = "Learn20"; + +// EAbilMergeCmd +const int c_abilMergeCmdSelectedUnits = 0; +const int c_abilMergeCmdWithTarget = 1; +const string c_abilMergeCmdSelectedUnitsName = "SelectedUnits"; +const string c_abilMergeCmdWithTargetName = "WithTarget"; + +// EAbilMorphCmd +const int c_abilMorphCmdExecute = 0; +const int c_abilMorphCmdCancel = 1; +const string c_abilMorphCmdExecuteName = "Execute"; +const string c_abilMorphCmdCancelName = "Cancel"; + +// EAbilMergeableCmd +const int c_abilMergeableCmdCancel = 0; +const string c_abilMergeableCmdCancelName = "Cancel"; + +// EAbilMoveCmd +const int c_abilMoveCmdMove = 0; +const int c_abilMoveCmdPatrol = 1; +const int c_abilMoveCmdHoldPos = 2; +const int c_abilMoveCmdAcquireMove = 3; +const int c_abilMoveCmdTurn = 4; +const string c_abilMoveCmdMoveName = "Move"; +const string c_abilMoveCmdPatrolName = "Patrol"; +const string c_abilMoveCmdHoldPosName = "HoldPos"; +const string c_abilMoveCmdAcquireMoveName = "AcquireMove"; +const string c_abilMoveCmdTurnName = "Turn"; + +// EAbilPawnCmd +const int c_abilPawnCmdPawn1 = 0; +const int c_abilPawnCmdPawn2 = 1; +const int c_abilPawnCmdPawn3 = 2; +const int c_abilPawnCmdPawn4 = 3; +const int c_abilPawnCmdPawn5 = 4; +const int c_abilPawnCmdPawn6 = 5; +const int c_abilPawnCmdPawn7 = 6; +const int c_abilPawnCmdPawn8 = 7; +const int c_abilPawnCmdPawn9 = 8; +const int c_abilPawnCmdPawn10 = 9; +const int c_abilPawnCmdPawn11 = 10; +const int c_abilPawnCmdPawn12 = 11; +const int c_abilPawnCmdPawn13 = 12; +const int c_abilPawnCmdPawn14 = 13; +const int c_abilPawnCmdPawn15 = 14; +const int c_abilPawnCmdPawn16 = 15; +const int c_abilPawnCmdPawn17 = 16; +const int c_abilPawnCmdPawn18 = 17; +const int c_abilPawnCmdPawn19 = 18; +const int c_abilPawnCmdPawn20 = 19; +const string c_abilPawnCmdPawn1Name = "Pawn1"; +const string c_abilPawnCmdPawn2Name = "Pawn2"; +const string c_abilPawnCmdPawn3Name = "Pawn3"; +const string c_abilPawnCmdPawn4Name = "Pawn4"; +const string c_abilPawnCmdPawn5Name = "Pawn5"; +const string c_abilPawnCmdPawn6Name = "Pawn6"; +const string c_abilPawnCmdPawn7Name = "Pawn7"; +const string c_abilPawnCmdPawn8Name = "Pawn8"; +const string c_abilPawnCmdPawn9Name = "Pawn9"; +const string c_abilPawnCmdPawn10Name = "Pawn10"; +const string c_abilPawnCmdPawn11Name = "Pawn11"; +const string c_abilPawnCmdPawn12Name = "Pawn12"; +const string c_abilPawnCmdPawn13Name = "Pawn13"; +const string c_abilPawnCmdPawn14Name = "Pawn14"; +const string c_abilPawnCmdPawn15Name = "Pawn15"; +const string c_abilPawnCmdPawn16Name = "Pawn16"; +const string c_abilPawnCmdPawn17Name = "Pawn17"; +const string c_abilPawnCmdPawn18Name = "Pawn18"; +const string c_abilPawnCmdPawn19Name = "Pawn19"; +const string c_abilPawnCmdPawn20Name = "Pawn20"; + +// EAbilQueueCmd +const int c_abilQueueCmdCancelLast = 0; +const int c_abilQueueCmdCancelSlot = 1; +const string c_abilQueueCmdCancelLastName = "CancelLast"; +const string c_abilQueueCmdCancelSlotName = "CancelSlot"; + +// EAbilRallyCmd +const int c_abilRallyCmdRally1 = 0; +const int c_abilRallyCmdRally2 = 1; +const int c_abilRallyCmdRally3 = 2; +const int c_abilRallyCmdRally4 = 3; +const string c_abilRallyCmdRally1Name = "Rally1"; +const string c_abilRallyCmdRally2Name = "Rally2"; +const string c_abilRallyCmdRally3Name = "Rally3"; +const string c_abilRallyCmdRally4Name = "Rally4"; + +// EAbilRedirectInstantCmd +const int c_abilRedirectInstantCmdExecute = 0; +const string c_abilRedirectInstantCmdExecuteName = "Execute"; + +// EAbilRedirectTargetCmd +const int c_abilRedirectTargetCmdExecute = 0; +const string c_abilRedirectTargetCmdExecuteName = "Execute"; + +// EAbilResearchCmd +const int c_abilResearchCmdResearch1 = 0; +const int c_abilResearchCmdResearch2 = 1; +const int c_abilResearchCmdResearch3 = 2; +const int c_abilResearchCmdResearch4 = 3; +const int c_abilResearchCmdResearch5 = 4; +const int c_abilResearchCmdResearch6 = 5; +const int c_abilResearchCmdResearch7 = 6; +const int c_abilResearchCmdResearch8 = 7; +const int c_abilResearchCmdResearch9 = 8; +const int c_abilResearchCmdResearch10 = 9; +const int c_abilResearchCmdResearch11 = 10; +const int c_abilResearchCmdResearch12 = 11; +const int c_abilResearchCmdResearch13 = 12; +const int c_abilResearchCmdResearch14 = 13; +const int c_abilResearchCmdResearch15 = 14; +const int c_abilResearchCmdResearch16 = 15; +const int c_abilResearchCmdResearch17 = 16; +const int c_abilResearchCmdResearch18 = 17; +const int c_abilResearchCmdResearch19 = 18; +const int c_abilResearchCmdResearch20 = 19; +const int c_abilResearchCmdResearch21 = 20; +const int c_abilResearchCmdResearch22 = 21; +const int c_abilResearchCmdResearch23 = 22; +const int c_abilResearchCmdResearch24 = 23; +const int c_abilResearchCmdResearch25 = 24; +const int c_abilResearchCmdResearch26 = 25; +const int c_abilResearchCmdResearch27 = 26; +const int c_abilResearchCmdResearch28 = 27; +const int c_abilResearchCmdResearch29 = 28; +const int c_abilResearchCmdResearch30 = 29; +const string c_abilResearchCmdResearch1Name = "Research1"; +const string c_abilResearchCmdResearch2Name = "Research2"; +const string c_abilResearchCmdResearch3Name = "Research3"; +const string c_abilResearchCmdResearch4Name = "Research4"; +const string c_abilResearchCmdResearch5Name = "Research5"; +const string c_abilResearchCmdResearch6Name = "Research6"; +const string c_abilResearchCmdResearch7Name = "Research7"; +const string c_abilResearchCmdResearch8Name = "Research8"; +const string c_abilResearchCmdResearch9Name = "Research9"; +const string c_abilResearchCmdResearch10Name = "Research10"; +const string c_abilResearchCmdResearch11Name = "Research11"; +const string c_abilResearchCmdResearch12Name = "Research12"; +const string c_abilResearchCmdResearch13Name = "Research13"; +const string c_abilResearchCmdResearch14Name = "Research14"; +const string c_abilResearchCmdResearch15Name = "Research15"; +const string c_abilResearchCmdResearch16Name = "Research16"; +const string c_abilResearchCmdResearch17Name = "Research17"; +const string c_abilResearchCmdResearch18Name = "Research18"; +const string c_abilResearchCmdResearch19Name = "Research19"; +const string c_abilResearchCmdResearch20Name = "Research20"; +const string c_abilResearchCmdResearch21Name = "Research21"; +const string c_abilResearchCmdResearch22Name = "Research22"; +const string c_abilResearchCmdResearch23Name = "Research23"; +const string c_abilResearchCmdResearch24Name = "Research24"; +const string c_abilResearchCmdResearch25Name = "Research25"; +const string c_abilResearchCmdResearch26Name = "Research26"; +const string c_abilResearchCmdResearch27Name = "Research27"; +const string c_abilResearchCmdResearch28Name = "Research28"; +const string c_abilResearchCmdResearch29Name = "Research29"; +const string c_abilResearchCmdResearch30Name = "Research30"; + +// EAbilReviveCmd +const int c_abilReviveCmdRevive1 = 0; +const int c_abilReviveCmdRevive2 = 1; +const int c_abilReviveCmdRevive3 = 2; +const int c_abilReviveCmdRevive4 = 3; +const int c_abilReviveCmdRevive5 = 4; +const int c_abilReviveCmdRevive6 = 5; +const int c_abilReviveCmdRevive7 = 6; +const int c_abilReviveCmdRevive8 = 7; +const int c_abilReviveCmdRevive9 = 8; +const int c_abilReviveCmdRevive10 = 9; +const int c_abilReviveCmdRevive11 = 10; +const int c_abilReviveCmdRevive12 = 11; +const int c_abilReviveCmdRevive13 = 12; +const int c_abilReviveCmdRevive14 = 13; +const int c_abilReviveCmdRevive15 = 14; +const int c_abilReviveCmdRevive16 = 15; +const int c_abilReviveCmdRevive17 = 16; +const int c_abilReviveCmdRevive18 = 17; +const int c_abilReviveCmdRevive19 = 18; +const int c_abilReviveCmdRevive20 = 19; +const string c_abilReviveCmdRevive1Name = "Revive1"; +const string c_abilReviveCmdRevive2Name = "Revive2"; +const string c_abilReviveCmdRevive3Name = "Revive3"; +const string c_abilReviveCmdRevive4Name = "Revive4"; +const string c_abilReviveCmdRevive5Name = "Revive5"; +const string c_abilReviveCmdRevive6Name = "Revive6"; +const string c_abilReviveCmdRevive7Name = "Revive7"; +const string c_abilReviveCmdRevive8Name = "Revive8"; +const string c_abilReviveCmdRevive9Name = "Revive9"; +const string c_abilReviveCmdRevive10Name = "Revive10"; +const string c_abilReviveCmdRevive11Name = "Revive11"; +const string c_abilReviveCmdRevive12Name = "Revive12"; +const string c_abilReviveCmdRevive13Name = "Revive13"; +const string c_abilReviveCmdRevive14Name = "Revive14"; +const string c_abilReviveCmdRevive15Name = "Revive15"; +const string c_abilReviveCmdRevive16Name = "Revive16"; +const string c_abilReviveCmdRevive17Name = "Revive17"; +const string c_abilReviveCmdRevive18Name = "Revive18"; +const string c_abilReviveCmdRevive19Name = "Revive19"; +const string c_abilReviveCmdRevive20Name = "Revive20"; + +// EAbilSpecializeCmd +const int c_abilSpecializeCmdSpecialize1 = 0; +const int c_abilSpecializeCmdSpecialize2 = 1; +const int c_abilSpecializeCmdSpecialize3 = 2; +const int c_abilSpecializeCmdSpecialize4 = 3; +const int c_abilSpecializeCmdSpecialize5 = 4; +const int c_abilSpecializeCmdSpecialize6 = 5; +const int c_abilSpecializeCmdSpecialize7 = 6; +const int c_abilSpecializeCmdSpecialize8 = 7; +const int c_abilSpecializeCmdSpecialize9 = 8; +const int c_abilSpecializeCmdSpecialize10 = 9; +const int c_abilSpecializeCmdSpecialize11 = 10; +const int c_abilSpecializeCmdSpecialize12 = 11; +const int c_abilSpecializeCmdSpecialize13 = 12; +const int c_abilSpecializeCmdSpecialize14 = 13; +const int c_abilSpecializeCmdSpecialize15 = 14; +const int c_abilSpecializeCmdSpecialize16 = 15; +const int c_abilSpecializeCmdSpecialize17 = 16; +const int c_abilSpecializeCmdSpecialize18 = 17; +const int c_abilSpecializeCmdSpecialize19 = 18; +const int c_abilSpecializeCmdSpecialize20 = 19; +const string c_abilSpecializeCmdSpecialize1Name = "Specialize1"; +const string c_abilSpecializeCmdSpecialize2Name = "Specialize2"; +const string c_abilSpecializeCmdSpecialize3Name = "Specialize3"; +const string c_abilSpecializeCmdSpecialize4Name = "Specialize4"; +const string c_abilSpecializeCmdSpecialize5Name = "Specialize5"; +const string c_abilSpecializeCmdSpecialize6Name = "Specialize6"; +const string c_abilSpecializeCmdSpecialize7Name = "Specialize7"; +const string c_abilSpecializeCmdSpecialize8Name = "Specialize8"; +const string c_abilSpecializeCmdSpecialize9Name = "Specialize9"; +const string c_abilSpecializeCmdSpecialize10Name = "Specialize10"; +const string c_abilSpecializeCmdSpecialize11Name = "Specialize11"; +const string c_abilSpecializeCmdSpecialize12Name = "Specialize12"; +const string c_abilSpecializeCmdSpecialize13Name = "Specialize13"; +const string c_abilSpecializeCmdSpecialize14Name = "Specialize14"; +const string c_abilSpecializeCmdSpecialize15Name = "Specialize15"; +const string c_abilSpecializeCmdSpecialize16Name = "Specialize16"; +const string c_abilSpecializeCmdSpecialize17Name = "Specialize17"; +const string c_abilSpecializeCmdSpecialize18Name = "Specialize18"; +const string c_abilSpecializeCmdSpecialize19Name = "Specialize19"; +const string c_abilSpecializeCmdSpecialize20Name = "Specialize20"; + +// EAbilStopCmd +const int c_abilStopCmdStop = 0; +const int c_abilStopCmdHoldFire = 1; +const int c_abilStopCmdCheer = 2; +const int c_abilStopCmdDance = 3; +const string c_abilStopCmdStopName = "Stop"; +const string c_abilStopCmdHoldFireName = "HoldFire"; +const string c_abilStopCmdCheerName = "Cheer"; +const string c_abilStopCmdDanceName = "Dance"; + +// EAbilTrainCmd +const int c_abilTrainCmdTrain1 = 0; +const int c_abilTrainCmdTrain2 = 1; +const int c_abilTrainCmdTrain3 = 2; +const int c_abilTrainCmdTrain4 = 3; +const int c_abilTrainCmdTrain5 = 4; +const int c_abilTrainCmdTrain6 = 5; +const int c_abilTrainCmdTrain7 = 6; +const int c_abilTrainCmdTrain8 = 7; +const int c_abilTrainCmdTrain9 = 8; +const int c_abilTrainCmdTrain10 = 9; +const int c_abilTrainCmdTrain11 = 10; +const int c_abilTrainCmdTrain12 = 11; +const int c_abilTrainCmdTrain13 = 12; +const int c_abilTrainCmdTrain14 = 13; +const int c_abilTrainCmdTrain15 = 14; +const int c_abilTrainCmdTrain16 = 15; +const int c_abilTrainCmdTrain17 = 16; +const int c_abilTrainCmdTrain18 = 17; +const int c_abilTrainCmdTrain19 = 18; +const int c_abilTrainCmdTrain20 = 19; +const int c_abilTrainCmdTrain21 = 20; +const int c_abilTrainCmdTrain22 = 21; +const int c_abilTrainCmdTrain23 = 22; +const int c_abilTrainCmdTrain24 = 23; +const int c_abilTrainCmdTrain25 = 24; +const int c_abilTrainCmdTrain26 = 25; +const int c_abilTrainCmdTrain27 = 26; +const int c_abilTrainCmdTrain28 = 27; +const int c_abilTrainCmdTrain29 = 28; +const int c_abilTrainCmdTrain30 = 29; +const string c_abilTrainCmdTrain1Name = "Train1"; +const string c_abilTrainCmdTrain2Name = "Train2"; +const string c_abilTrainCmdTrain3Name = "Train3"; +const string c_abilTrainCmdTrain4Name = "Train4"; +const string c_abilTrainCmdTrain5Name = "Train5"; +const string c_abilTrainCmdTrain6Name = "Train6"; +const string c_abilTrainCmdTrain7Name = "Train7"; +const string c_abilTrainCmdTrain8Name = "Train8"; +const string c_abilTrainCmdTrain9Name = "Train9"; +const string c_abilTrainCmdTrain10Name = "Train10"; +const string c_abilTrainCmdTrain11Name = "Train11"; +const string c_abilTrainCmdTrain12Name = "Train12"; +const string c_abilTrainCmdTrain13Name = "Train13"; +const string c_abilTrainCmdTrain14Name = "Train14"; +const string c_abilTrainCmdTrain15Name = "Train15"; +const string c_abilTrainCmdTrain16Name = "Train16"; +const string c_abilTrainCmdTrain17Name = "Train17"; +const string c_abilTrainCmdTrain18Name = "Train18"; +const string c_abilTrainCmdTrain19Name = "Train19"; +const string c_abilTrainCmdTrain20Name = "Train20"; +const string c_abilTrainCmdTrain21Name = "Train21"; +const string c_abilTrainCmdTrain22Name = "Train22"; +const string c_abilTrainCmdTrain23Name = "Train23"; +const string c_abilTrainCmdTrain24Name = "Train24"; +const string c_abilTrainCmdTrain25Name = "Train25"; +const string c_abilTrainCmdTrain26Name = "Train26"; +const string c_abilTrainCmdTrain27Name = "Train27"; +const string c_abilTrainCmdTrain28Name = "Train28"; +const string c_abilTrainCmdTrain29Name = "Train29"; +const string c_abilTrainCmdTrain30Name = "Train30"; + +// EAbilTransportCmd +const int c_abilTransportCmdLoad = 0; +const int c_abilTransportCmdUnloadAll = 1; +const int c_abilTransportCmdUnloadAt = 2; +const int c_abilTransportCmdUnloadUnit = 3; +const int c_abilTransportCmdLoadAll = 4; +const string c_abilTransportCmdLoadName = "Load"; +const string c_abilTransportCmdUnloadAllName = "UnloadAll"; +const string c_abilTransportCmdUnloadAtName = "UnloadAt"; +const string c_abilTransportCmdUnloadUnitName = "UnloadUnit"; +const string c_abilTransportCmdLoadAllName = "LoadAll"; + +// EAbilWarpableCmd +const int c_abilWarpableCmdCancel = 0; +const string c_abilWarpableCmdCancelName = "Cancel"; + +// EAbilWarpTrainCmd +const int c_abilWarpTrainCmdTrain1 = 0; +const int c_abilWarpTrainCmdTrain2 = 1; +const int c_abilWarpTrainCmdTrain3 = 2; +const int c_abilWarpTrainCmdTrain4 = 3; +const int c_abilWarpTrainCmdTrain5 = 4; +const int c_abilWarpTrainCmdTrain6 = 5; +const int c_abilWarpTrainCmdTrain7 = 6; +const int c_abilWarpTrainCmdTrain8 = 7; +const int c_abilWarpTrainCmdTrain9 = 8; +const int c_abilWarpTrainCmdTrain10 = 9; +const int c_abilWarpTrainCmdTrain11 = 10; +const int c_abilWarpTrainCmdTrain12 = 11; +const int c_abilWarpTrainCmdTrain13 = 12; +const int c_abilWarpTrainCmdTrain14 = 13; +const int c_abilWarpTrainCmdTrain15 = 14; +const int c_abilWarpTrainCmdTrain16 = 15; +const int c_abilWarpTrainCmdTrain17 = 16; +const int c_abilWarpTrainCmdTrain18 = 17; +const int c_abilWarpTrainCmdTrain19 = 18; +const int c_abilWarpTrainCmdTrain20 = 19; +const string c_abilWarpTrainCmdTrain1Name = "Train1"; +const string c_abilWarpTrainCmdTrain2Name = "Train2"; +const string c_abilWarpTrainCmdTrain3Name = "Train3"; +const string c_abilWarpTrainCmdTrain4Name = "Train4"; +const string c_abilWarpTrainCmdTrain5Name = "Train5"; +const string c_abilWarpTrainCmdTrain6Name = "Train6"; +const string c_abilWarpTrainCmdTrain7Name = "Train7"; +const string c_abilWarpTrainCmdTrain8Name = "Train8"; +const string c_abilWarpTrainCmdTrain9Name = "Train9"; +const string c_abilWarpTrainCmdTrain10Name = "Train10"; +const string c_abilWarpTrainCmdTrain11Name = "Train11"; +const string c_abilWarpTrainCmdTrain12Name = "Train12"; +const string c_abilWarpTrainCmdTrain13Name = "Train13"; +const string c_abilWarpTrainCmdTrain14Name = "Train14"; +const string c_abilWarpTrainCmdTrain15Name = "Train15"; +const string c_abilWarpTrainCmdTrain16Name = "Train16"; +const string c_abilWarpTrainCmdTrain17Name = "Train17"; +const string c_abilWarpTrainCmdTrain18Name = "Train18"; +const string c_abilWarpTrainCmdTrain19Name = "Train19"; +const string c_abilWarpTrainCmdTrain20Name = "Train20"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/AchievementTerm.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/AchievementTerm.galaxy new file mode 100644 index 0000000..7043d5b --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/AchievementTerm.galaxy @@ -0,0 +1,35 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// AchievementTerm.galaxy generated from AchievementTerm.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCAchievementTerm +const int c_classIdCAchievementTerm = 0; +const int c_classIdCAchievementTermAchievement = 1; +const int c_classIdCAchievementTermCombine = 2; +const int c_classIdCAchievementTermQuantity = 3; +const int c_classIdCAchievementTermRace = 4; +const int c_classIdCAchievementTermRequirement = 5; +const int c_classIdCAchievementTermAbil = 6; +const int c_classIdCAchievementTermEffect = 7; +const int c_classIdCAchievementTermAbilUse = 8; +const int c_classIdCAchievementTermDamage = 9; +const int c_classIdCAchievementTermEffectUse = 10; +const int c_classIdCAchievementTermScoreValue = 11; +const string c_classIdCAchievementTermName = "CAchievementTerm"; +const string c_classIdCAchievementTermAchievementName = "CAchievementTermAchievement"; +const string c_classIdCAchievementTermCombineName = "CAchievementTermCombine"; +const string c_classIdCAchievementTermQuantityName = "CAchievementTermQuantity"; +const string c_classIdCAchievementTermRaceName = "CAchievementTermRace"; +const string c_classIdCAchievementTermRequirementName = "CAchievementTermRequirement"; +const string c_classIdCAchievementTermAbilName = "CAchievementTermAbil"; +const string c_classIdCAchievementTermEffectName = "CAchievementTermEffect"; +const string c_classIdCAchievementTermAbilUseName = "CAchievementTermAbilUse"; +const string c_classIdCAchievementTermDamageName = "CAchievementTermDamage"; +const string c_classIdCAchievementTermEffectUseName = "CAchievementTermEffectUse"; +const string c_classIdCAchievementTermScoreValueName = "CAchievementTermScoreValue"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Effect.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Effect.galaxy new file mode 100644 index 0000000..e4168dc --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Effect.galaxy @@ -0,0 +1,59 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// Effect.galaxy generated from Effect.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCEffect +const int c_classIdCEffect = 0; +const int c_classIdCEffectResponse = 1; +const int c_classIdCEffectApplyBehavior = 2; +const int c_classIdCEffectApplyForce = 3; +const int c_classIdCEffectCreateHealer = 4; +const int c_classIdCEffectCreatePersistent = 5; +const int c_classIdCEffectCreateUnit = 6; +const int c_classIdCEffectDamage = 7; +const int c_classIdCEffectDestroyHealer = 8; +const int c_classIdCEffectDestroyPersistent = 9; +const int c_classIdCEffectEnumArea = 10; +const int c_classIdCEffectEnumTransport = 11; +const int c_classIdCEffectIssueOrder = 12; +const int c_classIdCEffectLaunchMissile = 13; +const int c_classIdCEffectModifyPlayer = 14; +const int c_classIdCEffectModifyUnit = 15; +const int c_classIdCEffectReleaseMagazine = 16; +const int c_classIdCEffectRemoveBehavior = 17; +const int c_classIdCEffectSet = 18; +const int c_classIdCEffectSwitch = 19; +const int c_classIdCEffectTeleport = 20; +const int c_classIdCEffectTransferBehavior = 21; +const int c_classIdCEffectUseCalldown = 22; +const int c_classIdCEffectUseMagazine = 23; +const string c_classIdCEffectName = "CEffect"; +const string c_classIdCEffectResponseName = "CEffectResponse"; +const string c_classIdCEffectApplyBehaviorName = "CEffectApplyBehavior"; +const string c_classIdCEffectApplyForceName = "CEffectApplyForce"; +const string c_classIdCEffectCreateHealerName = "CEffectCreateHealer"; +const string c_classIdCEffectCreatePersistentName = "CEffectCreatePersistent"; +const string c_classIdCEffectCreateUnitName = "CEffectCreateUnit"; +const string c_classIdCEffectDamageName = "CEffectDamage"; +const string c_classIdCEffectDestroyHealerName = "CEffectDestroyHealer"; +const string c_classIdCEffectDestroyPersistentName = "CEffectDestroyPersistent"; +const string c_classIdCEffectEnumAreaName = "CEffectEnumArea"; +const string c_classIdCEffectEnumTransportName = "CEffectEnumTransport"; +const string c_classIdCEffectIssueOrderName = "CEffectIssueOrder"; +const string c_classIdCEffectLaunchMissileName = "CEffectLaunchMissile"; +const string c_classIdCEffectModifyPlayerName = "CEffectModifyPlayer"; +const string c_classIdCEffectModifyUnitName = "CEffectModifyUnit"; +const string c_classIdCEffectReleaseMagazineName = "CEffectReleaseMagazine"; +const string c_classIdCEffectRemoveBehaviorName = "CEffectRemoveBehavior"; +const string c_classIdCEffectSetName = "CEffectSet"; +const string c_classIdCEffectSwitchName = "CEffectSwitch"; +const string c_classIdCEffectTeleportName = "CEffectTeleport"; +const string c_classIdCEffectTransferBehaviorName = "CEffectTransferBehavior"; +const string c_classIdCEffectUseCalldownName = "CEffectUseCalldown"; +const string c_classIdCEffectUseMagazineName = "CEffectUseMagazine"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Game.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Game.galaxy new file mode 100644 index 0000000..1f382e2 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Game.galaxy @@ -0,0 +1,247 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// Game.galaxy generated from Game.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCGame +const int c_classIdCGame = 0; +const string c_classIdCGameName = "CGame"; + +// EAllianceId +const int c_allianceIdPassive = 0; +const int c_allianceIdVision = 1; +const int c_allianceIdControl = 2; +const int c_allianceIdSpend = 3; +const int c_allianceIdTrade = 4; +const int c_allianceIdSeekHelp = 5; +const int c_allianceIdGiveHelp = 6; +const int c_allianceIdChat = 7; +const int c_allianceIdDefeat = 8; +const int c_allianceIdPushable = 9; +const string c_allianceIdPassiveName = "Passive"; +const string c_allianceIdVisionName = "Vision"; +const string c_allianceIdControlName = "Control"; +const string c_allianceIdSpendName = "Spend"; +const string c_allianceIdTradeName = "Trade"; +const string c_allianceIdSeekHelpName = "SeekHelp"; +const string c_allianceIdGiveHelpName = "GiveHelp"; +const string c_allianceIdChatName = "Chat"; +const string c_allianceIdDefeatName = "Defeat"; +const string c_allianceIdPushableName = "Pushable"; + +// EPlayerType +const int c_playerTypeNone = 0; +const int c_playerTypeUser = 1; +const int c_playerTypeComputer = 2; +const int c_playerTypeNeutral = 3; +const int c_playerTypeHostile = 4; +const int c_playerTypeReferee = 5; +const int c_playerTypeSpectator = 6; +const string c_playerTypeNoneName = "None"; +const string c_playerTypeUserName = "User"; +const string c_playerTypeComputerName = "Computer"; +const string c_playerTypeNeutralName = "Neutral"; +const string c_playerTypeHostileName = "Hostile"; +const string c_playerTypeRefereeName = "Referee"; +const string c_playerTypeSpectatorName = "Spectator"; + +// ETargetFilter +const int c_targetFilterSelf = 0; +const int c_targetFilterPlayer = 1; +const int c_targetFilterAlly = 2; +const int c_targetFilterNeutral = 3; +const int c_targetFilterEnemy = 4; +const int c_targetFilterAir = 5; +const int c_targetFilterGround = 6; +const int c_targetFilterLight = 7; +const int c_targetFilterArmored = 8; +const int c_targetFilterBiological = 9; +const int c_targetFilterRobotic = 10; +const int c_targetFilterMechanical = 11; +const int c_targetFilterPsionic = 12; +const int c_targetFilterMassive = 13; +const int c_targetFilterStructure = 14; +const int c_targetFilterHover = 15; +const int c_targetFilterHeroic = 16; +const int c_targetFilterWorker = 17; +const int c_targetFilterRawResource = 18; +const int c_targetFilterHarvestableResource = 19; +const int c_targetFilterMissile = 20; +const int c_targetFilterDestructible = 21; +const int c_targetFilterItem = 22; +const int c_targetFilterUncommandable = 23; +const int c_targetFilterCanHaveEnergy = 24; +const int c_targetFilterCanHaveShields = 25; +const int c_targetFilterPreventDefeat = 26; +const int c_targetFilterPreventReveal = 27; +const int c_targetFilterBuried = 28; +const int c_targetFilterCloaked = 29; +const int c_targetFilterVisible = 30; +const int c_targetFilterStasis = 31; +const int c_targetFilterUnderConstruction = 32; +const int c_targetFilterDead = 33; +const int c_targetFilterRevivable = 34; +const int c_targetFilterHidden = 35; +const int c_targetFilterHallucination = 36; +const int c_targetFilterInvulnerable = 37; +const int c_targetFilterHasEnergy = 38; +const int c_targetFilterHasShields = 39; +const int c_targetFilterBenign = 40; +const int c_targetFilterPassive = 41; +const int c_targetFilterDetector = 42; +const int c_targetFilterRadar = 43; +const string c_targetFilterSelfName = "Self"; +const string c_targetFilterPlayerName = "Player"; +const string c_targetFilterAllyName = "Ally"; +const string c_targetFilterNeutralName = "Neutral"; +const string c_targetFilterEnemyName = "Enemy"; +const string c_targetFilterAirName = "Air"; +const string c_targetFilterGroundName = "Ground"; +const string c_targetFilterLightName = "Light"; +const string c_targetFilterArmoredName = "Armored"; +const string c_targetFilterBiologicalName = "Biological"; +const string c_targetFilterRoboticName = "Robotic"; +const string c_targetFilterMechanicalName = "Mechanical"; +const string c_targetFilterPsionicName = "Psionic"; +const string c_targetFilterMassiveName = "Massive"; +const string c_targetFilterStructureName = "Structure"; +const string c_targetFilterHoverName = "Hover"; +const string c_targetFilterHeroicName = "Heroic"; +const string c_targetFilterWorkerName = "Worker"; +const string c_targetFilterRawResourceName = "RawResource"; +const string c_targetFilterHarvestableResourceName = "HarvestableResource"; +const string c_targetFilterMissileName = "Missile"; +const string c_targetFilterDestructibleName = "Destructible"; +const string c_targetFilterItemName = "Item"; +const string c_targetFilterUncommandableName = "Uncommandable"; +const string c_targetFilterCanHaveEnergyName = "CanHaveEnergy"; +const string c_targetFilterCanHaveShieldsName = "CanHaveShields"; +const string c_targetFilterPreventDefeatName = "PreventDefeat"; +const string c_targetFilterPreventRevealName = "PreventReveal"; +const string c_targetFilterBuriedName = "Buried"; +const string c_targetFilterCloakedName = "Cloaked"; +const string c_targetFilterVisibleName = "Visible"; +const string c_targetFilterStasisName = "Stasis"; +const string c_targetFilterUnderConstructionName = "UnderConstruction"; +const string c_targetFilterDeadName = "Dead"; +const string c_targetFilterRevivableName = "Revivable"; +const string c_targetFilterHiddenName = "Hidden"; +const string c_targetFilterHallucinationName = "Hallucination"; +const string c_targetFilterInvulnerableName = "Invulnerable"; +const string c_targetFilterHasEnergyName = "HasEnergy"; +const string c_targetFilterHasShieldsName = "HasShields"; +const string c_targetFilterBenignName = "Benign"; +const string c_targetFilterPassiveName = "Passive"; +const string c_targetFilterDetectorName = "Detector"; +const string c_targetFilterRadarName = "Radar"; + +// EMarkerMatch +const int c_markerMatchId = 0; +const int c_markerMatchLink = 1; +const int c_markerMatchCasterPlayer = 2; +const int c_markerMatchCasterUnit = 3; +const string c_markerMatchIdName = "Id"; +const string c_markerMatchLinkName = "Link"; +const string c_markerMatchCasterPlayerName = "CasterPlayer"; +const string c_markerMatchCasterUnitName = "CasterUnit"; + +// EHeightMap +const int c_heightMapAir = 0; +const int c_heightMapGlide = 1; +const int c_heightMapGround = 2; +const string c_heightMapAirName = "Air"; +const string c_heightMapGlideName = "Glide"; +const string c_heightMapGroundName = "Ground"; + +// EPlane +const int c_planeGround = 0; +const int c_planeAir = 1; +const string c_planeGroundName = "Ground"; +const string c_planeAirName = "Air"; + +// EDamageKind +const int c_damageKindSpell = 0; +const int c_damageKindMelee = 1; +const int c_damageKindRanged = 2; +const int c_damageKindSplash = 3; +const string c_damageKindSpellName = "Spell"; +const string c_damageKindMeleeName = "Melee"; +const string c_damageKindRangedName = "Ranged"; +const string c_damageKindSplashName = "Splash"; + +// EDeathType +const int c_deathTypeNormal = 0; +const int c_deathTypeRemove = 1; +const int c_deathTypeBlast = 2; +const int c_deathTypeDisintegrate = 3; +const int c_deathTypeEat = 4; +const int c_deathTypeElectrocute = 5; +const int c_deathTypeEviscerate = 6; +const int c_deathTypeFire = 7; +const int c_deathTypeFreeze = 8; +const int c_deathTypeImpact = 9; +const int c_deathTypeMorph = 10; +const int c_deathTypeSilentkill = 11; +const int c_deathTypeSquish = 12; +const int c_deathTypeTimeout = 13; +const int c_deathTypeUnlink = 14; +const int c_deathTypeUnderConstruction = 15; +const int c_deathTypeSalvage = 16; +const string c_deathTypeNormalName = "Normal"; +const string c_deathTypeRemoveName = "Remove"; +const string c_deathTypeBlastName = "Blast"; +const string c_deathTypeDisintegrateName = "Disintegrate"; +const string c_deathTypeEatName = "Eat"; +const string c_deathTypeElectrocuteName = "Electrocute"; +const string c_deathTypeEviscerateName = "Eviscerate"; +const string c_deathTypeFireName = "Fire"; +const string c_deathTypeFreezeName = "Freeze"; +const string c_deathTypeImpactName = "Impact"; +const string c_deathTypeMorphName = "Morph"; +const string c_deathTypeSilentkillName = "Silentkill"; +const string c_deathTypeSquishName = "Squish"; +const string c_deathTypeTimeoutName = "Timeout"; +const string c_deathTypeUnlinkName = "Unlink"; +const string c_deathTypeUnderConstructionName = "UnderConstruction"; +const string c_deathTypeSalvageName = "Salvage"; + +// EResourceType +const int c_resourceTypeMinerals = 0; +const int c_resourceTypeVespene = 1; +const int c_resourceTypeTerrazine = 2; +const int c_resourceTypeCustom = 3; +const string c_resourceTypeMineralsName = "Minerals"; +const string c_resourceTypeVespeneName = "Vespene"; +const string c_resourceTypeTerrazineName = "Terrazine"; +const string c_resourceTypeCustomName = "Custom"; + +// ETeamColor +const int c_teamColorDiffuse = 0; +const int c_teamColorEmissive = 1; +const string c_teamColorDiffuseName = "Diffuse"; +const string c_teamColorEmissiveName = "Emissive"; + +// EBeacon +const int c_beaconRally = 0; +const int c_beaconAttack = 1; +const int c_beaconDefend = 2; +const int c_beaconExpand = 3; +const int c_beaconHarass = 4; +const int c_beaconScout = 5; +const string c_beaconRallyName = "Rally"; +const string c_beaconAttackName = "Attack"; +const string c_beaconDefendName = "Defend"; +const string c_beaconExpandName = "Expand"; +const string c_beaconHarassName = "Harass"; +const string c_beaconScoutName = "Scout"; + +// EUnitTaunt +const int c_unitTauntCheer = 0; +const int c_unitTauntDance = 1; +const string c_unitTauntCheerName = "Cheer"; +const string c_unitTauntDanceName = "Dance"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/GameData.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/GameData.galaxy new file mode 100644 index 0000000..824ad3f --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/GameData.galaxy @@ -0,0 +1,113 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// GameData.galaxy generated from GameData.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EGameCatalog +const int c_gameCatalogAbil = 0; +const int c_gameCatalogAchievement = 1; +const int c_gameCatalogAchievementTerm = 2; +const int c_gameCatalogActor = 3; +const int c_gameCatalogAlert = 4; +const int c_gameCatalogAttachMethod = 5; +const int c_gameCatalogBeam = 6; +const int c_gameCatalogBehavior = 7; +const int c_gameCatalogButton = 8; +const int c_gameCatalogCamera = 9; +const int c_gameCatalogCliff = 10; +const int c_gameCatalogCliffMesh = 11; +const int c_gameCatalogConversation = 12; +const int c_gameCatalogConversationState = 13; +const int c_gameCatalogCursor = 14; +const int c_gameCatalogDSP = 15; +const int c_gameCatalogEffect = 16; +const int c_gameCatalogError = 17; +const int c_gameCatalogFootprint = 18; +const int c_gameCatalogFoW = 19; +const int c_gameCatalogGame = 20; +const int c_gameCatalogGameUI = 21; +const int c_gameCatalogItem = 22; +const int c_gameCatalogItemClass = 23; +const int c_gameCatalogItemContainer = 24; +const int c_gameCatalogLight = 25; +const int c_gameCatalogLoot = 26; +const int c_gameCatalogModel = 27; +const int c_gameCatalogMover = 28; +const int c_gameCatalogRace = 29; +const int c_gameCatalogRequirement = 30; +const int c_gameCatalogRequirementNode = 31; +const int c_gameCatalogReverb = 32; +const int c_gameCatalogScoreResult = 33; +const int c_gameCatalogScoreValue = 34; +const int c_gameCatalogSound = 35; +const int c_gameCatalogSoundtrack = 36; +const int c_gameCatalogTactical = 37; +const int c_gameCatalogTargetFind = 38; +const int c_gameCatalogTargetSort = 39; +const int c_gameCatalogTerrain = 40; +const int c_gameCatalogTerrainObject = 41; +const int c_gameCatalogTerrainTex = 42; +const int c_gameCatalogTexture = 43; +const int c_gameCatalogTile = 44; +const int c_gameCatalogTurret = 45; +const int c_gameCatalogUnit = 46; +const int c_gameCatalogUpgrade = 47; +const int c_gameCatalogValidator = 48; +const int c_gameCatalogWater = 49; +const int c_gameCatalogWeapon = 50; +const string c_gameCatalogAbilName = "Abil"; +const string c_gameCatalogAchievementName = "Achievement"; +const string c_gameCatalogAchievementTermName = "AchievementTerm"; +const string c_gameCatalogActorName = "Actor"; +const string c_gameCatalogAlertName = "Alert"; +const string c_gameCatalogAttachMethodName = "AttachMethod"; +const string c_gameCatalogBeamName = "Beam"; +const string c_gameCatalogBehaviorName = "Behavior"; +const string c_gameCatalogButtonName = "Button"; +const string c_gameCatalogCameraName = "Camera"; +const string c_gameCatalogCliffName = "Cliff"; +const string c_gameCatalogCliffMeshName = "CliffMesh"; +const string c_gameCatalogConversationName = "Conversation"; +const string c_gameCatalogConversationStateName = "ConversationState"; +const string c_gameCatalogCursorName = "Cursor"; +const string c_gameCatalogDSPName = "DSP"; +const string c_gameCatalogEffectName = "Effect"; +const string c_gameCatalogErrorName = "Error"; +const string c_gameCatalogFootprintName = "Footprint"; +const string c_gameCatalogFoWName = "FoW"; +const string c_gameCatalogGameName = "Game"; +const string c_gameCatalogGameUIName = "GameUI"; +const string c_gameCatalogItemName = "Item"; +const string c_gameCatalogItemClassName = "ItemClass"; +const string c_gameCatalogItemContainerName = "ItemContainer"; +const string c_gameCatalogLightName = "Light"; +const string c_gameCatalogLootName = "Loot"; +const string c_gameCatalogModelName = "Model"; +const string c_gameCatalogMoverName = "Mover"; +const string c_gameCatalogRaceName = "Race"; +const string c_gameCatalogRequirementName = "Requirement"; +const string c_gameCatalogRequirementNodeName = "RequirementNode"; +const string c_gameCatalogReverbName = "Reverb"; +const string c_gameCatalogScoreResultName = "ScoreResult"; +const string c_gameCatalogScoreValueName = "ScoreValue"; +const string c_gameCatalogSoundName = "Sound"; +const string c_gameCatalogSoundtrackName = "Soundtrack"; +const string c_gameCatalogTacticalName = "Tactical"; +const string c_gameCatalogTargetFindName = "TargetFind"; +const string c_gameCatalogTargetSortName = "TargetSort"; +const string c_gameCatalogTerrainName = "Terrain"; +const string c_gameCatalogTerrainObjectName = "TerrainObject"; +const string c_gameCatalogTerrainTexName = "TerrainTex"; +const string c_gameCatalogTextureName = "Texture"; +const string c_gameCatalogTileName = "Tile"; +const string c_gameCatalogTurretName = "Turret"; +const string c_gameCatalogUnitName = "Unit"; +const string c_gameCatalogUpgradeName = "Upgrade"; +const string c_gameCatalogValidatorName = "Validator"; +const string c_gameCatalogWaterName = "Water"; +const string c_gameCatalogWeaponName = "Weapon"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Unit.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Unit.galaxy new file mode 100644 index 0000000..9a1f03e --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Unit.galaxy @@ -0,0 +1,151 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// Unit.galaxy generated from Unit.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCUnit +const int c_classIdCUnit = 0; +const string c_classIdCUnitName = "CUnit"; + +// EUnitFlag +const int c_unitFlagBounce = 0; +const int c_unitFlagTurnable = 1; +const int c_unitFlagMovable = 2; +const int c_unitFlagWorker = 3; +const int c_unitFlagCreateVisible = 4; +const int c_unitFlagUnclickable = 5; +const int c_unitFlagUncommandable = 6; +const int c_unitFlagUnhighlightable = 7; +const int c_unitFlagUntooltipable = 8; +const int c_unitFlagUnselectable = 9; +const int c_unitFlagUntargetable = 10; +const int c_unitFlagUncursorable = 11; +const int c_unitFlagHero = 12; +const int c_unitFlagIndividualSubgroups = 13; +const int c_unitFlagNoDraw = 14; +const int c_unitFlagPreventReveal = 15; +const int c_unitFlagPreventDefeat = 16; +const int c_unitFlagPreventDestroy = 17; +const int c_unitFlagDefeatReveal = 18; +const int c_unitFlagUncloakable = 19; +const int c_unitFlagMissile = 20; +const int c_unitFlagUndetectable = 21; +const int c_unitFlagUnradarable = 22; +const int c_unitFlagUseLineOfSight = 23; +const int c_unitFlagPressForwardDisabled = 24; +const int c_unitFlagKillCredit = 25; +const int c_unitFlagTownAlert = 26; +const int c_unitFlagInvulnerable = 27; +const int c_unitFlagDestructible = 28; +const int c_unitFlagCloaked = 29; +const int c_unitFlagBuried = 30; +const int c_unitFlagNoScore = 31; +const int c_unitFlagIgnoreTerrainZInit = 32; +const int c_unitFlagTurnBeforeMove = 33; +const int c_unitFlagAlwaysThreatens = 34; +const int c_unitFlagNoDeathEvent = 35; +const int c_unitFlagNoPortraitTalk = 36; +const int c_unitFlagTownCamera = 37; +const int c_unitFlagAIThreatGround = 38; +const int c_unitFlagAIThreatAir = 39; +const int c_unitFlagAILifetime = 40; +const int c_unitFlagAISiege = 41; +const int c_unitFlagAIDefense = 42; +const int c_unitFlagAICaster = 43; +const int c_unitFlagAISupport = 44; +const int c_unitFlagShowResources = 45; +const int c_unitFlagArmorDisabledWhileConstructing = 46; +const int c_unitFlagPawnable = 47; +const string c_unitFlagBounceName = "Bounce"; +const string c_unitFlagTurnableName = "Turnable"; +const string c_unitFlagMovableName = "Movable"; +const string c_unitFlagWorkerName = "Worker"; +const string c_unitFlagCreateVisibleName = "CreateVisible"; +const string c_unitFlagUnclickableName = "Unclickable"; +const string c_unitFlagUncommandableName = "Uncommandable"; +const string c_unitFlagUnhighlightableName = "Unhighlightable"; +const string c_unitFlagUntooltipableName = "Untooltipable"; +const string c_unitFlagUnselectableName = "Unselectable"; +const string c_unitFlagUntargetableName = "Untargetable"; +const string c_unitFlagUncursorableName = "Uncursorable"; +const string c_unitFlagHeroName = "Hero"; +const string c_unitFlagIndividualSubgroupsName = "IndividualSubgroups"; +const string c_unitFlagNoDrawName = "NoDraw"; +const string c_unitFlagPreventRevealName = "PreventReveal"; +const string c_unitFlagPreventDefeatName = "PreventDefeat"; +const string c_unitFlagPreventDestroyName = "PreventDestroy"; +const string c_unitFlagDefeatRevealName = "DefeatReveal"; +const string c_unitFlagUncloakableName = "Uncloakable"; +const string c_unitFlagMissileName = "Missile"; +const string c_unitFlagUndetectableName = "Undetectable"; +const string c_unitFlagUnradarableName = "Unradarable"; +const string c_unitFlagUseLineOfSightName = "UseLineOfSight"; +const string c_unitFlagPressForwardDisabledName = "PressForwardDisabled"; +const string c_unitFlagKillCreditName = "KillCredit"; +const string c_unitFlagTownAlertName = "TownAlert"; +const string c_unitFlagInvulnerableName = "Invulnerable"; +const string c_unitFlagDestructibleName = "Destructible"; +const string c_unitFlagCloakedName = "Cloaked"; +const string c_unitFlagBuriedName = "Buried"; +const string c_unitFlagNoScoreName = "NoScore"; +const string c_unitFlagIgnoreTerrainZInitName = "IgnoreTerrainZInit"; +const string c_unitFlagTurnBeforeMoveName = "TurnBeforeMove"; +const string c_unitFlagAlwaysThreatensName = "AlwaysThreatens"; +const string c_unitFlagNoDeathEventName = "NoDeathEvent"; +const string c_unitFlagNoPortraitTalkName = "NoPortraitTalk"; +const string c_unitFlagTownCameraName = "TownCamera"; +const string c_unitFlagAIThreatGroundName = "AIThreatGround"; +const string c_unitFlagAIThreatAirName = "AIThreatAir"; +const string c_unitFlagAILifetimeName = "AILifetime"; +const string c_unitFlagAISiegeName = "AISiege"; +const string c_unitFlagAIDefenseName = "AIDefense"; +const string c_unitFlagAICasterName = "AICaster"; +const string c_unitFlagAISupportName = "AISupport"; +const string c_unitFlagShowResourcesName = "ShowResources"; +const string c_unitFlagArmorDisabledWhileConstructingName = "ArmorDisabledWhileConstructing"; +const string c_unitFlagPawnableName = "Pawnable"; + +// EUnitAttribute +const int c_unitAttributeLight = 0; +const int c_unitAttributeArmored = 1; +const int c_unitAttributeBiological = 2; +const int c_unitAttributeMechanical = 3; +const int c_unitAttributeRobotic = 4; +const int c_unitAttributePsionic = 5; +const int c_unitAttributeMassive = 6; +const int c_unitAttributeStructure = 7; +const int c_unitAttributeHover = 8; +const int c_unitAttributeHeroic = 9; +const string c_unitAttributeLightName = "Light"; +const string c_unitAttributeArmoredName = "Armored"; +const string c_unitAttributeBiologicalName = "Biological"; +const string c_unitAttributeMechanicalName = "Mechanical"; +const string c_unitAttributeRoboticName = "Robotic"; +const string c_unitAttributePsionicName = "Psionic"; +const string c_unitAttributeMassiveName = "Massive"; +const string c_unitAttributeStructureName = "Structure"; +const string c_unitAttributeHoverName = "Hover"; +const string c_unitAttributeHeroicName = "Heroic"; + +// ECmdFlags +const int c_cmdAlternate = 0; +const int c_cmdQueued = 1; +const int c_cmdPreempt = 2; +const int c_cmdSmartClick = 3; +const int c_cmdSmartRally = 4; +const int c_cmdSubgroup = 5; +const int c_cmdSetAutoCast = 6; +const int c_cmdSetAutoCastOn = 7; +const string c_cmdAlternateName = "Alternate"; +const string c_cmdQueuedName = "Queued"; +const string c_cmdPreemptName = "Preempt"; +const string c_cmdSmartClickName = "SmartClick"; +const string c_cmdSmartRallyName = "SmartRally"; +const string c_cmdSubgroupName = "Subgroup"; +const string c_cmdSetAutoCastName = "SetAutoCast"; +const string c_cmdSetAutoCastOnName = "SetAutoCastOn"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Weapon.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Weapon.galaxy new file mode 100644 index 0000000..7d92342 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/GameData/Weapon.galaxy @@ -0,0 +1,17 @@ +//GENERATED CODE==================================================================================== +// +// Copyright Blizzard Entertainment 2003-2005 +// +// Weapon.galaxy generated from Weapon.xml using GalaxyHeader.xtc +// +// !!! WARNING !!! This is generated code. Changes made here will be overwritten. +// +//GENERATED CODE==================================================================================== + +// EClassIdCWeapon +const int c_classIdCWeapon = 0; +const int c_classIdCWeaponLegacy = 1; +const int c_classIdCWeaponStrafe = 2; +const string c_classIdCWeaponName = "CWeapon"; +const string c_classIdCWeaponLegacyName = "CWeaponLegacy"; +const string c_classIdCWeaponStrafeName = "CWeaponStrafe"; diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/NativeLib_beta.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/NativeLib_beta.galaxy new file mode 100644 index 0000000..3ad7dfe --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/NativeLib_beta.galaxy @@ -0,0 +1,3 @@ +include "TriggerLibs/natives" + +void libNtve_InitLib () {} diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/RequirementsAI.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/RequirementsAI.galaxy new file mode 100644 index 0000000..4c02635 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/RequirementsAI.galaxy @@ -0,0 +1,8 @@ +//================================================================================================== +// +// Placeholder AI script file +// +// Since natives.galaxy in Core includes AI files in Liberty, placeholder files are necessary +// such that Core-only mods can compile properly. +// +//================================================================================================== diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives.galaxy new file mode 100644 index 0000000..3457688 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives.galaxy @@ -0,0 +1,470 @@ +// +// At the very bottom of this file you will find a very special include +// + +void DebugString(string value); +void DebugUnit(unit value); +void DebugInt(int value); +void DebugFixed(fixed value); +void DebugPoint(point value); +void DebugDump(int value); + void AISetDifficulty(int player, int index, bool state); + bool AIGetDifficulty(int player, int index); + void AIStart(int player, bool isCampaign, int apm); + bool AIGivingUp(int player); + void AIGoodGame(int player); + bool AIIsCampaign(int player); + void AISetAPM(int player, int apm); + unit AIGrabUnit(int player, string aliasUnitType, int prio, point location); + int AIState(int player, int index); + void AISetSpecificState(int player, int index, int state); + void AISetAllStates(int player, int state); + void AISetFlag(int player, int index, bool state); + bool AIGetFlag(int player, int index); + void AITechFlag(int player, int index, int count, string what, int state); + void AIResetUserData(int player); + void AISetUserString(int player, int index, string data); + string AIGetUserString(int player, int index); + void AISetUserInt(int player, int index, int data); + int AIGetUserInt(int player, int index); + void AIAddStringInt(int player, string data, int change); + fixed AIGetTime(); + int AIGetTotalStartLocs(); + int AIGetGroundStartLocs(point loc); + int AIGetAirStartLocs(point loc); +int AIGetTotalTownLocs(); +int AIGetGroundTownLocs(point loc); +int AIGetAirTownLocs(point loc); +int AIRandomVal(int player, int which); +void AINewChooseSubState(int player, int which, int min, int max, int defaultSubState); +void AISetSubStateChance(int subState, int chance); +int AIChooseSubState(); +bool AIWantsMultipleTransport(int player); +void AISetWantsMultipleTransport(int player, bool enable); +int AIGetNumMobileTransports(int player); +point AIGetBestCreepSpot(int player, unit creator, fixed createRadius); +void AIAddDetectionDanger(int player, string unitType); +bool AIDefaultSuspectDetectionDanger(int player); +bool AIAnyWorkersFleeingNearby(int player, point loc, fixed radius); +int AIGetNumEnemies(int player); +int AIGetNumAllies(int player); +point AIPlacementNearbyFindTest(int player, point loc, fixed range, string unitType); +void AIAddToExtraScoutGroup(int player, unit u); +bool AIOfferNewScout(int player, unit u); +bool AIAnyAllyAttacking(int player); +point AIBestAllyAttackPoint(int player, wave w); +bool AIAnyAllyNeedsDefending(int player); +point AIBestAllyDefendPoint(int player, wave w); +void AIGlobalSuicide(int player); +wave AIUnitGetWave(unit u); +unitgroup AIWaveGetUnits(wave w); +unitgroup AIGetAllEscorts(unit u); +unitgroup AIGetAllEscortsGroup(unitgroup ug); +void AIRemoveUnitFromAnyWaves(unit u); +void AIRemoveGroupFromAnyWaves(unitgroup ug); +unitgroup AIGetUnitsInWavesWithTarget(int player, wavetarget target); +bool AIIsScriptControlled(unit u); +void AISetUnitScriptControlled(unit u, bool enable); +void AISetGroupScriptControlled(unitgroup ug, bool enable); +bool AIIsSuicideUnit(unit u); +void AISetUnitSuicide(unit u, bool enable); +void AISetGroupSuicide(unitgroup ug, bool enable); +bool AIIsNotUsableInWaves(unit u); +void AISetUnitNotUsableInWaves(unit u, bool enable); +void AISetGroupNotUsableInWaves(unitgroup ug, bool enable); +void AISetWantsToUpgrade(unit u); +void AIInitCampaignTowns(int player); +void AIInitCampaignHarvest(int player); +void AIDeclareTown(int player, int town, point center); +int AIGetMainTown(int player); +void AISetMainTown(int player, int maintown); +void AIUpdateMainTown(int player); +int AIGetTownState(int player, int town); +fixed AIGetTownEstablishedTime(int player, int town); +point AIGetTownLocation(int player, int town); +int AIGetClosestTown(int player, point location); +int AIGetNextUnusedTownSlot(int player); +int AIGetBuildingCountInTown(int player, int town, string aliasUnitType, int countMask); +bool AIIsTownHarvestRunning(int player, int town); +void AIHarvest(int player, int town); +void AIHarvestRate(int player, int rate); +void AIHarvestBonus(int player, fixed bonus); +void AISetGasPeonCountOverride(int player, int town, int desiredGasCount); +int AIGetCurPeonCount(int player, int town); +int AIGetMinPeonCount(int player, int town); +int AIGetMaxPeonCount(int player, int town); +int AIGetMineralAmountLeft(int player, int town); +int AIGetGasAmountLeft(int player, int town); +int AIGetMineralNumSpots(int player, int town); +int AIGetRawGasNumSpots(int player, int town); +point AIGetGatherLocation(int player, int town); +point AIGetGatherDefLocation(int player, int town); +int AIExpand(int player, point searchStart, string firstBuilding); +unitgroup AIGetTownThreats(int player, int town); +unit AIGetObstruction(int player); +bool AIHasNearbyOpenExpansion(int player); +void AIScout(int player); +void AISetNumScouts(int player, int num); +void AISetScoutTimes(int player, int starts, int obstructed, int resources, int other); +point AIGetNextScoutLoc(int player); +void AIClearCampaignScout(int player); +void AIBuild(int player, int priority, int town, string aliasUnitType, int count, int flags); +void AITrain(int player, int priority, int town, string aliasUnitType, int count); +void AIResearch(int player, int priority, int town, string aliasUpgradeType); +void AIMakeAlways(int player, int priority, int town, string aliasType, int count); +void AIMakeOnce(int player, int priority, int town, string aliasType, int count); +void AIClearBuildQueue(int player); +void AIClearTrainQueue(int player); +void AIClearResearchQueue(int player); +bool AIHasRes(int player, int minerals, int gas); + int AITechCount(int player, string aliasType, int countMask); +void AITechCountFixupSingle(int player, string a, string upgradeOne); +void AITechCountFixupEither(int player, string a, string upgradeOne, string upgradeTwo); +void AITechCountFixupInOrder(int player, string a, string upgradeOne, string upgradeTwo); +int AIKnownUnitCount(int player, int testPlayerId, string aliasUnitType); +void AIResetCounterUnits(int player); +void AICounterUnit(int player, string seeWhat, fixed factor, string makeWhat); +int AICounterUnits(int player, int testPlayerId, string makeWhat); +point AIGetRallyPoint(unit u); +void AISetPowerBuilding(int player, string building); +void AISetCreepBuilding(int player, string building, string noCreepBehaviour); +void AIClearStock(int player); +void AIEnableStock(int player); +void AISetStockEx(int player, int town, int count, string aliasType, int buildFlags, int stockFlags); +void AISetStock(int player, int count, string aliasType); +void AISetStockOpt(int player, int count, string aliasType); +void AISetStockUnitNext(int player, int count, string aliasUnitType, bool when); +bool AISetStockTown(int player, string aliasUnitTypeTH, string aliasUnitTypeGas); +bool AISetStockExpand(int player, string aliasUnitTypeTH, int count); +void AISetStockExtra(int player, int count, string aliasUnitType, int minerals); +void AISetStockFarms(int player, string aliasUnitType, bool onlyNeeded); +void AISetStockPeons(int player, int max, string aliasUnitType, bool onlyMinPeons, bool peonMode); +void AINewTechStock(int player); +void AITechStockAdd(string upgradeType); +void AISetStockTechNext(int player); +void AIDefaultEconomy(int player, string hall, string gas, string food, string peon, int cap, bool peonMode); +void AIDefaultExpansion(int player, string hall, int minerals, int gas, int expandFlags); +void AIClearLimitTech(int player); +void AILimitTech(int player, int totalMin, int totalGas, int buildingMin, int buildingGas, int upgradeMin, int upgradeGas); +void AIImportantTech(int player, string aliasType); +void AILimitStockLarva(int player, string aliasType); +bool AIHasStock(int player); +bool AIHasStockFromTown(int player, int town); +void AIRemoveStockFromTown(int player, int town); +int AIDefaultGetObjectType(int player, string aliasType); +string AIDefaultGetMaker(int player, string aliasType); +string AIDefaultGetFirstMissingReq(int player, string aliasType); +string AIDefaultGetFirstUnfinishedReq(int player, string aliasType); +int AIDefaultGetFullMakeTime(int player, string aliasType); +string AIGetBaseName(string aliasType); +string AIGetBuildAtName(string aliasType); +void AIReqCountAsBuiltObject(int player, string aliasType); +void AIReqAddSpecialMaker(string objType, string makerType, string abilName, int abilIndex); +void AISetNukeNukeCastTime(int player, fixed a); +void AISetNukeCloakCost(int player, fixed a); +void AISetNukeCloakRegenRate(int player, fixed a); +void AISetNukeGhost(int player, string a); +void AISetNukeNukeEffect(int player, string a); +void AISetNukeCloak(int player, string a); +void AISetNukeNukeAbilLink(int player, string a); +void AISetNukeCloakAbilLink(int player, string a); +void AISetNukeDamage(int player, fixed a, fixed a); +void AISetNukeRadiusClose(int player, fixed a, fixed a); +void AISetNukeRadiusMedium(int player, fixed a, fixed a); +void AISetNukeRadiusFar(int player, fixed a, fixed a); +void AIBaseThink(unit who, unitgroup candidates); +bool AIEvalTacticalData(unit u, string a); +int AICast(unit u, order a, marker a, bool a); +int AICastFlee(unit a, unit a, int a, marker a); +bool AINearbyUnits(int player, string a, point a, fixed a, int a); +unitgroup AIFindUnits(int player, string a, point a, fixed a, int a); +bool AISameCommand(unit a, unit a); +unit AILastAttacker(unit u); +int AILastAttack(unit u); +bool AIControlWantsToMove(unit u); +bool AIControlForceToMove(unit u); +bool AIControlWantsToUnburrow(unit u); +bool AIControlWantsToBurrow(unit u); +bool AIControlForceUnburrow(unit u); +bool AIUnitIsInCombat(unit u); +bool AIIsIgnoredByWave(unit u); +void AISetIgnoredByWave(unit u, bool enable); +point AIGetHomePosition(unit u); +point AIGetCloakedAttacker(int p); +void AIClearCloakedAttacker(int p, point pt); +bool AISawCloakedUnit(int p); +point AIRandomSpawnPoint(int player, region r, fixed minDistFromEnemy, fixed maxDistFromEnemy, fixed maxDistFromBuilding); +point AIBestTargetPoint(unitgroup group, int minHits, int damageBase, fixed minScore, fixed radius, point from, fixed range, int bonusAttri); +unit AIDefaultCombatPriority(unit target, unitgroup attackers, unitgroup enemies); +aifilter AIFilter(int player); +void AISetFilterAlliance(aifilter filter, int want); +void AISetFilterMarker(aifilter filter, int min, int max, marker m); +void AISetFilterSelf(aifilter filter, unit exclude); +void AISetFilterBits(aifilter filter, unitfilter uf); +void AISetFilterRange(aifilter filter, unit center, fixed radius); +void AISetFilterLife(aifilter filter, fixed min, fixed max); +void AISetFilterLifeLost(aifilter filter, fixed min, fixed max); +void AISetFilterLifePercent(aifilter filter, fixed min, fixed max); +void AISetFilterLifeSortReference(aifilter filter, fixed value, fixed distance); +void AISetFilterLifeMod(aifilter filter, int type, fixed mod); +void AISetFilterLifePerMarker(aifilter filter, fixed each, marker m); +void AISetFilterShields(aifilter filter, fixed min, fixed max); +void AISetFilterEnergy(aifilter filter, fixed min, fixed max); +void AISetFilterPlane(aifilter filter, int plane); +void AISetFilterCanAttackEnemy(aifilter filter, int enemyGroundCount, int enemyAirCount); +void AISetFilterCanAttackAlly(aifilter filter, bool groundAllies, bool airAllies); +void AISetFilterBehaviorCount(aifilter filter, int minBehavior, int maxBehavior, string behaviorType); +unitgroup AIGetFilterGroup(aifilter filter, unitgroup group); +unitgroup AIFilterGathering(unitgroup group, int inResource, fixed distance); +unitgroup AIFilterPathable(unitgroup group, point inStart); +unitgroup AIFilterCasters(unitgroup group); +bool AICloakEvaluate(unit u, fixed minEnergy, fixed maxLife, fixed range); +void AISetTacticalAttackTargetPoint(unit u, point t); +void AISetTacticalAttackTargetUnit(unit u, unit t); +order AIUnitGroupGetValidOrder(unitgroup inGroup, order inorder, unit caster, bool forwards); +bool AIIsFollowingUnit(unit aiunit, string unitType); +int AIGetPlayerGroup(unitgroup inGroup); +bool AINearbyPlaneTest(point p, int player, fixed range, int inPlane, int inAlliance); +fixed AIUnitGroupStrength(unitgroup inGroup); +fixed AIAllyEnemyRatio(int player, point p, unitfilter filter, fixed range, fixed minThreshold); +bool AICombatTargetProduction(int player, int action); +bool AICombatTargetDropOffs(int player, int action); +bool AICombatTargetFood(int player, int action); +bool AICombatTargetActiveProduction(int player, int action); +bool AICombatTargetWorkers(int player, int action); +bool AICombatTargetAllyThreats(int player, int action); +bool AICombatTargetSelfThreats(int player, int action); +bool AICombatTargetCurrent(int player, int action); +bool AICombatTargetAir(int player, int action); +bool AICombatTargetMovers(int player, int action); +bool AICombatTargetInjuries(int player, int action); +bool AICombatTargetInAttackRange(int player, int action); +bool AICombatTargetThreats(int player, int action); +bool AICombatTargetHealers(int player, int action); +bool AICombatTargetSiege(int player, int action); +bool AICombatTargetAttackers(int player, int action); +bool AICombatTargetSpecial(int player, int action); +bool AICombatAvoidTimedUnits(int player, int action); +bool AICombatAvoidNonThreats(int player, int action); +bool AICombatAvoidWeakUnits(int player, int action); +bool AICombatAvoidDisabledUnits(int player, int action); +void AITransportIgnore(int player, string unitType); +void AITransportSetPanic(int player, fixed value); +void AITransportSetReturn(int player, point center); +waveinfo AIWaveInfoCreate(); +waveinfo AIWaveInfo(wave w); +void AIWaveInfoAdd(waveinfo info, string unitType, int count); +int AIWaveInfoAttack(waveinfo info, int player, point from, wavetarget target, int time); +int AIWaveInfoSuicide(waveinfo info, int player, point from, wavetarget target, int time); +int AIWaveInfoScout(waveinfo info, int player, point from, int time); +string AIWaveToString(wave w); +text AIWaveToText(wave w); +wave AIWaveCreate(waveinfo info, int player, point from); +void AIWaveAddUnit(wave w, unit u); +void AIWaveAddUnitPriority(wave w, unit u, int prio); +void AIWaveRemoveUnit(wave w, unit u); +int AIWaveUnitCount(wave w); +int AIWaveDetectorCount(wave w); +void AIWaveSetType(wave w, int type, wavetarget target); +int AIWaveState(wave w); +void AIWaveDelete(wave w); +wavetarget AIWaveTargetUnit(unit u); +wavetarget AIWaveTargetUnitGroup(unitgroup g); +wavetarget AIWaveTargetUnitPoint(unit u); +wavetarget AIWaveTargetPoint(point p); +wavetarget AIWaveTargetPlayer(playergroup players); +wavetarget AIWaveTargetMelee(int player); +wavetarget AIWaveTargetMeleeHarass(int player); +wavetarget AIWaveTargetMeleeDrop(int player, point dropLoc, point goalLoc); +wavetarget AIWaveTargetMeleeDefend(int player); +wavetarget AIWaveTargetMerge(wave w); +wavetarget AIWaveTargetPatrol(int replaceType); +wavetarget AIWaveTargetEscort(unitgroup g, int replaceType); +wavetarget AIWaveTargetEscortNL(unitgroup g, int replaceType); +wavetarget AIWaveTargetGatherO(int player, int town); +wavetarget AIWaveTargetGatherD(int player, int town); +wavetarget AIWaveTargetRegion(region r, int replaceType); +point AIWaveTargetGatherOPoint(int player, int town); +point AIWaveTargetGatherDPoint(int player, int town); +unit AIWaveTargetGetUnit(wavetarget wt); +unitgroup AIWaveTargetGetUnitGroup(wavetarget wt); +wavetarget AIWaveHarassRetreat(int player, wave w, fixed range); +wavetarget AIWaveGetTarget(wave w); +bool AIWaveIsInCombat(wave w); +int AIWaveGetTimeInCombat(wave w); +int AIWaveGetTimeSinceCombat(wave w); +int AIWaveGetTimeSinceOrdered(wave w); +int AIWaveGetTimeSinceRetreat(wave w); +bool AIDefenseThreat(int type, int player, wave w); +int AIDefenseThreatEval(int type, int player); +int AIWaveEval(wave w); +int AIWaveEvalRatio(wave w, fixed range); +int AIUnitAreaEvalRatio(unit u, fixed range); +int AIEvalRatio(int player); +void AIEvalSetCustomIndex(int index); +int AIEvalAllAllied(int a); +int AIEvalLargestEnemy(int a); +int AILastWaveEvalStaticRatio(); +void AIWaveTargetAddWaypoint(wavetarget wt, point waypoint, bool useTransport, int index); +void AIWaveTargetClearWaypoints(wavetarget wt); +wave AIWaveGet(int player, int waveName); +void AIWaveSet(int player, int waveName, wave waveRef); +int AIWaveType(wave waveRef); +void AIWaveSetUserData(wave waveRef, int index, int data); +int AIWaveGetUserData(wave waveRef, int index); +void AIWaveMerge(int player, int waveFrom, int waveInto); +void AIWaveMergeMelee(int player); +wave WaveLastCreated(); +point AIGetBestTarget(int player, playergroup enemies, point gatherPoint, int flags); +bool AIFindDropAttackTarget(int player, point gatherPoint); +point AILastDropLocation(); +point AILastDropGoal(); +fixed AIGetNextDropTimeCheck(int player); +void AISetNextDropTimeCheck(int player, fixed time); +int AILastAttackRatio(wave w); +int AILastAttackStartEval(wave w); +void AIAttackWaveAddUnits(int difficulty, int count, string unitType); +int AIAttackWaveSend(int player, int time, bool wait); +void AIAttackWaveCancel(wave waveRef); +void AIAttackWaveSetGatherPoint(int player, point gather); +void AIAttackWaveUseUnit(int player, unit u); +void AIAttackWaveUseGroup(int player, unitgroup ug); +void AIAttackWaveAddEscortUnit(int player, unit u, unit escort, fixed offset, fixed angle); +void AIAttackWaveAddEscortType(int player, string unitType, unit escort, fixed offset, fixed angle); +void AIAttackWaveSetTargetUnit(int player, unit u); +void AIAttackWaveSetTargetUnitGroup(int player, unitgroup ug); +void AIAttackWaveSetTargetUnitPoint(int player, unit u); +void AIAttackWaveSetTargetPoint(int player, point p); +void AIAttackWaveSetTargetPlayer(int player, playergroup players); +void AIAttackWaveSetTargetMelee(int player); +void AIAttackWaveSetTargetMeleeHarass(int player); +void AIAttackWaveSetTargetMeleeDrop(int player, point dropLoc, point goalLoc); +void AIAttackWaveSetTargetMeleeDefend(int player); +void AIAttackWaveSetTargetMerge(int player, wave w); +void AIAttackWaveSetTargetPatrol(int player, int replaceType); +void AIAttackWaveSetTargetEscort(int player, unitgroup g, int replaceType); +void AIAttackWaveSetTargetEscortNL(int player, unitgroup g, int replaceType); +void AIAttackWaveSetTargetGatherO(int player, int town); +void AIAttackWaveSetTargetGatherD(int player, int town); +void AIAttackWaveSetTargetRegion(int player, region r, int replaceType); +void AIAttackWaveSetGatherEarlyNoReplace(int player); +void AIAttackWaveSetKeepAlive(int player); +void AIAttackWaveAddWaypoint(int player, point waypoint, bool useTransport); +void AIAttackWaveClearWaypoints(int player); +void AISetMinimumBullyCount(int count, string unitType, int player); +void AISetGeneralRebuildCount(int count, bool building, int player); +void AISetSpecificRebuildCount(int count, string unitType, int player); +void AISetBullyAttackWavePercent(int percent, int player); +void AINearestTownLimitWaveGather(int player, bool enable); +void AINearestTownBullyRebuild(int player, bool enable); +void AIToggleBulliesInRegion(int player, region reg, bool activate); +void AIResetBullyRebuildCountsInRegion(int player, region reg); +void AIClearAllBullies(int player); +void AIAddBully(int player, string unitType, point loc, int rebuildCount); +string AIGetBullyType(unit u); +point CameraGetTarget(int a); +string CatalogFieldValueGet(int a, string a, string a, int a); + fixed IntToFixed(int a); + string IntToString(int a); + int FixedToInt(fixed a); + int StringToInt(string a); + fixed StringToFixed(string a); +string StringWord(string a, int a); +int CliffLevel(point a); + void TriggerAddEventMapInit(trigger t); + void TriggerAddEventChatMessage(trigger t, int player, string message, bool strict); + string EventChatMessage(bool strict); + fixed MaxF(fixed a, fixed a); +int AbsI(int a); + int RandomInt(int a, int a); +marker MarkerCastingUnit(string a, unit a); +void MarkerSetMatchFlag(marker a, int a, bool a); +void MarkerSetMismatchFlag(marker a, int a, bool a); + void MeleeInitResources(); + void MeleeInitUnits(); + void MeleeInitAI(); + void MeleeInitOptions(); +ability AbilityCommand(string a, int a); +string AbilityCommandGetAbility(ability a); +order Order(ability a); +ability OrderGetAbilityCommand(order a); +void OrderSetPlayer(order a, int a); +int OrderGetPlayer(order a); +int OrderGetTargetType(order a); +bool OrderSetTargetPlacement(order a, point a, unit a, string a); +void OrderSetTargetPoint(order a, point a); +point OrderGetTargetPoint(order a); +point OrderGetTargetPosition(order a); +void OrderSetTargetUnit(order a, unit a); +unit OrderGetTargetUnit(order a); +void OrderSetTargetPassenger(order a, unit a); +int PlayerGetPropertyInt(int player, int a); + string PlayerRace(int player); +int PlayerDifficulty(int player); +point PlayerStartLocation(int player); + int PlayerGetColorIndex(int player, bool unknown); + text PlayerColorName(int colorIndex); + bool PlayerGetAlliance(int a, int a, int a); + int DifficultyAPM(int a); + playergroup PlayerGroupAll(); + point Point(fixed a, fixed a); +point PointWithOffset(point a, fixed a, fixed a); +point PointWithOffsetPolar(point a, fixed a, fixed a); +bool PointsInRange(point a, point a, fixed a); + fixed AngleBetweenPoints(point a, point a); + fixed DistanceBetweenPoints(point a, point a); +region RegionCircle(point a, fixed a); +point RegionRandomPoint(region a); + bool StringEqual(string a, string a, bool a); + text StringToText(string a); +int TechTreeBehaviorCount(int a, string a, int a); +int TechTreeUnitCount(int a, string a, int a); + trigger TriggerCreate(string s); + void TriggerDebugOutput(int a, text a, bool a); +bool UnitIsAlive(unit a); +string UnitGetType(unit a); +int UnitGetOwner(unit a); +point UnitGetPosition(unit a); +fixed UnitGetFacing(unit a); +bool UnitTestState(unit a, int a); +int UnitGetPropertyInt(unit a, int a, bool a); +fixed UnitGetPropertyFixed(unit a, int a, bool a); +unitgroup UnitCargoGroup(unit a); +int UnitCargoValue(unit a, int a); +bool UnitTestPlane(unit a, int a); +int UnitBehaviorCount(unit a, string a); +int UnitMarkerCount(unit a, marker a); +order UnitOrder(unit a, int a); +int UnitOrderCount(unit a); +bool UnitOrderHasAbil(unit a, string a); +bool UnitOrderIsValid(unit a, order a); +bool UnitIsHarvesting(unit a, int a); +int UnitRallyPointTargetCount(unit a, int a); +point UnitRallyPointTargetPoint(unit a, int a, int a); +bool UnitWeaponsPlaneTest(unit a, int a); +bool UnitTypeTestFlag(string a, int a); +bool UnitTypeTestAttribute(string a, int a); +unitfilter UnitFilter(int a, int a, int a, int a); +unitfilter UnitFilterStr(string a); +void UnitFilterSetState(unitfilter a, int a, int a); +unitgroup UnitGroupCopy(unitgroup a); +unitgroup UnitGroupAlliance(int a, int a, region a, unitfilter a, int a); +unitgroup UnitGroup(string a, int a, region a, unitfilter a, int a); +unitgroup UnitGroupFilter(string a, int a, unitgroup a, unitfilter a, int a); +unitgroup UnitGroupFilterAlliance(unitgroup a, int a, int a, int a); +unitgroup UnitGroupFilterPlane(unitgroup a, int a, int a); +unitgroup UnitGroupFilterRegion(unitgroup a, region a, int a); +unitgroup UnitGroupFilterThreat(unitgroup a, unit a, string a, int a); +void UnitGroupAdd(unitgroup a, unit a); +int UnitGroupCount(unitgroup a, int a); +unit UnitGroupUnit(unitgroup a, int a); +bool UnitGroupTestPlane(unitgroup a, int a); +unit UnitGroupNearestUnit(unitgroup a, point a); + void UIDisplayMessage(playergroup a, int a, text a); +void Wait(fixed a, int a); + + +// +// Very importat include! :-) +// +include "TriggerLibs/natives_beta" \ No newline at end of file diff --git a/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives_beta.galaxy b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives_beta.galaxy new file mode 100644 index 0000000..ac8d717 --- /dev/null +++ b/galaxyvalidator/lapin/includes/Core.SC2Mod/TriggerLibs/natives_beta.galaxy @@ -0,0 +1,69 @@ +include "TriggerLibs/GameData/Abil" +include "TriggerLibs/GameData/Effect" +include "TriggerLibs/GameData/Game" +include "TriggerLibs/GameData/GameData" +include "TriggerLibs/GameData/Unit" +include "TriggerLibs/GameData/Weapon" + +const int c_playerAny = -1; +const int c_maxPlayers = 32; +const int c_noMaxCount = 0; + +const int c_playerPropMinerals = 0; +const int c_playerPropVespene = 1; +const int c_playerPropSuppliesUsed = 4; +const int c_playerPropSuppliesMade = 5; + +const int c_playerGroupAlly = 0; +const int c_playerGroupEnemy = 1; + +const int c_techCountQueuedOnly = 0; +const int c_techCountQueuedOrBetter = 1; +const int c_techCountInProgressOnly = 2; +const int c_techCountInProgressOrBetter = 3; +const int c_techCountCompleteOnly = 4; +const int c_techCountIncompleteOnly = 5; + +const int c_unitAllianceAny = 0; +const int c_unitAllianceAlly = 1; +const int c_unitAllianceEnemy = 2; + +const int c_unitPropLife = 0; +const int c_unitPropLifePercent = 1; +const int c_unitPropLifeMax = 2; +const int c_unitPropEnergy = 4; +const int c_unitPropEnergyPercent = 5; +const int c_unitPropEnergyMax = 6; +const int c_unitPropShields = 8; +const int c_unitPropShieldsPercent = 9; +const int c_unitPropShieldsMax = 10; +const int c_unitPropVitality = 15; +const int c_unitPropVitalityPercent = 16; +const int c_unitPropVitalityMax = 17; + +const bool c_unitPropCurrent = true; +const bool c_unitPropNormal = false; + +const int c_unitStateInsideTransport = 14; + +const int c_unitCountAll = 0; +const int c_unitCountAlive = 1; +const int c_unitCountDead = 2; + +const int c_unitCostMinerals = 0; +const int c_unitCostVespene = 1; +const int c_unitCostSumMineralsVespene = 4; + +const int c_unitCargoSpaceUsed = 2; +const int c_unitCargoSpaceFree = 3; + +const int c_unitFilterAllowed = 0; +const int c_unitFilterRequired = 1; +const int c_unitFilterExcluded = 2; + +const int c_messageAreaChat = 1; +const int c_messageAreaSubtitle = 4; + +include "TriggerLibs/AI" +include "TriggerLibs/MeleeAI" +include "TriggerLibs/TacticalAI" diff --git a/galaxyvalidator/settings.py b/galaxyvalidator/settings.py new file mode 100644 index 0000000..f37046f --- /dev/null +++ b/galaxyvalidator/settings.py @@ -0,0 +1,124 @@ +import os.path + +DEBUG = False +TEMPLATE_DEBUG = DEBUG +PROFILING = DEBUG + +INTERNAL_IPS = ('127.0.0.1',) + +ADMINS = ( + ('David Cramer', 'dcramer@localhost'), + ('David Cramer', 'dcramer@gmail.com'), +) + +EMAIL_FROM_ADDRESS = 'noreply@nibbits.com' + +MANAGERS = ADMINS + +DATABASE_ENGINE = 'mysql' +DATABASE_NAME = 'nibbits' +DATABASE_USER = 'nibbits' +DATABASE_PASSWORD = '' +DATABASE_HOST = 'localhost' +DATABASE_PORT = '' +DATABASE_OPTIONS = { + "init_command": "SET storage_engine=INNODB;", +} + +BASE_URL = '' +PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) + +LAPIN_INCLUDE_PATH = os.path.join(PROJECT_ROOT, 'lapin', 'includes', 'Core.SC2Mod') +LAPIN_BINARY_PATH = os.path.join(PROJECT_ROOT, 'lapin', 'bin', 'lapin') + +JINJA2_EXTENSIONS = ( + 'jinja2.ext.do', +) +# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE +TIME_ZONE = 'America/Chicago' + +# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes +# http://blogs.law.harvard.edu/tech/stories/storyReader$15 +LANGUAGE_CODE = 'en-us' + +SITE_ID = 1 + +USE_I18N = True + +MEDIA_URL = '%s/media/' % (BASE_URL,) + +MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media') + +ADMIN_MEDIA_PREFIX = '%s/admin/media/' % (BASE_URL,) + +# Make this unique, and don't share it with anybody. +SECRET_KEY = '-!^qh-_7u)_w3aoem&!10a^5r-0*fb6_ic&$wfrebm74os$)9*' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.load_template_source', + 'django.template.loaders.app_directories.load_template_source', +) + +AUTHENTICATION_BACKENDS = ( + 'nibbits.accounts.backends.EmailOrUsernameModelBackend', + 'django.contrib.auth.backends.ModelBackend', +) + +MIDDLEWARE_CLASSES = ( + # 'django.middleware.gzip.GZipMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django_notices.middleware.NoticeMiddleware', + # 'django.middleware.doc.XViewMiddleware', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.core.context_processors.auth', + #'nibbits.context_processors.default', +) + +ROOT_URLCONF = 'galaxyvalidator.urls' + +TEMPLATE_DIRS = ( + os.path.join(PROJECT_ROOT, 'templates'), +) + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.sitemaps', + 'galaxyvalidator.validator', + 'coffin', +) + +CACHE_BACKEND = 'memcached://127.0.0.1:11211/' + +DEFAULT_CHARSET = 'UTF-8' + +EXTRA_INSTALLED_APPS = () +EXTRA_MIDDLEWARE_CLASSES = () + +SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' +SESSION_COOKIE_NAME = 'galaxyvalidator' + +try: + from local_settings import * +except ImportError: + pass + +LOGIN_URL = BASE_URL + '/account/login/' + +SKIP_SOUTH_TESTS = True +SOUTH_TESTS_MIGRATE = False + +import logging +logging.basicConfig( + level=DEBUG and logging.DEBUG or logging.INFO, + #level=logging.DEBUG, + format='%(asctime)s %(levelname)-8s %(message)s', +) \ No newline at end of file diff --git a/galaxyvalidator/templates/validator/index.html b/galaxyvalidator/templates/validator/index.html new file mode 100644 index 0000000..e69de29 diff --git a/galaxyvalidator/urls.py b/galaxyvalidator/urls.py new file mode 100644 index 0000000..570e6a9 --- /dev/null +++ b/galaxyvalidator/urls.py @@ -0,0 +1,5 @@ +from coffin.conf.urls.defaults import * + +urlpatterns = patterns('', + url(r'^', include('galaxyvalidator.validator')), +) diff --git a/galaxyvalidator/validator/__init__.py b/galaxyvalidator/validator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/galaxyvalidator/validator/fields.py b/galaxyvalidator/validator/fields.py new file mode 100644 index 0000000..db63f25 --- /dev/null +++ b/galaxyvalidator/validator/fields.py @@ -0,0 +1,62 @@ +import uuid +from django.db import models + +class UUIDField(models.Field): + """ + A field which stores a UUID value in hex format. This may also have + the Boolean attribute 'auto' which will set the value on initial save to a + new UUID value (calculated using the UUID1 method). Note that while all + UUIDs are expected to be unique we enforce this with a DB constraint. + """ + # __metaclass__ = models.SubfieldBase + + def __init__(self, version=4, node=None, clock_seq=None, namespace=None, name=None, auto=False, *args, **kwargs): + assert version in (1, 3, 4, 5), "UUID version %s is not supported." % (version,) + self.auto = auto + self.version = version + # We store UUIDs in hex format, which is fixed at 32 characters. + kwargs['max_length'] = 32 + if auto: + # Do not let the user edit UUIDs if they are auto-assigned. + kwargs['editable'] = False + kwargs['blank'] = True + kwargs['unique'] = True + if version == 1: + self.node, self.clock_seq = node, clock_seq + elif version in (3, 5): + self.namespace, self.name = namespace, name + super(UUIDField, self).__init__(*args, **kwargs) + + def _create_uuid(self): + if self.version == 1: + args = (self.node, self.clock_seq) + elif self.version in (3, 5): + args = (self.namespace, self.name) + else: + args = () + return getattr(uuid, 'uuid%s' % (self.version,))(*args) + + def db_type(self): + return 'char(%s)' % (self.max_length,) + + def pre_save(self, model_instance, add): + """ see CharField.pre_save + This is used to ensure that we auto-set values if required. + """ + value = getattr(model_instance, self.attname, None) + if self.auto and add and not value: + # Assign a new value for this attribute if required. + value = self._create_uuid().hex + setattr(model_instance, self.attname, value) + return value + + def south_field_triple(self): + "Returns a suitable description of this field for South." + from south.modelsinspector import introspector + field_class = "nibbits.core.fields.UUIDField" + args, kwargs = introspector(self) + for kw in ('auto', 'version', 'node', 'clock_seq', 'namespace', 'name'): + val = getattr(self, kw, None) + if val: + kwargs[kw] = repr(val) + return (field_class, args, kwargs) \ No newline at end of file diff --git a/galaxyvalidator/validator/forms.py b/galaxyvalidator/validator/forms.py new file mode 100644 index 0000000..d342e19 --- /dev/null +++ b/galaxyvalidator/validator/forms.py @@ -0,0 +1,7 @@ +from django import forms + +class ValidateTextForm(forms.Form): + text = forms.CharField(widget=forms.Textarea(rows=50, cols=50)) + +class ValidateFileForm(forms.Form): + file = forms.FileField() \ No newline at end of file diff --git a/galaxyvalidator/validator/models.py b/galaxyvalidator/validator/models.py new file mode 100644 index 0000000..2e06749 --- /dev/null +++ b/galaxyvalidator/validator/models.py @@ -0,0 +1,21 @@ +from django.db import models +from django.conf import settings + +from validator.fields import * + +import datetime +import subprocess + +class Result(models.Model): + id = UUIDField(primary_key=True, auto=True) + input = models.TextField() + output = models.TextField(blank=True) + date_added = models.DateTimeField(default=datetime.datetime.now) + + def process(self): + args = [settings.LAPIN_BINARY_PATH, '-I', settings.LAPIN_INCLUDE_PATH, '-'] + p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True) + results = p.communicate(self.input)[0] + self.output = results + print results + \ No newline at end of file diff --git a/galaxyvalidator/validator/test.galaxy b/galaxyvalidator/validator/test.galaxy new file mode 100644 index 0000000..4dfbae2 --- /dev/null +++ b/galaxyvalidator/validator/test.galaxy @@ -0,0 +1,141 @@ +// ============ +// =Functions = +// ============ + +bool hasShown = false; +bool firstWave = true; +bool secondWave = true; +//int randomCount = 0; + + +int UnitCount(int player, string unitName) +{ + return AITechCount(player,unitName,c_techCountCompleteOnly); +} + +void DoAttack(int player) +{ + AIWaveMerge(player, c_waveMain, c_waveAttack); + AISetAttackState(player, e_attackState_Attack); +} + + +//-------------------------------------------------------------------------------------------------- +// ZergOpenGnd0 +//-------------------------------------------------------------------------------------------------- +void ZergOpenGnd0 (int player) +{ + //randomCount += 1; + //DebugAI(IntToStr(randomCount)); + unitgroup MyUnits; + unit theUnit; + order theOrd; + int roachCount; + int theUnitHealth; + int j; + j = 0; + if (hasShown == false) + { + DebugAI("Welcome To ReeAI Version 0.2!"); + DebugAI("I hope you enjoy playing!"); + DebugAI(" - Reelix"); + hasShown = true; + } + AISetAPM (player, 2200); // Insane AI - Thanks Doix + AIClearStock(player); + + AISetStock( player, 1, c_ZB_Hatchery_Alias ); + AISetStock( player, 2, "Drone" ); + AISetStock( player, 1, "Overlord" ); + AISetStock( player, 10, "Drone" ); + AISetStock( player, 2, "Overlord" ); + AISetStock( player, 13, "Drone" ); + AISetStock( player, 1, "SpawningPool" ); + AISetStock( player, 1, "Extractor" ); + AISetStock( player, 6, "Zergling" ); + AISetStock( player, 1, "Queen" ); + AISetStock( player, 3, "Overlord" ); + + // And so it begins + + AISetStock( player, 1, "RoachWarren" ); + AISetStock( player, 1, "Lair" ); + AISetStock( player, 1, "Burrow"); + AISetStock( player, 8, "Zergling" ); + AISetStock( player, 1, "Roach" ); + AISetStock( player, 5, "Roach" ); + if (firstWave) + { + if (UnitCount(player, "Roach") == 5) + { + DebugAI("Sending First Wave!"); + firstWave = false; + AISetStock( player, 0, "Zergling" ); // Stop building them + DoAttack ( player ); + MyUnits = AIFindUnits(player, "Roach", AIWaveTargetGatherOPoint(player, 1), 500, c_noMaxCount) ; + AIAttackWaveUseGroup (player, MyUnits); + } + } + AISetStock( player, 1, "EvolutionChamber" ); + AISetStock( player, 12, "Drone" ); + AISetStock( player, 2, "Extractor" ); + AISetStock( player, 1, "ZergMissileWeaponsLevel1" ); + AISetStock( player, 7, "Roach" ); + if (secondWave) + { + if (UnitCount(player, "Roach") == 7) + { + DebugAI("Sending Second Wave!"); + secondWave = false; + DoAttack ( player ); + MyUnits = AIFindUnits(player, "Roach", AIWaveTargetGatherOPoint(player, 1), 500, c_noMaxCount) ; + AIAttackWaveUseGroup (player, MyUnits); + } + } + AISetStock( player, 4, "Overlord" ); + AISetStock( player, 2, "EvolutionChamber" ); + AISetStock( player, 9, "Roach" ); + AISetStock( player, 1, "ZergMissileWeaponsLevel2" ); + AISetStock( player, 1, "ZergGroundArmorsLevel1" ); + AISetStock( player, 1, "InfestationPit"); + AISetStock( player, 14, "Roach" ); + AISetStock( player, 1, "Hive"); + AISetStock( player, 1, "OrganicCarapace"); + AISetStock( player, 16, "Roach" ); + if (UnitCount(player, "Roach") == 16) + { + DebugAI("Sending Final Wave!"); + DoAttack ( player ); + MyUnits = AIFindUnits(player, "Roach", AIWaveTargetGatherOPoint(player, 1), 500, c_noMaxCount) ; + AIAttackWaveUseGroup (player, MyUnits); + } + AISetStock( player, 1, "ZergMissileWeaponsLevel3"); + AISetStock( player, 1, "ZergGroundArmorsLevel2"); + AISetStock( player, 1, "ZergGroundArmorsLevel3"); + AISetStock( player, 20, "Overlord" ); + AIEnableStock(player); + + // =========================== + // = = + // = Uber Roach Micro Code! = + // = = + // =========================== + roachCount = UnitCount(player, "Roach"); + MyUnits = AIFindUnits(player, "Roach", AIWaveTargetGatherOPoint(player, 1), 500, c_noMaxCount) ; + while (j < roachCount) + { + theUnit = UnitGroupUnit(MyUnits,j + 1); + theUnitHealth = UnitGetPropertyInt(theUnit, c_unitPropVitalityPercent, c_unitPropCurrent); + theOrd = AICreateOrder(player, c_AB_BurrowRoachDown, 0); + if (theUnitHealth < 80) + { + theOrd = AICreateOrder(player, c_AB_BurrowRoachDown, 0); + AICast(theUnit, theOrd, c_noMarker, c_castHold); + } + if (AIControlWantsToUnburrow(theUnit)) + { + DebugAI("I want to burrow"); + } + j += 1; + } +} \ No newline at end of file diff --git a/galaxyvalidator/validator/tests.py b/galaxyvalidator/validator/tests.py new file mode 100644 index 0000000..301d173 --- /dev/null +++ b/galaxyvalidator/validator/tests.py @@ -0,0 +1,9 @@ +import unittest +import os +from models import Result + +class ValidatorTestCase(unittest.TestCase): + def testParser(self): + path = os.path.join(os.path.dirname(__file__), 'test.galaxy') + result = Result(input=open(path, 'r').read()) + print result.process() \ No newline at end of file diff --git a/galaxyvalidator/validator/urls.py b/galaxyvalidator/validator/urls.py new file mode 100644 index 0000000..a0990e2 --- /dev/null +++ b/galaxyvalidator/validator/urls.py @@ -0,0 +1,7 @@ +from coffin.conf.urls.defaults import * + +import views + +urlpatterns = patterns('', + url(r'^$', views.index, name='validator'), +) diff --git a/galaxyvalidator/validator/views.py b/galaxyvalidator/validator/views.py new file mode 100644 index 0000000..d6e3b4f --- /dev/null +++ b/galaxyvalidator/validator/views.py @@ -0,0 +1,40 @@ +from coffin import shortcuts +from django.template import RequestContext +from django.http import HttpResponse + +def render_to_string(template, context, request=None): + if request: + context_instance = RequestContext(request) + else: + context_instance = None + return shortcuts.render_to_string(template, context, context_instance) + +def render_to_response(template, context={}, request=None, mimetype="text/html"): + response = render_to_string(template, context, request) + return HttpResponse(response, mimetype=mimetype) + +from forms import * + +def results(request, result_id=None): + if result_id: + result = Result.objects.get(pk=result_id) + else: + action = request.POST.get('action') + if action == 'text': + # process text + form = ValidateTextForm(request.POST) + result = Result(input=form.cleaned_data['text']) + result.output = result.process() + result.save() + # elif action == 'upload': + # form = ValidateFileForm(request.POST, request.FILES) + # # process uploaded file + # # form.cleaned_data['file'].file + return render_to_response('validator/results.html', locals(), request) + +def index(request): + forms = { + 'text': ValidateTextForm(), + } + + return render_to_response('validator/index.html', locals(), request) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..31873b2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +Django==1.1.1 +Coffin==0.3 +Jinja2==dev diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..3c19785 --- /dev/null +++ b/setup.py @@ -0,0 +1,18 @@ +import os +from setuptools import setup, find_packages + +setup(name='galaxyvalidator', + version='.'.join(map(str, __import__('galaxyvalidator').__version__)), + description='Source code for GalaxyValidator.com', + author='David Cramer', + author_email='dcramer@gmail.com', + url='http://github.com/dcramer/galaxyvalidator', + packages=find_packages(), + classifiers=[ + "Framework :: Django", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Operating System :: OS Independent", + "Topic :: Software Development" + ], +)