Team-Immersive-Intelligence/ImmersiveIntelligence

Emplacement question

Closed this issue · 2 comments

So, the question is, are emplacement weapons supposed to be able to aim with data in the current/upcoming version? E.g. i have a CPDS built and my potetntial enemy fires a shell at my location, but standart CPDS range is 16 blocks, so it won't have enough time to turn and aim before the shell will hit. It appears that the Radar/IR observer is supposed to extend the range of the emplacement weapons, however in 0.2.1 it wasn't implemented, will it be implemented in 0.3.0 (or what is the next coming version)?
P.s. I thought that it would be a good question to ask because radar in 0.3.0 is implemented and appears to work, but i haven't managed to pair it with any emplacement. (Maybe, there's a "data" string/line/etc. that should responsible for Yaw and Pitch as in the artillery howitzer?)
The only way i've found to make CPDS turn around fast enough is increasing it's range with config
P.p.s. Sorry for asking it in the github, not the discord, but i think it's the best place to ask devs directly

About Emplacements

Yes, the short ranges (and that f.e. the Heavy Railgun has a shorter sight range than a Machinegun Nest) are intended.
This is to encourage using the weapons together with an Infrared Observer or (not fully implemented) the Radar, so building yourself a kind of spotting / fire control system.

The emplacement has switches for sending and receiving targets through data in its GUI in the settings (last) tab.
The output of a target by an infrared observer is a single variable 'e' of Array type. It can be an empty array if no target is found,
To fire at an entity, Emplacement needs two variables:

  • 'c' - short for "command", a String which should be set to fire
  • 'e' - the Entity to be fired at (this ignores the receiving Emplacement's targetting logic, so it will fire even if that entity is not on the target whitelist (2nd GUI tab)

And so, to make an Emplacement fire at a target designated by an Observer, the simplest way would be:

  • set up both weapons, especially the IR Observer target list
  • place an Arithmetic Logic Machine in the middle and connect it from one side to the Observer, from another to the Weapon
  • inside, place a Text Processor Circuit, set variable 'c' to 'join' and type "fire" in the first parameter page
  • place an Array Processor Circuit, set variable 'e' to "get from array", set first parameter to accessor of variable 'e' and second to 0 (which is the first element of the array)

The second step can be done differently: the order of entities in the array is based on distance, so for example you can get the last entry, which would be the entity furthest away.

About Radar

Radar is partially implemented, for now it detects all hostile mobs in a 70 block range, it has no filter, nor a proper GUI like the IR observer. In the future it will have a GUI display of all sighted targets and a list of "engage ranges", which will enable use of different weapons (or other measures, like interceptor drones, or enabling alarm sirens).
The output is the same as of an Infrared Observer, so you can apply the same method I described to it.

If you have further questions, you can ask them here, if not, please close this issue. ^^

Thank you a lot, that indeed help, because in the manual in 0.2.1/0.2.2B there wasn't any instruction about it, and the new one, well, it's on the rework, so there isn't any way to know that. Thank you a lot!