ra2 icon indicating copy to clipboard operation
ra2 copied to clipboard

Missing Prism Tower beam logic

Open Fincer opened this issue 9 years ago • 7 comments

Original RA2:

prismtowers-ra2-cropped-comp

OpenRA (ra2 mod):

prismtowers-openra2-cropped-comp

"Prism Towers fire a concentrated beam of light at any approaching enemy ground units. If Prism Towers are placed close enough together, they can fire one large, powerful beam by targeting each other and combining light beams on the target"

  • Red Alert 2 manual, Prism Tower

Fincer avatar Feb 12 '16 15:02 Fincer

RA2 used to fire an actual support weapon which was forced to trigger the enhancement effect.

GraionDilach avatar Feb 12 '16 18:02 GraionDilach

Can someone do a detailed write-up of exactly how this worked in RA2? How were the towers selected which participated in a shot?

ghost avatar Mar 27 '16 14:03 ghost

When a PrismTower attacked in RA2 (PrismForwarding=yes) it checked around itself for other buildings with the same PrismForwarding=yes tag and fired all idle target's Secondary weapon along with the PrismTower. For each attack the PrismTower got, the bonuses were added to the weapon from [General] (no, sorry, can't remember that tag from my head and I'm tired to look it up).

Ares had to rewrite most of the logic due to bugs in it though, so you can read a 90% C++ code implementation at https://github.com/Ares-Developers/Ares/blob/master/src/Ext/Building/PrismForward.cpp and https://github.com/Ares-Developers/Ares/blob/master/src/Ext/Building/Hooks.Prism.cpp

I can see though why this will be problematic in OpenRA, our infrastructure ain't that easy to be abused into something like this.

GraionDilach avatar Mar 27 '16 15:03 GraionDilach

Here's what I'm thinking:

Prism Tower A decides to fire. It goes searching for its network, looking specifically for idle towers. It queues up an activity for them to fire.

When it actually fires, it rechecks the network to determine the strength of the blast. The other towers similarly draw their respective firing lines.

ghost avatar Mar 29 '16 01:03 ghost

+1

ibrokemypie avatar Feb 05 '17 05:02 ibrokemypie

This is something I'd like to take a look at and see if I can get it working.

thennothinghappened avatar Dec 02 '20 20:12 thennothinghappened

I sort of have it here. Mine is based on TeslaAttack, which has 3 charges, making it difficult to polish. This should probably work if you set MaxCharges=1

Engine: https://github.com/forcecore/OpenRA/commit/e71d30f96426755c32d0cdbc7414231e6724cbeb

Mod: https://github.com/forcecore/yupgi-alert-2021/blob/main/rules/structures.yaml#L569 https://github.com/forcecore/yupgi-alert-2021/blob/main/weapons/other.yaml#L100

Demo: https://www.youtube.com/watch?v=V2q4sClmwkA

forcecore avatar Feb 07 '21 06:02 forcecore