[Tweak] Better Telescopic Baton (#544)
* [Tweak] Better Telescopic Baton * self defence loadout * SDD4Inspector
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
namespace Content.Shared._White.Item.Telebaton;
|
|
||||||
|
|
||||||
[RegisterComponent]
|
|
||||||
public sealed partial class TelebatonComponent : Component
|
|
||||||
{
|
|
||||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
|
||||||
public TimeSpan KnockdownTime = TimeSpan.FromSeconds(1.5f);
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
using Content.Shared.Damage.Events;
|
|
||||||
using Content.Shared.Examine;
|
|
||||||
using Content.Shared.Item;
|
|
||||||
using Content.Shared.Item.ItemToggle;
|
|
||||||
using Content.Shared.Item.ItemToggle.Components;
|
|
||||||
using Content.Shared.Stunnable;
|
|
||||||
|
|
||||||
namespace Content.Shared._White.Item.Telebaton;
|
|
||||||
|
|
||||||
public sealed class TelebatonSystem : EntitySystem
|
|
||||||
{
|
|
||||||
[Dependency] private readonly SharedItemSystem _item = default!;
|
|
||||||
[Dependency] private readonly SharedStunSystem _stun = default!;
|
|
||||||
[Dependency] private readonly SharedItemToggleSystem _itemToggle = default!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
|
||||||
{
|
|
||||||
base.Initialize();
|
|
||||||
|
|
||||||
SubscribeLocalEvent<TelebatonComponent, ExaminedEvent>(OnExamined);
|
|
||||||
SubscribeLocalEvent<TelebatonComponent, StaminaDamageOnHitAttemptEvent>(OnStaminaHitAttempt);
|
|
||||||
SubscribeLocalEvent<TelebatonComponent, ItemToggledEvent>(ToggleDone);
|
|
||||||
SubscribeLocalEvent<TelebatonComponent, StaminaMeleeHitEvent>(OnHit);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnHit(Entity<TelebatonComponent> ent, ref StaminaMeleeHitEvent args)
|
|
||||||
{
|
|
||||||
var time = ent.Comp.KnockdownTime;
|
|
||||||
if (time <= TimeSpan.Zero)
|
|
||||||
return;
|
|
||||||
|
|
||||||
foreach (var (uid, _) in args.HitList)
|
|
||||||
{
|
|
||||||
_stun.TryKnockdown(uid, time, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnStaminaHitAttempt(Entity<TelebatonComponent> entity, ref StaminaDamageOnHitAttemptEvent args)
|
|
||||||
{
|
|
||||||
if (!_itemToggle.IsActivated(entity.Owner))
|
|
||||||
args.Cancelled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnExamined(Entity<TelebatonComponent> entity, ref ExaminedEvent args)
|
|
||||||
{
|
|
||||||
var onMsg = _itemToggle.IsActivated(entity.Owner)
|
|
||||||
? Loc.GetString("comp-telebaton-examined-on")
|
|
||||||
: Loc.GetString("comp-telebaton-examined-off");
|
|
||||||
args.PushMarkup(onMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ToggleDone(Entity<TelebatonComponent> entity, ref ItemToggledEvent args)
|
|
||||||
{
|
|
||||||
_item.SetHeldPrefix(entity.Owner, args.Activated ? "on" : "off");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Content.Shared._White.Item.TelescopicBaton;
|
||||||
|
|
||||||
|
[RegisterComponent]
|
||||||
|
public sealed partial class TelescopicBatonComponent : Component
|
||||||
|
{
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
using Content.Shared.Damage.Events;
|
||||||
|
using Content.Shared.Examine;
|
||||||
|
using Content.Shared.Item;
|
||||||
|
using Content.Shared.Standing.Systems;
|
||||||
|
using Content.Shared.Standing;
|
||||||
|
using Content.Shared.Item.ItemToggle;
|
||||||
|
using Content.Shared.Item.ItemToggle.Components;
|
||||||
|
using Content.Shared.Stunnable;
|
||||||
|
|
||||||
|
namespace Content.Shared._White.Item.TelescopicBaton;
|
||||||
|
|
||||||
|
public sealed class TelescopicBatonSystem : EntitySystem
|
||||||
|
{
|
||||||
|
[Dependency] private readonly SharedItemSystem _item = default!;
|
||||||
|
[Dependency] private readonly SharedStunSystem _stun = default!;
|
||||||
|
[Dependency] private readonly SharedItemToggleSystem _itemToggle = default!;
|
||||||
|
[Dependency] private readonly SharedStandingStateSystem _standing = default!;
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeLocalEvent<TelescopicBatonComponent, ExaminedEvent>(OnExamined);
|
||||||
|
SubscribeLocalEvent<TelescopicBatonComponent, StaminaDamageOnHitAttemptEvent>(OnStaminaHitAttempt);
|
||||||
|
SubscribeLocalEvent<TelescopicBatonComponent, ItemToggledEvent>(ToggleDone);
|
||||||
|
SubscribeLocalEvent<TelescopicBatonComponent, StaminaMeleeHitEvent>(OnHit);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnHit(Entity<TelescopicBatonComponent> ent, ref StaminaMeleeHitEvent args)
|
||||||
|
{
|
||||||
|
foreach (var (uid, _) in args.HitList)
|
||||||
|
{
|
||||||
|
if (HasComp<StandingStateComponent>(uid))
|
||||||
|
{
|
||||||
|
_standing.TryLieDown(uid, null, SharedStandingStateSystem.DropHeldItemsBehavior.NoDrop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStaminaHitAttempt(Entity<TelescopicBatonComponent> entity, ref StaminaDamageOnHitAttemptEvent args)
|
||||||
|
{
|
||||||
|
if (!_itemToggle.IsActivated(entity.Owner))
|
||||||
|
args.Cancelled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnExamined(Entity<TelescopicBatonComponent> entity, ref ExaminedEvent args)
|
||||||
|
{
|
||||||
|
var onMsg = _itemToggle.IsActivated(entity.Owner)
|
||||||
|
? Loc.GetString("comp-telebaton-examined-on")
|
||||||
|
: Loc.GetString("comp-telebaton-examined-off");
|
||||||
|
args.PushMarkup(onMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ToggleDone(Entity<TelescopicBatonComponent> entity, ref ItemToggledEvent args)
|
||||||
|
{
|
||||||
|
_item.SetHeldPrefix(entity.Owner, args.Activated ? "on" : "off");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,3 +14,4 @@ loadout-group-job-trinkets = Рабочий инвентарь
|
|||||||
loadout-group-inhand = В руках
|
loadout-group-inhand = В руках
|
||||||
loadout-group-trinkets = Побрякушки
|
loadout-group-trinkets = Побрякушки
|
||||||
loadout-group-instruments = Муз. инструменты
|
loadout-group-instruments = Муз. инструменты
|
||||||
|
loadout-group-self-defence-devices = Средства самообороны
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
ent-Telebaton = телескопическая дубинка
|
ent-TelescopicBaton = телескопическая дубинка
|
||||||
.desc = Компактное, но надежное оружие личной обороны. В сложенном состоянии может быть скрыто.
|
.desc = Компактное, но надежное оружие личной обороны. В сложенном состоянии может быть скрыто.
|
||||||
|
|
||||||
comp-telebaton-examined-on = Дубинка в боевом положении.
|
comp-telebaton-examined-on = Дубинка в боевом положении.
|
||||||
|
|||||||
@@ -65,10 +65,8 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- name: StationCharter
|
#- name: StationCharter
|
||||||
#- name: TelescopicBaton
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
parent: ClothingBackpackEngineering
|
parent: ClothingBackpackEngineering
|
||||||
@@ -77,9 +75,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalEngineering
|
- id: BoxSurvivalEngineering
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -89,9 +84,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -101,9 +93,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -113,9 +102,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -125,9 +111,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalMedical
|
- id: BoxSurvivalMedical
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -137,9 +120,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -149,7 +129,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalSecurity
|
- id: BoxSurvivalSecurity
|
||||||
- id: Flash
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
|
|||||||
@@ -74,10 +74,8 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- name: StationCharter
|
#- name: StationCharter
|
||||||
#- name: TelescopicBaton
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
parent: ClothingBackpackDuffelEngineering
|
parent: ClothingBackpackDuffelEngineering
|
||||||
@@ -86,9 +84,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalEngineering
|
- id: BoxSurvivalEngineering
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -98,9 +93,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -110,9 +102,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -122,9 +111,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalMedical
|
- id: BoxSurvivalMedical
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -134,9 +120,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -146,7 +129,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalSecurity
|
- id: BoxSurvivalSecurity
|
||||||
- id: Flash
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
|
|||||||
@@ -102,10 +102,8 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- name: StationCharter
|
#- name: StationCharter
|
||||||
#- name: TelescopicBaton
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
parent: ClothingBackpackSatchelEngineering
|
parent: ClothingBackpackSatchelEngineering
|
||||||
@@ -114,9 +112,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalEngineering
|
- id: BoxSurvivalEngineering
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -126,9 +121,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -138,9 +130,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -150,9 +139,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalMedical
|
- id: BoxSurvivalMedical
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -162,9 +148,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvival
|
- id: BoxSurvival
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
#- id: TelescopicBaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -174,7 +157,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalSecurity
|
- id: BoxSurvivalSecurity
|
||||||
- id: Flash
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingBackpackSatchelInspector
|
parent: ClothingBackpackSatchelInspector
|
||||||
@@ -185,8 +167,6 @@
|
|||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: BoxSurvivalSecurity
|
- id: BoxSurvivalSecurity
|
||||||
- id: Flash
|
|
||||||
- id: Telebaton
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#///////
|
||||||
|
# White Dream
|
||||||
|
#///////
|
||||||
|
|
||||||
|
- type: itemLoadout
|
||||||
|
id: TelescopicBaton
|
||||||
|
equipment: TelescopicBaton
|
||||||
|
- type: startingGear
|
||||||
|
id: TelescopicBaton
|
||||||
|
storage:
|
||||||
|
back:
|
||||||
|
- TelescopicBaton
|
||||||
|
|
||||||
|
- type: itemLoadout
|
||||||
|
id: Flash
|
||||||
|
equipment: Flash
|
||||||
|
- type: startingGear
|
||||||
|
id: Flash
|
||||||
|
storage:
|
||||||
|
back:
|
||||||
|
- Flash
|
||||||
@@ -21,6 +21,15 @@
|
|||||||
- NTFlag # WD
|
- NTFlag # WD
|
||||||
|
|
||||||
# Command
|
# Command
|
||||||
|
- type: loadoutGroup # WD
|
||||||
|
id: SelfDefenceDevices
|
||||||
|
name: loadout-group-self-defence-devices
|
||||||
|
minLimit: 1
|
||||||
|
maxLimit: 2
|
||||||
|
loadouts:
|
||||||
|
- TelescopicBaton
|
||||||
|
- Flash
|
||||||
|
|
||||||
- type: loadoutGroup
|
- type: loadoutGroup
|
||||||
id: CaptainHead
|
id: CaptainHead
|
||||||
name: loadout-group-head
|
name: loadout-group-head
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
- CaptainGloves # WD
|
- CaptainGloves # WD
|
||||||
- CaptainShoes
|
- CaptainShoes
|
||||||
- CaptainPDA # WD
|
- CaptainPDA # WD
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
- type: roleLoadout
|
- type: roleLoadout
|
||||||
@@ -29,6 +30,7 @@
|
|||||||
- HoPOuterClothing
|
- HoPOuterClothing
|
||||||
- HoPShoes
|
- HoPShoes
|
||||||
- HoPPDA # WD
|
- HoPPDA # WD
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
# Civilian
|
# Civilian
|
||||||
@@ -206,6 +208,7 @@
|
|||||||
- CommonGloves # WD
|
- CommonGloves # WD
|
||||||
- QuartermasterShoes
|
- QuartermasterShoes
|
||||||
- QuartermasterPDA # WD
|
- QuartermasterPDA # WD
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- CommonCargoJobTrinkets
|
- CommonCargoJobTrinkets
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
@@ -253,6 +256,7 @@
|
|||||||
- CommonGloves # WD
|
- CommonGloves # WD
|
||||||
- ChiefEngineerShoes
|
- ChiefEngineerShoes
|
||||||
- ChiefEngineerPDA # WD
|
- ChiefEngineerPDA # WD
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
- type: roleLoadout
|
- type: roleLoadout
|
||||||
@@ -320,6 +324,7 @@
|
|||||||
- ResearchDirectorShoes
|
- ResearchDirectorShoes
|
||||||
- CommonScienceGloves
|
- CommonScienceGloves
|
||||||
- ResearchDirectorPDA
|
- ResearchDirectorPDA
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
- type: roleLoadout
|
- type: roleLoadout
|
||||||
@@ -379,6 +384,7 @@
|
|||||||
- CommonSecurityBackpack
|
- CommonSecurityBackpack
|
||||||
- CommonSecurityShoes
|
- CommonSecurityShoes
|
||||||
- HeadofSecurityPDA
|
- HeadofSecurityPDA
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- CommonSecurityJobTrinkets # WD
|
- CommonSecurityJobTrinkets # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
@@ -476,6 +482,7 @@
|
|||||||
- CommonMedicalGloves
|
- CommonMedicalGloves
|
||||||
- ChiefMedicalOfficerShoes
|
- ChiefMedicalOfficerShoes
|
||||||
- ChiefMedicalOfficerPDA
|
- ChiefMedicalOfficerPDA
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
- type: roleLoadout
|
- type: roleLoadout
|
||||||
@@ -567,6 +574,7 @@
|
|||||||
- InspectorShoes
|
- InspectorShoes
|
||||||
- InspectorPDA
|
- InspectorPDA
|
||||||
- BriefcaseInhand
|
- BriefcaseInhand
|
||||||
|
- SelfDefenceDevices # WD
|
||||||
- InspectorJobTrinkets
|
- InspectorJobTrinkets
|
||||||
- Trinkets
|
- Trinkets
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,19 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
id: Telebaton
|
|
||||||
name: telescopic baton
|
|
||||||
parent: BaseItem
|
parent: BaseItem
|
||||||
|
id: TelescopicBaton
|
||||||
|
name: telescopic baton
|
||||||
description: A compact yet robust personal defense weapon. Can be concealed when folded.
|
description: A compact yet robust personal defense weapon. Can be concealed when folded.
|
||||||
components:
|
components:
|
||||||
|
- type: TelescopicBaton
|
||||||
|
- type: Sprite
|
||||||
|
sprite: White/Objects/Weapons/telebaton.rsi
|
||||||
|
layers:
|
||||||
|
- state: telebaton_off
|
||||||
|
map: [ "enum.ToggleVisuals.Layer" ]
|
||||||
|
- type: ItemToggleSize
|
||||||
|
activatedSize: Large
|
||||||
|
activatedShape:
|
||||||
|
- 0, 0, 3, 0
|
||||||
- type: ItemToggle
|
- type: ItemToggle
|
||||||
soundActivate:
|
soundActivate:
|
||||||
path: /Audio/Weapons/telescopicon.ogg
|
path: /Audio/Weapons/telescopicon.ogg
|
||||||
@@ -13,42 +23,6 @@
|
|||||||
path: /Audio/Weapons/telescopicoff.ogg
|
path: /Audio/Weapons/telescopicoff.ogg
|
||||||
params:
|
params:
|
||||||
volume: -5
|
volume: -5
|
||||||
- type: ItemToggleSize
|
|
||||||
activatedSize: Large
|
|
||||||
activatedShape:
|
|
||||||
- 0, 0, 3, 0
|
|
||||||
- type: DisarmMalus
|
|
||||||
malus: 0.225
|
|
||||||
- type: Sprite
|
|
||||||
sprite: White/Objects/Weapons/telebaton.rsi
|
|
||||||
layers:
|
|
||||||
- state: telebaton_off
|
|
||||||
map: [ "enum.ToggleVisuals.Layer" ]
|
|
||||||
- type: ItemToggleMeleeWeapon
|
|
||||||
activatedDamage:
|
|
||||||
types:
|
|
||||||
Blunt: 12
|
|
||||||
deactivatedSecret: true
|
|
||||||
- type: MeleeWeapon
|
|
||||||
canHeavyAttack: false
|
|
||||||
equipCooldown: 1
|
|
||||||
attackRate: 0.25
|
|
||||||
wideAnimationRotation: -135
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 0
|
|
||||||
bluntStaminaDamageFactor: 0.0 # so blunt doesn't deal stamina damage at all
|
|
||||||
- type: StaminaDamageOnHit
|
|
||||||
damage: 55
|
|
||||||
sound: /Audio/White/Weapons/woodhit.ogg
|
|
||||||
- type: UseDelay
|
|
||||||
- type: Item
|
|
||||||
heldPrefix: off
|
|
||||||
sprite: White/Objects/Weapons/telebaton.rsi
|
|
||||||
size: Small
|
|
||||||
storedRotation: 44
|
|
||||||
shape:
|
|
||||||
- 0, 0, 1, 0
|
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
@@ -56,6 +30,37 @@
|
|||||||
enum.ToggleVisuals.Layer:
|
enum.ToggleVisuals.Layer:
|
||||||
True: {state: telebaton_on}
|
True: {state: telebaton_on}
|
||||||
False: {state: telebaton_off}
|
False: {state: telebaton_off}
|
||||||
|
- type: DisarmMalus
|
||||||
|
malus: 0.225
|
||||||
|
- type: MeleeWeapon
|
||||||
|
canHeavyAttack: false
|
||||||
|
equipCooldown: 1
|
||||||
|
attackRate: 1.2
|
||||||
|
wideAnimationRotation: -135
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Blunt: 0
|
||||||
|
bluntStaminaDamageFactor: 0.0 # so blunt doesn't deal stamina damage at all
|
||||||
|
- type: ItemToggleMeleeWeapon
|
||||||
|
activatedDamage:
|
||||||
|
types:
|
||||||
|
Blunt: 2
|
||||||
|
deactivatedSecret: true
|
||||||
|
- type: StaminaDamageOnHit
|
||||||
|
damage: 16
|
||||||
|
sound: /Audio/White/Weapons/woodhit.ogg
|
||||||
|
- type: UseDelay
|
||||||
|
delay: 0.4
|
||||||
|
- type: Item
|
||||||
|
heldPrefix: off
|
||||||
|
sprite: White/Objects/Weapons/telebaton.rsi
|
||||||
|
size: Small
|
||||||
|
storedRotation: 44
|
||||||
|
shape:
|
||||||
|
- 0, 0, 1, 0
|
||||||
|
- type: Clothing
|
||||||
|
quickEquip: false
|
||||||
|
slots:
|
||||||
|
- Belt
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 150
|
price: 150
|
||||||
- type: Telebaton
|
|
||||||
Reference in New Issue
Block a user