All radios now have a keyslot var (replacing keyslot1 for headsets).
- recalculateChannels() proc moved to radios instead of just headsets.
- Removed the duplicated recalc proc for borg radios.
- Moved the translate vars to radios as well.
- The syndicate headset subtype has been removed in favor of using the
make_syndie() proc on it instead.
This PR is intended to support #5283 .
- Traitor AIs, when set as a traitor, will be given a new internal radio
calibrated to hear and transmit to the encrypted syndicate frequency.
Since traitors can buy a headset key for getting the Syndicate Channel,
Traitor AIs can get one too, as they cannot purchase their own TC items.
- The AI now has its own built in radio headset!
- The headset receives all department channels, including AI Private.
- AI Private can be accessed using :o, .o, #o, :O, .O, and #O.
- Carding an AI will automatically disable the AI's ability to transmit
on its radio.
*The AI's radio transmission ability can be toggled via the InteliCard's
interface
- Added instructions to newly spawned AIs such that they know how to use
their radio.
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.
<Ikarrus> So we have the problem of some HoPs disregarding their jobs just to act like security/p2w right?
<Ikarrus> I was thinking removing the HoP's sec radio channel would help
<Ikarrus> I feel like sec radio is just a remnant of old code and design
<Ikarrus> and his role has since become more specialized
<Ikarrus> I don't feel he needs it, and it would help distance him from security
-Adds service headsets to barman/botanist closets (chef doesn't get one for now since he doesn't have a closet, all his spare stuff is just placed in a crate)
-Adds a Service headset channel, given to the botanists, barman, and chef. The HoP also gets the service channel on his headset.
Note: The Service Preset Server will have to be added to Telecomms on the map before the channel is usable. I'll put up the map when/if this gets merged.
-New sprites for about half of the headsets:
-Cargo headset now tan instead of white, science now has a unique headset instead of using the command headset sprite (wtf?), medical headset center changed to green from blue. New sprite for medsci headsets.
-Command, centcomm, & basic headsets tweaked a bit, with better shading.
-Made descriptions for command headsets less bad.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.
-Changed some for(blah in world) loops to use the correct lists.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
-The firedoor wasn't updating the freelook camera. When I looked at it I couldn't figure out why it was using it's own "rebuild" code, supposedly it only updates the air that it set in the dir variable but the current map doesn't utilize it at all (firelocks with a dir of 8 which are lined horizontalally), and you would have to have two thick wide firelocks to make it effective. I've commented it out and I'll put it back in if we have problems.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4832 316c924e-a436-60f5-8080-3fe189b3f50e
- The folders themselves are now finished
- Next I'll go through each file and organize them
- Lastly I'll start pulling the object definitions out of /code/defines/ and put them into their respective files.
**Note to committers**
Make sure the .dme file updates when you update to this revision. If necessary delete the .dme and svn-update.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4546 316c924e-a436-60f5-8080-3fe189b3f50e