Garrison Clearing Projectiles
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ares |
In Progress
|
Wishlist
|
Renegade |
Bug Description
Dunno if you were all aware of this, but RA2 did, in fact, have a garrison clearing logic already in (Assaulter=yes, anyone?), so this should be really easy to implement. Basically, have some special weapon, a grenade or such, able to do what the Assaulter= logic did, and that was to simply clear all units out and play a little animation for the occasion at all of the garrison fire ports (UCBLOOD was supposed to be an explosion, but was never completed; the assaulter logic works great, but the only way to invoke it was to have the unit "enter" the building).
##### ADDITIONAL INFORMATION #####
tags associated would problably be on the weapon or the warhead, take your pick, and it would be something like "GarrisonClearer=" You could even add a "ClearingChance=" to set a percent chance that the weapon will clear, or possibly "HitsToClear=" to make the weapon hit a building a set amount of times to clear the garrison.
The last two are optional, with the last one being just a fun little add-on of little importance.
I got a revision on the tags/logic from the OP to make:
So here is how i see it in my head:
this will be integrated into the UC.PassThrough logic, as well as considering the UC.FatalRate. The name of the tag I am proposing is UC.DamageAll=, and will be connected to the weapon being fired. The order of parsing would be this:
If weapon Passes UC.PassThrough (when attacking a garrisoned building), then evaulate if weapon has UC.DamageAll=yes. if yes, then damage all occupants according to RecieveDamage() (calculated for each indidual unit for that warhead). if no, then damage only the occupant that is chosen to be damaged. If weapon passes the UC.PassThrough AND has UC.DamageAll=yes, AND passes the UC.FatalRate test, then all occupants of the building are killed. If UC.FatalRate fails, then do normal damage according to RecieveDamage() for all occupants.
I'm not sure if this is even possible coding-wise, but just about anything is, and this doesn't seem too hard to implement, but I could be wrong.