Skip to content

Commit

Permalink
Quick Vore Patch (#544)
Browse files Browse the repository at this point in the history
* progress

* Vore-Patch
  • Loading branch information
FoxxoTrystan authored Feb 15, 2025
1 parent b96f7c2 commit 605a2ee
Show file tree
Hide file tree
Showing 11 changed files with 31 additions and 14 deletions.
20 changes: 14 additions & 6 deletions Content.Server/FloofStation/VoreSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
using Content.Server.Nutrition.EntitySystems;
using Content.Shared.Interaction.Events;
using Content.Shared.Hands.EntitySystems;
using Robust.Shared.Player;

namespace Content.Server.FloofStation;

Expand Down Expand Up @@ -95,8 +94,11 @@ private void DevourVerb(EntityUid uid, VoreComponent component, GetVerbsEvent<In
if (!args.CanInteract
|| !args.CanAccess
|| args.User == args.Target
|| !HasComp<VoreComponent>(args.Target)
|| !_consent.HasConsent(args.User, "VorePred")
|| !TryComp<VoreComponent>(args.User, out var voreuser)
|| !voreuser.CanVore
|| !TryComp<VoreComponent>(args.Target, out var voretarget)
|| !voretarget.CanBeVored
|| !_consent.HasConsent(args.User, "Vore")
|| !_consent.HasConsent(args.Target, "Vore"))
return;

Expand All @@ -116,14 +118,17 @@ private void InsertSelfVerb(EntityUid uid, GetVerbsEvent<InnateVerb> args)
if (!args.CanInteract
|| !args.CanAccess
|| args.User == args.Target
|| !TryComp<VoreComponent>(args.Target, out var component)
|| !_consent.HasConsent(args.Target, "VorePred")
|| !TryComp<VoreComponent>(args.User, out var voreuser)
|| !voreuser.CanBeVored
|| !TryComp<VoreComponent>(args.Target, out var voretarget)
|| !voretarget.CanVore
|| !_consent.HasConsent(args.Target, "Vore")
|| !_consent.HasConsent(args.User, "Vore"))
return;

InnateVerb verbInsert = new()
{
Act = () => TryDevour(args.Target, args.User, component),
Act = () => TryDevour(args.Target, args.User, voretarget),
Text = Loc.GetString("action-name-insert-self"),
Category = VerbCategory.Interaction,
Icon = new SpriteSpecifier.Rsi(new ResPath("Interface/Actions/devour.rsi"), "icon"),
Expand Down Expand Up @@ -421,6 +426,9 @@ private void FullyDigest(EntityUid uid, EntityUid prey)

private void OnExamine(EntityUid uid, ExaminedEvent args)
{
if (!_consent.HasConsent(args.Examiner, "Vore"))
return;

if (!_containerSystem.TryGetContainer(uid, "stomach", out var stomach)
|| stomach.ContainedEntities.Count < 1)
return;
Expand Down
6 changes: 6 additions & 0 deletions Content.Shared/Floofstation/VoreComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ namespace Content.Shared.FloofStation;
[RegisterComponent]
public sealed partial class VoreComponent : Component
{
[DataField]
public bool CanVore = false;

[DataField]
public bool CanBeVored = true;

[DataField]
public float Delay = 5f;

Expand Down
7 changes: 2 additions & 5 deletions Resources/Locale/en-US/Blep/consent.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,8 @@ consent-examine-verb = Consent Info
consent-examine-not-set = This player has no consent preferences set. Ask for consent first before engaging in any erotic roleplay.
# Consent toggles
consent-Vore-name = Vore Prey
consent-Vore-desc = Allow yourself to be devoured by anyone... or anything.
consent-VorePred-name = Vore Pred
consent-VorePred-desc = Allow to devoured critters... or anyone that has the consent option 'vore' enabled.
consent-Vore-name = Vore
consent-Vore-desc = Allow yourself to be predator or prey.
consent-Digestion-name = Digestion
consent-Digestion-desc = Allow yourself to be digested. WARNING: BEING DIGESTED WILL ROUND-REMOVE YOU.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@
- RobotTalk
- type: PsionicInsulation
- type: Vore # Floofstation - Vore
canVore: true
canBeVored: false

- type: entity
abstract: true
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1563,6 +1563,7 @@
id: MobMouse
description: Squeak!
components:
- type: Vore
- type: Body
prototype: Mouse
- type: GhostRole
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
interactFailureSound:
path: /Audio/Effects/bite.ogg
- type: Vore # Floofstation - Vore
canVore: true
- type: Body # Shitmed - Adds carp organs.
prototype: Carp
- type: SurgeryTarget
Expand Down
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@
understands:
- Xeno
- type: Vore # Floofstation - Vore
canVore: true
canBeVored: false

- type: entity
name: Praetorian
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
abstract: true
components:
- type: Vore # Floofstation - Vore
canVore: true
- type: ContentEye
- type: CameraRecoil
- type: Reactive
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/Species/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
- type: CanEscapeInventory # Carrying system from nyanotrasen.
- type: Vore # Floofstation - Vore
canVore: true
- type: LanguageKnowledge # This is here so even if species doesn't have a defined language, they at least speak GC
speaks:
- TauCetiBasic
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@
- type: LeashAnchor # Floofstation
offset: 0, 0.2
- type: Vore
canVore: true

- type: palette
id: ScugCatColors
Expand Down
3 changes: 0 additions & 3 deletions Resources/Prototypes/consent.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
- type: consentToggle
id: Vore

- type: consentToggle
id: VorePred

- type: consentToggle
id: Digestion

Expand Down

0 comments on commit 605a2ee

Please sign in to comment.