Last patch

Commits like that are lazy and shitty, but fuck it, it's the last patch.
This commit is contained in:
Anton Tarasenko 2020-07-03 18:03:21 +07:00
parent 9560050599
commit bd54850e38
35 changed files with 81 additions and 49 deletions

0
README
View File

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# NicePack
This repo contains sources for the last public NicePack release.
It is a haphazard bunch of changes that were made to customize ScrN for ourselves. It is unfinished, but due to some reasons I don't want to release it publicly anymore.
The link to the compiled NicePack, along with all necessary files, is here: <http://www.insultplayers.ru/killingfloor/downloads/nicepack/NiceBundle.zip>

View File

@ -1,6 +1,7 @@
class NiceInteraction extends Interaction class NiceInteraction extends Interaction
dependson(NicePack) dependson(NicePack)
dependson(NiceAbilityManager); dependson(NiceAbilityManager);
#exec OBJ LOAD FILE=KillingFloorHUD.utx
#exec OBJ LOAD FILE=KillingFloor2HUD.utx #exec OBJ LOAD FILE=KillingFloor2HUD.utx
var NicePack NicePackMutator; var NicePack NicePackMutator;
var Material bleedIcon, poisonIcon; var Material bleedIcon, poisonIcon;
@ -48,7 +49,6 @@ function PostRender(Canvas C){
return; return;
scrnHUDInstance = ScrnHUD(nicePlayer.myHUD); scrnHUDInstance = ScrnHUD(nicePlayer.myHUD);
//// Draw bleed and poison icons //// Draw bleed and poison icons
C.SetDrawColor(255, 255, 255);
szRI = class'MeanReplicationInfo'.static.findSZri(ViewportOwner.Actor.PlayerReplicationInfo); szRI = class'MeanReplicationInfo'.static.findSZri(ViewportOwner.Actor.PlayerReplicationInfo);
offset = 4; offset = 4;
if(szRI != none){ if(szRI != none){

View File

@ -1,6 +1,8 @@
// made to fix KFStoryGameInfo loading for KFO maps // made to fix KFStoryGameInfo loading for KFO maps
class NiceGameType extends ScrnGameType; class NiceGameType extends ScrnGameType;
var NicePack NicePackMutator; var NicePack NicePackMutator;
var bool lessDramatic;
var float LesserZedTimeSlomoScale;
function RegisterMutator(NicePack activePack){ function RegisterMutator(NicePack activePack){
NicePackMutator = activePack; NicePackMutator = activePack;
} }
@ -68,7 +70,12 @@ State MatchInProgress{
function DramaticEvent(float BaseZedTimePossibility, optional float DesiredZedTimeDuration){ function DramaticEvent(float BaseZedTimePossibility, optional float DesiredZedTimeDuration){
local bool bWasZedTime; local bool bWasZedTime;
bWasZedTime = bZEDTimeActive; bWasZedTime = bZEDTimeActive;
if (lessDramatic) {
ZedTimeSlomoScale = LesserZedTimeSlomoScale;
}
Super.DramaticEvent(BaseZedTimePossibility, DesiredZedTimeDuration); Super.DramaticEvent(BaseZedTimePossibility, DesiredZedTimeDuration);
ZedTimeSlomoScale = default.ZedTimeSlomoScale;
lessDramatic = false;
// Call event // Call event
if(!bWasZedTime && bZEDTimeActive) if(!bWasZedTime && bZEDTimeActive)
NicePackMutator.ZedTimeActivated(); NicePackMutator.ZedTimeActivated();
@ -162,4 +169,6 @@ defaultproperties
{ {
GameName="Nice Floor" GameName="Nice Floor"
Description="Nice Edition of ScrN Killing Floor game mode (ScrnGameType)." Description="Nice Edition of ScrN Killing Floor game mode (ScrnGameType)."
ZedTimeSlomoScale=0.4
LesserZedTimeSlomoScale=0.6
} }

View File

@ -3,5 +3,5 @@ class NiceSkillZerkZEDAccelerate extends NiceSkill
defaultproperties defaultproperties
{ {
SkillName="Accelerate" SkillName="Accelerate"
SkillEffects="Move and attack at the same speed during zed-time." SkillEffects="Move and attack at regular speed during zed-time."
} }

View File

@ -35,12 +35,7 @@ static function float GetMagCapacityMod(KFPlayerReplicationInfo KFPRI, KFWeapon
return 1.0; return 1.0;
} }
static function float GetSyringeChargeRate(KFPlayerReplicationInfo KFPRI){ static function float GetSyringeChargeRate(KFPlayerReplicationInfo KFPRI){
return 3.0; return 1.5;
}
static function float GetHealPotency(KFPlayerReplicationInfo KFPRI){
local float potency;
potency = 1.5;
return potency;
} }
static function float GetMovementSpeedModifier(KFPlayerReplicationInfo KFPRI, KFGameReplicationInfo KFGRI){ static function float GetMovementSpeedModifier(KFPlayerReplicationInfo KFPRI, KFGameReplicationInfo KFGRI){
return 1.1; return 1.1;
@ -83,7 +78,7 @@ defaultproperties
OnHUDIcons(3)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Commando_Blue',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Blue',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(3)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Commando_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_Commando_Purple',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Purple',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(4)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Commando_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_Commando_Orange',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Orange',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(5)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Commando_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|30% faster reload with all weapons|10% faster movement speed|You get four additional Zed-Time Extensions|See health and cloacked zeds from 16 meters distance|50% more potent medical injections|Better Syringe handling" CustomLevelInfo="Level up by doing damage with perked weapons|30% faster reload with all weapons|10% faster movement speed|You get four additional Zed-Time Extensions|See health and cloacked zeds from 16 meters distance|Better Syringe handling"
PerkIndex=3 PerkIndex=3
OnHUDIcon=Texture'KillingFloorHUD.Perks.Perk_Commando' OnHUDIcon=Texture'KillingFloorHUD.Perks.Perk_Commando'
OnHUDGoldIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Commando_Gold' OnHUDGoldIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Commando_Gold'

View File

@ -1122,6 +1122,7 @@ exec function ReloadMeNow(){
} }
simulated function float GetCurrentReloadMult(){ simulated function float GetCurrentReloadMult(){
local float ReloadMulti; local float ReloadMulti;
local float timeDilationSpeedup;
local NiceHumanPawn nicePawn; local NiceHumanPawn nicePawn;
local NicePlayerController nicePlayer; local NicePlayerController nicePlayer;
local class<NiceVeterancyTypes> niceVet; local class<NiceVeterancyTypes> niceVet;
@ -1142,8 +1143,15 @@ simulated function float GetCurrentReloadMult(){
ReloadMulti *= activeSlowdown; ReloadMulti *= activeSlowdown;
else if(bCanActiveReload && reloadType == RTYPE_SINGLE && subReloadStage == 0) else if(bCanActiveReload && reloadType == RTYPE_SINGLE && subReloadStage == 0)
ReloadMulti *= activeSpeedup; ReloadMulti *= activeSpeedup;
if(nicePlayer != none && niceVet.static.hasSkill(nicePlayer, class'NiceSkillCommandoZEDProfessional')) {
timeDilationSpeedup = (1.1 / Level.TimeDilation);
}
else {
timeDilationSpeedup = ((1.1 / Level.TimeDilation) - 1.0) * 0.5 + 1.0;
timeDilationSpeedup = FMax(1.0, timeDilationSpeedup);
}
if(nicePlayer != none && niceVet.static.hasSkill(nicePlayer, class'NiceSkillCommandoZEDProfessional')) if(nicePlayer != none && niceVet.static.hasSkill(nicePlayer, class'NiceSkillCommandoZEDProfessional'))
ReloadMulti /= (Level.TimeDilation / 1.1); ReloadMulti *= timeDilationSpeedup;
if(bAutoReload && bAutoReloadRateApplied) if(bAutoReload && bAutoReloadRateApplied)
ReloadMulti *= autoReloadSpeedModifier; ReloadMulti *= autoReloadSpeedModifier;
return ReloadMulti; return ReloadMulti;

View File

@ -4,8 +4,8 @@ defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceM4Pickup' WeaponPickupClass=Class'NicePack.NiceM4Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=180 MaxAmmo=240
InitialAmount=45 InitialAmount=60
PickupClass=Class'NicePack.NiceM4AmmoPickup' PickupClass=Class'NicePack.NiceM4AmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -3,6 +3,7 @@ defaultproperties
{ {
Weight=5.000000 Weight=5.000000
cost=500 cost=500
AmmoCost=20
BuyClipSize=30 BuyClipSize=30
PowerValue=30 PowerValue=30
SpeedValue=90 SpeedValue=90

View File

@ -2,5 +2,5 @@ class NiceDamTypeCryoNade extends NiceWeaponDamageType
abstract; abstract;
defaultproperties defaultproperties
{ {
freezePower=200.000000 freezePower=160.000000
} }

View File

@ -113,12 +113,6 @@ simulated function HurtRadius( float DamageAmount, float DamageRadius, class<Dam
if ( damageScale <= 0) if ( damageScale <= 0)
continue; continue;
// Scrake Nader ach
if ( Role == ROLE_Authority && KFMonsterVictim != none && ZombieScrake(KFMonsterVictim) != none ) {
// need to check Scrake's stun before dealing damage, because he can unstun by himself from damage received
ScrakeNader(damageScale * DamageAmount, ZombieScrake(KFMonsterVictim), Stats);
}
} }
if(NiceMonster(Victims) != none) if(NiceMonster(Victims) != none)
Victims.TakeDamage(damageScale * DamageAmount,Instigator,Victims.Location - 0.5 * (Victims.CollisionHeight + Victims.CollisionRadius) * dir Victims.TakeDamage(damageScale * DamageAmount,Instigator,Victims.Location - 0.5 * (Victims.CollisionHeight + Victims.CollisionRadius) * dir

View File

@ -4,8 +4,8 @@ defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceM249Pickup' WeaponPickupClass=Class'NicePack.NiceM249Pickup'
AmmoPickupAmount=80 AmmoPickupAmount=80
MaxAmmo=240 MaxAmmo=160
InitialAmount=120 InitialAmount=80
PickupClass=Class'NicePack.NiceM249AmmoPickup' PickupClass=Class'NicePack.NiceM249AmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -17,7 +17,7 @@ defaultproperties
bWaitForRelease=True bWaitForRelease=True
TransientSoundVolume=1.800000 TransientSoundVolume=1.800000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=1.600000 FireRate=0.000000
AmmoClass=Class'NicePack.NiceContenderAmmo' AmmoClass=Class'NicePack.NiceContenderAmmo'
ShakeRotMag=(X=5.000000,Y=7.000000,Z=3.000000) ShakeRotMag=(X=5.000000,Y=7.000000,Z=3.000000)
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000) ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)

View File

@ -2,8 +2,8 @@ class NiceKrissMAmmo extends NiceAmmo;
defaultproperties defaultproperties
{ {
AmmoPickupAmount=33 AmmoPickupAmount=33
MaxAmmo=528 MaxAmmo=264
InitialAmount=132 InitialAmount=66
PickupClass=Class'NicePack.NiceKrissMAmmoPickup' PickupClass=Class'NicePack.NiceKrissMAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -5,7 +5,7 @@ defaultproperties
FireEndStereoSoundRef="KF_KrissSND.KF_WEP_KRISS_END_S" FireEndStereoSoundRef="KF_KrissSND.KF_WEP_KRISS_END_S"
AmbientFireSoundRef="KF_KrissSND.Kriss_Fire_Loop" AmbientFireSoundRef="KF_KrissSND.Kriss_Fire_Loop"
ProjectileSpeed=15200.000000 ProjectileSpeed=15200.000000
RecoilRate=0.100000 RecoilRate=0.0100000
maxVerticalRecoilAngle=20 maxVerticalRecoilAngle=20
maxHorizontalRecoilAngle=10 maxHorizontalRecoilAngle=10
RecoilVelocityScale=0.000000 RecoilVelocityScale=0.000000
@ -25,4 +25,6 @@ defaultproperties
ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000) ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000)
ShakeOffsetTime=1.250000 ShakeOffsetTime=1.250000
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stMP' FlashEmitterClass=Class'ROEffects.MuzzleFlash1stMP'
Spread=500.0
SpreadStyle=SS_Random
} }

View File

@ -3,6 +3,7 @@ defaultproperties
{ {
Weight=4.000000 Weight=4.000000
cost=750 cost=750
AmmoCost=50
BuyClipSize=33 BuyClipSize=33
PowerValue=50 PowerValue=50
SpeedValue=90 SpeedValue=90

View File

@ -2,9 +2,9 @@ class NiceM7A3MAmmo extends NiceAmmo;
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceM7A3MPickup' WeaponPickupClass=Class'NicePack.NiceM7A3MPickup'
AmmoPickupAmount=15 AmmoPickupAmount=30
MaxAmmo=300 MaxAmmo=180
InitialAmount=75 InitialAmount=45
PickupClass=Class'NicePack.NiceM7A3MAmmoPickup' PickupClass=Class'NicePack.NiceM7A3MAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -3,7 +3,7 @@ defaultproperties
{ {
ProjectileSpeed=21250.000000 ProjectileSpeed=21250.000000
FireAimedAnim="Fire_Iron" FireAimedAnim="Fire_Iron"
RecoilRate=0.085000 RecoilRate=0.0085000
maxVerticalRecoilAngle=120 maxVerticalRecoilAngle=120
maxHorizontalRecoilAngle=60 maxHorizontalRecoilAngle=60
ShellEjectClass=Class'ROEffects.KFShellEjectSCAR' ShellEjectClass=Class'ROEffects.KFShellEjectSCAR'
@ -32,4 +32,6 @@ defaultproperties
BotRefireRate=0.990000 BotRefireRate=0.990000
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stSTG' FlashEmitterClass=Class'ROEffects.MuzzleFlash1stSTG'
aimerror=42.000000 aimerror=42.000000
Spread=500.0
SpreadStyle=SS_Random
} }

View File

@ -3,8 +3,8 @@ defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceMP5MPickup' WeaponPickupClass=Class'NicePack.NiceMP5MPickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=600 MaxAmmo=300
InitialAmount=150 InitialAmount=75
PickupClass=Class'NicePack.NiceMP5MAmmoPickup' PickupClass=Class'NicePack.NiceMP5MAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -5,7 +5,7 @@ defaultproperties
FireEndStereoSoundRef="KF_MP5Snd.MP5_Fire_Loop_End_S" FireEndStereoSoundRef="KF_MP5Snd.MP5_Fire_Loop_End_S"
AmbientFireSoundRef="KF_MP5Snd.MP5_Fire_Loop" AmbientFireSoundRef="KF_MP5Snd.MP5_Fire_Loop"
ProjectileSpeed=21250.000000 ProjectileSpeed=21250.000000
RecoilRate=0.075000 RecoilRate=0.0075000
maxVerticalRecoilAngle=160 maxVerticalRecoilAngle=160
maxHorizontalRecoilAngle=80 maxHorizontalRecoilAngle=80
RecoilVelocityScale=0.000000 RecoilVelocityScale=0.000000
@ -15,6 +15,8 @@ defaultproperties
DamageType=Class'NicePack.NiceDamTypeMP5M' DamageType=Class'NicePack.NiceDamTypeMP5M'
DamageMin=35 DamageMin=35
DamageMax=35 DamageMax=35
Spread=500.0
SpreadStyle=SS_Random
Momentum=5500.000000 Momentum=5500.000000
FireRate=0.075000 FireRate=0.075000
AmmoClass=Class'NicePack.NiceMP5MAmmo' AmmoClass=Class'NicePack.NiceMP5MAmmo'

View File

@ -3,7 +3,7 @@ defaultproperties
{ {
Weight=4.000000 Weight=4.000000
cost=250 cost=250
AmmoCost=10 AmmoCost=20
BuyClipSize=30 BuyClipSize=30
PowerValue=30 PowerValue=30
SpeedValue=85 SpeedValue=85

View File

@ -2,8 +2,8 @@ class NiceMP7MAmmo extends NiceAmmo;
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceMP7MPickup' WeaponPickupClass=Class'NicePack.NiceMP7MPickup'
MaxAmmo=400 MaxAmmo=200
InitialAmount=100 InitialAmount=50
PickupClass=Class'NicePack.NiceMP7MAmmoPickup' PickupClass=Class'NicePack.NiceMP7MAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=336,Y1=82,X2=382,Y2=125) IconCoords=(X1=336,Y1=82,X2=382,Y2=125)

View File

@ -5,7 +5,7 @@ defaultproperties
FireEndStereoSoundRef="KF_MP7Snd.MP7_tailST" FireEndStereoSoundRef="KF_MP7Snd.MP7_tailST"
AmbientFireSoundRef="KF_MP7Snd.MP7_FireLoop" AmbientFireSoundRef="KF_MP7Snd.MP7_FireLoop"
ProjectileSpeed=36750.000000 ProjectileSpeed=36750.000000
RecoilRate=0.060000 RecoilRate=0.0060000
maxVerticalRecoilAngle=70 maxVerticalRecoilAngle=70
maxHorizontalRecoilAngle=35 maxHorizontalRecoilAngle=35
RecoilVelocityScale=0.000000 RecoilVelocityScale=0.000000
@ -25,6 +25,6 @@ defaultproperties
ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000) ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000)
ShakeOffsetTime=1.250000 ShakeOffsetTime=1.250000
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stMP' FlashEmitterClass=Class'ROEffects.MuzzleFlash1stMP'
Spread=0.012000 Spread=500.0
SpreadStyle=SS_Random SpreadStyle=SS_Random
} }

View File

@ -4,6 +4,7 @@ defaultproperties
bBackupWeapon=True bBackupWeapon=True
Weight=3.000000 Weight=3.000000
cost=200 cost=200
AmmoCost=20
BuyClipSize=40 BuyClipSize=40
PowerValue=22 PowerValue=22
SpeedValue=95 SpeedValue=95

View File

@ -10,7 +10,7 @@ defaultproperties
reloadMagStartFrame=0.278000 reloadMagStartFrame=0.278000
reloadChargeStartFrame=-1.000000 reloadChargeStartFrame=-1.000000
FirstPersonFlashlightOffset=(X=-20.000000,Y=-22.000000,Z=8.000000) FirstPersonFlashlightOffset=(X=-20.000000,Y=-22.000000,Z=8.000000)
MagCapacity=42 MagCapacity=28
ReloadRate=2.600000 ReloadRate=2.600000
ReloadAnim="Reload" ReloadAnim="Reload"
ReloadAnimRate=1.000000 ReloadAnimRate=1.000000

View File

@ -3,9 +3,9 @@ class NiceNailGunAmmo extends NiceAmmo;
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceNailGunPickup' WeaponPickupClass=Class'NicePack.NiceNailGunPickup'
AmmoPickupAmount=42 AmmoPickupAmount=28
MaxAmmo=210 MaxAmmo=168
InitialAmount=105 InitialAmount=84
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=451,Y1=445,X2=510,Y2=500) IconCoords=(X1=451,Y1=445,X2=510,Y2=500)
} }

View File

@ -3,8 +3,8 @@ defaultproperties
{ {
Weight=8.000000 Weight=8.000000
cost=250 cost=250
AmmoCost=30 AmmoCost=20
BuyClipSize=42 BuyClipSize=28
PowerValue=70 PowerValue=70
SpeedValue=55 SpeedValue=55
RangeValue=25 RangeValue=25

View File

@ -4,6 +4,7 @@ class NiceDamTypeWinchester extends NiceDamageTypeVetSharpshooter
defaultproperties defaultproperties
{ {
stunMultiplier=1.500000 stunMultiplier=1.500000
flinchMultiplier=0.8
bIsProjectile=True bIsProjectile=True
HeadShotDamageMult=2.500000 HeadShotDamageMult=2.500000
bSniperWeapon=True bSniperWeapon=True

View File

@ -3,7 +3,7 @@ class MeanZombieSiren extends NiceZombieSiren;
defaultproperties defaultproperties
{ {
ScreamRadius=800 ScreamRadius=800
ScreamForce=-250000 ScreamForce=-200000
MenuName="Mean Siren" MenuName="Mean Siren"
Skins(0)=FinalBlend'MeanZedSkins.siren_hair_fb' Skins(0)=FinalBlend'MeanZedSkins.siren_hair_fb'
Skins(1)=Combiner'MeanZedSkins.siren_cmb' Skins(1)=Combiner'MeanZedSkins.siren_cmb'

View File

@ -185,11 +185,13 @@ function StartChargingFP(Pawn instigatedBy){
if( rageTarget != none && KFGameType(Level.Game) != none if( rageTarget != none && KFGameType(Level.Game) != none
&& class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller), && class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller),
class'NiceSkillCommandoPerfectExecution') ){ class'NiceSkillCommandoPerfectExecution') ){
NiceGameType(Level.Game).lessDramatic = true;
KFGameType(Level.Game).DramaticEvent(1.0); KFGameType(Level.Game).DramaticEvent(1.0);
} }
else if( altRageTarget != none && KFGameType(Level.Game) != none else if( altRageTarget != none && KFGameType(Level.Game) != none
&& class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(altRageTarget.Controller), && class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(altRageTarget.Controller),
class'NiceSkillCommandoPerfectExecution') ){ class'NiceSkillCommandoPerfectExecution') ){
NiceGameType(Level.Game).lessDramatic = true;
KFGameType(Level.Game).DramaticEvent(1.0); KFGameType(Level.Game).DramaticEvent(1.0);
} }
} }

View File

@ -127,6 +127,7 @@ state RunningState
if( rageTarget != none && KFGameType(Level.Game) != none if( rageTarget != none && KFGameType(Level.Game) != none
&& class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller), && class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller),
class'NiceSkillCommandoPerfectExecution') ){ class'NiceSkillCommandoPerfectExecution') ){
NiceGameType(Level.Game).lessDramatic = true;
KFGameType(Level.Game).DramaticEvent(1.0); KFGameType(Level.Game).DramaticEvent(1.0);
} }
} }

