Skip to content

Commit

Permalink
Merge branch 'master' into map-testing
Browse files Browse the repository at this point in the history
  • Loading branch information
PubliclyExecutedPig authored Nov 11, 2024
2 parents 0f79005 + 5eb7ae5 commit c06618b
Show file tree
Hide file tree
Showing 13 changed files with 168 additions and 51 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
using Content.Server.Chat.Systems;
using Content.Shared.Administration;
using Robust.Shared.Audio;
using Robust.Shared.Console;
using Robust.Shared.ContentPack;
using Robust.Shared.Prototypes;

namespace Content.Server.Administration.Commands;

[AdminCommand(AdminFlags.Fun)]
public sealed class AnnounceCustomCommand : IConsoleCommand
{
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IResourceManager _res = default!;

public string Command => "announcecustom";
public string Description => Loc.GetString("cmd-announcecustom-desc");
public string Help => Loc.GetString("cmd-announcecustom-help", ("command", Command));

public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var chat = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<ChatSystem>();

switch (args.Length)
{
case 0:
shell.WriteError(Loc.GetString("shell-need-minimum-one-argument"));
return;
case > 4:
shell.WriteError(Loc.GetString("shell-wrong-arguments-number"));
return;
}

var message = args[0];
var sender = "Central Command";
var color = Color.Gold;
var sound = new SoundPathSpecifier("/Audio/Announcements/announce.ogg");

// Optional sender argument
if (args.Length >= 2)
sender = args[1];

// Optional color argument
if (args.Length >= 3)
{
try
{
color = Color.FromHex(args[2]);
}
catch
{
shell.WriteError(Loc.GetString("shell-invalid-color-hex"));
return;
}
}

// Optional sound argument
if (args.Length >= 4)
sound = new SoundPathSpecifier(args[3]);

chat.DispatchGlobalAnnouncement(message, sender, true, sound, color);
shell.WriteLine(Loc.GetString("shell-command-success"));
}

public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
{
return args.Length switch
{
1 => CompletionResult.FromHint(Loc.GetString("cmd-announcecustom-arg-message")),
2 => CompletionResult.FromHint(Loc.GetString("shell-argument-username-optional-hint")),
3 => CompletionResult.FromHint(Loc.GetString("cmd-announcecustom-arg-color")),
4 => CompletionResult.FromHintOptions(
CompletionHelper.AudioFilePath(args[3], _protoManager, _res),
Loc.GetString("cmd-announcecustom-arg-sound")
),
_ => CompletionResult.Empty
};
}
}
53 changes: 29 additions & 24 deletions Resources/Changelog/DeltaVChangelog.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,4 @@
Entries:
- author: Adrian16199
changes:
- message: Crew has learned how to make a straw hat out of wheat bushels!
type: Add
id: 165
time: '2023-12-13T20:13:45.0000000+00:00'
- author: IamVelcroboy
changes:
- message: Added Yule! Happy Holidays!
type: Add
id: 166
time: '2023-12-13T20:21:34.0000000+00:00'
- author: ps3moira
changes:
- message: Added Fish n' Chips. Thank the British!
type: Add
id: 167
time: '2023-12-13T20:32:51.0000000+00:00'
- author: Adrian16199
changes:
- message: Felinids now meow out their words. They can also sigh now.
type: Tweak
id: 168
time: '2023-12-13T21:28:39.0000000+00:00'
- author: VMSolidus
changes:
- message: Harpies no longer choke on completely breathable air
Expand Down Expand Up @@ -3720,3 +3696,32 @@
id: 664
time: '2024-11-09T19:44:28.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2152
- author: Colin-Tel
changes:
- message: Removed the "Raise Glimmer" objective for traitors.
type: Remove
id: 665
time: '2024-11-10T20:18:53.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2107
- author: Colin-Tel
changes:
- message: Adjusted antagonist rule C3 and the line about bribery in C1.
type: Tweak
id: 666
time: '2024-11-10T20:20:26.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2164
- author: Stop-Signs
changes:
- message: Removed the T3 Lockout on epi techs
type: Remove
id: 667
time: '2024-11-11T02:57:13.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2144
- author: Radezolid
changes:
- message: The syringe gun is now a researcheable technology in the T2 civilian
category. Get it from the medical techfab once it's researched.
type: Tweak
id: 668
time: '2024-11-11T15:41:44.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2169
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## AnnounceCustomCommand
cmd-announcecustom-desc = Send an in-game announcement with custom color and sound.
cmd-announcecustom-help = {$command} <message> [sender] [color] [sound] - Send announcement. Sender defaults to CentCom, color to Gold, sound to announce.ogg
# Completion hints
cmd-announcecustom-arg-message = message
cmd-announcecustom-arg-color = color in #RRGGBB format (optional)
cmd-announcecustom-arg-sound = sound path (optional)
1 change: 1 addition & 0 deletions Resources/Locale/en-US/deltav/research/technologies.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ research-technology-energy-gun = Energy Guns
research-technology-energy-gun-advance = Advanced Energy Manipulation
research-technology-advance-laser = Advanced Laser Manipulation
research-technology-robust-melee = Robust Melee
research-technology-syringe-gun = Syringe Gun
17 changes: 17 additions & 0 deletions Resources/Prototypes/DeltaV/Recipes/Lathes/medical.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,20 @@
materials:
Steel: 300
Glass: 100

