Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
345 commits
Select commit Hold shift + click to select a range
b86d091
Automatic changelog generation [ci skip]
NebulaSS13Bot Jan 24, 2023
50baa91
Merge pull request #2914 from out-of-phaze/tweak/lazylist-ambience
MistakeNot4892 Jan 24, 2023
edff69d
Merge pull request #2916 from out-of-phaze/fix/permafrost-gen
MistakeNot4892 Jan 24, 2023
d89bbaf
Merge pull request #2918 from out-of-phaze/fix/improper-titles
MistakeNot4892 Jan 24, 2023
8cd1c72
Merge pull request #2917 from out-of-phaze/tweak/faster-destroy
MistakeNot4892 Jan 24, 2023
ae74aea
Merge pull request #2909 from out-of-phaze/fix/sector-name
MistakeNot4892 Jan 24, 2023
229ffc1
Merge pull request #2901 from out-of-phaze/fix/block-hair
MistakeNot4892 Jan 24, 2023
ce9f4fc
Merge pull request #2891 from out-of-phaze/fix/open-closet-willcontain
MistakeNot4892 Jan 24, 2023
816806c
Apply suggestions from code review
out-of-phaze Jan 24, 2023
7243000
Mark or fix leaking pipes in exoplanet ruins
out-of-phaze Jan 24, 2023
5251cdb
Unregister moved in material_processing/Destroy
out-of-phaze Jan 24, 2023
d2bb19e
Merge pull request #2920 from out-of-phaze/fix/test-await-subsystem
afterthought2 Jan 24, 2023
c293b54
Removes TEMPLATE_FLAG_TEST_DUPLICATES from the mercenary base.
MistakeNot4892 Jan 20, 2023
42d2c3e
Porting LemonInTheDark's scheduler optimizations.
MistakeNot4892 Jan 20, 2023
afffce2
Fix uneven row width in job menu
out-of-phaze Jan 23, 2023
a0ed7f2
Fix BUCKET_POS for ticklags with non-integer reciprocals
out-of-phaze Jan 24, 2023
12fedca
Fix grab interaction showing up for anchored atoms
out-of-phaze Jan 22, 2023
9c061a9
Pause subsystems during random_map auto-apply
out-of-phaze Jan 23, 2023
79be313
Fix stacked pipes on the Unishi
out-of-phaze Jan 24, 2023
d967e4e
Fix data and arguments for on_leaving_metabolism
out-of-phaze Jan 21, 2023
6a8ec33
Merge pull request #2923 from out-of-phaze/tweak/leave-metabolism-args
MistakeNot4892 Jan 24, 2023
0bf6645
Merge pull request #2911 from out-of-phaze/fix/sensors
MistakeNot4892 Jan 24, 2023
6d525ac
Merge pull request #2912 from out-of-phaze/map-fix/pipe-leaks
MistakeNot4892 Jan 24, 2023
b23e5f9
Merge branch 'stable' of https://github.com/NebulaSS13/Nebula into st…
MistakeNot4892 Jan 24, 2023
f03e83e
Automatic changelog generation [ci skip]
NebulaSS13Bot Jan 25, 2023
24dfc4b
Merge pull request #2925 from MistakeNot4892/stagingupdate
MistakeNot4892 Jan 25, 2023
41d920b
Mark variable_setter as non-spawnable
out-of-phaze Jan 25, 2023
da72b5c
Merge pull request #2895 from out-of-phaze/fix/material-processing-moved
MistakeNot4892 Jan 25, 2023
8d8852a
Merge branch 'dev' into feature/prob-varedit-helper
out-of-phaze Jan 25, 2023
a657ca3
Merge pull request #2889 from out-of-phaze/fix/explosion-act-severity
MistakeNot4892 Jan 26, 2023
39ddd22
Move submap spawnpoints with shuttles
out-of-phaze Jan 25, 2023
0f9975c
Fix candystripe styling on crew manifest
out-of-phaze Jan 25, 2023
011e4f4
VV handler for direction_offset
PsyCommando Jan 25, 2023
d014eb9
Mark leaks in expeditionary ship ruin as allowed
out-of-phaze Jan 24, 2023
077eb41
Remove isPlayerLevel check from pipe leak test
out-of-phaze Jan 24, 2023
278107e
Fix pipe leak in ninja base
out-of-phaze Jan 25, 2023
f7cc424
Fix leaking pipe in ERT base
out-of-phaze Jan 25, 2023
dd2bb93
Fix missing scrubber in established colony map
out-of-phaze Jan 25, 2023
c169a85
Merge pull request #2898 from MistakeNot4892/tgopt
MistakeNot4892 Jan 26, 2023
4fdfc83
Merge pull request #2932 from NebulaSS13/stable
MistakeNot4892 Jan 26, 2023
60e6f37
Merge pull request #2926 from NebulaSS13/staging
MistakeNot4892 Jan 27, 2023
fc66f42
Automatic changelog generation [ci skip]
NebulaSS13Bot Jan 27, 2023
b0f6a8c
Fixes the flood overlay being invisible.
MistakeNot4892 Jan 22, 2023
8fa075a
Makes casings use drop_sound instead of their own system
comma Jan 28, 2023
e3581a4
Fixes drinks and flavorpods name generation
comma Jan 28, 2023
dec900c
Automatic changelog generation [ci skip]
NebulaSS13Bot Jan 29, 2023
5a856d5
Can see scrubber mode in examine
comma Jan 29, 2023
462aea6
Merge pull request #2884 from MistakeNot4892/walls
afterthought2 Jan 29, 2023
9f94719
THIS HOT [Radiocarbon Spectrometer] will make your [CI] BUSTED
quardbreak Jan 29, 2023
fad6e65
Merge pull request #2935 from comma/dropfall
MistakeNot4892 Jan 31, 2023
ba0880f
Merge pull request #2934 from comma/fixdrink
MistakeNot4892 Jan 31, 2023
c88d536
Small fixes/code modernization
Andrew-Fall Jan 31, 2023
55dfaf4
Merge pull request #2940 from quardbreak/spectrometerispain
MistakeNot4892 Jan 31, 2023
91bfac5
Automatic changelog generation for PR #2940 [ci skip]
NebulaSS13Bot Jan 31, 2023
1c17d5b
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 1, 2023
2d5726b
Removed detrimental overlay code in typing indicator.
MistakeNot4892 Jan 29, 2023
3c29349
Merge pull request #2938 from comma/alliseeisblue
MistakeNot4892 Feb 1, 2023
70ef363
Merge pull request #2896 from out-of-phaze/feature/prob-varedit-helper
MistakeNot4892 Feb 2, 2023
1409d97
Merge pull request #2941 from Andrew-Fall/dev
MistakeNot4892 Feb 2, 2023
3faecf0
corporate content modpack: adds missing loadout and lockers include
quardbreak Feb 1, 2023
623ed59
no namename, no whitered
quardbreak Feb 1, 2023
669ea15
random loot: removes artifact from spawn chance
quardbreak Feb 2, 2023
b719400
Fixes network stock parts not getting holder machine methods
comma Feb 4, 2023
0a79f00
Porting CrimsonShrike's port of VG's holomaps to Bay.
MistakeNot4892 Oct 20, 2022
da50dfc
Merge pull request #2947 from comma/hackerman
afterthought2 Feb 5, 2023
7c48bd7
Automatic changelog generation for PR #2947 [ci skip]
NebulaSS13Bot Feb 5, 2023
76a5ce3
Fixes network stock parts not checking access on their machine
comma Feb 5, 2023
45dd2a2
Fixes state issue with cached wall icons.
MistakeNot4892 Feb 5, 2023
a24a70c
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 6, 2023
2722ddf
Makes door leak damage to components when damaged
comma Feb 5, 2023
b0f7188
Adds debug VV option to set material
comma Feb 7, 2023
f9b7b00
Fixes swords only unsetting edge and sharp
comma Feb 7, 2023
0f2e5fa
Bumps steel hardness to HARD from RIGID
comma Feb 7, 2023
63b006c
Removes extra hardness requirement on some stack recipies
comma Feb 7, 2023
f6b42ae
Modernizes PriorityQueues
Andrew-Fall Feb 6, 2023
e583a7a
Fix elevator spawning lights on each floors
PsyCommando Aug 21, 2022
2c0ff56
Added godmode checks
PsyCommando Feb 7, 2023
92ff735
Fixed vents hum being completely silent
PsyCommando Jan 24, 2023
646dc0a
Merge pull request #2880 from MistakeNot4892/holomaps
afterthought2 Feb 8, 2023
b73390d
Merge pull request #2870 from MistakeNot4892/markingsredux
afterthought2 Feb 8, 2023
e5e8dce
Merge pull request #2945 from comma/setmatter
afterthought2 Feb 8, 2023
199b1d7
Move lobby message to own proc
PsyCommando Jan 27, 2023
c0d67d7
add mapped conveyor icons
PsyCommando Sep 14, 2022
ce3c3c2
Merge pull request #2959 from PsyCommando/fix-silent-vents
MistakeNot4892 Feb 8, 2023
8cdc767
Automatic changelog generation for PR #2959 [ci skip]
NebulaSS13Bot Feb 8, 2023
ebc6851
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 9, 2023
b036791
Merge pull request #2954 from PsyCommando/fix-turbolift-lights1
MistakeNot4892 Feb 9, 2023
d74dc9b
Merge pull request #2950 from comma/bruteforce
MistakeNot4892 Feb 9, 2023
e148959
Merge pull request #2949 from comma/stophack
MistakeNot4892 Feb 9, 2023
afe720d
Automatic changelog generation for PR #2949 [ci skip]
NebulaSS13Bot Feb 9, 2023
4f5117e
Rewriting mob examine().
MistakeNot4892 Nov 25, 2022
67dc211
Some incidental code improvements from the inventory rework branch.
MistakeNot4892 Nov 25, 2022
504cb3d
Implementing requested changes to examine PR.
MistakeNot4892 Jan 11, 2023
9099f4a
Moving level lists onto a subsystem.
MistakeNot4892 Oct 26, 2022
c8a33a6
Moving exterior atmosphere onto the z-level handler.
MistakeNot4892 Oct 26, 2022
508ab64
Cleaning up the temporary sector cache, making it use level data.
MistakeNot4892 Oct 26, 2022
ca5c08b
Moving exoplanet atmosphere onto the z-level object.
MistakeNot4892 Oct 26, 2022
4d3e1d2
Updating names of player level datums on maps.
MistakeNot4892 Oct 26, 2022
3d07844
Moved exoplanet lighting onto the z-level handler.
MistakeNot4892 Oct 26, 2022
250f343
Added a unit test for zlevel data objects.
MistakeNot4892 Oct 26, 2022
968bfde
Working commit for more zlevel stuff.
MistakeNot4892 Oct 26, 2022
61296e1
Moving map generation onto level data.
MistakeNot4892 Oct 27, 2022
ba470cc
Merging SSzlevels into SSmapping.
MistakeNot4892 Oct 27, 2022
0a780db
De-stringified level lookup in zlevels list.
MistakeNot4892 Oct 28, 2022
cf88339
Working commit to get level_data PR to pass CI.
MistakeNot4892 Nov 1, 2022
868ee8e
Moved mining turf refresh onto z-level handler.
MistakeNot4892 Jan 27, 2023
50469f2
String interpol > num2text for overmap sector list.
MistakeNot4892 Jan 27, 2023
7e238e4
Refining any outstanding CI errors with zlevels rewrite.
MistakeNot4892 Jan 27, 2023
cdee2b3
Added z-level markers to the unit testing maps.
MistakeNot4892 Jan 28, 2023
f0c21b8
Update Contaminants.dm
PsyCommando Feb 9, 2023
c062d22
Move carnage mark throw into non-waitfor proc
out-of-phaze Feb 9, 2023
994d105
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 10, 2023
4f47975
Reimplemented adaptive darksight.
MistakeNot4892 Jan 10, 2023
4b981ee
Remaps Tradeship exploration shuttle
comma Feb 6, 2023
d446dbc
Implementing requested changes and validation for darkvision.
MistakeNot4892 Feb 10, 2023
e8186a8
Fix headphones not playing music
out-of-phaze Jan 29, 2023
6404529
Fix organ status not resetting when bodytype is set
out-of-phaze Jan 29, 2023
0971b05
Fix heal effect body temperature
out-of-phaze Jan 29, 2023
e1f3224
Fix modular prosthetic attachment
out-of-phaze Feb 4, 2023
30cab29
Allow small/tiny equipped items when ventcrawling
out-of-phaze Feb 9, 2023
0906503
Update for post-examine-changes
out-of-phaze Feb 12, 2023
23c94f9
Readding removed logic from get_equipped_slot_for_item
MistakeNot4892 Feb 12, 2023
a7a2449
Clamping config values for darksight.
MistakeNot4892 Feb 10, 2023
9b5d00d
Commenting out some inventory slot PR code until such a time as inven…
MistakeNot4892 Feb 12, 2023
9fd0f42
Merge pull request #2953 from comma/steel_age
out-of-phaze Feb 12, 2023
d8c8b46
Automatic changelog generation for PR #2953 [ci skip]
NebulaSS13Bot Feb 12, 2023
a671669
Merge pull request #2955 from PsyCommando/fix-godmode-effects
out-of-phaze Feb 12, 2023
636ff9d
Merge pull request #2951 from comma/bumblebee
out-of-phaze Feb 12, 2023
d58858b
Automatic changelog generation for PR #2951 [ci skip]
NebulaSS13Bot Feb 12, 2023
7222dbb
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 13, 2023
9dad8b2
Splitting HUD code out of inventory slot rewrite.
MistakeNot4892 Feb 10, 2023
f3cceb6
Updating nymph UI to use style procs and more icons.
MistakeNot4892 Feb 13, 2023
2a8dc23
Fixes a runtime when trying to swap hands with no hands.
MistakeNot4892 Feb 13, 2023
65f9f83
Updates nymph screen locs.
MistakeNot4892 Feb 13, 2023
79036e0
Moving internals proc to mob level.
MistakeNot4892 Feb 10, 2023
4eaf354
Tweaking the way possible internals sources are generated and used.
MistakeNot4892 Feb 13, 2023
456e956
Merge pull request #2892 from out-of-phaze/fix/carnage-mark
MistakeNot4892 Feb 13, 2023
36a608b
Merge pull request #2969 from out-of-phaze/fix/headphones
MistakeNot4892 Feb 14, 2023
feab76f
Merge pull request #2967 from out-of-phaze/fix/bodytype-reset
MistakeNot4892 Feb 14, 2023
bd425b2
Merge pull request #2965 from out-of-phaze/fix/organ-children
MistakeNot4892 Feb 14, 2023
4593cea
Merge pull request #2966 from out-of-phaze/fix/heal-effect
MistakeNot4892 Feb 14, 2023
a307c2a
Merge pull request #2976 from NebulaSS13/stable
MistakeNot4892 Feb 14, 2023
3311489
Merge branch 'staging' of https://github.com/NebulaSS13/Nebula into d…
MistakeNot4892 Feb 14, 2023
fd01a3f
Merge pull request #2971 from MistakeNot4892/inv
out-of-phaze Feb 14, 2023
53b339d
Merge pull request #2977 from MistakeNot4892/devupdate
MistakeNot4892 Feb 14, 2023
bd7e79a
Whitelist underwear in ventcrawling.
out-of-phaze Feb 14, 2023
893b32e
Makes zlevel flags globally available
PsyCommando Feb 14, 2023
e652051
Fix treating ailments with medication
out-of-phaze Feb 14, 2023
4e63fc3
Fix sensor computer printout
out-of-phaze Feb 15, 2023
fe66791
Fix grammar in away site descriptions
out-of-phaze Feb 15, 2023
6e7a6f1
Add health and breath scanner protolathe designs
out-of-phaze Feb 15, 2023
ef3829c
Merge pull request #2970 from out-of-phaze/tweak/ventcrawling
MistakeNot4892 Feb 15, 2023
ca30096
Fix simple pipes with wrong dir on generic tanker
out-of-phaze Feb 15, 2023
3469467
Merge pull request #2865 from MistakeNot4892/darkvision
out-of-phaze Feb 15, 2023
d376bf4
Fix bad qdel in compass_holder destroy
out-of-phaze Feb 15, 2023
7f277c7
Cups now shatter and spill contents when destroyed
comma Feb 4, 2023
25b193a
Merge pull request #2988 from out-of-phaze/fix/compass_destroy
afterthought2 Feb 16, 2023
c7c4292
Merge pull request #2983 from out-of-phaze/fix/away-grammar-1
afterthought2 Feb 16, 2023
daaf655
Merge pull request #2982 from out-of-phaze/feature/health-designs
afterthought2 Feb 16, 2023
e29f22f
Update Github actions to fix deprecation warnings
out-of-phaze Feb 16, 2023
76775ed
Merge pull request #2989 from out-of-phaze/fix/actions-versions
MistakeNot4892 Feb 16, 2023
4f4a18a
Merge pull request #2985 from out-of-phaze/fix/sensor-print
MistakeNot4892 Feb 17, 2023
0348477
Fix lighting not multiplying for ghosts
out-of-phaze Feb 17, 2023
3844a41
Merge pull request #2990 from out-of-phaze/fix/darksight-ghost
MistakeNot4892 Feb 18, 2023
2fb9ff5
Merge branch 'stable' of https://github.com/NebulaSS13/Nebula into st…
MistakeNot4892 Feb 18, 2023
8ff925d
Merge branch 'stagingupdate' of github.com:MistakeNot4892/Nebula into…
MistakeNot4892 Feb 18, 2023
3336b0e
Merge pull request #2991 from MistakeNot4892/stagingupdate
MistakeNot4892 Feb 18, 2023
c22ac40
Merge pull request #2992 from MistakeNot4892/devupdate
MistakeNot4892 Feb 18, 2023
1eac200
Add tests for equipment/slot procs
out-of-phaze Feb 12, 2023
efe8dcf
Fix isEquipped false positive
out-of-phaze Feb 12, 2023
d2700c9
Make design database constructable
out-of-phaze Feb 15, 2023
d6d416b
Merge pull request #2986 from out-of-phaze/feature/database-circuit
MistakeNot4892 Feb 20, 2023
bc3c060
Fix nymph held item screen loc getting unset
out-of-phaze Feb 19, 2023
ce048e7
Fix hattable extension trying to equip non-hats
out-of-phaze Feb 19, 2023
a70a414
Fix humans not getting default species settings
out-of-phaze Feb 4, 2023
ce75721
Add species variable validation checks
out-of-phaze Feb 19, 2023
ba431eb
Set species abstract_type
out-of-phaze Feb 19, 2023
bfc255f
Adding QDELETED and null loc checking to mob Bump().
MistakeNot4892 Feb 12, 2023
e8269fe
Removing some slurs.
MistakeNot4892 Feb 20, 2023
08c11fe
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 22, 2023
f61712a
Merge pull request #2996 from MistakeNot4892/slurs
afterthought2 Feb 22, 2023
a45ea17
Merge pull request #2973 from out-of-phaze/fix/equip-tests
afterthought2 Feb 22, 2023
a7459e9
Codex entries generated per atom will be kept on the atom.
MistakeNot4892 Feb 15, 2023
ed757b2
Codex Destroy() is now more thorough.
MistakeNot4892 Feb 23, 2023
6c57892
Add tanker map to away sites testing map
out-of-phaze Feb 15, 2023
ea52156
Merge pull request #2984 from MistakeNot4892/codex
out-of-phaze Feb 26, 2023
bf46560
Merge pull request #2987 from out-of-phaze/fix/tanker-dir
afterthought2 Feb 26, 2023
69afc4c
Merge pull request #2946 from comma/smash
MistakeNot4892 Mar 1, 2023
d5df79f
Merge pull request #2964 from MistakeNot4892/hud
out-of-phaze Mar 1, 2023
1f8905e
Merge pull request #2963 from MistakeNot4892/internals
out-of-phaze Mar 1, 2023
ab915d4
Adding a basic managed instance system.
MistakeNot4892 Mar 6, 2023
9710a6f
Fixed wall offests of a few things
PsyCommando Mar 11, 2023
df3ac8b
Added missing circuitboard stuff internet
PsyCommando Mar 11, 2023
dc3395c
Make geothermal generator work
PsyCommando Mar 11, 2023
950477d
Merge branch 'stable' of https://github.com/NebulaSS13/Nebula into st…
MistakeNot4892 Mar 12, 2023
cd9cb0a
Merge pull request #3006 from MistakeNot4892/stagingupdate
MistakeNot4892 Mar 12, 2023
ac75691
Merge branch 'staging' of https://github.com/NebulaSS13/Nebula into d…
MistakeNot4892 Mar 12, 2023
da5c8ae
Merge pull request #3000 from MistakeNot4892/managed_instances
out-of-phaze Mar 12, 2023
286a926
Fixes
PsyCommando Mar 13, 2023
5e98441
Remove buildable type + async spout changes
PsyCommando Mar 13, 2023
77ae25f
Flipped tanker injector to pass CI.
MistakeNot4892 Mar 13, 2023
6ea3298
Merge pull request #3007 from MistakeNot4892/devupdate
MistakeNot4892 Mar 14, 2023
7f41077
Merge pull request #3003 from PsyCommando/dir-offset-update
MistakeNot4892 Mar 14, 2023
171cd24
Merge pull request #3002 from PsyCommando/added-missing-circuitboard-…
MistakeNot4892 Mar 14, 2023
195c034
Standardizing trader paths.
MistakeNot4892 Mar 14, 2023
6444dcc
fix wallmed2 having wrong offset
PsyCommando Mar 14, 2023
6db0e20
Adding various variant ammo types.
MistakeNot4892 Mar 15, 2023
803123f
Merge pull request #3013 from PsyCommando/dir-offset-update
out-of-phaze Mar 16, 2023
6f0aa26
Automatic changelog generation [ci skip]
NebulaSS13Bot Mar 18, 2023
946ea02
Automatic changelog generation [ci skip]
NebulaSS13Bot Mar 22, 2023
271665d
Level data datum + improv
PsyCommando Feb 19, 2023
1ae1125
applied suggestions
PsyCommando Feb 23, 2023
b9b187b
slight fixes to level_data
PsyCommando Mar 2, 2023
a12fd68
Fixed level border gen
PsyCommando Mar 5, 2023
80bc4e7
Update level_data.dm
PsyCommando Mar 6, 2023
8575705
moved mimic turfs to own file
PsyCommando Mar 7, 2023
b2905d9
re-added config check for asteroid gen weirdness
PsyCommando Mar 7, 2023
9f4dd97
Smoothing out transition edge teleport a bit
PsyCommando Mar 7, 2023
466eb99
Added transition edge corners filling/protection
PsyCommando Mar 7, 2023
4a6b414
Documented transitionedge constants
PsyCommando Mar 8, 2023
c6256e3
Fixed pref lvl data + surf lvl index
PsyCommando Mar 8, 2023
ab85900
Enforce level_data to setup only once
PsyCommando Mar 8, 2023
8658e90
Get right instance of level_data base_area
PsyCommando Mar 8, 2023
0055665
Cleanup + moved code around
PsyCommando Mar 8, 2023
b2de030
apply suggestions
PsyCommando Mar 16, 2023
7def643
get world area instance, not type
PsyCommando Mar 17, 2023
98f0072
repath spawner because
PsyCommando Mar 19, 2023
e3b3d1f
ignore projectiles on mimic_edges turfs for now
PsyCommando Mar 19, 2023
96082ac
applied suggestions
PsyCommando Mar 14, 2023
039952a
Fix refresh_neighbors being called twice
PsyCommando Mar 15, 2023
6bb81e6
Ensure gen produce power even at low pressures
PsyCommando Mar 15, 2023
0ec82d2
misc comments
PsyCommando Mar 15, 2023
7c27da5
Merge pull request #3005 from PsyCommando/fix-geothermals
afterthought2 Mar 24, 2023
ae8f4e5
Automatic changelog generation for PR #3005 [ci skip]
NebulaSS13Bot Mar 24, 2023
7ac5db6
Automatic changelog generation [ci skip]
NebulaSS13Bot Mar 25, 2023
6355a24
Merge pull request #3016 from MistakeNot4892/ammo
out-of-phaze Mar 26, 2023
6089598
Merge pull request #3008 from MistakeNot4892/traders
out-of-phaze Mar 26, 2023
d623ba4
Merge remote-tracking branch 'nebula_upstream/dev' into upstream-merg…
PsyCommando Mar 26, 2023
ec918cd
Fix weird typo in ministation map
PsyCommando Mar 30, 2023
b5dd13e
default map loading is now done via templates
PsyCommando Mar 27, 2023
0486981
make sure parts are initialized on machine init
PsyCommando Mar 27, 2023
037fa05
Updated db status command
PsyCommando Mar 27, 2023
6d5d04e
ported zcopy fix
PsyCommando Mar 30, 2023
db30165
Tweak kleibkhar map transition borders
PsyCommando Mar 30, 2023
9a34299
Fixed level loading/saving
PsyCommando Mar 30, 2023
6f6af8d
ported fix for random exoplanets
PsyCommando Mar 30, 2023
4a951a1
SaveExists doesn't crash when no db
PsyCommando Mar 31, 2023
d6a3286
get rid of duplicate saved_levels lists
PsyCommando Mar 31, 2023
a229a50
Fixed cargo shuttle unit tests + cleanup pass
PsyCommando Mar 31, 2023
f85393e
Fix outreach map as well
PsyCommando Mar 30, 2023
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: 2 additions & 0 deletions code/__defines/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,5 @@ if(other_init) { \
#define MAP_TEMPLATE_CATEGORY_EXOPLANET "exoplanet_template"
#define MAP_TEMPLATE_CATEGORY_SPACE "space_template"
#define MAP_TEMPLATE_CATEGORY_AWAYSITE "awaysite_template"
///PS13 Template that is spawned as part of the main map, and shouldn't be considered an away site during unit tests.
#define MAP_TEMPLATE_CATEGORY_MAIN_SITE "main_site_template"
13 changes: 12 additions & 1 deletion code/__defines/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@
#define TURF_IS_HOLOMAP_PATH BITFLAG(4)
#define TURF_IS_HOLOMAP_ROCK BITFLAG(5)

#define TRANSITIONEDGE 7 // Distance from edge to move to another z-level.
///Width or height of a transition edge area along the map's borders where transition edge turfs are placed to connect levels together.
#define TRANSITIONEDGE 7
///Extra spacing needed between any random ruins and the transition edge of a level.
#define RUIN_MAP_EDGE_PAD 15

///Enum value for a level edge that's to be untouched
#define LEVEL_EDGE_NONE 0
///Enum value for a level edge that's to be looped with the opposite edge
#define LEVEL_EDGE_LOOP 1
///Enum value for a level edge that's to be filled with a wall filler turfs
#define LEVEL_EDGE_WALL 2
///Enum value for a level edge that's to be connected with another z-level
#define LEVEL_EDGE_CON 3

// Invisibility constants.
#define INVISIBILITY_LIGHTING 20
#define INVISIBILITY_LEVEL_ONE 35
Expand Down
7 changes: 6 additions & 1 deletion code/controllers/configuration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,12 @@ var/global/list/gamemode_cache = list()
config.withdraw_period = value DAYS
if("interest_period")
config.interest_period = value DAYS

if("grant_default_darksight")
config.grant_default_darksight = TRUE
if("default_darksight_range")
config.default_darksight_range = max(text2num(value), 0)
if("default_darksight_effectiveness")
config.default_darksight_effectiveness = clamp(text2num(value), 0, 1)
if("interest_mod_delay")
config.interest_mod_delay = value DAYS
if("withdraw_mod_delay")
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystems/ambience.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ SUBSYSTEM_DEF(ambience)

if(lit)
// Grab what we need to set ambient light from our level handler.
var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[z]
var/datum/level_data/level_data = SSmapping.levels_by_z[z]
if(level_data?.ambient_light_level)
set_ambient_light(level_data.ambient_light_color, level_data.ambient_light_level)
return TRUE
Expand Down
130 changes: 117 additions & 13 deletions code/controllers/subsystems/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ SUBSYSTEM_DEF(mapping)
// This needs to be non-null even if the overmap isn't created for this map.
overmap_event_handler = GET_DECL(/decl/overmap_event_handler)

//PS13 Build main map sites templates
global.using_map.build_main_sites()
// Build away sites.
global.using_map.build_away_sites()

Expand All @@ -89,9 +91,9 @@ SUBSYSTEM_DEF(mapping)
config.generate_map = TRUE
#endif
for(var/z = 1 to world.maxz)
var/obj/abstract/level_data/level = levels_by_z[z]
var/datum/level_data/level = levels_by_z[z]
if(!istype(level))
level = new /obj/abstract/level_data/space(locate(round(world.maxx*0.5), round(world.maxy*0.5), z))
level = new /datum/level_data/space(z)
PRINT_STACK_TRACE("Missing z-level data object for z[num2text(z)]!")
level.setup_level_data()

Expand Down Expand Up @@ -141,9 +143,10 @@ SUBSYSTEM_DEF(mapping)
// Z-Level procs after this point.
/datum/controller/subsystem/mapping/proc/get_gps_level_name(var/z)
if(z)
var/obj/abstract/level_data/level = levels_by_z[z]
if(level?.name)
return level.get_gps_level_name()
var/datum/level_data/level = levels_by_z[z]
. = level.get_display_name()
if(length(.))
return .
return "Unknown Sector"

/datum/controller/subsystem/mapping/proc/reindex_lists()
Expand All @@ -162,24 +165,72 @@ SUBSYSTEM_DEF(mapping)
PRINT_STACK_TRACE("Missing z-level data type for z["[world.maxz]"]!")
return

var/obj/abstract/level_data/level = new new_level_type(locate(round(world.maxx*0.5), round(world.maxy*0.5), world.maxz), defer_setup)
level.initialize_level()
var/datum/level_data/level = new new_level_type(world.maxz, defer_setup)
level.initialize_new_level()
return level

/datum/controller/subsystem/mapping/proc/get_connected_levels(z)
if(z <= 0 || z > length(levels_by_z))
CRASH("Invalid z-level supplied to get_connected_levels: [isnull(z) ? "NULL" : z]")
. = list(z)
var/list/root_stack = list(z)
// Traverse up and down to get the multiz stack.
for(var/level = z, HasBelow(level), level--)
. |= level-1
root_stack |= level-1
for(var/level = z, HasAbove(level), level++)
. |= level+1
root_stack |= level+1
. = list()
// Check stack for any laterally connected neighbors.
for(var/tz in .)
var/obj/abstract/level_data/level = levels_by_z[tz]
for(var/tz in root_stack)
var/datum/level_data/level = levels_by_z[tz]
if(level)
level.find_connected_levels(.)
var/list/cur_connected = level.get_all_connected_level_z()
if(length(cur_connected))
. |= cur_connected
. |= root_stack

///Returns a list of all the level data of all the connected z levels to the given z.DBColumn
/datum/controller/subsystem/mapping/proc/get_connected_levels_data(z)
if(z <= 0 || z > length(levels_by_z))
CRASH("Invalid z-level supplied to get_connected_levels_data: [isnull(z) ? "NULL" : z]")
var/list/root_lvl_data = list(levels_by_z[z])

// Traverse up and down to get the multiz stack.
for(var/level = z, HasBelow(level), level--)
root_lvl_data |= levels_by_z[level - 1]
for(var/level = z, HasAbove(level), level++)
root_lvl_data |= levels_by_z[level + 1]

. = list()
// Check stack for any laterally connected neighbors.
for(var/datum/level_data/L in root_lvl_data)
var/list/cur_connected = L.get_all_connected_level_data()
if(length(cur_connected))
. |= cur_connected
. |= root_lvl_data

/datum/controller/subsystem/mapping/proc/get_connected_levels_ids(z)
if(z <= 0 || z > length(levels_by_z))
CRASH("Invalid z-level supplied to get_connected_levels_ids: [isnull(z) ? "NULL" : z]")
var/datum/level_data/LD = levels_by_z[z]
var/list/root_lvl_ids = list(LD.level_id)

// Traverse up and down to get the multiz stack.
for(var/level = z, HasBelow(level), level--)
var/datum/level_data/L = levels_by_z[level - 1]
root_lvl_ids |= L.level_id
for(var/level = z, HasAbove(level), level++)
var/datum/level_data/L = levels_by_z[level + 1]
root_lvl_ids |= L.level_id

. = list()
// Check stack for any laterally connected neighbors.
for(var/id in root_lvl_ids)
var/datum/level_data/level = levels_by_id[id]
if(level)
var/list/cur_connected = level.get_all_connected_level_ids()
if(length(cur_connected))
. |= cur_connected
. |= root_lvl_ids

/datum/controller/subsystem/mapping/proc/are_connected_levels(var/zA, var/zB)
if (zA <= 0 || zB <= 0 || zA > world.maxz || zB > world.maxz)
Expand All @@ -196,3 +247,56 @@ SUBSYSTEM_DEF(mapping)
connected_z_cache.len = zA
connected_z_cache[zA] = new_entry
return new_entry[zB]

/// Registers all the needed infos from a level_data into the mapping subsystem
/datum/controller/subsystem/mapping/proc/register_level_data(var/datum/level_data/LD)
if(levels_by_z.len < LD.level_z)
levels_by_z.len = max(levels_by_z.len, LD.level_z)
PRINT_STACK_TRACE("Attempting to initialize a z-level([LD.level_z]) that has not incremented world.maxz.")

//Assign level z
var/datum/level_data/old_level = levels_by_z[LD.level_z]
levels_by_z[LD.level_z] = LD

if(old_level)
// Swap out the old one but preserve any relevant references etc.
old_level.replace_with(LD)
QDEL_NULL(old_level)

//Setup ID ref
if(isnull(LD.level_id))
PRINT_STACK_TRACE("Null level_id specified for z[LD.level_z].")
else if(LD.level_id in levels_by_id)
PRINT_STACK_TRACE("Duplicate level_id '[LD.level_id]' for z[LD.level_z].")
else
levels_by_id[LD.level_id] = LD

//Always add base turf for Z. It'll get replaced as needed.
base_turf_by_z[LD.level_z] = LD.base_turf || world.turf

//Add to level flags lookup lists
if(LD.level_flags & ZLEVEL_STATION)
station_levels |= LD.level_z
if(LD.level_flags & ZLEVEL_ADMIN)
admin_levels |= LD.level_z
if(LD.level_flags & ZLEVEL_CONTACT)
contact_levels |= LD.level_z
if(LD.level_flags & ZLEVEL_PLAYER)
player_levels |= LD.level_z
if(LD.level_flags & ZLEVEL_SEALED)
sealed_levels |= LD.level_z
return TRUE

/datum/controller/subsystem/mapping/proc/unregister_level_data(var/datum/level_data/LD)
if(levels_by_z[LD.level_z] == LD)
//Clear the level data ref from the list if we're in it.
levels_by_z[LD.level_z] = null
levels_by_id -= LD.level_id

base_turf_by_z[LD.level_z] = world.turf
station_levels -= LD.level_z
admin_levels -= LD.level_z
contact_levels -= LD.level_z
player_levels -= LD.level_z
sealed_levels -= LD.level_z
return TRUE
9 changes: 5 additions & 4 deletions code/controllers/subsystems/zcopy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -432,10 +432,11 @@ SUBSYSTEM_DEF(zcopy)
qo_idex = 1

/datum/controller/subsystem/zcopy/proc/flush_z_state(turf/T)
if (T.below.mimic_above_copy)
QDEL_NULL(T.below.mimic_above_copy)
if (T.below.mimic_proxy)
QDEL_NULL(T.below.mimic_proxy)
if(T.below)
if (T.below.mimic_above_copy)
QDEL_NULL(T.below.mimic_above_copy)
if (T.below.mimic_proxy)
QDEL_NULL(T.below.mimic_proxy)
for (var/atom/movable/openspace/OO in T)
if (istype(OO, /atom/movable/openspace/mimic))
qdel(OO)
Expand Down
79 changes: 40 additions & 39 deletions code/datums/trading/traders/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,48 +75,49 @@ They sell generic supplies and ask for generic supplies.
origin = "Mining Beacon"

possible_trading_items = list(
/obj/item/stack/material/ore = TRADER_SUBTYPES_ONLY,
/obj/item/stack/material/pane/mapped/glass = TRADER_ALL,
/obj/item/stack/material/pane/mapped/glass/fifty = TRADER_BLACKLIST,
/obj/item/stack/material/ingot/mapped/iron = TRADER_THIS_TYPE,
/obj/item/stack/material/brick/mapped/sandstone = TRADER_THIS_TYPE,
/obj/item/stack/material/brick/mapped/marble = TRADER_THIS_TYPE,
/obj/item/stack/material/gemstone/mapped/diamond = TRADER_THIS_TYPE,
/obj/item/stack/material/puck/mapped/uranium = TRADER_THIS_TYPE,
/obj/item/stack/material/panel/mapped/plastic = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/gold = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/silver = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/platinum = TRADER_THIS_TYPE,
/obj/item/stack/material/segment/mapped/mhydrogen = TRADER_THIS_TYPE,
/obj/item/stack/material/aerogel/mapped/tritium = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/osmium = TRADER_THIS_TYPE,
/obj/item/stack/material/sheet/mapped/steel = TRADER_THIS_TYPE,
/obj/item/stack/material/ore = TRADER_SUBTYPES_ONLY,
/obj/item/stack/material/pane/mapped/glass = TRADER_ALL,
/obj/item/stack/material/pane/mapped/glass/fifty = TRADER_BLACKLIST,
/obj/item/stack/material/ingot/mapped/iron = TRADER_THIS_TYPE,
/obj/item/stack/material/brick/mapped/sandstone = TRADER_THIS_TYPE,
/obj/item/stack/material/brick/mapped/marble = TRADER_THIS_TYPE,
/obj/item/stack/material/gemstone/mapped/diamond = TRADER_THIS_TYPE,
/obj/item/stack/material/puck/mapped/uranium = TRADER_THIS_TYPE,
/obj/item/stack/material/panel/mapped/plastic = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/gold = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/silver = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/platinum = TRADER_THIS_TYPE,
/obj/item/stack/material/segment/mapped/mhydrogen = TRADER_THIS_TYPE,
/obj/item/stack/material/aerogel/mapped/tritium = TRADER_THIS_TYPE,
/obj/item/stack/material/ingot/mapped/osmium = TRADER_THIS_TYPE,
/obj/item/stack/material/sheet/mapped/steel = TRADER_THIS_TYPE,
/obj/item/stack/material/reinforced/mapped/plasteel = TRADER_THIS_TYPE,
/obj/machinery/mining = TRADER_SUBTYPES_ONLY
/obj/machinery/mining = TRADER_SUBTYPES_ONLY
)

/datum/trader/trading_beacon/manufacturing
origin = "Manifacturing Beacon"

possible_trading_items = list(/obj/structure/aicore = TRADER_THIS_TYPE,
/obj/structure/girder = TRADER_THIS_TYPE,
/obj/structure/grille = TRADER_THIS_TYPE,
/obj/structure/mopbucket = TRADER_THIS_TYPE,
/obj/structure/ore_box = TRADER_THIS_TYPE,
/obj/structure/coatrack = TRADER_THIS_TYPE,
/obj/structure/bookcase = TRADER_THIS_TYPE,
/obj/item/bee_pack = TRADER_THIS_TYPE,
/obj/item/bee_smoker = TRADER_THIS_TYPE,
/obj/item/beehive_assembly = TRADER_THIS_TYPE,
/obj/item/glass_jar = TRADER_THIS_TYPE,
/obj/item/honey_frame = TRADER_THIS_TYPE,
/obj/item/target = TRADER_ALL,
/obj/structure/tank_rack = TRADER_SUBTYPES_ONLY,
/obj/structure/filing_cabinet = TRADER_THIS_TYPE,
/obj/structure/safe = TRADER_THIS_TYPE,
/obj/structure/plushie = TRADER_SUBTYPES_ONLY,
/obj/structure/sign = TRADER_SUBTYPES_ONLY,
/obj/structure/sign/double = TRADER_BLACKLIST_ALL,
/obj/structure/sign/goldenplaque = TRADER_BLACKLIST_ALL,
/obj/structure/sign/poster = TRADER_BLACKLIST
)
possible_trading_items = list(
/obj/structure/aicore = TRADER_THIS_TYPE,
/obj/structure/girder = TRADER_THIS_TYPE,
/obj/structure/grille = TRADER_THIS_TYPE,
/obj/structure/mopbucket = TRADER_THIS_TYPE,
/obj/structure/ore_box = TRADER_THIS_TYPE,
/obj/structure/coatrack = TRADER_THIS_TYPE,
/obj/structure/bookcase = TRADER_THIS_TYPE,
/obj/item/bee_pack = TRADER_THIS_TYPE,
/obj/item/bee_smoker = TRADER_THIS_TYPE,
/obj/item/beehive_assembly = TRADER_THIS_TYPE,
/obj/item/glass_jar = TRADER_THIS_TYPE,
/obj/item/honey_frame = TRADER_THIS_TYPE,
/obj/item/target = TRADER_ALL,
/obj/structure/tank_rack = TRADER_SUBTYPES_ONLY,
/obj/structure/filing_cabinet = TRADER_THIS_TYPE,
/obj/structure/safe = TRADER_THIS_TYPE,
/obj/structure/plushie = TRADER_SUBTYPES_ONLY,
/obj/structure/sign = TRADER_SUBTYPES_ONLY,
/obj/structure/sign/double = TRADER_BLACKLIST_ALL,
/obj/structure/sign/goldenplaque = TRADER_BLACKLIST_ALL,
/obj/structure/sign/poster = TRADER_BLACKLIST
)
44 changes: 23 additions & 21 deletions code/datums/trading/traders/books.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,29 @@
possible_wanted_items = list()
price_rng = 30

possible_trading_items = list(/obj/item/book/skill/organizational/literacy = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/organizational/finance = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/eva = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/mech = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/pilot = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/hauling = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/computer = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/service/botany = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/service/cooking = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/combat = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/weapons = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/forensics = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/construction = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/electrical = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/atmos = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/engines = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/research/devices = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/research/science = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/chemistry = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/medicine = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/anatomy = TRADER_SUBTYPES_ONLY)
possible_trading_items = list(
/obj/item/book/skill/organizational/literacy = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/organizational/finance = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/eva = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/mech = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/pilot = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/hauling = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/general/computer = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/service/botany = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/service/cooking = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/combat = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/weapons = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/security/forensics = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/construction = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/electrical = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/atmos = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/engineering/engines = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/research/devices = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/research/science = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/chemistry = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/medicine = TRADER_SUBTYPES_ONLY,
/obj/item/book/skill/medical/anatomy = TRADER_SUBTYPES_ONLY
)

speech = list("hail_generic" = "Yes hello hello! Many fine paperstacks for sale! Please buy!",
"hail_deny" = "Not in! I'm not here! Go away!!",
Expand Down
Loading