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

Trading & Contraband Crate Destinations #2602

Open
wants to merge 35 commits into
base: master
Choose a base branch
from

Conversation

whatston3
Copy link
Contributor

@whatston3 whatston3 commented Dec 23, 2024

About the PR

Adds destinations to cargo and contraband crates. Higher value contraband crates (tiers 2-5 at the time of writing) have a time limit on them, and high value cargo crates also have a time limit on them.

Payout is larger at the destination, reduced everywhere else. For priority crates, prompt delivery, likewise, results in larger payouts, and late delivery results in reduced payouts.

Stations can be registered as trade crate destinations to be selected from in the trade crate selection.

Currently, only the cargo depots are rigged up as trade crate destinations, but any station can be, but logically they should have cargo sale pallets. This is not checked for, and may be subject to user error.

This probably needs a solid set of revisions, but it seems functional in my (admittedly limited) testing.

TODO:

  • Print out the name of the station it is expected to be delivered to on examine.
  • Revise pay, penalty, and timeouts.
  • Rename "high value" to "express" or "priority" crates.

Why / Balance

Cargo hauling is just about the dullest thing in the game. This improves it marginally. This also should make smuggling more involved, as to get an optimal payout, you may need to visit multiple places to offload your goods.

There is now actually a reason to purchase regular cargo crates - they have no time limit.

How to test

Buy or spawn some crates. The crates should be labelled in the bottom right (similar to envelopes) with priority crates having a moving black and yellow band. When timed out (currently 10 minutes for high value trading crates), this switches to a darker yellow, still variant.

Media

Look at all those crates. The yellow and black bands are animated.
image

Requirements

Breaking changes

Changelog

🆑

  • add: Trading and contraband crates now have destinations. Sell them at their destination to make more money.
  • tweak: Contraband trading crates now match the legal regular/high value crate colors.

Copy link
Contributor

github-actions bot commented Dec 23, 2024

RSI Diff Bot; head commit 675d933 merging into e84aa8a
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/_NF/Structures/Storage/Crates/contraband1_crate.rsi

State Old New Status
base Modified
closed Modified
icon Modified
open Modified

Resources/Textures/_NF/Structures/Storage/Crates/contraband2_crate.rsi

State Old New Status
base Modified
closed Modified
icon Modified
open Modified

Resources/Textures/_NF/Interface/Misc/cargo_destination_icons.rsi

State Old New Status
anomalous Added
beacon Added
cargo_a Added
cargo_b Added
cargo_c Added
cargo_d Added
cargo_e Added
cargo_f Added
cargo_g Added
cargo_h Added
cargo_i Added
cargo_j Added
cargo_k Added
cargo_l Added
cargo_m Added
cargo_n Added
cargo_o Added
cargo_other Added
cargo_p Added
cargo_priority_active Added
cargo_priority_inactive Added
cargo_q Added
cargo_r Added
cargo_s Added
cargo_t Added
cargo_u Added
cargo_v Added
cargo_w Added
cargo_x Added
cargo_y Added
cargo_z Added
caseys Added
courthouse Added
edison Added
frontier Added
lodge Added
mchobo Added
medical_poi Added
prison Added
tinnias Added
trade Added

Edit: diff updated after 675d933

@Houtblokje
Copy link
Contributor

Houtblokje commented Dec 23, 2024

I like this idea, but I am not sure about the priority crates + crate destinations being random. I can see a few un-fun scenarios because of the priority crates:

  1. You get two priority crates for opposite directions, meaning you have to rush across the map and probably lose money on one of them.
  2. You get stopped by NFSD or distracted by <insert roleplay scenario here>. Your crates expired because you dared to interact with other people in a roleplaying game.
  3. You run out of fuel and your crates expire. Arguably the least bad scenario out of the three because it would be 100% your own fault, but it could feel punishing to some.

@whatston3
Copy link
Contributor Author

