Commit Graph

195 Commits

Author SHA1 Message Date
duncathan salt bea8d35ff5 Merge pull request #13437 from neersighted/clickable_stats
Refactor MC/Failsafe/add Subsystems
2015-12-07 19:58:46 -06:00
Bjorn Neergaard 815ac7d2f9 Defcon improvements, renames, etc 2015-12-04 23:24:50 -06:00
Tkdrg 61e0817fd9 Fixes APC emp_act
Fixes #13412
2015-12-03 15:28:07 -03:00
duncathan salt ad410e39d8 Merge pull request #13296 from neersighted/nanoui_checks
Fix some NanoUI checks
2015-11-29 18:36:18 -06:00
Bjorn Neergaard 06e5df9336 Fix NanoUI missing assignment; use two-line ifs 2015-11-29 18:20:10 -05:00
Jordie da0c466f82 Merge pull request #13149 from Firecage/toolspeed
Adds toolspeed
2015-11-29 21:06:15 +11:00
Bjorn Neergaard b897fb6d72 Fix NanoUIs flashing, update Tanks, Solars, and Canisters 2015-11-27 15:30:18 -05:00
Bjorn Neergaard 1a44e3d851 Refactor NanoUI API
Also update NanoUI-using code to the new API.
2015-11-26 07:11:31 -05:00
Bjorn Neergaard 4e5edf396a Update NanoUI
* Update NanoUI to the latest version, ported from Baystation12
* Update the Air Alarm UI
* Make changes to subsystems and some machines to make the new NanoUI
work
2015-11-26 07:11:27 -05:00
Firecage c933363062 Adds the toolspeed var and adds it to most usages of tools which has a timer 2015-11-21 19:24:14 +02:00
Nerd Lord f458c2cead The blob eats nondense things in all cases.
Probably fixes one or two bugs in the process.
2015-11-20 21:03:43 -05:00
phil235 d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
phil235 47909d525f Changes smoke to behave more like foam. Each covered tile has one smoke cloud. This makes smoke clouds much less random, especially in terms of reagent application.
Also smoke reaction now uses the TOUCH method instead of VAPOR, to differentiate smoke and foam. Mob without internals or gas masks also ingests reagents in the smoke.
Moved nanofrost smoke code to effects/effect_system/effects_smoke.dm
2015-10-15 21:52:37 +02:00
phil235 c95d0e740d Merge pull request #12144 from Shadowlight213/MalfBrain
Makes the Ai braindead message not appear if the AI shunts
2015-10-10 12:21:17 +02:00
phil235 c4c447a8dc Fixes hotspot having two New() procs.
Fixes many machines and a few structure not having a cooldown when attacked with an item.
Fixes not being able to eat or be facehugged when wearing riot helmet with visor up.
Fixes not being able to use child of the tool type for craft recipes requiring tools.
Tablecrafting failure message now tells you what caused the failure (missing tool, missing component)
Fixes fuego plasma burrito recipe.
Fixes being able to grab cups from water cooler with telekinesis, putting the cup directly in your hand.
Fixes golem appearing with their old human name for a split second.
Some changes to make code more OOP (take_damage() proc for barricade, shieldgen, etc)
Some tweaks to light tube building code.
2015-10-08 19:50:01 +02:00
Shadowlight213 6c20ce8451 Makes the AI braindead message not appear if the Ai is currently shunted. 2015-10-04 00:50:30 -07:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
c0 df7386a4ec Assemblies update 2015-09-04 11:22:37 +03:00
Razharas d1c417e996 Merge pull request #11416 from xxalpha/airlockQDEL
Added qdel(wires) to a bunch of objects Destroy proc.
2015-08-31 00:08:27 +03:00
c0 97b792bbc3 Changed some circuits paths to reduce copypasta 2015-08-30 16:58:13 +03:00
c0 8474086bce Buttons and wall frames rework 2015-08-28 02:01:49 +03:00
xxalpha 19947d4fa0 Added qdel(wires) to a bunch of objects Destroy proc.
Return ..()
2015-08-27 11:10:58 +01:00
Firecage dfae1e0b53 Changes a lot of del() to qdel() 2015-08-16 23:33:22 +02:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Remie Richards d9ec8a1008 area/proc/get_apc() is no longer shit and does not lag (AT ALL) on large areas anymore, the new method stores a list of all APCs in the world, and checks if their area var is equal to the area get_apc() was called on. 2015-06-30 12:20:28 +01:00
phil235 a029f2852a Merge branch 'master' of https://github.com/tgstation/-tg-station into AcidFix
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
2015-06-24 21:15:09 +02:00
Iamgoofball a8ec1c76df Merge branch 'master' of https://github.com/tgstation/-tg-station into graphics
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/game/machinery/computer/computer.dm
	code/game/objects/items/weapons/explosives.dm
	code/game/objects/structures/crates_lockers/closets/fireaxe.dm
	code/game/objects/structures/musician.dm
	code/game/objects/structures/tables_racks.dm
	code/game/objects/structures/window.dm
