Skip to content

Commit

Permalink
Merge branch 'master' into per-character-consent-menu
Browse files Browse the repository at this point in the history
  • Loading branch information
Memeji committed Sep 23, 2024
2 parents e75cc61 + 4018138 commit db0c7d8
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 12 deletions.
7 changes: 4 additions & 3 deletions Content.Shared/Floof/Leash/LeashSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ private void OnJointRemoved(Entity<LeashedComponent> ent, ref JointRemovedEvent
|| ent.Comp.Puller is not { } puller
|| !TryComp<LeashAnchorComponent>(ent.Comp.Anchor, out var anchor)
|| !TryComp<LeashComponent>(puller, out var leash)
|| leash.Leashed.All(it => it.JointId != id)
|| !Transform(ent).Coordinates.TryDistance(EntityManager, Transform(puller).Coordinates, out var dst)
|| dst > leash.MaxDistance
)
Expand Down Expand Up @@ -397,16 +398,16 @@ public void RemoveLeash(Entity<LeashedComponent?> leashed, Entity<LeashComponent
if (_container.TryGetContainer(leashed, LeashedComponent.VisualsContainerName, out var visualsContainer))
_container.CleanContainer(visualsContainer);

if (breakJoint && jointId is not null)
_joints.RemoveJoint(leash, jointId);

if (Resolve(leash, ref leash.Comp, false))
{
var leashedData = leash.Comp.Leashed.Where(it => it.JointId == jointId).ToList();
foreach (var data in leashedData)
leash.Comp.Leashed.Remove(data);
}

if (breakJoint && jointId is not null)
_joints.RemoveJoint(leash, jointId);

Dirty(leash);
}

Expand Down
30 changes: 30 additions & 0 deletions Resources/Changelog/Floof.yml
Original file line number Diff line number Diff line change
Expand Up @@ -973,3 +973,33 @@ Entries:
id: 131
time: '2024-09-18T05:13:49.0000000+00:00'
url: https://github.com/Fansana/floofstation1/pull/192
- author: Mnemotechnician
changes:
- type: Fix
message: Leashes should now be properly removable.
id: 132
time: '2024-09-19T03:01:46.0000000+00:00'
url: https://github.com/Fansana/floofstation1/pull/194
- author: Memeji
changes:
- type: Add
message: Shuttle Console Boards added to the Tech Board loot pool.
- type: Tweak
message: R&D Server boards are now common finds.
id: 133
time: '2024-09-22T06:50:11.0000000+00:00'
url: https://github.com/Fansana/floofstation1/pull/196
- author: Memeji
changes:
- type: Tweak
message: Vampirism costs three points.
id: 134
time: '2024-09-23T02:22:08.0000000+00:00'
url: https://github.com/Fansana/floofstation1/pull/201
- author: Memeji
changes:
- type: Tweak
message: Clarified where IPCs should go for repairs in their guidebook.
id: 135
time: '2024-09-23T02:26:14.0000000+00:00'
url: https://github.com/Fansana/floofstation1/pull/199
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- type: entity
- type: entity
id: RandomBoard
name: random board spawner
parent: MarkerBase
Expand Down Expand Up @@ -27,18 +27,18 @@
- WeaponCapacitorRechargerCircuitboard # Delta V - Add additional boards
- StationMapCircuitboard # Delta V - Add additional boards
- DeepFryerMachineCircuitboard # Delta V - Add additional boards
chance: 0.95
- ResearchAndDevelopmentServerMachineCircuitboard # Floof - Increase chance for R&D Server Boards
chance: 0.9
rarePrototypes:
- CommsComputerCircuitboard
#- ShuttleConsoleCircuitboard # Delta V - Remove shuttle boards
- ShuttleConsoleCircuitboard # Floof - Added Shuttle boards back
- ComputerMassMediaCircuitboard
- AutolatheMachineCircuitboard
- ProtolatheMachineCircuitboard
- SalvageMagnetMachineCircuitboard
- PortableGeneratorSuperPacmanMachineCircuitboard # Delta V - Add additional boards
- PortableGeneratorJrPacmanMachineCircuitboard # Delta V - Add additional boards
- MedicalTechFabCircuitboard # Delta V - Add additional boards
- ResearchAndDevelopmentServerMachineCircuitboard # Delta V - Add additional boards
- UniformPrinterMachineCircuitboard # Delta V - Add additional boards
- ArtifactAnalyzerMachineCircuitboard # Delta V - Add additional boards
rareChance: 0.05
rareChance: 0.1
2 changes: 1 addition & 1 deletion Resources/Prototypes/Floof/Traits/physical.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
- type: trait
id: Vampirism # You may port this to EE, you have my permission!
category: Physical
points: 3
points: -3 # MD - Change from "3" tp "-3" for balancing.
requirements:
- !type:CharacterJobRequirement
inverted: true
Expand Down
7 changes: 4 additions & 3 deletions Resources/ServerInfo/Guidebook/Mobs/IPCs.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<Document>
# I.P.C.
<GuideEntityEmbed Entity="MobIPCDummy" Caption="I.P.C."/>
An IPC (short for Integrated Positronic Chassis) is a type of sentient robot and is considered an [color=yellow]independent individual[/color], meaning [color=red]they are not guided by any laws of robotics[/color]. IPCs cannot be hacked by Emags because they do not have to follow any predefined directives in their system. [color=red]IPCs are silicon-based beings, so doctors do not have the skills to repair them.[/color]
An IPC (short for Integrated Positronic Chassis) is a type of sentient robot and is considered an [color=yellow]independent individual[/color], meaning [color=red]they are not guided by any laws of robotics[/color]. IPCs cannot be hacked by Emags because they do not have to follow any predefined directives in their system. [color=red]IPCs are silicon-based beings, so doctors do not have the skills to repair them.[/color] Instead, they are to be taken to [color=purple]Epistemics[/color] to be repaired by the Roboticist.

<Box>
<GuideEntityEmbed Entity="PositronicBrain" Caption="Positronic Brain"/>
</Box>
Like borgs, IPCs have a positronic brain as their processing source. However, unlike them, IPCs can't be assembled. "It's cheaper to create a shell that obeys you than one that doesn't! *wink*"
Like borgs, IPCs have a positronic brain as their processing source. However, unlike them, IPCs can't be assembled due to the complexity of their assembly to make them sentient.

## Recharging an IPC
<Box>
<GuideEntityEmbed Entity="APCBasic" Caption="APC Terminal"/>
Expand Down Expand Up @@ -45,7 +46,7 @@
<Box HorizontalAlignment="Stretch">
In the event an IPC dies, after being fully repaired, it should be restarted using the [color=yellow]"Restart"[/color] button (located by right-clicking).

[color=red]NEVER ELECTROCUTE AN IPC with a defibrillator or in any other way while it is dead, as this will cause the battery to discharge energy rays outward![/color]
[color=red]NEVER ELECTROCUTE AN IPC with a defibrillator or in any other way while it is dead, as this will cause the battery to discharge its stored energy outward![/color]
</Box>

</Document>
Expand Down

0 comments on commit db0c7d8

Please sign in to comment.