This page lists the history of changes across stable Phobos releases and also all the stuff that requires modders to change something in their mods to accommodate.
New Phobos user? Read the "Changes to vanilla behavior" subsections in every version below to know what you might need to adjust when installing Phobos
This serves as a changelog for when you just need to drop the new version in without reading into every version you're skipping, so you can simply read up on this log of breaking changes and apply whatever you might need to apply.
You can use the migration utility (can be found on [Phobos supplementaries repo](https://github.com/Phobos-developers/PhobosSupplementaries)) to apply most of the changes automatically using a corresponding sed script file.
Cumulative=trueAttachEffect tint effects now stack. This behaviour can be disabled by settingTint.Cumulative=falseon the AttachEffect type.
- Vehicles paradropped by AI players now default to
Huntmission instead ofGuard, matching what infantry do. This can be customized by settingAIParadropMissionon the VehicleType, defaults to[General] -> AIParadropMission. IsSimpleDeployerunits now obey deploying facing constraint even without deploying animation ifDeployDiris explicitly set on the unit.Vertical=trueprojectiles now default to completely downwards initial trajectory/facing regardless of if their projectile image hasVoxel=trueor not. This behavior can be reverted by settingVerticalInitialFacing=falseon projectile inrulesmd.ini.Vertical=trueprojectiles no longer move horizontally if fired by aircraft by default. To re-enable this behaviour setVertical.AircraftFix=falseon the projectile.- Weapons with
Airstrike=trueon Warhead will now check target eligibility for airstrikes regardless of weapon slot. UseAirstrikeTargets=allonPrimaryairstrike weapon Warhead to restore previous behaviour. - The default direction for aircraft landing on an airfield will use the direction specified by
[AudioVisual] -> PoseDir=instead of the building's direction, which can be reverted by settingAircraftDockingDir.DefaultToPoseDir=false.
- When the value of the
ProjectileRange(Ares feature) field on a weapon is greater than 0, weapon range modifiers will be applied. This behavior can be disabled by explicitly settingProjectileRange.ApplyModifiers=falseon that weapon; ifProjectileRange.ApplyModifiersis not explicitly set, it will fall back to the global default[CombatDamage] -> ProjectileRange.ApplyModifiers. Splits.TargetCellRange< 0 now applies special behaviour where the projectile does not consider nearby cells as additional targets if there are not enough techno targets to matchClustercount at all.- Combat light customizations introduced a bug that removed vanilla behaviour of ignoring detail level / framerate checks for colored combat light. This bug has been fixed but the previous behaviour can be restored by setting
CombatLightDetailLevel.CheckColoredon Warhead or globally under[AudioVisual]. [TechnoType] -> WarpAway=has now been changed to set the animation when units are erased to maintain semantic consistency with[General] -> WarpAway=. The animation that was originally controlled by[TechnoType] -> WarpAway=, which played instead of[General] -> WarpOut=when a Techno is chronowarped by chronosphere, now needs to be specified using[TechnoType] -> Chronoshift.WarpOut=, which defaults to the value of[TechnoType] -> WarpOut=.UseCenterCoordsIfAttachedhas been replaced by enumeration keyAttachedAnimPosition. SetAttachedAnimPosition=centerto replicate effects ofUseCenterCoordsIfAttached=true.- Units'
LaserTrailswill no longer lag behind by one frame, so it needs to be repositioned if the position was corrected to account for the bug. DeployingAnim.AllowAnyDirectionhas been superceded byDeployDir. Use value of -1 to re-enable the no facing restriction.- The following tags were renamed for consistency:
[AttachEffectType] -> AffectTargets->[AttachEffectType] -> AffectsTarget[AttachEffectType] -> ReflectDamage.AffectsHouses->[AttachEffectType] -> ReflectDamage.AffectsHouse[AttachEffectType/TechnoType] -> RevengeWeapon.AffectsHouses->[AttachEffectType/TechnoType] -> RevengeWeapon.AffectsHouse[TechnoType] -> AutoFire->[TechnoType] -> AutoTargetOwnPosition[TechnoType] -> AutoFire.TargetSelf->[TechnoType] -> AutoTargetOwnPosition.Self[WarheadType] -> DetonateOnAllMapObjects.AffectHouses->[WarheadType] -> DetonateOnAllMapObjects.AffectsHouse[WarheadType] -> DetonateOnAllMapObjects.AffectTargets->[WarheadType] -> DetonateOnAllMapObjects.AffectsTarget[WarheadType] -> Crit.AffectBelowPercent->[WarheadType] -> Crit.AffectsBelowPercent.[WarheadType] -> Crit.Affects->[WarheadType] -> Crit.AffectsTarget[WarheadType] -> Crit.AffectsHouses->[WarheadType] -> Crit.AffectsHouse[WarheadType] -> KillWeapon.Affects->[WarheadType] -> KillWeapon.AffectsTarget[WarheadType] -> KillWeapon.AffectsHouses->[WarheadType] -> KillWeapon.AffectsHouse[WarheadType] -> KillWeapon.OnFirer.Affects->[WarheadType] -> KillWeapon.OnFirer.AffectsTarget[WarheadType] -> KillWeapon.OnFirer.AffectsHouses->[WarheadType] -> KillWeapon.OnFirer.AffectsHouse[WarheadType/SuperWeaponType] -> Convert(N).AffectedHouses->[WarheadType/SuperWeaponType] -> Convert(N).AffectsHouse[SuperWeaponType] -> LimboKill.Affected->[SuperWeaponType] -> LimboKill.AffectsHouse
- If it is detected that you are using the old INI flags, a warning will be outputted to `debug.log`.
- The old INI flags will still take effect, but if there are corresponding new version flags at the same time, the new version will take precedence.
- In v0.4, the direction for aircraft landing in the field would treat
[AudioVisual] -> PoseDir=as 256-directional instead of 8-directional; now it is controlled by[AudioVisual] -> PoseDir.Fieldand defaults to 32 times the value of[AudioVisual] -> PoseDir=to avoid breaking original behavior. - In v0.4, the landing direction of aircraft was clamped to
[0, 255]. This has now been improved to allow correct calculation of values exceeding 255, just like the originalPoseDir. Correspondingly, designs that previously relied on this clamping need to be manually adjusted to accommodate. - The extension system has been reworked to follow the game's own class model. Savegames made with earlier Phobos builds are incompatible with this version.
- Phobos now requires SyringeEx (v0.1.0.2 or newer) to run - under older Syringe versions the game will show an error and exit on startup. Replace
Syringe.exein your game folder with the one bundled with the Phobos package (also available separately on the SyringeEx releases page). - Some keys relating to
InterceptorandPassengerDeletiondid not have correctly set default values. The ones where fixing this issue changes behaviour are (old wrong default -> new fixed default):Interceptor.CanTargetHouses:none->enemiesPassengerDeletion.Rate.SizeMultiply:false->truePassengerDeletion.CostMultiplier:0.0->1.0PassengerDeletion.AllowedHouses:none->allPassengerDeletion.SoylentMultiplier:0.0->1.0PassengerDeletion.SoylentAllowedHouses:none->enemiesPassengerDeletion.DisplaySoylentOffset:none->all
- Due to the format issue with `select.shp` in vanilla Yuri's Revenge that prevents the [Select box logic](User-Interface.md#select-box) from rendering correctly, `select.shp` no longer serves as the default value for `[SelectBoxType] -> Shape=`, and you need to manually specify a value for this flag.
- The following tags were renamed:
- `[WarheadType] -> Crit.AffectAbovePercent` -> `[WarheadType] -> Crit.AffectsAbovePercent`.
- `AttackMove.StopWhenTargetAcquired` and `AttackMove.PursuitTarget` have been replaced by new designs; please use `ApproachTarget.StopWhenInRange` and `ApproachTarget.PursuitTarget` instead. The old key is still read as a compatibility alias.
PowerUpNAnimis now used instead of the upgrade building's image file for upgrade animation if set. Note that displaying a damaged version will still require settingPowerUpNDamagedAnimexplicitly in all cases, as the fallback to upgrade building image does not extend to it, nor would it be safe to add.PowersUpToLevel=-1upgrades still do not work correctly withPowerUpNAnimand such buildings should forgo using explicit upgrade animations.- Elite technos no longer scatter by default, behaviour can be restored by including
SCATTERin theirEliteAbilities. [CrateRules] -> FreeMCVnow controls whether or not player is forced to receive unit from[General] -> BaseUnitfrom goodie crate if they own no buildings or any existing[General] -> BaseUnitvehicles and own more than[CrateRules] -> FreeMCV.CreditsThreshold(defaults to 1500) credits.- The obsolete
[General] -> WarpInhas been enabled for the default anim type when technos are warping in. If you want to restore the vanilla behavior, use the same anim type as[General] -> WarpOut. - Vehicles with
Crusher=true+OmniCrusher=true/MovementZone=CrusherAllwere hardcoded to tilt when crushing vehicles / walls respectively. This now obeysTiltsWhenCrushesbut can be customized individually for these two scenarios usingTiltsWhenCrushes.VehiclesandTiltsWhenCrushes.Overlays, which both default toTiltsWhenCrushes.
- Phobos-introduced Warhead effects like shield modifiers, critical hits, disguise & mind control removal now require Warhead
Versesto affect target to apply unlessEffectsRequireVersesis set to false. Shield armor type is used if target has an active shield that cannot be penetrated by the Warhead. Trajectory=Straightprojectiles can now snap on targets within 0.5 cells from their detonation point, this distance can be customized viaTrajectory.Straight.TargetSnapDistance.LaunchSW.RealLaunch=falsenow checks if firing house has enough credits to satisfy SW'sMoney.Amountin order to be fired.CreateUnitnow creates the units by default at animation's height (even ifCreateUnit.ConsiderPathfindingis enabled) instead of always at ground level. This behaviour can be restored by settingCreateUnit.AlwaysSpawnOnGroundto true.- Phobos-introduced attack scripts now consider potential target's current map zone when evaluating targets. TargetZoneScanType can be used to customize this behaviour.
Artillary,ICBMLauncher,TickTankorSensorArrayno longer affect whether or not building is considered as vehicle for AI attack scripts. Use ConsideredVehicle instead on buildings that do not have bothUndeploysIntoset andFoundation=1x1.PassengerDeletion.SoylentFriendlieshas been replaced byPassengerDeletion.SoylentAllowedHouses. Current default value ofPassengerDeletion.SoylentAllowedHouses=enemiesmatches the previous default behaviour withPassengerDeletion.SoylentFriendlies=false.Grinding.DisplayRefundis changed toDisplayIncome,Grinding.DisplayRefund.Housesis changed toDisplayIncome.Houses,Grinding.DisplayRefund.Offsetis changed toDisplayIncome.Offset.[JumpjetControls] -> AllowLayerDeviationandJumpjetAllowLayerDeviationhave been deprecated as the animation layering issues have been properly fixed by default now.[JumpjetControls] -> TurnToTargetandJumpjetTurnToTargetare obsolete. Jumpjet units who fireOmniFire=noweapons always turn to targets as other units do.- Buildings delivered by trigger action 125 will now always play buildup anim as long as it exists.
[ParamTypes] -> 53is deprecated. Shadowfor debris & meteor animations is changed toExtraShadow.
- Ivan bombs no longer automatically center on building when attached. Set `[CombatDamage] -> IvanBombAttachToCenter` to true to restore this behaviour. Due to technical constraints this cannot be customized per WeaponType.
- `AlternateFLH` no longer affects vehicle passengers by default. To re-enable it, set `AlternateFLH.ApplyVehicle=true` on the transport unit.
- Parsing priority of `ShowBriefing` and `BriefingTheme` between map file and `missionmd.ini` has been switched (from latter taking priority over former to vice-versa) due to technical limitations and compatibility issues with spawner DLL.
- Game will now produce fatal error with an error message if any of the files listed in `[$Include]` in any INI file do not exist.
- Aircraft with weapons that have `Strafing.Shots` < 5 will now keep flying after last shot like those with `Strafing.Shots` >= 5 do. This delay can now be customized explicitly by setting `Strafing.EndDelay` on the weapon.
- Selecting weapons other than primary against walls based on `Wall=true` on Warhead etc. now requires `[CombatDamage] -> AllowWeaponSelectAgainstWalls` to be set to true first.
- Lunar theater tileset parsing unhardcoding is now only applied if `lunarmd.ini` has `[General] -> ApplyLunarFixes` set to true.
- `Units.DisableRepairCost` was changed to `Units.UseRepairCost` (note inverted expected value) as it no longer has discrete default value and affects `Hospital=true` buildings, infantry do not have repair cost by default.
- Critical hit animations created by `Crit.AnimOnAffectedTargets=true` Warheads no longer default to `AnimList.PickRandom` if `Crit.AnimList.PickRandom` is not set.
- `SelfHealGainType` value `none` has been changed to `noheal` due to `none` being treated as a blank string and not parsed by the game.
- Affected target enum (`CanTarget`, `Crit.Affects` et al) now considers buildings considered vehicles (`ConsideredVehicle=true` or not set in conjunction with `UndeploysInto` & 1x1 foundation) as units instead of buildings.
- If `CreateUnit.AlwaysSpawnOnGround` is set to false, jumpjet vehicles created will now automatically take off instead of staying on ground. Set to true to force spawn on ground.
- Digital display `Offset` and `Offset.ShieldDelta` Y-axis coordinates now work in inverted fashion (negative goes up, positive goes down) to be consistent with how pixel offsets work elsewhere in the game.
- Phobos Warhead effects combined with `CellSpread` now correctly apply to buildings if any of the foundation cells are hit instead of only the top-left most cell (cell #0).
- `ExtraWarheads.DamageOverrides` now falls back to last listed value if list is shorter than `ExtraWarheads` for all Warhead detonations exceeding the length.
- Air and Top layer contents are no longer sorted, animations in these layers no longer respect `YSortAdjust`. Animations attached to flying units now get their layer updated immediately after parent unit, if they are on same layer they will draw above the parent unit.
- `AnimList.ShowOnZeroDamage` has been renamed to `CreateAnimsOnZeroDamage` to make it more clear it applies to both `AnimList` and splash animations.
- INI inclusion and inheritance are now turned off by default and need to be turned on via command line flags `-Include` and `-Inheritance`.
- `Level=true` projectiles no longer attempt to do reposition against targets that are behind non-water tiles by default. Use `SubjectToLand=true` to re-enable this behaviour.
- Translucent RLE SHPs will now be drawn using a more precise and performant algorithm that has no green tint and banding. Can be disabled with
rulesmd.ini -> [General] -> FixTransparencyBlitters=no. - Iron Curtain status is now preserved by default when converting between TechnoTypes via
DeploysInto/UndeploysInto. This behavior can be turned off per-TechnoType and global basis using[TechnoType]/[CombatDamage] -> IronCurtain.KeptOnDeploy=no.
- Keys
rulesmd.ini -> [WarheadType] -> PenetratesShieldandrulesmd.ini -> [WarheadType] -> BreaksShieldhave been changed toShield.PenetrateandShield.Break, respectively. Rad.NoOwneron weapons is deprecated. This has been replaced byRadHasOwnerkey on radiation types itself. It also defaults to no, so radiation once again has no owner house by default.RadApplicationDelayandRadApplicationDelay.Buildingon custom radiation types are now only used if[Radiation] -> UseGlobalRadApplicationDelayis explicitly set to false, otherwise values from[Radiation]are used.- Existing script actions were renumbered, please use the migration utility to change the numbers to the correct ones.
- `Trajectory.Speed` is now defined on projectile instead of weapon.
- `Gravity=0` is not supported anymore as it will cause the projectile to fly backwards and be unable to hit the target which is not at the same height. Use `Straight` Trajectory instead. See [here](New-or-Enhanced-Logics.md#straight-trajectory).
- Automatic self-destruction logic logic has been reimplemented, `Death.NoAmmo`, `Death.Countdown` and `Death.Peaceful` tags have been remade/renamed and require adjustments to function.
- `DetachedFromOwner` on weapons is deprecated. This has been replaced by `AllowDamageOnSelf` on warheads.
- Timed jump script actions now take the time measured in ingame seconds instead of frames. Divide your value by 15 to accommodate to this change.
- [Placement Preview](User-Interface.md#placement-preview) logic has been adjusted, `BuildingPlacementPreview.DefaultTranslucentLevel`, `BuildingPlacementGrid.TranslucentLevel`, `PlacementPreview.Show`, `PlacementPreview.TranslucentLevel` and `ShowBuildingPlacementPreview` tags have been remade/renamed and require adjustments to function. In addition, you must explicitly enable this feature by specifying `[AudioVisual] -> PlacementPreview=yes`.
- Existing script actions were renumbered, please use the migration utility to change the numbers to the correct ones.
- `DiskLaser.Radius` values were misinterpreted by a factor of 1/2π. The default radius is now 240, please multiply your customized radii by 2π.
- Key
rulesmd.ini -> [TechnoType] -> Deployed.RememberTargetis deprecated and can be removed now, the bugfix forDeployToFiredeployers is now always on.
- These are new user setting keys added by various features in Phobos. Most of them can be found in either in user inteface or miscellaneous sections. Search functionality can be used to find them quickly if needed.
[Phobos]
CampaignDefaultGameSpeed=4 ; integer
ShowBriefing=true ; boolean
DigitalDisplay.Enable=false ; boolean
ShowDesignatorRange=false ; boolean
PrioritySelectionFiltering=true ; boolean
PriorityDeployFiltering=true ; boolean
ShowPlacementPreview=yes ; boolean
RealTimeTimers=false ; boolean
RealTimeTimers.Adaptive=false ; boolean
ShowHarvesterCounter=true ; boolean
ShowPowerDelta=true ; boolean
ShowWeedsCounter=true ; boolean
ToolTipDescriptions=true ; boolean
ToolTipBlur=false ; boolean
SaveGameOnScenarioStart=true ; boolean
HideLightFlashEffects=false ; boolean
HideLaserTrailEffects=false ; boolean
HideShakeEffects=false ; boolean
Create `Actions.ini`, `Events.ini` and `ScriptActions.ini` in WAE's `Config` folder with the contents below. They are based on the default Yuri's Revenge configs in `Config/Default` through `BasedOn`, so those can stay untouched.
If you would rather edit the files in `Config/Default` directly, add the Phobos sections to the **end** of each file and put the keys of the other sections into the existing sections with the same names. WAE numbers entries without `IDOverride` by their position in the file, so inserting sections in the middle shifts the IDs of every entry after them.
```{note}
WAE decides how many parameters each event has from its config. A map containing a Phobos event that is missing from the config can't be opened, and a Phobos event without its third parameter would make WAE misread the rest of the trigger's events.
```
In `Config/Actions.ini`:
```ini
[INISystem]
BasedOn=Default/Actions.ini
; Phobos extends these existing sections
[PlayAnimAt]
Name=Play Anim at
Description=Plays the specified anim in the specified cell. Use index from [Animations] section in rules.ini. With Phobos, the anim is owned by the trigger's house, and a non-inert anim can play sounds, deal damage and apply TiberiumChainReaction.
P2Type=Animation
P3Type=Number
P3Name=Non-Inert [Phobos]
P3PresetOptions=0 No,1 Yes
P7Type=WaypointZZ
[CreateBuildingAt]
Name=Create Building At
Description=Owner of the trigger will gain this type of building at this waypoint. Overlays will be cleared and units bumped. With Phobos, the buildup anim is played, and in campaigns the building can optionally be repaired and rebuilt by the AI.
P1Type=-10
P2Type=BuildingName
P4Type=Number
P4Name=Campaign AI Repairable [Phobos]
P4PresetOptions=0 No,1 Yes
P7Type=WaypointZZ
; ********** PHOBOS BEGINS ***********
; Phobos actions use IDOverride. Keep them after every section that relies on its position in the file.
[PhobosSaveGame]
IDOverride=500
Name=Save Game [Phobos]
Description=Saves the game immediately. The save's description will be "MapDescName - CSFText". Multiplayer requires a spawner with multiplayer save support.
P1Type=-4
P2Type=StringTableEntry
P2Name=Save Description
[PhobosEditVariable]
IDOverride=501
Name=Edit Variable [Phobos]
Description=Operates on a local or global variable's value using the given number.
P2Type=Number
P2Name=Variable Index
P3Type=Number
P3Name=Operation
P3PresetOptions=0 Set,1 Add,2 Subtract,3 Multiply,4 Divide,5 Modulo,6 Left Shift,7 Right Shift,8 Bitwise NOT,9 Bitwise XOR,10 Bitwise OR,11 Bitwise AND
P4Type=Number
P4Name=Number
P5Type=Number
P5Name=Variable Scope
P5PresetOptions=0 Local,1 Global
[PhobosGenerateRandomNumber]
IDOverride=502
Name=Generate Random Number [Phobos]
Description=Stores a random number in the range [Min, Max] in a local or global variable.
P2Type=Number
P2Name=Variable Index
P3Type=Number
P3Name=Min
P4Type=Number
P4Name=Max
P5Type=Number
P5Name=Variable Scope
P5PresetOptions=0 Local,1 Global
[PhobosPrintVariableValue]
IDOverride=503
Name=Print Variable Value [Phobos]
Description=Prints a local or global variable's value to the message list.
P2Type=Number
P2Name=Variable Index
P3Type=Number
P3Name=Variable Scope
P3PresetOptions=0 Local,1 Global
[PhobosBinaryOperation]
IDOverride=504
Name=Binary Operation [Phobos]
Description=Operates on a local or global variable's value using another local or global variable's value.
P2Type=Number
P2Name=Variable Index
P3Type=Number
P3Name=Operation
P3PresetOptions=0 Set,1 Add,2 Subtract,3 Multiply,4 Divide,5 Modulo,6 Left Shift,7 Right Shift,8 Bitwise NOT,9 Bitwise XOR,10 Bitwise OR,11 Bitwise AND
P4Type=Number
P4Name=Operand Variable Index
P5Type=Number
P5Name=Variable Scope
P5PresetOptions=0 Local,1 Global
P6Type=Number
P6Name=Operand Variable Scope
P6PresetOptions=0 Local,1 Global
[PhobosRunSuperWeaponAtLocation]
IDOverride=505
Name=Fire Super Weapon at Location [Phobos]
Description=Launches a super weapon at the given cell. House can also be -1 (random non-neutral house), -2 (first neutral house) or -3 (random human player). A coordinate of -1 picks a random value within the visible map area.
P3Type=SuperWeapon
P4Type=HouseType
P5Type=Number
P5Name=X
P6Type=Number
P6Name=Y
[PhobosRunSuperWeaponAtWaypoint]
IDOverride=506
Name=Fire Super Weapon at Waypoint [Phobos]
Description=Launches a super weapon at the given waypoint. House can also be -1 (random non-neutral house), -2 (first neutral house) or -3 (random human player).
P3Type=SuperWeapon
P4Type=HouseType
P5Type=Waypoint
[PhobosToggleMCVRedeploy]
IDOverride=510
Name=Toggle MCV Redeployability [Phobos]
Description=Sets whether Construction Yards can be undeployed back into MCVs.
P3Type=Number
P3Name=MCV Redeploy
P3PresetOptions=0 No,1 Yes
[PhobosUndeployToWaypoint]
IDOverride=511
Name=Undeploy Building to Waypoint [Phobos]
Description=Undeploys all buildings of the given type owned by the given house and moves the resulting units to the waypoint. Enter <All> as the building type to undeploy every building that can be undeployed.
P1Type=-10
P2Type=BuildingName
P3Type=HouseType
P7Type=WaypointZZ
[PhobosSetFollowsIndexForVehicle]
IDOverride=512
Name=Set Follower for Associated Unit [Phobos]
Description=Sets the follower of the vehicles this trigger is attached to. The parameter is the index of the follower vehicle.
P3Type=Number
P3Name=Follower Unit Index
[PhobosSetMissionTimer]
IDOverride=513
Name=Set Mission Timer Properties [Phobos]
Description=Sets how the mission timer is displayed. For types 0-2, the second parameter is the base value for the percentage timer or the reversed timer. For types 3-4, it's the index of the variable to display. This doesn't change how the timer actually ticks.
P3Type=Number
P3Name=Timer Type
P3PresetOptions=0 Normal,1 Percentage,2 Digits,3 Local Variable,4 Global Variable
P4Type=Number
P4Name=Base Value or Variable Index
P5Type=Number
P5Name=Reverse Timer
P5PresetOptions=0 No,1 Yes
[PhobosSetDropCrate]
IDOverride=600
Name=Configure Drop Crate [Phobos]
Description=Sets or overrides the crate dropped when the attached objects are destroyed. Only works when used as an attached trigger.
P2Type=Number
P2Name=Behaviour
P2PresetOptions=-1 Use TechnoType Default,0 No Crate,1 Override Crate
P3Type=Number
P3Name=Crate Type
P3PresetOptions=0 Money,1 Unit,2 Heal Base,3 Cloak,4 Explosion,5 Napalm,6 Squad,7 Darkness,8 Reveal,9 Armor,10 Speed,11 Firepower,12 ICBM,13 Invulnerability,14 Veteran,15 Ion Storm,16 Gas,17 Tiberium,18 Pod
[PhobosEditAngerNode]
IDOverride=606
Name=Edit Hate Value [Phobos]
Description=Edits how much the trigger's house hates the given house. Use -1 to affect all houses.
P2Type=HouseType
P3Type=Number
P3Name=Operation
P3PresetOptions=0 Set,1 Add,2 Subtract,3 Multiply,4 Divide,5 Modulo,6 Left Shift,7 Right Shift,8 Bitwise NOT,9 Bitwise XOR,10 Bitwise OR,11 Bitwise AND
P4Type=Number
P4Name=Number
[PhobosClearAngerNode]
IDOverride=607
Name=Clear Hate Value [Phobos]
Description=Resets how much the trigger's house hates the given house. Use -1 to affect all houses.
P2Type=HouseType
[PhobosSetForceEnemy]
IDOverride=608
Name=Set Force Enemy [Phobos]
Description=Forces the trigger's house to treat the given house as its enemy regardless of hate values. Use -1 to remove the forced enemy, or -2 to never have any enemy.
P3Type=HouseType
[PhobosSetFreeRadar]
IDOverride=609
Name=Set Radar Mode [Phobos]
Description=Changes the radar mode of the trigger's house. Only affects human players.
P3Type=Number
P3Name=Radar Mode
P3PresetOptions=0 Normal,1 Free Radar,2 Force Enable,3 Force Disable
[PhobosSetTeamDelay]
IDOverride=610
Name=Set Team Delay [Phobos]
Description=Sets the TeamDelays value of the trigger's house. Values below 0 restore [General] -> TeamDelays (or dynamic team delays, if enabled in skirmish). Takes effect after the house's next AI team is created.
P3Type=Number
P3Name=Team Delay
[PhobosSetNextScenario]
IDOverride=611
Name=Set Next Scenario [Phobos]
Description=Sets the map to load after winning the current one. Only works in campaigns with [Basic] -> SkipMapSelect=yes.
P1Type=-4
P2Type=String
P2Name=Map Filename
[PhobosCreateBannerLocal]
IDOverride=800
Name=Display Banner with Local Variable [Phobos]
Description=Displays a BannerType on screen, replacing any existing banner with the same ID. Text banners can display the given local variable's value. Position is in percent of the screen size.
P1Type=-4
P2Type=String
P2Name=BannerType
P3Type=Number
P3Name=Banner ID
P4Type=Number
P4Name=Horizontal Position
P5Type=Number
P5Name=Vertical Position
P6Type=LocalVariable
[PhobosCreateBannerGlobal]
IDOverride=801
Name=Display Banner with Global Variable [Phobos]
Description=Displays a BannerType on screen, replacing any existing banner with the same ID. Text banners can display the given global variable's value. Position is in percent of the screen size.
P1Type=-4
P2Type=String
P2Name=BannerType
P3Type=Number
P3Name=Banner ID
P4Type=Number
P4Name=Horizontal Position
P5Type=Number
P5Name=Vertical Position
P6Type=GlobalVariable
[PhobosDeleteBanner]
IDOverride=802
Name=Delete Banner [Phobos]
Description=Removes the banner with the given ID.
P2Type=Number
P2Name=Banner ID
; ********** PHOBOS ENDS ***********
```
In `Config/Events.ini`:
```ini
[INISystem]
BasedOn=Default/Events.ini
; ********** PHOBOS BEGINS ***********
; Phobos events use IDOverride. Keep them after every section that relies on its position in the file.
; Phobos events are written with P1=2, which makes the game read a third parameter, so P3Type must always be set.
[PhobosLocalVariableGreaterThan]
IDOverride=500
Name=Local Variable Greater Than Number [Phobos]
Description=Triggers when the local variable's value is greater than the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableLessThan]
IDOverride=501
Name=Local Variable Less Than Number [Phobos]
Description=Triggers when the local variable's value is less than the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableEqualsTo]
IDOverride=502
Name=Local Variable Equals Number [Phobos]
Description=Triggers when the local variable's value equals the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableGreaterThanOrEqualsTo]
IDOverride=503
Name=Local Variable Greater Than or Equals Number [Phobos]
Description=Triggers when the local variable's value is greater than or equal to the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableLessThanOrEqualsTo]
IDOverride=504
Name=Local Variable Less Than or Equals Number [Phobos]
Description=Triggers when the local variable's value is less than or equal to the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableAndIsTrue]
IDOverride=505
Name=Local Variable AND Number Is True [Phobos]
Description=Triggers when the local variable's value is non-zero after a bitwise AND with the given number.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableGreaterThan]
IDOverride=506
Name=Global Variable Greater Than Number [Phobos]
Description=Triggers when the global variable's value is greater than the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableLessThan]
IDOverride=507
Name=Global Variable Less Than Number [Phobos]
Description=Triggers when the global variable's value is less than the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableEqualsTo]
IDOverride=508
Name=Global Variable Equals Number [Phobos]
Description=Triggers when the global variable's value equals the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableGreaterThanOrEqualsTo]
IDOverride=509
Name=Global Variable Greater Than or Equals Number [Phobos]
Description=Triggers when the global variable's value is greater than or equal to the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableLessThanOrEqualsTo]
IDOverride=510
Name=Global Variable Less Than or Equals Number [Phobos]
Description=Triggers when the global variable's value is less than or equal to the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosGlobalVariableAndIsTrue]
IDOverride=511
Name=Global Variable AND Number Is True [Phobos]
Description=Triggers when the global variable's value is non-zero after a bitwise AND with the given number.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=Number
P3Name=Number
[PhobosLocalVariableGreaterThanLocalVariable]
IDOverride=512
Name=Local Variable Greater Than Local Variable [Phobos]
Description=Triggers when the local variable's value is greater than another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableLessThanLocalVariable]
IDOverride=513
Name=Local Variable Less Than Local Variable [Phobos]
Description=Triggers when the local variable's value is less than another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableEqualsToLocalVariable]
IDOverride=514
Name=Local Variable Equals Local Variable [Phobos]
Description=Triggers when the local variable's value equals another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableGreaterThanOrEqualsToLocalVariable]
IDOverride=515
Name=Local Variable Greater Than or Equals Local Variable [Phobos]
Description=Triggers when the local variable's value is greater than or equal to another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableLessThanOrEqualsToLocalVariable]
IDOverride=516
Name=Local Variable Less Than or Equals Local Variable [Phobos]
Description=Triggers when the local variable's value is less than or equal to another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableAndIsTrueLocalVariable]
IDOverride=517
Name=Local Variable AND Local Variable Is True [Phobos]
Description=Triggers when the local variable's value is non-zero after a bitwise AND with another local variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableGreaterThanLocalVariable]
IDOverride=518
Name=Global Variable Greater Than Local Variable [Phobos]
Description=Triggers when the global variable's value is greater than the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableLessThanLocalVariable]
IDOverride=519
Name=Global Variable Less Than Local Variable [Phobos]
Description=Triggers when the global variable's value is less than the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableEqualsToLocalVariable]
IDOverride=520
Name=Global Variable Equals Local Variable [Phobos]
Description=Triggers when the global variable's value equals the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableGreaterThanOrEqualsToLocalVariable]
IDOverride=521
Name=Global Variable Greater Than or Equals Local Variable [Phobos]
Description=Triggers when the global variable's value is greater than or equal to the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableLessThanOrEqualsToLocalVariable]
IDOverride=522
Name=Global Variable Less Than or Equals Local Variable [Phobos]
Description=Triggers when the global variable's value is less than or equal to the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosGlobalVariableAndIsTrueLocalVariable]
IDOverride=523
Name=Global Variable AND Local Variable Is True [Phobos]
Description=Triggers when the global variable's value is non-zero after a bitwise AND with the local variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=LocalVariable
P3Name=Operand Variable
[PhobosLocalVariableGreaterThanGlobalVariable]
IDOverride=524
Name=Local Variable Greater Than Global Variable [Phobos]
Description=Triggers when the local variable's value is greater than the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosLocalVariableLessThanGlobalVariable]
IDOverride=525
Name=Local Variable Less Than Global Variable [Phobos]
Description=Triggers when the local variable's value is less than the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosLocalVariableEqualsToGlobalVariable]
IDOverride=526
Name=Local Variable Equals Global Variable [Phobos]
Description=Triggers when the local variable's value equals the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosLocalVariableGreaterThanOrEqualsToGlobalVariable]
IDOverride=527
Name=Local Variable Greater Than or Equals Global Variable [Phobos]
Description=Triggers when the local variable's value is greater than or equal to the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosLocalVariableLessThanOrEqualsToGlobalVariable]
IDOverride=528
Name=Local Variable Less Than or Equals Global Variable [Phobos]
Description=Triggers when the local variable's value is less than or equal to the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosLocalVariableAndIsTrueGlobalVariable]
IDOverride=529
Name=Local Variable AND Global Variable Is True [Phobos]
Description=Triggers when the local variable's value is non-zero after a bitwise AND with the global variable's value.
P1Type=-2
P2Type=LocalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableGreaterThanGlobalVariable]
IDOverride=530
Name=Global Variable Greater Than Global Variable [Phobos]
Description=Triggers when the global variable's value is greater than another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableLessThanGlobalVariable]
IDOverride=531
Name=Global Variable Less Than Global Variable [Phobos]
Description=Triggers when the global variable's value is less than another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableEqualsToGlobalVariable]
IDOverride=532
Name=Global Variable Equals Global Variable [Phobos]
Description=Triggers when the global variable's value equals another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableGreaterThanOrEqualsToGlobalVariable]
IDOverride=533
Name=Global Variable Greater Than or Equals Global Variable [Phobos]
Description=Triggers when the global variable's value is greater than or equal to another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableLessThanOrEqualsToGlobalVariable]
IDOverride=534
Name=Global Variable Less Than or Equals Global Variable [Phobos]
Description=Triggers when the global variable's value is less than or equal to another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosGlobalVariableAndIsTrueGlobalVariable]
IDOverride=535
Name=Global Variable AND Global Variable Is True [Phobos]
Description=Triggers when the global variable's value is non-zero after a bitwise AND with another global variable's value.
P1Type=-2
P2Type=GlobalVariable
P2Name=Variable
P3Type=GlobalVariable
P3Name=Operand Variable
[PhobosShieldBroken]
IDOverride=600
Name=Shield Broken [Phobos]
Description=Triggers when the shield of the attached object is broken.
P1Type=-2
P3Type=Number
P3Name=Unused (keep 0)
[PhobosHouseOwnsTechnoType]
IDOverride=601
Name=House Owns TechnoType [Phobos]
Description=Triggers while the given house owns at least one object of the given TechnoType. Unlike Ares event 81, this takes the house as a parameter instead of using the trigger's owner.
P1Type=-2
P2Type=HouseType
P3Type=Techno
[PhobosHouseDoesntOwnTechnoType]
IDOverride=602
Name=House Doesn't Own TechnoType [Phobos]
Description=Triggers while the given house doesn't own any objects of the given TechnoType. Unlike Ares event 82, this takes the house as a parameter instead of using the trigger's owner.
P1Type=-2
P2Type=HouseType
P3Type=Techno
[PhobosCellHasTechnoType]
IDOverride=604
Name=TechnoType Entered Cell [Phobos]
Description=Triggers when an object of the given TechnoType enters the attached cell. House can be -1 (any house) or -2 (the trigger's owner).
P1Type=-2
P2Type=HouseType
P3Type=Techno
[PhobosCellHasAnyTechnoTypeFromList]
IDOverride=605
Name=AITargetTypes Entered Cell [Phobos]
Description=Triggers when an object whose type is in the given [AITargetTypes] list enters the attached cell. House can be -1 (any house) or -2 (the trigger's owner).
P1Type=-2
P2Type=HouseType
P3Type=Number
P3Name=AITargetTypes Index
[PhobosAttachedIsUnderAttachedEffect]
IDOverride=606
Name=AttachEffect Attached [Phobos]
Description=Triggers when the given AttachEffectType is attached to the attached object. Doesn't work for effects attached before the trigger was enabled.
P1Type=-2
P3Type=String
P3Name=AttachEffectType
; ********** PHOBOS ENDS ***********
```
In `Config/ScriptActions.ini`:
```ini
[INISystem]
BasedOn=Default/ScriptActions.ini
; ********** PHOBOS BEGINS ***********
; Phobos script actions use IDOverride. Keep them after every section that relies on its position in the file.
; Sections starting with $ are option lists, not script actions.
[$PhobosTargetTypes]
Option0=1,Anything
Option1=2,Structures
Option2=3,Ore Miners
Option3=4,Infantry
Option4=5,Vehicles
Option5=6,Factories
Option6=7,Base Defenses
Option7=8,House Threats
Option8=9,Power Plants
Option9=10,Occupied
Option10=11,Tech Buildings
Option11=12,Refinery
Option12=13,Mind Controller
Option13=14,Air Units (incl. landed)
Option14=15,Naval
Option15=16,Disruptors
Option16=17,Ground Vehicles
Option17=18,Economy
Option18=19,Infantry Factory
Option19=20,Vehicle Factory
Option20=21,Aircraft Factory
Option21=22,Radar
Option22=23,Tech Lab
Option23=24,Naval Factory
Option24=25,Super Weapon
Option25=26,Construction Yard
Option26=27,Neutrals
Option27=28,Generators
Option28=29,Radar Jammer
Option29=30,Inhibitors
Option30=31,Naval Units
Option31=32,Mobile Units
Option32=33,Capturable
Option33=34,Area Threats
Option34=35,Vehicle & Naval Factory
Option35=36,Non-defensive Structures
Option36=37,Bridge Repair Huts
[PhobosRepeatAttackCloser]
IDOverride=10000
Name=Attack Target Type, Closer [Phobos]
Description=Attacks targets of the given target type, preferring closer targets. Repeats until no targets are left.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosSingleAttackCloser]
IDOverride=10001
Name=Attack Target Type, Closer (Single) [Phobos]
Description=Attacks targets of the given target type, preferring closer targets. Ends when a team member kills the target.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosRepeatAttackTypeCloser]
IDOverride=10002
Name=Attack AITargetTypes, Closer [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring closer targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosSingleAttackTypeCloser]
IDOverride=10003
Name=Attack AITargetTypes, Closer (Single) [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring closer targets. Ends when a team member kills the target.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomAttackTypeCloser]
IDOverride=10004
Name=Attack AITargetTypes, Closer (Random) [Phobos]
Description=Attacks targets of a random TechnoType picked from the given [AITargetTypes] list, preferring closer targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRepeatAttackFarther]
IDOverride=10005
Name=Attack Target Type, Farther [Phobos]
Description=Attacks targets of the given target type, preferring farther targets. Repeats until no targets are left.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosSingleAttackFarther]
IDOverride=10006
Name=Attack Target Type, Farther (Single) [Phobos]
Description=Attacks targets of the given target type, preferring farther targets. Ends when a team member kills the target.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosRepeatAttackTypeFarther]
IDOverride=10007
Name=Attack AITargetTypes, Farther [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring farther targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosSingleAttackTypeFarther]
IDOverride=10008
Name=Attack AITargetTypes, Farther (Single) [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring farther targets. Ends when a team member kills the target.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomAttackTypeFarther]
IDOverride=10009
Name=Attack AITargetTypes, Farther (Random) [Phobos]
Description=Attacks targets of a random TechnoType picked from the given [AITargetTypes] list, preferring farther targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRepeatAttackCloserThreat]
IDOverride=10010
Name=Attack Target Type, Closer Threat [Phobos]
Description=Attacks targets of the given target type, preferring closer, higher-threat targets. Repeats until no targets are left.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosSingleAttackCloserThreat]
IDOverride=10011
Name=Attack Target Type, Closer Threat (Single) [Phobos]
Description=Attacks targets of the given target type, preferring closer, higher-threat targets. Ends when a team member kills the target.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosRepeatAttackTypeCloserThreat]
IDOverride=10012
Name=Attack AITargetTypes, Closer Threat [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring closer, higher-threat targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosSingleAttackTypeCloserThreat]
IDOverride=10013
Name=Attack AITargetTypes, Closer Threat (Single) [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring closer, higher-threat targets. Ends when a team member kills the target.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRepeatAttackFartherThreat]
IDOverride=10014
Name=Attack Target Type, Farther Threat [Phobos]
Description=Attacks targets of the given target type, preferring farther, higher-threat targets. Repeats until no targets are left.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosSingleAttackFartherThreat]
IDOverride=10015
Name=Attack Target Type, Farther Threat (Single) [Phobos]
Description=Attacks targets of the given target type, preferring farther, higher-threat targets. Ends when a team member kills the target.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosRepeatAttackTypeFartherThreat]
IDOverride=10016
Name=Attack AITargetTypes, Farther Threat [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring farther, higher-threat targets. Repeats until no targets are left.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosSingleAttackTypeFartherThreat]
IDOverride=10017
Name=Attack AITargetTypes, Farther Threat (Single) [Phobos]
Description=Attacks targets from the given [AITargetTypes] list, preferring farther, higher-threat targets. Ends when a team member kills the target.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosMoveToEnemyCloserThreat]
IDOverride=10050
Name=Move to Enemy Target Type, Closer Threat [Phobos]
Description=Moves the team to an enemy target of the given target type, preferring closer, higher-threat targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosMoveToTypeEnemyCloserThreat]
IDOverride=10051
Name=Move to Enemy AITargetTypes, Closer Threat [Phobos]
Description=Moves the team to an enemy target from the given [AITargetTypes] list, preferring closer, higher-threat targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomMoveToTypeEnemyCloser]
IDOverride=10052
Name=Move to Enemy AITargetTypes, Closer (Random) [Phobos]
Description=Moves the team to an enemy target of a random TechnoType picked from the given [AITargetTypes] list, preferring closer targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosMoveToFriendlyCloser]
IDOverride=10053
Name=Move to Friendly Target Type, Closer [Phobos]
Description=Moves the team to a friendly target of the given target type, preferring closer targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosMoveToTypeFriendlyCloser]
IDOverride=10054
Name=Move to Friendly AITargetTypes, Closer [Phobos]
Description=Moves the team to a friendly target from the given [AITargetTypes] list, preferring closer targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomMoveToTypeFriendlyCloser]
IDOverride=10055
Name=Move to Friendly AITargetTypes, Closer (Random) [Phobos]
Description=Moves the team to a friendly target of a random TechnoType picked from the given [AITargetTypes] list, preferring closer targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosMoveToEnemyFartherThreat]
IDOverride=10056
Name=Move to Enemy Target Type, Farther Threat [Phobos]
Description=Moves the team to an enemy target of the given target type, preferring farther, higher-threat targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosMoveToTypeEnemyFartherThreat]
IDOverride=10057
Name=Move to Enemy AITargetTypes, Farther Threat [Phobos]
Description=Moves the team to an enemy target from the given [AITargetTypes] list, preferring farther, higher-threat targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomMoveToTypeEnemyFarther]
IDOverride=10058
Name=Move to Enemy AITargetTypes, Farther (Random) [Phobos]
Description=Moves the team to an enemy target of a random TechnoType picked from the given [AITargetTypes] list, preferring farther targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosMoveToFriendlyFarther]
IDOverride=10059
Name=Move to Friendly Target Type, Farther [Phobos]
Description=Moves the team to a friendly target of the given target type, preferring farther targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=Target Type
ParamType=Number
OptionsSectionName=$PhobosTargetTypes
[PhobosMoveToTypeFriendlyFarther]
IDOverride=10060
Name=Move to Friendly AITargetTypes, Farther [Phobos]
Description=Moves the team to a friendly target from the given [AITargetTypes] list, preferring farther targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosRandomMoveToTypeFriendlyFarther]
IDOverride=10061
Name=Move to Friendly AITargetTypes, Farther (Random) [Phobos]
Description=Moves the team to a friendly target of a random TechnoType picked from the given [AITargetTypes] list, preferring farther targets. Ends when close enough, see actions 12001 and 12002.
ParamDescription=AITargetTypes Index
ParamType=Number
[PhobosTimedAreaGuard]
IDOverride=10100
Name=Timed Area Guard [Phobos]
Description=Area guards for the given time, actively attacking nearby enemies and protecting nearby units.
ParamDescription=Seconds
ParamType=Number
[PhobosWaitUntilFullAmmo]
IDOverride=10101
Name=Wait Until Ammo is Full [Phobos]
Description=Waits until all team members that use ammo are fully reloaded.
[PhobosGatherAroundLeader]
IDOverride=10102
Name=Regroup Around Team Leader [Phobos]
Description=Area guards around the team leader, who stays almost still, within [General] -> CloseEnough for the given time. 0 waits until every member is near the leader.
ParamDescription=Seconds
ParamType=Number
[PhobosLoadIntoTransports]
IDOverride=10103
Name=Load onto Transports [Phobos]
Description=Makes team members enter transports of the same team that can carry them. In campaigns, follow with 'Wait Until Fully Loaded' or the script won't continue.
[PhobosChronoshiftToEnemyBase]
IDOverride=10104
Name=Chronoshift to Enemy Base [Phobos]
Description=Chronoshifts the team to within [General] -> AISafeDistance plus the given number of cells of the enemy base. The superweapon must be charged to at least [General] -> AIMinorSuperReadyPercent.
ParamDescription=Additional Distance (Cells)
ParamType=Number
[PhobosWaitIfNoTarget]
IDOverride=12000
Name=Wait if No Target Found [Phobos]
Description=Makes the next Phobos attack action wait 1 second and retry if it finds no target, up to the given number of times. 0 retries forever.
ParamDescription=Retries
ParamType=Number
[PhobosModifyTargetDistance]
IDOverride=12001
Name=Modify Target Distance [Phobos]
Description=Overrides [General] -> CloseEnough for the next Phobos move action only.
ParamDescription=Distance (Cells)
ParamType=Number
[PhobosSetMoveMissionEndMode]
IDOverride=12002
Name=Set Move Action End Mode [Phobos]
Description=Sets when the next Phobos move action ends.
ParamDescription=Mode
ParamType=Number
Option0=0,Team Leader Is Close Enough
Option1=1,One Member Is Close Enough
Option2=2,All Members Are Close Enough
[PhobosTeamWeightReward]
IDOverride=14000
Name=Team's Trigger Weight Reward [Phobos]
Description=Makes the next Phobos attack action increase the AI trigger's current weight by the given amount when a team member kills the target.
ParamDescription=Weight
ParamType=Number
[PhobosIncreaseCurrentAITriggerWeight]
IDOverride=14001
Name=Increase AI Trigger Current Weight [Phobos]
Description=Increases the AI trigger's current weight by the given amount, within its min and max weight.
ParamDescription=Weight
ParamType=Number
[PhobosDecreaseCurrentAITriggerWeight]
IDOverride=14002
Name=Decrease AI Trigger Current Weight [Phobos]
Description=Decreases the AI trigger's current weight by the given amount, within its min and max weight.
ParamDescription=Weight
ParamType=Number
[PhobosUnregisterGreatSuccess]
IDOverride=14003
Name=Unregister Team Success [Phobos]
Description=The opposite of 'Register Success': marks the team as failed.
[PhobosForceGlobalOnlyTargetHouseEnemy]
IDOverride=14004
Name=Force Global OnlyTargetHouseEnemy [Phobos]
Description=Forces the OnlyTargetHouseEnemy value of all the owner's teams in Phobos attack and move actions.
ParamDescription=Mode
ParamType=Number
Option0=-1,Use TeamType Value
Option1=0,Force No
Option2=1,Force Yes
Option3=2,Random
[PhobosSameLineForceJumpCountdown]
IDOverride=16000
Name=Timed Jump to Same Line [Phobos]
Description=When the timer expires, restarts the current action. Loops until stopped with action 16002.
ParamDescription=Seconds
ParamType=Number
[PhobosNextLineForceJumpCountdown]
IDOverride=16001
Name=Timed Jump to Next Line [Phobos]
Description=When the timer expires, ends the current action and continues with the next one.
ParamDescription=Seconds
ParamType=Number
[PhobosStopForceJumpCountdown]
IDOverride=16002
Name=Stop Timed Jumps [Phobos]
Description=Stops a timed jump started with action 16000 or 16001.
[PhobosRandomSkipNextAction]
IDOverride=16003
Name=Randomly Skip Next Action [Phobos]
Description=Skips the next action with the given chance. 0 never skips, 100 always skips.
ParamDescription=Chance (%)
ParamType=Number
[PhobosPickRandomScript]
IDOverride=16004
Name=Pick Random Script [Phobos]
Description=Replaces the current script with a random one from the given [AIScriptsList] list.
ParamDescription=AIScriptsList Index
ParamType=Number
[PhobosJumpBackToPreviousScript]
IDOverride=16005
Name=Jump Back to Previous Script [Phobos]
Description=In a script picked by action 16004, returns to the previous script and continues after the 16004 action.
[PhobosLocalVariableSet]
IDOverride=18000
Name=Local Variable Set [Phobos]
Description=Applies 'Set' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableAdd]
IDOverride=18001
Name=Local Variable Add [Phobos]
Description=Applies 'Add' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableMinus]
IDOverride=18002
Name=Local Variable Subtract [Phobos]
Description=Applies 'Subtract' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableMultiply]
IDOverride=18003
Name=Local Variable Multiply [Phobos]
Description=Applies 'Multiply' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableDivide]
IDOverride=18004
Name=Local Variable Divide [Phobos]
Description=Applies 'Divide' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableMod]
IDOverride=18005
Name=Local Variable Modulo [Phobos]
Description=Applies 'Modulo' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableLeftShift]
IDOverride=18006
Name=Local Variable Left Shift [Phobos]
Description=Applies 'Left Shift' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableRightShift]
IDOverride=18007
Name=Local Variable Right Shift [Phobos]
Description=Applies 'Right Shift' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableReverse]
IDOverride=18008
Name=Local Variable Bitwise NOT [Phobos]
Description=Applies 'Bitwise NOT' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableXor]
IDOverride=18009
Name=Local Variable Bitwise XOR [Phobos]
Description=Applies 'Bitwise XOR' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableOr]
IDOverride=18010
Name=Local Variable Bitwise OR [Phobos]
Description=Applies 'Bitwise OR' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableAnd]
IDOverride=18011
Name=Local Variable Bitwise AND [Phobos]
Description=Applies 'Bitwise AND' to a local variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableSet]
IDOverride=18012
Name=Global Variable Set [Phobos]
Description=Applies 'Set' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableAdd]
IDOverride=18013
Name=Global Variable Add [Phobos]
Description=Applies 'Add' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableMinus]
IDOverride=18014
Name=Global Variable Subtract [Phobos]
Description=Applies 'Subtract' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableMultiply]
IDOverride=18015
Name=Global Variable Multiply [Phobos]
Description=Applies 'Multiply' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableDivide]
IDOverride=18016
Name=Global Variable Divide [Phobos]
Description=Applies 'Divide' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableMod]
IDOverride=18017
Name=Global Variable Modulo [Phobos]
Description=Applies 'Modulo' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableLeftShift]
IDOverride=18018
Name=Global Variable Left Shift [Phobos]
Description=Applies 'Left Shift' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableRightShift]
IDOverride=18019
Name=Global Variable Right Shift [Phobos]
Description=Applies 'Right Shift' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableReverse]
IDOverride=18020
Name=Global Variable Bitwise NOT [Phobos]
Description=Applies 'Bitwise NOT' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableXor]
IDOverride=18021
Name=Global Variable Bitwise XOR [Phobos]
Description=Applies 'Bitwise XOR' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableOr]
IDOverride=18022
Name=Global Variable Bitwise OR [Phobos]
Description=Applies 'Bitwise OR' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosGlobalVariableAnd]
IDOverride=18023
Name=Global Variable Bitwise AND [Phobos]
Description=Applies 'Bitwise AND' to a global variable using a number. Argument = variable index + number * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and number 10 give 655363.
ParamDescription=Variable Index + Number * 65536
ParamType=Number
[PhobosLocalVariableSetByLocal]
IDOverride=18024
Name=Local Variable Set by Local Variable [Phobos]
Description=Applies 'Set' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableAddByLocal]
IDOverride=18025
Name=Local Variable Add by Local Variable [Phobos]
Description=Applies 'Add' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableMinusByLocal]
IDOverride=18026
Name=Local Variable Subtract by Local Variable [Phobos]
Description=Applies 'Subtract' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableMultiplyByLocal]
IDOverride=18027
Name=Local Variable Multiply by Local Variable [Phobos]
Description=Applies 'Multiply' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableDivideByLocal]
IDOverride=18028
Name=Local Variable Divide by Local Variable [Phobos]
Description=Applies 'Divide' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableModByLocal]
IDOverride=18029
Name=Local Variable Modulo by Local Variable [Phobos]
Description=Applies 'Modulo' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableLeftShiftByLocal]
IDOverride=18030
Name=Local Variable Left Shift by Local Variable [Phobos]
Description=Applies 'Left Shift' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableRightShiftByLocal]
IDOverride=18031
Name=Local Variable Right Shift by Local Variable [Phobos]
Description=Applies 'Right Shift' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableReverseByLocal]
IDOverride=18032
Name=Local Variable Bitwise NOT by Local Variable [Phobos]
Description=Applies 'Bitwise NOT' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableXorByLocal]
IDOverride=18033
Name=Local Variable Bitwise XOR by Local Variable [Phobos]
Description=Applies 'Bitwise XOR' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableOrByLocal]
IDOverride=18034
Name=Local Variable Bitwise OR by Local Variable [Phobos]
Description=Applies 'Bitwise OR' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableAndByLocal]
IDOverride=18035
Name=Local Variable Bitwise AND by Local Variable [Phobos]
Description=Applies 'Bitwise AND' to a local variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableSetByLocal]
IDOverride=18036
Name=Global Variable Set by Local Variable [Phobos]
Description=Applies 'Set' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableAddByLocal]
IDOverride=18037
Name=Global Variable Add by Local Variable [Phobos]
Description=Applies 'Add' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableMinusByLocal]
IDOverride=18038
Name=Global Variable Subtract by Local Variable [Phobos]
Description=Applies 'Subtract' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableMultiplyByLocal]
IDOverride=18039
Name=Global Variable Multiply by Local Variable [Phobos]
Description=Applies 'Multiply' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableDivideByLocal]
IDOverride=18040
Name=Global Variable Divide by Local Variable [Phobos]
Description=Applies 'Divide' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableModByLocal]
IDOverride=18041
Name=Global Variable Modulo by Local Variable [Phobos]
Description=Applies 'Modulo' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableLeftShiftByLocal]
IDOverride=18042
Name=Global Variable Left Shift by Local Variable [Phobos]
Description=Applies 'Left Shift' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableRightShiftByLocal]
IDOverride=18043
Name=Global Variable Right Shift by Local Variable [Phobos]
Description=Applies 'Right Shift' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableReverseByLocal]
IDOverride=18044
Name=Global Variable Bitwise NOT by Local Variable [Phobos]
Description=Applies 'Bitwise NOT' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableXorByLocal]
IDOverride=18045
Name=Global Variable Bitwise XOR by Local Variable [Phobos]
Description=Applies 'Bitwise XOR' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableOrByLocal]
IDOverride=18046
Name=Global Variable Bitwise OR by Local Variable [Phobos]
Description=Applies 'Bitwise OR' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableAndByLocal]
IDOverride=18047
Name=Global Variable Bitwise AND by Local Variable [Phobos]
Description=Applies 'Bitwise AND' to a global variable using a local variable's value. Argument = variable index + local variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and local variable 10 give 655363.
ParamDescription=Variable Index + Local Variable Index * 65536
ParamType=Number
[PhobosLocalVariableSetByGlobal]
IDOverride=18048
Name=Local Variable Set by Global Variable [Phobos]
Description=Applies 'Set' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableAddByGlobal]
IDOverride=18049
Name=Local Variable Add by Global Variable [Phobos]
Description=Applies 'Add' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableMinusByGlobal]
IDOverride=18050
Name=Local Variable Subtract by Global Variable [Phobos]
Description=Applies 'Subtract' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableMultiplyByGlobal]
IDOverride=18051
Name=Local Variable Multiply by Global Variable [Phobos]
Description=Applies 'Multiply' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableDivideByGlobal]
IDOverride=18052
Name=Local Variable Divide by Global Variable [Phobos]
Description=Applies 'Divide' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableModByGlobal]
IDOverride=18053
Name=Local Variable Modulo by Global Variable [Phobos]
Description=Applies 'Modulo' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableLeftShiftByGlobal]
IDOverride=18054
Name=Local Variable Left Shift by Global Variable [Phobos]
Description=Applies 'Left Shift' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableRightShiftByGlobal]
IDOverride=18055
Name=Local Variable Right Shift by Global Variable [Phobos]
Description=Applies 'Right Shift' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableReverseByGlobal]
IDOverride=18056
Name=Local Variable Bitwise NOT by Global Variable [Phobos]
Description=Applies 'Bitwise NOT' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableXorByGlobal]
IDOverride=18057
Name=Local Variable Bitwise XOR by Global Variable [Phobos]
Description=Applies 'Bitwise XOR' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableOrByGlobal]
IDOverride=18058
Name=Local Variable Bitwise OR by Global Variable [Phobos]
Description=Applies 'Bitwise OR' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosLocalVariableAndByGlobal]
IDOverride=18059
Name=Local Variable Bitwise AND by Global Variable [Phobos]
Description=Applies 'Bitwise AND' to a local variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableSetByGlobal]
IDOverride=18060
Name=Global Variable Set by Global Variable [Phobos]
Description=Applies 'Set' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableAddByGlobal]
IDOverride=18061
Name=Global Variable Add by Global Variable [Phobos]
Description=Applies 'Add' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableMinusByGlobal]
IDOverride=18062
Name=Global Variable Subtract by Global Variable [Phobos]
Description=Applies 'Subtract' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableMultiplyByGlobal]
IDOverride=18063
Name=Global Variable Multiply by Global Variable [Phobos]
Description=Applies 'Multiply' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableDivideByGlobal]
IDOverride=18064
Name=Global Variable Divide by Global Variable [Phobos]
Description=Applies 'Divide' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableModByGlobal]
IDOverride=18065
Name=Global Variable Modulo by Global Variable [Phobos]
Description=Applies 'Modulo' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableLeftShiftByGlobal]
IDOverride=18066
Name=Global Variable Left Shift by Global Variable [Phobos]
Description=Applies 'Left Shift' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableRightShiftByGlobal]
IDOverride=18067
Name=Global Variable Right Shift by Global Variable [Phobos]
Description=Applies 'Right Shift' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableReverseByGlobal]
IDOverride=18068
Name=Global Variable Bitwise NOT by Global Variable [Phobos]
Description=Applies 'Bitwise NOT' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableXorByGlobal]
IDOverride=18069
Name=Global Variable Bitwise XOR by Global Variable [Phobos]
Description=Applies 'Bitwise XOR' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableOrByGlobal]
IDOverride=18070
Name=Global Variable Bitwise OR by Global Variable [Phobos]
Description=Applies 'Bitwise OR' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
[PhobosGlobalVariableAndByGlobal]
IDOverride=18071
Name=Global Variable Bitwise AND by Global Variable [Phobos]
Description=Applies 'Bitwise AND' to a global variable using a global variable's value. Argument = variable index + global variable index * 65536. Both parts are unsigned 16-bit values (0-65535). Example: variable 3 and global variable 10 give 655363.
ParamDescription=Variable Index + Global Variable Index * 65536
ParamType=Number
; ********** PHOBOS ENDS ***********
```
In `FAData.ini`:
```ini
[ParamTypes]
47=Structures,28
54=Use GlobalVar,10
55=Operation,0
56=Variable index,0
57=Lower bound,0
58=Upper bound,0
59=Operate var is global,10
60=Operate var index,0
65=Campaign AI Repairable,0
68=House,1,2
69=Non-inert,10
70=AITargetTypes index,0
71=AttachEffectType,0
72=DropCrate Behavior,0
73=Unit Index,0
74=Mission Timer Type,0
75=Reverse Mission Timer,0
101=BannerType,0
102=Horizontal position,0
103=Vertical position,0
104=Banner ID,0
105=Map Filename,0
[EventsRA2]
500=Local variable is greater than...,48,6,0,0,[LONG DESC],0,1,500,1
501=Local variable is less than...,48,6,0,0,[LONG DESC],0,1,501,1
502=Local variable equals to...,48,6,0,0,[LONG DESC],0,1,502,1
503=Local variable is greater than or equals to...,48,6,0,0,[LONG DESC],0,1,503,1
504=Local variable is less than or equals...,48,6,0,0,[LONG DESC],0,1,504,1
505=Local variable and X is true...,48,6,0,0,[LONG DESC],0,1,505,1
506=Global variable is greater than...,48,6,0,0,[LONG DESC],0,1,506,1
507=Global variable is less than...,48,6,0,0,[LONG DESC],0,1,507,1
508=Global variable equals to...,48,6,0,0,[LONG DESC],0,1,508,1
509=Global variable is greater than or queals to...,48,6,0,0,[LONG DESC],0,1,509,1
510=Global variable is less than or equals to...,48,6,0,0,[LONG DESC],0,1,510,1
511=Global variable and X is true...,48,6,0,0,[LONG DESC],0,1,511,1
512=Local variable is greater than local variable...,48,3,0,0,[LONG DESC],0,1,500,1
513=Local variable is less than local variable...,48,3,0,0,[LONG DESC],0,1,501,1
514=Local variable equals to local variable...,48,3,0,0,[LONG DESC],0,1,502,1
515=Local variable is greater than or equals to local variable...,48,3,0,0,[LONG DESC],0,1,503,1
516=Local variable is less than or equals local variable...,48,3,0,0,[LONG DESC],0,1,504,1
517=Local variable and local variable is true...,48,3,0,0,[LONG DESC],0,1,505,1
518=Global variable is greater than local variable...,48,3,0,0,[LONG DESC],0,1,506,1
519=Global variable is less than local variable...,48,3,0,0,[LONG DESC],0,1,507,1
520=Global variable equals to local variable...,48,3,0,0,[LONG DESC],0,1,508,1
521=Global variable is greater than or queals to local variable...,48,3,0,0,[LONG DESC],0,1,509,1
522=Global variable is less than or equals to local variable...,48,3,0,0,[LONG DESC],0,1,510,1
523=Global variable and local variable is true...,48,3,0,0,[LONG DESC],0,1,511,1
524=Local variable is greater than global variable...,48,35,0,0,[LONG DESC],0,1,500,1
525=Local variable is less than global variable...,48,35,0,0,[LONG DESC],0,1,501,1
526=Local variable equals to global variable...,48,35,0,0,[LONG DESC],0,1,502,1
527=Local variable is greater than or equals to global variable...,48,35,0,0,[LONG DESC],0,1,503,1
528=Local variable is less than or equals global variable...,48,35,0,0,[LONG DESC],0,1,504,1
529=Local variable and global variable is true...,48,35,0,0,[LONG DESC],0,1,505,1
530=Global variable is greater than global variable...,48,35,0,0,[LONG DESC],0,1,506,1
531=Global variable is less than global variable...,48,35,0,0,[LONG DESC],0,1,507,1
532=Global variable equals to global variable...,48,35,0,0,[LONG DESC],0,1,508,1
533=Global variable is greater than or queals to global variable...,48,35,0,0,[LONG DESC],0,1,509,1
534=Global variable is less than or equals to global variable...,48,35,0,0,[LONG DESC],0,1,510,1
535=Global variable and global variable is true...,48,35,0,0,[LONG DESC],0,1,511,1
600=Shield of the attached object is broken,0,0,0,0,[LONG DESC],0,1,600,1
601=House owns Techno Type...,68,46,0,0,[LONG DESC],0,1,601,1
602=House doesn't own Techno Type...,68,46,0,0,[LONG DESC],0,1,602,1
604=Techno Type Entered Cell...,68,46,0,0,[LONG DESC],0,1,604,1
605=AI Target Type Entered Cell...,68,70,0,0,[LONG DESC],0,1,605,1
606=AttachEffect is attaching to a Techno...,-2,71,0,0,[LONG DESC],0,1,606,1
[ActionsRA2]
41=Play animation at a waypoint...,0,25,69,0,0,0,1,0,0,[LONG DESC].,0,1,41
125=Build at...,-10,47,0,65,0,0,1,0,0,[LONG DESC],0,1,125
500=Save game... (Phobos),-4,13,0,0,0,0,0,0,0,[LONG DESC],0,1,500,1
501=Edit variable... (Phobos),0,56,55,6,54,0,0,0,0,[LONG DESC],0,1,501,1
502=Generate random number... (Phobos),0,56,57,58,54,0,0,0,0,[LONG DESC],0,1,502,1
503=Print variable value... (Phobos),0,56,54,0,0,0,0,0,0,[LONG DESC],0,1,503,0
504=Binary operation... (Phobos),0,56,55,60,54,59,0,0,0,[LONG DESC],0,1,504,1
505=Fire Super Weapon at specified location... (Phobos),0,0,20,2,21,22,0,0,0,Launch a Super Weapon from [SuperWeaponTypes] list at a specified location. House=-1 means random target that isn't neutral. House=-2 means the first neutral house. House=-3 means random human target. Coordinate X=-1 means random. Coordinate Y=-1 means random.,0,1,505
506=Fire Super Weapon at specified waypoint... (Phobos),0,0,20,2,30,0,0,0,0,Launch a Super Weapon from [SuperWeaponTypes] list at a specified waypoint. House=-1 means random target that isn't neutral. House=-2 means the first neutral house. House=-3 means random human target. Coordinate X=-1 means random. Coordinate Y=-1 means random.,0,1,506
510=Toggle MCV Redeployablility... (Phobos),0,0,15,0,0,0,0,0,0,Set MCVRedeploys to the given value.,0,1,510
511=Building Type undeploy at... (Phobos),-10,47,2,0,0,0,1,0,0,Recycle the building type into a vehicle and move it to the specified waypoint. If the type is `<All>`, recycle all buildings.,0,1,511
512=Set Follower for Associated Unit... (Phobos),0,0,73,0,0,0,0,0,0,Sets the follower for the associated object. The parameter is the index of the follower unit.,0,1,512
513=Set Mission Timer Properties... (Phobos),0,0,74,48,75,0,0,0,0,Set the method to display mission timer and whether the timer should be displayed reversedly based on given value. Method 0=default, 1=percentage based on given value, 2=digit, 3=local variable, 4=global variable.,0,1,513
600=Configure dropped crate... (Phobos),0,72,31,0,0,0,0,0,0,Set or overwrite what crate is dropped when the attached object is destroyed. Only functions when used as attached triggers within objects. Behaviour -1=default. 1=Overwrites current crate. 0=Clear current crate.,0,1,600
606=Edit hate-value... (Phobos),0,2,55,6,0,0,0,0,0, Edit the hate-value that trigger houses to other houses. -1 works for all houses.,0,1,606
607=Clear hate-value... (Phobos),0,2,0,0,0,0,0,0,0, Clear the hate-value that trigger houses to other houses. -1 works for all houses.,0,1,607
608=Set force enemy... (Phobos),0,0,2,0,0,0,0,0,0, Force an enemy, it will not change with the change of hate-value. -1 will remove the forced enemy, -2 will never have any enemies.,0,1,608
609=Set radar mode... (Phobos),0,0,15,0,0,0,0,0,0, Trigger's house can modify the current radar mode. 0 for requires full-power and building, 1 for free radar, 2 for forced enable, 3 for forced disable.,0,1,609
610=Set team delay... (Phobos),0,0,6,0,0,0,0,0,0, Trigger's house can customize TeamDelay. When the value is less than 0 in [General] ->TeamDelays.,0,1,610
611=Set next scenario... (Phobos),-4,105,0,0,0,0,0,0,0, Set the next campaign to load after winning the current one. Works only in Campaign Mode and requires setting [Basic] -> SkipMapSelect=yes.,0,1,611
800=Display banner and local variable... (Phobos),-4,101,104,102,103,3,0,0,0,Draw banner on screen and replace banner with same ID.,0,1,800
801=Display banner and global variable... (Phobos),-4,101,104,102,103,35,0,0,0,Draw banner on screen and replace banner with same ID.,0,1,801
802=Delete banner... (Phobos),0,104,0,0,0,0,0,0,0,Delete banner with ID.,0,1,802
; FOLLOWING ENTRIES REQUIRE FA2SP.DLL (by secsome)
[ScriptTypeLists]
1=ScriptLocalVariable
2=ScriptGlobalVariable
3=ScriptLocalVariable_Local
4=ScriptLocalVariable_Global
5=ScriptGlobalVariable_Local
6=ScriptGlobalVariable_Global
[ScriptLocalVariable]
HasExtraParam=Yes
BuiltInType=14
[ScriptGlobalVariable]
HasExtraParam=Yes
BuiltInType=5
[ScriptLocalVariable_Local]
HasExtraParam=Yes
ExtraParamType=ScriptExtType_LocalVariables
BuiltInType=14
[ScriptLocalVariable_Global]
HasExtraParam=Yes
ExtraParamType=ScriptExtType_GlobalVariables
BuiltInType=14
[ScriptGlobalVariable_Local]
HasExtraParam=Yes
ExtraParamType=ScriptExtType_LocalVariables
BuiltInType=5
[ScriptGlobalVariable_Global]
HasExtraParam=Yes
ExtraParamType=ScriptExtType_GlobalVariables
BuiltInType=5
[ScriptExtType_LocalVariables]
BuiltInType=14
[ScriptExtType_GlobalVariables]
BuiltInType=5
[ScriptsRA2]
10100=Timed Area Guard,20,0,1,[LONG DESC]
10101=Wait until ammo is full,0,0,1,[LONG DESC]
10102=Regroup Temporarily Around the Team Leader,20,0,1,[LONG DESC]
10103=Load Onto Transports,0,0,1,[LONG DESC]
10104=Chronoshift to Enemy Base,20,0,1,[LONG DESC]
14004=Force Global OnlyTargetHouseEnemy value in Teams,20,0,1,[LONG DESC]
18000=Local variable set,22,0,1,[LONG DESC]
18001=Local variable add,22,0,1,[LONG DESC]
18002=Local variable minus,22,0,1,[LONG DESC]
18003=Local variable multiply,22,0,1,[LONG DESC]
18004=Local variable divide,22,0,1,[LONG DESC]
18005=Local variable mod,22,0,1,[LONG DESC]
18006=Local variable leftshift,22,0,1,[LONG DESC]
18007=Local variable rightshift,22,0,1,[LONG DESC]
18008=Local variable reverse,22,0,1,[LONG DESC]
18009=Local variable xor,22,0,1,[LONG DESC]
18010=Local variable or,22,0,1,[LONG DESC]
18011=Local variable and,22,0,1,[LONG DESC]
18012=Global variable set,23,0,1,[LONG DESC]
18013=Global variable add,23,0,1,[LONG DESC]
18014=Global variable minus,23,0,1,[LONG DESC]
18015=Global variable multiply,23,0,1,[LONG DESC]
18016=Global variable divide,23,0,1,[LONG DESC]
18017=Global variable mod,23,0,1,[LONG DESC]
18018=Global variable leftshift,23,0,1,[LONG DESC]
18019=Global variable rightshift,23,0,1,[LONG DESC]
18020=Global variable reverse,23,0,1,[LONG DESC]
18021=Global variable xor,23,0,1,[LONG DESC]
18022=Global variable or,23,0,1,[LONG DESC]
18023=Global variable and,23,0,1,[LONG DESC]
18024=Local variable set by local variable,24,0,1,[LONG DESC]
18025=Local variable add by local variable,24,0,1,[LONG DESC]
18026=Local variable minus by local variable,24,0,1,[LONG DESC]
18027=Local variable multiply by local variable,24,0,1,[LONG DESC]
18028=Local variable divide by local variable,24,0,1,[LONG DESC]
18029=Local variable mod by local variable,24,0,1,[LONG DESC]
18030=Local variable leftshift by local variable,24,0,1,[LONG DESC]
18031=Local variable rightshift by local variable,24,0,1,[LONG DESC]
18032=Local variable reverse by local variable,24,0,1,[LONG DESC]
18033=Local variable xor by local variable,24,0,1,[LONG DESC]
18034=Local variable or by local variable,24,0,1,[LONG DESC]
18035=Local variable and by local variable,24,0,1,[LONG DESC]
18036=Global variable set by local variable,25,0,1,[LONG DESC]
18037=Global variable add by local variable,25,0,1,[LONG DESC]
18038=Global variable minus by local variable,25,0,1,[LONG DESC]
18039=Global variable multiply by local variable,25,0,1,[LONG DESC]
18040=Global variable divide by local variable,25,0,1,[LONG DESC]
18041=Global variable mod by local variable,25,0,1,[LONG DESC]
18042=Global variable leftshift by local variable,25,0,1,[LONG DESC]
18043=Global variable rightshift by local variable,25,0,1,[LONG DESC]
18044=Global variable reverse by local variable,25,0,1,[LONG DESC]
18045=Global variable xor by local variable,25,0,1,[LONG DESC]
18046=Global variable or by local variable,25,0,1,[LONG DESC]
18047=Global variable and by local variable,25,0,1,[LONG DESC]
18048=Local variable set by global variable,26,0,1,[LONG DESC]
18049=Local variable add by global variable,26,0,1,[LONG DESC]
18050=Local variable minus by global variable,26,0,1,[LONG DESC]
18051=Local variable multiply by global variable,26,0,1,[LONG DESC]
18052=Local variable divide by global variable,26,0,1,[LONG DESC]
18053=Local variable mod by global variable,26,0,1,[LONG DESC]
18054=Local variable leftshift by global variable,26,0,1,[LONG DESC]
18055=Local variable rightshift by global variable,26,0,1,[LONG DESC]
18056=Local variable reverse by global variable,26,0,1,[LONG DESC]
18057=Local variable xor by global variable,26,0,1,[LONG DESC]
18058=Local variable or by global variable,26,0,1,[LONG DESC]
18059=Local variable and by global variable,26,0,1,[LONG DESC]
18060=Global variable set by global variable,27,0,1,[LONG DESC]
18061=Global variable add by global variable,27,0,1,[LONG DESC]
18062=Global variable minus by global variable,27,0,1,[LONG DESC]
18063=Global variable multiply by global variable,27,0,1,[LONG DESC]
18064=Global variable divide by global variable,27,0,1,[LONG DESC]
18065=Global variable mod by global variable,27,0,1,[LONG DESC]
18066=Global variable leftshift by global variable,27,0,1,[LONG DESC]
18067=Global variable rightshift by global variable,27,0,1,[LONG DESC]
18068=Global variable reverse by global variable,27,0,1,[LONG DESC]
18069=Global variable xor by global variable,27,0,1,[LONG DESC]
18070=Global variable or by global variable,27,0,1,[LONG DESC]
18071=Global variable and by global variable,27,0,1,[LONG DESC]
[ScriptParams]
22=Local variables,-1
23=Global variables,-2
24=Local variables,-3
25=Local variables,-4
26=Global variables,-5
27=Global variables,-6
```
:open:
#### New:
- [Customized transport plane for teams](AI-Scripting-and-Mapping.md#customized-transport-plane-for-teams) (by FlyStar)
- [Modify ammo on impact](New-or-Enhanced-Logics.md#modify-ammo-on-impact) (by FS-21)
- [Customize ivan bomb visibility](Fixed-or-Improved-Logics.md#customize-ivan-bomb-visibility) (by NetsuNegi)
- [Customize whether mind-controlled `Insignificant` technos can be auto-targeted](Fixed-or-Improved-Logics.md#customize-whether-mind-controlled-insignificant-technos-can-be-auto-targeted) (by Noble_Fish)
- [AutoDeath based on player power status and player credits](New-or-Enhanced-Logics.md#kill-object-automatically) (by Flactine)
- [Roof production anim](New-or-Enhanced-Logics.md#roof-production-anim) (by Noble_Fish)
- [Customize whether the unit exits from the roof](Fixed-or-Improved-Logics.md#customize-whether-the-unit-exits-from-the-roof) (by Noble_Fish)
- [Customize whether the unit can be detected by psychic detector](Fixed-or-Improved-Logics.md#customize-whether-the-unit-can-be-detected-by-psychic-detector) (by Noble_Fish)
- [Cloak Enhancement](New-or-Enhanced-Logics.md#cloak-enhancement) (by NetsuNegi)
- [`513` Set mission timer properties](AI-Scripting-and-Mapping.md#set-mission-timer-properties) (by Ollerus)
- [Extended `CanTargetHouses` to allow targeting neutral houses](New-or-Enhanced-Logics.md#weapon-targeting-filter) (by weiyongxuan)
- [Customizable infantry sequence rates](New-or-Enhanced-Logics.md#customizable-infantry-sequence-rates) (by Noble_Fish)
- `<Player @ X>` can now be used as owner for triggers on skirmish and multiplayer maps (by Starkku)
- `RANGE`, `CRITIMMUNE` and `CRITCHANCE` promotion abilities (by Ollerus)
- [Attached animation draw offset customizations](Fixed-or-Improved-Logics.md#draw-offset-customization) (by Starkku)
- [Draw offset rules for AttachEffect animations](New-or-Enhanced-Logics.md#attached-effects) (by Starkku)
- [Allowed customize that whether `Temporal=yes` warhead will cause target building animation poweroff](Fixed-or-Improved-Logics.md#allow-customize-that-whether-temporal-yes-warhead-will-cause-target-building-animation-poweroff) (by NetsuNegi)
- Country-based attached effects (by Ollerus)
- [Customizable crew type per country](Fixed-or-Improved-Logics.md#customizable-crew-type-per-country) (by Sovietianqi, FlyStar, Noble_Fish)
- [Country-specific veteran buildings](Fixed-or-Improved-Logics.md#country-specific-veteran-buildings) (by Noble_Fish)
- [Allow Tiberium to grow and spread on slopes](Fixed-or-Improved-Logics.md#grow-and-spread-on-slopes) (by FS-21)
- [Customize `IdleActionFrequency`](Fixed-or-Improved-Logics.md#customize-idleactionfrequency) (by Noble_Fish)
- [Enter the grinder voice](Fixed-or-Improved-Logics.md#enter-the-grinder-voice) (by FlyStar)
- [Customize the country displayed in `Sight`](Fixed-or-Improved-Logics.md#customize-the-country-displayed-in-sight) (by FlyStar)
- [Detonate ivan bomb on impact](New-or-Enhanced-Logics.md#detonate-ivan-bomb-on-impact) (by dh381)
- [Customize `MissileSafetyAltitude` and whether missiles fly to the target or climb when losing target](Fixed-or-Improved-Logics.md#customize-missilesafetyaltitude-and-whether-missiles-fly-to-the-target-or-climb-when-losing-target) (by NetsuNegi & Noble_Fish)
- [Customize `DefaultToGuardArea` per gunner mode](Fixed-or-Improved-Logics.md#customize-defaulttoguardarea-per-gunner-mode) (by Noble_Fish)
- Attach effect when weapon fire (by CrimRecya)
- [Hotkey for cycling through the current selection](User-Interface.md#cycle-selection) (by FrozenFog)
- [Hotkey for cycling through the types in the current selection](User-Interface.md#cycle-type-selection) (by FrozenFog)
- [Customizable type order and selection summary for the type cycle of the current selection](User-Interface.md#cycle-type-selection) (by FrozenFog)
- [AttachEffect `CumulativeAnimations` count increment customization](New-or-Enhanced-Logics.md#attached-effects) (by Starkku)
- [More convenient vanilla action script target specification](AI-Scripting-and-Mapping.md#more-convenient-vanilla-action-script-target-specification) (by NetsuNegi)
- Global default value for `ShouldUseCellDrawer` (by Noble_Fish)
- [New `NoAmmoWeapons` tag supporting multiple weapon types](New-or-Enhanced-Logics.md#no-ammo-weapons) (by FlyStar)
#### Vanilla fixes:
- Fixed the bug where a building with `Factory=BuildingType` owned by the AI did not play `ProductionAnim` when placing a produced building (by Noble_Fish)
- Fixed the bug that buildings with passengers cannot unload via the Deploy hotkey or command bar button (by Noble_Fish)
- Fixed the issue where vehicles always finish turret resetting first before turn to a new attack target, now it should turn to new target immediately (by NetsuNegi)
- Fixed the bug that computer player record cannot be log normally in non English mode (by NetsuNegi)
- Fixed the bug that setting `WalkRate=0` on a TechnoType crashed the game (integer divide-by-zero) the moment an object of that type started moving (by Noble_Fish)
- Observer can see IvanBomb that's attached by any house (by NetsuNegi)
- Fixed crashes and freezes caused by Tiberium growth and spread (by FS-21)
- Fixed Tiberium types not supporting overrides in map and game mode INIs (by FS-21)
- The parachute animation supports `ShouldUseCellDrawer=no` to remove the hard-coded requirement to use the owner's color palette, while inheriting the animation owner's current country (by FlyStar)
#### Phobos fixes:
- Fixed a game crash when parsing string list with null entry (by Ollerus)
- Fixed the bug where `Ranged=true` causes projectiles using the new Trajectory to ignore settings such as `BounceTimes` (by Noble_Fish)
- Fixed `DiscardOn=entry` AttachEffects not triggering `ExpireWeapon` with on-discard trigger on entry (by Starkku)
- Fixed several shield respawn/self heal issues (by Ollerus)
- Fixed a bug where `VoiceEnter` and `VoiceMove` were not played correctly when a unit entered a building with `NoQueueUpToEnter=yes` (by FlyStar)
- Fixed Tiberium trees with max `SpawnsTiberium.GrowthStage` failing to spread Tiberium to neighboring cells (by FS-21)
- Fixed the bug where Tiberium veins overlay used the wrong palette instead of matching the Veinhole Monster (by FS-21)
- Fixed script action `18000 Local variable set` doing nothing (by ZivDero)
- Fixed some of the variable comparison trigger events `512-535` not reacting to changes of the variables they compare (by ZivDero)
- Fixed operation `8` of trigger action `504 Binary operation` assigning the second variable's value instead of doing `~CurrentValue` (by ZivDero)
- Fixed tint effects on `Cumulative=true` AttachEffects not stacking. This behaviour can be disabled by setting `Tint.Cumulative=false` (by Starkku)
#### Fixes / interactions with other extensions:
- Allowed `SW.ShowCameo` and `SW.ManualFire` to work independently of `SW.AutoFire` (by Noble_Fish)
- [Added a global default value for `KeepAlive`](Fixed-or-Improved-Logics.md#add-a-global-default-value-for-keepalive) (by FlyStar)
- Fixed the bug that Ares tunnel-type buildings cannot unload via the Deploy hotkey or command bar button (by Noble_Fish)
#### New:
- [Allow using waypoints, area guard and attack move with aircraft](Fixed-or-Improved-Logics.md#extended-aircraft-missions) (by CrimRecya)
- [Enhanced Straight trajectory](New-or-Enhanced-Logics.md#straight-trajectory) (by CrimRecya)
- [Enable building production queue](User-Interface.md#building-production-queue) (by CrimRecya)
- [Custom exit cell for infantry factory](Fixed-or-Improved-Logics.md#custom-exit-cell-for-infantry-factory) (by Starkku)
- [Option for vehicles to keep target when issued move command](Fixed-or-Improved-Logics.md#retain-target-on-movement-command) (by Starkku)
- [Skip anim delay for burst fire](Fixed-or-Improved-Logics.md#skip-anim-delay-for-burst-fire) (by TaranDahl)
- [Extending `Power` to all TechnoTypes](Fixed-or-Improved-Logics.md#power-drain-for-units) (by Morton)
- [New Parabola trajectory](New-or-Enhanced-Logics.md#parabola-trajectory) (by CrimRecya)
- [Type select for buildings](User-Interface.md#type-select-for-buildings) (code by TaranDahl, doc by Ollerus)
- [Raise alert when technos are taking damage](New-or-Enhanced-Logics.md#raise-alert-when-technos-are-taking-damage) (by TaranDahl)
- [Enhanced Bombard trajectory](New-or-Enhanced-Logics.md#bombard-trajectory) (by CrimRecya & Ollerus, based on knowledge of NaotoYuuki)
- [Toggle waypoint for building](Fixed-or-Improved-Logics.md#waypoints-for-buildings) (by TaranDahl)
- [Bunkerable checks dehardcode](Fixed-or-Improved-Logics.md#tank-bunker-improvements) (by TaranDahl)
- [No turret unit turn to the target](Fixed-or-Improved-Logics.md#unit-without-turret-always-turn-to-target) (by CrimRecya & TaranDahl)
- [Damage multipliers](New-or-Enhanced-Logics.md#damage-multipliers) (by CrimRecya & Ollerus)
- Customizable duration for electric bolts (by Starkku)
- Customizable FLH tracking for electric bolts (by Starkku)
- [Extended gattling rate down logic](New-or-Enhanced-Logics.md#extended-gattling-rate-down-logic) (by CrimRecya)
- [Sell or undeploy building on impact](New-or-Enhanced-Logics.md#sell-or-undeploy-building-on-impact) (by CrimRecya)
- [No rearm and reload in EMP or temporal](New-or-Enhanced-Logics.md#no-rearm-and-reload-in-emp-or-temporal) (by CrimRecya)
- [Technos recount current burst index when change the firing weapon](New-or-Enhanced-Logics.md#recount-burst-index) (by CrimRecya)
- Shield armor inheritance customization (by Ollerus)
- [Damaged unit image changes](New-or-Enhanced-Logics.md#damaged-unit-image-changes) (by Fryone)
- [Customizable spawns queue](New-or-Enhanced-Logics.md#customizable-spawns-queue) (by TwinkleStar)
- [Initial spawns number](New-or-Enhanced-Logics.md#initial-spawns-number) (by TwinkleStar)
- [Override target under EMP attack behavior](New-or-Enhanced-Logics.md#forcing-specific-weapon-against-certain-targets) (By FS-21)
- [Aircraft spawner recycling improvements (custom offset, animation etc.)](New-or-Enhanced-Logics.md#aircraft-spawner-customizations) (by TaranDahl)
- [Technos can maintain a suitable distance after firing](New-or-Enhanced-Logics.md#keep-range-after-firing) (by CrimRecya)
- [Projectile subject to ground check before firing](New-or-Enhanced-Logics.md#projectiles-blocked-by-land-or-water) (by CrimRecya)
- [Delay automatic attack on the controlled unit](Fixed-or-Improved-Logics.md#delay-automatic-attack-on-the-controlled-unit) (by CrimRecya)
- [Parabombs](New-or-Enhanced-Logics.md#parabombs) (by Starkku & TaranDahl)
- [Sinkablity and sinking speed customization](Fixed-or-Improved-Logics.md#sinking-behavior-dehardcode) (by TaranDahl)
- [Fast access vehicle](New-or-Enhanced-Logics.md#fast-access-vehicle) (by CrimRecya)
- Laser, electric bolt and rad beam scatter (by CrimRecya)
- [Airburst weapon firing/source coordinate and firing effect & offset customizations](Fixed-or-Improved-Logics.md#airburst--splits) (by Starkku)
- [AlternateFLH on-turret toggle](Fixed-or-Improved-Logics.md#alternate-flh-customizations) (by Starkku)
- [Fire weapon when Warhead kills something](New-or-Enhanced-Logics.md#fire-weapon-when-warhead-kills-something) (by Ollerus)
- [Prone speed customization](Fixed-or-Improved-Logics.md#prone-speed-customization) (by TaranDahl)
- [Customize damaged speed ratio of drive/ship loco](Fixed-or-Improved-Logics.md#damaged-speed-customization) (by NetsuNegi)
- [Customize overpower logic](Fixed-or-Improved-Logics.md#customize-overpower-logic) (by NetsuNegi)
- [Promotion animation deglobalization](New-or-Enhanced-Logics.md#promotion-animation) (by Ollerus)
- Enhanced [reveal](New-or-Enhanced-Logics.md#reveal-map-for-owner-on-impact) & [gap](New-or-Enhanced-Logics.md#shroud-map-for-enemies-on-impact) warhead (by NetsuNegi)
- [Forcing specific weapon by range and target type](New-or-Enhanced-Logics.md#forcing-specific-weapon-against-certain-targets) (by Ollerus)
- [Jumpjet Tilts While Moving](New-or-Enhanced-Logics.md#jumpjet-tilts-while-moving) (by CrimRecya)
- [Spawned aircraft facing to match turret toggle](New-or-Enhanced-Logics.md#aircraft-spawner-customizations) (by Starkku)
- [Removed dependency on `blowfish.dll`](Miscellanous.md#blowfish-dependency) (by ZivDero)
- [Warhead that can not kill](New-or-Enhanced-Logics.md#warhead-that-can-not-kill) (by FS-21)
- [Customize parasite culling targets](Fixed-or-Improved-Logics.md#customizing-parasite-culling-targets) (by NetsuNegi)
- [Overload characteristic dehardcoded](New-or-Enhanced-Logics.md#overload-characteristic-dehardcoded) (by Otamaa)
- [RadarInvisible for non-enemy house](Fixed-or-Improved-Logics.md#radarinvisible-for-non-enemy-house) (By TaranDahl)
- New `Pips.HideIfNoStrength` and `SelfHealing.EnabledBy` additions for shields (by FS-21)
- [Customize harvester dump amount](Fixed-or-Improved-Logics.md#customize-harvester-dump-amount) (by NetsuNegi)
- [Select box logic](User-Interface.md#select-box) (by NetsuNegi)
- [Customize airstrike targets](Fixed-or-Improved-Logics.md#airstrike-target-eligibility) (by NetsuNegi)
- [Aggressive attack move mission](New-or-Enhanced-Logics.md#aggressive-attack-move-mission) (by CrimRecya)
- [Amphibious access vehicle](New-or-Enhanced-Logics.md#amphibious-access-vehicle) (by CrimRecya)
- [Allow miners do area guard](Fixed-or-Improved-Logics.md#allow-miners-do-area-guard) (by TaranDahl)
- [Make harvesters do addtional scan after unload](Fixed-or-Improved-Logics.md#make-harvesters-do-addtional-scan-after-unload) (by TaranDahl)
- [Passenger-based insignias](Fixed-or-Improved-Logics.md#customizable-veterancy-insignias) (by Ollerus)
- [Use `InsigniaType` to set the properties of insignia in a batch](Miscellanous.md#insignia-type) (by Ollerus)
- [Tiberium eater logic](New-or-Enhanced-Logics.md#tiberium-eater) (by NetsuNegi)
- [Customize the damage taken when falling from a bridge](Fixed-or-Improved-Logics.md#customize-bridge-falling-down-damage) (by FlyStar)
- Dehardcoded 255 limit of `OverlayType` (by secsome & ZivDero)
- [Customizable airstrike flare colors](Fixed-or-Improved-Logics.md#airstrike-flare-customizations) (by Starkku)
- Allowed player's self-healing effects to be benefited by allied or `PlayerControl=true` houses (by Ollerus)
- [Exclusive SuperWeapon Sidebar](User-Interface.md#superweapon-sidebar) (by NetsuNegi & CrimRecya)
- [Customize the scatter caused by aircraft attack mission](Fixed-or-Improved-Logics.md#customize-the-scatter-caused-by-aircraft-attack-mission) (by TaranDahl)
- [Customizable garrison and bunker properties](Fixed-or-Improved-Logics.md#customizable-garrison-and-bunker-properties) (by Otamaa)
- [Disable `DamageSound` for buildings](Fixed-or-Improved-Logics.md#disable-damagesound) (by Otamaa)
- [Power plant damage factor](Fixed-or-Improved-Logics.md#power-plant-damage-factor) (by Otamaa and Ollerus)
- [Customize whether `Crater=yes` animation would destroy tiberium](Fixed-or-Improved-Logics.md#customize-whether-crater-yes-animation-would-destroy-tiberium) (by TaranDahl)
- Weapon target filtering by health percentage (by NetsuNegi)
- [Turretless vehicles with `Voxel=no` support use `FireUp` like infantry](New-or-Enhanced-Logics.md#turretless-shape-vehicle-fireup) (by FlyStar)
- Infantry support `IsGattling=yes` (by FlyStar)
- [Several new Infotypes, no display in specific status and a new single frame display method](User-Interface.md#digital-display) (by CrimRecya)
- [Targeting limitation for berzerk technos](New-or-Enhanced-Logics.md#targeting-limitation-for-berzerk-technos) (by TaranDahl)
- Allowed faking digital display for `InfoType=Health` at disguise (by Ollerus)
- [Warhead activation target health thresholds](Fixed-or-Improved-Logics.md#customizable-warhead-trigger-conditions) (by FS-21 & Kerbiter)
- [Customize limit and sound when engineer repair a building](New-or-Enhanced-Logics.md#engineer-repair-customization) (by NetsuNegi)
- [Customizable debris trailer anim spawn delay](Fixed-or-Improved-Logics.md#customizable-debris-trailer-anim-spawn-delay) (by CrimRecya)
- [Display banner](AI-Scripting-and-Mapping.md#display-banner) (by Morton & ststl)
- [Allows refineries to use multiple ActiveAnim simultaneously](Fixed-or-Improved-Logics.md#allows-refineries-to-use-multiple-activeanim-simultaneously) (by TaranDahl)
- Electric/RadBeam trail for laser tails (by NetsuNegi)
- Add `DebrisMinimums` to keep the count of debris within a certain range (by CrimRecya)
- [Attack move - follow](New-or-Enhanced-Logics.md#attack-move-follow) and [attack move - without weapon](New-or-Enhanced-Logics.md#attack-move-without-weapon) (by TaranDahl)
- Ground line for select box (by NetsuNegi)
- [Support for more optional weapons](New-or-Enhanced-Logics.md#multi-weapon) (by FlyStar)
- [Task subtitles display in the middle of the screen](User-Interface.md#task-subtitles-display-in-the-middle-of-the-screen) (by CrimRecya)
- [Event 606: AttachEffect is attaching to a Techno](AI-Scripting-and-Mapping.md#attacheffect-is-attaching-to-a-techno) (by FS-21)
- [Linked superweapons](New-or-Enhanced-Logics.md#linked-superweapons) (by FS-21)
- [Delayed fire weapons](New-or-Enhanced-Logics.md#delayed-firing) (by Starkku)
- [Burst without delay](New-or-Enhanced-Logics.md#burst-without-delay) (by CrimRecya & TaranDahl)
- [Target scanning delay customization](Fixed-or-Improved-Logics.md#target-scanning-delay-optimization) (by TaranDahl & solar-III)
- [Force techno targeting in distributed frames to improve performance](Fixed-or-Improved-Logics.md#force-techno-targeting-in-distributed-frames-to-improve-performance) (by TaranDahl)
- [Damaged aircraft image changes](New-or-Enhanced-Logics.md#damaged-aircraft-image-changes) (by Fryone)
- [Additional attached animation position customizations](Fixed-or-Improved-Logics.md#attached-animation-position-customization) (by Starkku)
- Use `SkipCrushSlowdown=true` to avoid the bug related to `Accelerates=true` and `MovementZone=CrushAll` (by TaranDahl)
- [Automatic conversion based on ammo](New-or-Enhanced-Logics.md#automatic-conversion-based-on-ammo) (by FS-21)
- [Units can customize the attack voice that plays when using more weapons](New-or-Enhanced-Logics.md#multi-voiceattack) (by FlyStar)
- Customize squid grapple animation (by NetsuNegi)
- [Auto deploy for GI-like infantry](Fixed-or-Improved-Logics.md#auto-deploy-for-gi-like-infantry) (by TaranDahl)
- [Vehicles that have lost their target can customize the turret direction to align with the vehicle body](New-or-Enhanced-Logics.md#turret-response) (by FlyStar)
- [Reverse engineer warhead](New-or-Enhanced-Logics.md#reverse-engineer-warhead) (by CrimRecya)
- [AI base construction modification](Fixed-or-Improved-Logics.md#ai-base-construction-modification) (by CrimRecya)
- [Jumpjet Climbing Logic Enhancement](Fixed-or-Improved-Logics.md#jumpjet-climbing-logic-enhancement) (by CrimRecya)
- [Restore turret recoil effect](Fixed-or-Improved-Logics.md#turret-recoil) (by CrimRecya)
- [Customize hardcoded projectile initial facing behavior](Fixed-or-Improved-Logics.md#customizing-initial-facing-behavior) (by Starkku)
- Health bar permanently displayed (by FlyStar)
- [`IsSimpleDeployer` facing and deploy check, customization & directional deploy animations](Fixed-or-Improved-Logics.md#issimpledeployer-customizations) (by Starkku)
- [Ammo-based deploy customizations for vehicles expanded to non-IsSimpleDeployer deploy functions](New-or-Enhanced-Logics.md#automatic-deploy-and-blocking-deploying-based-on-ammo) (by Starkku)
- Randomized anims for several behaviors (by Ollerus)
- Shield respawn animation and weapon (by Ollerus)
- [Customize the chained damage of the wall](Fixed-or-Improved-Logics.md#customize-the-chained-damage-of-the-wall) (by TaranDahl)
- Allow the aircraft to enter area guard mission and not crash immediately without any airport (by CrimRecya)
- [Unlimbo Detonate warhead](New-or-Enhanced-Logics.md#unlimbo-detonate-warhead) (by FlyStar)
- [Attack](New-or-Enhanced-Logics.md#attack-technos-underground) and [damage](New-or-Enhanced-Logics.md#damage-technos-underground) technos underground (by TaranDahl)
- Fast access structure (by FlyStar)
- Toggle off laser trail and shake effects (by Ollerus)
- [Dehardcode the `ZAdjust` of warhead anim](Fixed-or-Improved-Logics.md#dehardcode-the-zadjust-of-warhead-anim) (by TaranDahl)
- [Interceptor target scan delay customization & cylindrical rangefinding](New-or-Enhanced-Logics.md#projectile-interception-logic) (by Starkku)
- [Allow deploy controlled MCV](Fixed-or-Improved-Logics.md#allow-deploy-controlled-mcv) (by NetsuNegi)
- [Customize if cloning need power](Fixed-or-Improved-Logics.md#customize-if-cloning-need-power) (by NetsuNegi)
- [Added Target Filtering Options to AttachEffect System](New-or-Enhanced-Logics.md#attached-effects) (by Flactine)
- [Customize type selection for IFV](Fixed-or-Improved-Logics.md#customize-type-selection-for-ifv) (by NetsuNegi)
- [CellSpread in cylinder shape](New-or-Enhanced-Logics.md#cellspread-enhancement) (by TaranDahl)
- [CellSpread damage check if victim is in air or on floor](New-or-Enhanced-Logics.md#cellspread-enhancement) (by TaranDahl)
- OpenTopped range bonus and damage multiplier customization for passengers (by Ollerus)
- AutoDeath upon ownership change (by Ollerus)
- [Script Action 14004 for forcing all new actions to target only the main owner's enemy](AI-Scripting-and-Mapping.md#force-global-onlytargethouseenemy-value-in-teams-for-new-attack-move-actions-introduced-by-phobos) (by FS-21)
- [Allow merging AOE damage to buildings into one](New-or-Enhanced-Logics.md#allow-merging-aoe-damage-to-buildings-into-one) (by CrimRecya)
- [Allow customizing whether to synchronously change the owner of the RadioLink-linked units when the owner of a building changes](Fixed-or-Improved-Logics.md#custom-whether-to-synchronously-change-the-owner-of-the-radiolink-linked-units-when-the-owner-of-a-building-changes) (by TaranDahl)
- [Toggle per-target warhead effects apply timing](New-or-Enhanced-Logics.md#toggle-per-target-warhead-effects-apply-timing) (by TaranDahl)
- [Extra range for chasing and pre-firing](New-or-Enhanced-Logics.md#extra-range) (by TaranDahl)
- [Allow techno type considered as other type when recruiting techno for teams](Fixed-or-Improved-Logics.md#allow-techno-type-considered-as-other-type-when-recruiting-techno-for-teams) (by NetsuNegi)
- Map Action [`511` Undeploy Building to Waypoint](AI-Scripting-and-Mapping.md#undeploy-building-to-waypoint), [`609` Set Radar Mode](AI-Scripting-and-Mapping.md#set-radar-mode), [`610` Set house's `TeamDelays` value](AI-Scripting-and-Mapping.md#set-house-s-teamdelays-value) (by FlyStar)
- [Toggle to exclude technos from base center calculations](New-or-Enhanced-Logics.md#exclusion-from-base-center-calculations) (by Starkku)
- [Weapons now support `AttackFriendlies` and `AttackCursorOnFriendlies`](Fixed-or-Improved-Logics.md#can-attack-allies) (by FlyStar)
- [Attack non-threatening structures extensions](New-or-Enhanced-Logics.md#attack-non-threatening-structures-techno) (by FlyStar)
- [Customize size for mind controlled unit](New-or-Enhanced-Logics.md#mind-control-enhancement) (by NetsuNegi)
- [Deploy priority filtering](New-or-Enhanced-Logics.md#low-priority-for-deploy) (by Starkku)
- [Weapon target filtering by target veterancy](New-or-Enhanced-Logics.md#weapon-targeting-filter) (by Flactine)
- [Warhead effect filtering by target veterancy](Fixed-or-Improved-Logics.md#customizable-warhead-trigger-conditions) (by Flactine)
- [Vehicle Deployment Enhancement](Fixed-or-Improved-Logics.md#deployment-enhancement) (by FlyStar)
- `ProductionAnim` is now available for `Factory=InfantryType` as well as non-`ConstructionYard=true` `Factory=BuildingType` buildings (by Starkku)
- [Extra settings for `Adjacent.Disallowed`](New-or-Enhanced-Logics.md#build-area-customizations) (by Starkku)
- [Allow customizing how many times `FactoryPlant` bonuses can be applied from a BuildingType](Fixed-or-Improved-Logics.md#factoryplant-customizations) (by Starkku)
- [Maximum amount for power plant enhancer](New-or-Enhanced-Logics.md#power-plant-enhancer) (by Ollerus)
- [Return warhead](New-or-Enhanced-Logics.md#return-warhead) (by Ollerus)
- [`AllowBerzerkOnAllies`](Fixed-or-Improved-Logics.md#berzerk-on-allies) (by TaranDahl)
- [Customize whether weapon can be used to targeting ironcurtained technos or not](New-or-Enhanced-Logics.md#customize-whether-weapon-can-target-iron-curtained-technos) (by NetsuNegi)
- [Customizable disk drain logic](New-or-Enhanced-Logics.md#customizable-disk-drain-logic) (by NetsuNegi)
- [Customizable paradropped unit missions](Fixed-or-Improved-Logics.md#customizable-paradrop-missions) (by Starkku)
- [Customizable paradrop delay](Fixed-or-Improved-Logics.md#customizable-paradrop-delay) (by Starkku)
- Option to scale `PowerSurplus` setting if enabled to current power drain with `PowerSurplus.ScaleToDrainAmount` (by Starkku)
- Global default value for `DefaultToGuardArea` (by TaranDahl)
- [Weapon range finding in cylinder](New-or-Enhanced-Logics.md#range-finding-in-cylinder) (by TaranDahl)
- [Penetrates damage on transporter](New-or-Enhanced-Logics.md#penetrates-damage-on-transporter) (by NetsuNegi)
- Added amount limit of `LimboKill` (by NetsuNegi)
- [Customizations for techno type target scan/guard range](Fixed-or-Improved-Logics.md#target-scan-guard-range-customizations) (by Starkku)
- [Spawns particle when spawns tiberium by terrain](Fixed-or-Improved-Logics.md#customizable-ore-spawners) (by NetsuNegi)
- Allow jumpjet climbing ignore building height (by TaranDahl)
- [Allow draw SuperWeapon timer as percentage](User-Interface.md#allow-draw-superweapon-timer-as-percentage) (by NetsuNegi)
- Customize particle system of parasite logic (by NetsuNegi)
- [Taunt warhead](New-or-Enhanced-Logics.md#taunt-warhead) (by TaranDahl)
- [Custom hover vehicles shutdown drowning death](New-or-Enhanced-Logics.md#custom-hover-vehicles-shutdown-drowning-death) (by FlyStar)
- [SHP turret vehicles support the use of `*tur.shp` files](New-or-Enhanced-Logics.md#independent-shp-vehicle-turret-files) (by FlyStar)
- [Implement `CurleyShuffle` for AircraftTypes](Fixed-or-Improved-Logics.md#implement-curleyshuffle-for-aircrafttypes) (ported from Vinifera by Noble_Fish)
- Customize which parasite can remove by warhead (by NetsuNegi)
- Add toggle of whether shield use ArmorMultiplier or not (by NetsuNegi)
- Allow the [use of more precise calculation of repair costs](Fixed-or-Improved-Logics.md#use-more-precise-calculation-of-repair-costs) (by NetsuNegi)
- [Customize default mirage disguises per vehicletypes](New-or-Enhanced-Logics.md#default-mirage-disguise-for-individual-vehicletypes) (by NetsuNegi)
- [Allow customize jumpjet properties on warhead](Fixed-or-Improved-Logics.md#customizing-locomotor-warhead) (by NetsuNegi)
- Customize effects range of power plant enhancer (by NetsuNegi)
- Allow each side to customize the color when the proportion of working miners is higher than `HarvesterCounter.ConditionYellow` (by Noble_Fish)
- [Allow disable an over-optimization in targeting](Fixed-or-Improved-Logics.md#allow-disable-an-over-optimization-in-targeting) (by TaranDahl)
- [Extra threat](New-or-Enhanced-Logics.md#extra-threat) (by TaranDahl)
- [Technos with Walk locomotor spawn wake like ship](Fixed-or-Improved-Logics.md#customizable-wake-anim) (by TaranDahl)
- [Updateable firing anim](Fixed-or-Improved-Logics.md#updateable-firing-anim) (by TaranDahl)
- [Hotkey for deselect object from current selection](User-Interface.md#deselect-object-s) (by FrozenFog)
- [Additional customizations for `Splits` concerning target selection](Fixed-or-Improved-Logics.md#airburst--splits) (by Starkku)
- [Allow replacing vanilla repairing with togglable auto repairing](User-Interface.md#allow-replacing-vanilla-repairing-with-togglable-auto-repairing) (by TaranDahl)
- Use `OpenTopped.AllowFiringIfAttackedByLocomotor` to control whether the passengers of a non-building transport unit can fire when the unit is being attacked by a weapon whose warhead has `IsLocomotor=true` (by Noble_Fish)
- Framework for dynamic sight (by TaranDahl)
- [Customize `HarvesterLoadRate`](Fixed-or-Improved-Logics.md#customize-harvesterloadrate) (by Noble_Fish)
- [Toggle to prevent `ShrapnelWeapon` from targeting buildings multiple times](Fixed-or-Improved-Logics.md#shrapnel-enhancements) (by Starkku)
- [Laser drawing Z-adjust customization](Fixed-or-Improved-Logics.md#laser-z-adjust) (by Starkku)
- [Customize `HarvesterDumpRate`](Fixed-or-Improved-Logics.md#customize-harvesterdumprate) (by Noble_Fish)
- Allow users to define the time interval of `DisplayIncome` (by Noble_Fish)
- [Electric bolt Z-adjust](Fixed-or-Improved-Logics.md#electric-bolt-z-adjust) (by Noble_Fish)
- Allow disabling the processing of the Z-depth of EBolt drawn by BuildingType being clamped to non-positive numbers (by Noble_Fish)
- Add the `Bolt.ZAdjust` setting item to the LaserTrailType with `DrawType=ebolt` (by Noble_Fish)
- Allow *Harvester counter* to display only the total number or the number currently working (by Noble_Fish)
- [Allow customizing guard mission retry delay for buildings with weapons](Fixed-or-Improved-Logics.md#armed-building-guard-retry-delay) (by Starkku)
- [Allow `Temporal` warhead to apply ratio and bonus](Fixed-or-Improved-Logics.md#allow-temporal-warhead-to-apply-ratio-and-bonus) (by NetsuNegi)
- Allow users to customize whether the movement state check depends on the destination for the `DiscardOn=move` condition of AE to support more usage scenarios (by Noble_Fish)
- Restored the original Tiberian Sun behavior of playing the `[AudioVisual] -> DeploySound=` sound effect when clicking the sidebar to execute `Deploy` (by Noble_Fish)
- Allow `RemoveMindControl` warhead to mute `MindClearedSound` (by Noble_Fish)
- Introduce weight selection rules for ExtraWarheads (by Noble_Fish)
- [Building turret idle/firing/low power animations](Fixed-or-Improved-Logics.md#building-turret-animations) (by Starkku)
- [Add action `512 Set Follower for Associated Unit...`](AI-Scripting-and-Mapping.md#set-follower-for-associated-unit) (by Noble_Fish)
- [Dynamic team delays](AI-Scripting-and-Mapping.md#dynamic-team-delays) (by Ollerus)
- [Allow customizing whether animation uses theater / tile palette](Fixed-or-Improved-Logics.md#animation-palette-customizations-improvements) (by Starkku)
- [Dehardcode of parasites unlimboing after killing naval targets](Fixed-or-Improved-Logics.md#dehardcode-of-parasites-unlimboing-after-killing-naval-targets) (by Noble_Fish)
- [Allow warhead to only affect invoker](New-or-Enhanced-Logics.md#allow-warhead-to-only-affect-invoker) (by Noble_Fish)
- Allow customizing whether the creation of shrapnel weapon is controlled by the new target check on the warhead of the parent weapon (by Noble_Fish)
- [Animation transparency customization settings](Fixed-or-Improved-Logics.md#customizable-animation-transparency-settings) (by Starkku)
- [Customize `Tiled` drawing interval and centering](Fixed-or-Improved-Logics.md#customize-tiled-drawing-interval-and-centering) (by Noble_Fish)
- [Customize whether technos with `Locomotor=Fly` wobble](Fixed-or-Improved-Logics.md#customize-whether-technos-with-locomotor-fly-wobble) (by Noble_Fish)
- [Customize the landing animation of technos that have `Locomotor=Fly`](Fixed-or-Improved-Logics.md#customize-the-landing-animation-of-technos-that-have-locomotor-fly) (by Noble_Fish)
- [Allow infantry to perform type conversion when deploying and undeploying](New-or-Enhanced-Logics.md#allow-infantry-to-perform-type-conversion-when-deploying-and-undeploying) (by Noble_Fish)
- Add `ClampToScreen` tag for `BannerType` (defaults to `true`) to control whether banner position is clamped to the visible area (by Chang_zhi)
- [Customizable Berzerk mission](Fixed-or-Improved-Logics.md#enhanced-berzerk-behavior) (by TaranDahl)
- [Tank Bunker foundation and state update delay improvements](Fixed-or-Improved-Logics.md#tank-bunker-improvements) (by Starkku)
- [Custom cruise missiles](New-or-Enhanced-Logics.md#custom-cruise-missiles) (by Noble_Fish)
- [Allow chat box in singleplayer](User-Interface.md#allow-chat-box-in-singleplayer) (by TaranDahl)
- [Recipient-specific message and EVA on superweapon activation](New-or-Enhanced-Logics.md#recipient-specific-message-and-eva-on-superweapon-activation) (by Flactine)
- [Add a toggle for disabling `SecondaryFire` / `SecondaryProne` on water](Fixed-or-Improved-Logics.md#ensure-infantry-use-correct-firing-sequences-on-water) (by Noble_Fish)
- [Allow beacon placement hotkey in single player](Fixed-or-Improved-Logics.md#allow-beacon-placement-hotkey-in-single-player) (by TaranDahl)
- [Auto-remove earliest beacon](Fixed-or-Improved-Logics.md#auto-remove-earliest-beacon) (by TaranDahl)
- [Customize the step limit of the credits indicator](User-Interface.md#customize-the-step-limit-of-the-credits-indicator) (by Noble_Fish)
- [Disable the credits indicator smooth transition](User-Interface.md#disable-the-credits-indicator-smooth-transition) (by Noble_Fish)
- Add `selling`, `undeploying` and `harvesting` conditions to `DiscardOn` (by Noble_Fish)
- [Additional reinforcement aircraft (airstrike, paradrop and spy plane) spawn customizations](Fixed-or-Improved-Logics.md#reinforcement-aircraft-spawn-settings) (by Starkku)
- [`ZAdjust` for Projectiles](Fixed-or-Improved-Logics.md#zadjust-for-projectiles) (by Noble_Fish)
- [Adjust recruitable status on team member discharge](AI-Scripting-and-Mapping.md#adjust-recruitable-status-on-team-member-discharge) (by TaranDahl)
- Customize whether or not passenger can fire out when the transport is moving (by Ollerus)
- [RA1-Style Multi-Turret and Multi-Barrel](New-or-Enhanced-Logics.md#ra1-style-multi-turret-and-multi-barrel) (by TaranDahl & CrimRecya)
- [Allow Laser drawing position update](New-or-Enhanced-Logics.md#allow-laser-drawing-position-update) (by Noble_Fish)
- Customize the distance for `NoQueueUpToEnter` transport units to board passengers (by Noble_Fish)
- Reworked the extension system internals to form a class hierarchy mirroring the game's own, with centralized savegame serialization (by ZivDero)
- [Customize the initial facing of buildings](Fixed-or-Improved-Logics.md#customize-the-initial-facing-of-buildings) (by Noble_Fish)
- [New exception handler with a crash dialog, crash report and minidumps](Miscellanous.md#turning-offon-in-game-exception-handling) (by ZivDero, ported from Vinifera)
- [Common Controls v6 visual styles for the game process](Miscellanous.md#visual-styles) (by ZivDero)
- Global default value for `LeptonMindControlOffset` and `MindControlRingOffset` (by Noble_Fish)
- [Customize crash spin multiplier](Fixed-or-Improved-Logics.md#customize-crash-spin-multiplier) (by NetsuNegi)
- Add a defining for the auto death effect on whether it can trigger when in Limbo state (by Noble_Fish)
- Customize whether `Passengers.SyncOwner.RevertOnExit` triggers `AutoDeath.OnOwnerChange` (by Noble_Fish)
- [Show game time](User-Interface.md#show-game-time) (by Trsdy & Ollerus)
- Provided a toggle for whether the landing direction in default scenarios does not use the building direction but follows `[AudioVisual] -> PoseDir` (by Noble_Fish)
- [Separate the definitions of default direction for aircraft production and landing in the field](Fixed-or-Improved-Logics.md#separate-the-definitions-of-default-direction-for-aircraft-production-and-landing-in-the-field) (by Noble_Fish)
- [Change target Owner on warhead impact](New-or-Enhanced-Logics.md#change-target-owner-on-impact) (by Fryone)
- [New hotkey to select the units within the current screen that are captured by non-permanent mind-controller](User-Interface.md#select-captured-units) (by TaranDahl)
- Separately define the global default values of TerrainTypes' `IsPassable` and `CanBeBuiltOn` based on `SpawnsTiberium` (by Noble_Fish)
- [Customize reveal radius of `RevealToAll`](Fixed-or-Improved-Logics.md#customize-reveal-radius-of-revealtoall) (by NetsuNegi)
- [Set sidebar tab by selecting factory](User-Interface.md#set-sidebar-tab-by-selecting-factory) (by Fryone)
- [Customize whether aircraft is a cargo plane](Fixed-or-Improved-Logics.md#customize-whether-aircraft-is-a-cargo-plane) (by TaranDahl)
- Keep Syringe open until the game exits (by 11EJDE11, ported from Vinifera, original by ZivDero & secsome)
- [Drop crates on death](New-or-Enhanced-Logics.md#drop-crates-on-death) (by FS-21)
- [`600` Configure Drop Crate](AI-Scripting-and-Mapping.md#configure-drop-crate) (by FS-21)
- [`DeployFire` supports buildings](Fixed-or-Improved-Logics.md#deployfire-supports-buildings) (By FlyStar)
- [Automatic conversion based on health](New-or-Enhanced-Logics.md#automatic-conversion-based-on-health) (by obsidianus)
- Add `ammo`, `health`, `mission`, `landtype` and `sequence` conditions to `DiscardOn` (by Noble_Fish)
- [Berzerk / `Psychedelic` duration stacking customization](Fixed-or-Improved-Logics.md#berzerk-psychedelic-duration-stacking-customization) (by Starkku)
- Restored the ScriptType action#24 `Play speech` from Tiberian Sun (by FS-21)
- [SkipMapSelect Enhancement](AI-Scripting-and-Mapping.md#skipmapselect-enhancement) (by FlyStar)
- [Allow the unit to stop immediately if the target enters the range during ApproachTarget](Fixed-or-Improved-Logics.md#stop-immediately-if-the-target-enters-the-range-during-approachtarget) (by TaranDahl)
- [Allow the unit to keep pursuing the target during ApproachTarget](Fixed-or-Improved-Logics.md#keep-pursuing-the-target-during-approachtarget) (by TaranDahl)
- [Customize whether warhead can prevent crew escape from techno](New-or-Enhanced-Logics.md#customize-whether-warhead-can-prevent-crew-escape-from-techno) (by NetsuNegi)
- [Disable AlphaImage during Buildup](Fixed-or-Improved-Logics.md#disable-alphaimage-during-buildup) (by Noble_Fish)
- [Reload speed adjustment on promotion](New-or-Enhanced-Logics.md#reload-speed-adjustment-on-promotion) (by Nuke)
- Allowed `(Pre)ProductionAnim` animations to use `Powered` & `PoweredLight/Effect/Special` keys (by Noble_Fish)
#### Vanilla fixes:
- Fixed sidebar not updating queued unit numbers when adding or removing units when the production is on hold (by CrimRecya)
- Prevent the units with locomotors that cause problems from entering the tank bunker (by TaranDahl)
- Buildings with foundation bigger than 1x1 can now recycle spawned correctly (by TaranDahl)
- Fixed an issue that `MovementZone=AmphibiousDestroyer` and `MovementZone=AmphibiousCrusher` technos being unable to enter on water structures (by CrimRecya)
- Fixed an issue that laser, electric bolt and rad beam not support `Inviso=true` projectiles with `FlakScatter=true` to scatter (by CrimRecya)
- Separated the AirstrikeClass pointer between the attacker/aircraft and the target to avoid erroneous overwriting issues (by NetsuNegi)
- Fixed the bug that buildings will always be tinted as airstrike owner (by NetsuNegi)
- Fixed an issue where computer players did not search for new enemies after defeating them or forming alliances with them (by FlyStar)
- Fixed an issue where airstrike flare line drawn to target at lower elevation would clip (by Starkku)
- Fixed the bug that damaged particle dont disappear after building has repaired by engineer (by NetsuNegi)
- Projectiles with `Vertical=true` now drop straight down if fired off by AircraftTypes instead of behaving erratically (by Starkku)
- When `Speed=0` or the TechnoTypes cell cannot move due to `MovementRestrictedTo`, vehicles cannot attack targets beyond the weapon's range. `Area Guard` and `Hunt` missions will also become ineffective (by FlyStar)
- Fixed an issue that barrel anim data will be incorrectly overwritten by turret anim data if the techno's section exists in the map file (by CrimRecya)
- `IsSimpleDeployer` `BalloonHover=true` units with `DeployToLand=false` are no longer forced to land when hovering (by Starkku)
- If `DeployingAnim` with `Shadow=true` is played for unit currently in air its shadow will now be drawn on ground (by Starkku)
- `DeployingAnim` now supports both `Normalized=true` and `Reverse=true` (by Starkku)
- `DeployingAnim` using unit drawer now also tint accordingly with the unit (by Starkku)
- Jumpjets in air now can correctly spawn missiles (by TaranDahl)
- Fixed an issue that the currently hovered planning node not update up-to-date, such as using hotkeys to select technos (by CrimRecya)
- Fixed an issue that jumpjet infantry' shadow is always drawn even if they are cloaked (by TaranDahl)
- Fixed an issue that technos head to building's dock even they are not going to dock (by TaranDahl)
- Fixed an issue that the jumpjet vehicles cannot stop correctly after going berserk (by TaranDahl)
- Fixed an issue that infantry walking through a cell containing a tree would cause it to be impassable to other houses (by TaranDahl)
- Fixed the bug that techno unit will draw with ironcurtain and airstrike color and intensity who disguised as terrain or overlay (by NetsuNegi)
- Fixed an issue that the AI would enter a combat state when its building receiving damage from friendly units or damage not greater than 0 (by TaranDahl)
- Fixed an issue that the techno with weapon with `AA=yes` and `AG=no` would not auto targeting units that are falling, such as paratroopers (by TaranDahl)
- Iron Curtain/Custom Tint Support for SHP Turreted Vehicles (by NetsuNegi & FlyStar)
- Reactivate unused trigger events 2, 53, and 54 (by FlyStar)
- Fixed the bug that vehicle fall on infantry will make all cell content has been removed (by NetsuNegi)
- Fixed buildings that have their owner changed during buildup skipping buildup and sometimes not correctly clearing the state (by Starkku)
- Fixed `MovementZone=Subterannean` harvesters being unable to find docks if in area enclosed by water, cliffs etc. (by Starkku)
- Fixed an issue where some effects pointing to a unit were not properly cleared when the unit changed its owner (by TaranDahl)
- Allow Reveal Crate to take effect when picking up by another player controlled house in campaign (by Trsdy)
- Fixed an issue where the vanilla script ignores jumpjets (by TaranDahl)
- Fixed the issue where trigger events 2, 53 and 54 in persistent type triggers would be activated unconditionally after activation (by FlyStar)
- Fixed the bug that naval ship will sink even they destroyed in air (by NetsuNegi)
- Fixed MPDebug timer displaying when debug's visibility is off (by 11EJDE11)
- Fixed the issue that units will goto farest location if target is closer than `MinimumRange` (by NetsuNegi)
- Fixed a bug where units can be promoted when created via trigger actions even if they have `Trainable=false` (by NetsuNegi)
- Fixed the issue where non-repairer units needed sensors to attack cloaked friendly units (by TaranDahl)
- Fixed an issue that rockets do not consider the destination altitude during climbing (by TaranDahl)
- Fixed the bug that if object has been removed from LogicClass in Update(), next object will be skip (by NetsuNegi)
- Increased cursor update frequency by setting interval to 1ms instead of 16ms (by Fridge)
- Fixed an issue that the AI would set anger towards friendly houses, causing it to act stupidly (by TaranDahl)
- Fixed an issue that the AI would look for the first house in the array as an enemy instead of the nearest one when there were no enemies (by TaranDahl)
- Fixed the issue that weapon selection don't check if secondary's warhead has `IsLocomotor=yes` (by NetsuNegi)
- Fixed the issue that warhead with `IsLocomotor=yes` can be used to vehicles who is in tank bunker (by NetsuNegi)
- Fixed an issue where miners affected by `Passengers/DeployFire` were unable to unload minerals (by FlyStar)
- Fixed an issue where mining vehicles could not move after leaving a tank bunker (by FlyStar)
- Fixed the bug where selected technos would lose their selection if their regular mind control was replaced with permanent mind control or with the control from the Psychic Dominator superweapon (by NetsuNegi)
- Fixed an issue that retaliation will make the unit keep switching among multiple targets with the same amount of threat (by TaranDahl)
- Fixed the bug that cause technos teleport to cell 0,0 by ChronoSphere superweapon (by NetsuNegi)
- Fixed the bug that techno in attack move will move to target if it cannot attack it (by NetsuNegi)
- Fixed the bug in AI scripts 56 and 57 that forced the launch of superweapons with index numbers 3 and 4 (by FlyStar)
- Buildings with `NeedsEngineer=true` are now considered to have threat value of 0 under ownership of `MultiplayPassive=true` houses regardless of their `ThreatPosed` value (by Starkku)
- Fixed the issue where the AI's regular targeting would also target garrisonable buildings (by TaranDahl)
- Fixed the issue that the move mission of the jumpjet does not end correctly (by TaranDahl)
- AI team garrison scripts now re-evaluate destination immediately instead of trying to garrison ungarrisonable building before changing target (by Starkku)
- Fixed the bug that `DeploysInto` and `UndeploysInto` will make damaged techno lose 1 health (by CrimRecya)
- Fixed the issue that the Jumpjet must end its movement before starting the next mission (by TaranDahl)
- Fixed an issue where parachute units would die upon landing if bridges were destroyed during their descent (by FlyStar)
- Voxel drawing code now skips sections that are invisible (have all zeros in the transform matrix main diagonal, meaning that the scale is 0% on all axes), thus increasing drawing performance for some voxels (by Kerbiter & ZivDero)
- Fixed the bug that unit will play crashing voice & sound when dropped by warhead with `IsLocomotor=yes` (by NetsuNegi)
- Fixed the bug that if paradropping technos with `Crashable=yes` has been destroyed in air, they will falling down on ground but not dead (by NetsuNegi)
- Fixed the bug where paradropped infantry with `NotHuman=yes` will ignore `Crashable=no` and crash on ground when killed in air (by NetsuNegi)
- Fixed an issue where a unit might cause the target to fall from above its own head when using a locomotor warhead with `Locomotor=Jumpjet` to pull a target with `BalloonHover=yes` (by NetsuNegi)
- Fixed the [EIP#007120F7](https://modenc.renegadeprojects.com/Internal_Error#eip_007120F7) caused when the `Strength` value is lower than `RepairStep` (by NetsuNegi)
- Fixed the bug where non-Teleporter miners would not return to work after minerals are depleted and then regenerated (by TaranDahl)
- Fixed units with Fly, Jumpjet or Rocket locomotors destroyed while crashing off-map never being fully cleaned up, permanently blocking production slots and counting towards unit limits (by RAZER)
- Miners back to work when ore regenerated (by TaranDahl)
- Fixed the incorrect mission switching in infantry EnterIdleMode (by TaranDahl)
- Fixed BalloonHover incorrectly considering ground factors when pathfinding (by TaranDahl)
- Fixed the issue where the sidebar would not refresh when an unit dies in limbo (by TaranDahl)
- Enabled playing ingame movie in non-campaign modes (i.e. trigger action `100 Play Sidebar Movie...` and `117 Play Sidebar Movie and pause...`) (by TaranDahl)
- `ElectricAssault` weapons can now auto acquire allies' overpowerable defenses (by Ollerus)
- Fixed the issue that the time for units in the area guard mission to reacquire targets after eliminating the target is significantly longer than that in other missions (by TaranDahl)
- Purely visual animations and particles excluded from sync checks (by Starkku)
- Fixed AI team recruitment inconsistency causing underfilled teams (by handama)
- Fixed the issue where tint color RGB mode conversion was incorrect (by Shatyuka)
- Fixed the bug that low-air taking off / landing objects will receive twice damage (by NetsuNegi)
- Fixed voxel projectile and animation lighting issues (by TaranDahl)
- Fixed the bug that techno will get stuck if change owner in tunnel (by NetsuNegi)
- Fixed incorrect shadow rendering positions for non-Aircraft units with `Locomotor=Fly`, and for Aircraft units being dragged by warheads with `IsLocomotor=yes` (by NetsuNegi)
- Fixed the issue that spawnee or slave would execute some player commands (by TaranDahl)
- Fixed the bug that technos do not reset their link with the linked building when deactivated (by NetsuNegi)
- Fixed an issue where `OmniFire` was ineffective on buildings with `Turret=yes` (by FlyStar)
- Fixed an issue where setting a production building as `Primary` could cause it to enter an unload state (by FlyStar)
- Fixed the issue of significant lagging caused by frequent lighting updates due to the accumulation of a large amount of radsite in a short time (by NetsuNegi)
#### Phobos fixes:
- Fixed the bug that `AllowAirstrike=no` cannot completely prevent air strikes from being launched against it (by NetsuNegi)
- Fixed an issue that `FireAngle` was not taken into account when drawing barrel in `TurretShadow` (by CrimRecya)
- Fixed a bug that sometimes caused weapon/warhead detonations from features such as `ExtraWarheads`, animation damage or `Crit.Warhead` to unintentionally move from its intended position (by Starkku)
- Fixed an issue that units' `LaserTrails` will always lags behind by one frame (by CrimRecya)
- Fixed customized `WarpAway` anim's wrong definition (by Ollerus)
- Fixed parsing of `DropPodTrailer` from INI (by Starkku)
- Fixed issue with `ReturnWeapon` not always firing off correctly (by CrimRecya)
- Fixed animation damage logic applying invoker/owner inconsistently between weapon & warhead (by Ollerus & Starkku)
- Fixed an edge-case issue with Phobos' selection handling code crashing with Veinholes (by Starkku)
- Fixed `AmbientDamage.Warhead` not working for waves (by Starkku)
- Fixed `SkirmishUnlimitedColors` not being checked if Phobos runs without Ares active (by Starkku)
- Fixed number of `*.ApplyFirepowerMult` options (f.ex anim damage, crit) ignoring veterancy firepower modifier (by Starkku)
- Fixed an issue that jumpjet vehicles can not stop correctly when assigned a target in range (by TaranDahl)
- Fixed an issue that jumpjet infantry stop incorrectly when assigned a target out of range (by TaranDahl)
- Fixed an issue where the 77 trigger event in Ares was not functioning properly (by NetsuNegi)
- Fixed an interaction error between the engineer and the Ares rubble (by FlyStar)
- Fixed the projection location of selectbox when over elevated bridge (by NetsuNegi)
- Fixed an issue where the game would only use `Weapon1` and `Weapon2` for auto-targeting even when `MultiWeapon=yes` was set (by FlyStar)
- Fixed a game load crash caused by `MultiWeapon.IsSecondary=-1` or non-projectile weapons (by FlyStar)
- Fixed an issue that caused Ares's `Battery.KeepOnline` cannot keep defense buildings works fine (by NetsuNegi)
- Map Event 601 should return true only when exists in the map like other similar map events (by FS-21)
- Fixed OverlayType `ZAdjust` as well as some shield & AttachEffect variables not being correctly saved & loaded (by Ollerus)
- LimboDelivery buildings cannot be selected (by FlyStar)
- Fixed the positive value of `Reveal` on warhead (by NetsuNegi)
- Fixed `Adjacent.Disallowed` not blocking placement if other eligible buildings were in range (by Starkku)
- Fixed the issue where `AIChronoSphereSW` and `AIChronoWarpSW` did not function correctly with AI scripts 56 and 57 (by FlyStar)
- Fixed an issue where parasites that have infected infantry do not provide a refund when the infected infantry enters a Grinding building (by NetsuNegi)
- Fixed the issue that `PassengerDeletion` dont consider passenger's passenger, parasite and hijacker (by NetsuNegi)
- Fixed an issue where hover vehicles could not be destroyed after malfunctioning on water surfaces (by FlyStar)
- Fixed combat light ignoring / behaving differently from vanilla game regarding detail level and framerate checks (by Starkku)
- Fixed the bug where the `.SubjectToGround` of the Trajectory type did not consider bridges (by Noble_Fish)
- AttachEffect `DisableWeapons=true` now makes `Gattling=yes` rate tick down and stops the sounds from playing (by Starkku)
- Fixed a bug where stationary vehicles would also block movement caused by external factors (by Noble_Fish)
- Fixed `src/Interop/Version.cpp` not being compiled into the project (by Chang_zhi)
- Fixed the issue that `NoQueueUpToEnter` will clear passenger's planning tokens when entered transport (by NetsuNegi)
- Fixed the bug where incorrect calculation of `[AudioVisual] -> PoseDir` caused the landing direction of aircraft to behave incorrectly under vanilla configuration (by Noble_Fish)
- Fixed the bug where landing direction cannot be correctly converted when set to a value exceeding 256 (by Noble_Fish)
- Fixed a bug with some keys relating to `Interceptor` and `PassengerDeletion` not having correct default values (by Starkku)
#### Fixes / interactions with other extensions:
- Taking over Ares' AlphaImage respawn logic to reduce lags from it (by NetsuNegi)
- Fixed an issue that Ares' Type Conversion not resetting barrel's direction by `FireAngle` (by TaranDahl)
- Fixed the issue where Ares' `Flash.Duration` cannot override the weapon's repair flash effect (by Sovietianqi, based on knowledge of Noble_Fish)
- Fixed the bug that building with `CloningFacility=true` and `WeaponsFactory=true` may cloning multiple vehicles and then they get stuck (by NetsuNegi)
- [Customize Ares's radar jam logic](New-or-Enhanced-Logics.md#customize-ares-s-radar-jam-logic) (by NetsuNegi)
- Fixed a bug introduced by Ares where building types that have `UndeploysInto` cannot display `AltCameo` or `AltCameoPCX` even when you infiltrate enemy buildings with `Factory=UnitType` (by NetsuNegi)
- Fixed the issue that technos cannot spawn survivors due to non-probabilistic reasons when the tech type was destroyed (by NetsuNegi)
- Fixed the bug that vehicle survivor can spawn on wrong position when transport has been destroyed (by NetsuNegi)
- Fixed the bug that building with `Explodes=yes` use Ares's rubble logic will cause it's owner cannot defeat normally (by NetsuNegi)
- Modified the ares hook that stopped OpenTopped transports from firing if cloaked (by RAZER & Morton)
- Fixed an Ares bug that led to erroneous interactions where the parasite would frequently reset to the victim's position under specific circumstances and that was highly prone to crashes (by NetsuNegi)
- Fixed the initial direction of building placed by Ares's UnitDelivery superweapon (by NetsuNegi)
- [Customize whether transport can kept or kill passengers when driver has been killed](New-or-Enhanced-Logics.md#customize-whether-transport-can-kept-or-kill-passengers-when-driver-has-been-killed) (by NetsuNegi)
- Fixed a bug where passengers created by the InitialPayload logic or TeamType with `Full=true` would fail to fire when the transport unit with `OpenTopped=yes` moved to an area that the passengers' `MovementZone` cannot move into (by NetsuNegi)
- Fixed a bug where game will crash after loading if a techno with `AlphaImage` converts to a type without it, or an anim with `AlphaImage` changes to a type without it through `Next` (by NetsuNegi & FlyStar)
- Fixed the issue that `BombSight` not being updated correctly in techno conversion (by TaranDahl)
- `EVA.Tag` already supports being set for specific countries, and `EVAIndex` is no longer reset after load game (by FlyStar)
- `DisableWeapons.Duration` now makes `Gattling=yes` rate tick down and stops the sounds from playing, no longer interferes with target acquisition and works together with Phobos' `OpenTopped.CheckTransportDisableWeapons` (by Starkku)
- Allowed `AuxBuilding` and Ares' `SW.Aux/NegBuildings` to count building upgrades (by Ollerus & NetsuNegi)
- [Aux technos and TechLevel requirement of superweapon](New-or-Enhanced-Logics.md#aux-technos-and-techlevel-requirement-of-superweapon) (by NetsuNegi & Ollerus)
- [Export interface for external call](index.md#interoperability) (by TaranDahl)
- Allowed `MindControl.Permanent` warhead to mute `MindClearedSound` (by NetsuNegi & Noble_Fish)
- [Export interface for accessing scenario local/global variables](Interoperability.md#scenarioext) (by Chang_zhi)
- Allowed infantry to use `Convert.Deploy` without requiring `IsSimpleDeployer=true` (by Noble_Fish)
- Added the scenario where `Missile.Raise` can be applied by custom missiles (by Noble_Fish)
- Fixed a bug where passengers created by the InitialPayload logic or TeamType with `Full=true` would fail to execute the auto death logic (by Noble_Fish)
- Fixed the issue of Ares' EMP not suspending the production of AI factories (by CrimRecya)
- Removed the restriction that prohibits InfantryTypes from using the InitialPayload logic (by Noble_Fish)
- `ProjectileRange` now has weapon range modifiers applied to it if greater than 0 (by Starkku)
- Allowed customizing the default value of `[Warhead] -> PreventScatter` via `[CombatDamage] -> Warhead.PreventScatter` (by Noble_Fish)
#### 0.5-alpha1
#### Vanilla fixes:
- Vehicles overlapping `Wall=true` OverlayTypes no longer display sell cursor and cannot be sold (by CnCRAZER, Starkku, Noble_Fish)
- Fixed a desync due to an inconsistent shroud state caused by `GapGenerator` and `SpySat` interaction (by Starkku)
#### Phobos fixes:
- Fixed vehicles disguised as trees incorrectly displaying veterancy insignia when they shouldn't (by Starkku)
- Fixed the issue that power output of building on tooltip won't consider power enhancer (by NetsuNegi)
- `RealTimeTimers` now support independent gamespeed index values for Multiplayer and Skirmish (by RAZER)
- Fixed the bug that the upgrade building's power-enhancing effect depends only on its parent building and is not related to the upgrade building itself (by NetsuNegi)
- Fixed an issue where shadow matrix scaling was incorrectly applied to `TurretOffset` causing turret shadow misplacement (by Noble_Fish)
- Fixed an issue that customizable warhead animation scatter cannot override 32 leptons scatter of `Inviso=yes` projectile (by NetsuNegi)
- Fixed a bug where a unit's turrets would also get locked when the unit became deactivated for reasons other than being under EMP (by Noble_Fish)
- Fixed a bug that prevented recalculation of stats etc. on discarding self-owned AE (by Starkku)
- Fixed a bug causing transfering AttachEffects (e.g on `DeploysInto`/`UndeploysInto`) not to immediately recalculate stats or tint (by Starkku)
- Fixed a bug where updating the `OpenTopped` attribute during convert did not update the coordinates of passengers (by NetsuNegi)
- Fixed `Shrapnel.AffectsBuildings=true` shrapnel weapons being able to hit the building itself, potentially multiple times, if it had foundation larger than 1x1 (by Starkku)
- Fixed cells with `CanBeBuiltOn=true` TerrainTypes on them not being considered valid build locations by AI (by Starkku)
- Fixed the bug where `WeaponRange.AllowWeapons` and `WeaponRange.DisallowWeapons` only support weapons listed in the `[WeaponTypes]` list (by Noble_Fish)
- Fixed the bug where passengers, when their transport unit is removed, would cause incorrect `LimboTracker` counts due to either having their destructor called directly (bypassing `UnInit`) or nested `UnInit` calls resetting the deletion flag too early, thereby breaking auto-death and superweapon auxiliary techno checks (by NetsuNegi)
- Fixed AttachEffect with `RecreationDelay` of 0 checking `Delay` as well instead of immediately refreshing duration when possible (by Starkku)
- Fixed building interceptors being able to pick targets during construction and selling (by Starkku)
- Fixed the bug that the vanilla `SecondSpawnOffset` no longer takes effect (by NetsuNegi)
- Fixed a bug introduced in v0.4.0.1 where some floating-point values using percentage form were incorrectly multiplied by an additional 0.01 (by Starkku)
- Fixed the bug that `MissileSpawn=true` causes the spawnee launcher to crash immediately when attacking (by Noble_Fish)
- Fixed the bug that slaves would be handed over to the neutral house instead of respecting `Slaved.OwnerWhenMasterKilled` when their master was sold or self-destructed (by frg2089)
#### Phobos fixes:
- Fixed `AircraftDockingDirs` being reset if the BuildingType section is redefined in map file (by Starkku)
- Fixed harvester counter not accounting for type converting harvesters (by Ollerus)
- Fixed the bug that weapon cannot used to intercept on gound bullet if it's projectile has `AG=no` (by NetsuNegi)
- Fixed the bug that if there's a tank in tank bunker, tank bunker use auto death by vanish will cause tank get stuck and game will crash quickly (by NetsuNegi)
- Fixed `ROF.RandomDelay` incorrectly defaulting to 0 (no delay) instead of random value in range 0-2 (by Starkku)
- Fixed `CreateUnit.Owner=killer` not working correctly with `DestroyAnim(s)` (by TaranDahl)
- Fixed a bug causing erratic behaviour with units scattering f.ex moving away from buildings being placed (by Starkku)
- Fixed an oversight that prevented units deploying into buildings from deploying on top of `CanBeBuiltOn` TerrainTypes (by Starkku)
- Animation-fired weapons now snap on the object they are attached to if present (by TaranDahl)
#### Vanilla fixes:
- Fixed preplaced aircraft outside visible map being incorrectly flagged as crashing under certain conditions (by Starkku)
#### Phobos fixes:
- AttachEffect `DisableWeapons` no longer interferes with 'can this unit/building fire weapons?' checks for units/buildings with no weapons (by Starkku)
- Fixed starting infantry being scattered randomly on game start instead of being grouped (by 11EJDE11, Belonit, Ollerus)
- Fixed an issue with certain Warhead detonation features (f.ex `Crit.Warhead` without `Crit.Warhead.FullDetonation=true` not snapping on the intended target without `CellSpread`) (by Starkku)
- Fixed an issue with `UndeploysInto.Sellable` (by TaranDahl)
- Fixed an issue with `Powered`/`PoweredSpecial` building animation ownership change fix (by Trsdy)
- Fixed `DisplayIncome`, `Transact.Money` etc. display strings showing through shroud and for objects that are supposed to be hidden such as cloaked, undetected enemies (by Starkku)
- Fixed an issue that could cause crashes when `FeedbackWeapon` was used to convert the firer to another TechnoType with less or no weapons (by Starkku)
- Fixed an issue with parsing floating point numbers from INI that may have in some cases contributed to desyncs (by Starkku)
#### New:
- `Crit.AffectsHouses` for critical hit system (by Starkku)
- Warhead or weapon detonation at superweapon target cell (by Starkku)
- Super Weapons launching other Super Weapons (by Morton)
- Launching Super Weapons on building infiltration (by Morton)
- Building airstrike target eligibility customization (by Starkku)
- IvanBomb detonation & image display optionally centered on buildings (by Starkku)
- Forcing specific weapon against cloaked or disguised targets (by Starkku)
- Customizable ROF random delay (by Starkku)
- Animation with `Tiled=yes` now supports `CustomPalette` (by ststl)
- Toggleable `DieSound` when grinding (by Trsdy)
- Shields can inherit Techno ArmorType (by Starkku)
- Income money flying-string display when harvesters or slaves are docking to refineries or when spies steal credits (by Trsdy)
- Allow random crates to be generated only on lands (by Trsdy)
- Iron-curtain effects on infantry and organic units (by ststl)
- Custom `SlavesFreeSound` (by TwinkleStar)
- Allows jumpjet to crash without rotation (by TwinkleStar)
- Customizable priority of superweapons timer sorting(by ststl)
- Customizable aircraft spawner spawn delay (by Starkku)
- Customizable `Cluster` scatter distance (by Starkku)
- Customizable `FlakScatter` distance (by Starkku)
- Customizable debris & meteor impact and warhead detonation behaviour (by Starkku & Otamaa)
- Custom warhead debris animations (by Starkku)
- Multiple burst shots / burst delay within infantry firing sequence (by Starkku)
- Attached particle system for animations (by Starkku)
- Removal of hardcoded AA & Gattling weapon selection restrictions (by Starkku)
- Projectile `SubjectTo(Land/Water)` (by Starkku)
- Real time timers (by Morton)
- Default campaign game speed override and custom campaign game speed FPS (by Morton)
- Trigger actions that allow/forbid MCV to redeploy in game (by Trsdy)
- `AnimList` on zero damage Warheads toggle via `AnimList.ShowOnZeroDamage` (by Starkku)
- Including INI files and inheriting INI sections (by Morton)
- Additions to automatic passenger deletion (by Starkku)
- Buildings considered as vehicles (by Starkku)
- TechnoType target evaluation map zone check behaviour customization (by Starkku)
- `CanC4=false` building zero damage toggle (by Starkku)
- OpenTopped transport target sharing customization (by Starkku)
- Vanish animation for `AutoDeath.Behavior=vanish` (by Starkku)
- `AAOnly` for projectiles (by Starkku)
- `CreateUnit` improvements & additions (can spawn infantry and aircraft, units spawning in air, spawn animation) (by Starkku)
- Option to center pause menu background (by Starkku)
- `LaunchSW.DisplayMoney` (by Starkku)
- Disguise logic improvements (by Starkku)
- Custom insignias (by Starkku)
- Upgrade logic to allow altering of SpySat status (by Otamaa)
- Allow `ZShapePointMove` to apply during buildup via `ZShapePointMove.OnBuildup` (by Starkku)
- `UndeploysInto` building selling buildup sequence length customization (by Starkku)
- Allow overriding `Shield.AffectTypes` for each Warhead shield interaction (by Starkku)
- TechnoType conversion warhead & superweapon (by Morton)
- TechnoType conversion on ownership change (by Trsdy)
- Unlimited skirmish colors (by Morton)
- Example custom locomotor that circles around the target (*NOTE: For developer use only*) (by Kerbiter, CCHyper, with help from Otamaa; based on earlier experiment by CnCVK)
- Vehicle voxel turret shadows & body multi-section shadows (by TwinkleStar & Trsdy)
- Crushing tilt and slowdown customization (by Starkku)
- Extra warhead detonations on weapon (by Starkku)
- Chrono sparkle animation display customization and improvements (by Starkku)
- Script action to Chronoshift teams to enemy base (by Starkku)
- Customizable ElectricBolt Arcs (by Fryone & Kerbiter)
- Digital display of HP and SP (by ststl, FlyStar, NaotoYuuki, Saigyouji, JunJacobYoung, based on knowledge of Noble_Fish)
- PipScale pip customizations (size, ammo / spawn / tiberium frames or offsets) (by Starkku)
- Auto-deploy/Deploy block on ammo change (by Fryone)
- `AltPalette` lighting toggle (by Starkku)
- Unhardcoded timer blinking color scheme (by Starkku)
- Customizing shield self-healing timer restart when shield is damaged (by Starkku)
- Customizing minimum & maximum amount of damage shield can take from a single hit (by Starkku)
- `AutoDeath.Technos(Dont)Exist` can optionally track limboed (not physically on map, e.g transports etc) technos (by Starkku)
- Wall overlay `Palette` support (by Starkku)
- Show designator & inhibitor range (by Morton)
- Owner-only sound on unit creation (by Fryone)
- Allow using `Secondary` weapon against walls if `Primary` cannot target them (by Starkku)
- Reloading ammo in transports (by Starkku)
- Dump variables to file on scenario end / hotkey (by Morton)
- "House owns TechnoType" and "House doesn't own TechnoType" trigger events (by Morton)
- Allow toggling `Infantry/UnitsGainSelfHeal` for `MultiplayPassive=true` houses (by Starkku)
- Customizable straight trajectory detonation & snap distance and pass-through option (by Starkku)
- Airstrike & spy plane fixed spawn distance & height (by Starkku)
- Allow enabling application of `Verses` and `PercentAtMax` for negative damage (by Starkku)
- In addition to `PlacementGrid.Translucency`, allow to set the transparency of the grid when `PlacementPreview` is enabled, using the `PlacementGrid.TranslucencyWithPreview` tag (by Belonit)
- Show briefing screen on singleplayer mission start (by Starkku)
- Allow setting mission par times and related messages in `missionmd.ini` (by Starkku)
- Allow setting default singleplayer map loading screen and briefing offsets (by Starkku)
- Allow toggling whether or not fire particle systems adjust target coordinates when firer rotates (by Starkku)
- `AmbientDamage` warhead & main target ignore customization (by Starkku)
- Flashing Technos on selecting (by Fryone)
- Customizable DropPod properties on a per-InfantryType basis (by Trsdy)
- Projectile return weapon (by Starkku)
- Allow customizing aircraft landing direction per aircraft or per dock (by Starkku)
- Allow animations to play sounds detached from audio event handler (by Starkku)
- Game save option when starting campaigns (by Trsdy)
- Carryall pickup voice (by Starkku)
- Option to have `Grinding.Weapon` require accumulated credits from grinding (by Starkku)
- Re-enable the Veinhole Monster and Weeds from TS (by ZivDero)
- Recreate the weed-charging of SWs like the TS Chemical Missile (by ZivDero)
- Allow to change the speed of gas particles (by ZivDero)
- Allow upgrade animations to use `Powered` & `PoweredLight/Effect/Special` keys (by Starkku)
- Toggle for `Explodes=true` BuildingTypes to not explode during buildup or being sold (by Starkku)
- Toggleable height-based shadow scaling for voxel air units (by Trsdy & Starkku)
- User setting toggles for harvester counter & power delta indicator (by Starkku)
- Shrapnel weapon target filtering toggle (by Starkku)
- Restore functionality of `[CrateRules] -> FreeMCV` with customizable credits threshold (by Starkku)
- Allow customizing the number of vehicles required for unit crates to turn into money crates (by Starkku)
- Per-VehicleType reroll chance for `CrateGoodie=true` (by Starkku)
- Warheads spawning powerup crates (by Starkku)
- Custom tint on TechnoTypes (by Starkku)
- Revenge weapon (by Starkku)
- AttachEffect types with new features like custom tint and weapon range modifier (by Starkku)
- Force shield effect sync on deploy & vs. organic targets effect customization to complement the Iron Curtain ones (by Starkku)
- Map trigger action `41 Play Animation At...` now uses additional parameter to determine if animation can play sound, deal damage etc. (by Starkku)
- Allow restricting how many times per frame a single radiation site can damage a building (by Starkku)
- Allow explicitly setting the superweapons AI uses for Chronoshift script actions (by Starkku)
- Allow customizing Aircraft weapon strafing regardless of `ROT` and `Strafing.Shots` values beyond 5 (by Trsdy)
- Allow strafing weapons to deduct ammo per shot instead of per strafing run (by Starkku)
- Allow `CloakVisible=true` laser trails optinally be seen only if unit is detected (by Starkku)
- Skirmish AI "sell all buildings and set all technos to hunt" behavior dehardcode (by TaranDahl)
- Skirmish AI "gather when MCV deploy" behavior dehardcode (by TaranDahl)
- Customizing whether passengers are kicked out when an aircraft fires (by ststl)
- Shield hit flash (by Starkku)
- Option to scatter `(Anim/Splash)List` animations around impact coordinates (by Starkku)
- Customizable wake anim (by TwinkleStar)
- Customizable rocker amplitude (by TwinkleStar & Ollerus)
- AI script action to jump back to previous script after picking a random script (by handama)
- Insignias visibility and position adjustments (by Fryone)
- Promotion animation (by Fryone)
- Allow different technos to share build limit in a group (by ststl & Ollerus)
- Map events `604-605` for checking if a specific Techno enters in a cell (by FS-21)
- Waypoint path is drawn for all units under player control or if `[GlobalControls] -> DebugPlanningPaths=yes` (by Trsdy)
- `RemoveDisguise` now works on vehicle disguises (by Trsdy)
- Allow anchoring extended tooltips to the left side of the sidebar (by Trsdy)
- Toggle to allow spawned aircraft to attack immediately after being spawned (by Starkku)
- `ZAdjust` for OverlayTypes (by Starkku)
- Allow customizing extra tint intensity for Iron Curtain & Force Shield (by Starkku)
- Option to enable parsing 8-bit RGB values from `[ColorAdd]` instead of RGB565 (by Starkku)
- Customizing height and speed at which subterranean units travel (by Starkku)
- Option for Warhead damage to penetrate Iron Curtain or Force Shield (by Starkku)
- Option for Warhead to remove all shield types at once (by Starkku)
- Allow customizing voxel light source position (by Kerbiter & Morton, based on knowledge of thomassnedon)
- Option to fix voxel light source being offset and incorrectly tilting on slopes (by Kerbiter)
- AI superweapon delay timer customization (by Starkku)
- Disabling `MultipleFactory` bonus from specific BuildingType (by Starkku)
- Customizable ChronoSphere teleport delays for units (by Starkku)
- Allowed and disallowed types for `FactoryPlant` (by Starkku)
- Customizable damage & 'crumbling' (destruction) frames for TerrainTypes (by Starkku)
- Custom object palettes for TerrainTypes (by Starkku)
- Forbidding parallel AI queues for specific TechnoTypes (by Starkku)
- Nonprovocative Warheads (by Starkku)
- Option to restore `PowerSurplus` setting for AI (by Starkku)
- `FireOnce` infantry sequence reset toggle (by Starkku)
- Assign Super Weapon cameo to any sidebar tab (by NetsuNegi)
- Customizing effect of level lighting on air units (by Starkku)
- Reimplemented `Airburst` & `Splits` logic with more customization options (by Starkku)
- Buildings considered as destroyable pathfinding obstacles (by Starkku)
- Animation visibility customization settings (by Starkku)
- Light effect customizations (by Starkku)
- Building unit repair customizations (by Starkku)
- Toggle to disallow buildings from providing build area during buildup (by Starkku)
- Allow customizing which building types provide build area for a building (by Starkku)
- `Scorch` / `Flamer` fire animation customization (by Starkku)
- Warheads parasite removal customization (by Starkku)
- Allow infantry to use land sequences in water (by Starkku)
- `<Player @ X>` can now be used as owner for pre-placed objects on skirmish and multiplayer maps (by Starkku)
- Allow customizing charge turret delays per burst on a weapon (by Starkku)
- Draw visual effects for airburst weapons (by CrimRecya)
- Unit `Speed` setting now accepts floating point values (by Starkku)
- `Strafing` is now disabled by default when using `Trajectory` (by CrimRecya)
- Skip target scanning function calling for unarmed technos (by TaranDahl & solar-III)
- Allow retint fix to be disabled with `[AudioVisual] -> UseRetintFix=no` in `rulesmd.ini` due to performance considerations (by Kerbiter)
- Elite technos no longer scatter by default, behaviour is controlled by `SCATTER` veterancy ability now (by NetsuNegi & Starkku)
#### Vanilla fixes:
- Allow AI to repair structures built from base nodes/trigger action 125/SW delivery in single player missions (by Trsdy)
- Allow setting whether `AlternateFLH` applies to vehicle passengers in the transport unit (by Trsdy & NetsuNegi)
- Improved the statistic distribution of the spawned crates over the visible area of the map. (by Trsdy, based on TwinkleStar's work)
- Teams spawned by trigger action 7,80,107 can use IFV and `OpenTopped` logic normally (by Trsdy)
- Prevented units from retaining previous order after ownership change (by Trsdy)
- Break the mind-control link when capturing a mind-controlled building with an engineer (by Trsdy)
- Fixed BibShape drawing for a couple of frames during buildup for buildings with long buildup animations (by Starkku)
- Cloaked & disguised objects displaying to observers (by Starkku)
- Cloaked objects from allies displaying to player in single player missions (by Trsdy)
- Skip `NaturalParticleSystem` displaying from in-map pre-placed structures (by Trsdy)
- Made sure that `Suicide=yes` weapon does kill the firer (by Trsdy)
- Made sure that vxl units being flipped over get killed instead of rotating up and down (by Trsdy)
- Allow jumpjet units to visually tilt or be flipped over on the ground even if `TiltCrashJumpjet=no` (by Trsdy)
- Fixed the range for number of debris spawned by Warhead to use MaxDebris instead of MaxDebris - 1 (by Starkku)
- Fixed `LandTargeting=1` not preventing from targeting TerrainTypes (trees etc.) on land (by Starkku)
- Fixed `NavalTargeting=6` not preventing from targeting empty water cells or TerrainTypes (trees etc.) on water (by Starkku)
- Fixed `NavalTargeting=7` and/or `LandTargeting=2` resulting in still targeting TerrainTypes (trees etc.) on land with `Primary` weapon (by Starkku)
- Fixed an issue that causes objects in layers outside ground layer to not be sorted correctly (caused issues with animation and jumpjet layering for an instance) (by Starkku)
- Restored `EVA_StructureSold` for buildings with `UndeploysInto` (by Trsdy)
- Allow MCV to redeploy in campaigns (by Trsdy)
- Allow buildings with `UndeploysInto` to be sold if `Unsellable=no` but `ConstructionYard=no` (by Trsdy)
- Fixed infantry without `C4=true` being killed in water if paradropped, chronoshifted etc. even if they can normally enter water (by Starkku)
- Fixed `WaterBound=true` buildings with `UndeploysInto` not correctly setting the location for the vehicle to move into when undeployed (by Starkku)
- Allow more than 5 `AlternateFLH` entries for units (by ststl)
- Buildings with `CanC4=false` will no longer take 1 point of positive damage if hit by negative damage (by Starkku)
- Buildings with primary weapon that has `AG=false` projectile now have attack cursor when selected (by Starkku)
- Transports with `OpenTopped=true` and weapon that has `Burst` above 1 and passengers firing out no longer have the passenger firing offset shift lateral position based on burst index (by Starkku)
- Light tint created by a building is now able to be removed after loading the game (by Trsdy)
- Prevented crashing jumpjet units from firing (by Trsdy)
- Fixed disguised infantry not using custom palette for drawing the disguise when needed (by Starkku)
- Reenabled the obsolete `[General] -> WarpIn` as default anim type when units are warping in (by Trsdy)
- Fixed permanent health bar display for units targeted by temporal weapons upon mouse hover (by Trsdy)
- Buildings with superweapons no longer display `SuperAnimThree` at beginning of match if pre-placed on the map (by Starkku)
- AI players can now build `Naval=true` and `Naval=false` vehicles concurrently like human players do (by Starkku)
- Fixed the bug when jumpjets were snapping into facing bottom-right when starting movement (by Kerbiter)
- Suppressed the BuildingCaptured EVA events when capturing a building considered as a vehicle (by Trsdy)
- Objects with `Palette` set now have their color tint adjusted accordingly by superweapons, map retint actions etc. if they belong to a house using any color scheme instead of only those from the first half of `[Colors]` list (by Starkku)
- Animations using `AltPalette` are now remapped to their owner's color scheme instead of first listed color scheme and no longer draw over shroud (by Starkku)
- Fixed `DeployToFire` not considering building placement rules for `DeploysInto` buildings and as a result not working properly with `WaterBound` buildings (by Starkku)
- Fixed `DeployToFire` not recalculating firer's position on land if it cannot currently deploy (by Starkku)
- `Arcing=true` projectile elevation inaccuracy can now be fixed by setting `Arcing.AllowElevationInaccuracy=false` (by Starkku)
- Fixed position and layer of info tip and reveal production cameo on selected building (by Belonit)
- Fixed `TurretOffset` to be supported for SHP vehicles (by TwinkleStar)
- `Powered`/`PoweredSpecial` buildings' powered anims will update as usual when being captured by enemies (by Trsdy)
- Fixed a glitch related to incorrect target setting for missiles (by Belonit)
- Skipped parsing `[Header]` section of compaign maps which led to occasional crashes on Linux (by Trsdy)
- Fixed units' turret rotation and jumpjet wobble under EMP (by Trsdy)
- Fixed `AmbientDamage` when used with `IsRailgun=yes` being cut off by elevation changes (by Starkku)
- Fixed railgun and fire particles being cut off by elevation changes (by Starkku)
- Fixed teleport units' frozen-still timer being reset after load game (by Trsdy)
- Fixed teleport units being unable to visually tilt on slopes (by Trsdy)
- Fixed teleport and drill units being unable to be visually flipped (by Trsdy)
- Aircraft docking on buildings now respect `[AudioVisual] -> PoseDir` as the default setting and do not always land facing north or in case of pre-placed buildings, the building's direction (by Starkku)
- Spawned aircraft now align with the spawner's facing when landing (by Starkku)
- Fixed infantry attempted to entering buildings when waypointing together with engineer/agent/occupier/etc (by Trsdy)
- Fixed jumpjet crash speed when crashing onto buildings (by NetsuNegi)
- Fixed a desync potentially caused by displaying of cursor over selected `DeploysInto` units (by Starkku)
- Skipped drawing the rally point line when undeploying a factory (by Trsdy)
- Tint effects are now correctly applied to SHP vehicles and all types of aircraft as well as building animations regardless of their position (by Starkku)
- Iron Curtained / Force Shielded objects now always use the correct tint color (by Starkku)
- Objects in invalid map coordinates are no longer used for starting view and AI base center calculations (by Starkku)
- Units & buildings with `DecloakToFire=false` weapons can now cloak while targeting & reloading (by Starkku)
- Units with `Sensors=true` will no longer reveal ally buildings (by Starkku)
- Air units are now reliably included by target scan with large range and Warhead detonation by large `CellSpread` (by Starkku)
- Weapons with `AA=true` Projectile can now correctly fire at air units when both firer and target are over a bridge (by Starkku)
- Fixed disguised units not using the correct palette if target has custom palette (by NetsuNegi)
- Building upgrades now consistently use building's `PowerUpN` animation settings corresponding to the upgrade's `PowersUpToLevel` where possible (by Starkku)
- Subterranean units are no longer allowed to perform deploy functions like firing weapons or `IsSimpleDeployer` while burrowed or burrowing, they will instead emerge first like they do for transport unloading (by Starkku)
- Fixed `Temporal=true` Warheads potentially crashing game if used to attack `Slaved=true` infantry (by Starkku)
- Fixed some locomotors (Tunnel, Walk, Mech) getting stuck when moving too fast (by NetsuNegi)
- Animations with `MakeInfantry` and `UseNormalLight=false` that are drawn in unit palette will now have cell lighting changes applied on them (by Starkku)
- Fixed Nuke & Dominator Level lighting not applying to AircraftTypes (by Starkku)
- Removed the 0 damage effect from `InfDeath=9` warheads to in-air infantry (by Trsdy)
- Projectiles created from `AirburstWeapon` now remember their WeaponType and can apply radiation etc. (by Starkku)
- Fixed damaged aircraft not repairing on `UnitReload=true` docks unless they land on the dock first (by Starkku)
- Certain global tileset indices (`ShorePieces`, `WaterSet`, `CliffSet`, `WaterCliffs`, `WaterBridge`, `BridgeSet` and `WoodBridgeSet`) can now be toggled to be parsed for lunar theater (by Starkku)
- Fixed infantry `SecondaryFire` / `SecondaryProne` sequences being displayed in water instead of `WetAttack` (by Starkku)
- Fixed objects with ally target and `AttackFriendlies=true` having their target reset every frame, particularly AI-owned buildings (by Starkku)
- Follower vehicle index for preplaced vehicles in maps is now explicitly constrained to `[Units]` list in map files and is no longer thrown off by vehicles that could not be created or created vehicles having other vehicles as initial passengers (by Starkku)
- Drive/Jumpjet/Ship/Teleport locomotor did not power on when it is un-piggybacked bugfix (by tyuah8)
- Fixed `Stop` command not working so well in some cases (by CrimRecya)
- Use 2D distance instead of 3D to check whether in air team members have arrived destination (by CrimRecya)
- Subterranean movement now benefits from speed multipliers from all sources such as veterancy, AttachEffect etc. (by Starkku)
- Fixed an issue where a unit will leave an impassable invisible barrier in its original position when it is teleported by ChronoSphere onto an uncrushable unit and self destruct (by NetsuNegi)
- Fixed the bug that parasite will vanish if it missed its target when its previous cell is occupied (by TaranDahl)
- Aircraft will now behave as expected according to it's `MovementZone` and `SpeedType` when moving onto different surfaces. In particular, this fixes erratic behavior when vanilla aircraft is ordered to move onto water surface and instead the movement order changes to a shore nearby (by CrimRecya)
- Fixed the bug that destroyed unit may leaves sensors (by tyuah8 & NetsuNegi)
- `FreeUnit` uses its own `SpeedType` to determine where to spawn (by NetsuNegi)
- Fixed the bug where naval ships set to `AllowedToStartInMultiplayer=yes` may spawn incorrectly on land (by NetsuNegi)
- Fixed the bug where pathfinding issues occur when a building performs undeploy (by NetsuNegi)
- Units are now unable to kick out from a factory that is in construction process, and will not always stuck in the factory (by CrimRecya & TaranDahl)
- Fixed a crash caused by electric bolt not invalidating Owner (by NetsuNegi)
- Fixed a jumpjet crash related to voxel shadow drawing (by hejiajun107, Xkein, ZivDero)
- Fixed issues caused by incorrect reference removal (f.ex. If the unit cloaks/enters transport, it cannot gain experience from previously launched spawners/C4/projectiles) (by TaranDahl & Noble_Fish)
- Fixed an issue that caused `IsSonic=true` wave drawing to crash the game if the wave traveled over a certain distance (by Starkku)
- Fixed `Hospital=yes` building can't kick out infantry after loading a save (by FlyStar)
- Electric bolts that are supposed to update their position based on units current firing coords (by default, those fired by vehicles) now do so correctly for more than one concurrent electric bolt (by Starkku)
- Fixed an issue where `FireAngle` would not work properly under certain circumstances (by TaranDahl)
- Fixed the bug that healing weapons could not automatically acquire aerial targets (by TaranDahl)
- Technos are no longer unable to stop when it is above the elevated bridge, and they are still not allowed to stop moving under the elevated bridge, but can stop other missions (by CrimRecya)
- Fixed an issue that aircraft carriers can not find suitable locations for attacks when under elevated bridges on their own (by CrimRecya)
- Fixed an issue that in air aircraft carriers being unable to attack when it is near by elevated bridges (by CrimRecya & TaranDahl)
- Fixed an issue that aircraft carriers cannot retract its spawned aircraft when on the bridge (by CrimRecya)
- Fixed an issue where the shadow of jumpjet remained on the ground when it was above the elevated bridge (by CrimRecya)
- Allow voxel projectiles to use `AnimPalette` and `FirersPalette` (by NetsuNegi)
- Fixed an issue where AI would select unreachable buildings and get stuck when looking for buildings like tank bunkers, bio reactors, etc. (by TaranDahl)
- Fixed the bug that `EnterBioReactorSound`, `LeaveBioReactorSound`, `EnterGrinderSound` on technotype does not used (by NetsuNegi)
- Fixed the bug that harvester dont stop unloading and cannot unload cargos anymore when lifting by `IsLocomotor=yes` warhead (by NetsuNegi)
- Fixed an issue that units on the slope tilted at an excessive angle (by CrimRecya & NetsuNegi)
- Fixed an issue that the first passenger who call the transport ship no longer board the transport ship when the land units call for boarding (by CrimRecya)
- Fixed an issue that impassable invisible barrier generated by the behavior of infantry continuously entering vehicles (by CrimRecya)
- Fixed an issue that teleport units board transport vehicles on the bridge will create an impassable invisible barrier, which may cause the game to freeze or even crash (by NetsuNegi)
- Fixed an issue that moving MCV with Teleport locomotion will cause reconnection error (by CrimRecya)
- Fixed wrong shadow when a vehicle has hover locomotor and is being lifted by `IsLocomotor=yes` warhead (by NetsuNegi)
- Fixed an issue that harvesters with amphibious movement zone can not automatically return to refineries with `WaterBound` on water surface (by NetsuNegi)
- Fixed an issue that game crashes (EIP:7FB178) when infantry are about to enter an occupiable building that has been removed and is not real dead (by CrimRecya)
- Fixed an issue that game crashes when spawnee has been removed and is not real dead (by CrimRecya)
- Fixed the bug that infantry ignored `Passengers` and `SizeLimit` when entering buildings (by NetsuNegi)
- Fixed `VoiceDeploy` not played, when deployed through hot-key/command bar (by Fryone)
- Fixed the bug that ships can travel on elevated bridges (by NetsuNegi)
- Second weapon with `ElectricAssault=yes` will not unconditionally attack your building with `Overpowerable=yes` (by FlyStar)
- Fixed an issue that the widespread damage caused by detonation on the bridge/ground cannot affect objects on the ground/bridge who are in the opposite case (by CrimRecya)
- Fixed the bug that `DamageSelf` and `AllowDamageOnSelf` are ineffective on airforce (by NetsuNegi)
- Fixed an issue of incorrect position of `TrailerAnim` in `VoxelAnim` (by CrimRecya)
- Fixed the bug that `OpenToppedWarpDistance` is calculated incorrectly for building target (by TaranDahl)
- Fixed an issue that `MovementZone=Fly` harvesters can not be able to enter refinery buildings manually (by CrimRecya)
- Fixed an issue that jumpjet harvester cannot automatically go mining when leaving the weapons factory (by CrimRecya)
- Fixed an issue that jumpjet harvester will overlap when manually entering refinery buildings and cause game crashes (by CrimRecya)
- Fixed an issue that `Spawned` aircraft will fly towards the edge of the map when its `Spawner` is under EMP (by CrimRecya)
- Engineers can enter buildings normally when they don't need to be repaired (or you can force it by pressing Alt) (by FlyStar)
- Player-controlled spies are not forced to perform other tasks while attacking buildings (by FlyStar)
- If `BombDisarm=yes` is not present for all weapon warheads, then the engineer will no longer use the appropriate mouse action (by FlyStar)
- Fixed an unusual use of DeployFireWeapon for InfantryType (by FlyStar)
- Fixed the bug that passengers' Temporal attacks wouldn't stop when an OpenTopped vehicle was frozen by a Temporal warhead (by NetsuNegi)
- Fixed the bug that vehicle owned by computer will scatter when cloaking (by NetsuNegi)
- Fixed the bug that submarine always turn left after changed owner by map event (by NetsuNegi)
- Fixed the bug that occupyable structure won't redraw when press deploy hotkey to release all occupants (by NetsuNegi)
- Fixed an issue that if the garrison unload occupants when there is no open space around it would result in the disappearance of the occupants (by CrimRecya)
- Fixed the bug that Locomotor warhead won't stop working when the attacker is being affected by `Temporal=yes` warhead (by NetsuNegi)
- Fixed the bug that `IsLocomotor=yes` warhead rendering hover units unselectable and undamageable on elevated bridge (by NetsuNegi)
- Fixed the bug that Locomotor warhead won't stop working when firer (except for vehicle) stop firing (by NetsuNegi)
- Fixed the bug that hover vehicle will sink if destroyed on bridge (by NetsuNegi)
- Fixed the fact that when the selected unit is in a rearmed state, it can unconditionally use attack mouse on the target (by FlyStar)
- Fixed pathfinding crashes (EIP 0x42A525, 0x42C507, 0x42C554) that happened on bigger maps due to too small pathfinding node buffer (by CrimRecya)
#### Phobos fixes:
- Fixed a few errors of calling for superweapon launch by `LaunchSW` or building infiltration (by Trsdy)
- Add `ImmuneToCrit` for shields (by Trsdy)
- Reimplemented the bugfix for jumpjet units' facing when firing, discard the inappropriate `JumpjetTurnToTarget` tag (by Trsdy)
- `Gunner=true` transports now correctly change turret if a passenger is removed by `PassengerDeletion` (by Starkku)
- `PassengerDeletion.Soylent` now correctly calculates refund value if removed passenger has no explicitly set `Soylent` value (by Starkku)
- Superweapon `Detonate.Weapon` & `Detonate.Warhead` now use the firing house to deal damage and apply Phobos warhead effects even if no firing building is found (by Starkku)
- `CreateUnit` now uses civilian house as owner instead if the intended owner house has been defeated (this is in-line with how `MakeInfantry` works) (by Starkku)
- `IsHouseColor` laser trails on techno now correctly change color when it changes owner (by Trsdy)
- Fixed `Layer.UseObjectLayer=true` to work correctly for all cases where object changes layer (by Starkku)
- Fixed `DetonateOnAllMapObjects.RequireVerses` not considering shield armor types (by Starkku)
- Fixed new Phobos script actions not picking team leader correctly based on `LeadershipRating` (by Starkku)
- Fixed an issue with `Gunner=true` vehicles not correctly using the first passenger's mode with multiple passengers inside (by Starkku)
- Used `MindControl.Anim` for buildings deployed from mind-controlled vehicles (by Trsdy)
- Optimized extension class implementation, should improve performance all around (by Otamaa & Starkku)
- Fixed `Interceptor` not resetting target if the intercepted projectile changes type to non-interceptable one afterwards (by Starkku)
- Fixed `PlacementPreview` setting for BuildingTypes not being parsed from INI (by Starkku)
- Fixed Phobos animation additions that support `CreateUnit.Owner` not also checking `MakeInfantryOwner` (by Starkku)
- Fixed `AutoDeath` to consider all conditions for objects in limbo (by Starkku)
- Shields will no longer take damage if the parent techno has `Immune=true` or has `TypeImmune=true` and the damage comes from instance of same TechnoType owned by same house (by Starkku)
- Fixed interceptors causing multiplayer games to desync (by Starkku)
- Optimized performance for map trigger retint action light source fix (by Starkku)
- Fixed a number of issues with Warhead Shield respawn / self heal rate modifiers like timers getting reset unnecessarily, the timer being adjusted wrong after the Warhead effect runs out etc. (by Starkku)
- Fixed a problem with disguise visibility logic that could cause game to crash on loading a map (by Starkku)
- Fixed owned `LimboDelivery` buildings not being saved correctly in savegames (by Starkku)
- Fixed a typo in weapon selector code causing issues with `NoAmmoWeapon` and related checks (by Starkku)
- Fixed `DetonateOnAllMapObjects` behaving erratically or potentially crashing if it destroys buildings using Ares' advanced rubble (by Starkku)
- Fixed game crashing on loading save games if the saved game state had active radiation sites (by Starkku)
- Fixed a desync error caused by air/top layer sorting (by Starkku)
- Fixed heal / repair weapons being unable to remove parasites from shielded targets if they were unable to heal / repair the parent unit (by Starkku)
- Fixed `Inviso=true` interceptor projectiles applying damage on interceptable, armor type-having projectiles twice (by Starkku)
- Fixed `AutoDeath` causing crashes when used to kill a parasite unit inside an another unit (by Starkku)
- Phobos Warhead effects combined with `CellSpread` now correctly apply to buildings if any of the foundation cells are hit (by Starkku)
- Phobos Warhead effects on zero-`CellSpread` Warheads no longer apply to target if projectile detonates prematurely, far-away from target (by Starkku)
- Fixed radiation site damage not taking the radiation level reduction into accord (by Starkku)
- Correctly update laser trail position while techno is cloaked even if trail is not drawn (by Starkku)
- Fixed `Shield.Respawn.Amount` not defaulting to shield type default if not set (by Starkku)
- Fixed an issue where the hotkey message text in frame-by-frame mode incorrectly referenced `TXT_DISPLAY_DAMAGE_DESC` instead of `TXT_FRAME_BY_FRAME_DESC`. (by Noble_Fish)
- Buildings considered vehicles (`ConsideredVehicle=true` or not set in conjunction with `UndeploysInto` & 1x1 foundation) are now considered units by affected target enum checks (by Starkku)
- Fixed Phobos Warhead effects not reliably being applied on damage area as opposed to full weapon-based Warhead detonation (by Starkku)
- Fixed `LimboKill` not working reliably (by CrimRecya)
- Fixed `SelfHealGainType=none` not working (changed to `noheal`) (by Starkku)
- Fixed AircraftTypes gaining self-healing from `UnitsGainSelfHeal` by default (while not displaying the pip) when they should not (by Starkku)
- Fixed `LaunchSW.IgnoreInhibitors` and `SW.Next.IgnoreInhibitors` overriding corresponding `IgnoreDesignators` and `IgnoreInhibitors` settings (by Ollerus)
- Type conversion on Warheads and Superweapons will no longer recursively convert units if applicable conversion pairs are listed, and only first applicable pair takes effect (by Starkku)
- Fixed `Ammo.DeployUnlockMinimumAmount`/`Ammo.DeployUnlockMaximumAmount` behavior inside tank bunkers (by Fryone)
- Fixed `Ammo.AddOnDeploy` behavior inside tank bunkers for non-converters (by Fryone)
- Fixed an issue that caused new attack and move script actions to pick buildings with `InvisibleInGame=yes` as targets (by FS-21)
- Fixed `Insignia.Weapon` failing to parse in map (by Ollerus)
- Fixed `AltNextScenario` not taking effect (by FlyStar)
- Fixed `DefaultDisguise` showing wrong house colors for different players (by NetsuNegi & Ollerus)
- `600 The shield of the attached object is broken` bug fix for the triggered event (by FlyStar)
- Fixed a read bug when setting the SHP file name in INI (By Noble_Fish)
- Fixed map trigger action `125 Build At...` not always playing buildups correctly (by Starkku)
#### Fixes / interactions with other extensions:
- Weapons fired by EMPulse superweapons *(Ares feature)* now fully respect the firing building's FLH (by Starkku)
- Weapons fired by EMPulse superweapons *(Ares feature)* now respect `Floater` and Phobos-added `Gravity` setting (by Starkku)
- `IsSimpleDeployer` units with Hover locomotor and `DeployToLand` no longer get stuck after deploying or play their move sound indefinitely (by Starkku)
- All forms of type conversion (including Ares') now correctly update the warp-in delay if unit with teleport `Locomotor` was converted while the delay was active (by Starkku)
- All forms of type conversion (including Ares') now correctly update `MoveSound` if a moving unit has their type changed (by Starkku)
- All forms of type conversion (including Ares') now correctly update `OpenTopped` state of passengers in transport that is converted (by Starkku)
- Infantry type conversion from `Deployer=yes` to `no` now correctly update the sequence anim (by Trsdy)
- Fixed an issue introduced by Ares that caused building `ActiveAnim` to be incorrectly restored while `SpecialAnim` was playing and the building was sold, erased or destroyed (by Starkku & Trsdy)
- Appended Ares' `SW.Shots` usage to extended tooltips (by Trsdy)
- Fixed Ares' Abductor weapon leaves permanent placement stats when abducting moving vehicles (by Trsdy)
- Suppressed Ares' swizzle warning when parsing `Tags` and `TaskForces` (by Trsdy)
- Fixed Academy *(Ares feature)* not working on the initial payloads *(Ares feature)* of vehicles built from a war factory (by Trsdy, supersedes Aephiex impl.)
- Fixed Ares' InitialPayload not being created for vehicles spawned by trigger actions (by Trsdy)
- Taking over Ares' AlphaImage respawn logic to reduce lags from it (by NetsuNegi)
- Fixed an issue where a portion of Ares's trigger event 75/77 was determined unsuccessfully (by FlyStar)
- Fixed an issue where some units crashed after the deployment transformation (by ststl & FlyStar)
- Fixed the bug that AlphaImage remained after unit entered tunnel (by NetsuNegi)
- Fixed an issue where Ares' `Convert.Deploy` triggers repeatedly when the unit is turning or moving (by CrimRecya)
- Fixed quicksave command and save game trigger action to work with YRpp spawner's multiplayer saves (by Kerbiter)
- Ported XNA CnCNet Client multiplayer save handling to get rid of occasional multiplayer save file overwriting when saving too fast (by Kerbiter)
#### New:
- Additional sync logging in case of desync errors occuring (by Starkku)
#### Phobos fixes:
- `AutoDeath` support for objects in limbo (by Trsdy)
- Buildings sold by `AutoDeath` no longer play a click sound effect (by Trsdy)
- Fixed shield animation being hidden while underground or in tunnels fix not working correctly (by Starkku)
- Restore the `MindClearedSound` when deploying a mind-controlled unit into a building loses the mind-control (by Trsdy)
- Fixed `RadSiteWarhead.Detonate` not detonating precisely on the affected object (thus requiring `CellSpread`) (by Starkku)
- Fixed script action 10103 'Load Into Transports' unintentionally skipping next action (by FS-21)
- Changed mission retry dialog button order to better match old order people are used to (by Trsdy)
- Allow PowerPlant Enhancer to be affected by EMP (by Trsdy)
- Animation `Weapon` with `Damage.DealtByInvoker=true` now uses the invoker's house to deal damage and apply Phobos warhead effects even if invoker is dead when weapon is fired (by Starkku)
- Fixed a crash when trying to create radiation outside map bounds (by Otamaa)
- Fixed new AI attack scripts not allowing zero damage weapons to pick targets (by Starkku)
- Fixed floating point value parsing precision to match the game (by Starkku)
- Power output / drain should now correctly be applied for buildings created via `LimboDelivery` in campaigns (by Starkku)
- Fixed shield health bar showing empty bar when shield is still on very low health instead of depleted (by Starkku)
- Fixed `CanTarget` not considering objects on bridges when checking if cell is empty (by Starkku)
- Fixed vehicle deploy weapons not working if the unit is cloaked and weapon has `DecloakToFire=true` (by NetsuNegi & Starkku)
- Fixed `IsAnimated` terrain not updating correctly in all circumstances (by Starkku)
- Fixed `CreateUnit` interaction with bridges (spawning under when shouldn't etc) (by Starkku)
- `CanTarget` now considers bridges as land like game's normal weapon selection does (by Starkku)
- `AreaFire.Target` now takes cells with bridges into consideration depending on firer's elevation (by Starkku)
#### New:
- LaserTrails initial implementation (by Kerbiter & ChrisLv_CN)
- Anim-to-Unit logic and ability to randomize `DestroyAnim` (by Otamaa)
- Shield modification warheads (by Starkku)
- Shield BreakWeapon & InitialStrength (by Starkku)
- Initial Strength for TechnoTypes (by Uranusian)
- Re-enable obsolete `[JumpjetControls]` for TechnoTypes' default Jumpjet properties (by Uranusian)
- Weapon targeting filter (by Uranusian & Starkku)
- Secondary weapon fallback customization (by Starkku)
- Burst-specific FLHs for TechnoTypes (by Starkku)
- Burst delays for weapons (by Starkku)
- AreaFire weapon target customization (by Starkku)
- Auto-firing TechnoType weapons (by Starkku)
- PowerPlant Enhancer (by secsome)
- Unlimited Global / Local Variables (by secsome)
- Adds a "Load Game" button to the retry dialog on mission failure (by secsome)
- Default disguise for individual InfantryTypes (by secsome)
- Quicksave hotkey command (by secsome)
- Save Game trigger action (by secsome)
- Numeric Variables (by secsome)
- TechnoType's tooltip would display it's build time now (by secsome)
- Customizable tooltip background color and opacity (by secsome)
- FrameByFrame & FrameStep hotkey command (by secsome)
- Allow `NotHuman=yes` infantry to use random `Death` anim sequence (by Otamaa)
- Ability for warheads to trigger specific `NotHuman=yes` infantry `Death` anim sequence (by Otamaa)
- XDrawOffset for animations (by Morton)
- Customizable OpenTopped properties (by Otamaa)
- Automatic Passenger Deletion (by FS-21)
- Script actions for new AI attacks (by FS-21)
- Script actions for modifying AI Trigger Current Weight (by FS-21)
- Script action for waiting & repeat the same new AI attack if no target was found (by FS-21)
- Script action that modifies the Team's Trigger Weight when ends the new attack action (by FS-21)
- Script action for picking a random script from a list (by FS-21)
- Script action for new AI movements towards certain objects (by FS-21)
- Script action that modify target distance in the new move actions (by FS-21)
- Script action that modify how ends the new move actions (by FS-21)
- Script action that un-register Team success (by FS-21)
- Script action to regroup temporarily around the Team Leader (by FS-21)
- Script action to randomly skip next action (by FS-21)
- Script action for timed script action jumps (by FS-21)
- ObjectInfo now shows current Target and AI Trigger data (by FS-21)
- Shield absorption and passthrough customization (by Morton)
- Limbo Delivery of buildings (by Morton)
- Ore stage threshold for `HideIfNoOre` (by Otamaa)
- Image reading in art rules for all TechnoTypes (by Morton)
- Attached animation layer customization (by Starkku)
- Jumpjet unit layer deviation customization (by Starkku)
- IsSimpleDeployer deploy direction & animation customizations (by Starkku)
- Customizable projectile gravity (by secsome)
- Gates can now link with walls correctly via `NSGates` or `EWGates` (by Uranusian)
- Per-warhead toggle for decloak of damaged targets (by Starkku)
- `DeployFireWeapon=-1` now allows the deployed infantry using both weapons as undeployed (by Uranusian)
- Power delta (surplus) counter for sidebar (by Morton)
- Added Production and Money to Dump Object Info command (by FS-21)
- `EnemyUIName=` Now also works for other TechnoTypes (by Otamaa)
- `DestroyAnim` & `DestroySound` for TerrainTypes (by Otamaa)
- Weapons fired on warping in / out (by Starkku)
- `Storage.TiberiumIndex` for customizing resource storage in structures (by FS-21)
- Grinder improvements & customizations (by Starkku)
- Attached animation position customization (by Starkku)
- Trigger Action 505 for Firing SW at specified location (by FS-21)
- Trigger Action 506 for Firing SW at waypoint (by FS-21)
- New behaviors for objects' self-destruction under certain conditions (by Trsdy & FS-21)
- Slaves' ownership decision when corresponding slave miner is destroyed (by Trsdy)
- Customize buildings' selling sound and EVA voice (by Trsdy)
- `ForceWeapon.Naval.Decloacked` for overriding uncloaked underwater attack behavior (by FS-21)
- Shrapnel enhancement (by secsome)
- Shared Ammo for transports to passengers (by FS-21)
- Additional critical hit logic customizations (by Starkku)
- Laser trails for VoxelAnims (by Otamaa)
- Local warhead screen shaking (by Starkku)
- Feedback weapon (by Starkku)
- TerrainType & ore minimap color customization (by Starkku)
- Single-color weapon lasers (by Starkku)
- Customizable projectile trajectory (by secsome)
- Display damage numbers debug hotkey command (by Starkku)
- Toggleable display of TransactMoney amounts (by Starkku)
- Building-provided self-healing customization (by Starkku)
- Building placement preview (by Otamaa & Belonit)
- Passable & buildable-upon TerrainTypes (by Starkku)
- Toggle for passengers to automatically change owner if transport owner changes (by Starkku)
- Superweapon launch on warhead detonation (by Trsdy)
- Preserve IronCurtain status upon `DeploysInto`/`UndeploysInto` (by Trsdy)
- Correct owner house for Warhead Anim/SplashList & Play Animation trigger animations (by Starkku)
- Customizable FLH When Infantry Is Crouched Or Deployed (by FS-21)
- Enhanced projectile interception logic, including projectile strength & armor types (by Starkku)
- Initial Strength for Cloned Infantry (by FS-21)
- OpenTopped transport rangefinding & deactivated state customizations (by Starkku)
- Forbidding parallel AI queues by type (by NetsuNegi & Trsdy)
- Animation damage / weapon improvements (by Starkku)
- Warhead self-damaging toggle (by Starkku)
- Trailer animations inheriting owner (by Starkku)
- Warhead detonation on all objects on map (by Starkku)
- Implemented support for PCX images for campaign loading screen (by FlyStar)
- Implemented support for PCX images for observer loading screen (by Uranusian)
- Animated (non-tiberium spawning) TerrainTypes (by Starkku)
- Toggleable passenger killing for `Explodes=true` units (by Starkku)
- New condition for automatic self-destruction logic when TechnoTypes exist/don't exist (by FlyStar)
- For developers: now you can use command line arg to control main exception handler (by Multfinite)
#### Vanilla fixes:
- Fixed laser drawing code to allow for thicker lasers in house color draw mode (by Kerbiter & ChrisLv_CN)
- Fixed `DeathWeapon` not detonating properly (by Uranusian)
- Fixed lasers & other effects drawing from wrong offset with weapons that use `Burst` (by Starkku)
- Fixed buildings with `Naval=yes` ignoring `WaterBound=no` to be forced to place onto water (by Uranusian)
- Fixed temporal weapon crash under certain conditions where stack dump starts with 0051BB7D (by secsome)
- Fixed the bug when retinting map lighting with a map action corrupted light sources (by secsome)
- Fixed the bug when reading a map which puts `Preview(Pack)` after `Map` lead to the game fail to draw the preview (by secsome)
- Fixed the bug that GameModeOptions are not correctly saved (by secsome)
- Fixed the bug that AITriggerTypes do not recognize building upgrades (by Uranusian)
- Fixed the bug when occupied building's `MuzzleFlashX` is drawn on the center of the building when `X` goes past 10 (by Otamaa)
- Fixed jumpjet units that are `Crashable` not crashing to ground properly if destroyed while being pulled by a `Locomotor` warhead (by Starkku)
- Fixed aircraft & jumpjet units not being affected by speed modifiers (by Starkku)
- Fixed vehicles (both voxel & SHP) to fully respect `Palette` (by Starkku)
- Fixed mind control indicator animations not reappearing on mind controlled objects that are cloaked and then uncloaked (by Starkku)
- Fixed Nuke carrier and payload weapons not respecting `Bright` setting on weapon (by Starkku)
- Fixed buildings not reverting to undamaged graphics when HP was restored above `[AudioVisual] -> ConditionYellow` via `SelfHealing` (by Starkku)
- Fixed jumpjet units being unable to turn to the target when firing from a different direction (by Trsdy)
- Fixed turreted jumpjet units always facing bottom-right direction when stop moving (by Trsdy)
- Fixed jumpjet objects being unable to detect cloaked objects beneath (by Trsdy)
- Anim owner is now set for warhead AnimList/SplashList anims and Play Anim at Waypoint trigger animations (by Starkku)
- Fixed AI script action Deploy getting stuck with vehicles with `DeploysInto` if there was no space to deploy at initial location (by Starkku)
- Fixed `Foundation=0x0` causing crashes if used on TerrainTypes (by Starkku)
- Projectiles now remember the house of the firer even if the firer is destroyed before the projectile detonates. Does not currently apply to Ares-introduced Warhead effects (by Starkku)
- Buildings now correctly use laser parameters set for Secondary weapons instead of reading them from Primary weapon (by Starkku)
- Fixed an issue that caused vehicles killed by damage dealt by a known house but without a known source TechnoType (f.ex animation warhead damage) to not be recorded as killed correctly and thus not spring map trigger events etc. (by Starkku)
- Translucent RLE SHPs will now be drawn using a more precise and performant algorithm that has no green tint and banding (only applies to Z-aware drawing mode for now) (by Apollo)
- Fixed transports recursively put into each other not having a correct killer set after second transport when being killed by something (by Kerbiter)
- Fixed projectiles with `Inviso=true` suffering from potential inaccuracy problems if combined with `Airburst=yes` or Warhead with `EMEffect=true` (by Starkku)
- Fixed the bug when `MakeInfantry` logic on BombClass resulted in `Neutral` side infantry (by Otamaa)
- Fixed railgun particles being drawn to wrong coordinate against buildings with non-default `TargetCoordOffset` or when force-firing on bridges (by Starkku)
- Fixed building `TargetCoordOffset` not being taken into accord for several things like fire angle calculations and target lines (by Starkku)
- Allowed observers to see a selected building's radial indicator (by Trsdy)
#### Phobos fixes:
- Fixed shields being able to take damage when the parent TechnoType was under effects of a `Temporal` Warhead (by Starkku)
- Improved shield behavior for forced damage (by Uranusian)
- Fixed `SplashList` animations playing when a unit is hit on a bridge over water (by Uranusian)
- Fixed shielded objects not decloaking if shield takes damage (by Starkku)
- Fixed critical hit animation playing even if no critical hits were dealt due to `Crit.Affects` or `ImmuneToCrit` settings (by Starkku)
- Fixed `RemoveDisguise` not working on `PermaDisguise` infantry (by Starkku)
- Fixed single-color laser (IsHouseColor, IsSingleColor, LaserTrails) glow falloff to match the vanilla appearance (by Starkku)
- Fixed a potential cause of crashes concerning shield animations (such in conjunction with cloaking) (by Starkku)
- Fixed interceptors intercepting projectiles fired by friendly objects if the said object died after firing the projectile (by Starkku)
- Fixed interceptor weapons with `Inviso=true` projectiles detonating the projectile at wrong coordinates (by Starkku)
- Fixed some possible configuration reading issues when using Phobos with patches that rename `uimd.ini` (by Belonit)
- Fixed a game crash when using the Map Snapshot command (by Otamaa)
- Fixed issue with incorrect input in edit dialog element when using IME (by Belonit)
- Fixed an issue where tooltip text could be clipped by tooltip rectangle border if using `MaxWidth` > 0 (by Starkku)
- Fixed projectiles with `Trajectory=Straight` suffering from potential inaccuracy problems if combined with `Airburst=yes` or Warhead with `EMEffect=true` (by Starkku)
- Minor performance optimization related to shields (by Trsdy)
- Fixed teleporting miners (Chrono Miner) considered to be idle by harvester counter, improved related game performance (by Trsdy)
- Fixed negative damage weapons considering shield health when evaluating targets even if Warhead had `Shield.Penetrate` set to true (by Starkku)
- Fixed engineers considering shield health instead of building health when determining if they can repair or capture a building (by Starkku)
- Fixed shield animations (`IdleAnim`, `BreakAnim` and `HitAnim`) showing up even if the object shield is attached to is currently underground (by Starkku)
- Fixed shields not being removed from sinking units until they have fully finished sinking (by Starkku)
- Fixed techno-extdata update after type conversion (by Trsdy)
- Fixed Phobos Warhead effects (crits, new shield modifiers etc.) considering sinking units valid targets (by Starkku)
- Fixed an issue where `FireOnce=yes` deploy weapons on vehicles would still fire multiple times if deploy command is issued repeatedly or when not idle (by Starkku)
- Fixed a game crash when checking `BuildLimit` if Phobos is running without Ares (by Belonit)
- Corrected the misinterpretation in the definition of `DiskLaser.Radius` (by Trsdy)
- Fixed GlobalVariables failed working among scenarios (by Trsdy)
#### Fixes / interactions with other extensions:
- Fixed AI Aircraft docks bug when Ares tag `[GlobalControls] -> AllowParallelAIQueues=no` is set (by FS-21)
- Weapons fired by EMPulse superweapons *(Ares feature)* without `EMPulse.TargetSelf=true` can now create radiation (by Starkku)
#### Non-DLL:
- Implemented a tool (sed wrapper) to semi-automatically upgrade INIs to use latest Phobos tags (by Kerbiter)
#### Phobos fixes:
- Fixed shield type info not saving properly (by Uranusian)
- Fixed extended building upgrades logic not properly interacting with Ares' BuildLimit check (by Uranusian)
- Fixed more random crashes for `CameoPriority` (by Uranusian)
- Fixed aircraft weapons causing game freeze when burst index was not correctly reset after firing (by Starkku)
#### Phobos fixes:
- Fixed random crashes about `CameoPriority` (by Uranusian)
- Fixed trigger action 125 not functioning properly (by Uranusian)
- Fixed area warhead detonation not falling back to firer house (by Otamaa)
- RadSite hook adjustment for `FootClass` to support Ares `RadImmune`; also various fixes to radiation / desolators (by Otamaa)
- Fixed `Crit.Affects` not functioning properly (by Uranusian)
- Fixed improper upgrade owner transfer which resulted in built ally / enemy building upgrades keeping the player who built them alive (by Kerbiter)
#### New:
- Customizable producing progress "bars" like CnC:Remastered did (by Uranusian)
- Customizable cameo sorting priority (by Uranusian)
- Customizable harvester ore gathering animation (by secsome & Uranusian)
- Allow making technos unable to be issued with movement order (by Uranusian)
#### Vanilla fixes:
- Fixed non-IME keyboard input to be working correctly for languages / keyboard layouts that use character ranges other than Basic Latin and Latin-1 Supplement (by Belonit)
#### Phobos fixes:
- Fixed the critical damage logic not functioning properly (by Uranusian)
- Fixed the bug when executing the stop command game crashes (by Uranusian)
#### Phobos fixes:
- Fixed occasional crashes introduced by `Speed=0` stationary vehicles code (by Starkku)
#### New:
- Setting VehicleType `Speed` to 0 now makes game treat them as stationary (by Starkku)
#### Vanilla fixes:
- Fixed the bug when after a failed placement the building/defence tab hotkeys won't trigger placement mode again (by Uranusian)
- Fixed the bug when building with `UndeployInto` plays `EVA_NewRallypointEstablished` while undeploying (by secsome)
#### Phobos fixes:
- Fixed the bug when trigger action `125 Build At...` wasn't actually producing a building when the target cells were occupied (by secsome)
#### New:
- Shield logic for TechnoTypes (by Uranusian, secsome, Belonit) with warhead additions (by Starkku)
- Custom Radiation Types (by AlexB, Otamaa, Belonit, Uranusian)
- New ScriptType actions `71 Timed Area Guard`, `72 Load Onto Transports`, `73 Wait until ammo is full` (by FS-21)
- Ore drills now have customizable ore type, range, ore growth stage and amount of cells generated (by Kerbiter)
- Basic projectile interception logic (by AutoGavy, ChrisLv_CN, Kerbiter, Erzoid/SukaHati)
- Customizable harvester active/total counter next to credits counter (by Uranusian)
- Select Next Idle Harvester hotkey command (by Kerbiter)
- Dump Object Info hotkey command (by secsome & FS-21)
- Remove Disguise and Remove Mind Control warhead effects (by secsome)
- Custom per-warhead `SplashLists` (by Uranusian)
- `AnimList.PickRandom` used to randomize `AnimList` with no side effects (by secsome)
- Chance-based critical damage system on warheads (by AutoGavy)
- Optional mind control range limit (by Uranusian)
- Multiple mind controllers can now release units on overload (by Uranusian & secsome)
- Spawns now can be killed on low power and have limited pursuing range (by FS-21)
- Spawns can now have the same exp. level as owner techno (by Uranusian)
- `TurretOffset` now accepts `F,L,H` and `F,L` values instead of just `F` value (by Kerbiter)
- ElectricBolt arc visuals can now be disabled per-arc (by Otamaa)
- Semantic locomotor aliases for modder convenience (by Belonit)
- Ability to specify amount of shots for strafing aircraft and burst simulation (by Starkku)
- Customizeable Teleport/Chrono Locomotor properties per TechnoType (by Otamaa)
- Maximum waypoints amount increased from 702 to 2147483647 (by secsome)
- Customizeable Missing Cameo file (by Uranusian)
#### Vanilla fixes:
- Map previews with zero size won't crash the game anymore (by Kerbiter & Belonit)
- Tileset 255+ bridge fix (by E1 Elite)
- Fixed fatal errors when `Blowfish.dll` couldn't be registered in the system properly due to missing admin rights (by Belonit)
- Fixed to take Burst into account for aircraft weapon shots beyond the first one (by Starkku)
- Fixed the bug when units are already dead but still in map (for sinking, crashing, dying animation, etc.), they could die again (by Uranusian)
- Fixed the bug when cloaked Desolator was unable to fire his deploy weapon (by Otamaa)
- Fixed the bug when `InfiniteMindControl` with `Damage=1` will auto-release the victim to control new one (by Uranusian)
- Fixed the bug that script action `Move to cell` was still using leftover cell calculations from previous games (by secsome)
- Fixed the bug when trigger action `125 Build At...` didn't play buildup anim (by secsome)
- Fixed `DebrisMaximums` (spawned debris type amounts cannot go beyond specified maximums anymore) (by Otamaa)
- Fixes to `DeployFire` logic (`DeployFireWeapon`, `FireOnce`, stop command now work properly) (by Starkku)
#### Phobos fixes:
- Properly rewritten a fix for mind-controlled vehicles deploying into buildings (by FS-21)
- Properly rewritten `DeployToFire` fix, tag `Deployed.RememberTarget` is deprecated, now always on (by Kerbiter)
- New warheads now work with Ares' `GenericWarhead` superweapon (by Belonit)
#### Phobos fixes:
- Fixed an occasional crash when selecting units with a selection box (by Kerbiter)
#### New:
- Full-color PCX graphics support (by Belonit)
- Support for PCX loading screens of any size (by Belonit)
- Extended sidebar tooltips with descriptions, recharge time and power consumption/generation (by Kerbiter & Belonit)
- Selection priority filtering for box selection (by Kerbiter)
- Shroud, reveal and money transact warheads (by Belonit)
- Custom game icon command line arg (by Belonit)
- Ability to disable black spawn position dots on map preview (by Belonit)
- Ability to specify applicable building owner for building upgrades (by Kerbiter)
- Customizable disk laser radius (by Belonit & Kerbiter)
- Ability to switch to GDI sidebar layout for any side (by Belonit)
#### Vanilla fixes:
- Deploying mind-controlled TechnoTypes won't make them permanently mind-controlled anymore (unfinished fix by DCoder)
- SHP debris hardcoded shadows now respect `Shadow=no` tag value (by Kerbiter)
- `DeployToFire` vehicles won't lose target on deploy anymore (unfinished fix by DCoder)
- Fixed QWER hotkey tab switching not hiding the displayed tooltip as it should (by Belonit)
- Sidebar tooltips now can go over sidebar bounds (by Belonit)
- Lifted stupidly small limit for tooltip character amount (by Belonit)