Skip to content
This repository has been archived by the owner on Nov 1, 2024. It is now read-only.

Commit

Permalink
Smuggling edits (new-frontiers-14#2310)
Browse files Browse the repository at this point in the history
* Crates

* Syndicate Meme

* Smug fax event added to replace the notes spawn.

* Fixups

* Update lpbravo.yml

* Sign smuggling faxes, hints (with no stamp)

---------

Co-authored-by: Whatstone <[email protected]>
  • Loading branch information
dvir001 and whatston3 authored Oct 23, 2024
1 parent a1f158f commit a5bd145
Show file tree
Hide file tree
Showing 45 changed files with 240 additions and 137 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ public sealed partial class GetRandomDeadDropAction : IPreFaxAction
private IEntityManager _entityManager = default!;
private DeadDropSystem _deadDrop = default!;

const int MaxHintTimeErrorSeconds = 300;

public void Initialize()
{
_entityManager = IoCManager.Resolve<IEntityManager>();
Expand Down
3 changes: 2 additions & 1 deletion Content.Server/_NF/StationEvents/Events/RandomFaxRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ protected override void Started(EntityUid uid, RandomFaxRuleComponent component,
{
base.Started(uid, component, gameRule, args);

var numFaxes = _random.Next(component.MinFaxes, component.MaxFaxes);
var numFaxes = _random.Next(component.MinFaxes, component.MaxFaxes + 1);

List<EntityUid> stations = new();
int retries = 0;
Expand Down Expand Up @@ -118,6 +118,7 @@ protected override void Started(EntityUid uid, RandomFaxRuleComponent component,
_faxSystem.Receive(faxUid, printout, recipientAddress, faxComp);
break;
}
stations.Add(chosenStation.Value);
faxesSent++;
}
}
Expand Down
34 changes: 31 additions & 3 deletions Content.Shared/_NF/CCVar/NFCCVars.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,22 +113,50 @@ public sealed class NFCCVars
/*
* Smuggling
*/
/// <summary>
/// The maximum number of smuggling drop pods to be out at once.
/// Taking another dead drop note will cause the oldest one to be destroyed.
/// </summary>
public static readonly CVarDef<int> SmugglingMaxSimultaneousPods =
CVarDef.Create("nf14.smuggling.max_simultaneous_pods", 5, CVar.REPLICATED);
/// <summary>
/// The maximum number of dead drops (places to get smuggling notes) to place at once.
/// </summary>
public static readonly CVarDef<int> SmugglingMaxDeadDrops =
CVarDef.Create("nf14.smuggling.max_sector_dead_drops", 10, CVar.REPLICATED);
/// <summary>
/// The minimum number of FUCs to spawn for anti-smuggling work.
/// </summary>
public static readonly CVarDef<int> SmugglingMinFucPayout =
CVarDef.Create("nf14.smuggling.min_fuc_payout", 2, CVar.REPLICATED);
CVarDef.Create("nf14.smuggling.min_fuc_payout", 1, CVar.REPLICATED);
/// <summary>
/// The shortest time to wait before a dead drop spawns a new smuggling note.
/// </summary>
public static readonly CVarDef<int> DeadDropMinTimeout =
CVarDef.Create("nf14.smuggling.min_timeout", 900, CVar.REPLICATED);
/// <summary>
/// The longest time to wait before a dead drop spawns a new smuggling note.
/// </summary>
public static readonly CVarDef<int> DeadDropMaxTimeout =
CVarDef.Create("nf14.smuggling.max_timeout", 5400, CVar.REPLICATED);
/// <summary>
/// The shortest distance that a smuggling pod will spawn away from Frontier Outpost.
/// </summary>
public static readonly CVarDef<int> DeadDropMinDistance =
CVarDef.Create("nf14.smuggling.min_distance", 6500, CVar.REPLICATED);
/// <summary>
/// The longest distance that a smuggling pod will spawn away from Frontier Outpost.
/// </summary>
public static readonly CVarDef<int> DeadDropMaxDistance =
CVarDef.Create("nf14.smuggling.max_distance", 8000, CVar.REPLICATED);
/// <summary>
/// The smallest number of dead drop hints (paper clues to dead drop locations) at round start.
/// </summary>
public static readonly CVarDef<int> DeadDropMinHints =
CVarDef.Create("nf14.smuggling.min_hints", 3, CVar.REPLICATED);
CVarDef.Create("nf14.smuggling.min_hints", 0, CVar.REPLICATED); // Used with BasicDeadDropHintVariationPass
/// <summary>
/// The largest number of dead drop hints (paper clues to dead drop locations) at round start.
/// </summary>
public static readonly CVarDef<int> DeadDropMaxHints =
CVarDef.Create("nf14.smuggling.max_hints", 4, CVar.REPLICATED);
CVarDef.Create("nf14.smuggling.max_hints", 0, CVar.REPLICATED); // Used with BasicDeadDropHintVariationPass
}
1 change: 1 addition & 0 deletions Resources/Locale/en-US/_NF/smuggling/deaddrop.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ deaddrop-faxed-hint-name = suspicious fax
deaddrop-faxed-hint-content =
Not much time.
Spinward Syndicate needs help.
deaddrop-faxed-hint-signature = Syndicate Logistics
2 changes: 1 addition & 1 deletion Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- type: SurplusBundle
totalPrice: 50
- type: StaticPrice # Frontier
vendPrice: 200000 # Frontier
vendPrice: 300000 # Frontier

- type: entity
id: CrateCybersunJuggernautBundle
Expand Down
2 changes: 2 additions & 0 deletions Resources/Prototypes/_NF/Catalog/Fills/Crates/syndicate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@
components:
- type: SurplusBundle
totalPrice: 20
- type: StaticPrice
vendPrice: 120000
38 changes: 0 additions & 38 deletions Resources/Prototypes/_NF/Catalog/Fills/Crates/trade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,3 @@
parent: CrateTradeBaseSecureHigh
name: high value cargo trading crate
description: Contains high value goods made in the Frontier sector, ready to be sold on a cargo depot for higher value. MAKE SURE THE CRATE IS INTACT.

- type: entity
id: CrateTradeContrabandSecureNormalFilled
parent: CrateTradeContrabandSecureNormal

- type: entity
id: CrateTradeContrabandSecureDonkFilled
parent: CrateTradeContrabandSecureDonk

- type: entity
id: CrateTradeContrabandSecureCyberSunFilled
parent: CrateTradeContrabandSecureCyberSun

- type: entity
id: CrateTradeSecureNormalFilledContraband
parent: [CrateTradeSecureNormalFilled, BaseC3SyndicateContrabandNoValue]
description: Contains goods made in the Spinward sector, ready to be smuggled to a cargo depot for profit. MAKE SURE THE CRATE IS INTACT.
components:
- type: StaticPrice
price: 3000
- type: DisableShipyardSale
reason: shipyard-console-contraband-onboard
allowedShipyardTypes:
- Syndicate
- BlackMarket

- type: entity
id: CrateTradeSecureHighFilledContraband
parent: [CrateTradeSecureHighFilled, BaseC3SyndicateContrabandNoValue]
description: Contains exotic goods made in the Spinward sector, ready to be smuggled to a cargo depot for profit. MAKE SURE THE CRATE IS INTACT.
components:
- type: StaticPrice
price: 5000
- type: DisableShipyardSale
reason: shipyard-console-contraband-onboard
allowedShipyardTypes:
- Syndicate
- BlackMarket
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
startingInventory:
CrateSyndicateSurplusBundle: 1
emaggedInventory:
CrateSyndicateSurplusBundle: 1
CrateSyndicateLightSurplusBundle: 1
27 changes: 9 additions & 18 deletions Resources/Prototypes/_NF/Entities/Markers/Spawners/syndicate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,14 @@
state: icon
- type: RandomSpawner
prototypes:
- CrateTradeContrabandSecureCyberSunFilled
- CrateTradeContrabandSecureDonkFilled
- CrateTradeContrabandSecureNormalFilled
- CrateTradeSecureHighFilledContraband
- CrateTradeSecureNormalFilledContraband #its in here twice for balance. TODO: find a better crate to put here instead like an animal one or something.
- CrateTradeSecureNormalFilledContraband
- CrateTradeContrabandSecure5
- CrateTradeContrabandSecure4
- CrateTradeContrabandSecure3
- CrateTradeContrabandSecure2
- CrateTradeContrabandSecure1
- CrateTradeContrabandSecure1
- LandMineExplosive
- BannerSyndicate
rarePrototypes:
- CrateSyndicateSurplusBundle
- CrateSyndicateLightSurplusBundle
rareChance: 0.01

- type: entity
name: Contraband Crate Spawner
Expand All @@ -37,9 +33,9 @@
state: icon
- type: RandomSpawner
prototypes:
- CrateTradeContrabandSecureCyberSunFilled
- CrateTradeContrabandSecureDonkFilled
- CrateTradeContrabandSecureNormalFilled
- CrateTradeContrabandSecure5
- CrateTradeContrabandSecure4
- CrateTradeContrabandSecure3
rarePrototypes:
- CrateSyndicateSurplusBundle
- CrateSyndicateSurplusBundle
Expand All @@ -60,15 +56,11 @@
state: pinpointer-syndicate
- type: RandomSpawner
prototypes:
- ToolboxSyndicateFilled
- ToolboxSyndicate
- ClothingEyesGlassesHiddenSecurity
- ClothingBackpackDuffelSyndicateEVABundle
- ClothingBackpackSyndicate
- ClothingMaskGasSyndicate
- SyndieHandyFlag
- SyndicatePersonalAI
- RubberStampSyndicate
- ClothingBeltSyndieHolster
- ClothingEyesHudSyndicate
- ClothingBackpackDuffelSyndicatePyjamaBundle
Expand All @@ -79,7 +71,6 @@
- ToyFigurineNukieElite
- ToyNuke
- PlushieNuke
chance: 0.9
rarePrototypes:
- PinpointerSyndicatePOI
rareChance: 0.1
Expand Down
9 changes: 8 additions & 1 deletion Resources/Prototypes/_NF/Entities/Objects/Misc/paper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,17 @@
components:
- type: DeadDropHint
- type: Paper
content: deaddrop-faxed-hint-content
content: deaddrop-faxed-hint-content # Default contents, will be edited.
stampedBy:
- stampedName: deaddrop-faxed-hint-signature
stampedColor: "#850000"
stampState: null

- type: entity
id: PaperDeadDropFax
parent: PaperDeadDropHint
name: suspicious fax
description: A sheet with blurry, crooked text on it. Seems to have been copied in a hurry.
components:
- type: Paper
stampState: paper_stamp-syndicate
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
ejectDelay: 3
ejectRandomMax: 0
ejectRandomCounter: 0
initialStockQuality: 0.5
# initialStockQuality: 0.5
- type: Advertise
pack: SyndieDrobeAds
- type: Sprite
Expand Down
105 changes: 44 additions & 61 deletions Resources/Prototypes/_NF/Entities/Structures/Storage/Crates/crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,11 @@
parent:
- CrateTradeBaseSecure
- BaseC3SyndicateContraband
id: CrateTradeContrabandSecureNormal
id: CrateTradeBaseSecureContraband
name: Syndicate contraband crate
categories: [ HideSpawnMenu ]
description: Contains goods made in the Spinward sector, ready to be smuggled to a cargo depot for profit. MAKE SURE THE CRATE IS INTACT.
abstract: true
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/contraband_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/contraband_crate.rsi
- type: EntityStorage
deleteContentsOnDestruction: true
- type: Fixtures
Expand All @@ -98,13 +95,11 @@
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.29"
density: 150 # Heavy
density: 400 # Very heavy
mask:
- SmallMobMask
layer:
- MachineLayer
- type: StaticPrice
price: 7500
- type: Contraband
turnInValues:
FrontierUplinkCoin: 3
Expand All @@ -116,78 +111,66 @@
- BlackMarket

- type: entity
parent:
- CrateTradeBaseSecure
- BaseC3SyndicateContraband
id: CrateTradeContrabandSecureDonk
parent: CrateTradeBaseSecureContraband
id: CrateTradeContrabandSecure1
categories: [ HideSpawnMenu ]
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/contraband1_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/contraband1_crate.rsi
- type: StaticPrice
price: 3000

- type: entity
parent: CrateTradeBaseSecureContraband
id: CrateTradeContrabandSecure2
categories: [ HideSpawnMenu ]
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/contraband2_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/contraband2_crate.rsi
- type: StaticPrice
price: 5000

- type: entity
parent: CrateTradeBaseSecureContraband
id: CrateTradeContrabandSecure3
categories: [ HideSpawnMenu ]
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/contraband3_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/contraband3_crate.rsi
- type: StaticPrice
price: 7500

- type: entity
parent: CrateTradeBaseSecureContraband
id: CrateTradeContrabandSecure4
name: Donk Co. contraband crate
categories: [ HideSpawnMenu ]
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/donkco_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/donkco_crate.rsi
- type: EntityStorage
deleteContentsOnDestruction: true
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.29"
density: 400 # Very heavy
mask:
- SmallMobMask
layer:
- MachineLayer
- type: StaticPrice
price: 15000
- type: Contraband
turnInValues:
FrontierUplinkCoin: 3
Doubloon: 2
- type: DisableShipyardSale
reason: shipyard-console-contraband-onboard
allowedShipyardTypes:
- Syndicate
- BlackMarket

- type: entity
parent:
- CrateTradeBaseSecure
- BaseC3SyndicateContraband
id: CrateTradeContrabandSecureCyberSun
parent: CrateTradeBaseSecureContraband
id: CrateTradeContrabandSecure5
name: Cybersun Industries contraband crate
categories: [ HideSpawnMenu ]
components:
- type: Icon
sprite: _NF/Structures/Storage/Crates/cybersun_crate.rsi
- type: Sprite
sprite: _NF/Structures/Storage/Crates/cybersun_crate.rsi
- type: EntityStorage
deleteContentsOnDestruction: true
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.29"
density: 400 # Very heavy
mask:
- SmallMobMask
layer:
- MachineLayer
- type: StaticPrice
price: 15000
- type: Contraband
turnInValues:
FrontierUplinkCoin: 3
Doubloon: 2
- type: DisableShipyardSale
reason: shipyard-console-contraband-onboard
allowedShipyardTypes:
- Syndicate
- BlackMarket

- type: entity
parent: CrateSecgear
Expand Down
Loading

0 comments on commit a5bd145

Please sign in to comment.