Merge pull request 'Hardcoded classes removed' (#8) from NikC-/NicePack:zedtest4 into master

Reviewed-on: https://insultplayers.ru/git/dkanus/NicePack/pulls/8
This commit is contained in:
NikC- 2022-01-21 20:40:08 +03:00
commit 01882bdecf
656 changed files with 2299 additions and 1496 deletions

View File

@ -1,14 +1,17 @@
class NiceIceChunkEmitter extends Emitter; class NiceIceChunkEmitter extends Emitter;
var() array<Sound> ImpactSounds; var() array<Sound> ImpactSounds;
simulated function PostBeginPlay(){ simulated function PostBeginPlay(){
if(ImpactSounds.Length > 0) if(ImpactSounds.Length > 0)
PlaySound(ImpactSounds[Rand(ImpactSounds.Length)]); PlaySound(ImpactSounds[Rand(ImpactSounds.Length)]);
} }
// NICETODO: change linksfrom HTeac_A to NicePackSM (and change that file) // NICETODO: change linksfrom HTeac_A to NicePackSM (and change that file)
defaultproperties defaultproperties
{ {
ImpactSounds(0)=Sound'KFWeaponSound.bullethitglass' ImpactSounds(0)=Sound'KFWeaponSound.bullethitglass'
ImpactSounds(1)=Sound'KFWeaponSound.bullethitglass2' ImpactSounds(1)=Sound'KFWeaponSound.bullethitglass2'
Begin Object Class=MeshEmitter Name=MeshEmitter0 Begin Object Class=MeshEmitter Name=MeshEmitter0
StaticMesh=StaticMesh'HTec_A.IceChunk1' StaticMesh=StaticMesh'HTec_A.IceChunk1'
UseCollision=True UseCollision=True
@ -29,7 +32,7 @@ defaultproperties
InitialParticlesPerSecond=10000.000000 InitialParticlesPerSecond=10000.000000
StartVelocityRange=(X=(Min=-75.000000,Max=75.000000),Y=(Min=-75.000000,Max=75.000000),Z=(Min=-100.000000,Max=300.000000)) StartVelocityRange=(X=(Min=-75.000000,Max=75.000000),Y=(Min=-75.000000,Max=75.000000),Z=(Min=-100.000000,Max=300.000000))
End Object End Object
Emitters(0)=MeshEmitter'NicePack.NiceIceChunkEmitter.MeshEmitter0' Emitters(0)=MeshEmitter0
Begin Object Class=MeshEmitter Name=MeshEmitter2 Begin Object Class=MeshEmitter Name=MeshEmitter2
StaticMesh=StaticMesh'HTec_A.IceChunk2' StaticMesh=StaticMesh'HTec_A.IceChunk2'
@ -52,7 +55,7 @@ defaultproperties
InitialParticlesPerSecond=10000.000000 InitialParticlesPerSecond=10000.000000
StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-100.000000,Max=500.000000)) StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-100.000000,Max=500.000000))
End Object End Object
Emitters(1)=MeshEmitter'NicePack.NiceIceChunkEmitter.MeshEmitter2' Emitters(1)=MeshEmitter2
Begin Object Class=MeshEmitter Name=MeshEmitter3 Begin Object Class=MeshEmitter Name=MeshEmitter3
StaticMesh=StaticMesh'HTec_A.IceChunk3' StaticMesh=StaticMesh'HTec_A.IceChunk3'
@ -75,7 +78,7 @@ defaultproperties
InitialParticlesPerSecond=10000.000000 InitialParticlesPerSecond=10000.000000
StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-100.000000,Max=500.000000)) StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-100.000000,Max=500.000000))
End Object End Object
Emitters(2)=MeshEmitter'NicePack.NiceIceChunkEmitter.MeshEmitter3' Emitters(2)=MeshEmitter3
Begin Object Class=SpriteEmitter Name=SpriteEmitter8 Begin Object Class=SpriteEmitter Name=SpriteEmitter8
UseCollision=True UseCollision=True
@ -103,7 +106,7 @@ defaultproperties
LifetimeRange=(Min=1.400000,Max=1.400000) LifetimeRange=(Min=1.400000,Max=1.400000)
StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-300.000000,Max=350.000000)) StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-300.000000,Max=350.000000))
End Object End Object
Emitters(3)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter8' Emitters(3)=SpriteEmitter8
Begin Object Class=SpriteEmitter Name=SpriteEmitter9 Begin Object Class=SpriteEmitter Name=SpriteEmitter9
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -139,7 +142,7 @@ defaultproperties
LifetimeRange=(Min=0.750000,Max=0.750000) LifetimeRange=(Min=0.750000,Max=0.750000)
StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-25.000000,Max=300.000000)) StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-25.000000,Max=300.000000))
End Object End Object
Emitters(4)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter9' Emitters(4)=SpriteEmitter9
Begin Object Class=SpriteEmitter Name=SpriteEmitter10 Begin Object Class=SpriteEmitter Name=SpriteEmitter10
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -171,7 +174,7 @@ defaultproperties
TextureVSubdivisions=8 TextureVSubdivisions=8
LifetimeRange=(Min=0.350000,Max=0.350000) LifetimeRange=(Min=0.350000,Max=0.350000)
End Object End Object
Emitters(5)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter10' Emitters(5)=SpriteEmitter10
Begin Object Class=SpriteEmitter Name=SpriteEmitter11 Begin Object Class=SpriteEmitter Name=SpriteEmitter11
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -203,7 +206,7 @@ defaultproperties
TextureVSubdivisions=8 TextureVSubdivisions=8
LifetimeRange=(Min=0.350000,Max=0.350000) LifetimeRange=(Min=0.350000,Max=0.350000)
End Object End Object
Emitters(6)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter11' Emitters(6)=SpriteEmitter11
Begin Object Class=SpriteEmitter Name=SpriteEmitter12 Begin Object Class=SpriteEmitter Name=SpriteEmitter12
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -236,7 +239,7 @@ defaultproperties
TextureVSubdivisions=8 TextureVSubdivisions=8
LifetimeRange=(Min=0.350000,Max=0.350000) LifetimeRange=(Min=0.350000,Max=0.350000)
End Object End Object
Emitters(7)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter12' Emitters(7)=SpriteEmitter12
Begin Object Class=SpriteEmitter Name=SpriteEmitter13 Begin Object Class=SpriteEmitter Name=SpriteEmitter13
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -272,7 +275,7 @@ defaultproperties
LifetimeRange=(Min=0.750000,Max=0.750000) LifetimeRange=(Min=0.750000,Max=0.750000)
StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-5.000000,Max=150.000000)) StartVelocityRange=(X=(Min=-150.000000,Max=150.000000),Y=(Min=-150.000000,Max=150.000000),Z=(Min=-5.000000,Max=150.000000))
End Object End Object
Emitters(8)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter13' Emitters(8)=SpriteEmitter13
Begin Object Class=SpriteEmitter Name=SpriteEmitter14 Begin Object Class=SpriteEmitter Name=SpriteEmitter14
ProjectionNormal=(Y=1.000000,Z=0.000000) ProjectionNormal=(Y=1.000000,Z=0.000000)
@ -308,7 +311,7 @@ defaultproperties
StartVelocityRange=(X=(Min=-350.000000,Max=350.000000),Y=(Min=-350.000000,Max=350.000000),Z=(Min=-5.000000,Max=50.000000)) StartVelocityRange=(X=(Min=-350.000000,Max=350.000000),Y=(Min=-350.000000,Max=350.000000),Z=(Min=-5.000000,Max=50.000000))
VelocityLossRange=(X=(Min=3.000000,Max=3.000000),Y=(Min=3.000000,Max=3.000000)) VelocityLossRange=(X=(Min=3.000000,Max=3.000000),Y=(Min=3.000000,Max=3.000000))
End Object End Object
Emitters(9)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter14' Emitters(9)=SpriteEmitter14
Begin Object Class=SpriteEmitter Name=SpriteEmitter15 Begin Object Class=SpriteEmitter Name=SpriteEmitter15
UseCollision=True UseCollision=True
@ -336,7 +339,7 @@ defaultproperties
LifetimeRange=(Min=1.400000,Max=1.400000) LifetimeRange=(Min=1.400000,Max=1.400000)
StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-300.000000,Max=350.000000)) StartVelocityRange=(X=(Min=-200.000000,Max=200.000000),Y=(Min=-200.000000,Max=200.000000),Z=(Min=-300.000000,Max=350.000000))
End Object End Object
Emitters(10)=SpriteEmitter'NicePack.NiceIceChunkEmitter.SpriteEmitter15' Emitters(10)=SpriteEmitter15
AutoDestroy=True AutoDestroy=True
bNoDelete=False bNoDelete=False

View File

@ -31,7 +31,7 @@ defaultproperties
StartVelocityRange=(X=(Min=-85.000000,Max=85.000000),Y=(Min=-85.000000,Max=85.000000)) StartVelocityRange=(X=(Min=-85.000000,Max=85.000000),Y=(Min=-85.000000,Max=85.000000))
StartVelocityRadialRange=(Min=-40.000000,Max=40.000000) StartVelocityRadialRange=(Min=-40.000000,Max=40.000000)
End Object End Object
Emitters(0)=SpriteEmitter'NicePack.NiceNitroGroundEffect.SpriteEmitter0' Emitters(0)=SpriteEmitter0
LifeSpan=5.000000 LifeSpan=5.000000
} }

View File

@ -181,7 +181,7 @@ defaultproperties
WinWidth=0.332300 WinWidth=0.332300
WinHeight=0.100000 WinHeight=0.100000
End Object End Object
HeaderBG_Left=GUIImage'NicePack.NiceGUIBuyMenu.HBGLeft' HeaderBG_Left=HBGLeft
Begin Object Class=GUIImage Name=HBGCenter Begin Object Class=GUIImage Name=HBGCenter
Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border' Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border'
@ -192,7 +192,7 @@ defaultproperties
WinWidth=0.331023 WinWidth=0.331023
WinHeight=0.100000 WinHeight=0.100000
End Object End Object
HeaderBG_Center=GUIImage'NicePack.NiceGUIBuyMenu.HBGCenter' HeaderBG_Center=HBGCenter
Begin Object Class=GUIImage Name=HBGRight Begin Object Class=GUIImage Name=HBGRight
Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border' Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border'
@ -203,7 +203,7 @@ defaultproperties
WinWidth=0.332000 WinWidth=0.332000
WinHeight=0.100000 WinHeight=0.100000
End Object End Object
HeaderBG_Right=GUIImage'NicePack.NiceGUIBuyMenu.HBGRight' HeaderBG_Right=HBGRight
Begin Object Class=GUILabel Name=Perk Begin Object Class=GUILabel Name=Perk
TextAlign=TXTA_Center TextAlign=TXTA_Center
@ -213,7 +213,7 @@ defaultproperties
WinWidth=0.329761 WinWidth=0.329761
WinHeight=0.050000 WinHeight=0.050000
End Object End Object
CurrentPerkLabel=GUILabel'NicePack.NiceGUIBuyMenu.Perk' CurrentPerkLabel=Perk
Begin Object Class=GUILabel Name=Time Begin Object Class=GUILabel Name=Time
Caption="Trader closes in 00:31" Caption="Trader closes in 00:31"
@ -225,7 +225,7 @@ defaultproperties
WinWidth=0.330000 WinWidth=0.330000
WinHeight=0.035000 WinHeight=0.035000
End Object End Object
TimeLeftLabel=GUILabel'NicePack.NiceGUIBuyMenu.Time' TimeLeftLabel=Time
Begin Object Class=GUILabel Name=Wave Begin Object Class=GUILabel Name=Wave
Caption="Wave: 7/10" Caption="Wave: 7/10"
@ -236,7 +236,7 @@ defaultproperties
WinWidth=0.327071 WinWidth=0.327071
WinHeight=0.035000 WinHeight=0.035000
End Object End Object
WaveLabel=GUILabel'NicePack.NiceGUIBuyMenu.Wave' WaveLabel=Wave
Begin Object Class=GUILabel Name=HBGLL Begin Object Class=GUILabel Name=HBGLL
Caption="Quick Perk Select" Caption="Quick Perk Select"
@ -248,7 +248,7 @@ defaultproperties
WinWidth=0.329761 WinWidth=0.329761
WinHeight=0.019524 WinHeight=0.019524
End Object End Object
HeaderBG_Left_Label=GUILabel'NicePack.NiceGUIBuyMenu.HBGLL' HeaderBG_Left_Label=HBGLL
Begin Object Class=KFQuickPerkSelect Name=QS Begin Object Class=KFQuickPerkSelect Name=QS
WinTop=0.011906 WinTop=0.011906
@ -257,7 +257,7 @@ defaultproperties
WinHeight=0.082460 WinHeight=0.082460
OnDraw=QS.MyOnDraw OnDraw=QS.MyOnDraw
End Object End Object
QuickPerkSelect=KFQuickPerkSelect'NicePack.NiceGUIBuyMenu.QS' QuickPerkSelect=QS
Begin Object Class=KFBuyMenuFilter Name=filter Begin Object Class=KFBuyMenuFilter Name=filter
WinTop=0.051000 WinTop=0.051000
@ -266,7 +266,7 @@ defaultproperties
WinHeight=0.082460 WinHeight=0.082460
OnDraw=filter.MyOnDraw OnDraw=filter.MyOnDraw
End Object End Object
BuyMenuFilter=KFBuyMenuFilter'NicePack.NiceGUIBuyMenu.filter' BuyMenuFilter=filter
Begin Object Class=GUIButton Name=StoreTabB Begin Object Class=GUIButton Name=StoreTabB
Caption="Store" Caption="Store"
@ -278,7 +278,7 @@ defaultproperties
OnClick=NiceGUIBuyMenu.ButtonClicked OnClick=NiceGUIBuyMenu.ButtonClicked
OnKeyEvent=StoreTabB.InternalOnKeyEvent OnKeyEvent=StoreTabB.InternalOnKeyEvent
End Object End Object
StoreTabButton=GUIButton'NicePack.NiceGUIBuyMenu.StoreTabB' StoreTabButton=StoreTabB
Begin Object Class=GUIButton Name=PerkTabB Begin Object Class=GUIButton Name=PerkTabB
Caption="Perk" Caption="Perk"
@ -290,7 +290,7 @@ defaultproperties
OnClick=NiceGUIBuyMenu.ButtonClicked OnClick=NiceGUIBuyMenu.ButtonClicked
OnKeyEvent=PerkTabB.InternalOnKeyEvent OnKeyEvent=PerkTabB.InternalOnKeyEvent
End Object End Object
PerkTabButton=GUIButton'NicePack.NiceGUIBuyMenu.PerkTabB' PerkTabButton=PerkTabB
Begin Object Class=GUIImage Name=Weight Begin Object Class=GUIImage Name=Weight
Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border' Image=Texture'KF_InterfaceArt_tex.Menu.Thin_border'
@ -300,7 +300,7 @@ defaultproperties
WinWidth=0.663086 WinWidth=0.663086
WinHeight=0.065828 WinHeight=0.065828
End Object End Object
WeightBG=GUIImage'NicePack.NiceGUIBuyMenu.Weight' WeightBG=Weight
Begin Object Class=GUIImage Name=WeightIco Begin Object Class=GUIImage Name=WeightIco
Image=Texture'KillingFloorHUD.HUD.Hud_Weight' Image=Texture'KillingFloorHUD.HUD.Hud_Weight'
@ -311,7 +311,7 @@ defaultproperties
WinHeight=0.048992 WinHeight=0.048992
RenderWeight=0.460000 RenderWeight=0.460000
End Object End Object
WeightIcon=GUIImage'NicePack.NiceGUIBuyMenu.WeightIco' WeightIcon=WeightIco
Begin Object Class=GUIImage Name=WeightIcoBG Begin Object Class=GUIImage Name=WeightIcoBG
Image=Texture'KF_InterfaceArt_tex.Menu.Perk_box_unselected' Image=Texture'KF_InterfaceArt_tex.Menu.Perk_box_unselected'
@ -322,7 +322,7 @@ defaultproperties
WinHeight=0.054461 WinHeight=0.054461
RenderWeight=0.450000 RenderWeight=0.450000
End Object End Object
WeightIconBG=GUIImage'NicePack.NiceGUIBuyMenu.WeightIcoBG' WeightIconBG=WeightIcoBG
Begin Object Class=KFWeightBar Name=WeightB Begin Object Class=KFWeightBar Name=WeightB
WinTop=0.945302 WinTop=0.945302
@ -331,7 +331,7 @@ defaultproperties
WinHeight=0.053896 WinHeight=0.053896
OnDraw=WeightB.MyOnDraw OnDraw=WeightB.MyOnDraw
End Object End Object
WeightBar=KFWeightBar'NicePack.NiceGUIBuyMenu.WeightB' WeightBar=WeightB
RedColor=(R=255,A=255) RedColor=(R=255,A=255)
GreenGreyColor=(B=158,G=176,R=175,A=255) GreenGreyColor=(B=158,G=176,R=175,A=255)
@ -340,6 +340,7 @@ defaultproperties
TraderClose="Trader Closes in" TraderClose="Trader Closes in"
WaveString="Wave" WaveString="Wave"
LvAbbrString="Lv" LvAbbrString="Lv"
Begin Object Class=GUITabControl Name=PageTabs Begin Object Class=GUITabControl Name=PageTabs
bDockPanels=True bDockPanels=True
TabHeight=0.025000 TabHeight=0.025000
@ -354,7 +355,7 @@ defaultproperties
OnActivate=PageTabs.InternalOnActivate OnActivate=PageTabs.InternalOnActivate
OnChange=NiceGUIBuyMenu.InternalOnChange OnChange=NiceGUIBuyMenu.InternalOnChange
End Object End Object
c_Tabs=GUITabControl'NicePack.NiceGUIBuyMenu.PageTabs' c_Tabs=PageTabs
Begin Object Class=BackgroundImage Name=PageBackground Begin Object Class=BackgroundImage Name=PageBackground
Image=Texture'Engine.WhiteSquareTexture' Image=Texture'Engine.WhiteSquareTexture'
@ -362,7 +363,7 @@ defaultproperties
ImageStyle=ISTY_Tiled ImageStyle=ISTY_Tiled
RenderWeight=0.001000 RenderWeight=0.001000
End Object End Object
i_Background=BackgroundImage'NicePack.NiceGUIBuyMenu.PageBackground' i_Background=PageBackground
PanelClass(0)="KFGUI.KFTab_BuyMenu" PanelClass(0)="KFGUI.KFTab_BuyMenu"
PanelClass(1)="KFGUI.KFTab_Perks" PanelClass(1)="KFGUI.KFTab_Perks"

View File

@ -112,7 +112,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_WeapManagement=moCheckBox'NicePack.NiceGUISettings.WeaponManagement' ch_WeapManagement=WeaponManagement
Begin Object Class=moCheckBox Name=AltSwitches Begin Object Class=moCheckBox Name=AltSwitches
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -128,7 +128,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_AltSwitches=moCheckBox'NicePack.NiceGUISettings.AltSwitches' ch_AltSwitches=AltSwitches
Begin Object Class=moCheckBox Name=DispCounters Begin Object Class=moCheckBox Name=DispCounters
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -144,7 +144,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_DispCounters=moCheckBox'NicePack.NiceGUISettings.DispCounters' ch_DispCounters=DispCounters
Begin Object Class=moCheckBox Name=DispWeapProgress Begin Object Class=moCheckBox Name=DispWeapProgress
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -160,7 +160,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_DisWeapProgress=moCheckBox'NicePack.NiceGUISettings.DispWeapProgress' ch_DisWeapProgress=DispWeapProgress
Begin Object Class=moCheckBox Name=ShowHLMessages Begin Object Class=moCheckBox Name=ShowHLMessages
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -176,7 +176,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_ShowHLMessages=moCheckBox'NicePack.NiceGUISettings.ShowHLMessages' ch_ShowHLMessages=ShowHLMessages
Begin Object Class=moCheckBox Name=CancelFire Begin Object Class=moCheckBox Name=CancelFire
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -192,7 +192,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_CancelFire=moCheckBox'NicePack.NiceGUISettings.CancelFire' ch_CancelFire=CancelFire
Begin Object Class=moCheckBox Name=CancelSwitching Begin Object Class=moCheckBox Name=CancelSwitching
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -208,7 +208,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_CancelSwitching=moCheckBox'NicePack.NiceGUISettings.CancelSwitching' ch_CancelSwitching=CancelSwitching
Begin Object Class=moCheckBox Name=CancelNades Begin Object Class=moCheckBox Name=CancelNades
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -224,7 +224,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_CancelNades=moCheckBox'NicePack.NiceGUISettings.CancelNades' ch_CancelNades=CancelNades
Begin Object Class=moCheckBox Name=CancelAiming Begin Object Class=moCheckBox Name=CancelAiming
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -240,7 +240,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_CancelAiming=moCheckBox'NicePack.NiceGUISettings.CancelAiming' ch_CancelAiming=CancelAiming
Begin Object Class=moCheckBox Name=ServerReload Begin Object Class=moCheckBox Name=ServerReload
CaptionWidth=0.955000 CaptionWidth=0.955000
@ -256,7 +256,7 @@ defaultproperties
OnChange=NiceGUISettings.InternalOnChange OnChange=NiceGUISettings.InternalOnChange
OnLoadINI=NiceGUISettings.InternalOnLoadINI OnLoadINI=NiceGUISettings.InternalOnLoadINI
End Object End Object
ch_ReloadWontWork=moCheckBox'NicePack.NiceGUISettings.ServerReload' ch_ReloadWontWork=ServerReload
Begin Object Class=GUISectionBackground Name=WEAPBG Begin Object Class=GUISectionBackground Name=WEAPBG
Caption="General weapon settings" Caption="General weapon settings"
@ -266,7 +266,7 @@ defaultproperties
RenderWeight=0.100100 RenderWeight=0.100100
OnPreDraw=WeaponsBG.InternalPreDraw OnPreDraw=WeaponsBG.InternalPreDraw
End Object End Object
bg_WEAP=GUISectionBackground'NicePack.NiceGUISettings.WEAPBG' bg_WEAP=WEAPBG
Begin Object Class=GUISectionBackground Name=RELOADBG Begin Object Class=GUISectionBackground Name=RELOADBG
Caption="Weapon reload settings" Caption="Weapon reload settings"
@ -277,5 +277,5 @@ defaultproperties
RenderWeight=0.100100 RenderWeight=0.100100
OnPreDraw=WeaponsBG.InternalPreDraw OnPreDraw=WeaponsBG.InternalPreDraw
End Object End Object
bg_RELOAD=GUISectionBackground'NicePack.NiceGUISettings.RELOADBG' bg_RELOAD=RELOADBG
} }

