108 lines
3.8 KiB
Ucode
108 lines
3.8 KiB
Ucode
class NiceMP5MMedicGun extends NiceMedicGun;
|
|
var bool chargerOpen;
|
|
var float chargerStartOpeningTiming, chargerOpenedTiming, chargeCloseTiming;
|
|
var const string chargerStartOpeningTimeStr, chargerOpenedTimeStr, chargeCloseTimeStr;
|
|
function NicePlainData.Data GetNiceData(){
|
|
local NicePlainData.Data transferData;
|
|
transferData = super.GetNiceData();
|
|
class'NicePlainData'.static.SetBool(transferData, "MP5MChargerOpen", chargerOpen);
|
|
return transferData;
|
|
}
|
|
function SetNiceData(NicePlainData.Data transferData, optional NiceHumanPawn newOwner){
|
|
super.SetNiceData(transferData, newOwner);
|
|
chargerOpen = class'NicePlainData'.static.GetBool(transferData, "MP5MChargerOpen", false);
|
|
}
|
|
simulated function PostBeginPlay(){
|
|
local EventRecord record;
|
|
// Setup reload events
|
|
record.eventName = chargerStartOpeningTimeStr;
|
|
record.eventFrame = chargerStartOpeningTiming;
|
|
relEvents[relEvents.Length] = record;
|
|
record.eventName = chargerOpenedTimeStr;
|
|
record.eventFrame = chargerOpenedTiming;
|
|
relEvents[relEvents.Length] = record;
|
|
record.eventName = chargeCloseTimeStr;
|
|
record.eventFrame = chargeCloseTiming;
|
|
relEvents[relEvents.Length] = record;
|
|
super.PostBeginPlay();
|
|
}
|
|
simulated function ReloadEvent(string eventName){
|
|
local float magStart;
|
|
// Calculate the point from which we should resume the magazine part
|
|
if(bMagazineOut)
|
|
magStart = 0.605;
|
|
else if(IsMagazineFull())
|
|
magStart = 0.868;
|
|
else
|
|
magStart = 0.351;
|
|
// Jump if needed
|
|
if(eventName ~= chargerStartOpeningTimeStr && (bRoundInChamber || chargerOpen)){
|
|
ScrollAnim(magStart);
|
|
lastEventCheckFrame = magStart;
|
|
}
|
|
// Flag changes
|
|
if(eventName ~= chargerOpenedTimeStr){
|
|
chargerOpen = true;
|
|
if(bMagazineOut || !IsMagazineFull()){
|
|
ScrollAnim(magStart);
|
|
lastEventCheckFrame = magStart;
|
|
}
|
|
}
|
|
if(eventName ~= chargeCloseTimeStr)
|
|
chargerOpen = false;
|
|
}
|
|
defaultproperties
|
|
{
|
|
chargerOpen=True
|
|
chargerStartOpeningTiming=0.010000
|
|
chargerOpenedTiming=0.175000
|
|
chargeCloseTiming=0.895000
|
|
chargerStartOpeningTimeStr="openChargerS"
|
|
chargerOpenedTimeStr="openChargerE"
|
|
chargeCloseTimeStr="closeCharger"
|
|
reloadPreEndFrame=0.544000
|
|
reloadEndFrame=0.728000
|
|
reloadChargeEndFrame=0.895000
|
|
MagazineBone="Empty_Magazine"
|
|
MagCapacity=30
|
|
ReloadRate=3.040000
|
|
ReloadAnim="Reload"
|
|
ReloadAnimRate=1.250000
|
|
WeaponReloadAnim="Reload_MP5"
|
|
Weight=4.000000
|
|
bHasAimingMode=True
|
|
IdleAimAnim="Idle_Iron"
|
|
StandardDisplayFOV=55.000000
|
|
SleeveNum=2
|
|
TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_Mp5Medic'
|
|
bIsTier2Weapon=True
|
|
MeshRef="KF_Wep_MP5.MP5_Trip"
|
|
SkinRefs(0)="KF_Weapons4_Trip_T.Weapons.MP5_cmb"
|
|
SkinRefs(1)="KF_Weapons2_Trip_T.Special.Aimpoint_sight_shdr"
|
|
SelectSoundRef="KF_MP5Snd.WEP_MP5_Foley_Select"
|
|
HudImageRef="KillingFloor2HUD.WeaponSelect.Mp5Medic_unselected"
|
|
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.Mp5Medic"
|
|
PlayerIronSightFOV=65.000000
|
|
ZoomedDisplayFOV=45.000000
|
|
FireModeClass(0)=class'NiceMP5MFire'
|
|
FireModeClass(1)=class'NiceMP5MAltFire'
|
|
PutDownAnim="PutDown"
|
|
SelectForce="SwitchToAssaultRifle"
|
|
AIRating=0.550000
|
|
CurrentRating=0.550000
|
|
bShowChargingBar=True
|
|
Description="MP5 sub machine gun. Modified to fire healing darts. Better damage and healing than MP7M with a larger mag."
|
|
EffectOffset=(X=100.000000,Y=25.000000,Z=-10.000000)
|
|
DisplayFOV=55.000000
|
|
Priority=80
|
|
InventoryGroup=3
|
|
GroupOffset=4
|
|
PickupClass=class'NiceMP5MPickup'
|
|
PlayerViewOffset=(X=25.000000,Y=20.000000,Z=-6.000000)
|
|
BobDamping=6.000000
|
|
AttachmentClass=class'NiceMP5MAttachment'
|
|
IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
|
|
ItemName="MP5M Medic Gun"
|
|
TransientSoundVolume=1.250000
|
|
}
|