- type: latheRecipe
id: LauncherSyringe
result: LauncherSyringe
completetime: 3
materials:
Steel: 1000
Glass: 500
Plastic: 500

- type: latheRecipe
id: MiniSyringe
result: MiniSyringe
completetime: 1
materials:
Plastic: 150
Steel: 50
12 changes: 12 additions & 0 deletions Resources/Prototypes/DeltaV/Research/civilianservices.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- type: technology
id: SyringeGun
name: research-technology-syringe-gun
icon:
sprite: Objects/Weapons/Guns/Cannons/syringe_gun.rsi
state: syringe_gun
discipline: CivilianServices
tier: 2
cost: 10000
recipeUnlocks:
- LauncherSyringe
- MiniSyringe
6 changes: 6 additions & 0 deletions Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,8 @@
- MagazineBoxSpecialHoly
- MagazineBoxSpecialMindbreaker
- AdvancedTruncheon
- LauncherSyringe
- MiniSyringe
# End DeltaV additions

- type: entity
Expand Down Expand Up @@ -1066,6 +1068,10 @@
- WhiteCane
- AACTablet # DeltaV
dynamicRecipes:
# Begin DeltaV additions
- LauncherSyringe
- MiniSyringe
# End DeltaV additions
- ChemicalPayload
- CryostasisBeaker
- BluespaceBeaker
Expand Down
15 changes: 0 additions & 15 deletions Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,3 @@
# components:
# - BecomePsionicCondition
# - type: BecomeGolemCondition

- type: entity
id: RaiseGlimmerObjective
parent: BaseTraitorObjective
name: Raise Glimmer.
description: Get the glimmer above the specified amount.
components:
- type: Objective
difficulty: 2.5
#unique: false
icon:
sprite: Nyanotrasen/Icons/psi.rsi
state: psi
- type: RaiseGlimmerCondition
target: 500
2 changes: 0 additions & 2 deletions Resources/Prototypes/Objectives/objectiveGroups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@
weights:
RandomTraitorAliveObjective: 1
RandomTraitorProgressObjective: 1
RaiseGlimmerObjective: 0.5 # Nyanotrasen - Raise glimmer to a target amount, see Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml


#Thief groups
- type: weightedRandom
Expand Down
20 changes: 12 additions & 8 deletions Resources/Prototypes/Research/disciplines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
icon:
sprite: Interface/Misc/research_disciplines.rsi
state: industrial
lockoutTier: 4 # DeltaV: Lockout occurs at t4
tierPrerequisites:
1: 0
2: 0.75
3: 0.75
2: 1 # DeltaV: raised to 1
3: 1 # DeltaV: raised to 1