View File

@ -201,11 +201,13 @@ state RunningState
if( rageTarget != none && KFGameType(Level.Game) != none if( rageTarget != none && KFGameType(Level.Game) != none
&& class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller), && class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageTarget.Controller),
class'NiceSkillCommandoPerfectExecution') ){ class'NiceSkillCommandoPerfectExecution') ){
NiceGameType(Level.Game).lessDramatic = true;
KFGameType(Level.Game).DramaticEvent(1.0); KFGameType(Level.Game).DramaticEvent(1.0);
} }
else if( rageCause != none && KFGameType(Level.Game) != none else if( rageCause != none && KFGameType(Level.Game) != none
&& class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageCause.Controller), && class'NiceVeterancyTypes'.static.HasSkill(NicePlayerController(rageCause.Controller),
class'NiceSkillCommandoPerfectExecution') ){ class'NiceSkillCommandoPerfectExecution') ){
NiceGameType(Level.Game).lessDramatic = true;
KFGameType(Level.Game).DramaticEvent(1.0); KFGameType(Level.Game).DramaticEvent(1.0);
} }
} }

View File

@ -91,8 +91,8 @@ defaultproperties
WaterSpeed=100.000000 WaterSpeed=100.000000
AccelRate=1024.000000 AccelRate=1024.000000
JumpZ=340.000000 JumpZ=340.000000
HealthMax=250.000000 HealthMax=190.000000
Health=250 Health=190
MenuName="Shiver" MenuName="Shiver"
MovementAnims(0)="ClotWalk" MovementAnims(0)="ClotWalk"
AmbientSound=SoundGroup'ScrnZedPack_S.Shiver.ShiverIdleGroup' AmbientSound=SoundGroup'ScrnZedPack_S.Shiver.ShiverIdleGroup'

