Skip to content

Releases: frosty-dev/wdmos

514 HELL

23 Apr 01:45
Compare
Choose a tag to compare

Monstermos for Unix and Windows.
Debugger is dead. For debug purposes you can use https://github.com/willox/auxtools with this extools version.

ATTENTION! If you want to compile this shit on linux you should use Clang instead of g++. Because yes.

Stable

19 Mar 09:21
Compare
Choose a tag to compare

air.dm

/datum/controller/subsystem/air/Initialize(timeofday)
	extools_update_ssair()
	map_loading = FALSE
	setup_allturfs()
	setup_atmos_machinery()
	setup_pipenets()
	gas_reactions = init_gas_reactions()
	extools_update_reactions()
	return ..()

/datum/controller/subsystem/air/proc/extools_update_ssair()
/datum/controller/subsystem/air/proc/extools_update_reactions()

reactions.dm

/proc/init_gas_reactions()
	. = list()

	for(var/r in subtypesof(/datum/gas_reaction))
		var/datum/gas_reaction/reaction = r
		if(initial(reaction.exclude))
			continue
		reaction = new r
		var/datum/gas/reaction_key
		for (var/req in reaction.min_requirements)
			if (ispath(req))
				var/datum/gas/req_gas = req
				if (!reaction_key || initial(reaction_key.rarity) > initial(req_gas.rarity))
					reaction_key = req_gas
		reaction.major_gas = reaction_key
		. += reaction
	sortTim(., /proc/cmp_gas_reaction)

/proc/cmp_gas_reaction(datum/gas_reaction/a, datum/gas_reaction/b) // compares lists of reactions by the maximum priority contained within the list
	return b.priority - a.priority

gas_mixture.dm

/datum/gas_mixture/proc/react(datum/holder)
	//Performs various reactions such as combustion or fusion (LOL)
	//Returns: 1 if any reaction took place; 0 otherwise