Skip to content

Conversation

@FS-21
Copy link
Contributor

@FS-21 FS-21 commented Oct 27, 2025

Like in PR#1901 and PR#1925 related to ScriptType actions and Map events I created new actions that are in reality masks of the original map actions that used the index as parameter but here we'll use the ID so if we'll modify the main lists in rulesmd.ini these indexes won't be necessary to be recalculated again.

Internally this just finds the index of the specified ID and then the action number is replaced with the original and the index is passed as parameter...

I used as reference the list here:
https://modenc.renegadeprojects.com/Actions_(maps)/RA2YR

19001 Winner Is... by ID

  • Similar to map action 1, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19001,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19002 Loser Is... by ID

  • Similar to map action 2, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19002,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19003 Production Begins... by ID

  • Similar to map action 3, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19003,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19006 All to Hunt... by ID

  • Similar to map action 6, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19006,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19009 Fire Sale... by ID

  • Similar to map action 9, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19009,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19013 Autocreate Begins... by ID

  • Similar to map action 13, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19013,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19014 Change House... by ID

  • Similar to map action 14, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19014,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19020 Play Music Theme... by ID

  • Similar to map action 20, but uses a string ID from the [Themes] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19020,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19033 Add One-Time Special Weapon... by ID

  • Similar to map action 33, but uses a string ID from the [SuperWeaponTypes] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19033,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19034 Add Repeating Special Weapon... by ID

  • Similar to map action 34, but uses a string ID from the [SuperWeaponTypes] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19034,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19036 All Change House... by ID

  • Similar to map action 36, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19036,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19037 Make Ally... by ID

  • Similar to map action 37, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19037,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19038 Make Enemy... by ID

  • Similar to map action 38, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19038,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19041 Play Anim at... by ID

  • Similar to map action 41, but uses a string ID from the [Animations] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19041,4,[Unique ID],0,0,0,0,[WaypointIndex],[ActionX]
...

19042 Do Explosion at... by ID

  • Similar to map action 42, but uses a string ID from the [Weapons] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19042,4,[Unique ID],0,0,0,0,[WaypointIndex],[ActionX]
...

19043 Create VoxelAnim at... by ID

  • Similar to map action 43, but uses a string ID from the [VoxelAnims] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19043,4,[Unique ID],0,0,0,0,[WaypointIndex],[ActionX]
...

19074 AI Triggers Begin... by ID

  • Similar to map action 74, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19074,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19075 AI Triggers Stop... by ID

  • Similar to map action 75, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19075,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19088 ParticleSystem Anim at... by ID

  • Similar to map action 88, but uses a string ID from the [ParticleSystems] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19088,4,[Unique ID],0,0,0,0,[WaypointIndex],[ActionX]
...

19113 Make House Cheer... by ID

  • Similar to map action 113, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19113,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19119 Destroy All of... by ID

  • Similar to map action 119, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19119,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19120 Destroy All Buildings of... by ID

  • Similar to map action 120, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19120,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19121 Destroy All Land Units of... by ID

  • Similar to map action 121, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19121,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19122 Destroy All Naval Units of... by ID

  • Similar to map action 122, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19122,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19123 Mind Control Base of... by ID

  • Similar to map action 123, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19123,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19124 Restore Mind Controlled Base to... by ID

  • Similar to map action 124, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19124,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19126 Restore Starting Technos of... by ID

  • Similar to map action 126, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19126,4,[Unique ID],0,0,0,0,A,[ActionX]
...

19130 Restore Starting Buildings of... by ID

  • Similar to map action 130, but uses a string ID from the [Countries] list instead of an index.

In mycampaign.map:

[Actions]
...
ID=ActionCount,[Action1],19130,4,[Unique ID],0,0,0,0,A,[ActionX]
...

FS-21 added 2 commits October 27, 2025 09:18
New map actions that are in reality masks of existing map actions but instead of using indexes they use ID names (internally the right index is found and passed to the original action)
@FS-21
Copy link
Contributor Author

FS-21 commented Oct 27, 2025

For fast testing, if you use WAE you can add these entries in Actions.ini file:

[WinnerIsByID]
IDOverride=19001
Name=Winner Is... by ID [Phobos]
Description=The winner will be forced to be the house specified. The game will end immediately. Typically, the player's house is specified.
P1Type=-4
P2Name=ID entry
P2Type=String

[LoserIsByID]
IDOverride=19002
Name=Loser Is... by ID [Phobos]
Description=The loser will be forced to be the house specified. The game will end immediately. Typically, the player's house is specified.
P1Type=-4
P2Name=ID entry
P2Type=String

[ProductionBeginsByID]
IDOverride=19003
Name=Production Begins... by ID [Phobos]
Description=The computer's house (as specified) will begin production of units and structures.
P1Type=-4
P2Name=ID entry
P2Type=String

[AllToHuntByID]
IDOverride=19006
Name=All to Hunt... by ID [Phobos]
Description=Forces all units, of the house specified, into 'hunt' mode. They will seek out and destroy their enemies.
P1Type=-4
P2Name=ID entry
P2Type=String

[FireSaleByID]
IDOverride=19009
Name=Fire Sale... by ID [Phobos]
Description=Cause all buildings of the specified house to be sold (for cash and prizes). Typically this is used in the final assault by the computer.
P1Type=-4
P2Name=ID entry
P2Type=String

[AutocreateBeginsByID]
IDOverride=19013
Name=Autocreate Begins... by ID [Phobos]
Description=Initiates autocreate for the house specified. This will cause the computer's house to build autocreate teams as it sees fit.
P1Type=-4
P2Name=ID entry
P2Type=String

