First commit
This commit is contained in:
commit
5b48414900
263 changed files with 24830 additions and 0 deletions
10
sources/Perks/Enforcer/NiceDamageTypeVetEnforcer.uc
Normal file
10
sources/Perks/Enforcer/NiceDamageTypeVetEnforcer.uc
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
class NiceDamageTypeVetEnforcer extends NiceWeaponDamageType
|
||||
abstract;
|
||||
|
||||
static function AwardNiceDamage(KFSteamStatsAndAchievements KFStatsAndAchievements, int Amount, int HL){
|
||||
if(SRStatsBase(KFStatsAndAchievements) != none && SRStatsBase(KFStatsAndAchievements).Rep != none)
SRStatsBase(KFStatsAndAchievements).Rep.ProgressCustomValue(Class'NiceVetSupportExp', Int(Float(Amount) * class'NicePack'.default.vetSupportDamageExpCost * getScale(HL)));
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
badDecapMod=1.000000
bIsProjectile=True
HeadShotDamageMult=1.500000
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class NiceDamageTypeVetEnforcerBullets extends NiceDamageTypeVetEnforcer
|
||||
abstract;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
badDecapMod=0.2500000
goodDecapMod=0.500000
bodyDestructionMult=1.000000
HeadShotDamageMult=1.000000
|
||||
}
|
||||
118
sources/Perks/Enforcer/NiceVetEnforcer.uc
Normal file
118
sources/Perks/Enforcer/NiceVetEnforcer.uc
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
class NiceVetEnforcer extends NiceVeterancyTypes
|
||||
abstract;
|
||||
|
||||
static function AddCustomStats(ClientPerkRepLink Other){
|
||||
Other.AddCustomValue(Class'NiceVetSupportExp');
|
||||
}
|
||||
|
||||
static function int GetStatValueInt(ClientPerkRepLink StatOther, byte ReqNum){
|
||||
return StatOther.GetCustomValueInt(Class'NiceVetSupportExp');
|
||||
}
|
||||
|
||||
static function array<int> GetProgressArray(byte ReqNum, optional out int DoubleScalingBase){
|
||||
return default.progressArray0;
|
||||
}
|
||||
|
||||
// Other bonuses
|
||||
|
||||
static function float GetPenetrationDamageMulti(KFPlayerReplicationInfo KFPRI, float DefaultPenDamageReduction, class<NiceWeaponDamageType> fireIntance){
|
||||
local float bonusReduction;
|
||||
local float PenDamageInverse;
|
||||
bonusReduction = 0.0;
|
||||
if(class<NiceDamageTypeVetEnforcerBullets>(fireIntance) != none)
|
||||
return DefaultPenDamageReduction;
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillSupportStubbornness'))
bonusReduction = class'NiceSkillSupportStubbornness'.default.penLossRed;
|
||||
PenDamageInverse = (1.0 - FMax(0, DefaultPenDamageReduction));
|
||||
return DefaultPenDamageReduction + PenDamageInverse * (0.6 + 0.4 * bonusReduction); // 60% better penetrations + bonus
|
||||
}
|
||||
|
||||
static function int AddStunScore(KFPlayerReplicationInfo KFPRI, KFMonster Injured, KFPawn DamageTaker, int InStunScore, class<NiceWeaponDamageType> DmgType){
|
||||
local class<NiceWeaponPickup> pickupClass;
|
||||
pickupClass = GetPickupFromDamageType(DmgType);
|
||||
if(KFPRI != none && IsPerkedPickup(pickupClass) && HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerBombard'))
return InStunScore * class'NiceSkillEnforcerBombard'.default.stunMult;
|
||||
return InStunScore;
|
||||
}
|
||||
|
||||
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){
|
||||
/*if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillSupportCautious'))
return class'NicePack.NiceDelayedNade';
|
||||
return class'NicePack.NiceNailNade';*/
|
||||
return class'NicePack.NiceCryoNade';
|
||||
}
|
||||
|
||||
static function int ReduceDamage(KFPlayerReplicationInfo KFPRI, KFPawn Injured, Pawn Instigator, int InDamage, class<DamageType> DmgType){
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerDetermination') && Injured.Health < class'NiceSkillEnforcerDetermination'.default.healthBound)
|
||||
InDamage *= (1 - class'NiceSkillEnforcerDetermination'.default.addedResist);
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerUnshakable'))
|
||||
InDamage *= (1 - class'NiceSkillEnforcerUnshakable'.default.skillResist);
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillHeavyCoating') && Injured.ShieldStrength > 0){
|
||||
if( class<KFWeaponDamageType>(DmgType) != none
|
||||
&& ((class<KFWeaponDamageType>(DmgType).default.bDealBurningDamage && KFMonster(Instigator) != none)
|
||||
|| DmgType == class'NiceZombieTeslaHusk'.default.MyDamageType) )
|
||||
InDamage *= (1 - class'NiceSkillHeavyCoating'.default.huskResist);
|
||||
}
|
||||
return InDamage;
|
||||
}
|
||||
|
||||
static function float GetFireSpeedModStatic(KFPlayerReplicationInfo KFPRI, class<Weapon> other){
|
||||
local float fireSpeed;
|
||||
local NicePlayerController nicePlayer;
|
||||
local class<NiceWeaponPickup> pickupClass;
|
||||
pickupClass = GetPickupFromWeapon(other);
|
||||
if(KFPRI.Owner == none)
|
||||
return 1.0;
|
||||
if(IsPerkedPickup(pickupClass) && HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillHeavyOverclocking'))
|
||||
fireSpeed = class'NiceSkillHeavyOverclocking'.default.fireSpeedMult;
|
||||
else
|
||||
fireSpeed = 1.0;
|
||||
nicePlayer = NicePlayerController(KFPRI.Owner);
|
||||
/*if(nicePlayer != none && HasSkill(nicePlayer, class'NiceSkillEnforcerZEDBarrage'))
|
||||
fireSpeed /= (KFPRI.Owner.Level.TimeDilation / 1.1);*/
|
||||
return fireSpeed;
|
||||
}
|
||||
|
||||
static function float ModifyRecoilSpread(KFPlayerReplicationInfo KFPRI, WeaponFire other, out float Recoil){
|
||||
local class<NiceWeaponPickup> pickupClass;
|
||||
pickupClass = GetPickupFromWeaponFire(other);
|
||||
if(IsPerkedPickup(pickupClass) && HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillHeavyOverclocking'))
|
||||
Recoil = class'NiceSkillHeavyOverclocking'.default.fireSpeedMult;
|
||||
else
|
||||
Recoil = 1.0;
|
||||
return Recoil;
|
||||
}
|
||||
|
||||
/*static function float GetMagCapacityModStatic(KFPlayerReplicationInfo KFPRI, class<KFWeapon> other){
|
||||
local class<NiceWeapon> niceWeap;
|
||||
niceWeap = class<NiceWeapon>(other);
|
||||
if(niceWeap != none && niceWeap.default.reloadType == RTYPE_MAG)
|
||||
return 1.5;
|
||||
if(other == class'NicePack.NiceM41AAssaultRifle' || other == class'NicePack.NiceChainGun' || other == class'NicePack.NiceStinger' )
|
||||
return 1.5;
|
||||
return 1.0;
|
||||
}*/
|
||||
|
||||
static function float GetMovementSpeedModifier(KFPlayerReplicationInfo KFPRI, KFGameReplicationInfo KFGRI){
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerUnstoppable'))
|
||||
return class'NiceSkillEnforcerUnstoppable'.default.speedMult;
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
static function bool CanBePulled(KFPlayerReplicationInfo KFPRI){
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerUnstoppable'))
|
||||
return false;
|
||||
return super.CanBePulled(KFPRI);
|
||||
}
|
||||
|
||||
static function float SlowingModifier(KFPlayerReplicationInfo KFPRI){
|
||||
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillEnforcerUnstoppable'))
|
||||
return 0.0;
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
static function string GetCustomLevelInfo(byte Level){
|
||||
return default.CustomLevelInfo;
|
||||
}
|
||||
defaultproperties
|
||||
{
bNewTypePerk=True
|
||||
SkillGroupA(0)=Class'NicePack.NiceSkillEnforcerUnstoppable'
SkillGroupA(1)=Class'NicePack.NiceSkillEnforcerBombard'
SkillGroupA(2)=Class'NicePack.NiceSkillEnforcerFullCounter'
SkillGroupA(4)=Class'NicePack.NiceSkillEnforcerZEDBarrage'
|
||||
SkillGroupB(0)=Class'NicePack.NiceSkillEnforcerUnshakable'
SkillGroupB(1)=Class'NicePack.NiceSkillEnforcerMultitasker'
SkillGroupB(2)=Class'NicePack.NiceSkillEnforcerDetermination'
SkillGroupB(4)=Class'NicePack.NiceSkillEnforcerZEDJuggernaut'
progressArray0(0)=100
progressArray0(1)=1000
progressArray0(2)=3000
progressArray0(3)=10000
progressArray0(4)=30000
progressArray0(5)=100000
progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetEnforcer'
OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Support',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Support_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(2)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Support_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(3)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Support_Blue',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Blue',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(4)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Support_Purple',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Purple',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(5)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Support_Orange',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Orange',DrawColor=(B=255,G=255,R=255,A=255))
CustomLevelInfo="Level up by doing damage with perked weapons|60% better penetration with all weapons"
PerkIndex=1
OnHUDIcon=Texture'KillingFloorHUD.Perks.Perk_Support'
OnHUDGoldIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Support_Gold'
VeterancyName="Enforcer"
Requirements(0)="Required experience for the next level: %x"
|
||||
}
|
||||
4
sources/Perks/Enforcer/NiceVetSupportExp.uc
Normal file
4
sources/Perks/Enforcer/NiceVetSupportExp.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
class NiceVetSupportExp extends SRCustomProgressInt;
|
||||
defaultproperties
|
||||
{
ProgressName="Enforcer exp."
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class NiceSkillEnforcerBombard extends NiceSkill
|
||||
abstract;
|
||||
var float stunMult;
|
||||
var float spreadMult;
|
||||
defaultproperties
|
||||
{
stunMult=3.000000
spreadMult=0.500000
SkillName="Bombard"
SkillEffects="Your perked weapons are 3 times as good at stunning."
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class NiceSkillEnforcerMultitasker extends NiceSkill
|
||||
abstract;
|
||||
var float reloadSlowDown;
|
||||
defaultproperties
|
||||
{
reloadSlowDown=5.000000
SkillName="Multitasker"
SkillEffects="Reload holstered weapons at five times as much time."
|
||||
}
|
||||
5
sources/Perks/Enforcer/Skills/NiceSkillSupportAntiZed.uc
Normal file
5
sources/Perks/Enforcer/Skills/NiceSkillSupportAntiZed.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class NiceSkillSupportAntiZed extends NiceSkill
|
||||
abstract;
|
||||
defaultproperties
|
||||
{
SkillName="Anti-zed rounds"
SkillEffects="When shotgun pellets pass screaming siren, they gain x4 damage boost."
|
||||
}
|
||||
5
sources/Perks/Enforcer/Skills/NiceSkillSupportArmory.uc
Normal file
5
sources/Perks/Enforcer/Skills/NiceSkillSupportArmory.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class NiceSkillSupportArmory extends NiceSkill
|
||||
abstract;
|
||||
defaultproperties
|
||||
{
bBroadcast=True
SkillName="Armory"
SkillEffects="Once per wave your team-mates will receive armored jacket when they run out of armor."
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class NiceSkillSupportBigGameHunter extends NiceSkillGenAmmo
|
||||
abstract;
|
||||
var float damageBonus;
|
||||
defaultproperties
|
||||
{
damageBonus=1.600000
SkillName="Big-game hunter"
SkillEffects="Gain 60% damage bonus with grenades, but carry 5 grenades less."
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class NiceSkillSupportCautious extends NiceSkill
|
||||
abstract;
|
||||
defaultproperties
|
||||
{
SkillName="Cautious"
SkillEffects="Your grenades won't explode if you're too close to them."
|
||||
}
|
||||
18
sources/Perks/Enforcer/Skills/NiceSkillSupportDiversity.uc
Normal file
18
sources/Perks/Enforcer/Skills/NiceSkillSupportDiversity.uc
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
class NiceSkillSupportDiversity extends NiceSkill
|
||||
abstract;
|
||||
var int bonusWeight;
|
||||
static function UpdateWeight(NicePlayerController nicePlayer){
|
||||
local NiceHumanPawn nicePawn;
|
||||
if(nicePawn == none || nicePawn.KFPRI == none) return;
|
||||
nicePawn.maxCarryWeight = nicePawn.default.maxCarryWeight;
|
||||
if(nicePawn.KFPRI.clientVeteranSkill != none)
nicePawn.maxCarryWeight += nicePawn.KFPRI.clientVeteranSkill.static.AddCarryMaxWeight(nicePawn.KFPRI);
|
||||
}
|
||||
function static SkillSelected(NicePlayerController nicePlayer){
|
||||
UpdateWeight(nicePlayer);
|
||||
}
|
||||
function static SkillDeSelected(NicePlayerController nicePlayer){
|
||||
UpdateWeight(nicePlayer);
|
||||
}
|
||||
defaultproperties
|
||||
{
bonusWeight=5
SkillName="Diversity"
SkillEffects="Gain +5 weight slots."
|
||||
}
|
||||
7
sources/Perks/Enforcer/Skills/NiceSkillSupportGraze.uc
Normal file
7
sources/Perks/Enforcer/Skills/NiceSkillSupportGraze.uc
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class NiceSkillSupportGraze extends NiceSkill
|
||||
abstract;
|
||||
var float hsBonusZoneMult;
|
||||
var float grazeDamageMult;
|
||||
defaultproperties
|
||||
{
hsBonusZoneMult=1.500000
grazeDamageMult=0.750000
SkillName="Graze"
SkillEffects="Your perked projectile can hit zeds' extended head zone for 75% of damage even if they miss the normal one."
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class NiceSkillSupportObsessive extends NiceSkill
|
||||
abstract;
|
||||
var float reloadLevel;
|
||||
var float reloadBonus;
|
||||
defaultproperties
|
||||
{
reloadLevel=0.650000
ReloadBonus=1.500000
SkillName="Obsessive"
SkillEffects="Reload 50% faster when you lack at most 35% of bullets in the magazine."
|
||||
}
|
||||
5
sources/Perks/Enforcer/Skills/NiceSkillSupportSlugs.uc
Normal file
5
sources/Perks/Enforcer/Skills/NiceSkillSupportSlugs.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class NiceSkillSupportSlugs extends NiceSkill
|
||||
abstract;
|
||||
defaultproperties
|
||||
{
SkillName="Slugs"
SkillEffects="Pellets shots replaced by slugs on shotguns."
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class NiceSkillSupportStubbornness extends NiceSkillGenAmmo
|
||||
abstract;
|
||||
var float penLossRed;
|
||||
defaultproperties
|
||||
{
penLossRed=0.500000
SkillName="Stubbornness"
SkillEffects="50% better penetration."
|
||||
}
|
||||
6
sources/Perks/Enforcer/Skills/NiceSkillSupportZEDBore.uc
Normal file
6
sources/Perks/Enforcer/Skills/NiceSkillSupportZEDBore.uc
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
class NiceSkillSupportZEDBore extends NiceSkill
|
||||
abstract;
|
||||
var float minHeadshotPrecision;
|
||||
defaultproperties
|
||||
{
minHeadshotPrecision=0.100000
SkillName="Bore"
SkillEffects="During zed time your bullets' bounce between a zed's body and head 2 times before leaving it."
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class NiceSkillSupportZEDBulletStorm extends NiceSkill
|
||||
abstract;
|
||||
var float damageCut;
|
||||
var float projCountMult;
|
||||
defaultproperties
|
||||
{
damageCut=0.500000
projCountMult=7.000000
SkillName="Bullet storm"
SkillEffects="During zed time you fire seven times as much projectiles, that deal half as much damage."
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue