NicePack/sources/Weapons/BaseWeaponClasses/Pistols/NiceDualiesAttachment.uc
Anton Tarasenko 12d95e387e Revert weapon conversion
This patch reverts first step of global weapon conversion
that would have halted the release of the next version for too long.
2020-04-17 23:06:41 +07:00

129 lines
4.3 KiB
Ucode

class NiceDualiesAttachment extends NiceAttachment;
var bool bIsOffHand, bMyFlashTurn;
var NiceDualiesAttachment brother;
var Mesh BrotherMesh;
replication{
reliable if(Role == ROLE_Authority)
brother;
}
simulated function DoFlashEmitter(){
if(bIsOffHand)
return;
if(bMyFlashTurn)
ActuallyFlash();
else if(brother != none)
brother.ActuallyFlash();
}
simulated function ActuallyFlash(){
super.DoFlashEmitter();
}
simulated event ThirdPersonEffects(){
local NicePlayerController PC;
if((Level.NetMode == NM_DedicatedServer) || (Instigator == none))
return;
PC = NicePlayerController(Level.GetLocalPlayerController());
if(FiringMode == 0){
if(OldSpawnHitCount != SpawnHitCount){
OldSpawnHitCount = SpawnHitCount;
GetHitInfo();
if(((Instigator != none) && (Instigator.Controller == PC)) || (VSize(PC.ViewTarget.Location - mHitLocation) < 4000)){
if(PC != Instigator.Controller){
if(mHitActor != none)
Spawn(class'ROBulletHitEffect',,, mHitLocation, Rotator(-mHitNormal));
CheckForSplash();
SpawnTracer();
}
}
}
}
if(FlashCount > 0){
if(KFPawn(Instigator) != none){
if(bMyFlashTurn)
KFPawn(Instigator).StartFiringX(false, bRapidFire);
else
KFPawn(Instigator).StartFiringX(true, bRapidFire);
}
if(bDoFiringEffects){
if((Level.TimeSeconds - LastRenderTime > 0.2) && (Instigator.Controller != PC))
return;
if(bSpawnLight)
WeaponLight();
DoFlashEmitter();
if(!bIsOffHand){
if(!bMyFlashTurn)
ThirdPersonShellEject();
else if(brother != none)
brother.ThirdPersonShellEject();
}
}
}
else{
GotoState('');
if(KFPawn(Instigator) != none)
KFPawn(Instigator).StopFiring();
}
}
simulated function vector GetTracerStart(){
local Pawn p;
p = Pawn(Owner);
if((p != none) && p.IsFirstPerson() && p.Weapon != none)
return p.Weapon.GetEffectStart();
if(mMuzFlash3rd != none && bMyFlashTurn)
return mMuzFlash3rd.Location;
else if(brother != none && brother.mMuzFlash3rd != none && !bMyFlashTurn)
return brother.mMuzFlash3rd.Location;
}
defaultproperties
{
bMyFlashTurn=True
BrotherMesh=SkeletalMesh'KF_Weapons3rd_Trip.Dual9mm_3rd'
mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdPistol'
mTracerClass=Class'KFMod.KFNewTracer'
mShellCaseEmitterClass=Class'KFMod.KFShellSpewer'
MovementAnims(0)="JogF_Dual9mm"
MovementAnims(1)="JogB_Dual9mm"
MovementAnims(2)="JogL_Dual9mm"
MovementAnims(3)="JogR_Dual9mm"
TurnLeftAnim="TurnL_Dual9mm"
TurnRightAnim="TurnR_Dual9mm"
CrouchAnims(0)="CHwalkF_Dual9mm"
CrouchAnims(1)="CHwalkB_Dual9mm"
CrouchAnims(2)="CHwalkL_Dual9mm"
CrouchAnims(3)="CHwalkR_Dual9mm"
WalkAnims(0)="WalkF_Dual9mm"
WalkAnims(1)="WalkB_Dual9mm"
WalkAnims(2)="WalkL_Dual9mm"
WalkAnims(3)="WalkR_Dual9mm"
CrouchTurnRightAnim="CH_TurnR_Dual9mm"
CrouchTurnLeftAnim="CH_TurnL_Dual9mm"
IdleCrouchAnim="CHIdle_Dual9mm"
IdleWeaponAnim="Idle_Dual9mm"
IdleRestAnim="Idle_Dual9mm"
IdleChatAnim="Idle_Dual9mm"
IdleHeavyAnim="Idle_Dual9mm"
IdleRifleAnim="Idle_Dual9mm"
FireAnims(0)="DualiesAttackRight"
FireAnims(1)="DualiesAttackRight"
FireAnims(2)="DualiesAttackRight"
FireAnims(3)="DualiesAttackRight"
FireAltAnims(0)="DualiesAttackLeft"
FireAltAnims(1)="DualiesAttackLeft"
FireAltAnims(2)="DualiesAttackLeft"
FireAltAnims(3)="DualiesAttackLeft"
FireCrouchAnims(0)="CHDualiesAttackRight"
FireCrouchAnims(1)="CHDualiesAttackRight"
FireCrouchAnims(2)="CHDualiesAttackRight"
FireCrouchAnims(3)="CHDualiesAttackRight"
FireCrouchAltAnims(0)="CHDualiesAttackLeft"
FireCrouchAltAnims(1)="CHDualiesAttackLeft"
FireCrouchAltAnims(2)="CHDualiesAttackLeft"
FireCrouchAltAnims(3)="CHDualiesAttackLeft"
HitAnims(0)="HitF_Dual9mmm"
HitAnims(1)="HitB_Dual9mm"
HitAnims(2)="HitL_Dual9mm"
HitAnims(3)="HitR_Dual9mm"
PostFireBlendStandAnim="Blend_Dual9mm"
PostFireBlendCrouchAnim="CHBlend_Dual9mm"
}