Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nikko's Daily Messing Around #110

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ namespace Content.Server.FloofStation.Traits;
[RegisterComponent, Access(typeof(LewdTraitSystem))]
public sealed partial class CumProducerComponent : Component
{
[DataField("solutionname"), ViewVariables(VVAccess.ReadWrite)]
public string SolutionName;
[DataField("solutionname")]
public string SolutionName = "penis";

[DataField, ViewVariables(VVAccess.ReadWrite)]
[DataField]
public ProtoId<ReagentPrototype> ReagentId = "Cum";

[DataField]
Expand All @@ -24,14 +24,14 @@ public sealed partial class CumProducerComponent : Component
[DataField]
public Entity<SolutionComponent>? Solution = null;

[DataField, ViewVariables(VVAccess.ReadOnly)]
public FixedPoint2 QuantityPerUpdate = 25;
[DataField]
public FixedPoint2 QuantityPerUpdate = 5;

[DataField]
public float HungerUsage = 10f;

[DataField]
public TimeSpan GrowthDelay = TimeSpan.FromMinutes(1);
public TimeSpan GrowthDelay = TimeSpan.FromSeconds(10);

[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan NextGrowth = TimeSpan.FromSeconds(0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@ namespace Content.Server.FloofStation.Traits;
[RegisterComponent, Access(typeof(LewdTraitSystem))]
public sealed partial class MilkProducerComponent : Component
{
[DataField("solutionname"), ViewVariables(VVAccess.ReadWrite)]
public string SolutionName;
[DataField("solutionname")]
public string SolutionName = "breasts";

[DataField, ViewVariables(VVAccess.ReadWrite)]
[DataField]
public ProtoId<ReagentPrototype> ReagentId = "Milk";

[DataField]
public FixedPoint2 MaxVolume = FixedPoint2.New(25);
public FixedPoint2 MaxVolume = FixedPoint2.New(50);

[DataField]
public Entity<SolutionComponent>? Solution = null;

[DataField, ViewVariables(VVAccess.ReadOnly)]
public FixedPoint2 QuantityPerUpdate = 25;
[DataField]
public FixedPoint2 QuantityPerUpdate = 5;

[DataField]
public float HungerUsage = 10f;

[DataField]
public TimeSpan GrowthDelay = TimeSpan.FromMinutes(1);
public TimeSpan GrowthDelay = TimeSpan.FromSeconds(10);

[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan NextGrowth = TimeSpan.FromSeconds(0);
Expand Down
94 changes: 53 additions & 41 deletions Content.Server/FloofStation/Traits/LewdTraitSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -268,61 +268,73 @@ private void AttemptMilk(Entity<MilkProducerComponent> lewd, EntityUid userUid,
public override void Update(float frameTime)
{
base.Update(frameTime);

var queryCum = EntityQueryEnumerator<CumProducerComponent>(); //SquirtProducerComponent -unused ,
var queryMilk = EntityQueryEnumerator<MilkProducerComponent>();
var now = _timing.CurTime;
var query = AllEntityQuery<CumProducerComponent, MilkProducerComponent>(); //SquirtProducerComponent -unused

while (query.MoveNext(out var uid, out var containerCum, out var containerMilk)) // out var containerSquirt -unused
while (queryCum.MoveNext(out var uid, out var containerCum))
{
if (now < containerCum.NextGrowth)
continue;

containerCum.NextGrowth = now + containerCum.GrowthDelay;

if (_mobState.IsDead(uid))
continue;

if (!(now < containerCum.NextGrowth))
if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
{
containerCum.NextGrowth = now + containerCum.GrowthDelay;

// Actually there is food digestion so no problem with instant reagent generation "OnFeed"
if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
{
// Is there enough nutrition to produce reagent?
if (!(_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay))
_hunger.ModifyHunger(uid, -containerCum.HungerUsage, hunger);
}

if (_solutionContainer.ResolveSolution(uid, containerCum.SolutionName, ref containerCum.Solution))
_solutionContainer.TryAddReagent(containerCum.Solution.Value, containerCum.ReagentId, containerCum.QuantityPerUpdate, out _);
if (_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay)
continue;

_hunger.ModifyHunger(uid, -containerCum.HungerUsage, hunger);
}

if (!(now < containerMilk.NextGrowth))
{
containerMilk.NextGrowth = now + containerMilk.GrowthDelay;
if (!_solutionContainer.ResolveSolution(uid, containerCum.SolutionName, ref containerCum.Solution))
continue;

_solutionContainer.TryAddReagent(containerCum.Solution.Value, containerCum.ReagentId, containerCum.QuantityPerUpdate, out _);
}

while (queryMilk.MoveNext(out var uid, out var containerMilk))
{
if (now < containerMilk.NextGrowth)
continue;

containerMilk.NextGrowth = now + containerMilk.GrowthDelay;

if (_mobState.IsDead(uid))
continue;

if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
{
if (!(_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay))
_hunger.ModifyHunger(uid, -containerMilk.HungerUsage, hunger);
}
if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
{
if (_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay)
continue;

if (_solutionContainer.ResolveSolution(uid, containerMilk.SolutionName, ref containerMilk.Solution))
_solutionContainer.TryAddReagent(containerMilk.Solution.Value, containerMilk.ReagentId, containerMilk.QuantityPerUpdate, out _);
_hunger.ModifyHunger(uid, -containerMilk.HungerUsage, hunger);
}

//if (!(now < containerSquirt.NextGrowth)) //Unused-Trait is WIP
//{
// containerSquirt.NextGrowth = now + containerSquirt.GrowthDelay;

//
// if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
// {
//
// if (!(_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay))
// _hunger.ModifyHunger(uid, -containerSquirt.HungerUsage, hunger);
// }

// if (_solutionContainer.ResolveSolution(uid, containerSquirt.SolutionName, ref containerSquirt.Solution))
// _solutionContainer.TryAddReagent(containerSquirt.Solution.Value, containerSquirt.ReagentId, containerSquirt.QuantityPerUpdate, out _);
//}
if (!_solutionContainer.ResolveSolution(uid, containerMilk.SolutionName, ref containerMilk.Solution))
continue;

_solutionContainer.TryAddReagent(containerMilk.Solution.Value, containerMilk.ReagentId, containerMilk.QuantityPerUpdate, out _);
}

//if (!(now < containerSquirt.NextGrowth)) //Unused-Trait is WIP
//{
// containerSquirt.NextGrowth = now + containerSquirt.GrowthDelay;

//
// if (EntityManager.TryGetComponent(uid, out HungerComponent? hunger))
// {
//
// if (!(_hunger.GetHungerThreshold(hunger) < HungerThreshold.Okay))
// _hunger.ModifyHunger(uid, -containerSquirt.HungerUsage, hunger);
// }

// if (_solutionContainer.ResolveSolution(uid, containerSquirt.SolutionName, ref containerSquirt.Solution))
// _solutionContainer.TryAddReagent(containerSquirt.Solution.Value, containerSquirt.ReagentId, containerSquirt.QuantityPerUpdate, out _);
//}
}
#endregion
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
ClothingUniformLoinCloth: 5 # FloofStation
ClothingNeckCollarBlue: 1 # Floofstation - Collar addition
ClothingNeckCollarBlack: 1 # Floofstation - Collar addition
ClothingNeckCollarPink: 1 # Floofstation - Collar addition
ClothingLongcoatNT: 2 # Floofstation
ClothingLongcoatAL: 2 # Floofstation
ClothingLongcoatBrown: 2 # Floofstation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
BedsheetRainbow: 2
ClothingUniformColorRainbow: 2
ClothingUnderSocksCoder: 1
ClothingHandsCoderArms: 1 # Floofstation
ClothingUnderSocksBee: 1
emaggedInventory:
# 3 for more friends!
ClothingUnderSocksCoderValid: 3 # Floofstation
ClothingUnderSocksCoderValid: 3 # Floofstation
12 changes: 12 additions & 0 deletions Resources/Prototypes/Floof/Entities/Clothing/Hands/gloves.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- type: entity
parent: ClothingHandsBase
id: ClothingHandsCoderArms
name: Coder Armwarmers
description: A pair of armwarmers that provide some protection during those long nights at the keyboard.
components:
- type: Sprite
sprite: Floof/Clothing/Hands/coderarms.rsi
- type: Clothing
sprite: Floof/Clothing/Hands/coderarms.rsi
- type: Fiber
fiberColor: fibers-white
11 changes: 11 additions & 0 deletions Resources/Prototypes/Floof/Entities/Clothing/Neck/collars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,17 @@
- type: Clothing
sprite: Floof/Clothing/Neck/collar_black.rsi

- type: entity
parent: ClothingNeckBase
id: ClothingNeckCollarPink
name: pink collar
description: A cute pink collar.
components:
- type: Sprite
sprite: Floof/Clothing/Neck/collar_pink.rsi
- type: Clothing
sprite: Floof/Clothing/Neck/collar_pink.rsi

- type: entity
parent: ClothingNeckBase
id: ClothingNeckCollarEpi
Expand Down
8 changes: 8 additions & 0 deletions Resources/Prototypes/Floof/Loadouts/hands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@
exclusive: true
items:
- ClothingHandsTacticalMaidGloves

- type: loadout #FloofStation
id: LoadoutHandsGlovesCoderArms
category: Hands
cost: 1
exclusive: true
items:
- ClothingHandsCoderArms
8 changes: 8 additions & 0 deletions Resources/Prototypes/Floof/Loadouts/neck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,14 @@
items:
- ClothingNeckCollarBlack

- type: loadout
id: LoadoutItemsNeckPinkCollar
category: Neck
cost: 1
exclusive: true
items:
- ClothingNeckCollarPink

- type: loadout
id: LoadoutItemsNeckSyndieCollar
category: Neck
Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those changes are not part of the PR, are they?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not part of this PR, no.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But those changes are here, should that change not be removed?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR still change the file name/location, no?

Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
- type: SolutionContainerManager
solutions:
penis:
maxVol: 250
maxVol: 25
reagents:
- ReagentId: Cum
Quantity: 30
Quantity: 25

- type: trait
id: MilkProducer
Expand All @@ -33,10 +33,10 @@
- type: SolutionContainerManager
solutions:
breasts:
maxVol: 250
maxVol: 50
reagents:
- ReagentId: Milk
Quantity: 30
Quantity: 50

# WIP - Needs a Reagent
# - type: trait
Expand Down
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
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.
26 changes: 26 additions & 0 deletions Resources/Textures/Floof/Clothing/Hands/coderarms.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Sprited by bribrooo (Discord), original from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-HAND",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Splurtstation (https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-NECK",
"directions": 4
}
]
}
Loading