class SchlonzScorpion extends ONSRV; /* function KDriverEnter(Pawn P) { local Controller C; bDriving = True; StuckCount = 0; // We don't have pre-defined exit positions here, so we use the original player location as an exit point if ( !bRelativeExitPos ) { PlayerEnterredRotation = P.Rotation; ExitPositions[0] = P.Location + Vect(0,0,16); } // Set pawns current controller to control the vehicle pawn instead C = P.Controller; if ( !bCanCarryFlag && (C.PlayerReplicationInfo.HasFlag != None) ) P.DropFlag(); Driver = P; Driver.StartDriving( Self ); // Disconnect PlayerController from Driver and connect to SVehicle. C.bVehicleTransition = true; // to keep Bots from doing Restart() C.Unpossess(); Driver.SetOwner( Self ); // This keeps the driver relevant. C.Possess( Self ); C.bVehicleTransition = false; DrivingStatusChanged(); if ( PlayerController(C) != None ) VehicleLostTime = 0; AttachFlag(PlayerReplicationInfo.HasFlag); Level.Game.DriverEnteredVehicle(self, P); Weapons[0].PlayAnim('MASMainGunDeploy'); SetActiveWeapon(0); GotoState('Deployed'); } // Called from the PlayerController when player wants to get out. event bool KDriverLeave( bool bForceLeave ) { local Controller C; local PlayerController PC; local bool havePlaced; if( !bForceLeave && !Level.Game.CanLeaveVehicle(self, Driver) ) return false; if ( (PlayerReplicationInfo != None) && (PlayerReplicationInfo.HasFlag != None) ) Driver.HoldFlag(PlayerReplicationInfo.HasFlag); // Do nothing if we're not being driven if (Controller == None ) return false; // Before we can exit, we need to find a place to put the driver. // Iterate over array of possible exit locations. if ( (Driver != None) && (!bRemoteControlled || bHideRemoteDriver) ) { Driver.bHardAttach = false; Driver.bCollideWorld = true; Driver.SetCollision(true, true); havePlaced = PlaceExitingDriver(); // If we could not find a place to put the driver, leave driver inside as before. if (!havePlaced && !bForceLeave ) { Driver.bHardAttach = true; Driver.bCollideWorld = false; Driver.SetCollision(false, false); return false; } } bDriving = False; // Reconnect Controller to Driver. C = Controller; if (C.RouteGoal == self) C.RouteGoal = None; if (C.MoveTarget == self) C.MoveTarget = None; C.bVehicleTransition = true; Controller.UnPossess(); if ( (Driver != None) && (Driver.Health > 0) ) { Driver.SetOwner( C ); C.Possess( Driver ); PC = PlayerController(C); if ( PC != None ) PC.ClientSetViewTarget( Driver ); // Set playercontroller to view the person that got out Driver.StopDriving( Self ); } C.bVehicleTransition = false; if ( C == Controller ) // If controller didn't change, clear it... Controller = None; Level.Game.DriverLeftVehicle(self, Driver); // Car now has no driver Driver = None; DriverLeft(); // Put brakes on before you get out :) Throttle = 0; Steering = 0; Rise = 0; Weapons[0].PlayAnim('MASMainGunHide'); return true; //DriverWeapons(0)=(WeaponClass=SchlonzUT.SchlonzScorpionCannon,WeaponBone="ChainGunAttachment") } */ defaultproperties { DriverWeapons(0)=(WeaponClass=SchlonzUT.SchlonzScorpionCannon,WeaponBone="ChainGunAttachment") VehicleMass=3.500000 GroundSpeed=1940.000000 GearRatios(0)=-0.500000 GearRatios(1)=0.500000 GearRatios(2)=1.000000 GearRatios(3)=1.500000 GearRatios(4)=2.000000 }