While testing the collision cylinder of pawns with a bigger DrawScale I found that projectiles, that uses function HurtRadius() while exploding, do not do damage if the pivot point of the enemy is outside the sphere with the damage radius. For example: set DrawScale=5 for a queen and fight against it with a Rocket Launcher - you cannot win the battle (see attachment).
Possibly Solution: add Other.TakeDamage() in function ProcessTouch() if the distance between Instigator and projectile exceeds the damage radius.
Example for WarShell (untested):
Barbie wrote:distance between Instigator and projectile exceeds the damage radius
Yes, but it's about Victim.Location too far from HitLocation and this distance is lower than damage radius initiated in HitLocation place - LOL mapping...
Reconfiguration different explained:
Here goes ALL oversized useless Creatures which have total immunity at damage. I won't mention Momentum boosting making pawn still alive to be completely dropped out of damage radius.
... like in some RPG games, "Armor" protection was bigger than damage taken = NO damage = WASTE of time shooting at crap.
Here I have to ask WHY instigator must TakeDamage. Isn't Instigator the dude firing projectile ?
Just use XC_Engine's script patcher to replace HurtRadius.
Modify the damage calculation from:
>> Explosion Location <-> Actor center
To:
(case 1: hitlocation inside cylinder)
>> 0 distance
(case 2: hitlocation outside cylinder)
>> Explosion Location <-> Hitlocation (Trace from explosion to Actor)
With this the shock balls will be able to harm titans.
Bear in mind, this will alter the balance of the game, and may make large explosions use more CPU.
foreach VisibleCollidingActors( class 'Actor', Victims, DamageRadius, HitLocation )
Has probably nothing when ShockBall is hitting a GiantGasbag because Actor is not localized in DamageRadius. This should be replaced with something collision based discarding DamageRadius crap, and if projectile does a direct HIT damage should go at maximum value, when it is exploding around it should compute this DamageRadius but taking in account a possible Victim colliding this DamageRadius - victim is supposed to get damage discarding stupid CollisionRadius deal - it's just touched by some damage if cylinder is affected by DamageRadius regarding to Location of victim which is out of DamageRadius produced at HitLocation.
No please excuse my bump here. I want to ask only a simple question: Can anyone post a snippet about fixing this or I'm going to solve this in my way using compatibility mode for conforming operation ?
Bump - Having something done but I have to see more various occurrences.
If damage it's in account nearby collision cylinder it looks like a new Momentum will drop creature in a ridiculous way by a ShockBall or other "strong" projectile like that, so I had to recompute momentum in other way. I have logged these to see Big Monster Vs DamageRadius and Damage Taken. In account that a very very Big Monster is discarded as long as an Elephant probably will not take damage at a K1 match against a tiny Worm, so ridiculously used big DrawScale will attempt to keep creature unaffected.