2015-06-23 12:54:26 -07:00
phil235 3f57259c69 Merge pull request #9466 from Fayrik/TheNanoing
The Nanoing (Episode 2: The Fix Wars)
2015-06-22 14:24:20 +02:00
phil235 b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
phil235 e6dcabf245 Merge pull request #9960 from xxalpha/bass
Put drop_item() calls inside ifs. Replaced some drop_item() with unEq…
2015-06-18 15:50:35 +02:00
xxalpha b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Iamgoofball c2256d41fc BAR NOW SHOWS UP ON THE OBJECT YOU'RE INTERACTING WITH 2015-06-13 13:58:08 -07:00
Iamgoofball 7b475df05e removes the do_after() from emagging apcs 2015-06-12 15:49:22 -07:00
Iamgoofball a19e95dba5 Removes RNG chance to fail to emag an APC
literally why was this a thing

see the pr that removes it from borgs for reasoning
2015-06-12 14:59:05 -07:00
Firecage f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
Fayrik 474bf2667c Almost like magic, it works. CODE MAGIC. 2015-05-12 22:23:25 +01:00
Jordie0608 7369992d3d further reorganization, elimination of old defines folder 2015-05-09 23:16:57 +10:00
kingofkosmos 761d31cea0 More visible.message span classes removed. 2015-04-24 21:24:21 +03:00
kingofkosmos a7bd5f93e1 "You hear something" set to italics. 2015-04-24 21:06:16 +03:00
kingofkosmos 3304ffa45f span fixes 2015-04-24 20:52:01 +03:00
kingofkosmos 1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
phil235 a55e6a70be Fixes malf AI lockdown affecting doors on z levels other than station and mining.
Replaces a lot of z level numbers in code by their respective defines.
Adding a define for the Mining asteroid z level.
2015-01-11 15:39:32 +01:00
carnie a3f5e7ebfd Merge branch 'master' of https://github.com/tgstation/-tg-station into SubSystems
Conflicts:
	code/game/gamemodes/setupgame.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/reagents/Chemistry-Machinery.dm
2015-01-04 01:52:14 +00:00
tkdrg 34c4c02777 Merge pull request #6646 from RemieRichards/TerminalDecon
Terminal Deconstruction
2014-12-31 21:47:47 -03:00
Remie Richards 341b147088 You can now deconstruct terminals provided the APC or SMES is prepared for this (eg, open panels, exposed wires etc.) 2014-12-31 23:35:07 +00:00
carnie a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
Perakp ee3617310e Merge remote-tracking branch 'upstream/master' into droneFix 2014-12-30 13:32:51 +02:00
Hornygranny 99f364f480 makes APC call parent 2014-12-09 18:53:29 -08:00
Hornygranny af3f1aa4d8 Merge remote-tracking branch 'remotes/upstream/master' into emagrefactor
Conflicts:
	code/game/machinery/deployable.dm
	code/game/objects/items/weapons/storage/lockbox.dm
	code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
	code/modules/clothing/glasses/hud.dm
	code/modules/mob/living/silicon/robot/robot.dm
2014-12-09 16:03:45 -08:00