нерфоцирк (#203)
* нерф дабла, заебала резня каждый раунд * ohio * blood dagger
This commit is contained in:
@@ -11,6 +11,9 @@ public sealed partial class CritComponent : Component
|
|||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
public float CritMultiplier = 2.5f;
|
public float CritMultiplier = 2.5f;
|
||||||
|
|
||||||
|
[DataField("isBloodDagger")]
|
||||||
|
public bool IsBloodDagger;
|
||||||
|
|
||||||
[DataField("workingChance")]
|
[DataField("workingChance")]
|
||||||
public int? WorkingChance;
|
public int? WorkingChance;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using Content.Server.Body.Systems;
|
|||||||
using Content.Server.Popups;
|
using Content.Server.Popups;
|
||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.Damage.Prototypes;
|
using Content.Shared.Damage.Prototypes;
|
||||||
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.Mobs.Components;
|
using Content.Shared.Mobs.Components;
|
||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using Content.Shared.Weapons.Melee.Events;
|
using Content.Shared.Weapons.Melee.Events;
|
||||||
@@ -16,11 +17,24 @@ public sealed class CritSystem : EntitySystem
|
|||||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||||
[Dependency] private readonly PopupSystem _popup = default!;
|
[Dependency] private readonly PopupSystem _popup = default!;
|
||||||
[Dependency] private readonly BloodstreamSystem _bloodstream = default!;
|
[Dependency] private readonly BloodstreamSystem _bloodstream = default!;
|
||||||
|
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<CritComponent, MeleeHitEvent>(HandleHit);
|
SubscribeLocalEvent<CritComponent, MeleeHitEvent>(HandleHit);
|
||||||
|
SubscribeLocalEvent<CritComponent, ExaminedEvent>(OnExamine);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnExamine(EntityUid uid, CritComponent component, ExaminedEvent args)
|
||||||
|
{
|
||||||
|
if (component.IsBloodDagger)
|
||||||
|
{
|
||||||
|
args.PushMarkup(
|
||||||
|
"[color=red]Критическая жажда: Кинжал Жажды обладает смертоносной точностью. Его владелец имеет 20% шанс нанести критический урон, поражая врага в его самые уязвимые места.\n" +
|
||||||
|
"Кровавый абсорб: При каждом успешном критическом ударе, кинжал извлекает кровь из цели, восстанавливая здоровье владельцу пропорционально количеству высосанной крови.[/color]"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleHit(EntityUid uid, CritComponent component, MeleeHitEvent args)
|
private void HandleHit(EntityUid uid, CritComponent component, MeleeHitEvent args)
|
||||||
@@ -34,13 +48,21 @@ public sealed class CritSystem : EntitySystem
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
var damage = args.BaseDamage.Total * component.CritMultiplier;
|
var damage = args.BaseDamage.Total * component.CritMultiplier;
|
||||||
|
|
||||||
|
if (component.IsBloodDagger)
|
||||||
|
{
|
||||||
var ohio = _random.Next(1, 20);
|
var ohio = _random.Next(1, 20);
|
||||||
|
var damageGroup = _prototypeManager.Index<DamageGroupPrototype>("Brute");
|
||||||
args.BonusDamage = new DamageSpecifier(_prototypeManager.Index<DamageTypePrototype>("Blunt"), damage);
|
|
||||||
|
|
||||||
_popup.PopupEntity($@"Crit! {damage}", args.User, PopupType.MediumCaution);
|
|
||||||
|
|
||||||
_bloodstream.TryModifyBloodLevel(target, -ohio);
|
_bloodstream.TryModifyBloodLevel(target, -ohio);
|
||||||
|
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(damageGroup, -ohio));
|
||||||
|
|
||||||
|
damage = args.BaseDamage.Total * component.CritMultiplier + ohio;
|
||||||
|
}
|
||||||
|
|
||||||
|
args.BonusDamage = new DamageSpecifier(_prototypeManager.Index<DamageTypePrototype>("Slash"), damage);
|
||||||
|
|
||||||
|
_popup.PopupEntity($@"Crit! {damage}", args.User, PopupType.MediumCaution);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ shoes-they = На ногах у них
|
|||||||
# Character information
|
# Character information
|
||||||
|
|
||||||
character-information-verb-message = Информация о персонаже
|
character-information-verb-message = Информация о персонаже
|
||||||
|
character-information-verb-text = Информация о персонаже
|
||||||
character-information-ui-title = Информация о персонаже
|
character-information-ui-title = Информация о персонаже
|
||||||
character-information-ui-flavor-text-placeholder =
|
character-information-ui-flavor-text-placeholder =
|
||||||
Нет заданного флавора.
|
Нет заданного флавора.
|
||||||
|
|||||||
@@ -1,5 +1,20 @@
|
|||||||
# TODO: make more categories
|
# TODO: make more categories
|
||||||
# Guns
|
# Guns
|
||||||
|
- type: listing
|
||||||
|
id: UplinkBloodDagger
|
||||||
|
name: кинжал жажды
|
||||||
|
description: "Критическая жажда: Кинжал Жажды обладает смертоносной точностью. Его владелец имеет 20% шанс нанести критический урон, поражая врага в его самые уязвимые места. Кровавый абсорб: При каждом успешном критическом ударе, кинжал извлекает кровь из цели, восстанавливая здоровье владельцу пропорционально количеству высосанной крови."
|
||||||
|
icon: { sprite: /Textures/Objects/Weapons/Melee/blood_dagger.rsi, state: icon }
|
||||||
|
productEntity: BloodSuckerDagger
|
||||||
|
cost:
|
||||||
|
Telecrystal: 10
|
||||||
|
categories:
|
||||||
|
- UplinkWeapons
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkPistolViper
|
id: UplinkPistolViper
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
- type: entity
|
||||||
|
name: кинжал жажды
|
||||||
|
parent: BaseItem
|
||||||
|
id: BloodSuckerDagger
|
||||||
|
components:
|
||||||
|
- type: Sharp
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Weapons/Melee/blood_dagger.rsi
|
||||||
|
state: icon
|
||||||
|
- type: MeleeWeapon
|
||||||
|
attackRate: 1.3
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Slash: 10.5
|
||||||
|
- type: Item
|
||||||
|
size: 20
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Objects/Weapons/Melee/blood_dagger.rsi
|
||||||
|
slots:
|
||||||
|
- back
|
||||||
|
- type: DisarmMalus
|
||||||
|
- type: Crit
|
||||||
|
critChance: 20
|
||||||
|
critMultiplier: 2.2
|
||||||
|
isBloodDagger: true
|
||||||
|
- type: Reflect
|
||||||
|
reflectProb: 0.15
|
||||||
|
enabled: true
|
||||||
@@ -233,8 +233,8 @@
|
|||||||
- type: IncreaseDamageOnWield
|
- type: IncreaseDamageOnWield
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Slash: 7.5
|
Slash: 1.5
|
||||||
Heat: 7.5
|
Heat: 1.5
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
attackRate: 1
|
attackRate: 1
|
||||||
- type: Reflect
|
- type: Reflect
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 916 B |
Binary file not shown.
|
After Width: | Height: | Size: 982 B |
Binary file not shown.
|
After Width: | Height: | Size: 958 B |
@@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "poxuy",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "icon",
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.5
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inhand-right",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inhand-left",
|
||||||
|
"directions": 4,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.8,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user