Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1173 commits
Select commit Hold shift + click to select a range
3b711b6
Merge pull request #4050 from cyberillithid/stable
out-of-phaze May 24, 2024
f8f59bb
Merge branch 'stable' of github.com:NebulaSS13/Nebula into stagingupdate
MistakeNot4892 May 26, 2024
bb0ff17
Merge pull request #4053 from MistakeNot4892/stagingupdate
MistakeNot4892 May 26, 2024
fdc4994
Comments out master controller shutdown in world/Reboot().
MistakeNot4892 May 26, 2024
269ba2f
Merge pull request #4055 from NebulaSS13/staging
MistakeNot4892 May 26, 2024
cace948
Fixes mapped shield gen being inoperable.
MistakeNot4892 May 26, 2024
cae6816
Merge pull request #4028 from MistakeNot4892/stable
out-of-phaze May 27, 2024
25018e2
Merge pull request #4061 from MistakeNot4892/fix/shieldgen
out-of-phaze May 27, 2024
54d8ff1
Merge pull request #4054 from MistakeNot4892/fix/shutdown
out-of-phaze May 31, 2024
35d6348
Fixed erroneous slot_id var on handcuff slot.
MistakeNot4892 Jun 1, 2024
5b3312b
Prevents fuel rods from melting.
MistakeNot4892 Jun 1, 2024
c1eefd1
Disables temperature-based melting until it is refined.
MistakeNot4892 Jun 2, 2024
2b84b7c
Reduces steel recovered from dismantling a steel wall.
MistakeNot4892 Jun 4, 2024
2ba2028
Merge pull request #4082 from MistakeNot4892/fix/wallmats
out-of-phaze Jun 4, 2024
7271a66
Fixing thrown object embedding.
MistakeNot4892 Jun 3, 2024
02ad243
Reduced the smelting temperature to something less batshit insane.
MistakeNot4892 Jun 5, 2024
a786415
Cleaned up bleeding() proc.
MistakeNot4892 Jun 4, 2024
53da99f
Adding some divide by zero checks to get_delta_v().
MistakeNot4892 Jun 4, 2024
da84f19
Fixing bed/chair padding overlays.
MistakeNot4892 Jun 4, 2024
220c5b1
Merge pull request #4085 from MistakeNot4892/fix/smeltery
out-of-phaze Jun 6, 2024
b591506
Merge pull request #4071 from MistakeNot4892/tweak/melting
out-of-phaze Jun 7, 2024
77f67cb
Merge pull request #4079 from MistakeNot4892/fix/thrown
out-of-phaze Jun 7, 2024
1c5aeb3
Fixes reboot spam.
MistakeNot4892 Jun 8, 2024
91d8321
Condensing remove_implant().
MistakeNot4892 Jun 8, 2024
3663149
Fix plant harvest overlays
out-of-phaze Jun 9, 2024
a53777f
Fixes biogenerators not showing bottle contents.
MistakeNot4892 Jun 13, 2024
6fa0a50
Fixes mining on Ministation causing airflow in space.
MistakeNot4892 Jun 13, 2024
56d3ea4
make spawn window type list bigger
PsyCommando Jan 14, 2024
e22074d
added cabled high volume vent
PsyCommando Jan 14, 2024
89becea
Ported bay shotguns and lmg
PsyCommando Jan 24, 2024
a415478
Adds bay job sec hud icons to persistence
PsyCommando Jan 24, 2024
922107f
Added mre and soda vending machine from bay
PsyCommando Mar 2, 2024
e5af3c9
Added chlorine canister
PsyCommando Mar 9, 2024
32411b2
changed operating table icon to current bay
PsyCommando Mar 9, 2024
91cece5
Added network id cards variants
PsyCommando Mar 9, 2024
90b4773
adjusted flasher default wall offset
PsyCommando Mar 9, 2024
7f987e9
adjusted button default north facing wall offset
PsyCommando Mar 9, 2024
369e058
added wired blast door variant
PsyCommando Mar 9, 2024
48a6baa
fixed spiderlings icon
PsyCommando Mar 9, 2024
7ead109
replaced newscaster icon
PsyCommando Mar 9, 2024
a538af6
Changed atm icon
PsyCommando Mar 9, 2024
7db67fa
fixed chewables icon
PsyCommando Mar 9, 2024
083a2bc
Added custom icons for bank and trade controllers
PsyCommando Mar 9, 2024
1b7cabb
fixed unshaded floor lamp icon
PsyCommando Mar 9, 2024
07a7f81
fixed clipboard mapper icon not showing
PsyCommando Mar 9, 2024
5ff4c4e
Fixed xenoarch machinery icons missing
PsyCommando Mar 9, 2024
8f7321b
Ported bay icons for portable generators
PsyCommando Mar 9, 2024
128d9ad
removed duplicate granite material
PsyCommando Mar 9, 2024
9132901
Added missing mapper door barricade tape
PsyCommando Mar 9, 2024
172c29a
Improve mapper preview for closets
PsyCommando Mar 9, 2024
3704d08
Added network locks preset decl type
PsyCommando Mar 9, 2024
c46657d
Fix cabled vent pumps terminal
PsyCommando Mar 9, 2024
6586c4a
fixed accessing skill_list list procs..
PsyCommando Mar 9, 2024
c5df45c
Added outreach turrets
PsyCommando Mar 9, 2024
490a8cb
added concrete, lino, checkered floor variants
PsyCommando Mar 9, 2024
62cc71e
Added network tag var to design console and db
PsyCommando Mar 9, 2024
ed8a333
Fix atmos tank floor initing with wrong mols
PsyCommando Mar 9, 2024
f36fc74
Add global macro constants for vents default val
PsyCommando Mar 9, 2024
93c20f1
Outreach map changes RC
PsyCommando Mar 9, 2024
d142944
Remove hack starting money
PsyCommando Mar 9, 2024
c24ea25
forgot mapper preview improvement
PsyCommando Mar 9, 2024
05996b2
vv gasmix updates
PsyCommando Mar 20, 2024
bd2c915
Change req console icon
PsyCommando Mar 21, 2024
395b9bb
added missing default/preview state to vialbox
PsyCommando Mar 21, 2024
fed8fbb
added europa dorm console icons
PsyCommando Mar 21, 2024
e189723
comments
PsyCommando Mar 9, 2024
ded4e81
Temporarily remove hardcoded trade beacons
PsyCommando Mar 23, 2024
4dee1d6
Added chlorine standing tank
PsyCommando Jun 8, 2024
98b1302
Update attribution for Sunbeamstress' music tracks
out-of-phaze Jun 20, 2024
ab24c35
Merge pull request #4128 from out-of-phaze/fix/license-sunbeamstress
MistakeNot4892 Jun 20, 2024
d11fd5b
Fix double dots instead of periods or ellipses
out-of-phaze Jun 20, 2024
2e52a9c
Fixes runtime in simple_animal exoplanet adjustment.
MistakeNot4892 Jun 23, 2024
2eee6da
Made DoMove() and MayMove() params consistent, added is_external chec…
MistakeNot4892 Jun 27, 2024
556e461
Adjusts reaction categories.
MistakeNot4892 Jun 27, 2024
43fa075
Merge pull request #4150 from MistakeNot4892/fix/grabdrag
out-of-phaze Jun 29, 2024
75a0e26
Fix runtime when sabotaging a magnetic field generator with metal rods
out-of-phaze Jul 5, 2024
f6b520a
Made cryopod less loud
PsyCommando Jun 18, 2024
ca9eb6a
Chargen update
PsyCommando Jun 12, 2024
b4be8c7
Rebase rename var network_lock
PsyCommando Jun 18, 2024
f801280
No starting money for colonists
PsyCommando Jun 18, 2024
4e68097
Close door sound on unready chargen pod
PsyCommando Jun 18, 2024
72c0354
Removed unneeded global.
PsyCommando Jun 18, 2024
cd34e95
Fixed network_lock part preset
PsyCommando Jun 18, 2024
e4aa78f
Repath chargen template file
PsyCommando Jun 18, 2024
68262df
Moved spawn network var
PsyCommando Jun 18, 2024
3085f0c
public net lock
PsyCommando Jul 1, 2024
d47ef74
Fix concrete issues
PsyCommando Jul 4, 2024
ae471e6
Add type to origin_tech test failure output
PsyCommando Jul 4, 2024
7314215
fixed bad tech level on ported guns
PsyCommando Jul 4, 2024
21daa5a
Fixed taperoll boxes capacity unit test
PsyCommando Jul 4, 2024
cf9260d
fix leaking pipes outreach
PsyCommando Jul 7, 2024
0192615
Fix null req access on doors
PsyCommando Jul 7, 2024
e42be45
Merge remote-tracking branch 'nebula_upstream/stable' into tweakbranch
PsyCommando Jul 8, 2024
b49e3bb
Merge pull request #4172 from out-of-phaze/fix/magshield-jam
MistakeNot4892 Jul 9, 2024
1693d73
Fixes warrant retrieval param order.
MistakeNot4892 Jul 11, 2024
2d7c892
Fixes n/s offsets for request consoles.
MistakeNot4892 Jul 11, 2024
1c0fb3f
Fixing offsets for RCs on maps.
MistakeNot4892 Jul 11, 2024
8526895
Excepts simple_animals from weather effects.
MistakeNot4892 Jul 9, 2024
4114299
Added a mild toxin to replace bromide in food.
MistakeNot4892 Jul 10, 2024
ae567b1
Adding some nuance to ailments working on prosthetic limbs.
MistakeNot4892 Jul 9, 2024
90e6b3b
Update config to new system
PsyCommando Jul 11, 2024
90d7b71
Update interface_radio.dm
PsyCommando Jul 11, 2024
b28fd15
Fix to match changes to num2hex
PsyCommando Jul 11, 2024
4828ed8
Fixed and moved ps13 recipes
PsyCommando Jul 11, 2024
637f3a1
Merge pull request #4185 from MistakeNot4892/fix/frameoffset
out-of-phaze Jul 11, 2024
8c607be
Merge pull request #4184 from MistakeNot4892/fix/warrant
out-of-phaze Jul 11, 2024
f40c250
Unloaded items with cells should still create their extension.
MistakeNot4892 Jul 14, 2024
69a8a4b
Fixing cell issues revealed by corrected validation step.
MistakeNot4892 Jul 14, 2024
412d7ef
Merge pull request #4203 from MistakeNot4892/fix/prod
out-of-phaze Jul 14, 2024
2ab7517
Radio transmission now checks PASSEMOTES for listeners within mobs (s…
MistakeNot4892 Jul 15, 2024
98eae53
Breath exhaled in an exosuit is dumped into the environment instead o…
MistakeNot4892 Jul 15, 2024
89e46ce
Overriding relaymove() to prevent exosuits getting chestbursted by th…
MistakeNot4892 Jul 15, 2024
5ce952f
Fixes misnamed autofire var in exosuit plasma cutter.
MistakeNot4892 Jul 15, 2024
6ebb897
change a few things to get_config_value
PsyCommando Jul 16, 2024
24733e3
Move saved vars
PsyCommando Jul 16, 2024
c4b0e1c
Fix plastic flap repath
PsyCommando Jul 16, 2024
0c9327f
Handle pickaxes changes
PsyCommando Jul 16, 2024
711dfa9
Handle turf repaths
PsyCommando Jul 16, 2024
a061697
Change health for current_health
PsyCommando Jul 16, 2024
0f97935
Fix outfit definition
PsyCommando Jul 16, 2024
7cf62fd
fix turf flooding
PsyCommando Jul 16, 2024
8c665f3
Moved fabrication stuff
PsyCommando Jul 16, 2024
11779c6
Properly set chargen state and store inside mind
PsyCommando Jul 16, 2024
b8cef85
Add limit to hidden prints
PsyCommando Jul 16, 2024
bbb810f
Need to review how death is handled because brainmob changes
PsyCommando Jul 16, 2024
c0b1a6a
fix vendor products new param changes
PsyCommando Jul 16, 2024
050652a
Fix recycler brainmob avoiadance
PsyCommando Jul 16, 2024
08feb62
Update repathed types on recycler
PsyCommando Jul 16, 2024
1ae574e
Merge pull request #4212 from MistakeNot4892/fix/exosuits
out-of-phaze Jul 17, 2024
c760507
unit test
PsyCommando Jul 17, 2024
7bf2f28
Properly disable neb's SS persistence
PsyCommando Jul 17, 2024
3762ba3
Melting override shouldn't call parent
PsyCommando Jul 17, 2024
757d20a
Attempt fix dependencies
PsyCommando Jul 17, 2024
dda4232
forgot to remove old def
PsyCommando Jul 17, 2024
b33b663
moar dependency fixes
PsyCommando Jul 17, 2024
c740b0e
fix typo
PsyCommando Jul 17, 2024
8553c7e
Fix brain fart
PsyCommando Jul 17, 2024
2c4c575
Update _persistence.dme
PsyCommando Jul 17, 2024
4a5194a
Move slime saved vars
PsyCommando Jul 17, 2024
f94e298
Update kleibkhar_turf.dm
PsyCommando Jul 17, 2024
2ad1c13
remove garbage commited file
PsyCommando Jul 17, 2024
5f6a293
Fixing issues with foods spawning plates.
MistakeNot4892 Jul 19, 2024
d4dc6d5
Fixes account number being copied to ID card before it was actually g…
MistakeNot4892 Jul 19, 2024
104e9cb
Restructed atom temperature stuff to /obj/item and /obj/structure to …
MistakeNot4892 Jul 19, 2024
dda09bc
Loadout now uses the decl system and UID.
MistakeNot4892 Jul 19, 2024
b5efdbe
Fix bad json directional_offset
PsyCommando Jul 19, 2024
ab5c0d3
fix bad icon_state names for tiles
PsyCommando Jul 19, 2024
5a60188
Remove duplicate reactions
PsyCommando Jul 19, 2024
d1054d2
Fix repathed turfs and tools
PsyCommando Jul 19, 2024
14f255c
Fix missing icon_state
PsyCommando Jul 19, 2024
7b6e01e
Fixes stabilizer autoinjector having adrenaline.
MistakeNot4892 Jul 20, 2024
a722a05
Machinery is now temperature sensitive again.
MistakeNot4892 Jul 20, 2024
2e21af1
Added a check for valid pipeline air
PsyCommando Jul 21, 2024
c4b906f
Match poster/newscaster dir offsets to neb
PsyCommando Jul 21, 2024
1e7ff71
Update pipes.dm
PsyCommando Jul 21, 2024
4fad633
Fixed + moved persistence emotes
PsyCommando Jul 23, 2024
805a7f8
missing turf icon state fix
PsyCommando Jul 23, 2024
b5bcbd7
Fix double encoding of matchmaking info input
out-of-phaze Jul 23, 2024
eec34c9
Merge pull request #4229 from MistakeNot4892/fixes/scav
out-of-phaze Jul 24, 2024
2d0a305
Merge pull request #4230 from MistakeNot4892/fix/autoinjector
out-of-phaze Jul 24, 2024
37de62f
Fix infinite recursion in megaleech spawner
out-of-phaze Jul 2, 2024
0e25e43
Fix public access method call_proc not using PROC_REF
out-of-phaze Jul 2, 2024
b324ae5
Fix radio transmitter not overwriting stale data
out-of-phaze Jul 2, 2024
325bd0c
Queue lock/unlock calls received during airlock open/close
out-of-phaze Jul 2, 2024
f427952
Merge pull request #4240 from out-of-phaze/fix/matchmaking-decode
MistakeNot4892 Jul 25, 2024
51a91bf
Merge pull request #4242 from out-of-phaze/fix/airlock-commands
MistakeNot4892 Jul 26, 2024
db0c181
Fixes and cleanup for chameleon projector.
MistakeNot4892 Jul 19, 2024
36796cf
Prevents food items from equalizing with turf reagents on fluid_act().
MistakeNot4892 Jul 26, 2024
ba24ccb
Random events default to enabled.
MistakeNot4892 Jul 30, 2024
2794fe9
Removes broken anchorable override from sofas.
MistakeNot4892 Jul 30, 2024
fea8343
Added hardness checks to pick interactions with walls and girders.
MistakeNot4892 Jul 30, 2024
6ff7d59
Adding failure messages to vote call.
MistakeNot4892 Jul 30, 2024
b7e7f1c
Adding turf safeguards to quick gather functionality.
MistakeNot4892 Jul 30, 2024
f91ba8f
Reordered submap init to allow modpacks to modify the global whitelist.
MistakeNot4892 Jul 30, 2024
dd3eccf
Adds several species to the default whitelisted submap list.
MistakeNot4892 Jul 30, 2024
3b2b675
Adding some guards to prevent mech melee from embedding.
MistakeNot4892 Jul 30, 2024
55a7b58
Grammar fix for mech shields.
MistakeNot4892 Jul 30, 2024
aed4c48
Prevents explosions and force bolts throwing things that aren't on tu…
MistakeNot4892 Jul 30, 2024
0328e0e
Fixes runtime when you don't have any hands.
MistakeNot4892 Jul 30, 2024
0520bb4
Added a hacky fix for humans with no hands being unable to attack.
MistakeNot4892 Jul 30, 2024
6f28fb7
Collapsing perp assessment to try and debug turrets.
MistakeNot4892 Jul 30, 2024
f16e3ff
Fixing ministation AI upload area not including turret controls.
MistakeNot4892 Jul 30, 2024
98049d3
added more diagnosis text for chargen
PsyCommando Jul 30, 2024
9bf05e8
added more diagnosis text for chargen
PsyCommando Jul 30, 2024
c57753a
Merge pull request #4227 from MistakeNot4892/rework/loadout
out-of-phaze Jul 30, 2024
eba91bb
This could contribute to the issue
PsyCommando Jul 30, 2024
1ce502b
Merge pull request #4276 from MistakeNot4892/fix/events
deathride58 Aug 1, 2024
d6a1e12
Fix corpse random name generation
out-of-phaze Aug 3, 2024
7d0818d
Fix missing articles in chicken and hand labeler code
out-of-phaze Aug 6, 2024
4868486
Constructed fountains now use material color.
MistakeNot4892 Aug 7, 2024
86e4448
Delete plates spawned by cooked food
out-of-phaze Aug 8, 2024
80af12e
Adds a null decl check to sanitizing.
MistakeNot4892 Aug 9, 2024
17a83d0
Merge pull request #4301 from MistakeNot4892/fix/fountaincolor
out-of-phaze Aug 9, 2024
c83cca0
Adds buckling check to entering a mech.
MistakeNot4892 Aug 9, 2024
70171e6
Fixes pAI icon state and radio init.
MistakeNot4892 Aug 9, 2024
d866e74
Silencer code cleanup.
MistakeNot4892 Aug 9, 2024
7a0ae37
Cleaning up projectile interaction code, adding alt interactions.
MistakeNot4892 Aug 9, 2024
06f9fb0
Merge pull request #4307 from out-of-phaze/fix/playing-chicken
MistakeNot4892 Aug 10, 2024
d4e103b
Merge pull request #4309 from out-of-phaze/fix/cooking-plates
MistakeNot4892 Aug 10, 2024
1e81a64
Fixes use of abstract type in Ministation CMO outfit.
MistakeNot4892 Aug 10, 2024
93d5f52
Added abstract type checking to outfit validation.
MistakeNot4892 Aug 10, 2024
f6e0aab
Merge pull request #4312 from MistakeNot4892/fix/loadout
out-of-phaze Aug 10, 2024
2680683
Merge pull request #4316 from MistakeNot4892/fix/scavs
out-of-phaze Aug 11, 2024
8edb0e9
Merge pull request #4320 from MistakeNot4892/fix/hypospray
out-of-phaze Aug 12, 2024
bfbfcee
Fixes guns being unpickupable.
MistakeNot4892 Aug 16, 2024
7c009a9
Merge pull request #4360 from MistakeNot4892/stable
MistakeNot4892 Aug 16, 2024
7e08f9d
Cherrypicking prosthetic faults codex fix from dev.
MistakeNot4892 Aug 16, 2024
1b31cfe
Fixes missing path in safety toggle interaction.
MistakeNot4892 Aug 16, 2024
2c0bf5f
Lowered glass return on dismantle to 1, since it's 1 pane of glass.
MistakeNot4892 Aug 16, 2024
e57e7fd
Merge pull request #4367 from MistakeNot4892/fix/nanopaste
out-of-phaze Aug 16, 2024
0a45283
Cleaning up/centralizing eating checks on /mob.
MistakeNot4892 Aug 19, 2024
df59c97
Deleting or setting species will not boot the mob client out as a brain.
MistakeNot4892 Aug 19, 2024
3464b12
Replaces Ministation roller rack (robot module) with a roller bad.
MistakeNot4892 Aug 19, 2024
d318b92
Cleaning up respawn flags on ghosts.
MistakeNot4892 Aug 19, 2024
587dca2
Merge pull request #4377 from MistakeNot4892/fix/stable
out-of-phaze Aug 20, 2024
dbf2ea7
Skintone defaults to the middle of the range.
MistakeNot4892 Aug 23, 2024
474431f
Merge pull request #4400 from MistakeNot4892/fix/skintone
out-of-phaze Aug 24, 2024
826ee7b
Disambiguates /chems messages about being full or empty.
MistakeNot4892 Aug 29, 2024
c499ca1
Merge pull request #4417 from MistakeNot4892/tweak/empties
out-of-phaze Aug 30, 2024
44d6644
Merge remote-tracking branch 'nebula_upstream/stable' into tweakbranch
PsyCommando Sep 7, 2024
22a40e8
merge fixes
PsyCommando Sep 7, 2024
2444894
Attempt pipeline fix
NataKilar Sep 12, 2024
70b8bfe
Prevent chargen stuff being spawned in del tests
PsyCommando Sep 12, 2024
9b3cb7c
Alternate fix for chargen del
PsyCommando Sep 12, 2024
86cb537
Fix repaths on outreach map
PsyCommando Sep 16, 2024
43cf298
Try to prevent chargen cryo being naughty
PsyCommando Sep 16, 2024
670ac18
Properly delete teminals
PsyCommando Sep 16, 2024
c8c6ca0
Removed buggy things from outreach map
PsyCommando Sep 24, 2024
55a846f
map palette file
PsyCommando Oct 2, 2024
b849bd4
Update all old syntax proc refs to new syntax 515
PsyCommando Oct 4, 2024
a47cf35
Remove some old terminal code
PsyCommando Oct 4, 2024
8be1771
Fix chargen on kleibkhar
PsyCommando Oct 12, 2024
577fdc1
Fix aghosting
PsyCommando Oct 12, 2024
92a2086
Get rid of the sleep on login
PsyCommando Oct 12, 2024
79cbd21
Injector uses offset terminal setup
PsyCommando Oct 12, 2024
be9d2d1
network access breaks unit tests in lockers
PsyCommando Oct 12, 2024
76923d5
Fix some mapping issues
PsyCommando Oct 12, 2024
2867203
Attempt to fix computer unit tests
PsyCommando Oct 13, 2024
c04915c
Fix mapping issues
PsyCommando Oct 13, 2024
b0c20e6
Update outreach_defines.dm
PsyCommando Oct 13, 2024
c5f7b9d
add missing circuits to fabricator
PsyCommando Oct 13, 2024
f1aecb6
fix last mis-oriented pipe
PsyCommando Oct 13, 2024
9f2406e
try to up the component limit on modular computers
PsyCommando Oct 13, 2024
3569299
Idk why this unit test exists
PsyCommando Oct 13, 2024
73533e0
reee
PsyCommando Oct 13, 2024
bfad708
just to make even more sure
PsyCommando Oct 13, 2024
83d7a1e
test removing duplicate apc
PsyCommando Oct 14, 2024
8567664
prints more diagnostic for too much parts
PsyCommando Oct 15, 2024
be31570
Compatibility fix
PsyCommando Jul 5, 2025
9d7286a
Remove duplicate APCs
PsyCommando Jul 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ on:
workflow_dispatch:

env:
BYOND_MAJOR: "514"
BYOND_MINOR: "1575"
SPACEMAN_DMM_VERSION: suite-1.7.2
BYOND_MAJOR: "515"
BYOND_MINOR: "1633"
SPACEMAN_DMM_VERSION: suite-1.8

jobs:
DreamChecker:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@ lib/*.so
# python
*.pyc
__pycache__
/maps/outreach/backup
8 changes: 6 additions & 2 deletions code/__defines/MC.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ if (Datum.is_processing) {\
PRINT_STACK_TRACE("Failed to start processing. [log_info_line(Datum)] is already being processed by [Datum.is_processing] but queue attempt occured on [#Processor]."); \
}\
} else {\
Datum.is_processing = #Processor;\
Datum.is_processing = Processor._internal_name;\
Processor.processing += Datum;\
}

Expand Down Expand Up @@ -125,6 +125,9 @@ if(Datum.is_processing) {\
NEW_SS_GLOBAL(SS##X);\
PreInit();\
}\
/datum/controller/subsystem/##X{\
_internal_name = "SS" + #X;\
}\
/datum/controller/subsystem/##X

#define PROCESSING_SUBSYSTEM_DEF(X) var/global/datum/controller/subsystem/processing/##X/SS##X;\
Expand All @@ -137,4 +140,5 @@ if(Datum.is_processing) {\
processing = SS##X.processing; \
}\
}\
/datum/controller/subsystem/processing/##X
/datum/controller/subsystem/processing/##X/_internal_name = "SS" + #X;\
/datum/controller/subsystem/processing/##X
54 changes: 20 additions & 34 deletions code/__defines/ZAS.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,28 @@
#define TURF_HAS_VALID_ZONE(T) (isturf(T) && T:zone && !T:zone:invalid)
#define SHOULD_PARTICIPATE_IN_ZONES(T) (isturf(T) && T:zone_membership_candidate && (!T:external_atmosphere_participation || !T:is_outside()))

#define ATMOS_CANPASS_MOVABLE(ret, AM, TARG_TURF) \
switch (AM.atmos_canpass) { \
if (CANPASS_ALWAYS) { } \
if (CANPASS_DENSITY) { \
if (AM.density) { \
ret |= AIR_BLOCKED; \
} \
} \
if (CANPASS_PROC) { \
ret |= (AIR_BLOCKED * !AM.CanPass(null, TARG_TURF, 0, 0)) | (ZONE_BLOCKED * !AM.CanPass(null, TARG_TURF, 1.5, 1)); \
} \
if (CANPASS_NEVER) { \
ret = BLOCKED; \
} \
}

#ifdef MULTIZAS

var/global/list/csrfz_check = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST, NORTHUP, EASTUP, WESTUP, SOUTHUP, NORTHDOWN, EASTDOWN, WESTDOWN, SOUTHDOWN)
var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST, UP, DOWN)

#define ATMOS_CANPASS_TURF(ret,A,B) \
#define ATMOS_CANPASS_TURF(ret, A, B) \
if (A.blocks_air & AIR_BLOCKED || B.blocks_air & AIR_BLOCKED) { \
ret = BLOCKED; \
} \
Expand All @@ -64,22 +80,7 @@ var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST, UP, DOWN)
ret = 0;\
for (var/thing in A) { \
var/atom/movable/AM = thing; \
switch (AM.atmos_canpass) { \
if (CANPASS_ALWAYS) { \
continue; \
} \
if (CANPASS_DENSITY) { \
if (AM.density) { \
ret |= AIR_BLOCKED; \
} \
} \
if (CANPASS_PROC) { \
ret |= (AIR_BLOCKED * !AM.CanPass(null, B, 0, 0)) | (ZONE_BLOCKED * !AM.CanPass(null, B, 1.5, 1)); \
} \
if (CANPASS_NEVER) { \
ret = BLOCKED; \
} \
} \
ATMOS_CANPASS_MOVABLE(ret, AM, B); \
if (ret == BLOCKED) { \
break;\
}\
Expand All @@ -90,7 +91,7 @@ var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST, UP, DOWN)
var/global/list/csrfz_check = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST)

#define ATMOS_CANPASS_TURF(ret,A,B) \
#define ATMOS_CANPASS_TURF(ret, A, B) \
if (A.blocks_air & AIR_BLOCKED || B.blocks_air & AIR_BLOCKED) { \
ret = BLOCKED; \
} \
Expand All @@ -101,22 +102,7 @@ var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST)
ret = 0;\
for (var/thing in A) { \
var/atom/movable/AM = thing; \
switch (AM.atmos_canpass) { \
if (CANPASS_ALWAYS) { \
continue; \
} \
if (CANPASS_DENSITY) { \
if (AM.density) { \
ret |= AIR_BLOCKED; \
} \
} \
if (CANPASS_PROC) { \
ret |= (AIR_BLOCKED * !AM.CanPass(null, B, 0, 0)) | (ZONE_BLOCKED * !AM.CanPass(null, B, 1.5, 1)); \
} \
if (CANPASS_NEVER) { \
ret = BLOCKED; \
} \
} \
ATMOS_CANPASS_MOVABLE(ret, AM, B); \
if (ret == BLOCKED) { \
break;\
}\
Expand Down
47 changes: 47 additions & 0 deletions code/__defines/_byond_version_compat.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#define REQUIRED_DM_VERSION 514

#if DM_VERSION < REQUIRED_DM_VERSION
#warn Nebula is not tested on BYOND versions older than 514. The code may not compile, and if it does compile it may have severe problems.
#endif

// 515 split call for external libraries into call_ext
#if DM_VERSION < 515
#define LIBCALL call
#else
#define LIBCALL call_ext
#endif

// So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof()
// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global.

#if DM_VERSION < 515

/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
#define PROC_REF(X) (.proc/##X)
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
#define VERB_REF(X) (.verb/##X)

/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc
#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb
#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X)

/// Call by name proc reference, checks if the proc is an existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)

#else

/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
#define PROC_REF(X) (nameof(.proc/##X))
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
#define VERB_REF(X) (nameof(.verb/##X))

/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc
#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))
/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb
#define TYPE_VERB_REF(TYPE, X) (nameof(##TYPE.verb/##X))

/// Call by name proc reference, checks if the proc is an existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)

#endif
7 changes: 2 additions & 5 deletions code/__defines/_compile_options.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,5 @@
// 1 will enable set background. 0 will disable set background.
#define BACKGROUND_ENABLED 0

#define REQUIRED_DM_VERSION 514

#if DM_VERSION < REQUIRED_DM_VERSION
#warn Nebula is not tested on BYOND versions older than 514. The code may not compile, and if it does compile it may have severe problems.
#endif
///If set, the persistence SS implementation on nebula is disabled and gutted out.
#define NO_NEB_PERSISTENCE 1
24 changes: 24 additions & 0 deletions code/__defines/atmos.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,27 @@
#define ATMOSTANK_HYDROGEN MOLES_IN(50000, CELL_VOLUME, T20C)
#define ATMOSTANK_HYDROGEN_FUEL MOLES_IN(25000, CELL_VOLUME, T20C)
#define ATMOSTANK_NITROUSOXIDE MOLES_IN(10000, CELL_VOLUME, T20C) // N2O doesn't have a real useful use, i guess it's on station just to allow refilling of sec's riot control canisters?
/////////////////////////////////////////
//Vent Pressure Check Flags
/////////////////////////////////////////

/// If set, the vent will check the external pressure bound value it has before pumping/siphoning gas to/from the environment
#define VENT_PRESSURE_CHECK_FLAG_EXTERNAL BITFLAG(1)
/// If set, the vent will check the internal vent's pressure bound value it has before pumping/siphoning gas to/from the environment
#define VENT_PRESSURE_CHECK_FLAG_INTERNAL BITFLAG(2)
/// The default pressure check flag value for vents
#define VENT_PRESSURE_CHECK_FLAG_DEFAULT VENT_PRESSURE_CHECK_FLAG_EXTERNAL

/////////////////////////////////////////
//Vent Default Pressure Bounds
/////////////////////////////////////////

/// The pressure inside the vent at which it will stop pumping gas into the environment by default.
#define VENT_DEFAULT_INTERNAL_PRESSURE_PUMP 0
/// The pressure inside the vent at which it will stop siphoning gas from the environment by default.
#define VENT_DEFAULT_INTERNAL_PRESSURE_SIPHON MAX_PUMP_PRESSURE

/// The pressure in the environment of a vent at which it will stop pumping gas by default.
#define VENT_DEFAULT_EXTERNAL_PRESSURE_PUMP ONE_ATMOSPHERE
/// The pressure in the environment of a vent at which it will stop siphoning gas from by default.
#define VENT_DEFAULT_EXTERNAL_PRESSURE_SIPHON 0
6 changes: 2 additions & 4 deletions code/__defines/bodytype.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@

// Bodytype appearance flags
#define HAS_SKIN_TONE_NORMAL BITFLAG(0) // Skin tone selectable in chargen for baseline humans (0-220)
#define HAS_SKIN_COLOR BITFLAG(1) // Skin colour selectable in chargen. (RGB)
#define HAS_LIPS BITFLAG(2) // Lips are drawn onto the mob icon. (lipstick)
#define HAS_SKIN_COLOR BITFLAG(1) // Skin color selectable in chargen. (RGB)
#define HAS_UNDERWEAR BITFLAG(3) // Underwear is drawn onto the mob icon.
#define HAS_EYE_COLOR BITFLAG(4) // Eye colour selectable in chargen. (RGB)
#define HAS_HAIR_COLOR BITFLAG(5) // Hair colour selectable in chargen. (RGB)
#define HAS_EYE_COLOR BITFLAG(4) // Eye color selectable in chargen. (RGB)
#define RADIATION_GLOWS BITFLAG(6) // Radiation causes this character to glow.
#define HAS_SKIN_TONE_GRAV BITFLAG(7) // Skin tone selectable in chargen for grav-adapted humans (0-100)
#define HAS_SKIN_TONE_SPCR BITFLAG(8) // Skin tone selectable in chargen for spacer humans (0-165)
Expand Down
11 changes: 11 additions & 0 deletions code/__defines/chargen.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
//Some helpers for passing chargen state around
///Chargen state for minds of entities that do not go through chargen. Prevents skipping save on potentially desired saved entities.
#define CHARGEN_STATE_NONE -1
///Chargen state for new characters going through the character generator. This indicates the origins form was not completed yet.
#define CHARGEN_STATE_FORM_INCOMPLETE 0
///Chargen state for new characters going through the character generator. This indicates the origins form was filled and submitted.
#define CHARGEN_STATE_FORM_COMPLETE 1
///Chargen state for new characters going through the character generator. This indicates the character is in the spawn pod and is waiting to be moved to spawn.
#define CHARGEN_STATE_AWAITING_SPAWN 2
///Chargen state for new characters going through the character generator. This indicates the character was spawned in the world and chargen is completed.
#define CHARGEN_STATE_FINALIZED 3
11 changes: 7 additions & 4 deletions code/__defines/chemistry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,13 @@
#define REAGENT_VOLUME(REAGENT_HOLDER, REAGENT_TYPE) (REAGENT_HOLDER?.reagent_volumes && REAGENT_HOLDER.reagent_volumes[REAGENT_TYPE])
#define REAGENT_DATA(REAGENT_HOLDER, REAGENT_TYPE) (REAGENT_HOLDER?.reagent_data && REAGENT_HOLDER.reagent_data[REAGENT_TYPE])

#define MAT_SOLVENT_NONE 0
#define MAT_SOLVENT_MILD 1
#define MAT_SOLVENT_MODERATE 2
#define MAT_SOLVENT_STRONG 3
#define MAT_SOLVENT_NONE 0
#define MAT_SOLVENT_MILD 1
#define MAT_SOLVENT_MODERATE 2
#define MAT_SOLVENT_STRONG 3
#define MAT_SOLVENT_VERY_STRONG 7
#define MAT_SOLVENT_STRONGEST 10
#define MAT_SOLVENT_IMMUNE INFINITY

#define DIRTINESS_DECONTAMINATE -3
#define DIRTINESS_STERILE -2
Expand Down
8 changes: 8 additions & 0 deletions code/__defines/colors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
#define COLOR_GREEN_GRAY "#8daf6a"
#define COLOR_DARK_GREEN_GRAY "#54654c"
#define COLOR_BLUE_GRAY "#6a97b0"
#define COLOR_MID_BLUE_GRAY "#666699"
#define COLOR_DARK_BLUE_GRAY "#3e4855"
#define COLOR_SURGERY_BLUE "#e0f2f6"
#define COLOR_SUN "#ec8b2f"
Expand Down Expand Up @@ -92,6 +93,13 @@
#define COLOR_CRYSTAL "#00c8a5"
#define COLOR_ASTEROID_ROCK "#735555"
#define COLOR_DIAMOND "#d8d4ea"
#define COLOR_BLOOD_RED "#990000"
#define COLOR_PALE_GOLD "#cc9900"
#define COLOR_ROYAL_BLUE "#0033ff"
#define COLOR_VERDANT_GREEN "#287d00"
#define COLOR_SCIENCE_PURPLE "#6633cc"

#define COLOR_SUPPLY_BROWN "#967032"

#define PIPE_COLOR_GREY "#808080"
#define PIPE_COLOR_RED "#ff0000"
Expand Down
4 changes: 4 additions & 0 deletions code/__defines/credits.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#define CREDIT_ROLL_SPEED 185
#define CREDIT_SPAWN_SPEED 20
#define CREDIT_ANIMATE_HEIGHT (14 * world.icon_size)
#define CREDIT_EASE_DURATION 22
2 changes: 2 additions & 0 deletions code/__defines/damage.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
///The decimal precision for health values. Health will be rounded against this value.
#define HEALTH_ROUNDING 0.01
15 changes: 7 additions & 8 deletions code/__defines/flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ especially on common types like /atom or /atom/movable.

- FLAG SETTING
// When setting default flags on type definitions, they are combined with bitwise OR:
// atom_flags = ATOM_FLAG_CLIMBABLE | ATOM_FLAG_OPEN_CONTAINER | ATOM_FLAG_NO_TEMP_CHANGE
// atom_flags = ATOM_FLAG_CLIMBABLE | ATOM_FLAG_OPEN_CONTAINER
// Be mindful of flags set on parent types, as setting flags on a child type will override the parent flags.
// Flags are also set at runtime with bitwise OR:
// atom_flags |= ATOM_FLAG_CLIMBABLE
Expand All @@ -40,13 +40,12 @@ The latter will result in a linter warning and will not work correctly.
#define ATOM_FLAG_NO_REACT BITFLAG(3) // Reagents don't react inside this container.
#define ATOM_FLAG_OPEN_CONTAINER BITFLAG(4) // Is an open container for chemistry purposes.
#define ATOM_FLAG_INITIALIZED BITFLAG(5) // Has this atom been initialized
#define ATOM_FLAG_NO_TEMP_CHANGE BITFLAG(6) // Reagents do not cool or heat to ambient temperature in this container.
#define ATOM_FLAG_CAN_BE_PAINTED BITFLAG(7) // Can be painted using a paint sprayer or similar.
#define ATOM_FLAG_SHIELD_CONTENTS BITFLAG(8) // Protects contents from some global effects (Solar storms)
#define ATOM_FLAG_ADJACENT_EXCEPTION BITFLAG(9) // Skips adjacent checks for atoms that should always be reachable in window tiles
#define ATOM_FLAG_NO_DISSOLVE BITFLAG(10) // Bypasses solvent reactions in the container.
#define ATOM_FLAG_NO_PHASE_CHANGE BITFLAG(11) // Bypasses heating and cooling product reactions in the container.
#define ATOM_FLAG_BLOCK_DIAGONAL_FACING BITFLAG(12) // Atom cannot face non-cardinal directions.
#define ATOM_FLAG_CAN_BE_PAINTED BITFLAG(6) // Can be painted using a paint sprayer or similar.
#define ATOM_FLAG_SHIELD_CONTENTS BITFLAG(7) // Protects contents from some global effects (Solar storms)
#define ATOM_FLAG_ADJACENT_EXCEPTION BITFLAG(8) // Skips adjacent checks for atoms that should always be reachable in window tiles
#define ATOM_FLAG_NO_DISSOLVE BITFLAG(9) // Bypasses solvent reactions in the container.
#define ATOM_FLAG_NO_PHASE_CHANGE BITFLAG(10) // Bypasses heating and cooling product reactions in the container.
#define ATOM_FLAG_BLOCK_DIAGONAL_FACING BITFLAG(11) // Atom cannot face non-cardinal directions.

#define ATOM_FLAG_NO_CHEM_CHANGE (ATOM_FLAG_NO_REACT | ATOM_FLAG_NO_DISSOLVE | ATOM_FLAG_NO_PHASE_CHANGE)

Expand Down
57 changes: 36 additions & 21 deletions code/__defines/fluids.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,48 @@
#define FLUID_SHALLOW 200 // Depth shallow icon is used
#define FLUID_OVER_MOB_HEAD 300 // Depth icon layers over mobs.
#define FLUID_DEEP 800 // Depth deep icon is used
#define FLUID_VERY_DEEP FLUID_DEEP*2 // Solid fill icon is used
#define FLUID_MAX_DEPTH FLUID_DEEP*4 // Arbitrary max value for flooding.
#define FLUID_PUSH_THRESHOLD 20 // Amount of flow needed to push items.
/turf
var/_fluid_source_is_active = FALSE
var/_fluid_turf_is_active = FALSE

// Expects /turf for T.
#define ADD_ACTIVE_FLUID_SOURCE(T) if(!T.changing_turf) { SSfluids.water_sources[T] = TRUE; }
#define REMOVE_ACTIVE_FLUID_SOURCE(T) SSfluids.water_sources -= T
// Expects /turf for TURF.
#define ADD_ACTIVE_FLUID_SOURCE(TURF) \
if(!QDELETED(TURF) && !TURF.changing_turf && !TURF._fluid_source_is_active) { \
TURF._fluid_source_is_active = TRUE; \
SSfluids.water_sources += TURF; \
}

// Expects /obj/effect/fluid for F.
#define ADD_ACTIVE_FLUID(F) if(!QDELETED(F)) { SSfluids.active_fluids[F] = TRUE; }
#define REMOVE_ACTIVE_FLUID(F) SSfluids.active_fluids -= F
#define REMOVE_ACTIVE_FLUID_SOURCE(TURF) \
if(!QDELETED(TURF) && TURF._fluid_source_is_active) { \
TURF._fluid_source_is_active = FALSE; \
SSfluids.water_sources -= TURF; \
}

// Expects turf for T,
#define UPDATE_FLUID_BLOCKED_DIRS(T) \
if(isnull(T.fluid_blocked_dirs)) {\
T.fluid_blocked_dirs = 0; \
for(var/obj/structure/window/W in T) { \
if(W.density) T.fluid_blocked_dirs |= W.dir; \
} \
for(var/obj/machinery/door/window/D in T) {\
if(D.density) T.fluid_blocked_dirs |= D.dir; \
} \
}
#define ADD_ACTIVE_FLUID(TURF) \
if(!QDELETED(TURF) && !TURF._fluid_turf_is_active) { \
TURF._fluid_turf_is_active = TRUE; \
SSfluids.active_fluids += TURF; \
}

// We share overlays for all fluid turfs to sync icon animation.
#define APPLY_FLUID_OVERLAY(img_state) \
if(!SSfluids.fluid_images[img_state]) SSfluids.fluid_images[img_state] = image('icons/effects/liquids.dmi',img_state); \
add_overlay(SSfluids.fluid_images[img_state]);
#define REMOVE_ACTIVE_FLUID(TURF) \
if(!QDELETED(TURF) && TURF._fluid_turf_is_active) { \
TURF._fluid_turf_is_active = FALSE; \
SSfluids.active_fluids -= TURF; \
}

#define UPDATE_FLUID_BLOCKED_DIRS(TURF) \
if(isnull(TURF.fluid_blocked_dirs)) { \
TURF.fluid_blocked_dirs = 0; \
for(var/obj/structure/window/W in TURF) { \
if(W.density) TURF.fluid_blocked_dirs |= W.dir; \
} \
for(var/obj/machinery/door/window/D in TURF) { \
if(D.density) TURF.fluid_blocked_dirs |= D.dir; \
} \
}

#define FLUID_MAX_ALPHA 200
#define FLUID_MIN_ALPHA 96
Expand Down
Loading
Loading