Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions Content.Server/Zombies/ZombieSystem.Transform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
using Content.Shared.Zombies;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Serialization.Manager;
using Robust.Shared.Utility;

namespace Content.Server.Zombies;

Expand Down Expand Up @@ -118,7 +119,11 @@ private void DynamicAddComponents(EntityUid target, ZombieComponent zombieCompon
RemComp(target, componentType);

var newComponent = _serializationManager.CreateCopy(oldComponent, notNullableOverride: true);
AddComp(target, (Component)newComponent!);

if (newComponent != null)
{
AddComp(target, (Component)newComponent);
}
}
}

Expand Down Expand Up @@ -238,6 +243,13 @@ public void ZombifyEntity(EntityUid target, MobStateComponent? mobState = null)
// Messing with the eye layer made it vanish upon cloning, and also it didn't even appear right
huApComp.EyeColor = zombieComponent.EyeColor;

var eyeLayer = huApComp.BaseLayers.FirstOrNull(d => d.Value.ID.Equals("MobHumanoidEyes"));
if (eyeLayer.HasValue)
{
// TODO: Extract Eye information and add new layer to Sprite Component. Take RSI path of Eye Layer and
// mark as unshaded.
}

// this might not resync on clone?
_humanoidAppearance.SetBaseLayerId(target,
HumanoidVisualLayers.Tail,
Expand Down Expand Up @@ -495,7 +507,6 @@ private bool UnZombifyEntity(EntityUid source, EntityUid target, ZombieComponent
// Dynamically add components.
DynamicAddComponents(target, zombieComponent);


// Load old hand status. Copying the component is not enough.
if (zombieComponent.BeforeHands.Count > 0)
{
Expand Down
4 changes: 2 additions & 2 deletions Content.Server/_Null/Systems/WarperSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
using Content.Shared.Popups;
using Content.Shared.Tag;
using Robust.Server.Audio;
using Robust.Server.GameObjects;
using Robust.Shared.Console;
using Robust.Shared.Map;
using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Systems;

#pragma warning disable CS0618 // Type or member is obsolete

Expand All @@ -33,7 +33,7 @@ namespace Content.Server._Null.Systems;
public sealed class WarperSystem : EntitySystem
{
[Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
[Dependency] private readonly PhysicsSystem _physics = default!;
[Dependency] private readonly MobStateSystem _mobState = default!;
[Dependency] private readonly TagSystem _tags = default!;
[Dependency] private readonly AudioSystem _audio = default!;
Expand Down
298 changes: 240 additions & 58 deletions Resources/Maps/_NF/Shuttles/Expedition/brigand.yml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,8 @@
parent: BaseItem
id: WeaponGrapplingGun
components:
- type: Item
storedRotation: -90
- type: AmmoCounter
- type: GrapplingGun
- type: Gun
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -985,7 +985,7 @@
parent: BaseSign
id: SignZomlab
name: zombie lab sign
description: The final remains of a shut-down Nanotrasen research project that aimed to harness the powers of Romerol. I wonder how that went...
description: The indicator that nearby lies a research project aiming to harness the powers of Romerol. I wonder how that will go...
components:
- type: Sprite
state: zomlab
Expand Down
17 changes: 17 additions & 0 deletions Resources/Prototypes/Entities/Structures/Windows/window_rustic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
- type: entity
parent: Window
id: RusticWindow
name: rustic window
components:
- type: Sprite
drawdepth: WallTops
sprite: _Null/Structures/Windows/wood_window.rsi
- type: Icon
sprite: _Null/Structures/Windows/wood_window.rsi
- type: IconSmooth
base: window
- type: Construction
graph: Window
node: woodWindow
- type: StaticPrice
price: 35
5 changes: 5 additions & 0 deletions Resources/Prototypes/Reagents/medicine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,11 @@
physicalDesc: reagent-physical-desc-soothing
flavor: medicine
color: "#fcf7f9"
plantMetabolism:
- !type:PlantAdjustNutrition
amount: -1
- !type:PlantAdjustHealth
amount: 1
metabolisms:
Medicine:
effects:
Expand Down
4 changes: 4 additions & 0 deletions Resources/Prototypes/Reagents/toxins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@
color: "#8a9a5b"
recognizable: true
physicalDesc: reagent-physical-desc-fuzzy
plantMetabolism:
- !type:PlantAffectGrowth
probability: 0.75
amount: 1
metabolisms:
Poison:
effects:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@
amount: 2
doAfter: 2

- to: woodWindow
steps:
- material: WoodPlank
amount: 2
doAfter: 2

- to: reinforcedPlasmaWindow
steps:
- material: ReinforcedPlasmaGlass
Expand Down Expand Up @@ -98,6 +104,25 @@
- tool: Anchoring
doAfter: 2

- node: woodWindow
entity: RusticWindow
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Screwing
doAfter: 1
- tool: Prying
doAfter: 2
- tool: Screwing
doAfter: 1
- tool: Anchoring
doAfter: 2

- node: tintedWindow
entity: TintedWindow
edges:
Expand Down
19 changes: 19 additions & 0 deletions Resources/Prototypes/Recipes/Construction/structures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,25 @@
placementMode: SnapgridCenter
canRotate: false

- type: construction # Null Sector
name: rustic window
id: RusticWindow
graph: Window
startNode: start
targetNode: woodWindow
category: construction-category-structures
description: For a hint of that old-style rustic view.
canBuildInImpassable: true
conditions:
- !type:EmptyOrWindowValidInTile
- !type:NoWindowsInTile
icon:
sprite: _Null/Structures/Windows/wood_window.rsi
state: full
objectType: Structure
placementMode: SnapgridCenter
canRotate: false

- type: construction
name: clockwork window
id: ClockworkWindow
Expand Down
24 changes: 11 additions & 13 deletions Resources/Prototypes/_NF/Entities/Structures/resident_evil.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,21 @@
# base: plastitanium

- type: entity # Null Sector
parent: BaseWall
parent: PlastitaniumWindowIndestructible
id: WindowResidentEvilIndestructible
name: spooky manor window
description: Skub knows this wall is too hard to destroy. # Frontier
description: It's held together by industrial-strength superglue, and prayers from supervillains.
suffix: indestructible
components:
- type: Tag
tags:
- Wall # Fix this
- type: Sprite
sprite: Structures/Walls/wood.rsi
color: "#cdf3cd"
drawdepth: WallTops
sprite: _Null/Structures/Windows/wood_window.rsi
- type: Icon
sprite: Structures/Walls/wood.rsi
sprite: _Null/Structures/Windows/wood_window.rsi
state: full
- type: IconSmooth
key: woods
base: wood
# - type: IconSmooth
# key: walls
# base: plastitanium
key: walls # Frontier: windows<walls
base: window
# - type: Icon
# sprite: _Null/Structures/Windows/wood_window.rsi
# state: full
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
# Random Common (Infectiouslos)
- type: entityTable
id: TableZombieRandomCommonInfectiouslos
table: !type:GroupSelector
children:
- id: MobInfectiouslosZombieRegular
weight: 1.0

# Spawner Random Common (Infectiouslos)
- type: entity
parent: MarkerBase
id: SpawnMobZombieInfectiouslos
name: zombie spawner common
suffix: AI, Hostile, Non-Infectious
components:
- type: Sprite
layers:
- state: green
- sprite: _Null/Mobs/zombies.rsi
state: icon
- sprite: _NF/Markers/general.rsi
state: questionmark
color: green
- type: EntityTableSpawner
offset: 0.0
table: !type:NestedSelector
tableId: TableZombieRandomCommonInfectiouslos
prob: 1.00

# Total Random
- type: entityTable
id: TableZombieRandom
Expand Down Expand Up @@ -36,8 +65,6 @@
- id: MobZombieClown
weight: 0.125



# Spawner Random Common
- type: entity
parent: MarkerBase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,11 @@
components:
- type: SpawnOnTrigger
proto: MobPunkGangerMeleeT1

- type: entity
id: SignalSpawnerZombieInfectiouslos
parent: SignalSpawner
suffix: non-infectious zombie
components:
- type: SpawnOnTrigger
proto: SpawnMobZombieInfectiouslos
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
suffix: entrance
components:
- type: Sprite
offset: 0, 0.5
#offset: 0, 0.5
layers:
- state: stair_down
- state: warningtape_down
Expand All @@ -43,7 +43,7 @@
suffix: return
components:
- type: Sprite
offset: 0, 0.5
#offset: 0, 0.5
layers:
- state: stair_up
- state: warningtape_up
Expand Down
40 changes: 40 additions & 0 deletions Resources/Prototypes/_Null/Shipyard/Expedition/brigand.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Author Info
# GitHub: LukeZurg22
# Discord: @lukezurg22

# Shuttle Notes:
#
- type: vessel
id: Brigand
parent: BaseVessel
name: Brigand
description: A competent and reliable expeditionary vessel designed for comfortable long-range missions.
price: 69221
category: Medium
group: Expedition
shuttlePath: /Maps/_NF/Shuttles/Expedition/brigand.yml
guidebookPage: null
class:
- Expedition
engine:
- AME

- type: gameMap
id: Brigand
mapName: 'Brigand'
mapPath: /Maps/_NF/Shuttles/Expedition/brigand.yml
minPlayers: 0
stations:
Brigand:
stationProto: StandardFrontierExpeditionVessel
components:
- type: StationNameSetup
mapNameTemplate: 'Brigand EXP{1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: '14'
- type: StationJobs
availableJobs:
Contractor: [ 0, 0 ]
Pilot: [ 0, 0 ]
Mercenary: [ 1, 1 ]
1 change: 1 addition & 0 deletions Resources/Prototypes/ai_factions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@
- Revolutionary
- AllHostile
- Wizard
- Xeno
- WizFedFaction # Frontier
- BloodCultNF # Frontier
- PirateNF # Frontier
Expand Down
3 changes: 1 addition & 2 deletions Resources/ServerInfo/_Mono/Guidebook/ShipCombat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ Missiles will only track grids with a shuttle console, and are immediately point
Some ships are equipped with [color=cyan]shield generators[/color]. These absorb all incoming impacts, and add power draw for every projectile absorbed. [color=yellow]Note that shields only react to projectiles fired from ship weapons, not regular handheld weapons or tools.[/color] Shields will NOT block beam or hitscan weapons, such as [color=red][bold]lasers[/bold][/color], and the effects of [color=teal][bold]EMPs[/color][/bold] will still go through.

<Box>
<GuideEntityEmbed Entity="CircularShieldConsole"/>
<GuideEntityEmbed Entity="CircularShieldBase"/>
<GuideEntityEmbed Entity="ShieldGeneratorSmall"/>
</Box>

Due to the rarity of these, they are unable to be looted, and must be scavenged if you wish to outfit your ship with them. They can be fabricated if you have the suitable T3 arsenal research for it though.
Expand Down
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Textures/Structures/Walls/wood.rsi/wood7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading