First commit

This commit is contained in:
Anton Tarasenko 2020-02-16 19:53:59 +07:00
commit 5b48414900
263 changed files with 24830 additions and 0 deletions

View file

@ -0,0 +1,5 @@
class NiceDamTypeDemoBlunt extends NiceDamageTypeVetDemolitions
abstract;
defaultproperties
{ HeadShotDamageMult=2.000000 bSniperWeapon=True DeathString="%k killed %o (LAW Impact)." FemaleSuicide="%o shot herself in the foot." MaleSuicide="%o shot himself in the foot." bRagdollBullet=True bBulletHit=True FlashFog=(X=600.000000) KDamageImpulse=5000.000000 KDeathVel=200.000000 KDeathUpKick=50.000000 VehicleDamageScaling=0.700000
}

View file

@ -0,0 +1,9 @@
class NiceDamTypeDemoExplosion extends NiceDamageTypeVetDemolitions;
static function GetHitEffects(out class<xEmitter> HitEffects[4], int VictimHealth){
HitEffects[0] = class'HitSmoke';
if(VictimHealth <= 0) HitEffects[1] = class'KFHitFlame';
else if(FRand() < 0.8) HitEffects[1] = class'KFHitFlame';
}
defaultproperties
{ stunMultiplier=0.600000 bIsExplosive=True DeathString="%o filled %k's body with shrapnel." FemaleSuicide="%o blew up." MaleSuicide="%o blew up." bLocationalHit=False bThrowRagdoll=True bExtraMomentumZ=True DamageThreshold=1 DeathOverlayMaterial=Combiner'Effects_Tex.GoreDecals.PlayerDeathOverlay' DeathOverlayTime=999.000000 KDamageImpulse=3000.000000 KDeathVel=300.000000 KDeathUpKick=250.000000 HumanObliterationThreshhold=150
}

View file

@ -0,0 +1,4 @@
class NiceDamTypeDemoSafeExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
}

View file

@ -0,0 +1,8 @@
class NiceDamageTypeVetDemolitions 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'NiceVetDemolitionsExp', Int(Float(Amount) * class'NicePack'.default.vetDemoDamageExpCost * getScale(HL)));
}
defaultproperties
{
}

View file

