Some changes

9mm and MedPistol is perked for all now and used by Rack'em Up
Standart pistol has unlimited ammo without reloading
This commit is contained in:
inklesspen1scripter 2020-06-21 22:06:43 +03:00
parent 245eb9e552
commit ac8435dc2a
8 changed files with 86 additions and 4 deletions

View File

@ -1307,6 +1307,7 @@ defaultproperties
DefaultInventory.Empty()
DefaultInventory.Add(class'ExtWeap_Pistol_9mm')
// DefaultInventory.Add(class'KFWeap_Pistol_9mm')
DefaultInventory.Add(class'KFWeap_Healer_Syringe')
DefaultInventory.Add(class'KFWeap_Welder')
DefaultInventory.Add(class'KFInventory_Money')

View File

@ -228,6 +228,7 @@ function Destroyed()
function EarnedEXP( int EXP, optional byte Mode )
{
`log("EarnedEXP" @ GetScriptTrace());
if( CurrentPerk!=None )
{
// Limit how much EXP we got for healing and welding.

View File

@ -172,7 +172,7 @@ function OnPlayerXPAdded(INT XP, class<KFPerk> PerkClass)
AwardXP(XP);
}
function AddSmallRadiusKill( byte Difficulty )
function AddSmallRadiusKill( byte Difficulty, class<KFPerk> PerkClass )
{
AwardXP(class'KFPerk_Berserker'.static.GetSmallRadiusKillXP(Difficulty));
}

View File

@ -8,5 +8,31 @@ defaultproperties
bInfiniteSpareAmmo=True
DualClass=class'ExtWeap_Pistol_Dual9mm'
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'ExtDT_Ballistic_9mm'
}
simulated static function bool AllowedForAllPerks()
{
return true;
}
simulated function ConsumeAmmo( byte FireModeNum )
{
}
simulated static event class<KFPerk> GetWeaponPerkClass( class<KFPerk> InstigatorPerkClass )
{
if(InstigatorPerkClass != None)
return InstigatorPerkClass;
return default.AssociatedPerkClasses[0];
}
simulated function KFPerk GetPerk()
{
if(KFPlayer != None)
return KFPlayer.GetPerk();
return super.GetPerk();
}

View File

@ -2,6 +2,30 @@ class ExtWeap_Pistol_Dual9mm extends KFWeap_Pistol_Dual9mm;
defaultproperties
{
SpareAmmoCapacity[0]=-1
InitialSpareMags[0]=0
bInfiniteSpareAmmo=True
SingleClass=class'ExtWeap_Pistol_9mm'
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'ExtDT_Ballistic_9mm' // KFDT_Ballistic_9mm
}
simulated static function bool AllowedForAllPerks()
{
return true;
}
simulated function ConsumeAmmo( byte FireModeNum )
{
}
simulated static event class<KFPerk> GetWeaponPerkClass( class<KFPerk> InstigatorPerkClass )
{
if(InstigatorPerkClass != None)
return InstigatorPerkClass;
return default.AssociatedPerkClasses[0];
}

View File

@ -2,11 +2,31 @@ class ExtWeap_Pistol_MedicS extends KFWeap_Pistol_Medic;
defaultproperties
{
AssociatedPerkClasses(0)=none
bCanThrow=false
SpareAmmoCapacity[0]=-1
InitialSpareMags[0]=0
bInfiniteSpareAmmo=True
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'ExtDT_Ballistic_Pistol_Medic'
}
simulated static function bool AllowedForAllPerks()
{
return true;
}
simulated function ConsumeAmmo( byte FireModeNum )
{
if(FireModeNum == ALTFIRE_FIREMODE)
super.ConsumeAmmo(FireModeNum);
}
simulated static event class<KFPerk> GetWeaponPerkClass( class<KFPerk> InstigatorPerkClass )
{
if(InstigatorPerkClass != None)
return InstigatorPerkClass;
return default.AssociatedPerkClasses[0];
}

View File

@ -99,6 +99,9 @@ simulated final function bool IsWeaponOnPerk( KFWeapon W )
{
if( class<KFPerk_Survivalist>(BasePerk) != None )
return true;
//if( W.AllowedForAllPerks() )
// return true;
return W!=None && W.GetWeaponPerkClass(BasePerk)==BasePerk;
}

View File

@ -42,9 +42,11 @@ final function UpdateDmgScale( bool bUp )
}
function UpdatePerkHeadShots( ImpactInfo Impact, class<DamageType> DamageType, int NumHit )
{
local int HitZoneIdx;
local int HitZoneIdx;
local KFPawn_Monster KFPM;
// `log("RACKEMUP" @ GetScriptTrace());
if( MaxRhythmCombo<=0 )
return;
KFPM = KFPawn_Monster(Impact.HitActor);
@ -58,7 +60,12 @@ function UpdatePerkHeadShots( ImpactInfo Impact, class<DamageType> DamageType, i
HitZoneIdx = KFPM.HitZones.Find('ZoneName', Impact.HitInfo.BoneName);
if( HitZoneIdx == HZI_Head && KFPM.IsAliveAndWell() )
{
if( class<KFDamageType>(DamageType)!=None && class<KFDamageType>(DamageType).Default.ModifierPerkList.Find(BasePerk)>=0 )
if( class<KFDamageType>(DamageType)!=None
&& (class<KFDamageType>(DamageType).Default.ModifierPerkList.Find(BasePerk)>=0
|| DamageType == class'ExtDT_Ballistic_9mm'
|| DamageType == class'ExtDT_Ballistic_Pistol_Medic'
|| DamageType == class'KFDT_Ballistic_9mm'
|| DamageType == class'KFDT_Ballistic_Pistol_Medic'))
UpdateDmgScale(true);
else if( HeadShotComboCount>0 )
UpdateDmgScale(false);