1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFPawn_ZedHans_Versus.uc
2020-12-13 18:01:13 +03:00

138 lines
2.7 KiB
Ucode

class KFPawn_ZedHans_Versus extends KFPawn_ZedHans;
function PossessedBy( Controller C, bool bVehicleTransition )
{
super.PossessedBy(C, bVehicleTransition);
class'KFPawn_MonsterBoss'.static.PlayBossEntranceTheatrics(self);
}
/**
* Pawn starts firing!
* Called from PlayerController::StartFiring
* Network: Local Player
*
* @param FireModeNum fire mode number
*/
simulated function StartFire(byte FireModeNum)
{
if(IsDoingSpecialMove())
{
return;
}
switch (FireModeNum)
{
case 0: //left click
//main fire
/*if(!IsDoingSpecialMove(SM_HoseWeaponAttack))
{
ServerDoSpecialMove(SM_HoseWeaponAttack);
}*/
if(bGunsEquipped)
{
super.StartFire(FireModeNum);
}
break;
case 1: //middle click
if(!IsDoingSpecialMove(SM_Hans_ThrowGrenade))
{
ServerDoSpecialMove(SM_Hans_ThrowGrenade);
}
break;
/*
case 2:
//r
if(!IsDoingSpecialMove(SM_Hans_GrenadeBarrage))
{
ServerDoSpecialMove(SM_Hans_GrenadeBarrage);
}
break;*/
case 3:
//melee
if(!IsDoingSpecialMove(SM_MeleeAttack))
{
ServerDoSpecialMove(SM_MeleeAttack,,, 2 );
}
break;
case 4:
break;
}
}
simulated function PlayWeaponSwitch(Weapon OldWeapon, Weapon NewWeapon)
{
`log("WEAPON SWITCH");
// Save a reference to carried Weapon, so we don't cast all over the place.
ToggleAim();
}
reliable server function ToggleAim()
{
SetWeaponStance(!bGunsEquipped, true);
}
// @todo: fixme
/*reliable server function ServerDoSpecialMove(ESpecialMove NewMove, optional bool bForceMove, optional Pawn InInteractionPawn, optional INT InSpecialMoveFlags, optional bool bSkipReplication)
{
if(NewMove == SM_Hans_ThrowGrenade)
{
ThrowGrenade();
}
else
{
DoSpecialMove(NewMove, bForceMove, InInteractionPawn, InSpecialMoveFlags, bSkipReplication);
}
}*/
/** Spawns a grenade projectile at the cached throw speed and location */
simulated function bool ThrowGrenade()
{
ActiveGrenadeClass = SmokeGrenadeClass;
return super.ThrowGrenade();
}
//get rif of ragemode sprint
function SetSprinting(bool bNewSprintStatus)
{
if ( bNewSprintStatus )
{
// Wait for uncrouch; see CheckJumpOrDuck
if ( bIsCrouched )
{
bNewSprintStatus = false;
}
else if ( MyKFWeapon != None && !MyKFWeapon.AllowSprinting() )
{
bNewSprintStatus = false;
}
}
bIsSprinting = bNewSprintStatus;
if ( MyKFWeapon != None )
{
MyKFWeapon.SetWeaponSprint(bNewSprintStatus);
}
}
simulated function ToggleEquipment()
{
ServerToggleShield();
}
reliable server function ServerToggleShield()
{
SetHuntAndHealMode(!bInHuntAndHealMode);
}
DefaultProperties
{
bVersusZed=true
TeammateCollisionRadiusPercent=0.30
}