Skip to content

Commit

Permalink
арблялет (#932)
Browse files Browse the repository at this point in the history
## Описание PR
<!-- Что вы изменили в этом пулл реквесте? -->
добавлен простой энергетический арбалет и маленький
## Почему / Баланс
<!-- Почему оно было изменено? Ссылайтесь на любые обсуждения или
вопросы здесь. Пожалуйста, обсудите, как это повлияет на игровой баланс.
-->
**Ссылка на публикацию в Discord**
<!-- Укажите ссылки на соответствующие обсуждения, проблемы, баги,
заказы в разработку или предложения
- [Технические проблемы](ссылка)
- [Баги](ссылка)
- [Заказы-разработка](ссылка)
- [Предложения](ссылка)
- [Перенос контента](ссылка)-->
подарок на новый год и больше контента синдикату и революции

## Медиа
<!--
Пулл реквесты, которые вносят внутриигровые изменения (добавление
одежды, предметов, новых возможностей и т.д.), должны содержать медиа,
демонстрирующие изменения.
Небольшие исправления/рефакторы не требуют медиа.

Если Вы не уверены в том, что Ваш пулл реквест требует медиа, спросите
мейнтейнера.
-->

## Требования
<!--
В связи с наплывом ПР'ов нам необходимо убедиться, что ПР'ы следуют
правильным рекомендациям.

Пожалуйста, уделите время прочтению, если делаете пулл реквест (ПР)
впервые.

Отметьте поля ниже, чтобы подтвердить, что Вы действительно видели их
(поставьте X в скобках, например [X]):
-->
- [ ] Я прочитал(а) и следую [Руководство по созданию пулл
реквестов](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
Я понимаю, что в противном случае мой ПР может быть закрыт по усмотрению
мейнтейнера.
- [ ] Я добавил скриншоты/видео к этому пулл реквесту, демонстрирующие
его изменения в игре, **или** этот пулл реквест не требует демонстрации
в игре

**Чейнджлог**

🆑 Ratyyy

- add: Синдикат начал производить и поставлять агентам миниатюрные
энергетические арбалеты, в то время как экипаж подхватил похожую
технологию и научился делать простые энергетические арбалеты.
  • Loading branch information
Ratyyy authored Jan 2, 2025
2 parents 83b105b + 6e91595 commit 00d8638
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-ADTWeaponMiniatureEnergyCrossbow = миниатюрный энергетический арбалет
.desc = Энергетический арбалет синдиката, маленький, тихий и смертоносный.
ent-ADTWeaponEnergyCrossbow = энергетический арбалет
.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: ADTUplinkMiniatureEnergyCrossbow
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: ADTWeaponMiniatureEnergyCrossbow
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: ADTWeaponMiniatureEnergyCrossbow
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: ADTBulletMic
fireCost: 900
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 300
- type: MagazineVisuals
magState: mag
steps: 2
zeroVisible: true

- type: entity
name: Energy Crossbow
parent: ADTWeaponMiniatureEnergyCrossbow
id: ADTWeaponEnergyCrossbow
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: ADTBulletEnergyCrossbow
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: ADTBulletMic
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: ADTBulletEnergyCrossbow
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: ADTWeaponEnergyCrossbow
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 00d8638

Please sign in to comment.