View File

@ -9,7 +9,7 @@ function InitComponent(GUIController MyController, GUIComponent MyOwner){
local int indexAfterScrn; local int indexAfterScrn;
// Setup panel classes. // Setup panel classes.
Panels[0].ClassName = string(Class'ScrnBalanceSrv.ScrnTab_MidGamePerks'); Panels[0].ClassName = string(Class'ScrnBalanceSrv.ScrnTab_MidGamePerks');
Panels[1].ClassName = string(Class'NicePack.NicePanelSkills'); Panels[1].ClassName = string(class'NicePanelSkills');
Panels[2].ClassName = string(Class'SRTab_MidGameVoiceChat'); Panels[2].ClassName = string(Class'SRTab_MidGameVoiceChat');
Panels[3].ClassName = string(Class'SRTab_MidGameStats'); Panels[3].ClassName = string(Class'SRTab_MidGameStats');
Panels[0].Caption = Class'KFInvasionLoginMenu'.Default.Panels[1].Caption; Panels[0].Caption = Class'KFInvasionLoginMenu'.Default.Panels[1].Caption;
@ -39,7 +39,7 @@ function InitComponent(GUIController MyController, GUIComponent MyOwner){
} }
else else
indexAfterScrn = 5; indexAfterScrn = 5;
Panels[indexAfterScrn].ClassName = "NicePack.NiceGUISettings"; Panels[indexAfterScrn].ClassName = string(class'NiceGUISettings');
Panels[indexAfterScrn].Caption = "Nice settings"; Panels[indexAfterScrn].Caption = "Nice settings";
Panels[indexAfterScrn].Hint = "Settings specific to NicePack mutator"; Panels[indexAfterScrn].Hint = "Settings specific to NicePack mutator";
Panels.Length = indexAfterScrn + 1; Panels.Length = indexAfterScrn + 1;

View File

@ -0,0 +1,21 @@
class NiceLobbyChat extends KFLobbyChat;
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
Super(PopupPageBase).InitComponent( MyController, MyOwner );
TextColor[0] = class'SayMessagePlus'.default.RedTeamColor;
TextColor[1] = class'SayMessagePlus'.default.BlueTeamColor;
TextColor[2] = class'SayMessagePlus'.default.DrawColor;
eb_Send.MyEditBox.OnKeyEvent = InternalOnKeyEvent;
lb_Chat.MyScrollText.bNeverFocus=true;
}
function bool NotifyLevelChange() // Don't keep this one around...
{
bPersistent = false;
return true;
}
defaultproperties{}

View File

@ -1,12 +1,868 @@
class NiceLobbyMenu extends ScrnLobbyMenu; // base class, not vanilla
class NiceLobbyMenu extends UT2k4MainPage;
// some constants
const MaxPlayersOnList=18;
// RIGHT part lables
var private string str_Beginner, str_Normal, str_Hard, str_Sui, str_HOE;
var private string str_CurrentMap, str_Difficulty, str_ServerName;
var private string SelectPerkInformationString, PerksDisabledString;
// LEFT part labels
var private string str_LvlAbbr;
var private string WaitingForServerStatus, WaitingForOtherPlayers, AutoCommence;
// player name-perk-ready boxes
struct FPlayerBoxEntry
{
var moCheckBox ReadyBox;
var KFPlayerReadyBar PlayerBox;
var GUIImage PlayerPerk;
var GUILabel PlayerVetLabel;
var bool bIsEmpty;
};
var array<FPlayerBoxEntry> PlayerBoxes;
var bool bShowProfilePage;
// swapped class
var automated KFLobbyChat t_ChatBox;
// diffculty / map name label
var automated AltSectionBackground GameInfoBG;
var automated GUILabel CurrentMapLabel;
var automated GUILabel DifficultyLabel;
var automated GUILabel ServerNameLabel;
// circle and current wave label
var automated GUIImage WaveBG;
var automated GUILabel WaveLabel;
var automated GUILabel label_TimeOutCounter;
var automated GUILabel PerkClickLabel;
var bool bAllowClose;
// Perks / Profile
var() string sChar, sCharD;
var() xUtil.PlayerRecord PlayerRec;
var automated GUISectionBackground i_BGPerk;
var automated GUISectionBackground i_BGPerkEffects;
var automated GUIScrollTextBox lb_PerkEffects;
var automated GUIImage i_Portrait;
var automated GUISectionBackground PlayerPortraitBG;
var float IconBorder; // Percent of Height to leave blank inside Icon Background
var float ItemBorder; // Percent of Height to leave blank inside Item Background
var float ItemSpacing; // Number of Pixels between Items
var float ProgressBarHeight; // Percent of Height to make Progress Bar's Height
var float TextTopOffset; // Percent of Height to off Progress String from top of Progress Bar(typically negative)
var float IconToInfoSpacing; // Percent of Width to offset Info from right side of Icon
//var bool bAdminUse; // If you're not an admin, gtfo!
var int ActivateTimeoutTime; // When was the lobby timeout turned on?
var bool bTimeoutTimeLogged; // Was it already logged once?
var bool bTimedOut; // Have we timed out out successfully?
var bool bShouldUpdateVeterancy;
var class<KFVeterancyTypes> CurrentVeterancy;
var int CurrentVeterancyLevel;
function InitComponent(GUIController MyC, GUIComponent MyO)
{
super(UT2k4MainPage).InitComponent(MyC, MyO);
i_Portrait.WinTop = PlayerPortraitBG.ActualTop() + 30;
i_Portrait.WinHeight = PlayerPortraitBG.ActualHeight() - 36;
t_ChatBox.FocusInstead = PerkClickLabel;
}
// Called when the Menu Owner is opened
event Opened(GUIComponent Sender)
{
bShouldUpdateVeterancy = true;
// disable some shit for story mode
if (PlayerOwner().GameReplicationInfo.IsA('KF_StoryGRI'))
{
// disable background
WaveBG.Image = none;
WaveBG.DisableMe();
// disable waves text
WaveLabel.Caption = "";
WaveLabel.Hide();
}
SetTimer(1, true);
}
// if we don't reset persistence, playerboxes will continue to pile
function bool NotifyLevelChange()
{
bPersistent = false;
bAllowClose = true;
Controller.CloseMenu(true);
return true;
}
function bool InternalOnKeyEvent(out byte Key, out byte State, float delta)
{
local int i;
local bool bVoiceChatKey;
local array<string> BindKeyNames, LocalizedBindKeyNames;
Controller.GetAssignedKeys("VoiceTalk", BindKeyNames, LocalizedBindKeyNames);
for (i = 0; i < BindKeyNames.Length; i++)
{
if (Mid(GetEnum(enum'EInputKey', Key), 3) ~= BindKeyNames[i])
{
bVoiceChatKey = true;
break;
}
}
if (bVoiceChatKey)
{
if (state == 1 || state == 2)
{
if (PlayerOwner() != none)
{
PlayerOwner().bVoiceTalk = 1;
}
}
else
{
if (PlayerOwner() != none)
{
PlayerOwner().bVoiceTalk = 0;
return false;
}
}
return true;
}
return false;
}
function TimedOut()
{
bTimedOut = true;
PlayerOwner().ServerRestartPlayer();
bAllowClose = true;
}
function bool InternalOnPreDraw(Canvas C)
{
local int i, j;
local string StoryString;
local String SkillString;
local KFGameReplicationInfo KFGRI;
local PlayerController PC;
PC = PlayerOwner();
if (PC == none || PC.Level == none) // Error?
return false;
if ((PC.PlayerReplicationInfo != none && (!PC.PlayerReplicationInfo.bWaitingPlayer || PC.PlayerReplicationInfo.bOnlySpectator)) || PC.Outer.Name == 'Entry')
{
bAllowClose = true;
PC.ClientCloseMenu(true,false);
return false;
}
t_Footer.InternalOnPreDraw(C);
KFGRI = KFGameReplicationInfo(PC.GameReplicationInfo);
if (KFGRI != none)
{
WaveLabel.Caption = string(KFGRI.WaveNumber + 1) $ "/" $ string(KFGRI.FinalWave);
}
else
{
WaveLabel.Caption = "?/?";
return false;
}
C.DrawColor.A = 255;
// CHECK ME LATER
if (KFPlayerController(PC) != none && bShouldUpdateVeterancy)
{
if (KFPlayerController(PC).SelectedVeterancy == none)
{
bShowProfilePage = true;
if (PC.SteamStatsAndAchievements == none)
{
if (PC.Level.NetMode != NM_Client)
{
PC.SteamStatsAndAchievements = PC.Spawn(PC.default.SteamStatsAndAchievementsClass, PC);
if (!PC.SteamStatsAndAchievements.Initialize(PC))
{
Controller.OpenMenu(Controller.QuestionMenuClass);
GUIQuestionPage(Controller.TopPage()).SetupQuestion(class'KFMainMenu'.default.UnknownSteamErrorText, QBTN_Ok, QBTN_Ok);
PC.SteamStatsAndAchievements.Destroy();
PC.SteamStatsAndAchievements = none;
}
else
{
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
}
}
bShowProfilePage = false;
}
else if (!PC.SteamStatsAndAchievements.bInitialized)
{
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
bShowProfilePage = false;
}
if (KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements) != none)
{
for (i = 0; i < class'KFGameType'.default.LoadedSkills.Length; i++)
{
if (KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements).GetPerkProgress(i) < 0.0)
{
PC.SteamStatsAndAchievements.OnDataInitialized = OnSteamStatsAndAchievementsReady;
PC.SteamStatsAndAchievements.GetStatsAndAchievements();
bShowProfilePage = false;
}
}
}
if (bShowProfilePage)
{
OnSteamStatsAndAchievementsReady();
}
bShouldUpdateVeterancy = false;
}
else if (PC.SteamStatsAndAchievements != none && PC.SteamStatsAndAchievements.bInitialized)
{
KFPlayerController(PC).SendSelectedVeterancyToServer();
bShouldUpdateVeterancy = false;
}
}
// First fill in non-ready players.
for (i = 0; i < KFGRI.PRIArray.Length; i++)
{
if (!bValidPRI(KFGRI.PRIArray[i]) || KFGRI.PRIArray[i].bReadyToPlay)
continue;
// start from 0
AddPlayer(KFPlayerReplicationInfo(KFGRI.PRIArray[i]), j, C);
if (++j >= MaxPlayersOnList)
GoTo'DoneIt';
}
// Then comes rest.
for (i = 0; i < KFGRI.PRIArray.Length; i++)
{
if (!bValidPRI(KFGRI.PRIArray[i]) || !KFGRI.PRIArray[i].bReadyToPlay)
continue;
if (KFGRI.PRIArray[i].bReadyToPlay)
{
if (!bTimeoutTimeLogged)
{
ActivateTimeoutTime = PC.Level.TimeSeconds;
bTimeoutTimeLogged = true;
}
}
// continue from last idx
AddPlayer(KFPlayerReplicationInfo(KFGRI.PRIArray[i]), j, C);
if (++j >= MaxPlayersOnList)
GoTo'DoneIt';
}
if (j < MaxPlayersOnList)
EmptyPlayers(j);
DoneIt:
StoryString = PC.Level.Description;
if (KFGRI.BaseDifficulty <= 1)
SkillString = str_Beginner;
else if (KFGRI.BaseDifficulty <= 2)
SkillString = str_Normal;
else if (KFGRI.BaseDifficulty <= 4)
SkillString = str_Hard;
else if (KFGRI.BaseDifficulty <= 5)
SkillString = str_Sui;
else
SkillString = str_HOE;
CurrentMapLabel.Caption = str_CurrentMap @ PC.Level.Title;
DifficultyLabel.Caption = str_Difficulty @ SkillString;
// UT2K4PlayerLoginMenu copy-cat
if (PC.Level.NetMode == NM_StandAlone || PC.GameReplicationInfo == None || PC.GameReplicationInfo.ServerName == "")
ServerNameLabel.Caption = str_ServerName @ "SOLO MODE ACTIVE!";
else
ServerNameLabel.Caption = str_ServerName @ PC.GameReplicationInfo.ServerName;
return false;
}
// filter none, spectators, non-KFPRI ones
final private function bool bValidPRI(PlayerReplicationInfo PRI)
{
if (PRI == none || PRI.bOnlySpectator || KFPlayerReplicationInfo(PRI) == none)
return false;
else
return true;
}
final private function AddPlayer(KFPlayerReplicationInfo PRI, int Index, Canvas C)
{
local float Top;
local Material M;
local ScrnBalance Mut;
local String PlayerName;
if (Index >= PlayerBoxes.Length)
{
Top = Index * 0.045;
PlayerBoxes.Length = Index + 1;
// create GUIComponents and set defaults
PlayerBoxes[Index].ReadyBox = new (none) Class'moCheckBox';
PlayerBoxes[Index].ReadyBox.bValueReadOnly = true;
PlayerBoxes[Index].ReadyBox.ComponentJustification = TXTA_Left;
PlayerBoxes[Index].ReadyBox.CaptionWidth = 0.82;
PlayerBoxes[Index].ReadyBox.LabelColor.B = 0;
PlayerBoxes[Index].ReadyBox.WinTop = 0.0475+Top;
PlayerBoxes[Index].ReadyBox.WinLeft = 0.075;
PlayerBoxes[Index].ReadyBox.WinWidth = 0.4;
PlayerBoxes[Index].ReadyBox.WinHeight = 0.045;
PlayerBoxes[Index].ReadyBox.RenderWeight = 0.55;
PlayerBoxes[Index].ReadyBox.bAcceptsInput = false;
PlayerBoxes[Index].PlayerBox = new (none) Class'KFPlayerReadyBar';
PlayerBoxes[Index].PlayerBox.WinTop = 0.04+Top;
PlayerBoxes[Index].PlayerBox.WinLeft = 0.04;
PlayerBoxes[Index].PlayerBox.WinWidth = 0.35;
PlayerBoxes[Index].PlayerBox.WinHeight = 0.045;
PlayerBoxes[Index].PlayerBox.RenderWeight = 0.35;
PlayerBoxes[Index].PlayerPerk = new (none) Class'GUIImage';
PlayerBoxes[Index].PlayerPerk.ImageStyle = ISTY_Justified;
PlayerBoxes[Index].PlayerPerk.WinTop = 0.043+Top;
PlayerBoxes[Index].PlayerPerk.WinLeft = 0.0418;
PlayerBoxes[Index].PlayerPerk.WinWidth = 0.039;
PlayerBoxes[Index].PlayerPerk.WinHeight = 0.039;
PlayerBoxes[Index].PlayerPerk.RenderWeight = 0.56;
PlayerBoxes[Index].PlayerVetLabel = new (none) Class'GUILabel';
PlayerBoxes[Index].PlayerVetLabel.TextAlign = TXTA_Right;
PlayerBoxes[Index].PlayerVetLabel.TextColor = Class'Canvas'.Static.MakeColor(19,19,19);
PlayerBoxes[Index].PlayerVetLabel.TextFont = "UT2SmallFont";
PlayerBoxes[Index].PlayerVetLabel.WinTop = 0.04+Top;
PlayerBoxes[Index].PlayerVetLabel.WinLeft = 0.22907;
PlayerBoxes[Index].PlayerVetLabel.WinWidth = 0.151172;
PlayerBoxes[Index].PlayerVetLabel.WinHeight = 0.045;
PlayerBoxes[Index].PlayerVetLabel.RenderWeight = 0.5;
// finally add the GUIComponents
AppendComponent(PlayerBoxes[Index].ReadyBox, true);
AppendComponent(PlayerBoxes[Index].PlayerBox, true);
AppendComponent(PlayerBoxes[Index].PlayerPerk, true);
AppendComponent(PlayerBoxes[Index].PlayerVetLabel, true);
Top = (PlayerBoxes[Index].PlayerBox.WinTop + PlayerBoxes[Index].PlayerBox.WinHeight);
}
PlayerBoxes[Index].ReadyBox.Checked(PRI.bReadyToPlay);
Mut = class'ScrnBalance'.default.Mut;
if ( Mut != none )
PlayerName = Mut.LeftCol(Mut.ColoredPlayerName(PRI), 20);
else
PlayerName = Left(PRI.PlayerName, 20);
PlayerBoxes[Index].ReadyBox.SetCaption(" "$PlayerName);
if (PRI.ClientVeteranSkill != none)
{
PlayerBoxes[Index].PlayerVetLabel.Caption = str_LvlAbbr @ PRI.ClientVeteranSkillLevel @ PRI.ClientVeteranSkill.default.VeterancyName;
if (Class<SRVeterancyTypes>(PRI.ClientVeteranSkill) != None)
{
Class<SRVeterancyTypes>(PRI.ClientVeteranSkill).Static.PreDrawPerk(C,PRI.ClientVeteranSkillLevel,PlayerBoxes[Index].PlayerPerk.Image,M);
PlayerBoxes[Index].PlayerPerk.ImageColor = C.DrawColor;
}
else
{
PlayerBoxes[Index].PlayerPerk.Image = PRI.ClientVeteranSkill.default.OnHUDIcon;
PlayerBoxes[Index].PlayerPerk.ImageColor = Class'Canvas'.Static.MakeColor(255,255,255);
}
}
else
{
PlayerBoxes[Index].PlayerPerk.Image = None;
PlayerBoxes[Index].PlayerVetLabel.Caption = "";
}
PlayerBoxes[Index].bIsEmpty = false;
}
final private function EmptyPlayers(int Index)
{
local int i;
while (Index < PlayerBoxes.Length && !PlayerBoxes[Index].bIsEmpty)
{
PlayerBoxes[Index].ReadyBox.Checked(false);
PlayerBoxes[Index].PlayerPerk.Image = none;
PlayerBoxes[Index].PlayerVetLabel.Caption = "";
PlayerBoxes[Index].ReadyBox.SetCaption("");
PlayerBoxes[Index].bIsEmpty = true;
++Index;
}
for (i = 0; i < PlayerBoxes.Length; i++)
{
if (PlayerBoxes[i].bIsEmpty)
{
// remove GUIComponents
RemoveComponent(PlayerBoxes[i].ReadyBox, false);
RemoveComponent(PlayerBoxes[i].PlayerBox, false);
RemoveComponent(PlayerBoxes[i].PlayerPerk, false);
RemoveComponent(PlayerBoxes[i].PlayerVetLabel, false);
// remove refs
PlayerBoxes[i].ReadyBox = none;
PlayerBoxes[i].PlayerBox = none;
PlayerBoxes[i].PlayerPerk = none;
PlayerBoxes[i].PlayerVetLabel = none;
// remove from array
PlayerBoxes.remove(i, 1);
// everything works fine this way, do not log
// log(">>> NiceLobbyMenu: EmptyPlayers executed.");
}
}
}
function bool StopClose(optional bool bCancelled)
{
// clean chat box
t_ChatBox.lb_Chat.SetContent("");
// this is for the OnCanClose delegate
// can't close now unless done by call to CloseAll,
// or the bool has been set to true by LobbyFooter
return false;
}
function InternalOnClosed(bool bCancelled)
{
if (PlayerOwner() != none)
{
PlayerOwner().Advertising_ExitZone();
}
}
event Timer()
{
local KFGameReplicationInfo KF;
if (PlayerOwner().PlayerReplicationInfo == none)
return;
if (PlayerOwner().PlayerReplicationInfo.bOnlySpectator)
{
label_TimeOutCounter.caption = "You are a spectator.";
return;
}
KF = KFGameReplicationInfo(PlayerOwner().GameReplicationInfo);
if (KF == none)
{
label_TimeOutCounter.caption = WaitingForServerStatus;
}
else if (KF.LobbyTimeout <= 0)
{
label_TimeOutCounter.caption = WaitingForOtherPlayers;
}
else
{
label_TimeOutCounter.caption = AutoCommence $ KF.LobbyTimeout;
}
}
final private function DrawPerk(Canvas Canvas)
{
local float X, Y, Width, Height;
local int LevelIndex;
local float TempX, TempY;
local float TempWidth, TempHeight;
local float IconSize, ProgressBarWidth;
local string PerkName, PerkLevelString;
local KFPlayerReplicationInfo KFPRI;
local Material M, SM;
DrawPortrait();
KFPRI = KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo);
if (KFPRI == none || KFPRI.ClientVeteranSkill == None)
{
if (CurrentVeterancyLevel != 255)
{
CurrentVeterancyLevel = 255;
lb_PerkEffects.SetContent("None perk active");
}
return;
}
LevelIndex = KFPRI.ClientVeteranSkillLevel;
PerkName = KFPRI.ClientVeteranSkill.default.VeterancyName;
PerkLevelString = str_LvlAbbr @ LevelIndex;
//Get the position size etc in pixels
X = (i_BGPerk.WinLeft + 0.003) * Canvas.ClipX;
Y = (i_BGPerk.WinTop + 0.040) * Canvas.ClipY;
Width = (i_BGPerk.WinWidth - 0.006) * Canvas.ClipX;
Height = (i_BGPerk.WinHeight - 0.043) * Canvas.ClipY;
// Offset for the Background
TempX = X;
TempY = Y;
// Initialize the Canvas
Canvas.Style = 1;
Canvas.Font = class'ROHUD'.Static.GetSmallMenuFont(Canvas);
Canvas.SetDrawColor(255, 255, 255, 255);
// Draw Item Background
Canvas.SetPos(TempX, TempY);
// Offset and Calculate Icon's Size
TempX += ItemBorder * Height;
TempY += ItemBorder * Height;
IconSize = Height - (ItemBorder * 2.0 * Height);
// Draw Icon
Canvas.SetPos(TempX, TempY);
if( Class<SRVeterancyTypes>(KFPRI.ClientVeteranSkill)!=None )
Class<SRVeterancyTypes>(KFPRI.ClientVeteranSkill).Static.PreDrawPerk(Canvas,KFPRI.ClientVeteranSkillLevel,M,SM);
else M = KFPRI.ClientVeteranSkill.default.OnHUDIcon;
Canvas.DrawTile(M, IconSize, IconSize, 0, 0, M.MaterialUSize(), M.MaterialVSize());
TempX += IconSize + (IconToInfoSpacing * Width);
TempY += TextTopOffset * Height;
ProgressBarWidth = Width - (TempX - X) - (IconToInfoSpacing * Width);
// Select Text Color
Canvas.SetDrawColor(255, 255, 255, 255);
// Draw the Perk's Level name
Canvas.StrLen(PerkName, TempWidth, TempHeight);
Canvas.SetPos(TempX, TempY);
Canvas.DrawText(PerkName);
// Draw the Perk's Level
if (PerkLevelString != "")
{
Canvas.StrLen(PerkLevelString, TempWidth, TempHeight);
Canvas.SetPos(TempX + ProgressBarWidth - TempWidth, TempY);
Canvas.DrawText(PerkLevelString);
}
TempY += TempHeight + (0.01 * Height);
if (CurrentVeterancy != KFPRI.ClientVeteranSkill || CurrentVeterancyLevel != LevelIndex)
{
CurrentVeterancy = KFPRI.ClientVeteranSkill;
CurrentVeterancyLevel = LevelIndex;
lb_PerkEffects.SetContent(Class<SRVeterancyTypes>(KFPRI.ClientVeteranSkill).Static.GetVetInfoText(LevelIndex,1));
}
}
final private function DrawPortrait()
{
if (PlayerOwner().PlayerReplicationInfo != none)
sChar = PlayerOwner().PlayerReplicationInfo.CharacterName;
else
sChar = PlayerOwner().GetUrlOption("Character");
if (sCharD != sChar)
{
sCharD = sChar;
SetPlayerRec();
}
}
final private function SetPlayerRec()
{
PlayerRec = Class'xUtil'.Static.FindPlayerRecord(sChar);
i_Portrait.Image = PlayerRec.Portrait;
}
final private function bool ShowPerkMenu(GUIComponent Sender)
{
if (PlayerOwner() != none)
{
if (ScrnPlayerController(PlayerOwner()) != none )
PlayerOwner().ClientOpenMenu(ScrnPlayerController(PlayerOwner()).ProfilePageClassString, false);
else
PlayerOwner().ClientOpenMenu(string(class'ScrnProfilePage'), false);
}
return true;
}
final private function OnSteamStatsAndAchievementsReady()
{
Controller.OpenMenu("KFGUI.KFProfilePage");
Controller.OpenMenu(Controller.QuestionMenuClass);
GUIQuestionPage(Controller.TopPage()).SetupQuestion(SelectPerkInformationString, QBTN_Ok, QBTN_Ok);
}
//=============================================================================
// DEFAULTPROPERTIES
//=============================================================================
defaultproperties defaultproperties
{ {
str_Beginner="Beginner"
str_Normal="Normal"
str_Hard="Hard"
str_Sui="Suicidal"
str_HOE="Hell on Earth"
str_LvlAbbr="Lv"
str_CurrentMap="Current Map:"
str_Difficulty="Difficulty:"
str_ServerName="Server Name:"
SelectPerkInformationString="Perks enhance certain abilities of your character.|There are 6 Perks to choose from in the center of the screen.|Each has different Effects shown in the upper right.|Perks improve as you complete the Level Requirements shown on the right."
PerksDisabledString="Perk Progress has been disabled because the Game Length is set to Custom, Sandbox Mode is on, or you have previously used Cheats."
WaitingForServerStatus="Awaiting server status..."
WaitingForOtherPlayers="Waiting for players to be ready..."
AutoCommence="Game will auto-commence in: "
// replace LobbyChat
Begin Object Class=NiceLobbyChat Name=ChatBox
OnCreateComponent=ChatBox.InternalOnCreateComponent
TabOrder=1
RenderWeight=0.01
OnHover=ChatBox.FloatingHover
WinTop=0.80760
WinLeft=0.016090
WinWidth=0.971410
WinHeight=0.100000
ToolTip=none
End Object
t_ChatBox=ChatBox
// replace LobbyFooter
Begin Object Class=NiceLobbyFooter Name=BuyFooter Begin Object Class=NiceLobbyFooter Name=BuyFooter
RenderWeight=0.300000 RenderWeight=0.300000
TabOrder=8 TabOrder=8
bBoundToParent=False bBoundToParent=false
bScaleToParent=False bScaleToParent=false
OnPreDraw=BuyFooter.InternalOnPreDraw OnPreDraw=BuyFooter.InternalOnPreDraw
End Object End Object
t_Footer=NiceLobbyFooter'NicePack.NiceLobbyMenu.BuyFooter' t_Footer=BuyFooter
// RIGHT part, server name - map name - difficulty - waves
Begin Object Class=AltSectionBackground Name=GameInfoB
WinTop=0.037851
WinLeft=0.489062
WinWidth=0.487374
WinHeight=0.100000
OnPreDraw=GameInfoB.InternalPreDraw
End Object
GameInfoBG=GameInfoB
Begin Object Class=GUILabel Name=ServerNameL
Caption="tmp name"
TextColor=(B=158,G=176,R=175)
WinTop=0.042179
WinLeft=0.496524
WinWidth=0.360000
WinHeight=0.035714
RenderWeight=0.900000
End Object
ServerNameLabel=ServerNameL
Begin Object Class=GUILabel Name=CurrentMapL
Caption="tmp Map"
TextColor=(B=158,G=176,R=175)
WinTop=0.072381
WinLeft=0.496524
WinWidth=0.360000
WinHeight=0.035714
RenderWeight=0.900000
End Object
CurrentMapLabel=CurrentMapL
Begin Object Class=GUILabel Name=DifficultyL
Caption="tmp diff"
TextColor=(B=158,G=176,R=175)
WinTop=0.102583
WinLeft=0.496524
WinWidth=0.360000
WinHeight=0.035714
RenderWeight=0.900000
End Object
DifficultyLabel=DifficultyL
Begin Object Class=GUIImage Name=WaveB
Image=Texture'KillingFloorHUD.HUD.Hud_Bio_Circle'
ImageStyle=ISTY_Justified
ImageRenderStyle=MSTY_Normal
WinTop=0.043810
WinLeft=0.923238
WinWidth=0.051642
WinHeight=0.061783
RenderWeight=0.800000
End Object
WaveBG=WaveB
Begin Object Class=GUILabel Name=WaveL
Caption="1/4"
TextAlign=TXTA_Center
TextColor=(B=158,G=176,R=175)
VertAlign=TXTA_Center
FontScale=FNS_Small
WinTop=0.043810
WinLeft=0.923238
WinWidth=0.051642
WinHeight=0.061783
RenderWeight=0.900000
End Object
WaveLabel=WaveL
// LEFT part
Begin Object Class=GUILabel Name=TimeOutCounter
Caption="Game will auto-commence in: "
TextAlign=TXTA_Center
TextColor=(B=158,G=176,R=175)
WinTop=0.000010
WinLeft=0.059552
WinWidth=0.346719
WinHeight=0.045704
TabOrder=6
End Object
label_TimeOutCounter=TimeOutCounter
Begin Object Class=GUILabel Name=PerkClickArea
WinTop=0.432395
WinLeft=0.488851
WinWidth=0.444405
WinHeight=0.437312
bAcceptsInput=true
OnClickSound=CS_Click
OnClick=NiceLobbyMenu.ShowPerkMenu
End Object
PerkClickLabel=PerkClickArea
Begin Object Class=GUISectionBackground Name=BGPerk
bFillClient=true
Caption="Current Perk"
WinTop=0.432291
WinLeft=0.650976
WinWidth=0.325157
WinHeight=0.138086
OnPreDraw=BGPerk.InternalPreDraw
End Object
i_BGPerk=BGPerk
Begin Object Class=GUISectionBackground Name=BGPerkEffects
bFillClient=true
Caption="Perk Effects"
WinTop=0.568448
WinLeft=0.650976
WinWidth=0.325157
WinHeight=0.307442
OnPreDraw=BGPerkEffects.InternalPreDraw
End Object
i_BGPerkEffects=BGPerkEffects
Begin Object Class=GUIScrollTextBox Name=PerkEffectsScroll
CharDelay=0.002500
EOLDelay=0.100000
OnCreateComponent=PerkEffectsScroll.InternalOnCreateComponent
WinTop=0.626094
WinLeft=0.659687
WinWidth=0.309454
WinHeight=0.244961
TabOrder=9
ToolTip=none
End Object
lb_PerkEffects=PerkEffectsScroll
Begin Object Class=GUIImage Name=PlayerPortrait
Image=Texture'InterfaceArt_tex.Menu.changeme_texture'
ImageStyle=ISTY_Scaled
ImageRenderStyle=MSTY_Normal
IniOption="@Internal"
WinTop=0.472396
WinLeft=0.492522
WinWidth=0.156368
WinHeight=0.397022
RenderWeight=0.300000
End Object
i_Portrait=PlayerPortrait
Begin Object Class=GUISectionBackground Name=PlayerPortraitB
WinTop=0.432291
WinLeft=0.489062
WinWidth=0.163305
WinHeight=0.443451
OnPreDraw=PlayerPortraitB.InternalPreDraw
End Object
PlayerPortraitBG=PlayerPortraitB
IconBorder=0.050000
ItemBorder=0.110000
ProgressBarHeight=0.300000
TextTopOffset=0.050000
IconToInfoSpacing=0.050000
c_Tabs=GUITabControl'KFGui.GUILibraryMenu.PageTabs'
Begin Object Class=GUIHeader Name=ServerBrowserHeader
bVisible=false
End Object
t_Header=ServerBrowserHeader
i_Background=none
i_bkChar=none
bRenderWorld=true
bAllowedAsLast=true
OnClose=NiceLobbyMenu.InternalOnClosed
OnCanClose=NiceLobbyMenu.StopClose
WinHeight=0.500000
OnPreDraw=NiceLobbyMenu.InternalOnPreDraw
OnRendered=NiceLobbyMenu.DrawPerk
OnKeyEvent=NiceLobbyMenu.InternalOnKeyEvent
} }

