I have ceased to stop being amazed by Twilight's ingenuity! He is indeed a master developer/coder. He has now come up with another exciting mod which enables the Rainbow Six player to JUMP! And as usual, he makes the mod basic and simple to install. The JUMP MOD consists of a README, a TEXTURES, and an *.INI system files. The only changes that you have to make are in your Ravenshield.mod file. Click here for more information - RVSGaming Forum.
The CODE for the mod files are given below:
SJPawn.uc
class SJPawn extends R6RainbowPawn;
//no death, just stop falling
event Landed(vector HitNormal)
{
m_bIsLanding = true;
acceleration = vect(0,0,0);
velocity = vect(0,0,0);
}
//BASIC HOUSEKEEPING
defaultproperties
{
m_eArmorType=ARMOR_Light
Mesh=SkeletalMesh'R6Rainbow_UKX.LightMesh'
Begin Object Class=KarmaParamsSkel Name=KarmaParamsSkel725
KConvulseSpacing=(Max=2.200000)
KSkeleton="terroskel"
KStartEnabled=True
bHighDetailOnly=False
KLinearDamping=0.500000
KAngularDamping=0.500000
KBuoyancy=1.000000
KVelDropBelowThreshold=50.000000
KFriction=0.600000
KRestitution=0.300000
KImpactThreshold=150.000000
Name="KarmaParamsSkel725"
End Object
KParams=KarmaParamsSkel'R6Characters.KarmaParamsSkel725'
Skins(0)=Texture'R6Characters_T.Rainbow.R6RLight'
Skins(1)=Texture'R6Characters_T.Rainbow.R6RLightHead'
Skins(2)=FinalBlend'R6Characters_T.Rainbow.R6RGogglesFB'
Skins(5)=Texture'R61stWeapons_T.Hands.R61stHands'
}
SJController.uc
class SJController extends R6PlayerController config(SuperJump);
var bool bUp,bDown;
var config float jump,multi;
//replication tells the server what movement we need
replication
{
reliable if ( Role < ROLE_Authority )
JumpMe;
}
//prevent posture lowering when jumping
exec function LowerPosture()
{
if ( m_pawn.Physics == PHYS_Falling )//don't change posture in mid jump
return;
super.LowerPosture();
}
//jump when we press raise posture but are already standing
exec function RaisePosture()
{
if ( m_pawn == none )//no pawn
return;
if ( m_bSpecialCrouch > 0 )//fluid peek
return;
if ( m_pawn.Physics == PHYS_Falling )//don't change posture in mid jump
return;
// prevent player from raising posture a second time if already in the process of doing so.
if ( ( m_pawn.m_bPostureTransition && !m_pawn.m_bIsLanding ) || ( m_pawn.m_bIsProne && ( m_Pawn.EngineWeapon != none ) && R6AbstractWeapon(m_Pawn.EngineWeapon).GotBipod() && m_bLockWeaponActions ) || ( m_pawn.m_bIsProne && m_pawn.m_bChangingWeapon ) )
return;
if ( m_pawn.m_bIsProne )
{
aForward = 0;
aStrafe = 0;
aTurn = 0;
pawn.acceleration = vect(0,0,0);
}
if ( m_pawn.m_ePeekingMode == PEEK_fluid )
{
// check if can raise
if ( !m_pawn.AdjustFluidCollisionCylinder(0,true) )
{
return; // cannot raise
}
m_pawn.AdjustFluidCollisionCylinder(0);
ResetFluidPeeking();
}
if ( m_bCrawl )
{
// prone --> crouched
m_bCrawl = false;
bDuck = 1;
// stop peeking when doing the posture transition
if ( m_pawn.m_ePeekingMode == PEEK_full )
SetPeekingInfo( PEEK_none, m_pawn.C_fPeekMiddleMax );
}
else if ( bDuck == 1 )
{
// crouched --> upright
bDuck = 0;
R6Pawn(Pawn).CrouchToStand();
}
else//jump
{
JumpMe();
}
}
//sp only
exec function SetJump(int j)
{
jump = j;
}
//sp only
exec function SetMulti(int j)
{
multi = j;
}
//replicated jump function
simulated function JumpMe()
{
local vector JumpVelocity;
JumpVelocity.Z = jump;//tweak this for jump height
Pawn.SetPhysics(PHYS_Falling);//physics need to change
Pawn.Velocity = (Pawn.Velocity * multi) + JumpVelocity;//added current velocity to jump velocity for directional jumping
Pawn.Acceleration = vect(0,0,0);
}
defaultproperties
{
jump=1400.00
multi=2.50
}