Commit Graph

66 Commits

Author SHA1 Message Date
Bjorn Neergaard
0a7236d955 Allow relabeling any canister; port MULEbot to tgui 2016-01-18 14:21:56 -06:00
Menshin
828c1ddf2c * Generalized AStar check for objects preventing passability
* Fixed AStar not detecting plastic flaps as impassable for mobs that can't pass them (fixes #14616)
2016-01-16 15:27:31 +01:00
Cheridan
1e516a68c7 Merge pull request #14347 from Iamgoofball/patch-143
Tesla Nerf (shh dont tell aran)
2016-01-06 12:22:05 -06:00
Bjorn Neergaard
dc69cbaefb Allow UIs to be attached to datums; various fixes 2016-01-04 10:46:31 -06:00
Iamgoofball
e1828f363e nerfs machine bounce range 2016-01-03 10:25:10 -08:00
AndrewJacksonThe2nd
f0f18ec6ef TESLA 4.0: less laggy hopefully 2015-12-24 00:25:00 -08:00
AndrewJacksonThe2nd
56be042744 fixes 2015-12-19 17:35:30 -08:00
AndrewJacksonThe2nd
1ab5e80458 Tesla map removal to fix merge 2015-12-19 12:32:50 -08:00
KorPhaeron
d8a37204e7 Makes burn_state use defines 2015-12-13 05:36:55 -06:00
KorPhaeron
50e4e77250 Fixes UI stuff 2015-12-09 21:37:18 -06:00
Shadowlight213
3c35ac809e Hopefully finally fixes the nanoui issue. 2015-12-06 23:24:01 -08:00
Shadowlight213
74c27189b9 Renames IsAGhost to IsAdminGhost.
Reworks checks to not need stat to be 0
Fixes the majority of the Nanoui bugs.
2015-12-06 20:21:43 -08:00
Nerd Lord
3a96d9bd8c No delay on examining objects with a nanoui interface as a ghost 2015-12-02 22:53:33 -05:00
Bjorn Neergaard
6ec257c360 Hotfix for SStimer lag
SStimer can now check dupes
Also fix ghosts not being inquisitive with objects...
2015-12-02 21:23:45 -05:00
Bjorn Neergaard
6f098e8298 Allow ghosts to use any NanoUI interface. 2015-11-30 23:34:59 -05: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
Swag McYolosteinen
2bb4f63023 Merge pull request #11087 from phil235/GirderSinguloPull
Girder deconstruction bugfix
2015-08-13 16:33:28 +02:00
Aranclanos
3eb09817e4 Removes the burning object out of the burning list before qdel()ing, fixing some runtimes 2015-08-10 19:06:45 -03:00
phil235
866cdbcd34 Fixes plasma cutter firing sound, as well as lack of sound when slicing girder/statues.
Rearrange girders.dm
Singularity_pull() no longer unanchors anchored objects (because it breaks the deconstruction of table/girder/states/etc, and make mech pullable by mobs), but it still pulls them.
2015-08-07 23:14:45 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
Ikarrus
c832f5dafd Items have a variable burn time
- Object burn times vary between 1x-2x the value set for var/burntime
  - This way they don't all burn up at the same time. For muh immersions.
- Examined ashes from burned objects will reveal what they used to be
2015-06-30 22:44:29 -06:00
Ikarrus
59ca40f03d Burning objects are processed every tick now instead of using a spawn() check 2015-06-27 09:22:14 -06:00
Ikarrus
8759f56f6f Squashed Commits 2015-06-27 00:09:16 -06:00
LaharlMontogmmery
373c918a4a Going through some hOOPs - bit of a overhaul. 2015-06-18 17:40:35 +02:00
Miauw
3f71ac48f1 Nerfs the AI in several ways:
* Adds a "Camera Failure" event that disables a few cameras.
* Makes tracking take time, increasing with distance from the core.
* Makes camera alerts only happen when a camera is reactivated.
* Makes it possible to bludgeon cameras.
2015-06-05 18:59:37 +02:00
Miauw
f630cce730 Makes all machines use the robot font. Fixes #8575 2015-05-23 18:15:26 +02:00
Iamgoofball
c06ad7e6b8 moved process() to datum. made /datum/reagents/ process instead of the containers. 2015-04-07 17:13:59 -07: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
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
Razharas
208b59c30e Fixed stuff tkdrg pointed out
Added comment to dualsaber and hulk checks to explain whats going on
Added defines that converts to mutation names
Fixed grammer again
2014-12-28 10:49:04 +03:00
Razharas
8d110ee496 Tiny clean up, still lots of work to do
Only compiletested, these changes were never tested in the game yet
2014-12-12 23:57:11 +03:00
Razharas
7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
Razharas
ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
Aranclanos
f7ad6d9ab0 Fixes issue #1442
canUseTopic() will now check for telekinesis on humans, using the be_close flag.
The pop-up window will update if TK users are using the machine.
2014-11-05 13:55:31 -03:00
Cheridan
df13b0d840 Merge pull request #5591 from hornygranny/OOPgularity3
improved deconstruction, singularity stuff
2014-11-03 20:20:55 -06:00
tkdrg
a97c4de972 Moves m_amt, g_amt, reliability and origin_tech to /obj/item (previously in /obj)
Removes force from pipes
Removes unused turf var icon_old
Moves pass_flags to /atom/movable
2014-11-02 14:10:03 -03:00
Hornygranny
955847de74 defines 2014-10-31 19:00:50 -07:00
Hornygranny
5815d7e011 grilles are now damaged by thrown items
disposalpipes deconstruction
atmos pipes deconstruction
2014-10-31 18:26:42 -07:00
Hornygranny
264c25b892 makes the singularity's pulling OOP with the magic of atom proc 2014-10-27 16:43:35 -07:00
Hornygranny
e5e6ded884 singularity is now OOP 2014-10-20 16:36:00 -07:00
Miauw
6176d845f0 fixes some stuff gia told me to fix 2014-08-31 14:27:40 +02:00
Miauw
6b42d39228 does more shit 2014-08-05 19:17:21 +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
hornygranny
e0d0cedf36 passed over everything with throwforce 2014-02-13 18:06:50 -08:00
ChuckTheSheep
676dc5269a Moved Login/Logout to their defined files 2014-01-06 21:25:10 -05:00
ChuckTheSheep
9f314fcb07 Made the Login/out()s involved under mob 2014-01-06 21:20:36 -05:00
ChuckTheSheep
1d7858d54f Fixes regarding path case 2014-01-06 18:01:28 -05:00
ChuckTheSheep
e97ce3edfa Moved on_login() now named on_log() 2014-01-05 20:49:36 -05:00
Fleure
e3169ee8b9 Adds container resist proc 2013-10-24 21:30:01 +01:00