View File

@ -22,7 +22,7 @@ function Touch( actor Other ){
function bool RelevantTo(Pawn P){ function bool RelevantTo(Pawn P){
local NiceMonster niceZed; local NiceMonster niceZed;
niceZed = NiceMonster(P); niceZed = NiceMonster(P);
if(niceZed != none && niceZed.default.Health >= 1500) if(niceZed != none && niceZed.default.Health >= 1000)
return false; return false;
return (niceFP != none && VSizeSquared(niceFP.Velocity) >= 75 && Super.RelevantTo(P) && niceFP.Velocity dot (P.Location - niceFP.Location) > 0 ); return (niceFP != none && VSizeSquared(niceFP.Velocity) >= 75 && Super.RelevantTo(P) && niceFP.Velocity dot (P.Location - niceFP.Location) > 0 );
} }

View File

@ -418,14 +418,18 @@ function bool SetEnemy( pawn newEnemy,
optional bool bHateMonster, optional bool bHateMonster,
optional float MonsterHateChanceOverride){ optional float MonsterHateChanceOverride){
local NiceMonster niceZed; local NiceMonster niceZed;
local NiceZombieFleshpound niceFP;
local bool bCanForceFight; local bool bCanForceFight;
// Can we fight anything? // Can we fight anything?
niceZed = NiceMonster(pawn); niceZed = NiceMonster(pawn);
niceFP = NiceZombieFleshpound(niceZed);
if(niceZed != none) if(niceZed != none)
bCanForceFight = bCanForceFight =
KFMonster(pawn).HeadHealth <= 0 KFMonster(pawn).HeadHealth <= 0
|| KFMonster(pawn).bDecapitated || KFMonster(pawn).bDecapitated
|| newEnemy.Health <= 15; || newEnemy.Health <= 15;
if (niceFP != none && niceFP.IsInState('RageCharging'))
bCanForceFight = false;
if(newEnemy != none) if(newEnemy != none)
bCanForceFight = bCanForceFight bCanForceFight = bCanForceFight
&& newEnemy.Health > 0 && newEnemy != enemy; && newEnemy.Health > 0 && newEnemy != enemy;