Commit Graph

124 Commits

Author SHA1 Message Date
Chompstation Bot
fb343cec6c [MIRROR] Linter diagnostics + bans non-var relative pathing 2021-06-22 22:17:02 +00:00
Anewbe
eebb627f00 Partially ports the GLOB system 2018-08-14 18:14:09 -05:00
Neerti
be73b8c36a for(var/bad_code in world)
Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
2018-04-29 17:55:04 -04:00
Leshana
676efe73e5 Move Xenoarcheology globals and initialization into a subsystem
* Move the global spawning_turfs lists from master_controller into SSxenoarch.  Rename all references.
* Move the call to SetupXenoarch from master_controller.setup() to SSxenoarch.Initialize()  Put SSxenoarch init order near the end to match current behavior.
2018-02-06 01:08:10 -05:00
Leshana
5847319443 Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-05 15:50:13 -05:00
Leshana
44dc4b7286 Implement SSatoms
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
2018-02-05 15:50:06 -05:00
Leshana
5a2162a264 Preliminary implementation of ZAS as a StonedMC subsystem.
* Creates the SSair subsystem which replaces the Setup, Start(), and Tick() procs of air_master.
* It may be best to have SSair completely replace air_master, but for now we are having them work together.   It does completely replace the old processScheduer air ticker however.
* Remove the obsolete Setup and Tick procs.
* Adjust admin and debug verbs that dealt with some ZAS internals to work with the new implementation.
2018-01-30 12:28:45 -05:00
Leshana
224fe42e77 Prepare Atmospherics Machinery for SSatoms (#4501)
* to_chat() replacement.

* Revert calling target.init_dir() before connecting.

* This change was added in https://github.com/PolarisSS13/Polaris/pull/3775 to counteract `dir` not being set prior to New() for dynamically loaded maps.  The root cause was /atom/New() not calling _preloader.load().  Undoing the change now that /atom/New() is fixed.
* The addition of the init_dir() proc itself however, is useful, because there ARE other times some atmos machinery will want to re-initialize its dir, specifically whenever it is rotated.
* init_dir() must be called in the constructor of all atmospherics machines capable of connecting to another.   Since it has to happen for ALL machines, lets move that call to /obj/machinery/atmospherics/New()

* Rename /obj/machinery/atmospherics initialize() to atmos_init()

* These days `initialize()` is used to handle general object initialization that is moved outside of New().  The node connection discovery of atmos machinery needs to happen after all that, and so needs to be in a separate proc.
* Make sure to actually call atmos_init during system startup.
2018-01-06 10:52:56 -06:00
Woodratt
10c8586db0 Rough port of
a8c9bb786a

Unsure if I even did it correctly, but seems to function in the brief tests done, no compile errors.

In preparation of porting the massive number of floor decals for the new map.
2017-08-21 14:44:25 -07:00
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana
90dff0ae63 Ports /tg's StonedMC Subsystem from Baystation12
* Partial port of @PsiOmegaDelta's https://github.com/Baystation12/Baystation12/pull/16820
* Only ports the StonedMC changes, not the garbage collector (forthcoming in future)
2017-05-30 21:00:37 -04:00
Neerti
411bd2b05b Ports Turbolifts from Bay. 2017-03-04 21:35:00 -05:00
SinTwo
eabefc538a Revert "Merge branch 'master' of https://github.com/PolarisSS13/Polaris into NanoGrade"
This reverts commit 6bb5409349, reversing
changes made to f6a83d5ee0.
2016-08-15 12:58:00 -04:00
SinTwo
4fa126b7e7 a whole lot of nanoui upgrades 2016-06-24 00:43:16 -04:00
Yoshax
f75d509e7f Ports event system from Bay 2016-06-01 22:05:04 +01:00
PsiOmega
3d03842f8a Adds missing closing quote. 2015-08-10 18:10:53 +02:00
PsiOmega
570806046b Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/clothing/clothing.dm
	code/modules/mob/living/carbon/human/inventory.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/robot/custom_sprites.dm
	code/modules/organs/organ_stump.dm
	code/setup.dm
2015-08-10 17:56:14 +02:00
PsiOmega
fb6ab23189 Makes the new initialization message use the proper method. 2015-08-10 17:46:38 +02:00
PsiOmega
a710e77d46 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/controllers/master_controller.dm
	code/game/area/areas.dm
2015-08-10 17:42:40 +02:00
mwerezak
12549b7e93 Fixes area power initialization
Power channels start on when objects initialize, then are turned off and area machines notified in area initialization if an apc is not found.
2015-08-09 19:58:37 -04:00
Zuhayr
ebe62cefd8 Refactored random map generator system and added several terrain generators.
Created a global list to track base turfs for explosions/shuttle moves.
Remaps the asteroid to be a moonlet. Tidies up some references to 'asteroid', removes moonbase from the accessible z level list.
2015-06-03 04:36:19 +09:30
PsiOmega
729a7a3ec9 Gamestart cleanup.
* setup_economy() was called twice.
* Game state is set to playing just before creating characters, this ensures equipment such as headsets initialize properly().
* Removes the sleep in manifest creation. Prevents duplicate manifest entries from occurring if one joins within 4 seconds of round start.
2015-05-16 10:59:45 +02:00
Atlantiscze
91e3ced65e Powersink Fix
- Fixes powersinks lasting for infinite duration before exploding.
- Minor adjustment to powersink drain rates. Powersink now drains up to 1.5MW instead of  1MW. It also attempts to drain up to 5kW instead of 2kW from each APC, unless powernet supplies enough power. They can still be overpowered by pumping more than 1.5MW into the grid, which is possible if you either install more coils into main SMES, or use the solars. Even 1MW of default SMES is enough to slow the drain effect considerably, espicially if you can isolate it with breakers.
- Fixes "APC Flickering" issues caused by powersinks. Powersinks are now processed immediately after powernets, which ensures they are first to take power from that powernet. This is unfortunately necessary as APCs would take power first, which is not desired.
- Minor refactor while i was at it - absolute paths, span classes, visible_message() instead of for cycle. No gameplay effect.
2015-05-05 18:49:11 +02:00
PsiOmega
1fea589ad7 Merge remote-tracking branch 'upstream/dev' into TheSummoning
Conflicts:
	code/game/machinery/cryopod.dm
	code/game/objects/items/weapons/clown_items.dm
2015-04-24 17:13:37 +02:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
PsiOmega
eca7569077 Clean server start.
Server start messages concerning initialization, object generation, etc. is now only propagated to users with R_DEBUG access.
2015-04-18 15:32:25 +02:00
Zuhayr
3718245e45 Moves asteroid generation prior to geometry initialization. Adds config for asteroid generation. 2015-03-21 11:13:53 +10:30
Zuhayr
98da191ac3 Gamemode refactor, lots of code shuffles, PR will have details. 2015-03-21 11:08:17 +10:30
PsiOmega
fac4eb08e3 Alarm subsystem is now processed by the scheduler. Removes now dead code. 2015-03-13 10:36:47 +01:00
Graham Lloyd
160183ebd5 finishes work on adapting the goon process scheduler for BS12. 2015-03-04 05:14:36 -05:00
PsiOmega
ec4b8c78a1 Merge remote-tracking branch 'upstream/dev' into subsystems
Conflicts:
	code/game/machinery/camera/camera.dm
	code/modules/mob/mob.dm
2015-02-17 08:36:12 +01:00
PsiOmega
2e9c266a2f Basic main structure for centralized alarm handling. 2015-02-17 08:34:26 +01:00
Zuhayr
a8089d4437 Merge master into dev. 2015-02-12 23:01:08 +10:30
mwerezak
b7e3a14e0d Fixes machines being usable after a power failure
Fixes machines not gaining the NOPOWER flag after a power failure
because they were turned off and had use_power set to 0.
Fixes machines not gaining the NOPOWER flag after being moved into an
area with no power.

Both bugs allowed power using machines to be used in areas with no
power.
2015-02-11 23:28:53 -05:00
Zuhayr
7ed0e26b59 Readded asteroid secret placement, adjusted some values. 2015-01-23 13:40:10 +10:30
Zuhayr
5c37b9e58c Committing some maze fixes and trying to reproduce a weird DD bug. 2015-01-23 13:40:06 +10:30
Zuhayr
cd494cdef1 Added masking turf for asteroid field, fixed issues with distribution map. Replaced asteroid field with mask turf. 2015-01-23 13:40:05 +10:30
Zuhayr
07793edc85 Converted mining map over to this new system. Currently broken. 2015-01-23 13:40:03 +10:30
Wild Bill
5bae906c47 Reserve PascalCase inits 2014-12-16 16:20:50 +02:00
PsiOmega
0468f12e91 Merge remote-tracking branch 'upstream/dev' into APC
Conflicts:
	code/game/gamemodes/events/power_failure.dm
	code/modules/power/smes.dm
2014-11-11 14:13:02 +01:00
PsiOmega
955b64e0a5 Merge remote-tracking branch 'upstream/dev' into APC. Updates map with new SMES variable names. 2014-11-03 12:51:01 +01:00
PsiOmega
ff14da90b3 Random Event Overhaul
Alters the event controller based on http://baystation12.net/forums/viewtopic.php?f=5&t=10706.
Exception is that there is always some start time variance to prevent metagaming.

Mundane, moderate, and major events run on their own timers and start and run independantly of each other.
Multiple events of the same severity degree can run at the same time. However, currently only one instance of the same event can be active at a time.
2014-11-03 09:22:37 +01:00
GinjaNinja32
df29429e0e Add dd_insertObjectList proc, adjust obj/machinery/New to use this proc 2014-10-30 22:59:10 +00:00
PsiOmega
a1c19b78be Ports more of /tg/'s powernet code.
Among other things this fixes a a bug where SMES would draw excess power from the powergrid they were outputting to, rather than drawing from.
2014-10-29 14:01:35 +01:00
PsiOmega
8e3861141c Merge branch 'dev' into PowerTwo
Conflicts:
	code/modules/power/solar.dm
2014-10-24 13:32:36 +02:00
PsiOmega
1cabbbf5a6 Master controller no longer annihilate powernets, powernets annihilate themselves.
Some misc. changes.
2014-10-15 09:44:15 +02:00
Zuhayr
ca13d1d5d8 Fixes chem splicing, bioluminescence and seed packets for xenobotany. 2014-10-15 10:05:50 +10:30
PsiOmega
a1ee4e766b Basically ripped over /tg/'s powernet and cable code into our own codebase.
Keeps Z-level code as it was.
Modifies/restores powernet procs as necessary to match our own implementation changes.
2014-10-13 17:13:04 +02:00
Zuhayr
431a7474ea Merge branch 'master' of https://github.com/Baystation12/Baystation12 into dev 2014-10-07 10:06:17 +10:30
Mloc
056fbd79d1 fixes #6599
also small improvements to the loadout system

Signed-off-by: Mloc <colmohici@gmail.com>
2014-10-06 09:57:01 +01:00