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

Balance: Cargo prices, GMM, Laser SMGs, Holy watermelons #931

Merged
merged 25 commits into from
Jan 22, 2025
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
878799e
Small balance changes
AloeNeverDie Dec 29, 2024
72a4faf
review changes
AloeNeverDie Dec 29, 2024
b801199
comments and carbine nerf
AloeNeverDie Dec 29, 2024
14a7e78
New speed nerf
AloeNeverDie Dec 29, 2024
8986e3b
New price for pony
AloeNeverDie Dec 29, 2024
93a8e4c
fix tab spaces
AloeNeverDie Dec 29, 2024
a14ead7
Rubber now cost 150
AloeNeverDie Dec 30, 2024
1415df0
Anomaly cores now cost 2.5x more
AloeNeverDie Jan 11, 2025
8bfff05
stock market nerf
AloeNeverDie Jan 11, 2025
e981c6a
Correction after review
AloeNeverDie Jan 14, 2025
9655e0b
Merge branch 'master' into price_correction
AloeNeverDie Jan 15, 2025
e0989df
Merge branch 'master' into price_correction
AloeNeverDie Jan 15, 2025
2666ef0
Merge branch 'master' into price_correction
AloeNeverDie Jan 17, 2025
1dc32f8
GMM no longer sells materials
AloeNeverDie Jan 17, 2025
c84967e
Cargo wars 5: The Empire Strikes Back
AloeNeverDie Jan 18, 2025
3d0b0c0
melon hotfix
AloeNeverDie Jan 18, 2025
9863f48
deliver items gain no more gold to cargo
AloeNeverDie Jan 19, 2025
c0cdcdb
Merge branch 'master' into price_correction
AloeNeverDie Jan 19, 2025
611e8d5
Удаляет лишнюю строчку
AloeNeverDie Jan 19, 2025
fe047b6
Cargo now again recive money from department orders
AloeNeverDie Jan 19, 2025
030016b
Удаляет то, что не должно было попасть, меняет цены, ап лазерного кар…
AloeNeverDie Jan 21, 2025
b9e1678
Merge branch 'master' into price_correction
dj-34 Jan 21, 2025
42696c0
Apply suggestions from code review
dj-34 Jan 21, 2025
9268298
Only one charge of holymelon if potency more than 95
AloeNeverDie Jan 22, 2025
641b448
Merge branch 'master' into price_correction
Gaxeer Jan 22, 2025
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
2 changes: 1 addition & 1 deletion code/__DEFINES/cargo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@
//At 320 it's 475 credits, at 1400 it's 669 credits, at 3000 (around gun crates) its 778, at 8000 (hat crate) it's 925 credits, at 9000 (expensive atmos cans) it's 943 credits, and at the 20k crate it's 1070 credits.

/// Multiplies the logarithmic value calculating the free crate delivery reward
#define DEPARTMENTAL_ORDER_REWARD_COEFFICIENT 120
#define DEPARTMENTAL_ORDER_REWARD_COEFFICIENT 40 // BANDASTATION EDIT - Original: 120
/// Used for the power of the logarithmic value for the free crate delivery reward
#define DEPARTMENTAL_ORDER_REWARD_EXPONENT 1.5
10 changes: 5 additions & 5 deletions code/controllers/subsystem/stock_market.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

SUBSYSTEM_DEF(stock_market)
name = "Stock Market"
wait = 60 SECONDS
wait = 180 SECONDS // BANDASTATION EDIT - Original: 60 SECONDS
init_order = INIT_ORDER_DEFAULT
runlevels = RUNLEVEL_GAME

Expand Down Expand Up @@ -48,10 +48,10 @@ SUBSYSTEM_DEF(stock_market)
var/new_price = materials_prices[mat.type] + delta

//get the limits
var/price_minimum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 0.5)
var/price_minimum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 0.8) // BANDASTATION EDIT - Original: * 0.5)
if(!isnull(mat.minimum_value_override))
price_minimum = round(mat.minimum_value_override * SHEET_MATERIAL_AMOUNT)
var/price_maximum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 3)
var/price_maximum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 2) // BANDASTATION EDIT - Original: * 3)

//clamp it down
new_price = round(clamp(new_price, price_minimum, price_maximum))
Expand Down Expand Up @@ -81,10 +81,10 @@ SUBSYSTEM_DEF(stock_market)
var/trend_life = materials_trend_life[mat]

