This patch reverts first step of global weapon conversion that would have halted the release of the next version for too long.
73 lines
6.2 KiB
Ucode
73 lines
6.2 KiB
Ucode
class NiceM7A3MMedicGun extends NiceMedicGun;
|
|
var localized string ReloadMessage;
|
|
var localized string EmptyMessage;
|
|
var Material ScopeGreen;
|
|
var Material ScopeRed;
|
|
var ScriptedTexture MyScriptedTexture;
|
|
var string MyMessage;
|
|
var Font MyFont;
|
|
var Font MyFont2;
|
|
var Font SmallMyFont;
|
|
var color MyFontColor;
|
|
var color MyFontColor2;
|
|
var int OldValue;
|
|
|
|
static function PreloadAssets(Inventory Inv, optional bool bSkipRefCount)
|
|
{
|
|
if(default.ScopeGreen == none)
|
|
default.ScopeGreen = Material(DynamicLoadObject("KF_Weapons5_Scopes_Trip_T.M7A3.Scope_Finall", class'Material', true));
|
|
if(default.ScopeRed == none)
|
|
default.ScopeRed = Material(DynamicLoadObject("KF_Weapons5_Scopes_Trip_T.M7A3.ScopeRed_Shader", class'Material', true));
|
|
if(default.MyScriptedTexture == none)
|
|
default.MyScriptedTexture = ScriptedTexture(DynamicLoadObject("KF_Weapons5_Scopes_Trip_T.M7A3_Ammo_Script.AmmoNumber", class'ScriptedTexture', true));
|
|
if(default.MyFont == none)
|
|
default.MyFont = Font(DynamicLoadObject("IJCFonts.DigitalBig", class'Font', true));
|
|
if(default.MyFont2 == none)
|
|
default.MyFont2 = Font(DynamicLoadObject("IJCFonts.DigitalBig", class'Font', true));
|
|
if(default.SmallMyFont == none)
|
|
default.SmallMyFont = Font(DynamicLoadObject("IJCFonts.DigitalMed", class'Font', true));
|
|
if(M7A3MMedicGun(Inv) != none){
|
|
M7A3MMedicGun(Inv).ScopeGreen = default.ScopeGreen;
|
|
M7A3MMedicGun(Inv).ScopeRed = default.ScopeRed;
|
|
M7A3MMedicGun(Inv).MyScriptedTexture = default.MyScriptedTexture;
|
|
M7A3MMedicGun(Inv).MyFont = default.MyFont;
|
|
M7A3MMedicGun(Inv).MyFont2 = default.MyFont2;
|
|
M7A3MMedicGun(Inv).SmallMyFont = default.SmallMyFont;
|
|
}
|
|
super.PreloadAssets(Inv, bSkipRefCount);
|
|
}
|
|
static function bool UnloadAssets(){
|
|
if(super.UnloadAssets()){
|
|
default.ScopeGreen = none;
|
|
default.ScopeRed = none;
|
|
default.MyScriptedTexture = none;
|
|
default.MyFont = none;
|
|
default.MyFont2 = none;
|
|
default.SmallMyFont = none;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
simulated final function SetTextColor(byte R, byte G, byte B){
|
|
MyFontColor.R = R;
|
|
MyFontColor.G = G;
|
|
MyFontColor.B = B;
|
|
MyFontColor.A = 255;
|
|
}
|
|
simulated final function SetTextColor2(byte R, byte G, byte B){
|
|
MyFontColor2.R = R;
|
|
MyFontColor2.G = G;
|
|
MyFontColor2.B = B;
|
|
MyFontColor2.A = 255;
|
|
}
|
|
simulated function RenderOverlays(Canvas Canvas){
|
|
if(medicCharge >= 50){
|
|
SetTextColor2(76,148,177);
|
|
MyScriptedTexture.Revision ++;
|
|
}
|
|
else{
|
|
SetTextColor2(218,18,18);
|
|
MyScriptedTexture.Revision ++;
|
|
}
|
|
if(AmmoAmount(0) <= 0){
|
|
if(OldValue != -5){
|
|
OldValue = -5;
|
|
Skins[2] = ScopeRed;
|
|
MyFont = SmallMyFont;
|
|
SetTextColor(218,18,18);
|
|
MyMessage = EmptyMessage;
|
|
MyScriptedTexture.Revision ++;
|
|
}
|
|
}
|
|
else if(bIsReloading){
|
|
if(OldValue != -4){
|
|
OldValue = -4;
|
|
MyFont = SmallMyFont;
|
|
SetTextColor(32,187,112);
|
|
MyMessage = ReloadMessage;
|
|
++MyScriptedTexture.Revision;
|
|
}
|
|
}
|
|
else if(OldValue != (MagAmmoRemaining + 1)){
|
|
OldValue = MagAmmoRemaining+1;
|
|
Skins[2] = ScopeGreen;
|
|
MyFont = Default.MyFont;
|
|
|
|
if(MagAmmoRemaining <= (MagCapacity/2))
|
|
SetTextColor(32,187,112);
|
|
if(MagAmmoRemaining <= (MagCapacity / 3)){
|
|
SetTextColor(218,18,18);
|
|
Skins[2] = ScopeRed;
|
|
}
|
|
if(MagAmmoRemaining >= (MagCapacity/2))
|
|
SetTextColor(76,148,177);
|
|
MyMessage = String(MagAmmoRemaining);
|
|
|
|
MyScriptedTexture.Revision ++;
|
|
}
|
|
MyScriptedTexture.Client = Self;
|
|
Super.RenderOverlays(Canvas);
|
|
MyScriptedTexture.Client = None;
|
|
}
|
|
simulated function RenderTexture(ScriptedTexture Tex){
|
|
local int w, h;
|
|
// Ammo
|
|
Tex.TextSize( MyMessage, MyFont, w, h );
|
|
Tex.DrawText( ( Tex.USize / 2 ) - ( w / 2 ), ( Tex.VSize / 2 ) - ( h / 1.2 ),MyMessage, MyFont, MyFontColor );
|
|
// Health
|
|
Tex.TextSize( int(medicCharge), MyFont2, w, h );
|
|
Tex.DrawText( ( Tex.USize / 2 ) - ( w / 2 ), ( Tex.VSize / 2 ) - 8, int(medicCharge), MyFont2, MyFontColor2 );
|
|
}
|
|
defaultproperties
|
|
{
|
|
ReloadMessage="REL"
|
|
EmptyMessage="Empty"
|
|
MyFontColor=(B=177,G=148,R=76,A=255)
|
|
MyFontColor2=(B=177,G=148,R=76,A=255)
|
|
reloadPreEndFrame=0.148000
|
|
reloadEndFrame=0.519000
|
|
reloadChargeEndFrame=0.740000
|
|
reloadMagStartFrame=0.222000
|
|
reloadChargeStartFrame=0.531000
|
|
MagCapacity=30
|
|
ReloadRate=3.066000
|
|
ReloadAnim="Reload"
|
|
ReloadAnimRate=1.000000
|
|
WeaponReloadAnim="Reload_M7A3"
|
|
Weight=5.000000
|
|
bHasAimingMode=True
|
|
IdleAimAnim="Idle_Iron"
|
|
StandardDisplayFOV=55.000000
|
|
SleeveNum=3
|
|
TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_M7A3'
|
|
bIsTier3Weapon=True
|
|
MeshRef="KF_Wep_M7A3.M7A3"
|
|
SkinRefs(0)="KF_Weapons5_Trip_T.Weapons.M7A3_cmb"
|
|
SkinRefs(1)="KF_Weapons5_Scopes_Trip_T.M7A3_Ammo_Script.AmmoShader"
|
|
SkinRefs(2)="KF_Weapons5_Scopes_Trip_T.M7A3.Scope_Finall"
|
|
SelectSoundRef="KF_M7A3Snd.M7A3_Select"
|
|
HudImageRef="KillingFloor2HUD.WeaponSelect.M7A3_unselected"
|
|
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M7A3"
|
|
PlayerIronSightFOV=65.000000
|
|
ZoomedDisplayFOV=45.000000
|
|
FireModeClass(0)=Class'NicePack.NiceM7A3MFire'
|
|
FireModeClass(1)=Class'NicePack.NiceM7A3MAltFire'
|
|
PutDownAnim="PutDown"
|
|
SelectForce="SwitchToAssaultRifle"
|
|
AIRating=0.550000
|
|
CurrentRating=0.550000
|
|
bShowChargingBar=True
|
|
Description="An advanced Horzine prototype assault rifle. Modified to fire healing darts."
|
|
EffectOffset=(X=100.000000,Y=25.000000,Z=-10.000000)
|
|
DisplayFOV=55.000000
|
|
Priority=100
|
|
InventoryGroup=4
|
|
GroupOffset=13
|
|
PickupClass=Class'NicePack.NiceM7A3MPickup'
|
|
PlayerViewOffset=(X=20.000000,Y=15.000000,Z=-5.000000)
|
|
BobDamping=6.000000
|
|
AttachmentClass=Class'NicePack.NiceM7A3MAttachment'
|
|
IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
|
|
ItemName="M7A3 Medic Gun"
|
|
TransientSoundVolume=1.250000
|
|
}
|