Skip to content

Commit

Permalink
арблялет
Browse files Browse the repository at this point in the history
  • Loading branch information
Ratyyy committed Jan 2, 2025
1 parent 15a0a80 commit 500661d
Show file tree
Hide file tree
Showing 34 changed files with 381 additions and 4 deletions.
8 changes: 8 additions & 0 deletions Content.Shared/ADT/Blur/BlurOnCollideComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Content.Shared._White.Collision.Blur;

[RegisterComponent]
public sealed partial class BlurOnCollideComponent : Component
{
[DataField]
public float BlurTime = 5f;
}
37 changes: 37 additions & 0 deletions Content.Shared/ADT/Blur/BlurOnCollideSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using Content.Shared.Eye.Blinding.Components;
using Content.Shared.Projectiles;
using Content.Shared.StatusEffect;
using Content.Shared.Throwing;

namespace Content.Shared._White.Collision.Blur;

public sealed class BlurOnCollideSystem : EntitySystem
{
[Dependency] private readonly StatusEffectsSystem _statusEffects = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<BlurOnCollideComponent, ProjectileHitEvent>(OnProjectileHit);
SubscribeLocalEvent<BlurOnCollideComponent, ThrowDoHitEvent>(OnEntityHit);
}

private void OnEntityHit(Entity<BlurOnCollideComponent> ent, ref ThrowDoHitEvent args)
{
ApplyEffects(args.Target, ent.Comp);
}

private void OnProjectileHit(Entity<BlurOnCollideComponent> ent, ref ProjectileHitEvent args)
{
ApplyEffects(args.Target, ent.Comp);
}

private void ApplyEffects(EntityUid target, BlurOnCollideComponent component)
{
_statusEffects.TryAddStatusEffect<BlurryVisionComponent>(target,
"BlurryVision",
TimeSpan.FromSeconds(component.BlurTime),
true);
}
}
9 changes: 9 additions & 0 deletions Content.Shared/ADT/Knockdown/KnockdownOnCollideComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using Content.Shared.ADT.Crawling;

namespace Content.Shared.ADT.Collision.Knockdown;

[RegisterComponent]
public sealed partial class KnockdownOnCollideComponent : Component
{

}
43 changes: 43 additions & 0 deletions Content.Shared/ADT/Knockdown/KnockdownOnCollideSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using Content.Shared.Projectiles;
using Content.Shared.ADT.Crawling;
using Content.Shared.Throwing;
using Content.Shared.DoAfter;
using Content.Shared.Explosion;
using Content.Shared.Input;
using Robust.Shared.Input.Binding;
using Content.Shared.Standing;
using Robust.Shared.Serialization;
using Content.Shared.Stunnable;
using Robust.Shared.Player;
using Content.Shared.Movement.Systems;
using Content.Shared.Alert;
using Content.Shared.Climbing.Components;
using Content.Shared.Popups;
using Robust.Shared.Physics.Systems;
using Robust.Shared.Map.Components;
using Content.Shared.Climbing.Systems;
using Content.Shared.Climbing.Events;

namespace Content.Shared.ADT.Collision.Knockdown;

public sealed class KnockdownOnCollideSystem : EntitySystem
{
[Dependency] private readonly StandingStateSystem _standing = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<KnockdownOnCollideComponent, ProjectileHitEvent>(OnProjectileHit);
}

private void OnProjectileHit(Entity<KnockdownOnCollideComponent> ent, ref ProjectileHitEvent args)
{
ApplyEffects(args.Target, ent.Comp);
}

