This patch reverts first step of global weapon conversion that would have halted the release of the next version for too long.
124 lines
4.3 KiB
Ucode
124 lines
4.3 KiB
Ucode
class NiceHighROFFire extends NiceFire;
|
|
// sound
|
|
var sound FireEndSound; // The sound to play at the end of the ambient fire sound
|
|
var sound FireEndStereoSound; // The sound to play at the end of the ambient fire sound in first person stereo
|
|
var float AmbientFireSoundRadius; // The sound radius for the ambient fire sound
|
|
var sound AmbientFireSound; // How loud to play the looping ambient fire sound
|
|
var byte AmbientFireVolume; // The ambient fire sound
|
|
var string FireEndSoundRef;
|
|
var string FireEndStereoSoundRef;
|
|
var string AmbientFireSoundRef;
|
|
//MEANTODO
|
|
/*
|
|
static function PreloadAssets(LevelInfo LevelInfo, optional KFFire Spawned){
|
|
super.PreloadAssets(LevelInfo, Spawned);
|
|
if(default.FireEndSound != none && default.FireEndSoundRef != "")
|
|
default.FireEndSound = sound(DynamicLoadObject(default.FireEndSoundRef, class'sound', true));
|
|
if(default.FireEndStereoSound == none){
|
|
if(default.FireEndStereoSoundRef != "")
|
|
default.FireEndStereoSound = sound(DynamicLoadObject(default.FireEndStereoSoundRef, class'Sound', true));
|
|
else
|
|
default.FireEndStereoSound = default.FireEndSound;
|
|
}
|
|
if(default.AmbientFireSoundRef != "")
|
|
default.AmbientFireSound = sound(DynamicLoadObject(default.AmbientFireSoundRef, class'sound', true));
|
|
if(NiceHighROFFire(Spawned) != none){
|
|
NiceHighROFFire(Spawned).FireEndSound = default.FireEndSound;
|
|
NiceHighROFFire(Spawned).FireEndStereoSound = default.FireEndStereoSound;
|
|
NiceHighROFFire(Spawned).AmbientFireSound = default.AmbientFireSound;
|
|
}
|
|
}
|
|
static function bool UnloadAssets(){
|
|
super.UnloadAssets();
|
|
default.FireEndSound = none;
|
|
default.FireEndStereoSound = none;
|
|
default.AmbientFireSound = none;
|
|
return true;
|
|
}
|
|
// Sends the fire class to the looping state
|
|
function StartFiring(){
|
|
if(!bWaitForRelease && !currentContext.bIsBursting)
|
|
GotoState('FireLoop');
|
|
else
|
|
Super.StartFiring();
|
|
}
|
|
// Handles toggling the weapon attachment's ambient sound on and off
|
|
function PlayAmbientSound(Sound aSound){
|
|
local WeaponAttachment WA;
|
|
WA = WeaponAttachment(Weapon.ThirdPersonActor);
|
|
if(Weapon == none || (WA == none))
|
|
return;
|
|
if(aSound == none){
|
|
WA.SoundVolume = WA.default.SoundVolume;
|
|
WA.SoundRadius = WA.default.SoundRadius;
|
|
}
|
|
else{
|
|
WA.SoundVolume = AmbientFireVolume;
|
|
WA.SoundRadius = AmbientFireSoundRadius;
|
|
}
|
|
WA.AmbientSound = aSound;
|
|
}
|
|
// Make sure we are in the fire looping state when we fire
|
|
event ModeDoFire(){
|
|
if(!bWaitForRelease && !currentContext.bIsBursting){
|
|
if(AllowFire() && IsInState('FireLoop'))
|
|
Super.ModeDoFire();
|
|
}
|
|
else
|
|
Super.ModeDoFire();
|
|
}
|
|
state FireLoop
|
|
{
|
|
function BeginState(){
|
|
NextFireTime = Level.TimeSeconds - 0.1;
|
|
if(KFWeap.bAimingRifle)
|
|
Weapon.LoopAnim(FireLoopAimedAnim, FireLoopAnimRate, TweenTime);
|
|
else
|
|
Weapon.LoopAnim(FireLoopAnim, FireLoopAnimRate, TweenTime);
|
|
PlayAmbientSound(AmbientFireSound);
|
|
}
|
|
function PlayFiring(){}
|
|
function ServerPlayFiring(){}
|
|
function EndState(){
|
|
Weapon.AnimStopLooping();
|
|
PlayAmbientSound(none);
|
|
if(Weapon.Instigator != none && Weapon.Instigator.IsLocallyControlled() &&
|
|
Weapon.Instigator.IsFirstPerson() && StereoFireSound != none)
|
|
Weapon.PlayOwnedSound(FireEndStereoSound,SLOT_none,AmbientFireVolume/127,,AmbientFireSoundRadius,,false);
|
|
else
|
|
Weapon.PlayOwnedSound(FireEndSound,SLOT_none,AmbientFireVolume/127,,AmbientFireSoundRadius);
|
|
Weapon.StopFire(ThisModeNum);
|
|
}
|
|
function StopFiring(){
|
|
GotoState('');
|
|
}
|
|
function ModeTick(float dt){
|
|
Super.ModeTick(dt);
|
|
if(!bIsFiring || !AllowFire()){
|
|
GotoState('');
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
function PlayFireEnd(){
|
|
if(!bWaitForRelease)
|
|
Super.PlayFireEnd();
|
|
}*/
|
|
defaultproperties
|
|
{
|
|
AmbientFireSoundRadius=500.000000
|
|
AmbientFireVolume=255
|
|
FireAimedAnim="Fire_Iron"
|
|
FireEndAimedAnim="Fire_Iron_End"
|
|
FireLoopAimedAnim="Fire_Iron_Loop"
|
|
bAccuracyBonusForSemiAuto=True
|
|
bPawnRapidFireAnim=True
|
|
TransientSoundVolume=1.800000
|
|
FireLoopAnim="Fire_Loop"
|
|
FireEndAnim="Fire_End"
|
|
TweenTime=0.025000
|
|
FireForce="AssaultRifleFire"
|
|
BotRefireRate=0.100000
|
|
aimerror=30.000000
|
|
}
|