View File

@ -37,7 +37,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn1A.InternalOnKeyEvent OnKeyEvent=btn1A.InternalOnKeyEvent
End Object End Object
skillButtonA(0)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn1A' skillButtonA(0)=btn1A
Begin Object Class=NiceGUIPerkButton Name=btn2A Begin Object Class=NiceGUIPerkButton Name=btn2A
WinTop=0.188500 WinTop=0.188500
@ -51,7 +51,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn2A.InternalOnKeyEvent OnKeyEvent=btn2A.InternalOnKeyEvent
End Object End Object
skillButtonA(1)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn2A' skillButtonA(1)=btn2A
Begin Object Class=NiceGUIPerkButton Name=btn3A Begin Object Class=NiceGUIPerkButton Name=btn3A
WinTop=0.364500 WinTop=0.364500
@ -65,7 +65,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn3A.InternalOnKeyEvent OnKeyEvent=btn3A.InternalOnKeyEvent
End Object End Object
skillButtonA(2)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn3A' skillButtonA(2)=btn3A
Begin Object Class=NiceGUIPerkButton Name=btn4A Begin Object Class=NiceGUIPerkButton Name=btn4A
WinTop=0.540500 WinTop=0.540500
@ -79,7 +79,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn4A.InternalOnKeyEvent OnKeyEvent=btn4A.InternalOnKeyEvent
End Object End Object
skillButtonA(3)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn4A' skillButtonA(3)=btn4A
Begin Object Class=NiceGUIPerkButton Name=btn5A Begin Object Class=NiceGUIPerkButton Name=btn5A
WinTop=0.716500 WinTop=0.716500
@ -93,7 +93,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn5A.InternalOnKeyEvent OnKeyEvent=btn5A.InternalOnKeyEvent
End Object End Object
skillButtonA(4)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn5A' skillButtonA(4)=btn5A
Begin Object Class=NiceGUIPerkButton Name=btn1B Begin Object Class=NiceGUIPerkButton Name=btn1B
WinTop=0.012500 WinTop=0.012500
@ -108,7 +108,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn1B.InternalOnKeyEvent OnKeyEvent=btn1B.InternalOnKeyEvent
End Object End Object
skillButtonB(0)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn1B' skillButtonB(0)=btn1B
Begin Object Class=NiceGUIPerkButton Name=btn2B Begin Object Class=NiceGUIPerkButton Name=btn2B
WinTop=0.188500 WinTop=0.188500
@ -123,7 +123,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn2B.InternalOnKeyEvent OnKeyEvent=btn2B.InternalOnKeyEvent
End Object End Object
skillButtonB(1)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn2B' skillButtonB(1)=btn2B
Begin Object Class=NiceGUIPerkButton Name=btn3B Begin Object Class=NiceGUIPerkButton Name=btn3B
WinTop=0.364500 WinTop=0.364500
@ -138,7 +138,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn3B.InternalOnKeyEvent OnKeyEvent=btn3B.InternalOnKeyEvent
End Object End Object
skillButtonB(2)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn3B' skillButtonB(2)=btn3B
Begin Object Class=NiceGUIPerkButton Name=btn4B Begin Object Class=NiceGUIPerkButton Name=btn4B
WinTop=0.540500 WinTop=0.540500
@ -153,7 +153,7 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn4B.InternalOnKeyEvent OnKeyEvent=btn4B.InternalOnKeyEvent
End Object End Object
skillButtonB(3)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn4B' skillButtonB(3)=btn4B
Begin Object Class=NiceGUIPerkButton Name=btn5B Begin Object Class=NiceGUIPerkButton Name=btn5B
WinTop=0.716500 WinTop=0.716500
@ -168,5 +168,5 @@ defaultproperties
OnClickSound=CS_None OnClickSound=CS_None
OnKeyEvent=btn5B.InternalOnKeyEvent OnKeyEvent=btn5B.InternalOnKeyEvent
End Object End Object
skillButtonB(4)=NiceGUIPerkButton'NicePack.NicePanelSkills.btn5B' skillButtonB(4)=btn5B
} }

View File

@ -261,8 +261,8 @@ function Killed(Controller Killer, Controller Killed, Pawn KilledPawn, class<Dam
AvoidArea = Spawn(class'NiceAvoidMarkerCarnage', killer.pawn); AvoidArea = Spawn(class'NiceAvoidMarkerCarnage', killer.pawn);
AvoidArea.SetLocation(KilledPawn.location); AvoidArea.SetLocation(KilledPawn.location);
AvoidArea.healthLevel = killedPawn.default.health; AvoidArea.healthLevel = killedPawn.default.health;
AvoidArea.SetCollisionSize( class'NicePack.NiceSkillEnforcerBrutalCarnageA'.default.avoidRadius, AvoidArea.SetCollisionSize( class'NiceSkillEnforcerBrutalCarnageA'.default.avoidRadius,
class'NicePack.NiceSkillEnforcerBrutalCarnageA'.default.avoidRadius); class'NiceSkillEnforcerBrutalCarnageA'.default.avoidRadius);
AvoidArea.StartleBots(); AvoidArea.StartleBots();
} }
// Rest // Rest

View File