private void ApplyEffects(EntityUid target, KnockdownOnCollideComponent component)
{
_standing.Down(target, dropHeldItems: false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ public sealed partial class BlurryVisionComponent : Component
/// Amount of "blurring". Also modifies examine ranges.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("magnitude"), AutoNetworkedField]
public float Magnitude;
public float Magnitude = 4f; // Goobstation

/// <summary>
/// Exponent that controls the magnitude of the effect.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("correctionPower"), AutoNetworkedField]
public float CorrectionPower;
public float CorrectionPower = 2f; // Goobstation

public const float MaxMagnitude = 6;
public const float DefaultCorrectionPower = 2f;
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,5 @@ uplink-suppressor-description = Устанавлаемый на ствол ун
uplink-attachments-magneticharness-name = Магнитный ремень
uplink-attachments-magneticharness-description = Комплект из ремня и магнитных креплений, которые крепятся к верхней планке. В случае потери бойцом равновесия - оружие не падает на землю и остается с владельцем.
uplink-miniature-energy-crossbow-name = Миниатюрный энергетический арбалет
uplink-miniature-energy-crossbow-desc = Миниатюрный энергетический арбалет синдиката, тихий и смертоносный. Производитель данного товара заверяет: Будь бы он плохим, производители энергетических мечей не создавали бы 1653 по счёту коллаборацию с нами.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
ent-ADTWeaponPistolX01 = X-01 М.Э.П.
.desc = Мультифазовый энергетический пистолет. Это дорогая, современная версия антикварного лазерного пистолета. У этого оружия есть несколько уникальных режимов огня, но нет возможности самостоятельно перезаряжаться с течением времени.
.suffix = { "Пистолет, Мультифазовый" }
ent-WeaponMiniatureEnergyCrossbow = миниатюрный энергетический арбалет
.desc = Энергетический арбалет синдиката, маленький, тихий и смертоносный.
ent-WeaponEnergyCrossbow = энергетический арбалет
.desc = Тяжёлое смертоносное оружие, поддаётся модификации модулями ПКА. Любимое оружие революционеров, еретиков и прочих любителей кустарной смерти.
11 changes: 11 additions & 0 deletions Resources/Prototypes/ADT/Catalog/uplink_catalog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -627,3 +627,14 @@
conditions:
- !type:ListingLimitedStockCondition
stock: 3

- type: listing
id: UplinkMiniatureEnergyCrossbow
name: uplink-miniature-energy-crossbow-name
description: uplink-miniature-energy-crossbow-desc
icon: { sprite: /Textures/ADT/Objects/Weapons/Guns/Battery/miniature_ebow.rsi, state: icon }
productEntity: WeaponMiniatureEnergyCrossbow
cost:
Telecrystal: 9
categories:
- UplinkWeaponry
Original file line number Diff line number Diff line change
Expand Up @@ -212,3 +212,69 @@
price: 7500
- type: Item
size: Normal

- type: entity
name: Miniature Energy Crossbow
parent: BaseWeaponBatterySmall
id: WeaponMiniatureEnergyCrossbow
description: The syndicate's energy crossbow, small, silent and deadly.
components:
- type: Sprite
sprite: ADT/Objects/Weapons/Guns/Battery/miniature_ebow.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: Gun
resetOnHandSelected: false
soundGunshot:
path: /Audio/ADT/Weapons/Guns/Gunshots/heavy_shot_suppressed.ogg
params:
volume: -5
- type: ProjectileBatteryAmmoProvider
proto: BulletMic
fireCost: 900
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 300
- type: MagazineVisuals
magState: mag
steps: 2
zeroVisible: true

- type: entity
name: Energy Crossbow
parent: WeaponMiniatureEnergyCrossbow
id: WeaponEnergyCrossbow
description: Energy crossbow, big, powerful and stily.
components:
- type: Sprite
sprite: ADT/Objects/Weapons/Guns/Battery/ebow.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: ProjectileBatteryAmmoProvider
proto: BulletEnergyCrossbow
fireCost: 900
- type: Item
size: Ginormous
- type: Construction
graph: EnergyCrossbowGraph
node: crossbow
- type: Gun
resetOnHandSelected: false
soundGunshot:
path: /Audio/ADT/Weapons/Guns/Gunshots/heavy_shot_suppressed.ogg
params:
volume: -5
fireRate: 1
- type: UpgradeableGun
whitelist:
tags:
- PKAUpgrade
- type: ContainerContainer
containers:
upgrades: !type:Container
Original file line number Diff line number Diff line change
Expand Up @@ -210,3 +210,70 @@
soundHit:
collection: WeakHit
forceSound: true

- type: entity
id: BulletMic
name: MIC bolt
parent: BaseBullet
categories: [ HideSpawnMenu ]
description: Not too bad, but you still don't want to get hit by it.
components:
- type: Sprite
noRot: false
sprite: ADT/Objects/Weapons/Guns/Projectiles/cbbolt.rsi
layers:
- state: cbbolt
- type: Projectile
damage:
types:
Heat: 15
- type: Ammo
muzzleFlash: null
- type: Reflective
reflective:
- Energy
- type: Fixtures
fixtures:
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.05,-0.05,0.05,0.05"
hard: false
mask:
- Opaque
- type: KnockdownOnCollide
- type: BlurOnCollide


- type: entity
id: BulletEnergyCrossbow
name: Energy Crossbow bolt
parent: BaseBullet
categories: [ HideSpawnMenu ]
description: Not too bad, but you still don't want to get hit by it.
components:
- type: Sprite
noRot: false
sprite: ADT/Objects/Weapons/Guns/Projectiles/cbbolt.rsi
layers:
- state: cbbolt
- type: Projectile
damage:
types:
Heat: 17
- type: Ammo
muzzleFlash: null
- type: Reflective
reflective:
- Energy
- type: Fixtures
fixtures:
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.05,-0.05,0.05,0.05"
hard: false
mask:
- Opaque
- type: KnockdownOnCollide
- type: BlurOnCollide
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
- type: constructionGraph
id: EnergyCrossbowGraph
start: start
graph:
- node: start
edges:
- to: crossbow
steps:
- tag: PKA
icon:
sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi
state: icon
name: PKA
- tag: ModularReceiver
icon:
sprite: Objects/Misc/modular_receiver.rsi
state: icon
name: modular receiver
- material: Cable
amount: 15
- material: Uranium
amount: 10
doAfter: 10
- node: crossbow
entity: WeaponEnergyCrossbow
15 changes: 14 additions & 1 deletion Resources/Prototypes/ADT/Recipes/Crafting/improvised.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,17 @@
description: Dagger to cut your enemies.
icon:
sprite: ADT/Objects/Weapons/Melee/makeshitdaggers/uraniumdagger.rsi
state: icon
state: icon

- type: construction
name: energy crossbow
id: ADTEnergyCrossbow
graph: EnergyCrossbowGraph
startNode: start
targetNode: crossbow
category: construction-category-weapons
objectType: Item
description: Big and modifyable.
icon:
sprite: ADT/Objects/Weapons/Guns/Battery/ebow.rsi
state: icon
3 changes: 3 additions & 0 deletions Resources/Prototypes/ADT/status_effects.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- type: statusEffect
id: BlurryVision
alwaysAllowed: true
3 changes: 3 additions & 0 deletions Resources/Prototypes/ADT/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -450,3 +450,6 @@

- type: Tag
id: MiningShop

- type: Tag
id: PKA
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,6 @@
soundHit:
collection: GenericHit
- type: AltFireMelee #ADT_Tweak

- type: Tag #ADT tweak
tags:
- PKA
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/commit/1d0e3dde0f89e7926be32a3706883c3f003931f8",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "base"
},
{
"name": "mag-0"
},
{
"name": "mag-1"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BACK",
"directions": 4
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 500661d

Please sign in to comment.