![]() |
![]() |
|
#1
|
|||
|
|||
|
Probably not the real place I should ask this - But the people here would probably answer it best.
Is it my imagination or does the pistol reload time never increase for sharp shooter? |
|
#2
|
||||
|
||||
|
I think you mean to ask if it decreases as opposed to increase.
Well this is the code that handles it. Code:
static function float GetReloadSpeedModifier(KFPlayerReplicationInfo KFPRI, KFWeapon Other)
{
if ( Crossbow(Other) != none || Winchester(Other) != none
|| Single(Other) != none || Dualies(Other) != none
|| Deagle(Other) != none || DualDeagle(Other) != none
|| MK23Pistol(Other) != none || DualMK23Pistol(Other) != none
|| M14EBRBattleRifle(Other) != none || Magnum44Pistol(Other) != none
|| Dual44Magnum(Other) != none )
{
if ( KFPRI.ClientVeteranSkillLevel == 0 )
{
return 1.0;
}
return 1.0 + (0.10 * float(KFPRI.ClientVeteranSkillLevel)); // Up to 60% faster reload with Crossbow/Winchester/Handcannon
}
return 1.0;
}
__________________
Whisky's Workshop ![]() "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!" Last edited by Gartley; 07-14-2012 at 08:12 AM. |
|
#3
|
|||
|
|||
|
I honestly don't know what you mean by this. If you could explain a little, we should be able to help.
|
|
#4
|
||||
|
||||
|
To clarify because both seem wrong, the pistols reloading time is reduced because the reloading speed is increased.
As for the code pasted above, if you return 2 here, it will be 2 time faster to reload; will return 1.1 at lv1 etc to 1.6 at lv6. |
|
#5
|
||||
|
||||
|
That's not how reloading bonus works. Actually it's more accurate to say reloading rate. Anyways, the new rate is calculated by dividing the old rate with the modifier, not multiply, as the function name would suggest. Same with weapons that have a fire rate bonus, like melee weapons. The variable represents how many reloads you can do in a time frame, not how long it takes to do 1 reload.
|
|
#6
|
||||
|
||||
|
Are you sure about what the var represents?
I think the ReloadRate in KFWeapon is the delay until the reload is finished. If this is correct, dividing the base delay by 2 is 2 times faster. |
|
#7
|
|||
|
|||
|
I personally would say it's a multiply as if you wanted twice as quick, it would be rate * 0.5 which cuts it in half whereas dividing is rate / 0.5 which makes it take even longer for it to reload.
|
|
#8
|
||||
|
||||
|
Or you could try testing modifiying it to see if you're all right :P
__________________
|
|
#9
|
||||
|
||||
|
It's the same interpretation. If base rate is 1 reload per X seconds, dividing the rate by 2 means you can reload 2 times in the same X seconds, or inverted, twice as fast. The point I'm making though is the usage of the multiplier is with division. That's why the number returned is greater than 1. You can look at all the KFVet files and all perks with similar firespeed and reloadspeed bonuses return numbers >= 1.
|
|
#10
|
||||
|
||||
|
ReloadRate is the time it takes to reload, divided it will make a quicker reload with this you must also multiply the ReloadAnimRate which is the speed at which the gun reloads.
__________________
|
|
#11
|
|||
|
|||
|
just going through some of my old posts - forgot about this one
1st off - Marco has solved it in his latest release - and now I know how to do it for any weap - but thx for the responses and help
|
|
#12
|
||||
|
||||
|
KFWeapon.uc
Code:
exec function ReloadMeNow()
{
local float ReloadMulti;
if(!AllowReload())
return;
if ( bHasAimingMode && bAimingRifle )
{
FireMode[1].bIsFiring = False;
ZoomOut(false);
if( Role < ROLE_Authority)
ServerZoomOut(false);
}
if ( KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo) != none && KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill != none )
{
ReloadMulti = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill.Static.GetReloadSpeedModifier(KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo), self);
}
else
{
ReloadMulti = 1.0;
}
bIsReloading = true;
ReloadTimer = Level.TimeSeconds;
ReloadRate = Default.ReloadRate / ReloadMulti;
if( bHoldToReload )
{
NumLoadedThisReload = 0;
}
ClientReload();
Instigator.SetAnimAction(WeaponReloadAnim);
// Reload message commented out for now - Ramm
if ( Level.Game.NumPlayers > 1 && KFGameType(Level.Game).bWaveInProgress && KFPlayerController(Instigator.Controller) != none &&
Level.TimeSeconds - KFPlayerController(Instigator.Controller).LastReloadMessageTime > KFPlayerController(Instigator.Controller).ReloadMessageDelay )
{
KFPlayerController(Instigator.Controller).Speech('AUTO', 2, "");
KFPlayerController(Instigator.Controller).LastReloadMessageTime = Level.TimeSeconds;
}
}
100% faster reload would mean twice faster reload, not the instant reload in no-time.
__________________
KF Servers: Official+Custom maps. Custom Monters/SuperZombies/Doom3. Powered by ScrnBalance mutator. scrn.no-ip.org:7707 - 6p HoE server 46.223.78.106:7713 - 20p Custom Sui/HoE Server |
![]() |
| Thread Tools | |
| Display Modes | |
|
|