Skip to content

Commit ee7b32f

Browse files
Merge remote-tracking branch 'Phobos-developers/develop' into dev-docs
2 parents b4e67f1 + e8e77c9 commit ee7b32f

File tree

17 files changed

+2607
-1710
lines changed

17 files changed

+2607
-1710
lines changed

CREDITS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,12 @@ This page lists all the individual contributions to the project by their author.
533533
- Fix an issue that if the garrison unload occupants when there is no open space around it would result in the disappearance of the occupants
534534
- Fix an issue where Ares' `Convert.Deploy` triggers repeatedly when the unit is turning or moving
535535
- Reverse engineer warhead
536+
- AI base construction modification
537+
- Restore turret recoil effect
538+
- Fix an issue that `FireAngle` was not taken into account when drawing barrel in `TurretShadow`
539+
- Fix an issue that barrel anim data will be incorrectly overwritten by turret anim data if the techno's section exists in the map file
540+
- Jumpjet Climbing Logic Enhancement
541+
- Fix for pathfinding crashes on big maps due to too small pathfinding node buffer
536542
- **Ollerus**:
537543
- Build limit group enhancement
538544
- Customizable rocker amplitude

Phobos.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@
180180
<ClCompile Include="src\Utilities\Debug.cpp" />
181181
<ClCompile Include="src\Ext\BuildingType\Body.cpp" />
182182
<ClCompile Include="src\Ext\BuildingType\Hooks.cpp" />
183+
<ClCompile Include="src\Ext\BuildingType\Hooks.Placing.cpp" />
183184
<ClCompile Include="src\Ext\WarheadType\Body.cpp" />
184185
<ClCompile Include="src\Ext\WarheadType\Hooks.cpp" />
185186
<ClCompile Include="src\Misc\FlyingStrings.cpp" />

docs/Fixed-or-Improved-Logics.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ This page describes all ingame logics that are fixed or improved in Phobos witho
254254
- Fixed the bug that hover vehicle will sink if destroyed on bridge.
255255
- Fixed the fact that when the selected unit is in a rearmed state, it can unconditionally use attack mouse on the target.
256256
- 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.
257+
- 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.
258+
- Fixed pathfinding crashes (EIP 0x42A525, 0x42C507, 0x42C554) that happened on bigger maps due to too small pathfinding node buffer.
257259

258260
## Fixes / interactions with other extensions
259261

@@ -703,6 +705,27 @@ In `rulesmd.ini`:
703705
BuildingWaypoints=false ; boolean
704706
```
705707

708+
### AI base construction modification
709+
710+
- AI can now have some new behaviors.
711+
- `AIAutoDeployMCV` controls whether AI will still automatically deploy the mcv after owning a construction yard.
712+
- `AISetBaseCenter` controls whether AI will still set the newly deployed construction yard as the base center after owning a construction yard.
713+
- `AIBiasSpawnCell` controls whether AI will preferentially select the construction yard close to the birth point as the base center (useless in campaign).
714+
- `AIForbidConYard` controls whether AI cannot place buildings with `ConstructionYard=true`. AI will try to build one after a construction yard is destroyed but will not put it down. After that, it will continue to build other buildings. Building a construction yard will still take some time. You can try to reduce the build time of it.
715+
- `AINodeWallsOnly` controls whether AI can only automatically connect adjacent walls when there are wall base nodes around.
716+
- `AICleanWallNode` controls whether AI cannot place walls when there are no `ProtectWithWall` buildings around. If it cannot be placed, this base node will also be removed.
717+
718+
In `rulesmd.ini`:
719+
```ini
720+
[AI]
721+
AIAutoDeployMCV=true ; boolean
722+
AISetBaseCenter=true ; boolean
723+
AIBiasSpawnCell=false ; boolean
724+
AIForbidConYard=false ; boolean
725+
AINodeWallsOnly=false ; boolean
726+
AICleanWallNode=false ; boolean
727+
```
728+
706729
## Infantry
707730

708731
### Auto deploy for GI-like infantry
@@ -1265,6 +1288,19 @@ IronCurtain.ExtraTintIntensity=0.0 ; floating point value
12651288
ForceShield.ExtraTintIntensity=0.0 ; floating point value
12661289
```
12671290