[ChangeHouseByID]
IDOverride=19014
Name=Change House... by ID [Phobos]
Description=Changes owning house to the one specified for attached objects.
P1Type=-4
P2Name=ID entry
P2Type=String

[PlayMusicThemeByID]
IDOverride=19020
Name=Play Music Theme... by ID [Phobos]
Description=Plays the specified music track. Tracks are listed in Theme.ini.
P1Type=-4
P2Name=ID entry
P2Type=String

[Add1TimeSpecialWeaponByID]
IDOverride=19033
Name=Add One-Time Special Weapon... by ID [Phobos]
Description=Add a one-shot special weapon (as indicated) to the trigger's house.
P1Type=-4
P2Name=ID entry
P2Type=String

[AddRepeatingSpecialWeaponByID]
IDOverride=19034
Name=Add Repeating Special Weapon... by ID [Phobos]
Description=Add a permanent special weapon (as indicated) to the trigger's house.
P1Type=-4
P2Name=ID entry
P2Type=String

[AllChangeHouseByID]
IDOverride=19036
Name=All Change House... by ID [Phobos]
Description=All objects of the trigger owner's house change ownership to specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[MakeAllyByID]
IDOverride=19037
Name=Make Ally... by ID [Phobos]
Description=Cause this trigger's house to ally with the specified house, and the specified house to ally with this trigger's house (two-way alliance).
P1Type=-4
P2Name=ID entry
P2Type=String

[MakeEnemyByID]
IDOverride=19038
Name=Make Enemy... by ID [Phobos]
Description=Cause this trigger's house to un-ally (declare war) with the house specified.
P1Type=-4
P2Name=ID entry
P2Type=String

[PlayAnimAtByID]
IDOverride=19041
Name=Play Anim at... by ID [Phobos]
Description=Plays the specified anim in the specified cell. Use the ID name from [Animations] section in rules.ini.
P1Type=-4
P2Name=ID entry
P2Type=String
P7Type=WaypointZZ

[DoExplosionAtByID]
IDOverride=19042
Name=Do Explosion at... by ID [Phobos]
Description=Creates an explosion at the specified waypoint using the specified weapon's warhead. Uses ID names from game's internal WeaponTypes list. The provided list only includes items from the [Weapons] section in rules.ini.
P1Type=-4
P2Name=ID entry
P2Type=String
P7Type=WaypointZZ

[CreateVoxelAnimAtByID]
IDOverride=19043
Name=Create VoxelAnim at... by ID [Phobos]
Description=Creates a VoxelAnim (uses ID names from VoxelAnims list) at the specified waypoint. Also plays EVA speech Meteor storm approaching.
P1Type=-4
P2Name=ID entry
P2Type=String
P7Type=WaypointZZ

[AITriggersBeginByID]
IDOverride=19074
Name=AI Triggers Begin... by ID [Phobos]
Description=Start AI triggers for specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[AITriggersStopByID]
IDOverride=19075
Name=AI Triggers Stop... by ID [Phobos]
Description=Stop AI triggers for specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[ParticleSystemAnimAtByID]
IDOverride=19088
Name=ParticleSystem Anim at... by ID [Phobos]
Description=Show particle animation at waypoint location.
P1Type=-4
P2Name=ID entry
P2Type=String
P7Type=WaypointZZ

[MakeHouseCheerByID]
IDOverride=19113
Name=Make House Cheer... by ID [Phobos]
Description=All infantry of the specified house will play their cheer animation if they can.
P1Type=-4
P2Name=ID entry
P2Type=String

[DestroyAllOfByID]
IDOverride=19119
Name=Destroy All of... by ID [Phobos]
Description=Kills everything of the specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[DestroyAllBuildingsOfByID]
IDOverride=19120
Name=Destroy All Buildings of... by ID [Phobos]
Description=Kills all buildings for specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[DestroyALlLandUnitsOfByID]
IDOverride=19121
Name=Destroy All Land Units of... by ID [Phobos]
Description=Kills all land units for specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[DestroyALlNavalUnitsOfByID]
IDOverride=19122
Name=Destroy All Naval Units of... by ID [Phobos]
Description=Kills all naval units for specified house.
P1Type=-4
P2Name=ID entry
P2Type=String

[MindControlBaseOfByID]
IDOverride=19123
Name=Mind Control Base of... by ID [Phobos]
Description=The owner of the trigger will mind control the argument's base.
P1Type=-4
P2Name=ID entry
P2Type=String

[RestoreMindControlledBaseToByID]
IDOverride=19124
Name=Restore Mind Controlled Base to... by ID [Phobos]
Description=The owner of the trigger will give all buildings that were the argument's back to it.
P1Type=-4
P2Name=ID entry
P2Type=String

[RestoreStartingTechnosOfByID]
IDOverride=19126
Name=Restore Starting Technos of... by ID [Phobos]
Description=All Buildings and units this house had at the start of the game will be recreated. Will bump units and erase Overlays.
P1Type=-4
P2Name=ID entry
P2Type=String

[RestoreStartingBuildingsOfByID]
IDOverride=19130
Name=Restore Starting Buildings of... by ID [Phobos]
Description=All Buildings this house had at the start of the game will be healed or recreated. Will bump units and erase Overlays.
P1Type=-4
P2Name=ID entry
P2Type=String

@github-actions
Copy link

Nightly build for this pull request:

This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build.

@TaranDahl TaranDahl added Needs testing ⚙️T1 T1 maintainer review is sufficient labels Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs testing ⚙️T1 T1 maintainer review is sufficient

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants