Commit Graph

55 Commits

Author SHA1 Message Date
nemvar e587b970da Adds parent calls to almost all tool_acts (#45582)
* Adds parent calls to almost all tool_acts

* actually compiles
2019-08-03 22:25:57 -07:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
William Wallace a944c2a362 Ghosts can analyze gas mixes and some new objects can be analyzed (#43502)
* Ghosts can analyze gas mixes and some new objects can be analyzed

* Replace show_air_status_to with atmosanalyzer_scan
2019-04-16 21:46:36 +12:00
ShizCalev b7739a4a23 Standardizes bomb logging (#40474)
Fixes #39976

A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.

Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
2018-10-01 15:03:00 +13:00
ShizCalev 31654bb57c Fixes pocket items being deleted when monkeyizing (#38220) 2018-06-02 14:04:26 -07:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
cyclowns 49b4aa928e Buffs atmospheric analyzers to show mole count, volume and higher degrees of precision (#37631)
add: Analyzers can now scan all kinds of atmospheric machinery - unary, binary, ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers, vents and so forth can be analyzed.

tweak: Analyzers now show temperature in kelvin as well as celsius.

tweak: Analyzers now show total mole count, volume, and mole count of all gases.

tweak: Analyzers show everything at slightly higher degrees of precision.


More accurate and advanced analyzers have been something that I think atmos and toxins mains have been wanting for a while now (including myself). It's always a pain to have to manually add 273.15 to every celsius temperature, or have to use outside tools or VV (which isnt usable in actual games) to calculate mole count for a gas mixture. Not to mention, the ability to analyze things like volume pumps and gas filters makes it easier to manage larger atmos setups. This is just a QoL change for people in any of those jobs. In fact, most players probably don't even know what the fuck is a mole is so adding mole readout to analyzers is a good way to get people to understand atmospherics better.
2018-05-23 13:38:59 +12: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
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
vuonojenmustaturska a162837faf Replaces a bunch of loc assignments with forcemoves and moves to nullspace (#33465)
* big batch of loc assignments

* Update emergency.dm

* Update spiders.dm

* Update parrot.dm

* Update ripley.dm

* Update firealarm.dm

* seems to work

* this maybe works?

* brainmemes, again

* stuff

* fix brainmob, camera runtimes
2017-12-13 20:56:39 +01:00
kevinz000 caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
ACCount 758f02204c Fixes a bug in single tank bomb assembly (#32341) 2017-11-04 17:43:45 +01:00
kevinz000 07e4158882 Update bomb.dm (#31557) 2017-10-12 11:36:09 -06:00
PKPenguin321 ec0b236473 Removes unwelding a singletank (#31550)
Fixes #27341
2017-10-11 20:41:04 -04:00
duncathan salt 454d16fe32 Minor refactor of how gas IDs are handled (#31528)
* gas IDs -> gas datum paths

* updates parse_gas_string() to handle both paths and IDs

* fixes compile errors

* fixes parse_gas_string() ignoring amounts of gas

* fixes roundstart jetpack runtimes

* fixes filters

* fixes map-edited filters

* fixes empty canister runtimes on initialization
2017-10-11 15:04:12 -04:00
Jordan Brown b6d349e1d4 Remove drop_item, drop_item_v, put_in_hands_or_del (#31386) 2017-10-07 13:36:33 -04:00
Ian Turk 7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Jordan Brown d144c88fb5 Annihilates the colons! (#29812) 2017-08-15 12:49:35 -03: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
ShizCalev d525b18d8d Completes major inhand split project (#29574)
* Completes split project

* More work on it. Should be more or less finished
2017-07-29 16:47:37 -03:00
ShizCalev 59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Lzimann 79d9178adf Fix conflicts 2017-04-25 10:51:49 -03:00
Lzimann 2082a248d9 Bicon conversion 2017-04-24 22:12:01 -03:00
Cyberboss 9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Cyberboss 56a6eaa8e6 Overlay queuing (#23922)
* Overlay queuing

* Fix SS flags

* Don't copy on assignment

* Flags processing

* Fix icon_smoothing

* MSO's helper proc

* Legacy detection

* Make it work

* Fixes shitcode

* Fix the flag

* |= -> +=

* OK, how did I fuck that up?

* shitcode

* Conditional assoc queue while initializing

* Cleanup everything

* Orange meme

* This isn't perfect, but its the best byond will give us.

* forgot about dir

* oh ya

* This was litterally the last thing i did last night before heading to bed

You can tell can't you?

* Fixes various shit

* Let's not ever pause

* Fix the flag

* Cleaned up some missing shit. Added image dummys

* Remove the one usage of FPRINT

* Jesus get rid of this
2017-02-22 21:44:55 +13:00
Cyberboss d27899ce64 Unequip refactor fix pack (#24040)
* Fixes drag drop deletion

* Fix it for clothing as well

* Do it properly

* Various other incap checks I noticed from the unequip refactor

* Time to generalize this shitty shit

* PADDLING!!!

* A whole bunch of ree
2017-02-14 08:52:56 +01:00
Cyberboss 3f7f5d4000 Removes/Refactors /mob/unEquip (#22918)
* Part1

* IT COMPILES!!!!

* Fuck wait this was missing from that last

* Update handlabeler.dm

* Update handlabeler.dm

* Fixes n shit

* Fix this

* Fixes #23310

* Fucking @RemieRichards was right

* Fixes devil unEquip

* WTF ARE BITFLAGS?

* THERES THE FUCKING PROBLEM

* Fixes
2017-01-31 09:28:31 +13:00
Mervill 09ea5ad2e5 w_class now uses defines 2016-12-01 21:33:14 -08: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
Fox-McCloud 4ce47d1a6f Experimentor Fixes 2016-06-07 02:10:44 -04:00
duncathan 5bf31463da removes simulated turfs; adds space gas mixture for space 2016-03-10 17:27:01 -06:00
Razharas 6f8ce47951 New proximity code
New proximity code
2016-01-26 07:47:33 +03:00
duncathan 17f167bcb7 associative list 2015-12-29 13:33:12 -06:00
duncathan b18cb5fca8 making shit compile 2015-12-28 08:31:20 -06:00
bear1ake f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52: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
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 8ab92e753a Assembly holder is no longer secured or unsecured. Screwdrive now disassemble it and attack_self to interact with its parts.
Adding feedback message when trying to attach two assemblies that aren't both in attach mode.
Fix hacky code to prime grenade by pulsing its assembly.
Removing some commented code and some duplicated proc instances.
Fixing a typo.
2014-12-24 01:50:19 +01:00
MrPerson 651c3e6db5 Merge to master - sole conflicting file was ninja.dm FUCK NINJAS 2014-10-04 01:45:39 -07:00
Miauw 6b42d39228 does more shit 2014-08-05 19:17:21 +02:00
MrPerson c43518351f Some fixes and minor improvements to examining. 2014-06-13 09:01:52 -07:00
MrPerson 9d9a657acf Change examine() from an atom verb to a mob verb
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.

Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
2014-05-01 09:56:39 -07: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
Aranclanos 213f3fff31 Some fixes for Linda, now the Move() proc of objects that block air is different. Example below.
object/Move()
   var/turf/T = loc
   ..()
   move_update_air(T)
2013-12-19 22:13:21 -03:00
supersayu 799c7ad2ce Replaces atom/HasEntered() with the builtin atom/movable/Crossed()
Crossed() is a byond builtin which is called automatically when two movable atoms overlap (as a side effect of Move(), but not when loc or x/y/z is changed).  Previously, turf/Entered() iterated through all objects in the turf in order to tell them an object had entered; with this change, HasEntered() becomes redundant and can be eliminated.

This may reduce lag when a large number of objects are moving in a small space (singularity, mining conveyors, etc) but should cause no changes to functionality at all.
2013-10-23 16:20:20 -04:00
Pete Goodfellow 542599e9b8 Removed var/special_assembly from assembly_holder as it was unused.
Updated singletank bombs to pass hear_talk to their assembly.
2013-05-28 17:29:41 +01:00