Blood (#507)
* - tweak: Nerf spear. * - tweak: Blood bolt barrage. * - add: Cult stuff. * - fix: Cult fixes. * - remove: Garbage. * - fix: Multiple pylons. * - fix: Pylon placement fix. * - add: Lots of cult stuff.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.FixedPoint;
|
||||
using Content.Shared.Whitelist;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Prototypes;
|
||||
@@ -62,19 +63,31 @@ public sealed partial class MeleeWeaponComponent : Component
|
||||
public bool Attacking = false;
|
||||
|
||||
// WD START
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public bool CanHeavyAttack = true;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public bool CanAttackSelf = true;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public bool CanMiss = true;
|
||||
|
||||
[DataField]
|
||||
public EntityWhitelist? AttackWhitelist;
|
||||
|
||||
[DataField]
|
||||
public EntityWhitelist? AttackBlacklist;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public bool IgnoreResistances;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public float HeavyAttackStaminaCost = 8;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public EntProtoId MissAnimation = "WeaponArcPunch";
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
|
||||
public EntProtoId DisarmAnimation = "WeaponArcDisarm";
|
||||
// WD END
|
||||
|
||||
|
||||
@@ -365,6 +365,30 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem
|
||||
if (weaponUid == lightTarget)
|
||||
return false;
|
||||
|
||||
// WD START
|
||||
if (user == lightTarget && !weapon.CanAttackSelf)
|
||||
return false;
|
||||
|
||||
if (lightTarget == null)
|
||||
{
|
||||
if (weapon.CanMiss)
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (weapon.AttackWhitelist != null)
|
||||
{
|
||||
if (!weapon.AttackWhitelist.IsValid(lightTarget.Value, EntityManager))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (weapon.AttackBlacklist != null)
|
||||
{
|
||||
if (weapon.AttackBlacklist.IsValid(lightTarget.Value, EntityManager))
|
||||
return false;
|
||||
}
|
||||
// WD END
|
||||
|
||||
break;
|
||||
case DisarmAttackEvent disarm:
|
||||
var disarmTarget = GetEntity(disarm.Target);
|
||||
|
||||
Reference in New Issue
Block a user