var/price_units = materials_prices[mat]
var/price_minimum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 0.5)
var/price_minimum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 0.8) // BANDASTATION EDIT - Original: * 0.5)
if(!isnull(mat.minimum_value_override))
price_minimum = round(mat.minimum_value_override * SHEET_MATERIAL_AMOUNT)
var/price_maximum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 3)
var/price_maximum = round(mat.value_per_unit * SHEET_MATERIAL_AMOUNT * 2) // BANDASTATION EDIT - Original: * 3)
var/price_baseline = mat.value_per_unit * SHEET_MATERIAL_AMOUNT
var/quantity_baseline = mat.tradable_base_quantity

Expand Down
1 change: 0 additions & 1 deletion code/datums/elements/deliver_first.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@
if(area_check(target))
//noice, delivered!
var/datum/bank_account/cargo_account = SSeconomy.get_dep_account(ACCOUNT_CAR)

cargo_account.adjust_money(DEPARTMENTAL_ORDER_REWARD_COEFFICIENT * (log(10, payment) ** DEPARTMENTAL_ORDER_REWARD_EXPONENT))
remove_lock(target)

Expand Down
2 changes: 1 addition & 1 deletion code/modules/hydroponics/unique_plant_genes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
if(!.)
return
var/obj/item/seeds/our_seed = our_plant.get_plant_seed()
shield_uses = round(our_seed.potency / 20)
shield_uses = round(our_seed.potency / 95) // BANDASTATION EDIT - Original: / 20)
//deliver us from evil o melon god
our_plant.AddComponent(/datum/component/anti_magic, \
antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY, \
Expand Down
9 changes: 8 additions & 1 deletion modular_bandastation/balance/_balance.dme
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,19 @@
#include "code/~defines.dm"

#include "code/bodyparts/head.dm"
#include "code/cargo/exports/materials.dm"
#include "code/cargo/packs/goodies.dm"
#include "code/cargo/packs/livestock.dm"
#include "code/cargo/packs/science.dm"
#include "code/cargo/packs/security.dm"
#include "code/crew_manifest.dm"
#include "code/dynamic.dm"
#include "code/events.dm"
#include "code/laser.dm"
#include "code/materials_market.dm"
#include "code/religion.dm"
#include "code/speed/base_speed.dm"
#include "code/speed/movespeed_modifier.dm"
#include "code/religion.dm"
#include "code/station_traits.dm"
#include "code/supply_packs.dm"
#include "code/wounds/cranial_fissure.dm"
Expand Down
40 changes: 40 additions & 0 deletions modular_bandastation/balance/code/cargo/exports/materials.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// MARK: EXPORT MATERIAL PRICES
/datum/export/material/plasma
cost = CARGO_CRATE_VALUE * 0.1

/datum/export/material/bananium
cost = CARGO_CRATE_VALUE * 0.5

/datum/export/material/adamantine //For whatever reason, adamantine doesn't truly exist in export list
dj-34 marked this conversation as resolved.
Show resolved Hide resolved
cost = CARGO_CRATE_VALUE * 0.7
material_id = /datum/material/adamantine
message = "cm3 of adamantine"

/datum/export/material/mythril
cost = CARGO_CRATE_VALUE * 0.75

/datum/export/material/plastic
cost = CARGO_CRATE_VALUE * 0.0125

/datum/export/material/runite
cost = CARGO_CRATE_VALUE * 0.3

/datum/export/material/diamond
cost = CARGO_CRATE_VALUE * 0.7
material_id = /datum/material/diamond // For whatever reason, in original there is adamantine instead of diamond
message = "cm3 of diamond"

/datum/export/material/uranium
cost = CARGO_CRATE_VALUE * 0.4

/datum/export/material/gold
cost = CARGO_CRATE_VALUE * 0.5

/datum/export/material/silver
cost = CARGO_CRATE_VALUE * 0.2

/datum/export/material/titanium
cost = CARGO_CRATE_VALUE * 0.5

/datum/export/material/bscrystal
cost = CARGO_CRATE_VALUE * 0.7
31 changes: 31 additions & 0 deletions modular_bandastation/balance/code/cargo/packs/goodies.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// MARK: GUNS
/datum/supply_pack/goody/mars_single
cost = PAYCHECK_CREW * 60 // Original price: 2000 New price: 3000

/datum/supply_pack/goody/ballistic_single
cost = PAYCHECK_COMMAND * 22.5 // Original price: 1500 New price: 2250

/datum/supply_pack/goody/energy_single
cost = PAYCHECK_COMMAND * 18 // Original price: 1200 New price: 1800

/datum/supply_pack/goody/laser_single
cost = PAYCHECK_COMMAND * 9 // Original price: 600 New price: 900

/datum/supply_pack/goody/double_barrel
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
cost = PAYCHECK_COMMAND * 27 // Original price: 1800 New price: 2700

// MARK: AMMO
/datum/supply_pack/goody/dumdum38
cost = PAYCHECK_CREW * 4 // Original price: 100 New price: 200

/datum/supply_pack/goody/match38
cost = PAYCHECK_CREW * 4 // Original price: 100 New price: 200

/datum/supply_pack/goody/rubber
cost = PAYCHECK_CREW * 3 // Original price: 75 New price: 150

/datum/supply_pack/goody/dumdum38br
cost = PAYCHECK_CREW * 4 // Original price: 100 New price: 200

/datum/supply_pack/goody/match38br
cost = PAYCHECK_CREW * 4 // Original price: 100 New price: 200
3 changes: 3 additions & 0 deletions modular_bandastation/balance/code/cargo/packs/livestock.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// MARK: LIVESTOCK
/datum/supply_pack/critter/pony // Fun not allowed or has to be too expensive
cost = 9000 // Original price: 800 New price: 9000
27 changes: 27 additions & 0 deletions modular_bandastation/balance/code/cargo/packs/science.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// MARK: SCIENCE
/datum/supply_pack/science/raw_flux_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_hallucination_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_grav_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_vortex_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_ectoplasm_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_bluespace_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_pyro_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_bioscrambler_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000

/datum/supply_pack/science/raw_dimensional_anomaly
cost = CARGO_CRATE_VALUE * 25 // Original price: 2000 New price: 5000
25 changes: 25 additions & 0 deletions modular_bandastation/balance/code/cargo/packs/security.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// MARK: WEAPONS
/datum/supply_pack/security/laser
cost = CARGO_CRATE_VALUE * 6 // Original price: 800 New price: 1200

/datum/supply_pack/security/armory/ballistic
cost = CARGO_CRATE_VALUE * 26 // Original price: 3500 New price: 5200

/datum/supply_pack/security/armory/energy
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
cost = CARGO_CRATE_VALUE * 27 // Original price: 3600 New price: 5400

/datum/supply_pack/security/armory/laser_carbine
cost = CARGO_CRATE_VALUE * 13.5 // Original price: 1800 New price: 2700

/datum/supply_pack/security/armory/disabler_smg
cost = CARGO_CRATE_VALUE * 11 // Original price: 1400 New price: 2200

/datum/supply_pack/security/armory/battle_rifle
cost = CARGO_CRATE_VALUE * 60 // Original price: 20000 New price: 12000

// MARK: AMMO
/datum/supply_pack/security/ammo
cost = CARGO_CRATE_VALUE * 12 // Original price: 1600 New price: 2400

/datum/supply_pack/security/armory/br_mag
cost = CARGO_CRATE_VALUE * 10.5 // Original price: 1400 New price: 2100
11 changes: 11 additions & 0 deletions modular_bandastation/balance/code/laser.dm
Copy link
Collaborator

@dj-34 dj-34 Jan 14, 2025

Choose a reason for hiding this comment

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

Возможно тоже самое стоит проделать и с /obj/item/gun/energy/disabler/smg. Не уверен.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// MARK: carbine changes
dj-34 marked this conversation as resolved.
Show resolved Hide resolved
/obj/item/ammo_casing/energy/lasergun/carbine
e_cost = LASER_SHOTS(30, STANDARD_CELL_CHARGE) // Original: LASER_SHOTS(40, STANDARD_CELL_CHARGE)

/obj/projectile/beam/laser/carbine/Initialize(mapload)
. = ..()
speed = speed * 0.7 // Original: 1.25

/obj/item/gun/energy/laser/carbine/Initialize(mapload)
. = ..()
AddComponent(/datum/component/automatic_fire, 0.2 SECONDS, allow_akimbo = FALSE) // Original: automatic_fire, 0.15 SECONDS
13 changes: 13 additions & 0 deletions modular_bandastation/balance/code/materials_market.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// MARK: Override mateials market desc and opportunity to sell minerals

/obj/machinery/materials_market
desc = "Данная машина позволяет пользователю покупать различные полезные материалы \
по всей системе. Ещё недавно она предоставляла возможность не только покупать, но и продавать материалы. Однако после обвала рынка минералов в 2565 году механизм продажи был удалён. \
Известно, что цены колеблются довольно часто, как правило в течение нескольких минут. Все сделки являются окончательными."

/obj/machinery/materials_market/attackby(obj/item/attacking_item, mob/user, params)
if(is_type_in_list(attacking_item, exportable_material_items))
say("Продажа материалов через Галактический рынок материалов невозможна из-за Красного экономического закона №0931, введённого Отделом экономического роста и развития НТ. Пожалуйста, экспортируйте материалы с использованием стандартных транспортно-грузовых отношений в соответствии с рабочими процедурами НТ.")
playsound(src, 'sound/machines/scanner/scanbuzz.ogg', 25, FALSE)
return TRUE
return ..()
Loading