I like this idea, but I am not sure about the priority crates + crate destinations being random. I can see a few un-fun scenarios because of the priority crates:

  1. You get two priority crates for opposite directions, meaning you have to rush across the map and probably lose money on one of them.
  2. You get stopped by NFSD or distracted by . Your crates expired because you dared to interact with other people in a roleplaying game.
  3. You run out of fuel and your crates expire. Arguably the least bad scenario out of the three because it would be 100% your own fault, but it could feel punishing to some.

If you want to make a system where you take shipments that are N crates of X to a known destination, great. This is a minimum viable product to make cargo hauling as-is less braindead - build on top of it, but that's out of scope for now.

The priority crates are there as a challenge. Stick to your regular trade crates if you don't want them. Risk management and decision-making are essential to trader gameplay.

At the very, very least, now you have to think about organizing your cargo bay instead of just ramming everything in the back.

@github-actions github-actions bot added the FTL label Dec 24, 2024
@whatston3
Copy link
Contributor Author

Examine text added, high value crates are now explicitly "express" crates. Also, mildly better looking B, and crates have paper sprites (though they also currently won't appear open, locked or welded).

image

@github-actions github-actions bot added the Map-Shuttle Map - Shuttle label Dec 24, 2024
@github-actions github-actions bot added Docs Improvements or additions to documentation Merge Conflict This PR has conflicts that prevent merging labels Dec 24, 2024
@github-actions github-actions bot removed the Merge Conflict This PR has conflicts that prevent merging label Dec 24, 2024
Copy link
Contributor

@MilonPL MilonPL left a comment

Choose a reason for hiding this comment

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

i had a fucking aneurysm from looking at this code

Content.Client/_NF/Trade/TradeCrateVisualizerSystem.cs Outdated Show resolved Hide resolved
Content.Client/_NF/Trade/TradeCrateVisualizerSystem.cs Outdated Show resolved Hide resolved
Content.Server/_NF/Trade/TradeCrateComponent.cs Outdated Show resolved Hide resolved
Content.Server/_NF/Trade/TradeCrateDestinationComponent.cs Outdated Show resolved Hide resolved
Content.Shared/_NF/Trade/TradeCrateDestinationPrototype.cs Outdated Show resolved Hide resolved
Content.Shared/_NF/Trade/TradeCrateDestinationPrototype.cs Outdated Show resolved Hide resolved
@whatston3
Copy link
Contributor Author

whatston3 commented Dec 26, 2024

i had a fucking aneurysm from looking at this code

Issues should be addressed. Haven't really had a chance to test them, will do when I can.

edit: I forgot - milon mean repo ban he

@MilonPL
Copy link
Contributor

MilonPL commented Dec 26, 2024

milon mean repo ban he

skill issue

@dvir001
Copy link
Contributor

dvir001 commented Dec 26, 2024

milon mean repo ban he

skill issue

Fix PDA chat app lag issues first mean milon.

@MilonPL
Copy link
Contributor

MilonPL commented Dec 26, 2024

it works fine on my machine, get a better server

@arimah
Copy link
Contributor

arimah commented Dec 26, 2024

i had a fucking aneurysm from looking at this code
skill issue

Keep a civil tone, @MilonPL.

Copy link
Contributor

@MilonPL MilonPL left a comment

Choose a reason for hiding this comment

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

minor nitpicks, looks good otherwise

Content.Shared/_NF/Trade/TradeCrateComponent.cs Outdated Show resolved Hide resolved
Content.Shared/_NF/Trade/TradeCrateComponent.cs Outdated Show resolved Hide resolved
Content.Shared/_NF/Trade/TradeCrateVisuals.cs Show resolved Hide resolved
@github-actions github-actions bot added the Merge Conflict This PR has conflicts that prevent merging label Dec 27, 2024
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the Merge Conflict This PR has conflicts that prevent merging label Dec 27, 2024
@github-actions github-actions bot added the Merge Conflict This PR has conflicts that prevent merging label Dec 27, 2024
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the Merge Conflict This PR has conflicts that prevent merging label Dec 27, 2024
TODO: move cargo hauling out into some cargo, mining & salvage section
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C# Docs Improvements or additions to documentation FTL Map-Shuttle Map - Shuttle Sprites YML
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants