Pacman small rework - less power, more consumption - no more super (#66386)

* Pacman power generation rebalance
This commit is contained in:
Ghilker
2022-05-05 17:12:59 +02:00
committed by GitHub
parent ecc05fe34d
commit a9d14e0086
6 changed files with 200 additions and 73 deletions
+97 -15
View File
@@ -144,6 +144,15 @@
/obj/effect/decal/cleanable/generic,
/turf/open/floor/iron/grimy,
/area/maintenance/port/fore)
"abb" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron{
heat_capacity = 1e+006
},
/area/maintenance/port/aft)
"abf" = (
/turf/closed/wall,
/area/hallway/secondary/entry)
@@ -9415,6 +9424,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/starboard)
"clw" = (
@@ -9697,6 +9707,7 @@
"coK" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/starboard)
"coN" = (
@@ -10932,6 +10943,13 @@
icon_state = "chapel"
},
/area/service/chapel)
"cDB" = (
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 4
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/port/greater)
"cDN" = (
/obj/machinery/disposal/bin,
/obj/machinery/light/directional/south,
@@ -29233,6 +29251,12 @@
},
/turf/open/floor/iron,
/area/maintenance/port/greater)
"gpE" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/aft)
"gpI" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -35139,6 +35163,10 @@
},
/turf/open/floor/iron/white,
/area/command/heads_quarters/cmo)
"hYg" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"hYu" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -38642,6 +38670,11 @@
},
/turf/open/floor/iron,
/area/security/checkpoint/customs/aft)
"iZp" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"iZx" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Circuits Lab Maintenance";
@@ -40226,6 +40259,14 @@
},
/turf/open/floor/iron,
/area/engineering/atmos/project)
"jxz" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/starboard/aft)
"jxD" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -45086,6 +45127,7 @@
dir = 1
},
/obj/structure/sign/poster/random/directional/south,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"kXB" = (
@@ -52920,6 +52962,11 @@
},
/turf/open/floor/iron,
/area/hallway/secondary/entry)
"nmF" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"nmL" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/dark,
@@ -53914,6 +53961,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/science/mixing/launch)
"nCT" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/greater)
"nCU" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -59379,6 +59431,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/security/medical)
"phH" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 1
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/port/greater)
"phL" = (
/obj/effect/turf_decal/tile/neutral/fourcorners,
/obj/effect/turf_decal/siding/brown/corner,
@@ -62331,6 +62391,10 @@
/obj/item/radio/intercom/directional/north,
/turf/open/floor/wood,
/area/hallway/secondary/service)
"pYS" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/greater)
"pYW" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table/reinforced,
@@ -70227,6 +70291,11 @@
},
/turf/open/floor/iron/dark/smooth_half,
/area/engineering/gravity_generator)
"sqf" = (
/obj/structure/cable,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/fore)
"sqs" = (
/obj/structure/cable,
/obj/effect/landmark/start/hangover,
@@ -70240,6 +70309,14 @@
},
/turf/open/floor/iron,
/area/commons/vacant_room)
"squ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/neutral/half/contrasted{
dir = 8
},
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/starboard/aft)
"sqw" = (
/obj/machinery/door/airlock/public/glass{
name = "Holodeck Access"
@@ -81280,6 +81357,7 @@
pixel_x = 32
},
/obj/structure/window/reinforced/plasma/spawner,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/iron,
/area/maintenance/port/lesser)
"vEY" = (
@@ -86625,6 +86703,10 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/security/detectives_office)
"xox" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/department/crew_quarters/bar)
"xoA" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -116841,7 +116923,7 @@ mJi
lax
fOD
laF
dTM
nCT
bzr
rMT
rHo
@@ -117094,7 +117176,7 @@ aOr
spo
rMk
bzr
nQr
phH
lax
gCK
gCK
@@ -119631,8 +119713,8 @@ uxO
fOD
eKZ
edy
syw
edy
pYS
cDB
nua
syw
biP
@@ -121743,7 +121825,7 @@ nAL
oEs
yfh
oBJ
dLW
iZp
vsc
nKI
dOR
@@ -122271,7 +122353,7 @@ dUY
dQE
dWJ
dLW
dYu
hYg
dZg
dYu
dYu
@@ -125605,7 +125687,7 @@ qml
mIL
dOM
rWh
dYu
hYg
dOM
vQA
paX
@@ -127653,7 +127735,7 @@ dGc
dHz
dIQ
dLY
dKO
abb
wnM
dOM
iZo
@@ -128335,7 +128417,7 @@ ufL
qiX
uQn
ewz
xIc
xox
wQj
iMI
ePt
@@ -129612,7 +129694,7 @@ sGR
hDa
rVb
mYZ
xIc
xox
ewz
gAd
aTu
@@ -132279,7 +132361,7 @@ mBu
lWg
dEc
dNS
wXc
gpE
hjT
dNS
aaa
@@ -132923,7 +133005,7 @@ aeF
aeF
aeF
vLs
wlV
sqf
pEs
sfM
vcx
@@ -138440,7 +138522,7 @@ kaO
sdT
cHU
dBt
cHW
nmF
dEh
cIW
dyv
@@ -142286,7 +142368,7 @@ lnB
cHW
cIX
rBJ
dbD
squ
cNH
lnB
due
@@ -142532,7 +142614,7 @@ lAD
lvv
eIy
cHU
dLp
jxz
nzv
ueh
nsS
+69 -16
View File
@@ -3186,6 +3186,7 @@
/area/security/courtroom)
"aLZ" = (
/obj/effect/landmark/blobstart,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
@@ -7278,6 +7279,10 @@
/obj/effect/turf_decal/tile/purple/half/contrasted,
/turf/open/floor/iron/white,
/area/science/lobby)
"bPf" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"bPh" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -16583,6 +16588,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/security/prison)
"eKf" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/aft/greater)
"eKh" = (
/obj/structure/reagent_dispensers/plumbed,
/turf/open/floor/plating,
@@ -17398,6 +17407,10 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/wood,
/area/service/lawoffice)
"eZr" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/aft/lesser)
"eZU" = (
/turf/closed/wall/r_wall,
/area/security/courtroom)
@@ -19143,6 +19156,7 @@
/area/medical/chemistry)
"fJH" = (
/obj/machinery/light/small/broken/directional/north,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/aft/lesser)
"fJL" = (
@@ -25173,6 +25187,10 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/white,
/area/medical/abandoned)
"hYI" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"hYT" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/components/binary/pump{
@@ -31777,6 +31795,10 @@
/obj/machinery/syndicatebomb/training,
/turf/open/floor/iron,
/area/security/office)
"kzo" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port)
"kzp" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/neutral,
@@ -33884,6 +33906,12 @@
/obj/structure/table/reinforced,
/turf/open/floor/iron/dark,
/area/medical/storage)
"lnf" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
/area/maintenance/fore)
"lnt" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -39803,6 +39831,7 @@
/area/engineering/main)
"njd" = (
/obj/machinery/light/small/directional/west,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/lesser)
"njk" = (
@@ -42565,6 +42594,12 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/ai_monitored/turret_protected/aisat/foyer)
"omP" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
/area/maintenance/fore)
"omY" = (
/obj/machinery/light_switch/directional/south,
/obj/structure/table/wood,
@@ -43455,7 +43490,7 @@
/turf/open/floor/iron,
/area/service/bar)
"oEb" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/greater)
"oEh" = (
@@ -52513,6 +52548,10 @@
},
/turf/open/floor/iron,
/area/security/checkpoint/customs)
"saV" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"sbk" = (
/obj/machinery/light/small/directional/north,
/turf/open/floor/iron/dark/telecomms,
@@ -58260,6 +58299,10 @@
},
/turf/open/floor/iron,
/area/hallway/primary/port)
"upU" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"upY" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/east,
@@ -60845,6 +60888,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/security/lockers)
"vrY" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
/area/maintenance/starboard/fore)
"vrZ" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -67928,6 +67977,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood,
/area/security/office)
"xYX" = (
/obj/machinery/power/port_gen/pacman/pre_loaded,
/turf/open/floor/plating,
/area/maintenance/starboard/lesser)
"xZf" = (
/obj/structure/table/reinforced,
/obj/effect/turf_decal/tile/blue/half/contrasted{
@@ -84533,7 +84586,7 @@ bqR
dSM
cGq
alK
aob
kzo
rDS
iuy
paD
@@ -84552,7 +84605,7 @@ qUR
mmb
gLu
lvY
bXE
hYI
oAe
cCk
dux
@@ -87138,7 +87191,7 @@ sYH
sSE
txp
qiL
far
eKf
gZp
msm
gZp
@@ -87308,7 +87361,7 @@ xZo
oaE
qtK
xZo
aRG
saV
rQt
bOJ
xZo
@@ -88153,7 +88206,7 @@ pdp
dXY
rRs
dux
bXE
hYI
nXg
uOc
dPt
@@ -88341,7 +88394,7 @@ dne
vlm
aRG
drQ
aRG
saV
dnu
dne
ivz
@@ -88434,7 +88487,7 @@ moM
gZp
aSk
fqu
far
eKf
tKv
gZp
lMJ
@@ -91258,7 +91311,7 @@ hdw
phT
cqi
gZp
far
eKf
dTm
uKu
gZp
@@ -101793,7 +101846,7 @@ iht
iht
wmY
uJy
kkO
eZr
wrP
mff
kkO
@@ -102981,7 +103034,7 @@ seR
xRw
aje
ale
ahS
lnf
agq
oix
agq
@@ -103244,7 +103297,7 @@ jkw
agq
arA
aje
auc
omP
aje
bJl
agq
@@ -105112,7 +105165,7 @@ juD
hCo
hCo
pPF
rah
xYX
sLo
lpg
xPI
@@ -105381,7 +105434,7 @@ mpa
nOc
nxf
jIn
ciL
bPf
dvY
stN
bsN
@@ -108385,7 +108438,7 @@ dnh
tLb
atd
dnS
atd
vrY
dnh
lZd
ayR
@@ -109925,7 +109978,7 @@ bcO
dnS
dnS
fFV
dnS
upU
dnh
vLo
dqT
@@ -187,16 +187,22 @@
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/power/port_gen/pacman
req_components = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/stock_parts/micro_laser = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/stock_parts/capacitor = 1)
/obj/item/stack/cable_coil = 5,
/obj/item/stack/sheet/iron = 5
)
needs_anchored = FALSE
var/high_production_profile = FALSE
/obj/item/circuitboard/machine/pacman/super
name = "SUPERPACMAN-type Generator (Machine Board)"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
build_path = /obj/machinery/power/port_gen/pacman/super
/obj/item/circuitboard/machine/pacman/examine(mob/user)
. = ..()
var/message = high_production_profile ? "high production - high consumption" : "low production - low consumption"
. += span_notice("It's set to [message].")
. += span_notice("You can switch the mode by using a screwdriver on [src].")
/obj/item/circuitboard/machine/pacman/screwdriver_act(mob/living/user, obj/item/tool)
high_production_profile = !high_production_profile
var/message = high_production_profile ? "high production - high consumption" : "low production - low consumption"
to_chat(user, span_notice("You set the board for [message]"))
/obj/item/circuitboard/machine/turbine_compressor
name = "Turbine - Inlet Compressor (Machine Board)"
+20 -26
View File
@@ -81,12 +81,13 @@
/obj/machinery/power/port_gen/pacman
name = "\improper P.A.C.M.A.N.-type portable generator"
circuit = /obj/item/circuitboard/machine/pacman
power_gen = 2500
var/sheets = 0
var/max_sheets = 100
var/max_sheets = 10
var/sheet_name = ""
var/sheet_path = /obj/item/stack/sheet/mineral/plasma
var/sheet_left = 0 // How much is left of the sheet
var/time_per_sheet = 260
var/time_per_sheet = 50
var/current_heat = 0
/obj/machinery/power/port_gen/pacman/Initialize(mapload)
@@ -101,27 +102,21 @@
DropFuel()
return ..()
/obj/machinery/power/port_gen/pacman/RefreshParts()
. = ..()
var/temp_rating = 0
var/consumption_coeff = 0
for(var/obj/item/stock_parts/SP in component_parts)
if(istype(SP, /obj/item/stock_parts/matter_bin))
max_sheets = SP.rating * SP.rating * 50
else if(istype(SP, /obj/item/stock_parts/capacitor))
temp_rating += SP.rating
else
consumption_coeff += SP.rating
power_gen = round(initial(power_gen) * temp_rating * 2)
consumption = consumption_coeff
/obj/machinery/power/port_gen/pacman/on_construction()
var/obj/item/circuitboard/machine/pacman/our_board = circuit
if(our_board.high_production_profile)
icon_state = "portgen1_0"
base_icon = "portgen1"
max_sheets = 5
time_per_sheet = 20
power_gen = 15000
sheet_path = /obj/item/stack/sheet/mineral/uranium
/obj/machinery/power/port_gen/pacman/examine(mob/user)
. = ..()
. += span_notice("The generator has [sheets] units of [sheet_name] fuel left, producing [display_power(power_gen)] per cycle.")
if(anchored)
. += span_notice("It is anchored to the ground.")
if(in_range(user, src) || isobserver(user))
. += span_notice("The status display reads: Fuel efficiency increased by <b>[(consumption*100)-100]%</b>.")
/obj/machinery/power/port_gen/pacman/HasFuel()
if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)
@@ -134,7 +129,7 @@
sheets = 0
/obj/machinery/power/port_gen/pacman/UseFuel()
var/needed_sheets = 1 / (time_per_sheet * consumption / power_output)
var/needed_sheets = 1 / (time_per_sheet / power_output)
var/temp = min(needed_sheets, sheet_left)
needed_sheets -= temp
sheet_left -= temp
@@ -149,9 +144,9 @@
var/bias = 0
if (power_output > 4)
upper_limit = 400
bias = power_output - consumption * (4 - consumption)
bias = power_output - 3
if (current_heat < lower_limit)
current_heat += 4 - consumption
current_heat += 3
else
current_heat += rand(-7 + bias, 7 + bias)
if (current_heat < lower_limit)
@@ -275,13 +270,12 @@
. = TRUE
/obj/machinery/power/port_gen/pacman/super
name = "\improper S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
icon_state = "portgen1_0"
base_icon = "portgen1"
circuit = /obj/item/circuitboard/machine/pacman/super
sheet_path = /obj/item/stack/sheet/mineral/uranium
max_sheets = 5
time_per_sheet = 20
power_gen = 15000
time_per_sheet = 85
sheet_path = /obj/item/stack/sheet/mineral/uranium
/obj/machinery/power/port_gen/pacman/super/overheat()
explosion(src, devastation_range = 3, heavy_impact_range = 3, light_impact_range = 3, flash_range = -1)
/obj/machinery/power/port_gen/pacman/pre_loaded
sheets = 10
@@ -74,13 +74,6 @@
category = list("Engineering Machinery")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/board/pacman/super
name = "Machine Design (SUPERPACMAN-type Generator Board)"
desc = "The circuit board that for a SUPERPACMAN-type portable generator."
id = "superpacman"
build_path = /obj/item/circuitboard/machine/pacman/super
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/turbine_part_compressor
name = "Turbine Part - Compressor"
desc = "The basic tier of a compressor blade."
@@ -586,7 +586,6 @@
"smes",
"super_capacitor",
"super_cell",
"superpacman",
"turbine_compressor",
"turbine_rotor",
"turbine_stator",