@ -0,0 +1,66 @@
class NiceVetDemolitions extends NiceVeterancyTypes
abstract;
static function AddCustomStats(ClientPerkRepLink Other){
other.AddCustomValue(Class'NiceVetDemolitionsExp');
}
static function int GetStatValueInt(ClientPerkRepLink StatOther, byte ReqNum){
return StatOther.GetCustomValueInt(Class'NiceVetDemolitionsExp');
}
static function array<int> GetProgressArray(byte ReqNum, optional out int DoubleScalingBase){
return default.progressArray0;
}
static function int ReduceDamage(KFPlayerReplicationInfo KFPRI, KFPawn Injured, Pawn Instigator, int InDamage, class<DamageType> DmgType){
local NicePlayerController nicePlayer;
if(class<NiceDamTypeDemoSafeExplosion>(DmgType) != none) return 0;
nicePlayer = NicePlayerController(KFPRI.Owner);
if(nicePlayer != none && Instigator == nicePlayer.pawn && nicePlayer.IsZedTimeActive() && HasSkill(nicePlayer, class'NiceSkillDemoZEDDuckAndCover')) return 0.0;
if((class<KFWeaponDamageType>(DmgType) != none && class<KFWeaponDamageType>(DmgType).default.bIsExplosive)) return float(InDamage) * 0.5;
return InDamage;
}
static function float AddExtraAmmoFor(KFPlayerReplicationInfo KFPRI, Class<Ammunition> AmmoType){
local float bonusNades, bonusPipes;
// Default bonus
bonusNades = 5;
bonusPipes = 6;
if(AmmoType == class'FragAmmo') return 1.0 + 0.2 * bonusNades;
if(ClassIsChildOf(AmmoType, class'PipeBombAmmo')) return 1.0 + 0.5 * bonusPipes;
return 1.0;
}
static function int AddDamage(KFPlayerReplicationInfo KFPRI, KFMonster Injured, KFPawn DamageTaker, int InDamage, class<DamageType> DmgType){
local float perkDamage;
local class<NiceWeaponPickup> pickupClass;
pickupClass = GetPickupFromDamageType(DmgType);
perkDamage = float(InDamage);
if(DmgType == class'NicePack.NiceDamTypeDemoExplosion') return 1.6 * perkDamage;
if(IsPerkedPickup(pickupClass)) perkDamage *= 1.25;
else if( pickupClass != none && pickupClass.default.weight <= class'NiceSkillDemoOffperk'.default.weightBound && HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillDemoOffperk') ) perkDamage *= class'NiceSkillDemoOffperk'.default.damageBonus;
if( KFPRI != none && class<NiceDamTypeDemoBlunt>(DmgType) != none && SomeoneHasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillDemoOnperk') ) perkDamage *= class'NiceSkillDemoOnperk'.default.damageBonus;
return perkDamage;
}
static function float GetReloadSpeedModifierStatic(KFPlayerReplicationInfo KFPRI, class<KFWeapon> other){
local NiceHumanPawn nicePawn;
local class<NiceWeaponPickup> pickupClass;
// Pistols reload
if( other != none && other.default.weight <= class'NiceSkillDemoOffperk'.default.weightBound && HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillDemoOffperk') ) return class'NiceSkillDemoOffperk'.default.reloadBonus;
// Maniac reload
pickupClass = GetPickupFromWeapon(other);
if(KFPRI != none && PlayerController(KFPRI.Owner) != none) nicePawn = NiceHumanPawn(PlayerController(KFPRI.Owner).Pawn);
if(nicePawn != none && nicePawn.maniacTimeout >= 0.0 && IsPerkedPickup(pickupClass)) return class'NiceSkillDemoManiac'.default.reloadSpeedup;
return 1.0;
}
static function float stunDurationMult(KFPlayerReplicationInfo KFPRI, KFMonster Injured, KFPawn DamageTaker, class<NiceWeaponDamageType> DmgType){
if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillDemoConcussion')) return class'NiceSkillDemoConcussion'.default.durationMult;
return 1.0;
}
static function int AddStunScore(KFPlayerReplicationInfo KFPRI, KFMonster Injured, KFPawn DamageTaker, int InStunScore, class<NiceWeaponDamageType> DmgType){
return int(float(InStunScore) * 1.5);
}
static function int AddFlinchScore(KFPlayerReplicationInfo KFPRI, KFMonster Injured, KFPawn DamageTaker, int InFlinchScore, class<NiceWeaponDamageType> DmgType){
return int(float(InFlinchScore) * 1.5);
}
static function string GetCustomLevelInfo(byte Level){
return default.CustomLevelInfo;
}
defaultproperties
{ bNewTypePerk=True SkillGroupA(0)=Class'NicePack.NiceSkillDemoOnperk' SkillGroupA(1)=Class'NicePack.NiceSkillDemoDirectApproach' SkillGroupA(2)=Class'NicePack.NiceSkillDemoConcussion' SkillGroupA(3)=Class'NicePack.NiceSkillDemoAPShot' SkillGroupA(4)=Class'NicePack.NiceSkillDemoZEDDuckAndCover' SkillGroupB(0)=Class'NicePack.NiceSkillDemoOffperk' SkillGroupB(1)=Class'NicePack.NiceSkillDemoVolatile' SkillGroupB(2)=Class'NicePack.NiceSkillDemoReactiveArmor' SkillGroupB(3)=Class'NicePack.NiceSkillDemoManiac' SkillGroupB(4)=Class'NicePack.NiceSkillDemoZEDFullBlast' progressArray0(0)=100 progressArray0(1)=1000 progressArray0(2)=3000 progressArray0(3)=10000 progressArray0(4)=30000 progressArray0(5)=100000 progressArray0(6)=200000 DefaultDamageType=Class'NicePack.NiceDamageTypeVetDemolitions' OnHUDIcons(0)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Demolition',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Demolition_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_Demolition_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_Demolition_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_Demolition_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_Demolition_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|25% extra explosives damage|50% better stun and flinch ability for all weapons|50% resistance to explosives|+5 grenades|+6 pipe bombs" PerkIndex=6 OnHUDIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Demolition' OnHUDGoldIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Demolition_Gold' VeterancyName="Demolitions" Requirements(0)="Required experience for the next level: %x"
}

View file

@ -0,0 +1,4 @@
class NiceVetDemolitionsExp extends SRCustomProgressInt;
defaultproperties
{ ProgressName="Demolitions exp."
}

View file

@ -0,0 +1,7 @@
class NiceSkillDemoAPShot extends NiceSkill
abstract;
var float minCos;
var float damageRatio;
defaultproperties
{ minCos=0.707000 damageRatio=1.000000 SkillName="AP shot" SkillEffects="Deal full blast damage behind the target you've hit."
}

View file

@ -0,0 +1,6 @@
class NiceSkillDemoConcussion extends NiceSkill
abstract;
var float durationMult;
defaultproperties
{ durationMult=2.000000 SkillName="Concussion" SkillEffects="You stun zeds for twice longer time than usual."
}

View file

@ -0,0 +1,5 @@
class NiceSkillDemoDirectApproach extends NiceSkill
abstract;
defaultproperties
{ SkillName="Direct approach" SkillEffects="Your explosives will first hit target zed as a blunt before exploding."
}

View file

@ -0,0 +1,28 @@
class NiceSkillDemoManiac extends NiceSkill
abstract;
var float reloadBoostTime;
var float reloadSpeedup;
function static SkillSelected(NicePlayerController nicePlayer){
local NicePack niceMutator;
super.SkillSelected(nicePlayer);
niceMutator = class'NicePack'.static.Myself(nicePlayer.Level);
if(niceMutator == none || niceMutator.Role == Role_AUTHORITY) return;
niceMutator.AddCounter("npDemoManiac", Texture'NicePackT.HudCounter.demo', false, default.class);
}
function static SkillDeSelected(NicePlayerController nicePlayer){
local NicePack niceMutator;
super.SkillDeSelected(nicePlayer);
niceMutator = class'NicePack'.static.Myself(nicePlayer.Level);
if(niceMutator == none || niceMutator.Role == Role_AUTHORITY) return;
niceMutator.RemoveCounter("npDemoManiac");
}
function static int UpdateCounterValue(string counterName, NicePlayerController nicePlayer){
local NiceHumanPawn nicePawn;
if(nicePlayer == none || counterName != "npDemoManiac") return 0;
nicePawn = NiceHumanPawn(nicePlayer.pawn);
if(nicePawn == none || nicePawn.maniacTimeout <= 0.0) return 0;
return Ceil(nicePawn.maniacTimeout);
}
defaultproperties
{ reloadBoostTime=5.000000 reloadSpeedup=1.500000 SkillName="Maniac" SkillEffects="Reload 50% faster for 5 seconds after killing something."
}

View file

@ -0,0 +1,8 @@
class NiceSkillDemoOffperk extends NiceSkill
abstract;
var float damageBonus;
var float reloadBonus;
var int weightBound;
defaultproperties
{ damageBonus=1.250000 ReloadBonus=1.250000 weightBound=4 SkillName="Offperk" SkillEffects="Reload light weapons (less than 5 pounds) 25% faster and do 25% more damage with them."
}

View file

@ -0,0 +1,7 @@
class NiceSkillDemoOnperk extends NiceSkill
abstract;
var float damageBonus;
var float speedBonus;
defaultproperties
{ damageBonus=1.200000 speedBonus=1.500000 bBroadcast=True SkillName="Onperk" SkillEffects="Deal 20% more damage with your blunts and make your perk weapon's projectiles fly 50% faster."
}

View file

@ -0,0 +1,10 @@
class NiceSkillDemoReactiveArmor extends NiceSkill
abstract;
var float baseDamage;
var float perNadeDamage;
var float explRadius;
var float explExponent;
var float explMomentum;
defaultproperties
{ BaseDamage=3000.000000 explRadius=1000.000000 explExponent=1.000000 explMomentum=150000.000000 SkillName="Reactive armor" SkillEffects="Once per wave your death will be prevented, while zeds all around you will be blown to bits."
}

View file

@ -0,0 +1,8 @@
class NiceSkillDemoVolatile extends NiceSkill
abstract;
var float safeDistanceMult;
var float explRangeMult;
var float falloffMult;
defaultproperties
{ safeDistanceMult=0.500000 explRangeMult=1.000000 falloffMult=0.500000 SkillName="Volatile" SkillEffects="Safe range for your explosives is halved and explosion damage experiences smaller fall off."
}

View file

@ -0,0 +1,5 @@
class NiceSkillDemoZEDDuckAndCover extends NiceSkill
abstract;
defaultproperties
{ SkillName="Duck and cover" SkillEffects="During zed time you can't deal yourself any damage."
}

View file

@ -0,0 +1,6 @@
class NiceSkillDemoZEDFullBlast extends NiceSkill
abstract;
var float explRadiusMult;
defaultproperties
{ explRadiusMult=1.350000 SkillName="Full blast" SkillEffects="During zed time your explosions have 35% larger radius and their damage doesn't suffer from a fall off."
}