Skip to content

Commit a03c1f2

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into origin/ae-attach-discard-by-health-3
# Conflicts: # docs/New-or-Enhanced-Logics.md # docs/Whats-New.md
2 parents 3b177b9 + 5c71e8a commit a03c1f2

26 files changed

+2060
-1578
lines changed

CREDITS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ This page lists all the individual contributions to the project by their author.
387387
- Fix the bug that buildings will always be tinted as airstrike owner
388388
- Fix the bug that `AllowAirstrike=no` cannot completely prevent air strikes from being launched against it
389389
- Fix the bug that infantry ignored `Passengers` and `SizeLimit` when entering buildings
390+
- Tiberium eater logic
390391
- **Apollo** - Translucent SHP drawing patches
391392
- **ststl**:
392393
- Customizable `ShowTimer` priority of superweapons

Phobos.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<ClCompile Include="src\Ext\Unit\Hooks.Sinking.cpp" />
2929
<ClCompile Include="src\Misc\Hooks.AlphaImage.cpp" />
3030
<ClCompile Include="src\New\Entity\AttachEffectClass.cpp" />
31+
<ClCompile Include="src\New\Type\Affiliated\TiberiumEaterTypeClass.cpp" />
3132
<ClCompile Include="src\New\Type\AttachEffectTypeClass.cpp" />
3233
<ClCompile Include="src\Commands\Commands.cpp" />
3334
<ClCompile Include="src\Commands\DamageDisplay.cpp" />
@@ -197,6 +198,7 @@
197198
<ClInclude Include="src\Blowfish\blowfish.h" />
198199
<ClInclude Include="src\Ext\Cell\Body.h" />
199200
<ClInclude Include="src\New\Entity\AttachEffectClass.h" />
201+
<ClInclude Include="src\New\Type\Affiliated\TiberiumEaterTypeClass.h" />
200202
<ClInclude Include="src\New\Type\AttachEffectTypeClass.h" />
201203
<ClInclude Include="src\Commands\FrameByFrame.h" />
202204
<ClInclude Include="src\Commands\FrameStep.h" />

docs/AI-Scripting-and-Mapping.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ x=i,n ; For i values check the next table
169169
| 9 | Power Plants | Any enemy `BuildingTypes` with positive `Power=` values |
170170
| 10 | Occupied | Any `BuildingTypes` with garrisoned infantry |
171171
| 11 | Tech Buildings | Any `BuildingTypes` with `Unsellable=yes`, `Capturable=yes`, negative `TechLevel=` values or appears in `[AI] -> NeutralTechBuildings=` list |
172-
| 12 | Refinery | Any enemy `BuildingTypes` with `Refinery=yes` or `ResourceGatherer=yes`, `VehicleTypes` with `ResourceGatherer=yes` & `Harvester=no` (i.e. Slave Miner) |
172+
| 12 | Refinery | Any enemy `BuildingTypes` with `Refinery=yes` or `ResourceGatherer=yes`, `VehicleTypes` with `ResourceGatherer=yes` & `Harvester=no` (i.e. Slave Miner) |
173173
| 13 | Mind Controller | Anything `VehicleTypes`, `AircraftTypes`, `InfantryTypes` and `BuildingTypes` with `MindControl=yes` in the weapons Warheads |
174174
| 14 | Air Units (incl. landed) | Any enemy, `AircraftTypes` and `Jumpjet=yes` `VehicleTypes` or `InfantryTypes`, including landed ones as well as any other currently airborne units |
175175
| 15 | Naval | Any enemy `BuildingTypes` and `VehicleTypes` with a `Naval=yes`, any enemy `VehicleTypes`, `AircraftTypes`, `InfantryTypes` in a water cell |

docs/Miscellanous.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,16 @@ SaveVariablesOnScenarioEnd=false ; boolean
6868
| *Alias* | *CLSID* |
6969
|--------:|:----------------------------------------:|
7070
|Drive | `{4A582741-9839-11d1-B709-00A024DDAFD1}` |
71-
|Jumpjet | `{92612C46-F71F-11d1-AC9F-006008055BB5}` |
7271
|Hover | `{4A582742-9839-11d1-B709-00A024DDAFD1}` |
73-
|Rocket | `{B7B49766-E576-11d3-9BD9-00104B972FE8}` |
7472
|Tunnel | `{4A582743-9839-11d1-B709-00A024DDAFD1}` |
7573
|Walk | `{4A582744-9839-11d1-B709-00A024DDAFD1}` |
7674
|DropPod | `{4A582745-9839-11d1-B709-00A024DDAFD1}` |
7775
|Fly | `{4A582746-9839-11d1-B709-00A024DDAFD1}` |
7876
|Teleport | `{4A582747-9839-11d1-B709-00A024DDAFD1}` |
7977
|Mech | `{55D141B8-DB94-11d1-AC98-006008055BB5}` |
8078
|Ship | `{2BEA74E1-7CCA-11d3-BE14-00104B62A16C}` |
79+
|Jumpjet | `{92612C46-F71F-11d1-AC9F-006008055BB5}` |
80+
|Rocket | `{B7B49766-E576-11d3-9BD9-00104B972FE8}` |
8181

