General Information
Register Time: 8 Sep 2013, 22:10 PM
Last Visit Time: 19 Oct 2023, 20:27 PM
Youtube: https://www.youtube.com/user/eliw00d
Steam: 76561197964578176
Birthday: 1984-03-05
Residence: United States
Nationality: Finland
Timezone: America/Chicago
Game Name: eliw00d
The game has built-in checks to verify the integrity of both modded .sgas and original. Trust me, if it was possible, it would have been done long ago.
Unfortunately, your options are somewhat limited due to Relic not fully implementing quite a few game events (such as GE_SquadCalledIn).
However, there are a couple of ways you could go about it:
First is to use a timed rule with a short interval that updates the sgroup with all of the player's current squads. This is the costly option, but probably least amount of effort.
Otherwise, you could try GE_BuildItemComplete, which would give you the blueprint of the built squad. You would probably need to store all of a player's squads in one sgroup. Then, when the event is fired, store all the player's squads at the time of the event and get the difference - that should give you the produced squad.
You can't prevent a specific entity from picking up slot items because slot items are assigned to the squad as a whole. The only thing you can do is lower the maximum number of slot items the squad can carry to 3.
There are a lot of factors that play into what you are looking to modify. The most basic ones are the accuracy and penetration values of a weapon and the armor of an entity. Chance of penetration being penetration / armor. There are a lot of multipliers that affect accuracy and penetration, so to achieve 100% accuracy and penetration might be challenging and tedious.
Most of the modifier functions just wrap Modifier_Create, which has a boolean for exclusive. So if you want to set it to true just use that directly (or make your own wrapper).
The problem is that if a player does not have any starting territory from something like an HQ, then they do not actually "own" any map entry points. There are no SCAR functions for getting neutral map entry points. However, you might be able to get them using a combination of World_GetNumEntities and World_GetEntity and then comparing distance to their starting position (which a player always "owns").