@ -65,8 +65,8 @@ simulated function bool IsZedExtentionsRecorded(NiceMonster niceZed){
} }
function ReplaceRequiredEquipment(){ function ReplaceRequiredEquipment(){
Super.ReplaceRequiredEquipment(); Super.ReplaceRequiredEquipment();
RequiredEquipment[0] = String(class'NicePack.NiceMachete'); RequiredEquipment[0] = String(class'NiceMachete');
RequiredEquipment[1] = String(class'NicePack.Nice9mmPlus'); RequiredEquipment[1] = String(class'Nice9mmPlus');
RequiredEquipment[2] = String(class'ScrnBalanceSrv.ScrnFrag'); RequiredEquipment[2] = String(class'ScrnBalanceSrv.ScrnFrag');
RequiredEquipment[3] = String(class'ScrnBalanceSrv.ScrnSyringe'); RequiredEquipment[3] = String(class'ScrnBalanceSrv.ScrnSyringe');
RequiredEquipment[4] = String(class'KFMod.Welder'); RequiredEquipment[4] = String(class'KFMod.Welder');
@ -487,19 +487,19 @@ simulated function ClientChangeWeapon(NiceWeapon newWeap){
} }
// Validate that client is not hacking. // Validate that client is not hacking.
function bool CanBuyNow(){ function bool CanBuyNow()
{
local NicePlayerController niceController; local NicePlayerController niceController;
niceController = NicePlayerController(Controller); niceController = NicePlayerController(Controller);
if(niceController == none) if (niceController == none)
return false; return false;
if(NiceGameType(Level.Game) != none && NiceGameType(Level.Game).NicePackMutator != none if (NiceGameType(Level.Game) != none && NiceGameType(Level.Game).NicePackMutator != none
&& NiceGameType(Level.Game).NicePackMutator.bIsPreGame) && NiceGameType(Level.Game).NicePackMutator.bIsPreGame)
return true; return true;
if(NiceTSCGame(Level.Game) != none && NiceTSCGame(Level.Game).NicePackMutator != none
&& NiceTSCGame(Level.Game).NicePackMutator.bIsPreGame)
return true;
return Super.CanBuyNow(); return Super.CanBuyNow();
} }
// Overridden to not modify dual pistols' weapon group // Overridden to not modify dual pistols' weapon group
function bool AddInventory(inventory NewItem){ function bool AddInventory(inventory NewItem){
local KFWeapon weap; local KFWeapon weap;

View File

@ -54,7 +54,6 @@ var int deadBodyCounter;
var ScrnBalance ScrnMut; var ScrnBalance ScrnMut;
var ScrnGameType ScrnGT; var ScrnGameType ScrnGT;
var NiceGameType NiceGT; var NiceGameType NiceGT;
var NiceTSCGame NiceTSC;
var NicePack Mut; var NicePack Mut;
var NiceRules GameRules; var NiceRules GameRules;
var NiceStorageServer serverStorage; var NiceStorageServer serverStorage;
@ -177,15 +176,15 @@ simulated function PostBeginPlay(){
class'ScrnHorzineVestPickup'.default.cost = 750; class'ScrnHorzineVestPickup'.default.cost = 750;
class'NicePack'.default.Mut = self; class'NicePack'.default.Mut = self;
// Gun skins // Gun skins
class'NicePack.NiceMaulerPickup'.default.VariantClasses[class'NicePack.NiceMaulerPickup'.default.VariantClasses.length] = class'ScrnBalanceSrv.ScrnSPSniperPickup'; class'NiceMaulerPickup'.default.VariantClasses[class'NiceMaulerPickup'.default.VariantClasses.length] = class'ScrnBalanceSrv.ScrnSPSniperPickup';
class'NicePack.NiceDeaglePickup'.default.VariantClasses[class'NicePack.NiceDeaglePickup'.default.VariantClasses.length] = class'NicePack.SkinExecutionerPickup'; class'NiceDeaglePickup'.default.VariantClasses[class'NiceDeaglePickup'.default.VariantClasses.length] = class'SkinExecutionerPickup';
class'NicePack.NiceDualDeaglePickup'.default.VariantClasses[class'NicePack.NiceDualDeaglePickup'.default.VariantClasses.length] = class'NicePack.SkinDualExecutionerPickup'; class'NiceDualDeaglePickup'.default.VariantClasses[class'NiceDualDeaglePickup'.default.VariantClasses.length] = class'SkinDualExecutionerPickup';
class'NicePack.NiceMagnumPickup'.default.VariantClasses[class'NicePack.NiceMagnumPickup'.default.VariantClasses.length] = class'NicePack.SkinCowboyMagnumPickup'; class'NiceMagnumPickup'.default.VariantClasses[class'NiceMagnumPickup'.default.VariantClasses.length] = class'SkinCowboyMagnumPickup';
class'NicePack.NiceDualMagnumPickup'.default.VariantClasses[class'NicePack.NiceDualMagnumPickup'.default.VariantClasses.length] = class'NicePack.SkinDualCowboyMagnumPickup'; class'NiceDualMagnumPickup'.default.VariantClasses[class'NiceDualMagnumPickup'.default.VariantClasses.length] = class'SkinDualCowboyMagnumPickup';
class'NicePack.NiceWinchesterPickup'.default.VariantClasses[class'NicePack.NiceWinchesterPickup'.default.VariantClasses.length] = class'NicePack.SkinRetroLARPickup'; class'NiceWinchesterPickup'.default.VariantClasses[class'NiceWinchesterPickup'.default.VariantClasses.length] = class'SkinRetroLARPickup';
class'NicePack.NiceM14EBRPickup'.default.VariantClasses[class'NicePack.NiceM14EBRPickup'.default.VariantClasses.length] = class'NicePack.SkinM14EBR2ProPickup'; class'NiceM14EBRPickup'.default.VariantClasses[class'NiceM14EBRPickup'.default.VariantClasses.length] = class'SkinM14EBR2ProPickup';
class'ScrnBalanceSrv.ScrnKrissMPickup'.default.VariantClasses[class'ScrnBalanceSrv.ScrnKrissMPickup'.default.VariantClasses.length] = class'NicePack.SkinGoldenKrissPickup'; class'ScrnBalanceSrv.ScrnKrissMPickup'.default.VariantClasses[class'ScrnBalanceSrv.ScrnKrissMPickup'.default.VariantClasses.length] = class'SkinGoldenKrissPickup';
class'NicePack.NiceSCARMK17Pickup'.default.VariantClasses[class'NicePack.NiceSCARMK17Pickup'.default.VariantClasses.length] = class'NicePack.SkinCamoSCARMK17Pickup'; class'NiceSCARMK17Pickup'.default.VariantClasses[class'NiceSCARMK17Pickup'.default.VariantClasses.length] = class'SkinCamoSCARMK17Pickup';
// Abilities // Abilities
class'NiceAbilityManager'.default.events.static.AddAdapter(class'NiceSharpshooterAbilitiesAdapter', level); class'NiceAbilityManager'.default.events.static.AddAdapter(class'NiceSharpshooterAbilitiesAdapter', level);
class'NiceAbilityManager'.default.events.static.AddAdapter(class'NiceEnforcerAbilitiesAdapter', level); class'NiceAbilityManager'.default.events.static.AddAdapter(class'NiceEnforcerAbilitiesAdapter', level);
@ -193,36 +192,33 @@ simulated function PostBeginPlay(){
if(Role < ROLE_Authority) if(Role < ROLE_Authority)
return; return;
// Create sync node // Create sync node
serverStorage = new class'NicePack.NiceStorageServer'; serverStorage = new class'NiceStorageServer';
default.serverStorage = serverStorage; default.serverStorage = serverStorage;
serverStorage.events.static.AddAdapter(class'NiceRemoteDataAdapter', Level); serverStorage.events.static.AddAdapter(class'NiceRemoteDataAdapter', Level);
// Find game type and ScrN mutator // Find game type and ScrN mutator
ScrnGT = ScrnGameType(Level.Game); ScrnGT = ScrnGameType(Level.Game);
NiceGT = NiceGameType(Level.Game); NiceGT = NiceGameType(Level.Game);
NiceTSC = NiceTSCGame(Level.Game);
if(ScrnGT == none){ if(ScrnGT == none){
Log("ERROR: Wrong GameType (requires at least ScrnGameType)", Class.Outer.Name); Log("ERROR: Wrong GameType (requires at least ScrnGameType)", Class.Outer.Name);
Destroy(); Destroy();
return; return;
} }
// Skills menu // Skills menu
ScrnGT.LoginMenuClass = string(Class'NicePack.NiceInvasionLoginMenu'); ScrnGT.LoginMenuClass = string(class'NiceInvasionLoginMenu');
if(NiceGT != none) if(NiceGT != none)
NiceGT.RegisterMutator(Self); NiceGT.RegisterMutator(Self);
if(NiceTSC != none)
NiceTSC.RegisterMutator(Self);
ScrnMut = ScrnGT.ScrnBalanceMut; ScrnMut = ScrnGT.ScrnBalanceMut;
if(bReplacePickups) if(bReplacePickups)
ScrnMut.bReplacePickups = false; ScrnMut.bReplacePickups = false;
// Replication of some variables // Replication of some variables
SetReplicationData(); SetReplicationData();
// New player controller class // New player controller class
if(!ClassIsChildOf(ScrnGT.PlayerControllerClass, class'NicePack.NicePlayerController')){ if(!ClassIsChildOf(ScrnGT.PlayerControllerClass, class'NicePlayerController')){
ScrnGT.PlayerControllerClass = class'NicePack.NicePlayerController'; ScrnGT.PlayerControllerClass = class'NicePlayerController';
ScrnGT.PlayerControllerClassName = string(Class'NicePack.NicePlayerController'); ScrnGT.PlayerControllerClassName = string(class'NicePlayerController');
} }
// Game rules // Game rules
GameRules = Spawn(Class'NicePack.NiceRules', self); GameRules = Spawn(class'NiceRules', self);
// -- Lower starting HL // -- Lower starting HL
ScrnMut.GameRules.HardcoreLevel -= 7; ScrnMut.GameRules.HardcoreLevel -= 7;
ScrnMut.GameRules.HardcoreLevelFloat -= 7; ScrnMut.GameRules.HardcoreLevelFloat -= 7;
@ -230,64 +226,64 @@ simulated function PostBeginPlay(){
i = 0; i = 0;
// - Clot // - Clot
record.ZedName = "Clot"; record.ZedName = "Clot";
record.ZedType = class'NicePack.NiceZombieClot'; record.ZedType = class'NiceZombieClot';
record.MeanZedType = class'NicePack.MeanZombieClot'; record.MeanZedType = class'MeanZombieClot';
record.HL = 0.0; record.HL = 0.0;
record.MeanHLBonus = 0.5; record.MeanHLBonus = 0.5;
record.bNeedsReplacement = bReplaceClot; record.bNeedsReplacement = bReplaceClot;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Crawler // - Crawler
record.ZedName = "Crawler"; record.ZedName = "Crawler";
record.ZedType = class'NicePack.NiceZombieCrawler'; record.ZedType = class'NiceZombieCrawler';
record.MeanZedType = class'NicePack.MeanZombieCrawler'; record.MeanZedType = class'MeanZombieCrawler';
record.HL = 0.5; record.HL = 0.5;
record.MeanHLBonus = 1.5; record.MeanHLBonus = 1.5;
record.bNeedsReplacement = bReplaceCrawler; record.bNeedsReplacement = bReplaceCrawler;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Stalker // - Stalker
record.ZedName = "Stalker"; record.ZedName = "Stalker";
record.ZedType = class'NicePack.NiceZombieStalker'; record.ZedType = class'NiceZombieStalker';
record.MeanZedType = class'NicePack.MeanZombieStalker'; record.MeanZedType = class'MeanZombieStalker';
record.HL = 0.5; record.HL = 0.5;
record.MeanHLBonus = 0.5; record.MeanHLBonus = 0.5;
record.bNeedsReplacement = bReplaceStalker; record.bNeedsReplacement = bReplaceStalker;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Gorefast // - Gorefast
record.ZedName = "Gorefast"; record.ZedName = "Gorefast";
record.ZedType = class'NicePack.NiceZombieGorefast'; record.ZedType = class'NiceZombieGorefast';
record.MeanZedType = class'NicePack.MeanZombieGorefast'; record.MeanZedType = class'MeanZombieGorefast';
record.HL = 0.0; record.HL = 0.0;
record.MeanHLBonus = 0.5; record.MeanHLBonus = 0.5;
record.bNeedsReplacement = bReplaceGorefast; record.bNeedsReplacement = bReplaceGorefast;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Bloat // - Bloat
record.ZedName = "Bloat"; record.ZedName = "Bloat";
record.ZedType = class'NicePack.NiceZombieBloat'; record.ZedType = class'NiceZombieBloat';
record.MeanZedType = class'NicePack.MeanZombieBloat'; record.MeanZedType = class'MeanZombieBloat';
record.HL = 0.0; record.HL = 0.0;
record.MeanHLBonus = 0.5; record.MeanHLBonus = 0.5;
record.bNeedsReplacement = bReplaceBloat; record.bNeedsReplacement = bReplaceBloat;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Siren // - Siren
record.ZedName = "Siren"; record.ZedName = "Siren";
record.ZedType = class'NicePack.NiceZombieSiren'; record.ZedType = class'NiceZombieSiren';
record.MeanZedType = class'NicePack.MeanZombieSiren'; record.MeanZedType = class'MeanZombieSiren';
record.HL = 1.0; record.HL = 1.0;
record.MeanHLBonus = 1.0; record.MeanHLBonus = 1.0;
record.bNeedsReplacement = bReplaceSiren; record.bNeedsReplacement = bReplaceSiren;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Husk // - Husk
record.ZedName = "Husk"; record.ZedName = "Husk";
record.ZedType = class'NicePack.NiceZombieHusk'; record.ZedType = class'NiceZombieHusk';
record.MeanZedType = class'NicePack.MeanZombieHusk'; record.MeanZedType = class'MeanZombieHusk';
record.HL = 1.0; record.HL = 1.0;
record.MeanHLBonus = 1.5; record.MeanHLBonus = 1.5;
record.bNeedsReplacement = bReplaceHusk; record.bNeedsReplacement = bReplaceHusk;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Scrake // - Scrake
record.ZedName = "Scrake"; record.ZedName = "Scrake";
record.ZedType = class'NicePack.NiceZombieScrake'; record.ZedType = class'NiceZombieScrake';
record.MeanZedType = class'NicePack.MeanZombieScrake'; record.MeanZedType = class'MeanZombieScrake';
record.HL = 1.5; record.HL = 1.5;
record.MeanHLBonus = 1.5; record.MeanHLBonus = 1.5;
record.bNeedsReplacement = bReplaceScrake; record.bNeedsReplacement = bReplaceScrake;
@ -295,50 +291,50 @@ simulated function PostBeginPlay(){
// - Fleshpound // - Fleshpound
lastStandardZed = i; lastStandardZed = i;
record.ZedName = "Fleshpound"; record.ZedName = "Fleshpound";
record.ZedType = class'NicePack.NiceZombieFleshPound'; record.ZedType = class'NiceZombieFleshPound';
record.MeanZedType = class'NicePack.MeanZombieFleshPound'; record.MeanZedType = class'MeanZombieFleshPound';
record.HL = 2.5; record.HL = 2.5;
record.MeanHLBonus = 1.5; record.MeanHLBonus = 1.5;
record.bNeedsReplacement = bReplaceFleshpound; record.bNeedsReplacement = bReplaceFleshpound;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Shiver // - Shiver
record.ZedName = "Shiver"; record.ZedName = "Shiver";
record.ZedType = class'NicePack.NiceZombieShiver'; record.ZedType = class'NiceZombieShiver';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 1; record.HL = 1;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Jason // - Jason
record.ZedName = "Jason"; record.ZedName = "Jason";
record.ZedType = class'NicePack.NiceZombieJason'; record.ZedType = class'NiceZombieJason';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 1.5; record.HL = 1.5;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Tesla Husk // - Tesla Husk
record.ZedName = "Tesla husk"; record.ZedName = "Tesla husk";
record.ZedType = class'NicePack.NiceZombieTeslaHusk'; record.ZedType = class'NiceZombieTeslaHusk';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 1.5; record.HL = 1.5;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Brute // - Brute
record.ZedName = "Brute"; record.ZedName = "Brute";
record.ZedType = class'NicePack.NiceZombieBrute'; record.ZedType = class'NiceZombieBrute';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 2; record.HL = 2;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Ghost // - Ghost
record.ZedName = "Ghost"; record.ZedName = "Ghost";
record.ZedType = class'NicePack.NiceZombieGhost'; record.ZedType = class'NiceZombieGhost';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 0.5; record.HL = 0.5;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
ZedDatabase[i++] = record; ZedDatabase[i++] = record;
// - Sick // - Sick
record.ZedName = "Sick"; record.ZedName = "Sick";
record.ZedType = class'NicePack.NiceZombieSick'; record.ZedType = class'NiceZombieSick';
record.MeanZedType = none; record.MeanZedType = none;
record.HL = 1.0; record.HL = 1.0;
record.bNeedsReplacement = false; record.bNeedsReplacement = false;
@ -459,7 +455,7 @@ simulated function Tick(float Delta){
if(interactionAdded) if(interactionAdded)
return; return;
// Actually add the interaction // Actually add the interaction
niceInt = NiceInteraction(localPlayer.Player.InteractionMaster.AddInteraction("NicePack.NiceInteraction", localPlayer.Player)); niceInt = NiceInteraction(localPlayer.Player.InteractionMaster.AddInteraction(string(class'NiceInteraction'), localPlayer.Player));
niceInt.RegisterMutator(Self); niceInt.RegisterMutator(Self);
interactionAdded = true; interactionAdded = true;
} }
@ -476,11 +472,11 @@ simulated function bool CheckReplacement(Actor Other, out byte bSuperRelevant){
local PlayerReplicationInfo pri; local PlayerReplicationInfo pri;
// Replace loot on levels // Replace loot on levels
if(Other.class == class'KFRandomItemSpawn' || Other.class == class'ScrnBalanceSrv.ScrnRandomItemSpawn'){ if(Other.class == class'KFRandomItemSpawn' || Other.class == class'ScrnBalanceSrv.ScrnRandomItemSpawn'){
ReplaceWith(Other, "NicePack.NiceRandomItemSpawn"); ReplaceWith(Other, string(class'NiceRandomItemSpawn'));
return false; return false;
} }
else if(Other.class == class'KFAmmoPickup' || Other.class == class'ScrnBalanceSrv.ScrnAmmoPickup') { else if(Other.class == class'KFAmmoPickup' || Other.class == class'ScrnBalanceSrv.ScrnAmmoPickup') {
ReplaceWith(Other, "NicePack.NiceAmmoPickup"); ReplaceWith(Other, string(class'NiceAmmoPickup'));
return false; return false;
} }
else if(bReplacePickups && Pickup(Other) != none){ else if(bReplacePickups && Pickup(Other) != none){
@ -1071,18 +1067,18 @@ defaultproperties
bNoLateFFIncrease=True bNoLateFFIncrease=True
junkieNextGoal=1 junkieNextGoal=1
bIsPreGame=True bIsPreGame=True
pickupReplaceArray(0)=(vanillaClass=Class'KFMod.MAC10Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnMAC10Pickup',NewClass=Class'NicePack.NiceMAC10Pickup') pickupReplaceArray(0)=(vanillaClass=Class'KFMod.MAC10Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnMAC10Pickup',NewClass=class'NiceMAC10Pickup')
pickupReplaceArray(1)=(vanillaClass=Class'KFMod.WinchesterPickup',scrnClass=Class'ScrnBalanceSrv.ScrnWinchesterPickup',NewClass=Class'NicePack.NiceWinchesterPickup') pickupReplaceArray(1)=(vanillaClass=Class'KFMod.WinchesterPickup',scrnClass=Class'ScrnBalanceSrv.ScrnWinchesterPickup',NewClass=class'NiceWinchesterPickup')
pickupReplaceArray(2)=(vanillaClass=Class'KFMod.CrossbowPickup',scrnClass=Class'ScrnBalanceSrv.ScrnCrossbowPickup',NewClass=Class'NicePack.NiceCrossbowPickup') pickupReplaceArray(2)=(vanillaClass=Class'KFMod.CrossbowPickup',scrnClass=Class'ScrnBalanceSrv.ScrnCrossbowPickup',NewClass=class'NiceCrossbowPickup')
pickupReplaceArray(3)=(vanillaClass=Class'KFMod.SPSniperPickup',scrnClass=Class'ScrnBalanceSrv.ScrnSPSniperPickup',NewClass=Class'NicePack.NiceMaulerPickup') pickupReplaceArray(3)=(vanillaClass=Class'KFMod.SPSniperPickup',scrnClass=Class'ScrnBalanceSrv.ScrnSPSniperPickup',NewClass=class'NiceMaulerPickup')
pickupReplaceArray(4)=(vanillaClass=Class'KFMod.M14EBRPickup',scrnClass=Class'ScrnBalanceSrv.ScrnM14EBRPickup',NewClass=Class'NicePack.NiceM14EBRPickup') pickupReplaceArray(4)=(vanillaClass=Class'KFMod.M14EBRPickup',scrnClass=Class'ScrnBalanceSrv.ScrnM14EBRPickup',NewClass=class'NiceM14EBRPickup')
pickupReplaceArray(5)=(vanillaClass=Class'KFMod.M99Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnM99Pickup',NewClass=Class'NicePack.NiceM99Pickup') pickupReplaceArray(5)=(vanillaClass=Class'KFMod.M99Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnM99Pickup',NewClass=class'NiceM99Pickup')
pickupReplaceArray(6)=(vanillaClass=Class'KFMod.ShotgunPickup',scrnClass=Class'ScrnBalanceSrv.ScrnShotgunPickup',NewClass=Class'NicePack.NiceShotgunPickup') pickupReplaceArray(6)=(vanillaClass=Class'KFMod.ShotgunPickup',scrnClass=Class'ScrnBalanceSrv.ScrnShotgunPickup',NewClass=class'NiceShotgunPickup')
pickupReplaceArray(7)=(vanillaClass=Class'KFMod.BoomStickPickup',scrnClass=Class'ScrnBalanceSrv.ScrnBoomStickPickup',NewClass=Class'NicePack.NiceBoomStickPickup') pickupReplaceArray(7)=(vanillaClass=Class'KFMod.BoomStickPickup',scrnClass=Class'ScrnBalanceSrv.ScrnBoomStickPickup',NewClass=class'NiceBoomStickPickup')
pickupReplaceArray(8)=(vanillaClass=Class'KFMod.NailGunPickup',scrnClass=Class'ScrnBalanceSrv.ScrnNailGunPickup',NewClass=Class'NicePack.NiceNailGunPickup') pickupReplaceArray(8)=(vanillaClass=Class'KFMod.NailGunPickup',scrnClass=Class'ScrnBalanceSrv.ScrnNailGunPickup',NewClass=class'NiceNailGunPickup')
pickupReplaceArray(9)=(vanillaClass=Class'KFMod.KSGPickup',scrnClass=Class'ScrnBalanceSrv.ScrnKSGPickup',NewClass=Class'NicePack.NiceKSGPickup') pickupReplaceArray(9)=(vanillaClass=Class'KFMod.KSGPickup',scrnClass=Class'ScrnBalanceSrv.ScrnKSGPickup',NewClass=class'NiceKSGPickup')
pickupReplaceArray(10)=(vanillaClass=Class'KFMod.BenelliPickup',scrnClass=Class'ScrnBalanceSrv.ScrnBenelliPickup',NewClass=Class'NicePack.NiceBenelliPickup') pickupReplaceArray(10)=(vanillaClass=Class'KFMod.BenelliPickup',scrnClass=Class'ScrnBalanceSrv.ScrnBenelliPickup',NewClass=class'NiceBenelliPickup')
pickupReplaceArray(11)=(vanillaClass=Class'KFMod.AA12Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnAA12Pickup',NewClass=Class'NicePack.NiceAA12Pickup') pickupReplaceArray(11)=(vanillaClass=Class'KFMod.AA12Pickup',scrnClass=Class'ScrnBalanceSrv.ScrnAA12Pickup',NewClass=class'NiceAA12Pickup')
NiceUniversalDescriptions(0)="Survive on %m in ScrN Balance mode" NiceUniversalDescriptions(0)="Survive on %m in ScrN Balance mode"
NiceUniversalDescriptions(1)="Survive on %m in ScrN Balance mode with Hardcore Level 5+" NiceUniversalDescriptions(1)="Survive on %m in ScrN Balance mode with Hardcore Level 5+"
NiceUniversalDescriptions(2)="Survive on %m in ScrN Balance mode with Hardcore Level 10+" NiceUniversalDescriptions(2)="Survive on %m in ScrN Balance mode with Hardcore Level 10+"

View File

@ -134,16 +134,17 @@ replication{
ServerSetHLMessages, ServerMarkSettingsLoaded, ServerStartleZeds, ServerSetDisplayCounters, ServerSetHLMessages, ServerMarkSettingsLoaded, ServerStartleZeds, ServerSetDisplayCounters,
ServerSetDisplayWeaponProgress, ActivateAbility; ServerSetDisplayWeaponProgress, ActivateAbility;
} }
// Called on server only! // Called on server only!
function PostLogin(){ function PostLogin()
{
local NicePack.PlayerRecord record; local NicePack.PlayerRecord record;
local NiceGameType NiceGT; local NiceGameType NiceGT;
local NiceTSCGame TSCGT;
local ScrnCustomPRI ScrnPRI; local ScrnCustomPRI ScrnPRI;
Super.PostLogin(); Super.PostLogin();
// Restore data // Restore data
NiceGT = NiceGameType(Level.Game); NiceGT = NiceGameType(Level.Game);
TSCGT = NiceTSCGame(Level.Game);
ScrnPRI = class'ScrnCustomPRI'.static.FindMe(PlayerReplicationInfo); ScrnPRI = class'ScrnCustomPRI'.static.FindMe(PlayerReplicationInfo);
if(ScrnPRI != none) if(ScrnPRI != none)
SteamID64 = ScrnPRI.GetSteamID64(); SteamID64 = ScrnPRI.GetSteamID64();
@ -167,6 +168,7 @@ function PostLogin(){
// Spawn ability manager // Spawn ability manager
abilityManager = Spawn(class'NiceAbilityManager', self); abilityManager = Spawn(class'NiceAbilityManager', self);
} }
simulated function ClientPostLogin(){ simulated function ClientPostLogin(){
local int i, j, k; local int i, j, k;
local bool bEntryExists; local bool bEntryExists;
@ -198,7 +200,7 @@ simulated function ClientPostLogin(){
playedWithDatabase = newPlayedWithData; playedWithDatabase = newPlayedWithData;
UpdateDefaultWeaponSettings(); UpdateDefaultWeaponSettings();
// Create sync node // Create sync node
storageClient = new class'NicePack.NiceStorageClient'; storageClient = new class'NiceStorageClient';
storageClient.events.static.AddAdapter(class'NiceRemoteDataAdapter', level); storageClient.events.static.AddAdapter(class'NiceRemoteDataAdapter', level);
// Init collisions // Init collisions
if(Role < ROLE_Authority) if(Role < ROLE_Authority)
@ -1465,7 +1467,6 @@ defaultproperties
effectsLimitSoft=100 effectsLimitSoft=100
effectsLimitHard=200 effectsLimitHard=200
sirenScreamMod=1.000000 sirenScreamMod=1.000000
TSCLobbyMenuClassString="NicePack.NiceTSCLobbyMenu"
LobbyMenuClassString="NicePack.NiceLobbyMenu" LobbyMenuClassString="NicePack.NiceLobbyMenu"
PawnClass=Class'NicePack.NiceHumanPawn' PawnClass=class'NiceHumanPawn'
} }

View File

@ -1,11 +1,11 @@
class NiceRandomItemSpawn extends ScrnRandomItemSpawn; class NiceRandomItemSpawn extends ScrnRandomItemSpawn;
defaultproperties defaultproperties
{ {
PickupClasses(0)=Class'NicePack.NiceWinchesterPickup' PickupClasses(0)=class'NiceWinchesterPickup'
PickupClasses(1)=Class'NicePack.NiceShotgunPickup' PickupClasses(1)=class'NiceShotgunPickup'
PickupClasses(2)=Class'NicePack.NiceBullpupPickup' PickupClasses(2)=class'NiceBullpupPickup'
PickupClasses(3)=Class'NicePack.NiceMagnumPickup' PickupClasses(3)=class'NiceMagnumPickup'
PickupClasses(4)=Class'NicePack.NiceWinchesterPickup' PickupClasses(4)=class'NiceWinchesterPickup'
PickupClasses(5)=Class'NicePack.NiceM79Pickup' PickupClasses(5)=class'NiceM79Pickup'
PickupClasses(8)=Class'NicePack.NiceMAC10Pickup' PickupClasses(8)=class'NiceMAC10Pickup'
} }

View File

@ -164,6 +164,6 @@ function Tick(float deltaTime){
defaultproperties defaultproperties
{ {
maxAbilitiesAmount=5 maxAbilitiesAmount=5
Events=Class'NicePack.NiceAbilitiesEvents' Events=class'NiceAbilitiesEvents'
DrawType=DT_None DrawType=DT_None
} }

View File

@ -98,16 +98,16 @@ static function string GetCustomLevelInfo(byte Level){
defaultproperties defaultproperties
{ {
bNewTypePerk=True bNewTypePerk=True
SkillGroupA(0)=Class'NicePack.NiceSkillZerkWindCutter' SkillGroupA(0)=class'NiceSkillZerkWindCutter'
SkillGroupA(1)=Class'NicePack.NiceSkillZerkWhirlwind' SkillGroupA(1)=class'NiceSkillZerkWhirlwind'
SkillGroupA(2)=Class'NicePack.NiceSkillZerkColossus' SkillGroupA(2)=class'NiceSkillZerkColossus'
SkillGroupA(3)=Class'NicePack.NiceSkillZerkUndead' SkillGroupA(3)=class'NiceSkillZerkUndead'
SkillGroupA(4)=Class'NicePack.NiceSkillZerkZEDAccelerate' SkillGroupA(4)=class'NiceSkillZerkZEDAccelerate'
SkillGroupB(0)=Class'NicePack.NiceSkillZerkCleave' SkillGroupB(0)=class'NiceSkillZerkCleave'
SkillGroupB(1)=Class'NicePack.NiceSkillZerkFury' SkillGroupB(1)=class'NiceSkillZerkFury'
SkillGroupB(2)=Class'NicePack.NiceSkillZerkGunzerker' SkillGroupB(2)=class'NiceSkillZerkGunzerker'
SkillGroupB(3)=Class'NicePack.NiceSkillZerkVorpalBlade' SkillGroupB(3)=class'NiceSkillZerkVorpalBlade'
SkillGroupB(4)=Class'NicePack.NiceSkillZerkZEDUnbreakable' SkillGroupB(4)=class'NiceSkillZerkZEDUnbreakable'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000
@ -115,7 +115,7 @@ defaultproperties
progressArray0(4)=30000 progressArray0(4)=30000
progressArray0(5)=100000 progressArray0(5)=100000
progressArray0(6)=200000 progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetBerserker' DefaultDamageType=class'NiceDamageTypeVetBerserker'
OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Berserker',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Berserker',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Berserker_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Berserker_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_Berserker_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(2)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Berserker_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255))

View File

@ -11,9 +11,9 @@ static function array<int> GetProgressArray(byte ReqNum, optional out int Double
} }
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){ static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){
/*if(KFPRI != none && class'NiceVetFieldMedic'.static.hasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillMedicArmament')) /*if(KFPRI != none && class'NiceVetFieldMedic'.static.hasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillMedicArmament'))
return class'NicePack.NiceMedicNade';*/ return class'NiceMedicNade';*/
//return class'NiceMedicNadePoison'; //return class'NiceMedicNadePoison';
return class'NicePack.NiceNade'; return class'NiceNade';
} }
static function float GetHealthBarsDistanceMulti(KFPlayerReplicationInfo KFPRI){ static function float GetHealthBarsDistanceMulti(KFPlayerReplicationInfo KFPRI){
/*if(KFPRI != none && SomeoneHasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillCommandoStrategist')) /*if(KFPRI != none && SomeoneHasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillCommandoStrategist'))
@ -26,7 +26,7 @@ static function float GetStalkerViewDistanceMulti(KFPlayerReplicationInfo KFPRI)
return 1.0; return 1.0;
} }
static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap){ static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap){
return GetNadeType(KFPRI) != class'NicePack.NiceMedicNadePoison'; return GetNadeType(KFPRI) != class'NiceMedicNadePoison';
} }
static function float GetMagCapacityMod(KFPlayerReplicationInfo KFPRI, KFWeapon Other){ static function float GetMagCapacityMod(KFPlayerReplicationInfo KFPRI, KFWeapon Other){
local class<NiceWeaponPickup> pickupClass; local class<NiceWeaponPickup> pickupClass;
@ -78,16 +78,16 @@ static function string GetCustomLevelInfo(byte Level){
defaultproperties defaultproperties
{ {
bNewTypePerk=True bNewTypePerk=True
SkillGroupA(0)=Class'NicePack.NiceSkillCommandoExplosivePower' SkillGroupA(0)=class'NiceSkillCommandoExplosivePower'
SkillGroupA(1)=Class'NicePack.NiceSkillCommandoLargerMags' SkillGroupA(1)=class'NiceSkillCommandoLargerMags'
SkillGroupA(2)=Class'NicePack.NiceSkillCommandoPerfectExecution' SkillGroupA(2)=class'NiceSkillCommandoPerfectExecution'
//SkillGroupA(3)=Class'NicePack.' //SkillGroupA(3)=class''
SkillGroupA(4)=Class'NicePack.NiceSkillCommandoZEDProfessional' SkillGroupA(4)=class'NiceSkillCommandoZEDProfessional'
SkillGroupB(0)=Class'NicePack.NiceSkillCommandoRegeneration' SkillGroupB(0)=class'NiceSkillCommandoRegeneration'
SkillGroupB(1)=Class'NicePack.NiceSkillCommandoQuickermags' SkillGroupB(1)=class'NiceSkillCommandoQuickermags'
SkillGroupB(2)=Class'NicePack.NiceSkillCommandoOverclocking' SkillGroupB(2)=class'NiceSkillCommandoOverclocking'
//SkillGroupB(3)=Class'NicePack.' //SkillGroupB(3)=class''
SkillGroupB(4)=Class'NicePack.NiceSkillCommandoZEDHeavenCanceller' SkillGroupB(4)=class'NiceSkillCommandoZEDHeavenCanceller'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000
@ -95,7 +95,7 @@ defaultproperties
progressArray0(4)=30000 progressArray0(4)=30000
progressArray0(5)=100000 progressArray0(5)=100000
progressArray0(6)=200000 progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetCommando' DefaultDamageType=class'NiceDamageTypeVetCommando'
OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Commando',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Commando',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Commando_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Commando_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_Commando_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(2)=(PerkIcon=Texture'ScrnTex.Perks.Perk_Commando_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255))

View File

@ -37,7 +37,7 @@ static function int AddDamage(KFPlayerReplicationInfo KFPRI, KFMonster Injured,
local class<NiceWeaponPickup> pickupClass; local class<NiceWeaponPickup> pickupClass;
pickupClass = GetPickupFromDamageType(DmgType); pickupClass = GetPickupFromDamageType(DmgType);
perkDamage = float(InDamage); perkDamage = float(InDamage);
if(DmgType == class'NicePack.NiceDamTypeDemoExplosion') if(DmgType == class'NiceDamTypeDemoExplosion')
return 1.6 * perkDamage; return 1.6 * perkDamage;
if(IsPerkedPickup(pickupClass)) if(IsPerkedPickup(pickupClass))
perkDamage *= 1.25; perkDamage *= 1.25;
@ -81,16 +81,16 @@ static function string GetCustomLevelInfo(byte Level){
defaultproperties defaultproperties
{ {
bNewTypePerk=True bNewTypePerk=True
SkillGroupA(0)=Class'NicePack.NiceSkillDemoConcussion' SkillGroupA(0)=class'NiceSkillDemoConcussion'
SkillGroupA(1)=Class'NicePack.NiceSkillDemoOnperk' SkillGroupA(1)=class'NiceSkillDemoOnperk'
SkillGroupA(2)=Class'NicePack.NiceSkillDemoDirectApproach' SkillGroupA(2)=class'NiceSkillDemoDirectApproach'
SkillGroupA(3)=Class'NicePack.NiceSkillDemoReactiveArmor' SkillGroupA(3)=class'NiceSkillDemoReactiveArmor'
SkillGroupA(4)=Class'NicePack.NiceSkillDemoZEDDuckAndCover' SkillGroupA(4)=class'NiceSkillDemoZEDDuckAndCover'
SkillGroupB(0)=Class'NicePack.NiceSkillDemoOffperk' SkillGroupB(0)=class'NiceSkillDemoOffperk'
SkillGroupB(1)=Class'NicePack.NiceSkillDemoManiac' SkillGroupB(1)=class'NiceSkillDemoManiac'
SkillGroupB(2)=Class'NicePack.NiceSkillDemoAPShot' SkillGroupB(2)=class'NiceSkillDemoAPShot'
SkillGroupB(3)=Class'NicePack.NiceSkillDemoVolatile' SkillGroupB(3)=class'NiceSkillDemoVolatile'
SkillGroupB(4)=Class'NicePack.NiceSkillDemoZEDFullBlast' SkillGroupB(4)=class'NiceSkillDemoZEDFullBlast'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000
@ -98,7 +98,7 @@ defaultproperties
progressArray0(4)=30000 progressArray0(4)=30000
progressArray0(5)=100000 progressArray0(5)=100000
progressArray0(6)=200000 progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetDemolitions' DefaultDamageType=class'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(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(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(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))

View File

@ -27,10 +27,10 @@ static function AbilityActivated( string abilityID,
} }
if(abilityID == class'NiceSkillEnforcerStuporA'.default.abilityID){ if(abilityID == class'NiceSkillEnforcerStuporA'.default.abilityID){
relatedPlayer.abilityManager.SetAbilityState(1, ASTATE_COOLDOWN); relatedPlayer.abilityManager.SetAbilityState(1, ASTATE_COOLDOWN);
foreach relatedPlayer.CollidingActors(class'NiceMonster', victim, class'NicePack.NiceSkillEnforcerStuporA'.default.radius, relatedPlayer.pawn.location) foreach relatedPlayer.CollidingActors(class'NiceMonster', victim, class'NiceSkillEnforcerStuporA'.default.radius, relatedPlayer.pawn.location)
{ {
if (victim == none) continue; if (victim == none) continue;
victim.DoRightPainReaction(class'NicePack.NiceSkillEnforcerStuporA'.default.painScore, victim.DoRightPainReaction(class'NiceSkillEnforcerStuporA'.default.painScore,
relatedPlayer.pawn, victim.location, Vect(0,0,0), none, 0.0, relatedPlayer.pawn, victim.location, Vect(0,0,0), none, 0.0,
KFPlayerReplicationInfo(relatedPlayer.PlayerReplicationInfo)); KFPlayerReplicationInfo(relatedPlayer.PlayerReplicationInfo));
} }

View File

@ -37,9 +37,9 @@ static function int AddStunScore(KFPlayerReplicationInfo KFPRI, KFMonster Injure
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){ static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){
/*if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillSupportCautious')) /*if(HasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillSupportCautious'))
return class'NicePack.NiceDelayedNade'; return class'NiceDelayedNade';
return class'NicePack.NiceNailNade';*/ return class'NiceNailNade';*/
return class'NicePack.NiceCryoNade'; return class'NiceCryoNade';
} }
static function float AddExtraAmmoFor(KFPlayerReplicationInfo KFPRI, Class<Ammunition> AmmoType){ static function float AddExtraAmmoFor(KFPlayerReplicationInfo KFPRI, Class<Ammunition> AmmoType){
@ -97,7 +97,7 @@ static function float ModifyRecoilSpread(KFPlayerReplicationInfo KFPRI, WeaponFi
niceWeap = class<NiceWeapon>(other); niceWeap = class<NiceWeapon>(other);
if(niceWeap != none && niceWeap.default.reloadType == RTYPE_MAG) if(niceWeap != none && niceWeap.default.reloadType == RTYPE_MAG)
return 1.5; return 1.5;
if(other == class'NicePack.NiceM41AAssaultRifle' || other == class'NicePack.NiceChainGun' || other == class'NicePack.NiceStinger' ) if(other == class'NiceM41AAssaultRifle' || other == class'NiceChainGun' || other == class'NiceStinger' )
return 1.5; return 1.5;
return 1.0; return 1.0;
}*/ }*/
@ -140,16 +140,16 @@ static function SetupAbilities(KFPlayerReplicationInfo KFPRI){
defaultproperties defaultproperties
{ {
bNewTypePerk=True bNewTypePerk=True
SkillGroupA(0)=Class'NicePack.NiceSkillEnforcerUnstoppable' SkillGroupA(0)=class'NiceSkillEnforcerUnstoppable'
SkillGroupA(1)=Class'NicePack.NiceSkillEnforcerBombard' SkillGroupA(1)=class'NiceSkillEnforcerBombard'
SkillGroupA(2)=Class'NicePack.NiceSkillEnforcerCoating' SkillGroupA(2)=class'NiceSkillEnforcerCoating'
SkillGroupA(3)=Class'NicePack.NiceSkillEnforcerStuporA' SkillGroupA(3)=class'NiceSkillEnforcerStuporA'
SkillGroupA(4)=Class'NicePack.NiceSkillEnforcerZEDBarrage' SkillGroupA(4)=class'NiceSkillEnforcerZEDBarrage'
SkillGroupB(0)=Class'NicePack.NiceSkillEnforcerUnshakable' SkillGroupB(0)=class'NiceSkillEnforcerUnshakable'
SkillGroupB(1)=Class'NicePack.NiceSkillEnforcerMultitasker' SkillGroupB(1)=class'NiceSkillEnforcerMultitasker'
SkillGroupB(2)=Class'NicePack.NiceSkillEnforcerDetermination' SkillGroupB(2)=class'NiceSkillEnforcerDetermination'
SkillGroupB(3)=Class'NicePack.NiceSkillEnforcerBrutalCarnageA' SkillGroupB(3)=class'NiceSkillEnforcerBrutalCarnageA'
SkillGroupB(4)=Class'NicePack.NiceSkillEnforcerZEDJuggernaut' SkillGroupB(4)=class'NiceSkillEnforcerZEDJuggernaut'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000
@ -157,7 +157,7 @@ defaultproperties
progressArray0(4)=30000 progressArray0(4)=30000
progressArray0(5)=100000 progressArray0(5)=100000
progressArray0(6)=200000 progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetEnforcer' DefaultDamageType=class'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(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(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(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))

View File

@ -18,7 +18,7 @@ static function float GetHeadshotCheckMultiplier(KFPlayerReplicationInfo KFPRI,
// Give Medic normal hand nades again - he should buy medic nade lauchers for healing nades // Give Medic normal hand nades again - he should buy medic nade lauchers for healing nades
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){ static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){
if(KFPRI != none && class'NiceVetFieldMedic'.static.hasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillMedicArmament')) if(KFPRI != none && class'NiceVetFieldMedic'.static.hasSkill(NicePlayerController(KFPRI.Owner), class'NiceSkillMedicArmament'))
return class'NicePack.NiceMedicNade'; return class'NiceMedicNade';
return class'NiceMedicNadePoison'; return class'NiceMedicNadePoison';
} }
static function float GetAmmoPickupMod(KFPlayerReplicationInfo KFPRI, KFAmmunition Other){ static function float GetAmmoPickupMod(KFPlayerReplicationInfo KFPRI, KFAmmunition Other){
@ -29,7 +29,7 @@ static function float GetAmmoPickupMod(KFPlayerReplicationInfo KFPRI, KFAmmuniti
} }
//can't cook medic nades //can't cook medic nades
static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap){ static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap){
return GetNadeType(KFPRI) != class'NicePack.NiceMedicNade'; return GetNadeType(KFPRI) != class'NiceMedicNade';
} }
static function float GetSyringeChargeRate(KFPlayerReplicationInfo KFPRI){ static function float GetSyringeChargeRate(KFPlayerReplicationInfo KFPRI){
return 3.0; return 3.0;
@ -63,16 +63,16 @@ static function string GetCustomLevelInfo(byte Level){
} }
defaultproperties defaultproperties
{ {
SkillGroupA(0)=Class'NicePack.NiceSkillMedicSymbioticHealth' SkillGroupA(0)=class'NiceSkillMedicSymbioticHealth'
SkillGroupA(1)=Class'NicePack.NiceSkillMedicArmament' SkillGroupA(1)=class'NiceSkillMedicArmament'
SkillGroupA(2)=Class'NicePack.NiceSkillMedicAdrenalineShot' SkillGroupA(2)=class'NiceSkillMedicAdrenalineShot'
SkillGroupA(3)=Class'NicePack.NiceSkillMedicInjection' SkillGroupA(3)=class'NiceSkillMedicInjection'
SkillGroupA(4)=Class'NicePack.NiceSkillMedicZEDHeavenCanceller' SkillGroupA(4)=class'NiceSkillMedicZEDHeavenCanceller'
SkillGroupB(0)=Class'NicePack.NiceSkillMedicAimAssistance' SkillGroupB(0)=class'NiceSkillMedicAimAssistance'
SkillGroupB(1)=Class'NicePack.NiceSkillMedicPesticide' SkillGroupB(1)=class'NiceSkillMedicPesticide'
SkillGroupB(2)=Class'NicePack.NiceSkillMedicRegeneration' SkillGroupB(2)=class'NiceSkillMedicRegeneration'
SkillGroupB(3)=Class'NicePack.NiceSkillMedicTranquilizer' SkillGroupB(3)=class'NiceSkillMedicTranquilizer'
SkillGroupB(4)=Class'NicePack.NiceSkillMedicZEDFrenzy' SkillGroupB(4)=class'NiceSkillMedicZEDFrenzy'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000

View File

@ -89,7 +89,7 @@ static function int ReduceDamage(KFPlayerReplicationInfo KFPRI, KFPawn Injured,
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI) static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI)
{ {
if ( GetClientVeteranSkillLevel(KFPRI) >= 3 ) { if ( GetClientVeteranSkillLevel(KFPRI) >= 3 ) {
return class'NicePack.NiceFlameNade'; return class'NiceFlameNade';
} }
return super.GetNadeType(KFPRI); return super.GetNadeType(KFPRI);
} }
@ -160,7 +160,7 @@ static function string GetCustomLevelInfo( byte Level )
} }
defaultproperties defaultproperties
{ {
DefaultDamageType=Class'NicePack.NiceDamTypeFire' DefaultDamageType=class'NiceDamTypeFire'
DefaultDamageTypeNoBonus=Class'KFMod.DamTypeMAC10MPInc' DefaultDamageTypeNoBonus=Class'KFMod.DamTypeMAC10MPInc'
OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Firebug',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_Firebug',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Firebug_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_Firebug_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255))

View File

@ -321,19 +321,19 @@ static function string GetVetInfoText(byte Level, byte Type, optional byte Requi
return Super.GetVetInfoText(Level, Type, RequirementNum); return Super.GetVetInfoText(Level, Type, RequirementNum);
} }
static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){ static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI){
return class'NicePack.NiceNade'; return class'NiceNade';
} }
static function SetupAbilities(KFPlayerReplicationInfo KFPRI){} static function SetupAbilities(KFPlayerReplicationInfo KFPRI){}
defaultproperties defaultproperties
{ {
SkillGroupA(0)=Class'NicePack.NiceSkill' SkillGroupA(0)=class'NiceSkill'
SkillGroupA(1)=Class'NicePack.NiceSkill' SkillGroupA(1)=class'NiceSkill'
SkillGroupA(2)=Class'NicePack.NiceSkill' SkillGroupA(2)=class'NiceSkill'
SkillGroupA(3)=Class'NicePack.NiceSkill' SkillGroupA(3)=class'NiceSkill'
SkillGroupA(4)=Class'NicePack.NiceSkill' SkillGroupA(4)=class'NiceSkill'
SkillGroupB(0)=Class'NicePack.NiceSkill' SkillGroupB(0)=class'NiceSkill'
SkillGroupB(1)=Class'NicePack.NiceSkill' SkillGroupB(1)=class'NiceSkill'
SkillGroupB(2)=Class'NicePack.NiceSkill' SkillGroupB(2)=class'NiceSkill'
SkillGroupB(3)=Class'NicePack.NiceSkill' SkillGroupB(3)=class'NiceSkill'
SkillGroupB(4)=Class'NicePack.NiceSkill' SkillGroupB(4)=class'NiceSkill'
} }

View File

@ -141,16 +141,16 @@ static function SetupAbilities(KFPlayerReplicationInfo KFPRI){
defaultproperties defaultproperties
{ {
bNewTypePerk=True bNewTypePerk=True
SkillGroupA(0)=Class'NicePack.NiceSkillSharpshooterKillConfirmed' SkillGroupA(0)=class'NiceSkillSharpshooterKillConfirmed'
SkillGroupA(1)=Class'NicePack.NiceSkillSharpshooterDamage' SkillGroupA(1)=class'NiceSkillSharpshooterDamage'
SkillGroupA(2)=Class'NicePack.NiceSkillSharpshooterDieAlready' SkillGroupA(2)=class'NiceSkillSharpshooterDieAlready'
SkillGroupA(3)=Class'NicePack.NiceSkillSharpshooterReaperA' SkillGroupA(3)=class'NiceSkillSharpshooterReaperA'
SkillGroupA(4)=Class'NicePack.NiceSkillSharpshooterZEDAdrenaline' SkillGroupA(4)=class'NiceSkillSharpshooterZEDAdrenaline'
SkillGroupB(0)=Class'NicePack.NiceSkillSharpshooterSurgical' SkillGroupB(0)=class'NiceSkillSharpshooterSurgical'
SkillGroupB(1)=Class'NicePack.NiceSkillSharpshooterControl' SkillGroupB(1)=class'NiceSkillSharpshooterControl'
SkillGroupB(2)=Class'NicePack.NiceSkillSharpshooterArdour' SkillGroupB(2)=class'NiceSkillSharpshooterArdour'
SkillGroupB(3)=Class'NicePack.NiceSkillSharpshooterGunslingerA' SkillGroupB(3)=class'NiceSkillSharpshooterGunslingerA'
SkillGroupB(4)=Class'NicePack.NiceSkillSharpshooterZEDHundredGauntlets' SkillGroupB(4)=class'NiceSkillSharpshooterZEDHundredGauntlets'
progressArray0(0)=100 progressArray0(0)=100
progressArray0(1)=1000 progressArray0(1)=1000
progressArray0(2)=3000 progressArray0(2)=3000
@ -158,7 +158,7 @@ defaultproperties
progressArray0(4)=30000 progressArray0(4)=30000
progressArray0(5)=100000 progressArray0(5)=100000
progressArray0(6)=200000 progressArray0(6)=200000
DefaultDamageType=Class'NicePack.NiceDamageTypeVetSharpshooter' DefaultDamageType=class'NiceDamageTypeVetSharpshooter'
OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_SharpShooter',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(0)=(PerkIcon=Texture'KillingFloorHUD.Perks.Perk_SharpShooter',StarIcon=Texture'KillingFloorHUD.HUD.Hud_Perk_Star',DrawColor=(B=255,G=255,R=255,A=255))
OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_SharpShooter_Gold',StarIcon=Texture'KillingFloor2HUD.Perk_Icons.Hud_Perk_Star_Gold',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(1)=(PerkIcon=Texture'KillingFloor2HUD.Perk_Icons.Perk_SharpShooter_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_SharpShooter_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255)) OnHUDIcons(2)=(PerkIcon=Texture'ScrnTex.Perks.Perk_SharpShooter_Green',StarIcon=Texture'ScrnTex.Perks.Hud_Perk_Star_Green',DrawColor=(B=255,G=255,R=255,A=255))

View File

@ -1,111 +0,0 @@
class NiceTSCGame extends TSCGame;
// Copy-pasted from NiceGameType
var NicePack NicePackMutator;
function RegisterMutator(NicePack activePack){
NicePackMutator = activePack;
}
function SetupWave(){
Super.SetupWave();
// Event call
NicePackMutator.WaveStart();
}
function RestartPlayer(Controller aPlayer){
Super.RestartPlayer(aPlayer);
if(aPlayer.Pawn != none && NicePlayerController(aPlayer) != none)
NicePlayerController(aPlayer).PawnSpawned();
}
State MatchInProgress{
function BeginState(){
Super(Invasion).BeginState();
WaveNum = InitialWave;
InvasionGameReplicationInfo(GameReplicationInfo).WaveNumber = WaveNum;
if(NicePackMutator.bInitialTrader)
WaveCountDown = NicePackMutator.initialTraderTime + 10;
else
WaveCountDown = 10;
SetupPickups();
// Event call
NicePackMutator.MatchBegan();
}
function DoWaveEnd(){
Super.DoWaveEnd();
// Event call
NicePackMutator.TraderStart();
}
}
function DramaticEvent(float BaseZedTimePossibility, optional float DesiredZedTimeDuration){
local bool bWasZedTime;
bWasZedTime = bZEDTimeActive;
Super.DramaticEvent(BaseZedTimePossibility, DesiredZedTimeDuration);
// Call events
if(!bWasZedTime && bZEDTimeActive)
NicePackMutator.ZedTimeActivated();
}
event Tick(float DeltaTime){
local float TrueTimeFactor;
local Controller C;
if(bZEDTimeActive){
TrueTimeFactor = 1.1 / Level.TimeDilation;
CurrentZEDTimeDuration -= DeltaTime * TrueTimeFactor;
if(CurrentZEDTimeDuration < (ZEDTimeDuration*0.166) && CurrentZEDTimeDuration > 0 ){
if(!bSpeedingBackUp){
bSpeedingBackUp = true;
for(C = Level.ControllerList;C != none;C = C.NextController){
if(KFPlayerController(C)!= none)
KFPlayerController(C).ClientExitZedTime();
}
}
SetGameSpeed(Lerp( (CurrentZEDTimeDuration/(ZEDTimeDuration*0.166)), 1.0, 0.2 ));
}
if(CurrentZEDTimeDuration <= 0){
if(bZEDTimeActive)
NicePackMutator.ZedTimeDeactivated();
bZEDTimeActive = false;
bSpeedingBackUp = false;
SetGameSpeed(1.0);
ZedTimeExtensionsUsed = 0;
}
}
}
function Killed(Controller Killer, Controller Killed, Pawn KilledPawn, class<DamageType> dmgType){
local KFSteamStatsAndAchievements StatsAndAchievements;
Super.Killed(Killer, Killed, KilledPawn, dmgType);
if(PlayerController(Killer) != none){
if (NiceMonster(KilledPawn) != none && Killed != Killer){
StatsAndAchievements = KFSteamStatsAndAchievements(PlayerController(Killer).SteamStatsAndAchievements);
if(StatsAndAchievements != none){
if(KilledPawn.IsA('NiceZombieStalker') || KilledPawn.IsA('MeanZombieStalker')){
if(class<NiceDamTypeWinchester>(dmgType) != none)
StatsAndAchievements.AddStalkerKillWithLAR();
}
else if(KilledPawn.IsA('NiceZombieClot') || KilledPawn.IsA('MeanZombieClot')){
if(class<NiceDamTypeWinchester>(dmgType) != none)
KFSteamStatsAndAchievements(PlayerController(Killer).SteamStatsAndAchievements).AddClotKillWithLAR();
}
}
}
}
}
// Reloaded to award damage
function int ReduceDamage(int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType){
local NiceMonster niceZed;
local KFPlayerController PC;
niceZed = NiceMonster(Injured);
if(niceZed != none){
if(instigatedBy != none){
PC = KFPlayerController(instigatedBy.Controller);
if(class<NiceWeaponDamageType>(damageType) != none && PC != none)
class<NiceWeaponDamageType>(damageType).Static.AwardNiceDamage(KFSteamStatsAndAchievements(PC.SteamStatsAndAchievements), Clamp(Damage, 1, Injured.Health), niceZed.scrnRules.HardcoreLevel);
}
}
return Super.ReduceDamage(Damage, injured, InstigatedBy, HitLocation, Momentum, DamageType);
}
defaultproperties
{
GameName="Nice Team Survival Competition"
Description="Nice Edition of Team Survival Competition (TSCGame)."
}

View File

@ -1,22 +0,0 @@
class NiceTSCLobbyFooter extends NiceLobbyFooter;
defaultproperties
{
Begin Object Class=GUIButton Name=ReadyButton
Caption="Ready"
MenuState=MSAT_Disabled
Hint="Click to indicate you are ready to play"
WinTop=0.966146
WinLeft=0.280000
WinWidth=0.120000
WinHeight=0.033203
RenderWeight=2.000000
TabOrder=4
bBoundToParent=True
bVisible=False
ToolTip=None
OnClick=TSCLobbyFooter.OnFooterClick
OnKeyEvent=ReadyButton.InternalOnKeyEvent
End Object
b_Ready=GUIButton'NicePack.NiceTSCLobbyFooter.ReadyButton'
}

View File

@ -1,12 +0,0 @@
class NiceTSCLobbyMenu extends TSCLobbyMenu;
defaultproperties
{
Begin Object Class=NiceTSCLobbyFooter Name=BuyFooter
RenderWeight=0.300000
TabOrder=8
bBoundToParent=False
bScaleToParent=False
OnPreDraw=BuyFooter.InternalOnPreDraw
End Object
t_Footer=NiceTSCLobbyFooter'NicePack.NiceTSCLobbyMenu.BuyFooter'
}

View File

@ -189,11 +189,11 @@ simulated function DoToggle(){
ServerApplyFireModes(); ServerApplyFireModes();
PlayOwnedSound(ToggleSound, SLOT_none, 2.0,,,, false); PlayOwnedSound(ToggleSound, SLOT_none, 2.0,,,, false);
if(MainFire == ETYPE_AUTO) if(MainFire == ETYPE_AUTO)
player.ReceiveLocalizedMessage(class'NicePack.NiceAssaultRifleMessage', 1); player.ReceiveLocalizedMessage(class'NiceAssaultRifleMessage', 1);
else if(MainFire == ETYPE_SEMI) else if(MainFire == ETYPE_SEMI)
player.ReceiveLocalizedMessage(class'NicePack.NiceAssaultRifleMessage', 0); player.ReceiveLocalizedMessage(class'NiceAssaultRifleMessage', 0);
else if(MainFire == ETYPE_BURST) else if(MainFire == ETYPE_BURST)
player.ReceiveLocalizedMessage(class'NicePack.NiceAssaultRifleMessage', 2); player.ReceiveLocalizedMessage(class'NiceAssaultRifleMessage', 2);
} }
} }
simulated function SecondDoToggle(){ simulated function SecondDoToggle(){
@ -226,9 +226,9 @@ simulated function SecondDoToggle(){
ServerApplyFireModes(); ServerApplyFireModes();
PlayOwnedSound(ToggleSound, SLOT_none, 2.0,,,, false); PlayOwnedSound(ToggleSound, SLOT_none, 2.0,,,, false);
if(choosenType == ETYPE_SEMI) if(choosenType == ETYPE_SEMI)
nicePlayer.ReceiveLocalizedMessage(class'NicePack.NiceAssaultRifleMessage', 4); nicePlayer.ReceiveLocalizedMessage(class'NiceAssaultRifleMessage', 4);
else else
nicePlayer.ReceiveLocalizedMessage(class'NicePack.NiceAssaultRifleMessage', 5); nicePlayer.ReceiveLocalizedMessage(class'NiceAssaultRifleMessage', 5);
} }
simulated function ClientNiceChangeFireMode(bool bNewWaitForRelease, bool bNewSemiMustBurst){ simulated function ClientNiceChangeFireMode(bool bNewWaitForRelease, bool bNewSemiMustBurst){
local NiceFire niceF; local NiceFire niceF;

View File

@ -34,7 +34,7 @@ simulated function ReduceAmmoClient(){
defaultproperties defaultproperties
{ {
ProjectileSpeed=12500.000000 ProjectileSpeed=12500.000000
bulletClass=Class'NicePack.NiceMedicProjectile' bulletClass=class'NiceMedicProjectile'
FireAimedAnim="Fire_Iron" FireAimedAnim="Fire_Iron"
FireSoundRef="KF_MP7Snd.Medicgun_Fire" FireSoundRef="KF_MP7Snd.Medicgun_Fire"
StereoFireSoundRef="KF_MP7Snd.Medicgun_FireST" StereoFireSoundRef="KF_MP7Snd.Medicgun_FireST"

View File

@ -9,7 +9,7 @@ defaultproperties
heatPart=1.000000 heatPart=1.000000
bDealBurningDamage=True bDealBurningDamage=True
bCheckForHeadShots=False bCheckForHeadShots=False
//WeaponClass=Class'NicePack.NiceFlame9mm' //WeaponClass=class'NiceFlame9mm'
DeathString="%k incinerated %o." DeathString="%k incinerated %o."
FemaleSuicide="%o roasted herself alive." FemaleSuicide="%o roasted herself alive."
MaleSuicide="%o roasted himself alive." MaleSuicide="%o roasted himself alive."

View File

@ -428,7 +428,7 @@ function GiveAmmo(int m, WeaponPickup WP, bool bJustSpawned){
defaultproperties defaultproperties
{ {
SingleClass=Class'NicePack.NiceSingle' SingleClass=class'NiceSingle'
altFlashBoneName="Tip_Left" altFlashBoneName="Tip_Left"
altTPAnim="DualiesAttackLeft" altTPAnim="DualiesAttackLeft"
altWeaponAttach="Bone_weapon2" altWeaponAttach="Bone_weapon2"
@ -460,7 +460,7 @@ defaultproperties
TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_Dual_9mm' TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_Dual_9mm'
ZoomInRotation=(Pitch=0,Roll=0) ZoomInRotation=(Pitch=0,Roll=0)
ZoomedDisplayFOV=65.000000 ZoomedDisplayFOV=65.000000
FireModeClass(0)=Class'NicePack.NiceDualiesFire' FireModeClass(0)=class'NiceDualiesFire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
AIRating=0.440000 AIRating=0.440000
@ -472,10 +472,10 @@ defaultproperties
Priority=65 Priority=65
InventoryGroup=2 InventoryGroup=2
GroupOffset=2 GroupOffset=2
PickupClass=Class'NicePack.NiceDualiesPickup' PickupClass=class'NiceDualiesPickup'
PlayerViewOffset=(X=20.000000,Z=-7.000000) PlayerViewOffset=(X=20.000000,Z=-7.000000)
BobDamping=7.000000 BobDamping=7.000000
AttachmentClass=Class'NicePack.NiceDualiesAttachment' AttachmentClass=class'NiceDualiesAttachment'
IconCoords=(X1=229,Y1=258,X2=296,Y2=307) IconCoords=(X1=229,Y1=258,X2=296,Y2=307)
ItemName="!!!Dual something" ItemName="!!!Dual something"
DrawScale=0.900000 DrawScale=0.900000

View File

@ -6,7 +6,7 @@ defaultproperties
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=480 MaxAmmo=480
InitialAmount=240 InitialAmount=240
PickupClass=Class'NicePack.NiceDualiesAmmoPickup' PickupClass=class'NiceDualiesAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=413,Y1=82,X2=457,Y2=125) IconCoords=(X1=413,Y1=82,X2=457,Y2=125)
ItemName="Dualies bullets" ItemName="Dualies bullets"

View File

@ -3,7 +3,7 @@ class NiceDualiesAmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceDualiesAmmo' InventoryType=class'NiceDualiesAmmo'
PickupMessage="Rounds (9mm)" PickupMessage="Rounds (9mm)"
StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo' StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo'
} }

View File

@ -234,7 +234,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.087500 FireRate=0.087500
AmmoClass=Class'NicePack.NiceSingleAmmo' AmmoClass=class'NiceSingleAmmo'
ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000) ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000)
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000) ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
ShakeRotTime=3.000000 ShakeRotTime=3.000000

View File

@ -30,7 +30,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.DualiesAmmo' AmmoMesh=StaticMesh'KillingFloorStatics.DualiesAmmo'
CorrespondingPerkIndex=2 CorrespondingPerkIndex=2
EquipmentCategoryID=1 EquipmentCategoryID=1
InventoryType=Class'NicePack.NiceDualies' InventoryType=class'NiceDualies'
PickupMessage="You found another 9mm handgun" PickupMessage="You found another 9mm handgun"
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_pickups_Trip.pistol.double9mm_pickup' StaticMesh=StaticMesh'KF_pickups_Trip.pistol.double9mm_pickup'

View File

@ -180,7 +180,7 @@ function GiveTo(Pawn other, optional Pickup Pickup){
defaultproperties defaultproperties
{ {
DualClass=Class'NicePack.NiceDualies' DualClass=class'NiceDualies'
bHasChargePhase=False bHasChargePhase=False
FirstPersonFlashlightOffset=(X=-20.000000,Y=-22.000000,Z=8.000000) FirstPersonFlashlightOffset=(X=-20.000000,Y=-22.000000,Z=8.000000)
MagCapacity=15 MagCapacity=15
@ -195,7 +195,7 @@ defaultproperties
StandardDisplayFOV=70.000000 StandardDisplayFOV=70.000000
TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_9mm' TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_9mm'
ZoomedDisplayFOV=65.000000 ZoomedDisplayFOV=65.000000
FireModeClass(0)=Class'NicePack.NiceSingleFire' FireModeClass(0)=class'NiceSingleFire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
AIRating=0.250000 AIRating=0.250000
@ -206,10 +206,10 @@ defaultproperties
Priority=60 Priority=60
InventoryGroup=2 InventoryGroup=2
GroupOffset=1 GroupOffset=1
PickupClass=Class'NicePack.NiceSinglePickup' PickupClass=class'NiceSinglePickup'
PlayerViewOffset=(X=20.000000,Y=25.000000,Z=-10.000000) PlayerViewOffset=(X=20.000000,Y=25.000000,Z=-10.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceSingleAttachment' AttachmentClass=class'NiceSingleAttachment'
IconCoords=(X1=434,Y1=253,X2=506,Y2=292) IconCoords=(X1=434,Y1=253,X2=506,Y2=292)
ItemName="Just a single pistol" ItemName="Just a single pistol"
} }

View File

@ -3,7 +3,7 @@ class NiceSingleAmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=20 AmmoAmount=20
InventoryType=Class'NicePack.NiceSingleAmmo' InventoryType=class'NiceSingleAmmo'
RespawnTime=0.000000 RespawnTime=0.000000
PickupMessage="Rounds (9mm)" PickupMessage="Rounds (9mm)"
StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo' StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo'

View File

@ -33,7 +33,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.175000 FireRate=0.175000
AmmoClass=Class'NicePack.NiceSingleAmmo' AmmoClass=class'NiceSingleAmmo'
ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000) ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000)
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000) ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
ShakeRotTime=3.000000 ShakeRotTime=3.000000

View File

@ -74,7 +74,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.DualiesAmmo' AmmoMesh=StaticMesh'KillingFloorStatics.DualiesAmmo'
CorrespondingPerkIndex=2 CorrespondingPerkIndex=2
EquipmentCategoryID=1 EquipmentCategoryID=1
InventoryType=Class'NicePack.NiceSingle' InventoryType=class'NiceSingle'
PickupMessage="You got the 9mm handgun" PickupMessage="You got the 9mm handgun"
PickupSound=Sound'KF_9MMSnd.9mm_Pickup' PickupSound=Sound'KF_9MMSnd.9mm_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -12,8 +12,8 @@ simulated function ReleaseNails(optional bool bServerOnly){
shotParams.damage = 52; shotParams.damage = 52;
shotParams.projSpeed = 3500.0; shotParams.projSpeed = 3500.0;
shotParams.momentum = 50000; shotParams.momentum = 50000;
shotParams.shotDamageType = class'NicePack.NiceDamTypeNailGun'; shotParams.shotDamageType = class'NiceDamTypeNailGun';
shotParams.bulletClass = class'NicePack.NiceNail'; shotParams.bulletClass = class'NiceNail';
shotParams.bCausePain = true; shotParams.bCausePain = true;
if(fireContext.instigator != none) if(fireContext.instigator != none)
niceMut = class'NicePack'.static.Myself(fireContext.Instigator.Level); niceMut = class'NicePack'.static.Myself(fireContext.Instigator.Level);

View File

@ -541,7 +541,7 @@ function DoFireEffect(){
activeSpread *= class'NiceSkillEnforcerBombard'.default.spreadMult; activeSpread *= class'NiceSkillEnforcerBombard'.default.spreadMult;
} }
bIsShotgunBullet = ClassIsChildOf(fireShots[currentShot].bulletClass, class'NiceShotgunPellet'); bIsShotgunBullet = ClassIsChildOf(fireShots[currentShot].bulletClass, class'NiceShotgunPellet');
if( bIsShotgunBullet && weapon.class != class'NicePack.NiceSpas' && weapon.class != class'NiceNailGun' if( bIsShotgunBullet && weapon.class != class'NiceSpas' && weapon.class != class'NiceNailGun'
&& class'NiceVeterancyTypes'.static.hasSkill(nicePlayer, class'NiceSkillSupportSlugs') ) && class'NiceVeterancyTypes'.static.hasSkill(nicePlayer, class'NiceSkillSupportSlugs') )
activeSpread = 0.0; activeSpread = 0.0;
if(bIsShotgunBullet && activeSpread <= 0.0 && !bPinpoint) if(bIsShotgunBullet && activeSpread <= 0.0 && !bPinpoint)
@ -696,7 +696,7 @@ defaultproperties
ProjPerFire=1 ProjPerFire=1
ProjectileSpeed=1524.000000 ProjectileSpeed=1524.000000
MaxBurstLength=3 MaxBurstLength=3
bulletClass=Class'NicePack.NiceBullet' bulletClass=class'NiceBullet'
contBonus=1.200000 contBonus=1.200000
contBonusReset=True contBonusReset=True
maxBonusContLenght=1 maxBonusContLenght=1

View File

@ -1331,55 +1331,75 @@ function SetNiceData(NicePlainData.Data transferData, optional NiceHumanPawn new
secondaryCharge = class'NicePlainData'.static.GetInt(transferData, "ChargeAmount", 1); secondaryCharge = class'NicePlainData'.static.GetInt(transferData, "ChargeAmount", 1);
ClientSetSndCharge(secondaryCharge); ClientSetSndCharge(secondaryCharge);
} }
simulated function ApplyLaserState(){
simulated function ApplyLaserState()
{
bLaserActive = LaserType > 0; bLaserActive = LaserType > 0;
if(Role < ROLE_Authority) if (Role < ROLE_Authority)
ServerSetLaserType(LaserType); ServerSetLaserType(LaserType);
if(NiceAttachment(ThirdPersonActor) != none) if (NiceAttachment(ThirdPersonActor) != none)
NiceAttachment(ThirdPersonActor).SetLaserType(LaserType); NiceAttachment(ThirdPersonActor).SetLaserType(LaserType);
if(!Instigator.IsLocallyControlled()) // Instigator accessed none fix
if (Instigator == none || !Instigator.IsLocallyControlled())
return; return;
if(bLaserActive){ if (bLaserActive)
if(LaserDot == none) {
if (LaserDot == none)
LaserDot = Spawn(LaserDotClass, self); LaserDot = Spawn(LaserDotClass, self);
LaserDot.SetLaserType(LaserType); LaserDot.SetLaserType(LaserType);
if(altLaserAttachmentBone != ''){ if (altLaserAttachmentBone != '')
if(altLaserDot == none) {
if (altLaserDot == none)
altLaserDot = Spawn(LaserDotClass, self); altLaserDot = Spawn(LaserDotClass, self);
altLaserDot.SetLaserType(LaserType); altLaserDot.SetLaserType(LaserType);
} }
//spawn 1-st person laser attachment for weapon owner // spawn 1-st person laser attachment for weapon owner
if(LaserAttachment == none){ if (LaserAttachment == none)
{
SetBoneRotation(LaserAttachmentBone, LaserAttachmentRotation); SetBoneRotation(LaserAttachmentBone, LaserAttachmentRotation);
LaserAttachment = Spawn(LaserAttachmentClass,,,,); LaserAttachment = Spawn(LaserAttachmentClass,,,,);
if (LaserAttachment != none)
{
AttachToBone(LaserAttachment, LaserAttachmentBone); AttachToBone(LaserAttachment, LaserAttachmentBone);
if(LaserAttachment != none)
LaserAttachment.SetRelativeLocation(LaserAttachmentOffset); LaserAttachment.SetRelativeLocation(LaserAttachmentOffset);
} }
if(altLaserAttachment == none && altLaserAttachmentBone != ''){ }
else
LaserAttachment.bHidden = false;
if (altLaserAttachment == none)
{
if (altLaserAttachmentBone != '')
{
SetBoneRotation(altLaserAttachmentBone, altLaserAttachmentRotation); SetBoneRotation(altLaserAttachmentBone, altLaserAttachmentRotation);
altLaserAttachment = Spawn(LaserAttachmentClass,,,,); altLaserAttachment = Spawn(LaserAttachmentClass,,,,);
if (altLaserAttachment != none)
{
AttachToBone(altLaserAttachment, altLaserAttachmentBone); AttachToBone(altLaserAttachment, altLaserAttachmentBone);
if(altLaserAttachment != none)
altLaserAttachment.SetRelativeLocation(altLaserAttachmentOffset); altLaserAttachment.SetRelativeLocation(altLaserAttachmentOffset);
} }
ConstantColor'ScrnTex.Laser.LaserColor'.Color = LaserDot.GetLaserColor();
LaserAttachment.bHidden = false;
altLaserAttachment.bHidden = false;
} }
else{ }
if(LaserAttachment != none) else
altLaserAttachment.bHidden = false;
ConstantColor'ScrnTex.Laser.LaserColor'.Color = LaserDot.GetLaserColor();
}
else
{
if (LaserAttachment != none)
LaserAttachment.bHidden = true; LaserAttachment.bHidden = true;
if(altLaserAttachment != none) if (altLaserAttachment != none)
altLaserAttachment.bHidden = true; altLaserAttachment.bHidden = true;
if(LaserDot != none) if (LaserDot != none)
LaserDot.Destroy(); LaserDot.Destroy();
if(altLaserDot != none) if (altLaserDot != none)
altLaserDot.Destroy(); altLaserDot.Destroy();
} }
} }
simulated function ToggleLaser(){ simulated function ToggleLaser(){
if(!Instigator.IsLocallyControlled()) if(!Instigator.IsLocallyControlled())
return; return;
@ -1578,6 +1598,30 @@ simulated function Destroyed(){
super(KFWeapon).Destroyed(); super(KFWeapon).Destroyed();
} }
simulated function float GetAmmoMulti()
{
if (NextAmmoCheckTime > Level.TimeSeconds)
{
return LastAmmoResult;
}
NextAmmoCheckTime = Level.TimeSeconds + 1;
// Instigator accessed none fix
if (FireMode[0] != none && FireMode[0].AmmoClass != none && Instigator != none && KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo) != none &&
KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill != none )
{
LastAmmoResult = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill.static.AddExtraAmmoFor(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo), FireMode[0].AmmoClass);
}
else
{
LastAmmoResult = 1;
}
return LastAmmoResult;
}
defaultproperties defaultproperties
{ {
recordedZoomTime=-1.000000 recordedZoomTime=-1.000000

View File

@ -2,11 +2,11 @@ class NiceAK12Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceAK12Pickup' WeaponPickupClass=class'NiceAK12Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=270 MaxAmmo=270
InitialAmount=60 InitialAmount=60
PickupClass=Class'NicePack.NiceAK12AmmoPickup' PickupClass=class'NiceAK12AmmoPickup'
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)
ItemName="5.45x39mm" ItemName="5.45x39mm"

View File

@ -2,7 +2,7 @@ class NiceAK12AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceAK12Ammo' InventoryType=class'NiceAK12Ammo'
PickupMessage="Rounds 5.45x39mm" PickupMessage="Rounds 5.45x39mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -36,7 +36,7 @@ defaultproperties
SelectedHudImageRef="ScrnWeaponPack_T.AK12.AK12_select" SelectedHudImageRef="ScrnWeaponPack_T.AK12.AK12_select"
PlayerIronSightFOV=65.000000 PlayerIronSightFOV=65.000000
ZoomedDisplayFOV=20.000000 ZoomedDisplayFOV=20.000000
FireModeClass(0)=Class'NicePack.NiceAK12Fire' FireModeClass(0)=class'NiceAK12Fire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectAnimRate=1.300000 SelectAnimRate=1.300000
@ -52,10 +52,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=4 InventoryGroup=4
GroupOffset=7 GroupOffset=7
PickupClass=Class'NicePack.NiceAK12Pickup' PickupClass=class'NiceAK12Pickup'
PlayerViewOffset=(X=-0.500000,Y=20.000000,Z=-3.000000) PlayerViewOffset=(X=-0.500000,Y=20.000000,Z=-3.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceAK12Attachment' AttachmentClass=class'NiceAK12Attachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79) IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="AK12" ItemName="AK12"
TransientSoundVolume=1.250000 TransientSoundVolume=1.250000

View File

@ -15,7 +15,7 @@ defaultproperties
FireSoundRef="ScrnWeaponPack_SND.AK12.AK12_shot" FireSoundRef="ScrnWeaponPack_SND.AK12.AK12_shot"
StereoFireSoundRef="ScrnWeaponPack_SND.AK12.AK12_shot" StereoFireSoundRef="ScrnWeaponPack_SND.AK12.AK12_shot"
NoAmmoSoundRef="ScrnWeaponPack_SND.AK12.AK12_empty" NoAmmoSoundRef="ScrnWeaponPack_SND.AK12.AK12_empty"
DamageType=Class'NicePack.NiceDamTypeAK12AssaultRifle' DamageType=class'NiceDamTypeAK12AssaultRifle'
DamageMax=68 DamageMax=68
Momentum=18500.000000 Momentum=18500.000000
bPawnRapidFireAnim=True bPawnRapidFireAnim=True
@ -24,7 +24,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.095000 FireRate=0.095000
AmmoClass=Class'NicePack.NiceAK12Ammo' AmmoClass=class'NiceAK12Ammo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000) ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000)
ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000) ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000)
ShakeRotTime=0.750000 ShakeRotTime=0.750000

View File

@ -15,7 +15,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo' AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo'
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=2 EquipmentCategoryID=2
InventoryType=Class'NicePack.NiceAK12AssaultRifle' InventoryType=class'NiceAK12AssaultRifle'
PickupMessage="You got the AK-12" PickupMessage="You got the AK-12"
PickupSound=Sound'ScrnWeaponPack_SND.AK12.AK12_select' PickupSound=Sound'ScrnWeaponPack_SND.AK12.AK12_select'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -5,7 +5,7 @@ defaultproperties
bPenetrationHSOnly=True bPenetrationHSOnly=True
MaxPenetrations=3 MaxPenetrations=3
HeadShotDamageMult=1.300000 HeadShotDamageMult=1.300000
WeaponClass=Class'NicePack.NiceAK12AssaultRifle' WeaponClass=class'NiceAK12AssaultRifle'
DeathString="%k killed %o (AK12)." DeathString="%k killed %o (AK12)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -2,11 +2,11 @@ class NiceAK47Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceAK47Pickup' WeaponPickupClass=class'NiceAK47Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=240 MaxAmmo=240
InitialAmount=90 InitialAmount=90
PickupClass=Class'NicePack.NiceAK47AmmoPickup' PickupClass=class'NiceAK47AmmoPickup'
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)
ItemName="AK47 bullets" ItemName="AK47 bullets"

View File

@ -2,7 +2,7 @@ class NiceAK47AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceAK47Ammo' InventoryType=class'NiceAK47Ammo'
PickupMessage="Rounds 7.62mm" PickupMessage="Rounds 7.62mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -30,7 +30,7 @@ defaultproperties
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.Ak_47" SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.Ak_47"
PlayerIronSightFOV=65.000000 PlayerIronSightFOV=65.000000
ZoomedDisplayFOV=32.000000 ZoomedDisplayFOV=32.000000
FireModeClass(0)=Class'NicePack.NiceAK47Fire' FireModeClass(0)=class'NiceAK47Fire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle" SelectForce="SwitchToAssaultRifle"
@ -45,10 +45,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=3 InventoryGroup=3
GroupOffset=7 GroupOffset=7
PickupClass=Class'NicePack.NiceAK47Pickup' PickupClass=class'NiceAK47Pickup'
PlayerViewOffset=(X=18.000000,Y=22.000000,Z=-6.000000) PlayerViewOffset=(X=18.000000,Y=22.000000,Z=-6.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceAK47Attachment' AttachmentClass=class'NiceAK47Attachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79) IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="AK47" ItemName="AK47"
TransientSoundVolume=1.250000 TransientSoundVolume=1.250000

View File

@ -14,7 +14,7 @@ defaultproperties
FireSoundRef="KF_AK47Snd.AK47_Fire" FireSoundRef="KF_AK47Snd.AK47_Fire"
StereoFireSoundRef="KF_AK47Snd.AK47_FireST" StereoFireSoundRef="KF_AK47Snd.AK47_FireST"
NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire" NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire"
DamageType=Class'NicePack.NiceDamTypeAK47AssaultRifle' DamageType=class'NiceDamTypeAK47AssaultRifle'
DamageMin=60 DamageMin=60
DamageMax=60 DamageMax=60
Momentum=8500.000000 Momentum=8500.000000
@ -24,7 +24,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.109000 FireRate=0.109000
AmmoClass=Class'NicePack.NiceAK47Ammo' AmmoClass=class'NiceAK47Ammo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000) ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000)
ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000) ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000)
ShakeRotTime=0.750000 ShakeRotTime=0.750000

View File

@ -17,7 +17,7 @@ defaultproperties
EquipmentCategoryID=2 EquipmentCategoryID=2
VariantClasses(0)=Class'KFMod.GoldenAK47pickup' VariantClasses(0)=Class'KFMod.GoldenAK47pickup'
VariantClasses(1)=Class'KFMod.NeonAK47Pickup' VariantClasses(1)=Class'KFMod.NeonAK47Pickup'
InventoryType=Class'NicePack.NiceAK47AssaultRifle' InventoryType=class'NiceAK47AssaultRifle'
PickupMessage="You got the AK47" PickupMessage="You got the AK47"
PickupSound=Sound'KF_AK47Snd.AK47_Pickup' PickupSound=Sound'KF_AK47Snd.AK47_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -4,7 +4,7 @@ defaultproperties
{ {
MaxPenetrations=1 MaxPenetrations=1
HeadShotDamageMult=2.000000 HeadShotDamageMult=2.000000
WeaponClass=Class'NicePack.NiceAK47AssaultRifle' WeaponClass=class'NiceAK47AssaultRifle'
DeathString="%k killed %o (AK47)." DeathString="%k killed %o (AK47)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -3,7 +3,7 @@ class NiceDamTypeVALDT extends NiceDamageTypeVetCommando
defaultproperties defaultproperties
{ {
HeadShotDamageMult=1.500000 HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceVALDTAssaultRifle' WeaponClass=class'NiceVALDTAssaultRifle'
DeathString="%k killed %o (AS 'VAL')." DeathString="%k killed %o (AS 'VAL')."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -2,11 +2,11 @@ class NiceVALDTAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceVALDTPickup' WeaponPickupClass=class'NiceVALDTPickup'
AmmoPickupAmount=20 AmmoPickupAmount=20
MaxAmmo=300 MaxAmmo=300
InitialAmount=75 InitialAmount=75
PickupClass=Class'NicePack.NiceVALDTAmmoPickup' PickupClass=class'NiceVALDTAmmoPickup'
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)
ItemName="9x39mm" ItemName="9x39mm"

View File

@ -2,7 +2,7 @@ class NiceVALDTAmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=20 AmmoAmount=20
InventoryType=Class'NicePack.NiceVALDTAmmo' InventoryType=class'NiceVALDTAmmo'
PickupMessage="9x39mm" PickupMessage="9x39mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -29,8 +29,8 @@ defaultproperties
SelectedHudImageRef="ScrnWeaponPack_T.VAL.ValDT_selected" SelectedHudImageRef="ScrnWeaponPack_T.VAL.ValDT_selected"
PlayerIronSightFOV=65.000000 PlayerIronSightFOV=65.000000
ZoomedDisplayFOV=32.000000 ZoomedDisplayFOV=32.000000
FireModeClass(0)=Class'NicePack.NiceVALDTFire' FireModeClass(0)=class'NiceVALDTFire'
FireModeClass(1)=Class'NicePack.NiceVALDTFire' FireModeClass(1)=class'NiceVALDTFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle" SelectForce="SwitchToAssaultRifle"
AIRating=0.550000 AIRating=0.550000
@ -44,7 +44,7 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=3 InventoryGroup=3
GroupOffset=7 GroupOffset=7
PickupClass=Class'NicePack.NiceVALDTPickup' PickupClass=class'NiceVALDTPickup'
PlayerViewOffset=(X=10.000000,Y=10.000000,Z=-5.000000) PlayerViewOffset=(X=10.000000,Y=10.000000,Z=-5.000000)
BobDamping=5.000000 BobDamping=5.000000
AttachmentClass=Class'ScrnWeaponPack.VALDTAttachment' AttachmentClass=Class'ScrnWeaponPack.VALDTAttachment'

View File

@ -12,7 +12,7 @@ defaultproperties
FireSoundRef="ScrnWeaponPack_SND.VSS.VSS_Fire" FireSoundRef="ScrnWeaponPack_SND.VSS.VSS_Fire"
StereoFireSoundRef="ScrnWeaponPack_SND.VSS.VSS_Fire" StereoFireSoundRef="ScrnWeaponPack_SND.VSS.VSS_Fire"
NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire" NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire"
DamageType=Class'NicePack.NiceDamTypeVALDT' DamageType=class'NiceDamTypeVALDT'
DamageMin=40 DamageMin=40
DamageMax=40 DamageMax=40
Momentum=18500.000000 Momentum=18500.000000
@ -22,7 +22,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.089000 FireRate=0.089000
AmmoClass=Class'NicePack.NiceVALDTAmmo' AmmoClass=class'NiceVALDTAmmo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000) ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000)
ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000) ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000)
ShakeRotTime=0.750000 ShakeRotTime=0.750000

View File

@ -14,7 +14,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo' AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo'
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=2 EquipmentCategoryID=2
InventoryType=Class'NicePack.NiceVALDTAssaultRifle' InventoryType=class'NiceVALDTAssaultRifle'
PickupMessage="You've got a AS 'VAL'" PickupMessage="You've got a AS 'VAL'"
PickupSound=Sound'KF_AK47Snd.AK47_Pickup' PickupSound=Sound'KF_AK47Snd.AK47_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -28,7 +28,7 @@ defaultproperties
SelectedHudImageRef="KillingFloorHUD.WeaponSelect.Bullpup" SelectedHudImageRef="KillingFloorHUD.WeaponSelect.Bullpup"
PlayerIronSightFOV=65.000000 PlayerIronSightFOV=65.000000
ZoomedDisplayFOV=40.000000 ZoomedDisplayFOV=40.000000
FireModeClass(0)=Class'NicePack.NiceBullpupFire' FireModeClass(0)=class'NiceBullpupFire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle" SelectForce="SwitchToAssaultRifle"
@ -43,10 +43,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=3 InventoryGroup=3
GroupOffset=1 GroupOffset=1
PickupClass=Class'NicePack.NiceBullpupPickup' PickupClass=class'NiceBullpupPickup'
PlayerViewOffset=(X=20.000000,Y=21.500000,Z=-9.000000) PlayerViewOffset=(X=20.000000,Y=21.500000,Z=-9.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceBullpupAttachment' AttachmentClass=class'NiceBullpupAttachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79) IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="Bullpup" ItemName="Bullpup"
TransientSoundVolume=1.250000 TransientSoundVolume=1.250000

View File

@ -2,11 +2,11 @@ class NiceBullpupAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceBullpupPickup' WeaponPickupClass=class'NiceBullpupPickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=240 MaxAmmo=240
InitialAmount=45 InitialAmount=45
PickupClass=Class'NicePack.NiceBullpupAmmoPickup' PickupClass=class'NiceBullpupAmmoPickup'
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)
ItemName="Bullpup bullets" ItemName="Bullpup bullets"

View File

@ -2,7 +2,7 @@ class NiceBullpupAmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceBullpupAmmo' InventoryType=class'NiceBullpupAmmo'
PickupMessage="Rounds (5.56 NATO)" PickupMessage="Rounds (5.56 NATO)"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -13,7 +13,7 @@ defaultproperties
FireSoundRef="KF_BullpupSnd.Bullpup_Fire" FireSoundRef="KF_BullpupSnd.Bullpup_Fire"
StereoFireSoundRef="KF_BullpupSnd.Bullpup_FireST" StereoFireSoundRef="KF_BullpupSnd.Bullpup_FireST"
NoAmmoSoundRef="KF_9MMSnd.9mm_DryFire" NoAmmoSoundRef="KF_9MMSnd.9mm_DryFire"
DamageType=Class'NicePack.NiceDamTypeBullpup' DamageType=class'NiceDamTypeBullpup'
DamageMin=48 DamageMin=48
DamageMax=48 DamageMax=48
Momentum=8500.000000 Momentum=8500.000000
@ -23,7 +23,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.100000 FireRate=0.100000
AmmoClass=Class'NicePack.NiceBullpupAmmo' AmmoClass=class'NiceBullpupAmmo'
ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000) ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000)
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000) ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
ShakeRotTime=0.500000 ShakeRotTime=0.500000

View File

@ -16,7 +16,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo' AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo'
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=2 EquipmentCategoryID=2
InventoryType=Class'NicePack.NiceBullpup' InventoryType=class'NiceBullpup'
PickupMessage="You got the Bullpup" PickupMessage="You got the Bullpup"
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_pickups_Trip.Rifle.Bullpup_Pickup' StaticMesh=StaticMesh'KF_pickups_Trip.Rifle.Bullpup_Pickup'

View File

@ -3,7 +3,7 @@ class NiceDamTypeBullpup extends NiceDamageTypeVetCommando
defaultproperties defaultproperties
{ {
HeadShotDamageMult=1.500000 HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceBullpup' WeaponClass=class'NiceBullpup'
DeathString="%k killed %o (Bullpup)." DeathString="%k killed %o (Bullpup)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -1,8 +1,8 @@
class NiceCZ805M extends CZ805M; class NiceCZ805M extends CZ805M;
defaultproperties defaultproperties
{ {
FireModeClass(0)=Class'NicePack.NiceCZ805MFire' FireModeClass(0)=class'NiceCZ805MFire'
FireModeClass(1)=Class'NicePack.NiceCZ805MAltFire' FireModeClass(1)=class'NiceCZ805MAltFire'
PickupClass=Class'NicePack.NiceCZ805MPickup' PickupClass=class'NiceCZ805MPickup'
ItemName="CZ-805M Medic/Assault Rifle NW" ItemName="CZ-805M Medic/Assault Rifle NW"
} }

View File

@ -1,5 +1,5 @@
class NiceCZ805MAltFire extends CZ805MAltFire; class NiceCZ805MAltFire extends CZ805MAltFire;
defaultproperties defaultproperties
{ {
ProjectileClass=Class'NicePack.NiceCZ805MHealingProjectile' ProjectileClass=class'NiceCZ805MHealingProjectile'
} }

View File

@ -3,5 +3,5 @@ defaultproperties
{ {
MaxAmmo=300 MaxAmmo=300
InitialAmount=150 InitialAmount=150
PickupClass=Class'NicePack.NiceCZ805MAmmoPickup' PickupClass=class'NiceCZ805MAmmoPickup'
} }

View File

@ -1,5 +1,5 @@
class NiceCZ805MAmmoPickup extends CZ805MAmmoPickup; class NiceCZ805MAmmoPickup extends CZ805MAmmoPickup;
defaultproperties defaultproperties
{ {
InventoryType=Class'NicePack.NiceCZ805MAmmo' InventoryType=class'NiceCZ805MAmmo'
} }

View File

@ -3,7 +3,7 @@ defaultproperties
{ {
maxVerticalRecoilAngle=270 maxVerticalRecoilAngle=270
maxHorizontalRecoilAngle=135 maxHorizontalRecoilAngle=135
DamageType=Class'NicePack.NiceDamTypeCZ805M' DamageType=class'NiceDamTypeCZ805M'
DamageMax=40 DamageMax=40
AmmoClass=Class'NicePack.NiceCZ805MAmmo' AmmoClass=class'NiceCZ805MAmmo'
} }

View File

@ -6,6 +6,6 @@ defaultproperties
Description="Horzine's modification of CZ-805 BREN rifle with attached healing dart launcher. Useful for both Medic and Commando perks." Description="Horzine's modification of CZ-805 BREN rifle with attached healing dart launcher. Useful for both Medic and Commando perks."
ItemName="CZ-805M NW" ItemName="CZ-805M NW"
ItemShortName="CZ-805M NW" ItemShortName="CZ-805M NW"
InventoryType=Class'NicePack.NiceCZ805M' InventoryType=class'NiceCZ805M'
PickupMessage="You got the CZ-805M NW" PickupMessage="You got the CZ-805M NW"
} }

View File

@ -3,7 +3,7 @@ class NiceDamTypeCZ805M extends NiceDamageTypeVetCommando
defaultproperties defaultproperties
{ {
HeadShotDamageMult=1.500000 HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceCZ805M' WeaponClass=class'NiceCZ805M'
DeathString="%k killed %o (CZ 805)." DeathString="%k killed %o (CZ 805)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -5,7 +5,7 @@ defaultproperties
MaxPenetrations=3 MaxPenetrations=3
flinchMultiplier=0.800000 flinchMultiplier=0.800000
HeadShotDamageMult=2.250000 HeadShotDamageMult=2.250000
WeaponClass=Class'NicePack.NiceFNFAL_ACOG_AssaultRifle' WeaponClass=class'NiceFNFAL_ACOG_AssaultRifle'
DeathString="%k killed %o (FNFAL ACOG)." DeathString="%k killed %o (FNFAL ACOG)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -2,11 +2,11 @@ class NiceFNFALAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceFNFAL_ACOG_Pickup' WeaponPickupClass=class'NiceFNFAL_ACOG_Pickup'
AmmoPickupAmount=20 AmmoPickupAmount=20
MaxAmmo=180 MaxAmmo=180
InitialAmount=45 InitialAmount=45
PickupClass=Class'NicePack.NiceFNFALAmmoPickup' PickupClass=class'NiceFNFALAmmoPickup'
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)
ItemName="FNFAL bullets" ItemName="FNFAL bullets"

View File

@ -2,7 +2,7 @@ class NiceFNFALAmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=20 AmmoAmount=20
InventoryType=Class'NicePack.NiceFNFALAmmo' InventoryType=class'NiceFNFALAmmo'
PickupMessage="Rounds 7.62x51mm" PickupMessage="Rounds 7.62x51mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -16,7 +16,7 @@ defaultproperties
FireSoundRef="KF_FNFALSnd.FNFAL_Fire_Single_M" FireSoundRef="KF_FNFALSnd.FNFAL_Fire_Single_M"
StereoFireSoundRef="KF_FNFALSnd.FNFAL_Fire_Single_S" StereoFireSoundRef="KF_FNFALSnd.FNFAL_Fire_Single_S"
NoAmmoSoundRef="KF_SCARSnd.SCAR_DryFire" NoAmmoSoundRef="KF_SCARSnd.SCAR_DryFire"
DamageType=Class'NicePack.NiceDamTypeFNFALAssaultRifle' DamageType=class'NiceDamTypeFNFALAssaultRifle'
DamageMin=66 DamageMin=66
DamageMax=66 DamageMax=66
Momentum=8500.000000 Momentum=8500.000000
@ -27,7 +27,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.100000 FireRate=0.100000
AmmoClass=Class'NicePack.NiceFNFALAmmo' AmmoClass=class'NiceFNFALAmmo'
ShakeRotMag=(X=80.000000,Y=80.000000,Z=450.000000) ShakeRotMag=(X=80.000000,Y=80.000000,Z=450.000000)
ShakeRotRate=(X=7500.000000,Y=7500.000000,Z=7500.000000) ShakeRotRate=(X=7500.000000,Y=7500.000000,Z=7500.000000)
ShakeRotTime=0.650000 ShakeRotTime=0.650000

View File

@ -26,7 +26,7 @@ defaultproperties
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.FNFAL" SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.FNFAL"
PlayerIronSightFOV=55.000000 PlayerIronSightFOV=55.000000
ZoomedDisplayFOV=15.000000 ZoomedDisplayFOV=15.000000
FireModeClass(0)=Class'NicePack.NiceFNFALFire' FireModeClass(0)=class'NiceFNFALFire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle" SelectForce="SwitchToAssaultRifle"
@ -41,10 +41,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=4 InventoryGroup=4
GroupOffset=12 GroupOffset=12
PickupClass=Class'NicePack.NiceFNFAL_ACOG_Pickup' PickupClass=class'NiceFNFAL_ACOG_Pickup'
PlayerViewOffset=(X=3.000000,Y=15.000000,Z=-6.000000) PlayerViewOffset=(X=3.000000,Y=15.000000,Z=-6.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceFNFAL_ACOG_Attachment' AttachmentClass=class'NiceFNFAL_ACOG_Attachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79) IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="FNFAL" ItemName="FNFAL"
TransientSoundVolume=1.250000 TransientSoundVolume=1.250000

View File

@ -15,7 +15,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo' AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo'
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=3 EquipmentCategoryID=3
InventoryType=Class'NicePack.NiceFNFAL_ACOG_AssaultRifle' InventoryType=class'NiceFNFAL_ACOG_AssaultRifle'
PickupMessage="You got the FN FAL with ACOG Sight" PickupMessage="You got the FN FAL with ACOG Sight"
PickupSound=Sound'KF_FNFALSnd.FNFAL_Pickup' PickupSound=Sound'KF_FNFALSnd.FNFAL_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -3,7 +3,7 @@ defaultproperties
{ {
MaxPenetrations=2 MaxPenetrations=2
HeadShotDamageMult=2.000000 HeadShotDamageMult=2.000000
WeaponClass=Class'NicePack.NiceHK417AR' WeaponClass=class'NiceHK417AR'
DeathString="%k killed %o (HK-417)." DeathString="%k killed %o (HK-417)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -41,7 +41,7 @@ defaultproperties
SelectedHudImageRef="ScrnWeaponPack_T.HK417AR.HK417_selected" SelectedHudImageRef="ScrnWeaponPack_T.HK417AR.HK417_selected"
PlayerIronSightFOV=32.000000 PlayerIronSightFOV=32.000000
ZoomedDisplayFOV=60.000000 ZoomedDisplayFOV=60.000000
FireModeClass(0)=Class'NicePack.NiceHK417Fire' FireModeClass(0)=class'NiceHK417Fire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectAnimRate=2.000000 SelectAnimRate=2.000000
@ -56,10 +56,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=4 InventoryGroup=4
GroupOffset=3 GroupOffset=3
PickupClass=Class'NicePack.NiceHK417Pickup' PickupClass=class'NiceHK417Pickup'
PlayerViewOffset=(X=14.000000,Y=7.000000,Z=-4.000000) PlayerViewOffset=(X=14.000000,Y=7.000000,Z=-4.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceHK417Attachment' AttachmentClass=class'NiceHK417Attachment'
IconCoords=(X1=253,Y1=146,X2=333,Y2=181) IconCoords=(X1=253,Y1=146,X2=333,Y2=181)
ItemName="HK-417" ItemName="HK-417"
} }

View File

@ -2,7 +2,7 @@ class NiceHK417Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=InterfaceContent.utx #EXEC OBJ LOAD FILE=InterfaceContent.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceHK417Pickup' WeaponPickupClass=class'NiceHK417Pickup'
AmmoPickupAmount=20 AmmoPickupAmount=20
MaxAmmo=180 MaxAmmo=180
InitialAmount=45 InitialAmount=45

View File

@ -2,6 +2,6 @@ class NiceHK417AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=20 AmmoAmount=20
InventoryType=Class'NicePack.NiceHK417Ammo' InventoryType=class'NiceHK417Ammo'
PickupMessage="7.62x51mm NATO" PickupMessage="7.62x51mm NATO"
} }

View File

@ -11,7 +11,7 @@ defaultproperties
FireSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_shot" FireSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_shot"
StereoFireSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_shot" StereoFireSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_shot"
NoAmmoSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_empty" NoAmmoSoundRef="ScrnWeaponPack_SND.HK417AR.HK417_empty"
DamageType=Class'NicePack.NiceDamTypeHK417AR' DamageType=class'NiceDamTypeHK417AR'
DamageMin=75 DamageMin=75
DamageMax=75 DamageMax=75
Momentum=20000.000000 Momentum=20000.000000
@ -22,7 +22,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.230000 FireRate=0.230000
AmmoClass=Class'NicePack.NiceHK417Ammo' AmmoClass=class'NiceHK417Ammo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=300.000000) ShakeRotMag=(X=50.000000,Y=50.000000,Z=300.000000)
ShakeRotRate=(X=9500.000000,Y=9500.000000,Z=9500.000000) ShakeRotRate=(X=9500.000000,Y=9500.000000,Z=9500.000000)
ShakeRotTime=0.650000 ShakeRotTime=0.650000

View File

@ -13,7 +13,7 @@ defaultproperties
AmmoItemName="7.62x51mm NATO" AmmoItemName="7.62x51mm NATO"
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=2 EquipmentCategoryID=2
InventoryType=Class'NicePack.NiceHK417AR' InventoryType=class'NiceHK417AR'
PickupMessage="You've got a HK-417" PickupMessage="You've got a HK-417"
PickupSound=Sound'ScrnWeaponPack_SND.HK417AR.HK417_pickup' PickupSound=Sound'ScrnWeaponPack_SND.HK417AR.HK417_pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -5,7 +5,7 @@ defaultproperties
badDecapMod=0.8000 badDecapMod=0.8000
HeadShotDamageMult=1.400000 HeadShotDamageMult=1.400000
bSniperWeapon=True bSniperWeapon=True
WeaponClass=Class'NicePack.NiceL85A2Z' WeaponClass=class'NiceL85A2Z'
DeathString="%k killed %o." DeathString="%k killed %o."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -2,11 +2,11 @@ class NiceL85A2Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=InterfaceContent.utx #EXEC OBJ LOAD FILE=InterfaceContent.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceL85A2Pickup' WeaponPickupClass=class'NiceL85A2Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=210 MaxAmmo=210
InitialAmount=45 InitialAmount=45
PickupClass=Class'NicePack.NiceL85A2AmmoPickup' PickupClass=class'NiceL85A2AmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=413,Y1=82,X2=457,Y2=125) IconCoords=(X1=413,Y1=82,X2=457,Y2=125)
ItemName="Stanag Magazines" ItemName="Stanag Magazines"

View File

@ -2,7 +2,7 @@ class NiceL85A2AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceL85A2Ammo' InventoryType=class'NiceL85A2Ammo'
RespawnTime=0.000000 RespawnTime=0.000000
PickupMessage="Mag (5.56mm)" PickupMessage="Mag (5.56mm)"
StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo' StaticMesh=StaticMesh'KillingFloorStatics.DualiesAmmo'

View File

@ -14,7 +14,7 @@ defaultproperties
FireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_M" FireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_M"
StereoFireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_S" StereoFireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_S"
NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire" NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire"
DamageType=Class'NicePack.NiceDamTypeL85A2Z' DamageType=class'NiceDamTypeL85A2Z'
DamageMin=81 DamageMin=81
DamageMax=81 DamageMax=81
Momentum=10000.000000 Momentum=10000.000000
@ -25,7 +25,7 @@ defaultproperties
TweenTime=0.025000 TweenTime=0.025000
FireForce="AssaultRifleFire" FireForce="AssaultRifleFire"
FireRate=0.250000 FireRate=0.250000
AmmoClass=Class'NicePack.NiceL85A2Ammo' AmmoClass=class'NiceL85A2Ammo'
ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000) ShakeRotMag=(X=75.000000,Y=75.000000,Z=250.000000)
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000) ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
ShakeRotTime=3.000000 ShakeRotTime=3.000000