1291+
### Jumpjet climbing logic enhancement
1292+
1293+
- You can now let the jumpjets increase their height earlier by set `JumpjetClimbPredictHeight` to true. The jumpjet will raise its height 5 cells in advance, instead of only raising its height when encountering cliffs or buildings in front of it.
1294+
- You can also let them simply skip the stop check by set `JumpjetClimbWithoutCutOut` to true. The jumpjet will not stop moving horizontally when encountering cliffs or buildings in front of it, but will continue to move forward while raising its altitude.
1295+
- When `JumpjetClimbPredictHeight` is enabled, if the height raised five grids in advance is still not enough to cross cliffs or buildings, it will stop and move horizontally as before, unless `JumpjetClimbWithoutCutOut` is also enabled.
1296+
1297+
In `rulesmd.ini`:
1298+
```ini
1299+
[General]
1300+
JumpjetClimbPredictHeight=false ; boolean
1301+
JumpjetClimbWithoutCutOut=false ; boolean
1302+
```
1303+
12681304
### Jumpjet rotating on crashing toggle
12691305

12701306
- Jumpjet that is going to crash starts to change its facing uncontrollably, this can now be turned off.
@@ -1817,6 +1853,33 @@ In `artmd.ini`:
18171853
TurretShadow= ; boolean
18181854
```
18191855

1856+
### Turret recoil
1857+
1858+
- Now you can use `TurretRecoil` to control units’ turret/barrel recoil effect when firing.
1859+
- `TurretTravel` and `BarrelTravel` control the maximum recoil distance.
1860+
- `TurretRecoil.Suppress` can prevent the weapon from producing this effect when firing.
1861+
1862+
In `rulesmd.ini`:
1863+
```ini
1864+
[SOMEVEHICLE] ; VehicleType
1865+
TurretRecoil=no ; boolean
1866+
TurretTravel=2 ; integer, pixels
1867+
TurretCompressFrames=1 ; integer, game frames
1868+
TurretHoldFrames=1 ; integer, game frames
1869+
TurretRecoverFrames=1 ; integer, game frames
1870+
BarrelTravel=2 ; integer, pixels
1871+
BarrelCompressFrames=1 ; integer, game frames
1872+
BarrelHoldFrames=1 ; integer, game frames
1873+
BarrelRecoverFrames=1 ; integer, game frames
1874+
1875+
[SOMEWEAPON] ; WeaponType
1876+
TurretRecoil.Suppress=no ; boolean
1877+
```
1878+
1879+
```{note}
1880+
The logic below was not reverse-engineered but reimplemented to achieve the same effect, hence there might be some differences in behavior compared to Tiberian Sun version.
1881+
```
1882+
18201883
### Customize harvester dump amount
18211884

18221885
- Now you can limit how much ore the harvester can dump out per time, like it in Tiberium Sun.

docs/Whats-New.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,9 @@ New:
430430
- [Auto deploy for GI-like infantry](Fixed-or-Improved-Logics.md#auto-deploy-for-gi-like-infantry) (by TaranDahl)
431431
- [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)
432432
- [Reverse engineer warhead](New-or-Enhanced-Logics.md#reverse-engineer-warhead) (by CrimRecya)
433+
- AI base construction modification (by CrimRecya)
434+
- Jumpjet Climbing Logic Enhancement (by CrimRecya)
435+
- Restore turret recoil effect (by CrimRecya)
433436
434437
Vanilla fixes:
435438
- Fixed sidebar not updating queued unit numbers when adding or removing units when the production is on hold (by CrimRecya)
@@ -444,9 +447,11 @@ Vanilla fixes:
444447
- Fixed the bug that damaged particle dont disappear after building has repaired by engineer (by NetsuNegi)
445448
- Projectiles with `Vertical=true` now drop straight down if fired off by AircraftTypes instead of behaving erratically (by Starkku)
446449
- 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)
450+
- 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)
447451
448452
Phobos fixes:
449453
- Fixed the bug that `AllowAirstrike=no` cannot completely prevent air strikes from being launched against it (by NetsuNegi)
454+
- Fixed an issue that `FireAngle` was not taken into account when drawing barrel in `TurretShadow` (by CrimRecya)
450455
451456
Fixes / interactions with other extensions:
452457
- Allowed `AuxBuilding` and Ares' `SW.Aux/NegBuildings` to count building upgrades (by Ollerus)
@@ -767,6 +772,7 @@ Vanilla fixes:
767772
- Fixed the bug that Locomotor warhead won't stop working when firer (except for vehicle) stop firing (by NetsuNegi)
768773
- Fixed the bug that hover vehicle will sink if destroyed on bridge (by NetsuNegi)
769774
- Fixed the fact that when the selected unit is in a rearmed state, it can unconditionally use attack mouse on the target (by FlyStar)
775+
- Fixed pathfinding crashes (EIP 0x42A525, 0x42C507, 0x42C554) that happened on bigger maps due to too small pathfinding node buffer (by CrimRecya)
770776
771777
Phobos fixes:
772778
- Fixed a few errors of calling for superweapon launch by `LaunchSW` or building infiltration (by Trsdy)

0 commit comments

Comments
 (0)