New EVA voice after deploying a building
- You can now replace the current EVA voice when a specific building is placed/deployed.
- If any buiding is undeployed/sold/destroyed EVA voice will be evaluated again looking all the
NewEVAVoice.Index. NewEVAVoice.Indexis the index of the new EVA voice. Ares is hightly recomended because these indexes are reading the new section[EVATypes]atevamd.iniintroduced by Ares. Look at Ares documentation regarding new EVA voices for more information.- In case of multiple buildings with different
NewEVAVoice.IndexEVA voices thenNewEVAVoice.Priorityestablish a priority queue, being the highest value the selected one. NewEVAVoice.RecheckOnDeathre-checks a new EVA voice after the destruction/undeployment of of of these buildings.NewEVAVoice.InitialMessageplays an EVA message to the player when a different EVA has been selected.
In rulesmd.ini:
[SOMEBUILDING] ; BuildingType
NewEVAVoice.Index= ; integer
NewEVAVoice.Priority=1 ; integer
NewEVAVoice.RecheckOnDeath=false ; boolean
NewEVAVoice.InitialMessage= ; EVA entry
https://github.com/user-attachments/assets/91cac88a-462e-4c19-8f71-f68943e84bf2
Nightly build for this pull request:
- compiled-dll-c692898f91e9e4d0c8782e7740eab3c4f7ad7ece.zip These artifacts will expire in 90 days and will not be available for download after that time.
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.
The EVA voice change logic should be generalized and put in a separate function from buildings, probably in
SideExtor something. Firestorm has a map trigger for this purpose and I suppose someone might want to reimplement that here as well.Some smaller things to take note of as well.
Since Ares already has Map trigger actions for changing these voices like in Firestorm I only focused in learning how to change it and apply this logic for buildings like in the video, not reimplementing again the EVA voices.
Let me see the SideExt you mentioned because I remember one of the first attempts was storing data in that place but things happened that made me move the code and I ended here.
Applied feedback and updated documentation and initial message here.
The missing bit I have to do now is that suggestion of moving the code into a separated function from buildings to SideExt for future changes/additions, etc.
Moved the UpdateMainEvaVoice(...) function to SideExt.