92 lines
4.0 KiB
Ucode
92 lines
4.0 KiB
Ucode
//=============================================================================
|
|
// KFZedArmorInfo_BloatKing
|
|
//=============================================================================
|
|
//
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2018 Tripwire Interactive LLC
|
|
//=============================================================================
|
|
class KFZedArmorInfo_BloatKing extends KFZedArmorInfo;
|
|
|
|
simulated function UpdateArmorPiece(int PieceIdx)
|
|
{
|
|
local int i;
|
|
|
|
super.UpdateArmorPiece(PieceIdx);
|
|
|
|
switch (ArmorZones[PieceIdx].ArmorZoneName)
|
|
{
|
|
case 'head':
|
|
// King bloat uses 2 static attachments for the head piece.
|
|
// Assume these are slot 0, 1 for future possible holiday purposes.
|
|
// Min at list length in case there are fewer than default meshes.
|
|
for (i = Min(1, StaticAttachList.Length - 1); i >= 0; --i)
|
|
{
|
|
Mesh.DetachComponent(StaticAttachList[i]);
|
|
DetachComponent(StaticAttachList[i]);
|
|
StaticAttachList.Remove(i, 1);
|
|
}
|
|
break;
|
|
|
|
case 'front':
|
|
case 'back':
|
|
DetachComponent(ThirdPersonAttachments[PieceIdx]);
|
|
ThirdPersonAttachments[PieceIdx] = none;
|
|
break;
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
ArmorScale=1.f
|
|
|
|
ArmorZones.Add({(
|
|
ArmorZoneName=head,
|
|
AffectedHitZones=(head),
|
|
bAffectedByFrontDamage=true,
|
|
bAffectedByBackDamage=true,
|
|
SocketName=FX_Armor_Head,
|
|
ArmorHealth=1100,
|
|
ExplosionSFXTemplate=AkEvent'WW_ZED_Abomination.Play_Abomination_Small_Armor_Explo',
|
|
ZoneIcon=Texture2D'zed_bloatking_ui.BloatKing_Head_Armor')})
|
|
ArmorZones.Add({(
|
|
ArmorZoneName=front,
|
|
AffectedHitZones=(chest,heart,stomach,abdomen),
|
|
bAffectedByFrontDamage=true,
|
|
bAffectedByBackDamage=false,
|
|
SocketName=FX_Armor_Chest,
|
|
ArmorHealth=4800,
|
|
ExplosionSFXTemplate=AkEvent'WW_ZED_Abomination.Play_Abomination_Large_Armor_Explo',
|
|
ZoneIcon=Texture2D'zed_bloatking_ui.BloatKing_Chest_Armor')})
|
|
ArmorZones.Add({(
|
|
ArmorZoneName=back,
|
|
AffectedHitZones=(chest,heart,stomach,abdomen),
|
|
bAffectedByFrontDamage=false,
|
|
bAffectedByBackDamage=true,
|
|
SocketName=FX_Armor_Back,
|
|
ArmorHealth=3600,
|
|
ExplosionSFXTemplate=AkEvent'WW_ZED_Abomination.Play_Abomination_Large_Armor_Explo',
|
|
ZoneIcon=Texture2D'zed_bloatking_ui.BloatKing_Back_Armor')})
|
|
|
|
// Resistant damage types
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Submachinegun', DamageScale=(0.5)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_AssaultRifle', DamageScale=(0.5)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Shotgun', DamageScale=(0.4)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Handgun', DamageScale=(0.5)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rifle', DamageScale=(0.5)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Slashing', DamageScale=(1.0)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Bludgeon', DamageScale=(1.0)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Fire', DamageScale=(1.0)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Microwave', DamageScale=(0.9)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Explosive', DamageScale=(0.4)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Piercing', DamageScale=(0.5)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Toxic', DamageScale=(0.05))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Toxic_BloatKingFart', DamageScale=(0.00)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Toxic_BloatKingPukeMine', DamageScale=(0.0)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Toxic_BloatKingSubspawnExplosion', DamageScale=(25.0)))
|
|
|
|
//Special cases
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Toxic_HRGHealthrower', DamageScale=(1.2)))
|
|
ArmorDamageTypeModifiers.Add((DamageType=class'KFDT_Bleeding_Hemogoblin', DamageScale=(1.0)))
|
|
}
|