View File

@ -15,7 +15,7 @@ defaultproperties
AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo' AmmoMesh=StaticMesh'KillingFloorStatics.L85Ammo'
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=3 EquipmentCategoryID=3
InventoryType=Class'NicePack.NiceL85A2Z' InventoryType=class'NiceL85A2Z'
PickupMessage="You got the L85A2" PickupMessage="You got the L85A2"
PickupSound=Sound'KF_FNFALSnd.FNFAL_Pickup' PickupSound=Sound'KF_FNFALSnd.FNFAL_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -37,7 +37,7 @@ defaultproperties
SelectedHudImageRef="NicePackT.L85A2.L85A2_Selected" SelectedHudImageRef="NicePackT.L85A2.L85A2_Selected"
PlayerIronSightFOV=40.000000 PlayerIronSightFOV=40.000000
ZoomedDisplayFOV=65.000000 ZoomedDisplayFOV=65.000000
FireModeClass(0)=Class'NicePack.NiceL85A2Fire' FireModeClass(0)=class'NiceL85A2Fire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectAnimRate=1.500000 SelectAnimRate=1.500000
@ -53,10 +53,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=3 InventoryGroup=3
GroupOffset=1 GroupOffset=1
PickupClass=Class'NicePack.NiceL85A2Pickup' PickupClass=class'NiceL85A2Pickup'
PlayerViewOffset=(X=20.000000,Y=25.000000,Z=-10.000000) PlayerViewOffset=(X=20.000000,Y=25.000000,Z=-10.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceL85A2Attachment' AttachmentClass=class'NiceL85A2Attachment'
IconCoords=(X1=434,Y1=253,X2=506,Y2=292) IconCoords=(X1=434,Y1=253,X2=506,Y2=292)
ItemName="L85A2" ItemName="L85A2"
} }

