122 lines
3.7 KiB
Ucode
122 lines
3.7 KiB
Ucode
class MedicPistolAttachment extends ScrnLaserWeaponAttachment;
|
|
|
|
var Actor TacShine;
|
|
var Effects TacShineCorona;
|
|
var bool bBeamEnabled;
|
|
|
|
replication
|
|
{
|
|
reliable if ( Role==ROLE_Authority )
|
|
bBeamEnabled;
|
|
}
|
|
|
|
// Prevents tracers from spawning if player is using the flashlight function of the 9mm
|
|
simulated event ThirdPersonEffects()
|
|
{
|
|
if( FiringMode==1 )
|
|
return;
|
|
Super.ThirdPersonEffects();
|
|
}
|
|
|
|
simulated function Destroyed()
|
|
{
|
|
if ( TacShineCorona != None )
|
|
TacShineCorona.Destroy();
|
|
if ( TacShine != None )
|
|
TacShine.Destroy();
|
|
Super.Destroyed();
|
|
}
|
|
|
|
simulated function UpdateTacBeam( float Dist )
|
|
{
|
|
local vector Sc;
|
|
|
|
if( !bBeamEnabled )
|
|
{
|
|
if (TacShine == none )
|
|
{
|
|
TacShine = Spawn(Class'MedicPistol'.Default.TacShineClass,Owner,,,);
|
|
AttachToBone(TacShine, LaserAttachmentBone);
|
|
TacShine.RemoteRole = ROLE_None;
|
|
}
|
|
else TacShine.bHidden = False;
|
|
if (TacShineCorona == none )
|
|
{
|
|
TacShineCorona = Spawn(class 'KFTacLightCorona',Owner,,,);
|
|
AttachToBone(TacShineCorona,LaserAttachmentBone);
|
|
TacShineCorona.RemoteRole = ROLE_None;
|
|
}
|
|
TacShineCorona.bHidden = False;
|
|
bBeamEnabled = True;
|
|
}
|
|
Sc = TacShine.DrawScale3D;
|
|
Sc.Y = FClamp(Dist/90.f,0.02,1.f);
|
|
if( TacShine.DrawScale3D!=Sc )
|
|
TacShine.SetDrawScale3D(Sc);
|
|
}
|
|
|
|
simulated function TacBeamGone()
|
|
{
|
|
if( bBeamEnabled )
|
|
{
|
|
if (TacShine!=none )
|
|
TacShine.bHidden = True;
|
|
if (TacShineCorona!=none )
|
|
TacShineCorona.bHidden = True;
|
|
bBeamEnabled = False;
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
LaserAttachmentBone="FlashLight"
|
|
mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdPistol'
|
|
mTracerClass=Class'KFMod.KFNewTracer'
|
|
mShellCaseEmitterClass=Class'KFMod.KFShellSpewer'
|
|
MovementAnims(0)="JogF_Single9mm"
|
|
MovementAnims(1)="JogB_Single9mm"
|
|
MovementAnims(2)="JogL_Single9mm"
|
|
MovementAnims(3)="JogR_Single9mm"
|
|
TurnLeftAnim="TurnL_Single9mm"
|
|
TurnRightAnim="TurnR_Single9mm"
|
|
CrouchAnims(0)="CHwalkF_Single9mm"
|
|
CrouchAnims(1)="CHwalkB_Single9mm"
|
|
CrouchAnims(2)="CHwalkL_Single9mm"
|
|
CrouchAnims(3)="CHwalkR_Single9mm"
|
|
CrouchTurnRightAnim="CH_TurnR_Single9mm"
|
|
CrouchTurnLeftAnim="CH_TurnL_Single9mm"
|
|
IdleCrouchAnim="CHIdle_Single9mm"
|
|
IdleWeaponAnim="Idle_Single9mm"
|
|
IdleRestAnim="Idle_Single9mm"
|
|
IdleChatAnim="Idle_Single9mm"
|
|
IdleHeavyAnim="Idle_Single9mm"
|
|
IdleRifleAnim="Idle_Single9mm"
|
|
FireAnims(0)="Fire_Single9mm"
|
|
FireAnims(1)="Fire_Single9mm"
|
|
FireAnims(2)="Fire_Single9mm"
|
|
FireAnims(3)="Fire_Single9mm"
|
|
FireAltAnims(0)="Fire_Single9mm"
|
|
FireAltAnims(1)="Fire_Single9mm"
|
|
FireAltAnims(2)="Fire_Single9mm"
|
|
FireAltAnims(3)="Fire_Single9mm"
|
|
FireCrouchAnims(0)="CHFire_Single9mm"
|
|
FireCrouchAnims(1)="CHFire_Single9mm"
|
|
FireCrouchAnims(2)="CHFire_Single9mm"
|
|
FireCrouchAnims(3)="CHFire_Single9mm"
|
|
FireCrouchAltAnims(0)="CHFire_Single9mm"
|
|
FireCrouchAltAnims(1)="CHFire_Single9mm"
|
|
FireCrouchAltAnims(2)="CHFire_Single9mm"
|
|
FireCrouchAltAnims(3)="CHFire_Single9mm"
|
|
HitAnims(0)="HitF_Single9mm"
|
|
HitAnims(1)="HitB_Single9mm"
|
|
HitAnims(2)="HitL_Single9mm"
|
|
HitAnims(3)="HitR_Single9mm"
|
|
PostFireBlendStandAnim="Blend_Single9mm"
|
|
PostFireBlendCrouchAnim="CHBlend_Single9mm"
|
|
MeshRef="ScrnWeaponPack_A.MedicPistol_3rd"
|
|
SplashEffect=Class'ROEffects.BulletSplashEmitter'
|
|
LightType=LT_Pulse
|
|
LightRadius=0.000000
|
|
CullDistance=5000.000000
|
|
}
|