mirror of
https://github.com/corvax-team/ss14-wl.git
synced 2026-02-14 19:29:57 +01:00
@@ -1,34 +0,0 @@
|
||||
using Content.Shared._WL.Conspirators.Components;
|
||||
using Content.Shared._WL.Conspirators.EntitySystems;
|
||||
using Content.Shared.Antag;
|
||||
using Content.Shared.StatusIcon.Components;
|
||||
using Robust.Client.Player;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Client._WL.Conspirators.EntitySystems;
|
||||
|
||||
public sealed class ConspiratorSystem : SharedConspiratorSystem
|
||||
{
|
||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<ConspiratorComponent, GetStatusIconsEvent>(OnConspiratorGetIcons);
|
||||
}
|
||||
|
||||
private void OnConspiratorGetIcons(Entity<ConspiratorComponent> entity, ref GetStatusIconsEvent args)
|
||||
{
|
||||
if (_playerManager.LocalSession?.AttachedEntity is { } playerEntity)
|
||||
{
|
||||
if (!HasComp<ShowAntagIconsComponent>(playerEntity) &&
|
||||
!HasComp<ConspiratorComponent>(playerEntity))
|
||||
return;
|
||||
}
|
||||
|
||||
if (_prototypeManager.TryIndex(entity.Comp.ConspiratorIcon, out var iconPrototype))
|
||||
args.StatusIcons.Add(iconPrototype);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@ using Robust.Shared.Player;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Utility;
|
||||
using Content.Shared.Roles.Components;
|
||||
using Content.Server._WL.GameTicking.Rules.Components; // WL-Changes: Conspirators
|
||||
|
||||
namespace Content.Server.Administration.Systems;
|
||||
|
||||
@@ -33,7 +32,6 @@ public sealed partial class AdminVerbSystem
|
||||
private static readonly EntProtoId ParadoxCloneRuleId = "ParadoxCloneSpawn";
|
||||
private static readonly EntProtoId DefaultWizardRule = "Wizard";
|
||||
private static readonly EntProtoId DefaultNinjaRule = "NinjaSpawn";
|
||||
private static readonly EntProtoId DefaultConspiratorRule = "Conspirators"; // WL-Changes: Conspirators
|
||||
private static readonly ProtoId<StartingGearPrototype> PirateGearId = "PirateGear";
|
||||
|
||||
// All antag verbs have names so invokeverb works.
|
||||
@@ -227,23 +225,6 @@ public sealed partial class AdminVerbSystem
|
||||
};
|
||||
args.Verbs.Add(ninja);
|
||||
|
||||
//WL-Changes: Conspiratrs start
|
||||
var conspiratorName = Loc.GetString("admin-verb-text-make-conspirator");
|
||||
Verb conspirator = new()
|
||||
{
|
||||
Text = conspiratorName,
|
||||
Category = VerbCategory.Antag,
|
||||
Icon = new SpriteSpecifier.Rsi(new("/Textures/_WL/Interface/Misc/job_icons.rsi"), "Conspirator"),
|
||||
Act = () =>
|
||||
{
|
||||
_antag.ForceMakeAntag<ConspiratorRuleComponent>(targetPlayer, DefaultConspiratorRule);
|
||||
},
|
||||
Impact = LogImpact.High,
|
||||
Message = string.Join(": ", conspiratorName, Loc.GetString("admin-verb-make-conspirator")),
|
||||
};
|
||||
args.Verbs.Add(conspirator);
|
||||
//WL-Changes: Conspiratrs end
|
||||
|
||||
if (HasComp<HumanoidAppearanceComponent>(args.Target)) // only humanoids can be cloned
|
||||
args.Verbs.Add(paradox);
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
using Content.Shared.Random;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._WL.GameTicking.Rules.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Game rule for conspirators. Handles their shared objective.
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(ConspiratorRuleSystem))]
|
||||
public sealed partial class ConspiratorRuleComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
public EntProtoId? Objective = null;
|
||||
|
||||
[DataField]
|
||||
public ProtoId<WeightedRandomPrototype> ObjectiveGroup = "ConspiratorObjectiveGroup";
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
using Content.Server._WL.GameTicking.Rules.Components;
|
||||
using Content.Server.Antag;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.GameTicking.Rules;
|
||||
using Content.Server.Roles;
|
||||
using Content.Shared._WL.Conspirators.Components;
|
||||
using Content.Shared._WL.Roles.Components;
|
||||
using Content.Shared.GameTicking.Components;
|
||||
using Content.Shared.Mind;
|
||||
using Content.Shared.Random.Helpers;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Utility;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace Content.Server._WL.GameTicking.Rules;
|
||||
|
||||
public sealed class ConspiratorRuleSystem : GameRuleSystem<ConspiratorRuleComponent>
|
||||
{
|
||||
[Dependency] private readonly AntagSelectionSystem _antag = default!;
|
||||
[Dependency] private readonly SharedMindSystem _mind = default!;
|
||||
[Dependency] private readonly IPrototypeManager _proto = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<ConspiratorRoleComponent, GetBriefingEvent>(OnGetBriefing);
|
||||
SubscribeLocalEvent<ConspiratorRuleComponent, AfterAntagEntitySelectedEvent>(OnAntagSelected);
|
||||
}
|
||||
|
||||
protected override void AppendRoundEndText(EntityUid uid,
|
||||
ConspiratorRuleComponent component,
|
||||
GameRuleComponent gameRule,
|
||||
ref RoundEndTextAppendEvent args)
|
||||
{
|
||||
base.AppendRoundEndText(uid, component, gameRule, ref args);
|
||||
|
||||
var sessionData = _antag.GetAntagIdentifiers(uid);
|
||||
args.AddLine(Loc.GetString("conspirator-count", ("count", sessionData.Count)));
|
||||
foreach (var (_, data, name) in sessionData)
|
||||
{
|
||||
args.AddLine(Loc.GetString("conspirator-name-user",
|
||||
("name", name),
|
||||
("username", data.UserName)));
|
||||
}
|
||||
|
||||
if (!_proto.TryIndex(component.Objective, out var objectiveProto))
|
||||
return;
|
||||
|
||||
args.AddLine(Loc.GetString("conspirator-objective", ("objective", objectiveProto.Name)));
|
||||
}
|
||||
|
||||
private void OnGetBriefing(Entity<ConspiratorRoleComponent> ent, ref GetBriefingEvent args)
|
||||
{
|
||||
args.Append(Loc.GetString("conspirator-identities"));
|
||||
|
||||
var conspirators = AllEntityQuery<ConspiratorComponent>();
|
||||
while (conspirators.MoveNext(out var id, out _))
|
||||
{
|
||||
args.Append(Loc.GetString("conspirator-name", ("name", Name(id))));
|
||||
}
|
||||
|
||||
args.Append(Loc.GetString("conspirator-radio-implant"));
|
||||
}
|
||||
|
||||
private void OnAntagSelected(Entity<ConspiratorRuleComponent> ent, ref AfterAntagEntitySelectedEvent args)
|
||||
{
|
||||
if (!_mind.TryGetMind(args.Session, out var mindId, out var mind))
|
||||
return;
|
||||
|
||||
if (ent.Comp.Objective is null)
|
||||
{
|
||||
if (GetRandomObjectivePrototype(ent.Comp, out var objectiveProtoId))
|
||||
ent.Comp.Objective = objectiveProtoId;
|
||||
}
|
||||
|
||||
if (ent.Comp.Objective is not null)
|
||||
_mind.TryAddObjective(mindId, mind, ent.Comp.Objective);
|
||||
}
|
||||
|
||||
private bool GetRandomObjectivePrototype(ConspiratorRuleComponent comp, [NotNullWhen(true)] out EntProtoId? objectiveProto)
|
||||
{
|
||||
objectiveProto = null;
|
||||
|
||||
if (!_proto.TryIndex(comp.ObjectiveGroup, out var group))
|
||||
return false;
|
||||
|
||||
var objectives = group.Weights.ShallowClone();
|
||||
while (_random.TryPickAndTake(objectives, out var proto))
|
||||
{
|
||||
objectiveProto = proto!;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using Content.Server._WL.Objectives.Systems;
|
||||
|
||||
namespace Content.Server._WL.Objectives.Components;
|
||||
|
||||
/// <summary>
|
||||
/// This objective will always show as 0% complete as it is not intended to be tracked. Used for Conspirator objectives.
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(NoCompletionObjectiveSystem))]
|
||||
public sealed partial class NoCompletionObjectiveComponent : Component;
|
||||
@@ -1,19 +0,0 @@
|
||||
using Content.Server._WL.Objectives.Components;
|
||||
using Content.Shared.Objectives.Components;
|
||||
|
||||
namespace Content.Server._WL.Objectives.Systems;
|
||||
|
||||
public sealed class NoCompletionObjectiveSystem : EntitySystem
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<NoCompletionObjectiveComponent, ObjectiveGetProgressEvent>(OnGetProgress);
|
||||
}
|
||||
|
||||
private void OnGetProgress(Entity<NoCompletionObjectiveComponent> entity, ref ObjectiveGetProgressEvent args)
|
||||
{
|
||||
args.Progress = 0f;
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
using Content.Shared.StatusIcon;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Shared._WL.Conspirators.Components;
|
||||
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class ConspiratorComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
public ProtoId<FactionIconPrototype> ConspiratorIcon = "ConspiratorFaction";
|
||||
|
||||
public override bool SessionSpecific => true;
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
using Content.Shared._WL.Conspirators.Components;
|
||||
using Content.Shared.Antag;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Player;
|
||||
|
||||
namespace Content.Shared._WL.Conspirators.EntitySystems;
|
||||
|
||||
public abstract class SharedConspiratorSystem : EntitySystem // looking at blood bound to see how the icons work
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<ConspiratorComponent, ComponentGetStateAttemptEvent>(OnConspiratorAttemptGetState);
|
||||
}
|
||||
|
||||
private void OnConspiratorAttemptGetState(
|
||||
Entity<ConspiratorComponent> entity,
|
||||
ref ComponentGetStateAttemptEvent args)
|
||||
{
|
||||
args.Cancelled = !CanGetState(args.Player);
|
||||
}
|
||||
|
||||
private bool CanGetState(ICommonSession? player)
|
||||
{
|
||||
if (player?.AttachedEntity is not { } uid)
|
||||
return true;
|
||||
|
||||
return HasComp<ConspiratorComponent>(uid) || HasComp<ShowAntagIconsComponent>(uid);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
using Content.Shared.Roles.Components;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared._WL.Roles.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Added to mind role entities to tag that they are a conspirator.
|
||||
/// </summary>
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed partial class ConspiratorRoleComponent : BaseMindRoleComponent;
|
||||
@@ -1,4 +0,0 @@
|
||||
- files: ["conspirator_greeting.ogg"]
|
||||
license: "CC-BY-SA-3.0"
|
||||
copyright: "Taken from TG station as heretic_gain.ogg"
|
||||
source: "https://github.com/tgstation/tgstation/commit/436ba869ebcd0b60b63973fb7562f447ee655205"
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
admin-verb-make-conspirator = Сделать цель Заговорщиком.
|
||||
admin-verb-text-make-conspirator = Сделать Заговорщиком
|
||||
@@ -1,5 +0,0 @@
|
||||
ent-RadioImplanterConspiracy = заговорческий радио-имплантер
|
||||
.desc = { ent-BaseImplantOnlyImplanter.desc }
|
||||
|
||||
ent-RadioImplantConspiracy = заговорческий радио-имплант
|
||||
.desc = Даёт доступ к радио-каналу заговорщиков.
|
||||
@@ -1,13 +0,0 @@
|
||||
conspirator-objective-issuer = [color=#724F29]Заговорщики[/color]
|
||||
conspirator-role-greeting =
|
||||
Вы заговорщик.
|
||||
Вы начинаешь, зная всех других заговорщиков и с имплантом радио-связи для коммуникации с ними.
|
||||
Сотрудничайте и не останавливайтесь ни перед чем для воплощения заговора в реальность.
|
||||
conspirator-count = Всего было {$count} заговорщиков:
|
||||
conspirator-name-user = [color=white]{CAPITALIZE($name)}[/color] ([color=gray]{$username}[/color]) был заговорщиком.
|
||||
conspirator-objective = Целью заговорщиков было: [color=white]{$objective}[/color].
|
||||
conspirator-identities = Заговорщики это:
|
||||
conspirator-name = {$name} заговорщик.
|
||||
conspirator-radio-implant = Используйте свой радио-имплант для общения с другими заговорщиками (:з).
|
||||
conspiracy-title = Заговор
|
||||
conspiracy-description = ЗАГОВОРЩИК ПОДТВЕРЖДЁН
|
||||
@@ -1 +0,0 @@
|
||||
guide-entry-conspirators = Заговорщики
|
||||
@@ -1,2 +1 @@
|
||||
chat-radio-hitin = Хитин
|
||||
chat-radio-conspiracy = Заговорщики
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
role-subtype-conspirator = Заговорщик
|
||||
@@ -1,23 +0,0 @@
|
||||
ent-ConspiratorUnionObjective = Захват одного из отделов станции
|
||||
.desc = Захватите один из отделов станции и объявите независимость от НТ!
|
||||
|
||||
ent-ConspiratorGameshowObjective = Устройте шоу насмерть
|
||||
.desc = Заставьте экипаж стать частью смертельного ТВ-шоу!
|
||||
|
||||
ent-ConspiratorTechnologyObjective = Захватите все технологии станции
|
||||
.desc = Покажите экипажу прелести простой жизни. Потому что только вы достойны технологического прогресса!
|
||||
|
||||
ent-ConspiratorArmsObjective = Разоружите СБ и вооружитесь сами
|
||||
.desc = Отберите у СБ всё оружие и вооружитесь сами. Этим корпоратским крысам ничего нельзя доверить...
|
||||
|
||||
ent-ConspiratorThiefObjective = Совершите величайшее ограбление всех времён!
|
||||
.desc = Впишите свои имена в историю преступного мира, ограбив вашу станцию.
|
||||
|
||||
ent-ConspiratorMafiaObjective = Станьте криминальной семьёй
|
||||
.desc = Заберитесь на вершину преступного мира станции и зацементируйте ваше превосходство над ним!
|
||||
|
||||
ent-ConspiratorArrestObjective = Заставьте СБ арестовывать невиновных
|
||||
.desc = Продемонстрируйте корпоративную некомпетентность, показав как легко их обмануть.
|
||||
|
||||
ent-ConspiratorCameraObjective = Ослепите НТ на станции
|
||||
.desc = Верните обычным рабочим и пассажирам право на частную жизнь.
|
||||
@@ -1,2 +0,0 @@
|
||||
roles-antag-conspirator-name = Заговорщик
|
||||
roles-antag-conspirator-objective = Сотрудничайте и не останавливайтесь ни перед чем для воплощения заговора в реальность.
|
||||
@@ -1 +0,0 @@
|
||||
ent-MindRoleConspirator = Роль Заговорщика
|
||||
@@ -11,7 +11,6 @@
|
||||
- Wizard
|
||||
- Zombies
|
||||
- Xenoborgs
|
||||
- Conspirators # WL-Changes: Conspirators
|
||||
- MinorAntagonists
|
||||
|
||||
- type: guideEntry
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
- type: entity
|
||||
parent: BaseImplantOnlyImplanter # it's weird because this neither an NT or syndicate implanter. it's completely unobtainable though and exists more for playtesting convenience than anything
|
||||
id: RadioImplanterConspiracy
|
||||
name: conspiracy radio implanter
|
||||
components:
|
||||
- type: Implanter
|
||||
implant: RadioImplantConspiracy
|
||||
@@ -1,11 +0,0 @@
|
||||
- type: entity
|
||||
parent: BaseSubdermalImplant
|
||||
id: RadioImplantConspiracy
|
||||
categories: [ HideSpawnMenu ]
|
||||
name: conspiracy radio implant
|
||||
description: This implant grants access to the Conspiracy channel without a headset.
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
- type: RadioImplant
|
||||
radioChannels:
|
||||
- Conspiracy
|
||||
@@ -1,25 +0,0 @@
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: Conspirators
|
||||
components:
|
||||
- type: GameRule
|
||||
minPlayers: 28 # minimum of 4 conspirators
|
||||
- type: ConspiratorRule
|
||||
- type: AntagSelection
|
||||
selectionTime: IntraPlayerSpawn
|
||||
definitions:
|
||||
- prefRoles: [ Conspirator ]
|
||||
min: 4
|
||||
max: 7
|
||||
playerRatio: 7
|
||||
briefing:
|
||||
text: conspirator-role-greeting
|
||||
color: "#724F29"
|
||||
sound: /Audio/_WL/Misc/illuminati.ogg
|
||||
components:
|
||||
- type: Conspirator
|
||||
- type: AutoImplant
|
||||
implants:
|
||||
- RadioImplantConspiracy
|
||||
mindRoles:
|
||||
- MindRoleConspirator
|
||||
@@ -1,4 +0,0 @@
|
||||
- type: guideEntry
|
||||
id: Conspirators
|
||||
name: guide-entry-conspirators
|
||||
text: "/ServerInfo/Guidebook/_WL/Antagonist/Conspirators.xml"
|
||||
@@ -1,100 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
parent: BaseObjective
|
||||
id: BaseConspiratorObjective
|
||||
components:
|
||||
- type: Objective
|
||||
issuer: conspirator-objective-issuer
|
||||
difficulty: 0 # uses own system for assignment
|
||||
- type: RoleRequirement
|
||||
roles:
|
||||
- ConspiratorRole
|
||||
- type: NoCompletionObjective
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorUnionObjective
|
||||
name: Forcefully seize control of a department
|
||||
description: Assume direct control over a department and declare independence from Nanotrasen.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Objects/Weapons/Melee/stunprod.rsi
|
||||
state: stunprod_off
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorGameshowObjective
|
||||
name: Run a life-or-death game show
|
||||
description: Force the crew to take part in a game show with incredible stakes.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Structures/Machines/computers.rsi
|
||||
state: television
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorTechnologyObjective
|
||||
name: Seize all station technology
|
||||
description: Show the crew the merits of a simpler life. Because only you deserve the wonders of technology.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Structures/Machines/autolathe.rsi
|
||||
state: icon
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorArmsObjective
|
||||
name: Disarm Security and arm yourselves instead
|
||||
description: Take the guns from Security and give them to yourselves. They cannot be trusted with them.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Objects/Weapons/Guns/Pistols/mk58.rsi
|
||||
state: icon
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorThiefObjective
|
||||
name: Pull off the greatest heist of all time
|
||||
description: Get your names written in the history books for what you take from this station.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Objects/Tools/thief_beacon.rsi
|
||||
state: extraction_point
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorMafiaObjective
|
||||
name: Form a crime family
|
||||
description: Become the leaders of crime on this station and cement your reputation as a group not to be messed with.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Clothing/Hands/Gloves/KnuckleDusters/brassknuckleduster.rsi
|
||||
state: brassknuckleduster
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorArrestObjective
|
||||
name: Trick Security into arresting innocent people
|
||||
description: Demonstrate their incompetence by showing just how easy they are to fool.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Objects/Weapons/Melee/stunbaton.rsi
|
||||
state: stunbaton_off
|
||||
|
||||
- type: entity
|
||||
parent: BaseConspiratorObjective
|
||||
id: ConspiratorCameraObjective
|
||||
name: Dismantle the surveillance state
|
||||
description: Bring back the right to privacy for Nanotrasen employees.
|
||||
components:
|
||||
- type: Objective
|
||||
icon:
|
||||
sprite: Mobs/Silicon/station_ai.rsi
|
||||
state: ai_camera
|
||||
@@ -1,11 +0,0 @@
|
||||
- type: weightedRandom
|
||||
id: ConspiratorObjectiveGroup # if you want to add another objective, feel free
|
||||
weights:
|
||||
ConspiratorUnionObjective: 1
|
||||
ConspiratorGameshowObjective: 1
|
||||
ConspiratorTechnologyObjective: 1
|
||||
ConspiratorArmsObjective: 1
|
||||
ConspiratorThiefObjective: 1
|
||||
ConspiratorMafiaObjective: 1
|
||||
ConspiratorArrestObjective: 1
|
||||
ConspiratorCameraObjective: 1
|
||||
@@ -1,7 +0,0 @@
|
||||
- type: antag
|
||||
id: Conspirator
|
||||
name: roles-antag-conspirator-name
|
||||
antagonist: true
|
||||
setPreference: true
|
||||
objective: roles-antag-conspirator-objective
|
||||
guides: [ Conspirators ]
|
||||
@@ -1,11 +0,0 @@
|
||||
- type: entity
|
||||
parent: BaseMindRoleAntag
|
||||
id: MindRoleConspirator
|
||||
name: Conspirator Role
|
||||
components:
|
||||
- type: ConspiratorRole
|
||||
- type: MindRole
|
||||
antagPrototype: Conspirator
|
||||
exclusiveAntag: true
|
||||
roleType: TeamAntagonist
|
||||
subtype: role-subtype-conspirator
|
||||
@@ -1,11 +0,0 @@
|
||||
- type: factionIcon
|
||||
id: ConspiratorFaction
|
||||
isShaded: true
|
||||
priority: 11
|
||||
showTo:
|
||||
components:
|
||||
- ShowAntagIcons
|
||||
- Conspirator
|
||||
icon:
|
||||
sprite: /Textures/_WL/Interface/Misc/job_icons.rsi
|
||||
state: Conspirator
|
||||
@@ -1,10 +0,0 @@
|
||||
- type: npcFaction
|
||||
id: Conspirator
|
||||
hostile:
|
||||
- NanoTrasen
|
||||
- Zombie
|
||||
- SimpleHostile
|
||||
- Dragon
|
||||
- AllHostile
|
||||
- Wizard
|
||||
- Xenoborg
|
||||
@@ -1,14 +0,0 @@
|
||||
- type: gamePreset
|
||||
id: Conspiracy
|
||||
alias:
|
||||
- conspirators
|
||||
- conspirator
|
||||
name: conspiracy-title
|
||||
description: conspiracy-description
|
||||
showInVote: false # secret
|
||||
rules:
|
||||
- Conspirators
|
||||
- BasicStationEventScheduler
|
||||
- MeteorSwarmScheduler
|
||||
- SpaceTrafficControlEventScheduler
|
||||
- BasicRoundstartVariation
|
||||
@@ -5,11 +5,3 @@
|
||||
frequency: 4944
|
||||
color: "#cc7722"
|
||||
longRange: true
|
||||
|
||||
- type: radioChannel
|
||||
id: Conspiracy
|
||||
name: chat-radio-conspiracy
|
||||
keycode: 'з'
|
||||
frequency: 1174
|
||||
color: "#724F29"
|
||||
longRange: true
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
weights:
|
||||
Extended: 0.29
|
||||
Nukeops: 0.15
|
||||
Traitor: 0.3
|
||||
Conspirators: 0.1 # WL-Changes: Conspirators
|
||||
Traitor: 0.4
|
||||
#Zombie: 0.04
|
||||
#Zombieteors: 0.01
|
||||
Survival: 0.1
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<Document>
|
||||
# Заговорщики
|
||||
|
||||
<Box>
|
||||
[color=#999999][italic]"Мы — холодный ветер в зимний день. Мы — тень в безлунной ночи. Мы — яд в твоём чае и шёпот у твоего уха. Мы везде."[/italic][/color]
|
||||
</Box>
|
||||
Заговорщики — это группа из членов экипажа, которые кооперируются для воплощения заговора в жизнь. Заговорщики неотличимы от обычных работников станции, но они знают друг друга и имеют [color=cyan]заговорческий радио-имплант[/color], позволяющий им общаться друг с другом.
|
||||
|
||||
## Игра за заговорщика
|
||||
|
||||
Заговор — это просто!
|
||||
- Проверьте ваше меню персонажа, узнайте личности других заговорщиков и вашу общую [bold]цель[/bold]. Эта цель является лишь предложением. Если все заговорщики пожелают сделать что-то другое, вы можете заняться уже этим.
|
||||
- Используйте имплант радиосвязи [color=yellow][bold](:з)[/color][/bold] для общения с другими заговорщиками.
|
||||
- Работайте с друг другом, воплощая свои замыслы в жизнь за счёт экипажа.
|
||||
- Постарайтесь выбрать себе главу, ведь любой заговор нуждается в оргнизаторе.
|
||||
</Document>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 177 B |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "By ReArtInt. Conspirator made by SuperGDPWYL (GitHub).",
|
||||
"copyright": "By ReArtInt",
|
||||
"size": {
|
||||
"x": 8,
|
||||
"y": 8
|
||||
@@ -9,10 +9,6 @@
|
||||
"states": [
|
||||
{
|
||||
"name": "Adjutant"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "Conspirator"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user