View File

@ -3,7 +3,7 @@ class NiceDamTypeM4AssaultRifle extends NiceDamageTypeVetCommando
defaultproperties defaultproperties
{ {
HeadShotDamageMult=1.500000 HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceM4AssaultRifle' WeaponClass=class'NiceM4AssaultRifle'
DeathString="%k killed %o (M4)." DeathString="%k killed %o (M4)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -2,11 +2,11 @@ class NiceM4Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceM4Pickup' WeaponPickupClass=class'NiceM4Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=240 MaxAmmo=240
InitialAmount=60 InitialAmount=60
PickupClass=Class'NicePack.NiceM4AmmoPickup' PickupClass=class'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)
ItemName="M4 bullets" ItemName="M4 bullets"

View File

@ -2,7 +2,7 @@ class NiceM4AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceM4Ammo' InventoryType=class'NiceM4Ammo'
PickupMessage="Rounds 5.56mm" PickupMessage="Rounds 5.56mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

View File

@ -29,7 +29,7 @@ defaultproperties
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M4" SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M4"
PlayerIronSightFOV=65.000000 PlayerIronSightFOV=65.000000
ZoomedDisplayFOV=45.000000 ZoomedDisplayFOV=45.000000
FireModeClass(0)=Class'NicePack.NiceM4Fire' FireModeClass(0)=class'NiceM4Fire'
FireModeClass(1)=Class'KFMod.NoFire' FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown" PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle" SelectForce="SwitchToAssaultRifle"
@ -44,10 +44,10 @@ defaultproperties
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5" CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
InventoryGroup=3 InventoryGroup=3
GroupOffset=10 GroupOffset=10
PickupClass=Class'NicePack.NiceM4Pickup' PickupClass=class'NiceM4Pickup'
PlayerViewOffset=(X=25.000000,Y=18.000000,Z=-6.000000) PlayerViewOffset=(X=25.000000,Y=18.000000,Z=-6.000000)
BobDamping=6.000000 BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceM4Attachment' AttachmentClass=class'NiceM4Attachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79) IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="M4" ItemName="M4"
TransientSoundVolume=1.250000 TransientSoundVolume=1.250000

View File

@ -14,12 +14,12 @@ defaultproperties
FireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_M" FireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_M"
StereoFireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_S" StereoFireSoundRef="KF_M4RifleSnd.M4Rifle_Fire_Single_S"
NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire" NoAmmoSoundRef="KF_AK47Snd.AK47_DryFire"
DamageType=Class'NicePack.NiceDamTypeM4AssaultRifle' DamageType=class'NiceDamTypeM4AssaultRifle'
DamageMin=69 DamageMin=69
DamageMax=69 DamageMax=69
Momentum=8500.000000 Momentum=8500.000000
FireRate=0.075000 FireRate=0.075000
AmmoClass=Class'NicePack.NiceM4Ammo' AmmoClass=class'NiceM4Ammo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000) ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000)
ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000) ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000)
ShakeRotTime=0.750000 ShakeRotTime=0.750000

