# What's New
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 accomodate.
## Migrating
```{hint}
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.
```
### From vanilla
- 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 `[SOMETECHNOTYPE]/[CombatDamage]->IronCurtain.KeptOnDeploy=no`.
### From older Phobos versions
#### From 0.3
- `Shadow` for debris & meteor animations is changed to `ExtraShadow`.
#### From pre-0.3 devbuilds
- `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#projectile-trajectories).
- 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 accomodate 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π.
#### From 0.2.2.2
- Keys `rulesmd.ini->[SOMEWARHEAD]->PenetratesShield` and `rulesmd.ini->[SOMEWARHEAD]->BreaksShield` have been changed to `Shield.Penetrate` and `Shield.Break`, respectively.
- `Rad.NoOwner` on weapons is deprecated. This has been replaced by `RadHasOwner` key on radiation types itself. It also defaults to no, so radiation once again has no owner house by default.
- `RadApplicationDelay` and `RadApplicationDelay.Building` on custom radiation types are now only used if `[Radiation]` -> `UseGlobalRadApplicationDelay` is 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.
#### From 0.1.1
- Key `rulesmd.ini->[SOMETECHNOTYPE]->Deployed.RememberTarget` is deprecated and can be removed now, the bugfix for `DeployToFire` deployers is now always on.
### For Map Editor (Final Alert 2)
Click to show
In `FAData.ini`:
```ini
[ParamTypes]
47=Structures,28
53=Play BuildUp,10
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
[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
[ActionsRA2]
125=Build at...,-10,47,53,0,0,0,1,0,0,[LONG DESC],0,1,125
500=Save game,-4,13,0,0,0,0,0,0,0,[LONG DESC],0,1,500,1
501=Edit variable,0,56,55,6,54,0,0,0,0,[LONG DESC],0,1,501,1
502=Generate random number,0,56,57,58,54,0,0,0,0,[LONG DESC],0,1,502,1
503=Print variable value,0,56,54,0,0,0,0,0,0,[LONG DESC],0,1,503,0
504=Binary operation,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
; 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]
10103=Load Onto Transports,0,0,1,[LONG DESC]
10101=Wait until ammo is full,0,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
```
## Changelog
### 0.3.1.0
Click to show
New:
- Option to center pause menu background (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).
Phobos fixes:
- Fixed `Interceptor` not resetting target if the intercepted projectile changes type to non-interceptable one afterwards (by Starkku)
- Fixed a potential crash caused by a faulty hook in weapon selection code (by Starkku)
- Fixed `PlacementPreview` setting for BuildingTypes not being parsed from INI (by Starkku)
- Optimized performance for map trigger retint action light source fix (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)
Vanilla fixes:
- Fixed position and layer of info tip and reveal production cameo on selected building (by Belonit)
- 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 teleport units' frozen-still timer being reset after load game (by Trsdy)
Fixes / interactions with other extensions:
- Fixed an issue introduced by Ares that caused `Grinding=true` building `ActiveAnim` to be incorrectly restored while `SpecialAnim` was playing and the building was sold, erased or destroyed (by Starkku)
### 0.3.0.1
Click to show
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)
### 0.3
Click to show
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 infantries 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)
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 AI Aircraft docks bug when Ares tag `[GlobalControls]` > `AllowParallelAIQueues=no` is set (by FS-21)
- 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.
- 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 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 techno-extdata update after type conversion (by Trsdy)
- 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)
Non-DLL:
- Implemented a tool (sed wrapper) to semi-automatically upgrade INIs to use latest Phobos tags (by Kerbiter)
### 0.2.2.2
Click to show
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)
- Fix more random crashes for Cameo Priority (by Uranusian)
- Fix aircraft weapons causing game freeze when burst index was not correctly reset after firing (by Starkku)
### 0.2.2.1
Click to show
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)
### 0.2.2
Click to show
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)
### 0.2.1.1
Click to show
Phobos fixes:
- Fixed occasional crashes introduced by `Speed=0` stationary vehicles code (by Starkku)
### 0.2.1
Click to show
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)
### 0.2
Click to show
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)
- Fix 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)
### 0.1.1
Click to show
Phobos fixes:
- Fixed an occasional crash when selecting units with a selection box
### 0.1
Click to show
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)