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 }