There you have to distinguish between projectile and instant hit weapons: The UT_Eightball for example as a projectile weapon uses Class'BotPack.RocketMk2' as projectile which has a damage of 75. you can change such by
- changing default damage value for all further projectiles of that class (
Class'BotPack.RocketMk2'.Default.Damage = xyz)
- using a custom projectile class and assign it to the weapons
- changing the damage value for each projectile by SpawnNotify
Instant hit weapons may have damage value fixed in the code, like SniperRifle that has a damage of 100 for head shots and 45 else:
Code: Select all
function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z) {
…
Other.TakeDamage(45, Pawn(Owner), HitLocation, 30000.0*X, MyDamageType);
…
Here you must use a custom replacement (or try XC_Engine to modify this function only?) Also if "MyDamageType" is unique you can change damage in game controller or a Mutator's function
TakeDamage().
Or instant hit weapons have a configurable damage like
Code: Select all
class ShockRifle extends TournamentWeapon;
…
var() int HitDamage;
…
function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z) {
…
Other.TakeDamage(HitDamage, Pawn(Owner), HitLocation, 60000.0*X, MyDamageType);
}