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.Empty()
DefaultInventory.Add(class'ExtWeap_Pistol_9mm') DefaultInventory.Add(class'ExtWeap_Pistol_9mm')
// DefaultInventory.Add(class'KFWeap_Pistol_9mm')
DefaultInventory.Add(class'KFWeap_Healer_Syringe') DefaultInventory.Add(class'KFWeap_Healer_Syringe')
DefaultInventory.Add(class'KFWeap_Welder') DefaultInventory.Add(class'KFWeap_Welder')
DefaultInventory.Add(class'KFInventory_Money') DefaultInventory.Add(class'KFInventory_Money')

View File

@ -228,6 +228,7 @@ function Destroyed()
function EarnedEXP( int EXP, optional byte Mode ) function EarnedEXP( int EXP, optional byte Mode )
{ {
`log("EarnedEXP" @ GetScriptTrace());
if( CurrentPerk!=None ) if( CurrentPerk!=None )
{ {
// Limit how much EXP we got for healing and welding. // 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); AwardXP(XP);
} }
function AddSmallRadiusKill( byte Difficulty ) function AddSmallRadiusKill( byte Difficulty, class<KFPerk> PerkClass )
{ {
AwardXP(class'KFPerk_Berserker'.static.GetSmallRadiusKillXP(Difficulty)); AwardXP(class'KFPerk_Berserker'.static.GetSmallRadiusKillXP(Difficulty));
} }

View File

@ -8,5 +8,31 @@ defaultproperties
bInfiniteSpareAmmo=True bInfiniteSpareAmmo=True
DualClass=class'ExtWeap_Pistol_Dual9mm' 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 defaultproperties
{ {
SpareAmmoCapacity[0]=-1
InitialSpareMags[0]=0
bInfiniteSpareAmmo=True
SingleClass=class'ExtWeap_Pistol_9mm' 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 defaultproperties
{ {
AssociatedPerkClasses(0)=none
bCanThrow=false bCanThrow=false
SpareAmmoCapacity[0]=-1 SpareAmmoCapacity[0]=-1
InitialSpareMags[0]=0 InitialSpareMags[0]=0
bInfiniteSpareAmmo=True 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

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

View File

@ -45,6 +45,8 @@ function UpdatePerkHeadShots( ImpactInfo Impact, class<DamageType> DamageType, i
local int HitZoneIdx; local int HitZoneIdx;
local KFPawn_Monster KFPM; local KFPawn_Monster KFPM;
// `log("RACKEMUP" @ GetScriptTrace());
if( MaxRhythmCombo<=0 ) if( MaxRhythmCombo<=0 )
return; return;
KFPM = KFPawn_Monster(Impact.HitActor); 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); HitZoneIdx = KFPM.HitZones.Find('ZoneName', Impact.HitInfo.BoneName);
if( HitZoneIdx == HZI_Head && KFPM.IsAliveAndWell() ) 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); UpdateDmgScale(true);
else if( HeadShotComboCount>0 ) else if( HeadShotComboCount>0 )
UpdateDmgScale(false); UpdateDmgScale(false);