- type: techDiscipline
id: Arsenal
Expand All @@ -17,10 +18,11 @@
icon:
sprite: Interface/Misc/research_disciplines.rsi
state: arsenal
lockoutTier: 4 # DeltaV: Lockout occurs at t4
tierPrerequisites:
1: 0
2: 0.75
3: 0.75
2: 1 # DeltaV: raised to 1
3: 1 # DeltaV: raised to 1

- type: techDiscipline
id: Experimental
Expand All @@ -29,10 +31,11 @@
icon:
sprite: Interface/Misc/research_disciplines.rsi
state: experimental
lockoutTier: 4 # DeltaV: Lockout occurs at t4
tierPrerequisites:
1: 0
2: 0.75
3: 0.75
2: 1 # DeltaV: raised to 1
3: 1 # DeltaV: raised to 1

- type: techDiscipline
id: CivilianServices
Expand All @@ -41,7 +44,8 @@
icon:
sprite: Interface/Misc/research_disciplines.rsi
state: civilianservices
lockoutTier: 4 # DeltaV: Lockout occurs at t4
tierPrerequisites:
1: 0
2: 0.75
3: 0.75
2: 1 # DeltaV: raised to 1
3: 1 # DeltaV: raised to 1
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@
- Giving a character additional access or a job because you are friends with the player who is playing that character.
- Trusting a character because you are friends with the player who is playing that character.
- Not fighting a character because you are friends with the player who is playing that character.
- Ignoring your objective to kill a character because your character and theirs became friends in a previous round.

## Metagrudging Examples
These are all examples of things that are prohibited by at least one metashield item that is never revealed IC.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Security, Justice, and Command roles are held to a higher standard of roleplay,
- Your character must act in a manner that NanoTrasen would reasonably hire them to this position.
- Your character is presumed to be sane, competent in their duties, and able to make decisions to the benefit of the station.
- Giving away Traitor objective items and sensitive equipment should be avoided in these roles. Your character should value them deeply.
- Leeway is given to making deals with criminals if the deal benefits the safety or situation of the crew and station.
- Leeway is given to making deals with criminals if the deal benefits the safety or situation of the crew and station OR if the deal involves items of a primarily sentimental value (e.g. HoP's Ian scrapbook, LO's lucky dollar).
- Leeway can be given in [color=#ff0000]extreme circumstances[/color] of emergency/crisis.
- The three departments are required to read and follow Delta-V Space Law, Standard Operating Procedure, Alert Procedure, and Company Policy to the best of their ability.
- [color=#ff0000]Circumstances and context may permit you to break these laws. However, the fact that this rule is malleable is not an excuse to ignore it entirely.[/color]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
<Document>
# Rule C3: Antagonist Guidelines
[color=#ffff00]Being an antagonist does not allow you to stop playing a character. Determine how your character would react to being given these objectives, and work through it appropriately.[/color]

Through engaging in antagonistic activity, you should seek to make the round more engaging and fun as the primary driver of the narrative of a round. Succeeding as an antagonist should not be your goal, but rather telling the most interesting story for everyone involved.
- [color=#ff0000]Antagonists are free to complete their objectives through committing proportional damage. Through roleplay, damage becomes more proportional.[/color] Example: Holding the singulo hostage for a theft objective is acceptable, while simply singuloosing and using that chaos is unacceptable.
- Killing players unrelated to your immediate objective in a manner that results in their round removal should be avoided. Crew that do not make an attempt at self preservation, or engage in valid-hunting, are exempt from this.
- If you are concerned as to whether or not what you're about to do is allowed, feel free to AHelp and ask an admin for clarification. [color=#ff0000]Lack of administrator response does not constitute approval.[/color]
- While antagonists are [color=#ffff00]not required[/color] to complete their objectives, they are still encouraged to act as an antagonist in the round while roleplaying.
- Other antagonists are not necessarily your friends. Other antagonists are often free agents that you may negotiate with at your own risk.
- If you are a team antagonist, you must work with your partners to complete any shared objectives.
- Excessively lame tactics are strictly forbidden for all antags except for station-destroying antags, such as nuclear operatives or space dragons. Examples include:
Expand Down

0 comments on commit c06618b

Please sign in to comment.