diff --git a/Classes/DamTypeBioBomb.uc b/Classes/DamTypeBioBomb.uc index ac30f24..eb7ea1a 100644 --- a/Classes/DamTypeBioBomb.uc +++ b/Classes/DamTypeBioBomb.uc @@ -1,16 +1,14 @@ -class DamTypeBioBomb extends DamageType - abstract; +class DamTypeBioBomb extends RPGDamageType + abstract; -defaultproperties -{ +defaultproperties { + StatWeapon=Class'DummyWeapon_BioBomb' DeathString="%o was GOOPIFIED by %k's bio bomb." - MaleSuicide="%o was GOOPIFIED." - FemaleSuicide="%o was GOOPIFIED." + MaleSuicide="%o was GOOPIFIED." + FemaleSuicide="%o was GOOPIFIED." + + bKUseTearOffMomentum=false - bKUseTearOffMomentum=false - //bDetonatesGoop=true - //bDelayedDamage=true - DeathOverlayMaterial=Material'XGameShaders.PlayerShaders.LinkHit' } diff --git a/Classes/DamTypeCounterShove.uc b/Classes/DamTypeCounterShove.uc index 8936abe..e68217a 100644 --- a/Classes/DamTypeCounterShove.uc +++ b/Classes/DamTypeCounterShove.uc @@ -1,8 +1,8 @@ -class DamTypeCounterShove extends DamageType - abstract; +class DamTypeCounterShove extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%k went up up and away, courtesy of %o's Counter Shove." - KDamageImpulse=0.000000 +defaultproperties { + StatWeapon=class'DummyWeapon_CounterShove' + DeathString="%k went up up and away, courtesy of %o's Counter Shove." + KDamageImpulse=0.000000 } diff --git a/Classes/DamTypeEmo.uc b/Classes/DamTypeEmo.uc index 42e6ba1..3e58832 100644 --- a/Classes/DamTypeEmo.uc +++ b/Classes/DamTypeEmo.uc @@ -1,5 +1,5 @@ -class DamTypeEmo extends DamageType - abstract; +class DamTypeEmo extends RPGDamageType + abstract; var localized string MaleSuicides[3], FemaleSuicides[3]; @@ -17,16 +17,16 @@ static function string SuicideMessage(PlayerReplicationInfo Victim) return default.MaleSuicides[Rand(3)]; } -defaultproperties -{ - MaleSuicides(0)="%o got all emotional." - MaleSuicides(1)="Things got too much for %o." - MaleSuicides(2)="%o couldn't take any more." - FemaleSuicides(0)="%o got all emotional." - FemaleSuicides(1)="Things got too much for %o." - FemaleSuicides(2)="%o couldn't take any more." - bArmorStops=False - bLocationalHit=False - bAlwaysSevers=True - GibPerterbation=1.000000 +defaultproperties { + StatWeapon=class'DummyWeapon_Emo' + MaleSuicides(0)="%o got all emotional." + MaleSuicides(1)="Things got too much for %o." + MaleSuicides(2)="%o couldn't take any more." + FemaleSuicides(0)="%o got all emotional." + FemaleSuicides(1)="Things got too much for %o." + FemaleSuicides(2)="%o couldn't take any more." + bArmorStops=False + bLocationalHit=False + bAlwaysSevers=True + GibPerterbation=1.000000 } diff --git a/Classes/DamTypeFlakBomb.uc b/Classes/DamTypeFlakBomb.uc index 515d25d..7792f17 100644 --- a/Classes/DamTypeFlakBomb.uc +++ b/Classes/DamTypeFlakBomb.uc @@ -1,7 +1,8 @@ -class DamTypeFlakBomb extends DamageType - abstract; +class DamTypeFlakBomb extends RPGDamageType + abstract; defaultproperties { + StatWeapon=Class'DummyWeapon_FlakBomb' DeathString="%o was ate some flak from %k's flak bomb." MaleSuicide="%o ate his own flak." FemaleSuicide="%o was ate her own flak." diff --git a/Classes/DamTypeLightningRod.uc b/Classes/DamTypeLightningRod.uc index 3168add..c675a31 100644 --- a/Classes/DamTypeLightningRod.uc +++ b/Classes/DamTypeLightningRod.uc @@ -1,5 +1,5 @@ -class DamTypeLightningRod extends DamageType - abstract; +class DamTypeLightningRod extends RPGDamageType + abstract; static function GetHitEffects(out class HitEffects[4], int VictemHealth) { @@ -8,13 +8,13 @@ static function GetHitEffects(out class HitEffects[4], int VictemHealt HitEffects[1] = class'HitFlame'; } -defaultproperties -{ - DeathString="%o was electrocuted by %k's lightning rod." - FemaleSuicide="%o had an electrifying experience." - MaleSuicide="%o had an electrifying experience." - bCauseConvulsions=True - DamageOverlayMaterial=Shader'XGameShaders.PlayerShaders.LightningHit' - DamageOverlayTime=1.000000 - GibPerterbation=0.250000 +defaultproperties { + StatWeapon=class'DummyWeapon_LightningRod' + DeathString="%o was electrocuted by %k's lightning rod." + FemaleSuicide="%o had an electrifying experience." + MaleSuicide="%o had an electrifying experience." + bCauseConvulsions=True + DamageOverlayMaterial=Shader'XGameShaders.PlayerShaders.LightningHit' + DamageOverlayTime=1.000000 + GibPerterbation=0.250000 } diff --git a/Classes/DamTypeLightningTotem.uc b/Classes/DamTypeLightningTotem.uc index 48961d6..45ed6d0 100644 --- a/Classes/DamTypeLightningTotem.uc +++ b/Classes/DamTypeLightningTotem.uc @@ -1,9 +1,9 @@ class DamTypeLightningTotem extends DamTypeLightningRod - abstract; + abstract; -defaultproperties -{ - DeathString="%o was electrocuted by %k's lightning totem." - FemaleSuicide="%o had an electrifying experience." - MaleSuicide="%o had an electrifying experience." +defaultproperties { + StatWeapon=Class'DummyWeapon_Totem' + DeathString="%o was electrocuted by %k's lightning totem." + FemaleSuicide="%o had an electrifying experience." + MaleSuicide="%o had an electrifying experience." } diff --git a/Classes/DamTypeMegaExplosion.uc b/Classes/DamTypeMegaExplosion.uc index 47053df..aea6f97 100644 --- a/Classes/DamTypeMegaExplosion.uc +++ b/Classes/DamTypeMegaExplosion.uc @@ -1,14 +1,14 @@ -class DamTypeMegaExplosion extends DamageType - abstract; +class DamTypeMegaExplosion extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%o was PULVERIZED by the power of %k's blast!" - FemaleSuicide="%o was PULVERIZED!" - MaleSuicide="%o was PULVERIZED!" - bArmorStops=False - bKUseOwnDeathVel=True - bDelayedDamage=True - KDeathVel=600 - KDeathUpKick=600 +defaultproperties { + StatWeapon=Class'DummyWeapon_MegaBlast' + DeathString="%o was PULVERIZED by the power of %k's blast!" + FemaleSuicide="%o was PULVERIZED!" + MaleSuicide="%o was PULVERIZED!" + bArmorStops=False + bKUseOwnDeathVel=True + bDelayedDamage=True + KDeathVel=600 + KDeathUpKick=600 } diff --git a/Classes/DamTypePoison.uc b/Classes/DamTypePoison.uc index e4c762f..3472108 100644 --- a/Classes/DamTypePoison.uc +++ b/Classes/DamTypePoison.uc @@ -1,13 +1,13 @@ -class DamTypePoison extends DamageType - abstract; +class DamTypePoison extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%o couldn't find an antidote for %k's poison." - FemaleSuicide="%o poisoned herself." - MaleSuicide="%o poisoned himself." - bArmorStops=False - bCausesBlood=False - bExtraMomentumZ=False - bDelayedDamage=True +defaultproperties { + StatWeapon=class'DummyWeapon_Poison' + DeathString="%o couldn't find an antidote for %k's poison." + FemaleSuicide="%o poisoned herself." + MaleSuicide="%o poisoned himself." + bArmorStops=False + bCausesBlood=False + bExtraMomentumZ=False + bDelayedDamage=True } diff --git a/Classes/DamTypeRepulsion.uc b/Classes/DamTypeRepulsion.uc index c4ceb14..4840383 100644 --- a/Classes/DamTypeRepulsion.uc +++ b/Classes/DamTypeRepulsion.uc @@ -1,10 +1,10 @@ -class DamTypeRepulsion extends DamageType - abstract; +class DamTypeRepulsion extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%o threw %k out of this world." - FemaleSuicide="%o threw herself out of this world." - MaleSuicide="%o threw himself out of this world." - bDelayedDamage=True +defaultproperties { + StatWeapon=Class'DummyWeapon_Repulsion' + DeathString="%o threw %k out of this world." + FemaleSuicide="%o threw herself out of this world." + MaleSuicide="%o threw himself out of this world." + bDelayedDamage=True } diff --git a/Classes/DamTypeRetaliation.uc b/Classes/DamTypeRetaliation.uc index 3dd9fe9..07d4bb8 100644 --- a/Classes/DamTypeRetaliation.uc +++ b/Classes/DamTypeRetaliation.uc @@ -1,10 +1,10 @@ -class DamTypeRetaliation extends DamageType - abstract; +class DamTypeRetaliation extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%k's strike back was too much for %o." - bArmorStops=False - bCausesBlood=False - bExtraMomentumZ=False +defaultproperties { + StatWeapon=class'DummyWeapon_Retaliation' + DeathString="%k's strike back was too much for %o." + bArmorStops=False + bCausesBlood=False + bExtraMomentumZ=False } diff --git a/Classes/DamTypeSelfDestruct.uc b/Classes/DamTypeSelfDestruct.uc index e57a08d..81abbc6 100644 --- a/Classes/DamTypeSelfDestruct.uc +++ b/Classes/DamTypeSelfDestruct.uc @@ -1,11 +1,11 @@ -class DamTypeSelfDestruct extends DamageType - abstract; +class DamTypeSelfDestruct extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%o fell victim to %k's self destructing vehicle." - FemaleSuicide="%o wasn't quick enough to get away from her self destructing vehicle..." - MaleSuicide="%o wasn't quick enough to get away from his self destructing vehicle..." - bCauseConvulsions=True - GibPerterbation=1.500000 +defaultproperties { + StatWeapon=Class'DummyWeapon_SelfDestruct' + DeathString="%o fell victim to %k's self destructing vehicle." + FemaleSuicide="%o wasn't quick enough to get away from her self destructing vehicle..." + MaleSuicide="%o wasn't quick enough to get away from his self destructing vehicle..." + bCauseConvulsions=True + GibPerterbation=1.500000 } diff --git a/Classes/DamTypeTitanUltima.uc b/Classes/DamTypeTitanUltima.uc index 323d148..e9c65dc 100644 --- a/Classes/DamTypeTitanUltima.uc +++ b/Classes/DamTypeTitanUltima.uc @@ -1,14 +1,6 @@ -class DamTypeTitanUltima extends DamageType +class DamTypeTitanUltima extends DamTypeUltima abstract; -defaultproperties -{ - DeathString="%o was PULVERIZED by the purple power of %k's ultima!" - FemaleSuicide="%o was PULVERIZED!" - MaleSuicide="%o was PULVERIZED!" - bArmorStops=False - bKUseOwnDeathVel=True - bDelayedDamage=True - KDeathVel=600.000000 - KDeathUpKick=600.000000 +defaultproperties { + DeathString="%o was PULVERIZED by the purple power of %k's ultima!" } diff --git a/Classes/DamTypeUltima.uc b/Classes/DamTypeUltima.uc index 32f8928..c95e12f 100644 --- a/Classes/DamTypeUltima.uc +++ b/Classes/DamTypeUltima.uc @@ -1,14 +1,14 @@ -class DamTypeUltima extends DamageType +class DamTypeUltima extends RPGDamageType abstract; -defaultproperties -{ - DeathString="%o was PULVERIZED by the power of %k's vengeance!" - FemaleSuicide="%o was PULVERIZED!" - MaleSuicide="%o was PULVERIZED!" - bArmorStops=False - bKUseOwnDeathVel=True - bDelayedDamage=True - KDeathVel=600.000000 - KDeathUpKick=600.000000 +defaultproperties { + StatWeapon=class'DummyWeapon_Ultima' + DeathString="%o was PULVERIZED by the power of %k's vengeance!" + FemaleSuicide="%o was PULVERIZED!" + MaleSuicide="%o was PULVERIZED!" + bArmorStops=False + bKUseOwnDeathVel=True + bDelayedDamage=True + KDeathVel=600.000000 + KDeathUpKick=600.000000 } diff --git a/Classes/DamTypeVorpal.uc b/Classes/DamTypeVorpal.uc index 4ecfbee..c5ad561 100644 --- a/Classes/DamTypeVorpal.uc +++ b/Classes/DamTypeVorpal.uc @@ -1,9 +1,9 @@ -class DamTypeVorpal extends DamageType - abstract; +class DamTypeVorpal extends RPGDamageType + abstract; -defaultproperties -{ - DeathString="%o was instantly killed by %k's Vorpal weapon." - FemaleSuicide="%o was instantly killed by her own Vorpal weapon." - MaleSuicide="%o was instantly killed by his own Vorpal weapon." +defaultproperties { + StatWeapon=Class'DummyWeapon_Vorpal' + DeathString="%o was instantly killed by %k's Vorpal weapon." + FemaleSuicide="%o was instantly killed by her own Vorpal weapon." + MaleSuicide="%o was instantly killed by his own Vorpal weapon." } diff --git a/Classes/RPGDamageType.uc b/Classes/RPGDamageType.uc new file mode 100644 index 0000000..3c8fa2e --- /dev/null +++ b/Classes/RPGDamageType.uc @@ -0,0 +1,8 @@ +//Damage Types that have custom weapon stat entries for "F3" (such as Lightning Rod, Ultima etc) +class RPGDamageType extends DamageType + abstract; + +var class StatWeapon; + +defaultproperties { +} diff --git a/Classes/RPGRules.uc b/Classes/RPGRules.uc index 3d2e74f..26f67fa 100644 --- a/Classes/RPGRules.uc +++ b/Classes/RPGRules.uc @@ -95,17 +95,6 @@ var config float EXPMul_SummonKill; //you get the XP of a normal kill multiplied var config float EXP_HeadHunter, EXP_ComboWhore, EXP_FlakMonkey, EXP_RoadRampage; var config float EXP_Daredevil; -/* -*/ - -//Data to allow custom weapon stat entries for "F3" (such as Lightning Rod, Ultima etc) -struct CustomWeaponStatStruct -{ - var class DamageType; //if a kill is done with this damage type... - var class WeaponClass; //...a kill with this weapon will be tracked -}; -var config array CustomWeaponStats; - //Necromancy check queue var config array ResurrectionCombos; @@ -368,9 +357,8 @@ function ScoreKill(Controller Killer, Controller Killed) } else { - if(Killer.PlayerReplicationInfo != None) - { - KillWeaponType = GetCustomStatWeapon(KillDamageType); + if(Killer.PlayerReplicationInfo != None && ClassIsChildOf(KillDamageType, class'RPGDamageType')) { + KillWeaponType = class(KillDamageType).default.StatWeapon; if(KillWeaponType != None) RegisterWeaponKill(Killer.PlayerReplicationInfo, Killed.PlayerReplicationInfo, KillWeaponType); } @@ -1210,18 +1198,6 @@ static function bool IsResurrectionCombo(string ComboName) return false; } -function class GetCustomStatWeapon(class DamageType) -{ - local int i; - - for(i = 0; i < CustomWeaponStats.Length; i++) - { - if(CustomWeaponStats[i].DamageType == DamageType) - return CustomWeaponStats[i].WeaponClass; - } - return None; -} - defaultproperties { bDamageLog=False @@ -1234,22 +1210,6 @@ defaultproperties DirectDamageTypes(3)=class'DamTypeFatality' NoUDamageTypes(0)=class'DamTypeRetaliation' - //former RPGGameStats - CustomWeaponStats(0)=(DamageType=Class'DamTypeTitanUltima',WeaponClass=Class'DummyWeapon_Ultima') - CustomWeaponStats(1)=(DamageType=Class'DamTypeUltima',WeaponClass=Class'DummyWeapon_Ultima') - CustomWeaponStats(2)=(DamageType=Class'DamTypeLightningRod',WeaponClass=Class'DummyWeapon_LightningRod') - CustomWeaponStats(3)=(DamageType=Class'DamTypeCounterShove',WeaponClass=Class'DummyWeapon_CounterShove') - CustomWeaponStats(4)=(DamageType=Class'DamTypePoison',WeaponClass=Class'DummyWeapon_Poison') - CustomWeaponStats(5)=(DamageType=Class'DamTypeRetaliation',WeaponClass=Class'DummyWeapon_Retaliation') - CustomWeaponStats(6)=(DamageType=Class'DamTypeSelfDestruct',WeaponClass=Class'DummyWeapon_SelfDestruct') - CustomWeaponStats(7)=(DamageType=Class'DamTypeEmo',WeaponClass=Class'DummyWeapon_Emo') - CustomWeaponStats(8)=(DamageType=Class'DamTypeMegaExplosion',WeaponClass=Class'DummyWeapon_MegaBlast') - CustomWeaponStats(9)=(DamageType=Class'DamTypeRepulsion',WeaponClass=Class'DummyWeapon_Repulsion') - CustomWeaponStats(10)=(DamageType=Class'DamTypeVorpal',WeaponClass=Class'DummyWeapon_Vorpal') - CustomWeaponStats(11)=(DamageType=Class'DamTypeBioBomb',WeaponClass=Class'DummyWeapon_BioBomb') - CustomWeaponStats(12)=(DamageType=Class'DamTypeLightningTotem',WeaponClass=Class'DummyWeapon_Totem') - CustomWeaponStats(13)=(DamageType=Class'DamTypeFlakBomb',WeaponClass=Class'DummyWeapon_FlakBomb') - //Kills EXP_Frag=1.00 EXP_SelfFrag=0.00 //-1.00 really, but we don't want to lose exp here