Grenade Penguin 2: The Reckoning (#13278)

This commit is contained in:
Nemanja
2023-01-01 20:18:47 -05:00
committed by GitHub
parent 19568e6103
commit 0b5000dc76
3 changed files with 21 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ using Content.Server.Roles;
using Content.Server.Traitor; using Content.Server.Traitor;
using Content.Server.Traitor.Uplink; using Content.Server.Traitor.Uplink;
using Content.Server.MobState; using Content.Server.MobState;
using Content.Server.NPC.Systems;
using Content.Shared.CCVar; using Content.Shared.CCVar;
using Content.Shared.Dataset; using Content.Shared.Dataset;
using Content.Shared.Roles; using Content.Shared.Roles;
@@ -26,7 +27,7 @@ public sealed class TraitorRuleSystem : GameRuleSystem
[Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IObjectivesManager _objectivesManager = default!; [Dependency] private readonly IObjectivesManager _objectivesManager = default!;
[Dependency] private readonly IChatManager _chatManager = default!; [Dependency] private readonly IChatManager _chatManager = default!;
[Dependency] private readonly GameTicker _gameTicker = default!; [Dependency] private readonly FactionSystem _faction = default!;
[Dependency] private readonly MobStateSystem _mobStateSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!;
[Dependency] private readonly UplinkSystem _uplink = default!; [Dependency] private readonly UplinkSystem _uplink = default!;
@@ -168,6 +169,12 @@ public sealed class TraitorRuleSystem : GameRuleSystem
return false; return false;
} }
if (mind.OwnedEntity is not { } entity)
{
Logger.ErrorS("preset", "Mind picked for traitor did not have an attached entity.");
return false;
}
// creadth: we need to create uplink for the antag. // creadth: we need to create uplink for the antag.
// PDA should be in place already // PDA should be in place already
DebugTools.AssertNotNull(mind.OwnedEntity); DebugTools.AssertNotNull(mind.OwnedEntity);
@@ -186,6 +193,9 @@ public sealed class TraitorRuleSystem : GameRuleSystem
Traitors.Add(traitorRole); Traitors.Add(traitorRole);
traitorRole.GreetTraitor(Codewords); traitorRole.GreetTraitor(Codewords);
_faction.RemoveFaction(entity, "NanoTrasen", false);
_faction.AddFaction(entity, "Syndicate");
var maxDifficulty = _cfg.GetCVar(CCVars.TraitorMaxDifficulty); var maxDifficulty = _cfg.GetCVar(CCVars.TraitorMaxDifficulty);
var maxPicks = _cfg.GetCVar(CCVars.TraitorMaxPicks); var maxPicks = _cfg.GetCVar(CCVars.TraitorMaxPicks);

View File

@@ -112,7 +112,7 @@
description: uplink-penguin-grenade-desc description: uplink-penguin-grenade-desc
productEntity: MobGrenadePenguin productEntity: MobGrenadePenguin
cost: cost:
Telecrystal: 6 Telecrystal: 5
categories: categories:
- UplinkExplosives - UplinkExplosives
conditions: conditions:

View File

@@ -1148,8 +1148,8 @@
description: A small penguin with a grenade strapped around its neck. Harvested by the Syndicate from icy shit-hole planets. description: A small penguin with a grenade strapped around its neck. Harvested by the Syndicate from icy shit-hole planets.
components: components:
- type: MovementSpeedModifier - type: MovementSpeedModifier
baseWalkSpeed : 7 baseWalkSpeed : 3.5
baseSprintSpeed : 7 baseSprintSpeed : 5
- type: InputMover - type: InputMover
- type: MobMover - type: MobMover
- type: HTN - type: HTN
@@ -1207,6 +1207,13 @@
intensitySlope: 20 intensitySlope: 20
totalIntensity: 225 totalIntensity: 225
- type: ExplodeOnTrigger - type: ExplodeOnTrigger
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:ExplodeBehavior
# I have included a snake_hiss.ogg sound file so if you want to use that be my guest # I have included a snake_hiss.ogg sound file so if you want to use that be my guest
- type: entity - type: entity