Commit Graph

66 Commits

Author SHA1 Message Date
Emmett Gaines
0943e56e08 Adds the signal origin as the first arg to all signals (#39861)
* Adds the signal origin as the first arg to all signals

* Fixes some storage and nanite procs
2018-08-28 18:28:29 +03:00
Emmett Gaines
418ea4fa2a Fixes redirect component transfers (#39290) 2018-07-24 21:03:53 +02:00
AnturK
641a7d15c9 Fixes infrared emmiters partially. (#38301)
* Fixes infrared noticing it's own exit.

* Also this.
2018-06-06 22:24:57 +03:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
ShizCalev
b4d11c6eab Shows assemblies some love. ♥ (#37632)
* Shows assemblies some love.

* TRUE

* More cleanup and fixes

* feedback

* does needful

* true
2018-05-06 15:05:37 +03:00
ShizCalev
969248a99e infrared emitter rotate component 2018-05-02 07:40:50 -04:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
ShizCalev
bfde5ac057 [s] Fixes altclick exploits (#35456)
* Fixes altclick exploits

* Removed free spam, fixes monkey altclicks

* replaced named args with proper defines

* More cleanup and fixes

* Better yet

* Another exploit fix

* pet carrier fix
2018-02-11 16:06:12 +13:00
kevinz000
464fd962a3 Infrared Refactor (#34142)
bugfix: Infrared beams now update instantly.
2018-01-23 20:32:08 +13:00
ninjanomnom
7b7b67edd8 In-code key handling system 2017-11-30 07:40:27 -05:00
Jordie
baddcf4c8a Merge pull request #32889 from ShizCalev/turn-consistency
Makes some turning procs consistently turn clockwise
2017-11-20 15:24:52 +11:00
ShizCalev
94002ab42e Rotation proc clockwise consistency 2017-11-18 23:54:13 -05:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
Emmett Gaines
825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
Kyle Spier-Swenson
f2cf4c2f5c [ready]Makes bIcon better (#29690)
Goonchat will use the asset cache, you now have to specify who to send the icons too.

Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.

Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
2017-08-14 10:40:50 +12:00
oranges
e04fd83b9d Rename Bumped to CollidedWith
In light of the change of Bump to Collide, this should also be done
as it will make it less confusing for devs in the future

I also ended up changing a bunch of the code in the CollidedWith procs,
things that were assuming types, doing bad loc changes and so forth
2017-07-15 00:25:22 +00:00
oranges
5494f5328a Rename Bump to Collide (#29207)
This reduces confusion arising from the fact byond already has a built
in byond proc also named Bump.

We used an argument called yes to distinguish our Bump from byond's
builtin bump, but then we failed to make sure everyone of our bumps
properly override it, so a bunch of things have been double bumping

This resolves that issue permanently

I've also removed the second argument as it no longer has a purpose

I also cleaned up the recycler bump as it didn't do anything the
parent procs didn't already do
2017-07-14 13:47:22 +02:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Lzimann
2082a248d9 Bicon conversion 2017-04-24 22:12:01 -03:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
oranges
395637363d Refactor out an old cooldown system (#22179)
You can do this a lot more efficiently with world time cooldowns,
avoiding the need for spawn counters
2016-12-18 10:11:50 +01:00
oranges
3a7eab6e05 Merge pull request #18729 from coiax/remove-spawn-3
Remove spawn III
2016-06-21 20:11:08 +12:00
Kyle Spier-Swenson
0d6bbbb412 stop the pills (#18703)
* RedPills Processing

Now you have to use START_PROCESSING(SSname, thing) (and STOP_PROCESSING)

* Fixes a minor bug.
2016-06-20 12:07:44 +02:00
Jack Edge
821b3bc1b3 More spawn removal 2016-06-19 01:50:58 +01:00
Cruix
ac0bad5d61 Added priority overlay system. (#18225)
Added priority overlays to atoms, which will not be removed when overlays are cut and will always remain on top when new overlays are added. This requires everyone to use add_overlay() and cut_overlays() instead of overlays += and overlays.Cut(). These procs are found in __HELPERS/icons.dm, and the priority overlay list is found in game/atoms.dm. Everything else is replacing deprecated overlay manipulation.
2016-06-17 10:11:53 +12:00
Remie Richards
fda2c699fc Automatic conversion via Regex 2016-06-11 18:37:48 +01:00
LatD
fe76e64641 Origin tech changes and some fixes 2016-05-17 20:57:01 +03:00
phil235
750eaa4a57 invisibility = 100 and 101 now use defines. 2016-04-29 01:00:05 +02:00
Firecage
332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
kingofkosmos
e75d24a6c9 Changes checks in altclicks from canusetopic to incapacitated. 2015-11-01 11:24:17 +02:00
CosmicScientist
58f6c961e4 Cigs, urinals, infrared lasers, oh my! 2015-10-08 22:45:09 +01:00
Razharas
1105a2b820 Merge pull request #11899 from kingofkosmos/altclickrotatepipe
Alt-click to rotate stuff
2015-09-24 01:59:04 +03:00
kingofkosmos
65c516607f Adds altclick rotation + description to doppler array, transit tubes, windoor assembly, infrared emitter, emitter, particle accelerator, disposal tubes. 2015-09-20 18:54:23 +03:00
bear1ake
c52c4a5346 Merge remote-tracking branch 'tgstation/master' into point-zero
Conflicts:
	code/modules/research/protolathe.dm
2015-09-12 21:07:40 +09:00
phil235
e74ca82a47 Merge branch 'master' of https://github.com/tgstation/-tg-station into ReagentReactionRuntimeFix
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
	icons/obj/assemblies/new_assemblies.dmi
2015-09-10 21:49:39 +02:00
bear1ake
f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
duncathan
51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
phil235
ed39df47f7 Fixes two runtimes in reagent reaction code (caused by my recent changes)
Fixes timer device not showing its countdown overlay when not attached (sprite was removed by accident probably).
Fixes timer/infrared beam/proximity sensor not being usable when freshly spawned because they weren't being processed.

Fixes infrared beam runtime (when the device is deleted the beam itself isn't, causing runtimes when crossing it).
2015-08-23 17:29:57 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
xxalpha
cfb5e724b6 Material container, all items can have materials, wake me up
cant wake up

go to sleep debug
2015-07-01 03:34:47 +01:00
phil235
135293bedf Fixes object processing list by replacing "SSobj.processing.Add" by "SSobj.processing |= " to avoid having duplicated objects in the list, meaning the objects would be processed more than once per iteration.
Fixes Alien embryo processing that was processed twice.
2015-02-14 14:18:49 +01:00
phil235
884e2a6f73 Fixes some runtimes from audible_message proc. Fixes silent PDAs calling audible message when receiving a message. 2015-01-14 18:00:17 +01: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
phil235
27302aa6ae Fixes not being able to hear the beeping of infrared beam, timer and proximity sensor in the dark.
All assembly items start secured (ready).
Fixes certain assembly items being usable while unsecured and not getting the unsecured warning message.
2014-11-22 22:56:13 +01:00
phil235
128c9222e5 Adding checks for stun, restrained to many object verbs.
Fixing paper and supply manifest description upon examination.
Fixing being able to adjust jumpsuit while restrained.
Fixing one typo.
2014-11-01 19:18:01 +01:00
Aranclanos
5ddaf77774 Fixes some runtimes from the infrared sensors, removed a lot of useless spawn() 2014-09-15 09:45:56 -03:00
Firecage
24972ccc5c ABSOLUTELY ABSOLUTE 2014-08-06 16:21:24 +02:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Cheridan
bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00