8282
```{note}
8383
`Chrono` is not a standard Alias, but since the default behavior of using `Teleport` will be triggered when the value of `Locomotor` is incorrect, the result of the operation will appear as if `Chrono` has taken effect.
@@ -94,7 +94,7 @@ In `rulesmd.ini`:
9494
[InsigniaTypes]
9595
0=SOMEINSIGNIATYPE
9696

97-
[SOMEINSIGNIATYPE] ; InsigniaType
97+
[SOMEINSIGNIATYPE] ; InsigniaType
9898
Insignia= ; filename - excluding the .shp extension
9999
Insignia.Rookie= ; filename - excluding the .shp extension
100100
Insignia.Veteran= ; filename - excluding the .shp extension
@@ -220,7 +220,7 @@ This feature must be enabled via a command line argument `-Include`.
220220
In any file:
221221
```ini
222222
[$Include]
223-
0=somefile.ini ; file name
223+
0=somefile.ini ; file name
224224
```
225225

226226
```{warning}

docs/New-or-Enhanced-Logics.md

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -992,10 +992,6 @@ ReturnWeapon= ; WeaponType
992992
ReturnWeapon.ApplyFirepowerMult=false ; boolean
993993
```
994994

995-
```{note}
996-
This currently has same limitations as `AirburstWeapon` in that it does not properly support `Arcing=true` projectiles.
997-
```
998-
999995
### Shrapnel enhancements
1000996

1001997
![image](_static/images/shrapnel.gif)
@@ -1766,6 +1762,35 @@ IsVoiceCreatedGlobal=false ; boolean
17661762
VoiceCreated= ; Sound entry
17671763
```
17681764

1765+
### Tiberium eater
1766+
1767+
- TechnoTypes can convert the ores underneath them into credits in real time, like GDI's MARV in Command & Conquer 3 Kane's Wrath.
1768+
- `TiberiumEater.TransDelay` specifies the interval frames between two eating processes, 0 means eat in every frame. When it's below 0, the logic will be turned off for this TechnoType.
1769+
- `TiberiumEater.CellN` set a list of cells that'll process tiberium eating, where `N` is 0-based and the values are offset related to the TechnoType's current cell. If not set, only the ores on the TechnoType's current cell will be eaten.
1770+
- `TiberiumEater.AmountPerCell` controls the amount of ores that can be eaten at each cell at once. No limit when it's below 0.
1771+
- By default, ores mined in this way worth the same as regular harvesting. This can be adjusted by `TiberiumEater.CashMultiplier`.
1772+
- `TiberiumEater.Display`, if set to true, will create a flying text to display the total credits received in each eating process. `TiberiumEater.Display.Houses` determines which houses can see the credits display.
1773+
- An animation will be played at each mined cell in an eating process. If `TiberiumEater.Anims` contains 8 entries, entry from position matching the TechnoType's current facing will be chosen. Otherwise, an entry will be chosen randomly.
1774+
- `TiberiumEater.Anims.TiberiumN`, if set, will override `TiberiumEater.Anims` when eating corresponding tiberium type.
1775+
- If `TiberiumEater.AnimMove` set to true, the animations will move with the TechnoType.
1776+
1777+
In `rulesmd.ini`:
1778+
```ini
1779+
[SOMETECHNO] ; InfantryType, VehicleType or AircraftType
1780+
TiberiumEater.TransDelay=-1 ; integer
1781+
TiberiumEater.CellN= ; X,Y - cell offset
1782+
TiberiumEater.CashMultiplier=1.0 ; floating point value
1783+
TiberiumEater.AmountPerCell=0 ; integer
1784+
TiberiumEater.Display=true ; boolean
1785+
TiberiumEater.Display.Houses=all ; AffectedHouse enumeration
1786+
TiberiumEater.Anims= ; List of AnimationTypes
1787+
TiberiumEater.Anims.Tiberium0= ; List of AnimationTypes
1788+
TiberiumEater.Anims.Tiberium1= ; List of AnimationTypes
1789+
TiberiumEater.Anims.Tiberium2= ; List of AnimationTypes
1790+
TiberiumEater.Anims.Tiberium3= ; List of AnimationTypes
1791+
TiberiumEater.AnimMove=true ; boolean
1792+
```
1793+
17691794
### Weapons fired on warping in / out
17701795

17711796
- It is now possible to add weapons that are fired on a teleporting TechnoType when it warps in or out. They are at the same time as the appropriate animations (`WarpIn` / `WarpOut`) are displayed.

docs/Whats-New.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,7 @@ New:
374374
- [Make harvesters do addtional scan after unload](Fixed-or-Improved-Logics.md#make-harvesters-do-addtional-scan-after-unload) (by TaranDahl)
375375
- [Passenger-based insignias](Fixed-or-Improved-Logics.md#customizable-veterancy-insignias) (by Ollerus)
376376
- [Use `InsigniaType` to set the properties of insignia in a batch](Miscellanous.md#insignia-type) (by Ollerus)
377+
- [Tiberium eater logic](New-or-Enhanced-Logics.md#tiberium-eater) (by NetsuNegi)
377378
- Attached effect attach/discard by health (by Ollerus)
378379
- Attached effect with `ExtraWarheads` and `FeedbackWeapon` (by Ollerus)
379380
- [AuxWeapon](New-or-Enhanced-Logics.md#auxiliary-weapon) (by Ollerus)

0 commit comments

Comments
 (0)