Перенос Бумыча и Кавказский акцент
@@ -0,0 +1,10 @@
|
||||
using Content.Server._Honk.Speech.EntitySystems;
|
||||
|
||||
namespace Content.Server._Honk.Speech.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
[Access(typeof(CaucasianAccentSystem))]
|
||||
public sealed partial class CaucasianAccentComponent : Component
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using Content.Server._Honk.Speech.Components;
|
||||
using Content.Server.Speech;
|
||||
using Content.Server.Speech.EntitySystems;
|
||||
|
||||
namespace Content.Server._Honk.Speech.EntitySystems;
|
||||
|
||||
public sealed class CaucasianAccentSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly ReplacementAccentSystem _replacement = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<CaucasianAccentComponent, AccentGetEvent>(OnAccent);
|
||||
}
|
||||
|
||||
private void OnAccent(EntityUid uid, CaucasianAccentComponent component, AccentGetEvent args)
|
||||
{
|
||||
var message = args.Message;
|
||||
|
||||
message = _replacement.ApplyReplacements(message, "caucasian");
|
||||
|
||||
//They shoulda started runnin' an' hidin' from me!
|
||||
|
||||
message = Regex.Replace(message, @"Эй", "Эу");
|
||||
message = Regex.Replace(message, @"эй", "эу");
|
||||
|
||||
message = Regex.Replace(message, @"ые", "ии");
|
||||
|
||||
message = Regex.Replace(message, @"Ы", "И");
|
||||
message = Regex.Replace(message, @"ы", "и");
|
||||
|
||||
message = Regex.Replace(message, @"Ё", "Йо");
|
||||
message = Regex.Replace(message, @"ё", "йо");
|
||||
|
||||
message = Regex.Replace(message, @"Е", "Э");
|
||||
message = Regex.Replace(message, @"е", "э");
|
||||
|
||||
args.Message = message;
|
||||
}
|
||||
};
|
||||
@@ -88,8 +88,6 @@
|
||||
- map: [ "enum.HumanoidVisualLayers.RArm" ]
|
||||
- map: [ "enum.HumanoidVisualLayers.LArm" ]
|
||||
- map: [ "enum.GenitalVisualLayers.BreastFront" ] # AMOUR
|
||||
- map: [ "underwearb" ] #White
|
||||
- map: [ "underweart" ] #White
|
||||
- shader: StencilClear
|
||||
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
|
||||
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
|
||||
|
||||
9
Resources/Prototypes/_Honk/Catalog/uplink_catalog.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- type: listing
|
||||
id: UplinkReinforcementRadioDemolitionist
|
||||
name: Радио вызова подрывника
|
||||
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio }
|
||||
productEntity: ReinforcementRadioDemolitionist
|
||||
cost:
|
||||
Telecrystal: 12
|
||||
categories:
|
||||
- UplinkAllies
|
||||
41
Resources/Prototypes/_Honk/Datasets/Names/arab.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
- type: dataset
|
||||
id: NamesFirstArab
|
||||
values:
|
||||
- Ахмед
|
||||
- Абдула
|
||||
- Амин
|
||||
- Амир
|
||||
- Анас
|
||||
- Абу
|
||||
- Азим
|
||||
- Акиф
|
||||
- Асад
|
||||
- Басим
|
||||
- Басир
|
||||
- Билях
|
||||
- Башир
|
||||
- Вахадж
|
||||
- Гази
|
||||
- Джабир
|
||||
- Джамал
|
||||
- Захид
|
||||
- Иршад
|
||||
- Исмаил
|
||||
- Муаммар
|
||||
- Низам
|
||||
- Салиф
|
||||
- Фалих
|
||||
|
||||
- type: dataset
|
||||
id: NamesLastArab
|
||||
values:
|
||||
- Намазов
|
||||
- Абдулла
|
||||
- Абдалкадир
|
||||
- Аббас
|
||||
- Адил
|
||||
- Хусейн
|
||||
- Гульзар
|
||||
- Гавдат
|
||||
- Вассим
|
||||
- Вахида
|
||||
@@ -0,0 +1,8 @@
|
||||
- type: entity
|
||||
parent: RemoteSignaller
|
||||
id: RemoteSignallerSyndicate
|
||||
name: передатчик сигналов синдиката
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Honk/Devices/signallersyndicate.rsi
|
||||
state: signaller
|
||||
21
Resources/Prototypes/_Honk/Entities/Clothing/Belt/belts.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
- type: entity
|
||||
parent: ClothingBeltBase
|
||||
id: ClothingBeltShahid
|
||||
name: пояс подрывника
|
||||
description: Лучше не стоять рядом
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Honk/Clothing/Belt/shahidbelt.rsi
|
||||
- type: Clothing
|
||||
sprite: _Honk/Clothing/Belt/shahidbelt.rsi
|
||||
- type: TriggerOnSignal
|
||||
- type: DeviceLinkSink
|
||||
ports:
|
||||
- Trigger
|
||||
- type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating.
|
||||
explosionType: DemolitionCharge
|
||||
totalIntensity: 400
|
||||
intensitySlope: 8
|
||||
maxIntensity: 75
|
||||
canCreateVacuum: false
|
||||
- type: ExplodeOnTrigger
|
||||
10
Resources/Prototypes/_Honk/Entities/Clothing/Mask/mask.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
- type: entity
|
||||
parent: ClothingMaskPullableBase
|
||||
id: ClothingBalaclava
|
||||
name: балаклава
|
||||
description: Балаклава
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Honk/Clothing/Mask/balaclava.rsi
|
||||
- type: Clothing
|
||||
sprite: _Honk/Clothing/Mask/balaclava.rsi
|
||||
@@ -0,0 +1,16 @@
|
||||
- type: entity
|
||||
parent: MarkerBase
|
||||
id: SpawnPointGhostDemolitionist
|
||||
name: точка появление подрывника синдиката
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: Подрывник синдиката
|
||||
description: Пришёл, чтобы красиво уйти
|
||||
rules: Вы - антагонист и можете убивать всех, кто пытается вам помешать, но убийство цели - всегда ваш наивысший приоритет.
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobHumanDemolitionist
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: green
|
||||
- sprite: Mobs/Species/Human/parts.rsi
|
||||
state: full
|
||||
19
Resources/Prototypes/_Honk/Entities/Mobs/Player/human.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
# Подрывник синдиката
|
||||
- type: entity
|
||||
parent: MobHuman
|
||||
id: MobHumanDemolitionist
|
||||
name: подрывник синдиката
|
||||
suffix: Human, Base
|
||||
components:
|
||||
- type: CaucasianAccent
|
||||
- type: GenericAntag
|
||||
rule: Destroy
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateDemolitionistGearExtremely]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesFirstArab
|
||||
- NamesLastArab
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- Syndicate
|
||||
@@ -0,0 +1,21 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: ReinforcementRadioDemolitionist
|
||||
name: Радио подкрепления подрывника-синдиката
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Devices/communication.rsi
|
||||
layers:
|
||||
- state: old-radio
|
||||
- type: GhostRole
|
||||
name: Подрывник синдиката
|
||||
description: Искусство - это взрыв.
|
||||
rules: Правило 1 - взорваться
|
||||
raffle:
|
||||
settings: short
|
||||
- type: GhostRoleMobSpawner
|
||||
prototype: MobHumanDemolitionist
|
||||
- type: EmitSoundOnUse
|
||||
sound: /Audio/Effects/Emotes/parp1.ogg
|
||||
- type: UseDelay
|
||||
delay: 300
|
||||
12
Resources/Prototypes/_Honk/GameRules/events.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: DemolitionistSpawn
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: StationEvent
|
||||
weight: 8
|
||||
duration: 1
|
||||
earliestStart: 20
|
||||
minimumPlayers: 20
|
||||
- type: RandomSpawnRule
|
||||
prototype: SpawnPointGhostDemolitionist
|
||||
9
Resources/Prototypes/_Honk/GameRules/midround.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: BaseGameRule
|
||||
id: Destroy
|
||||
components:
|
||||
- type: GenericAntagRule
|
||||
agentName: подрывник
|
||||
objectives:
|
||||
- DemolitionistObjective
|
||||
22
Resources/Prototypes/_Honk/Objectives/demolitionist.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseObjective
|
||||
id: BaseDemolitionistObjective
|
||||
components:
|
||||
- type: Objective
|
||||
difficulty: 1
|
||||
issuer: Цель
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: [BaseDemolitionistObjective, BaseKillObjective]
|
||||
id: DemolitionistObjective
|
||||
description: Враг синдиката должен быть взорван!
|
||||
components:
|
||||
- type: Objective
|
||||
unique: false
|
||||
- type: TargetObjective
|
||||
title: Взорви врага синдиката!
|
||||
- type: PickRandomPerson
|
||||
- type: KillPersonCondition
|
||||
requireDead: true
|
||||
6
Resources/Prototypes/_Honk/Role/Antags/demolitionist.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- type: antag
|
||||
id: Demolitionist
|
||||
name: Подрывник синдиката
|
||||
antagonist: true
|
||||
setPreference: false
|
||||
objective: Искусство - это взрыв!
|
||||
@@ -0,0 +1,12 @@
|
||||
- type: startingGear
|
||||
id: SyndicateDemolitionistGearExtremely
|
||||
equipment:
|
||||
id: AgentIDCard
|
||||
belt: ClothingBeltShahid
|
||||
mask: ClothingBalaclava
|
||||
jumpsuit: ClothingUniformJumpsuitOperative
|
||||
back: ClothingBackpackSyndicate
|
||||
shoes: ClothingShoesBootsCombatFilled
|
||||
gloves: ClothingHandsGlovesColorBlack
|
||||
pocket1: Multitool
|
||||
pocket2: RemoteSignallerSyndicate
|
||||
6
Resources/Prototypes/_Honk/Traits/neutral.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- type: trait
|
||||
id: Caucasian
|
||||
name: Кавказский акцент
|
||||
description: Эу брат, пачэму ты нэ вибрал чэрту
|
||||
components:
|
||||
- type: CaucasianAccent
|
||||
|
After Width: | Height: | Size: 734 B |
BIN
Resources/Textures/_Honk/Clothing/Belt/shahidbelt.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 375 B |
|
After Width: | Height: | Size: 341 B |
|
After Width: | Height: | Size: 368 B |
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "Нету",
|
||||
"copyright": "from Arab to Arab",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "equipped-BELT",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 530 B |
BIN
Resources/Textures/_Honk/Clothing/Mask/balaclava.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 439 B |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Hello",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "equipped-MASK",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 235 B |
BIN
Resources/Textures/_Honk/Clothing/Mask/keffiyeh.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 219 B |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Hello",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "equipped-MASK",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 306 B |
|
After Width: | Height: | Size: 316 B |
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Маи права хихи хаха",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "signaller",
|
||||
"delays": [
|
||||
[
|
||||
0.4,
|
||||
0.2,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 648 B |