View File

@ -16,7 +16,7 @@ defaultproperties
CorrespondingPerkIndex=3 CorrespondingPerkIndex=3
EquipmentCategoryID=2 EquipmentCategoryID=2
VariantClasses(0)=Class'KFMod.CamoM4Pickup' VariantClasses(0)=Class'KFMod.CamoM4Pickup'
InventoryType=Class'NicePack.NiceM4AssaultRifle' InventoryType=class'NiceM4AssaultRifle'
PickupMessage="You got the M4" PickupMessage="You got the M4"
PickupSound=Sound'KF_M4RifleSnd.foley.WEP_M4_Foley_Pickup' PickupSound=Sound'KF_M4RifleSnd.foley.WEP_M4_Foley_Pickup'
PickupForce="AssaultRiflePickup" PickupForce="AssaultRiflePickup"

View File

@ -3,7 +3,7 @@ class NiceDamTypeM4M203AssaultRifle extends NiceDamageTypeVetCommando
defaultproperties defaultproperties
{ {
HeadShotDamageMult=1.500000 HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceM4M203AssaultRifle' WeaponClass=class'NiceM4M203AssaultRifle'
DeathString="%k killed %o (M4 M203)." DeathString="%k killed %o (M4 M203)."
FemaleSuicide="%o shot herself in the foot." FemaleSuicide="%o shot herself in the foot."
MaleSuicide="%o shot himself in the foot." MaleSuicide="%o shot himself in the foot."

View File

@ -3,6 +3,6 @@ defaultproperties
{ {
ItemName="M4 203 NW" ItemName="M4 203 NW"
ItemShortName="M4 203 N W" ItemShortName="M4 203 N W"
PrimaryWeaponPickup=Class'NicePack.NiceM4Pickup' PrimaryWeaponPickup=class'NiceM4Pickup'
InventoryType=Class'NicePack.NiceM4203AssaultRifle' InventoryType=class'NiceM4203AssaultRifle'
} }

View File

@ -2,11 +2,11 @@ class NiceM4M203Ammo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx #EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties defaultproperties
{ {
WeaponPickupClass=Class'NicePack.NiceM4Pickup' WeaponPickupClass=class'NiceM4Pickup'
AmmoPickupAmount=30 AmmoPickupAmount=30
MaxAmmo=180 MaxAmmo=180
InitialAmount=60 InitialAmount=60
PickupClass=Class'NicePack.NiceM4M203AmmoPickup' PickupClass=class'NiceM4M203AmmoPickup'
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)
ItemName="M4 bullets" ItemName="M4 bullets"

View File

@ -2,7 +2,7 @@ class NiceM4M203AmmoPickup extends NiceAmmoPickup;
defaultproperties defaultproperties
{ {
AmmoAmount=30 AmmoAmount=30
InventoryType=Class'NicePack.NiceM4M203Ammo' InventoryType=class'NiceM4M203Ammo'
PickupMessage="Rounds 5.56mm" PickupMessage="Rounds 5.56mm"
StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo' StaticMesh=StaticMesh'KillingFloorStatics.L85Ammo'
} }

Some files were not shown because too many files have changed in this diff Show More