As a result, cyborg death squads were also removed.
This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...
Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)
These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.
Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.
If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.
Mob related in worlds before this commit: 1262
After: 4
I'm helping
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
goodies. (Among them are a modified traitor beacon, a cloaking device and a
closet full of resources so you can go build your own honk.)
These rooms will spawn at least out of range of space and the explored pathways,
so at the very least some mining is required to even detect them with mesons.
Adds a borg upgrade system. Right now, it just contians a borg reset module that
allows the borg to choose their module again. Adds some support code to borgs
to suppot flashproofing and renaming.
Adds a few various admin commands like a quick-list of objects (which is
hardcoded) and a command to break the local air group.
Revision: r3415
Author: VivianFoxfoot
Adds a listing of the tension required for each mode to have a chance to fire at
the bottom of the tensioner controls
Revision: r3408
Author: VivianFoxfoot
Adds deathsquad, ninja, and aliens to actually working tensioner options.
Fixes deathsquad radios
Disables the requirement on the deathsquad shuttle for the sent_stike_team var
to have been set
Fixes the syndicate shuttle position on the map being a little too short. (It's
never been used, has it?)
Revision: r3276
Author: VivianFoxfoo
thinks the round is going too slow (Not enough deaths and explosions, pretty
much, atm) it suggests adding more antagonists. Unless overriden by an admin
(any holder) it automatically creates antagonists from a random round type.
Feedback and round-end conditions (except for nuke team) will not (should not)
function for additional antagonists.
Tratior borgs who hack themselves cannot be blown by their AI.
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock
them with alt+click
Adds a new wire to doors that controls the time delay before they close. If
pulsed, they close like a sliding glass door. If cut, they do not close by
themselves.
Borgs who have died, ghosts, and are then blown up will now have their ghosts
properly transfered to their dropped MMIs.
Revision: r3269
Author: VivianFoxfoot
- added feedback logging for newscasters
- added feedback logging for admin verbs
- added shuttle timers to escape pods
- added feedback logging to chemical reactions
- clipboard can now fit on your belt
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3465 316c924e-a436-60f5-8080-3fe189b3f50e
Commented out the authentication system. It was the remnants of the old goon authentication stuff (or maybe even older) and wasn't actually used in our code at all (at least not in any useful way, it was merely called and short-circuited to 1, so all those if(authenticated) were totally pointless. This has removed 3 unused variables from every client, a bunch of unused variables from the config and two empty text files!
Committed (as a config option) a feature requested by Apoc station. It causes a 'reply to' window to popup when an admin PMs a non-admin player. It's meant to grab their attention so they can't say "I didn't see your PM". It defaults to off. To turn it on just uncomment the #POPUP_ADMIN_PM line in config/config.txt
Fixed a derp in isday where it was fetching the month instead of the day.
Removed medal references from Gib()
Removed the medal_hub global variables because they aren't used in any way shape or form.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3444 316c924e-a436-60f5-8080-3fe189b3f50e
These rooms will spawn at least out of range of space and the explored pathways, so at the very least some mining is required to even detect them with mesons.
Adds a borg upgrade system. Right now, it just contians a borg reset module that allows the borg to choose their module again. Adds some support code to borgs to suppot flashproofing and renaming.
Adds a few various admin commands like a quick-list of objects (which is hardcoded) and a command to break the local air group.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3415 316c924e-a436-60f5-8080-3fe189b3f50e
Adds a listing of the tension required for each mode to have a chance to fire at the bottom of the tensioner controls
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3408 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes the tensioner occasionally attempting to turn cyborgs into malf AIs.
Adds checks to space ninja during its objective creation.
Fixes that fucking message when you're carrying the disk in outer space
Nuke disk now respawns in all rounds.
Adds the abiity to turn off the tensioner for the entire round.
Pinpointers now show the remaining time until a nuke goes off if it's been armed when examined
Nuclear bombs now have a minimum detonation time of one minute.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3312 316c924e-a436-60f5-8080-3fe189b3f50e
- Explosive (de)compression, breaches are much more fun!
- Improved fire
- Faster system, with less splitting
Signed-off-by: unknown <Colm@Blue.(none)>
Adds deathsquad, ninja, and aliens to actually working tensioner options.
Fixes deathsquad radios
Disables the requirement on the deathsquad shuttle for the sent_stike_team var to have been set
Fixes the syndicate shuttle position on the map being a little too short. (It's never been used, has it?)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3276 316c924e-a436-60f5-8080-3fe189b3f50e
Tratior borgs who hack themselves cannot be blown by their AI.
The AI can now open doors with shift+click, bolt them with ctrl+click, and shock them with alt+click
Adds a new wire to doors that controls the time delay before they close. If pulsed, they close like a sliding glass door. If cut, they do not close by themselves.
Borgs who have died, ghosts, and are then blown up will now have their ghosts properly transfered to their dropped MMIs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3269 316c924e-a436-60f5-8080-3fe189b3f50e
Adding a reporting function, available in the debug menu, which tracks some crude statistics for the current round and attempts to estimate the round's current level of stuff happening (or lack thereof) for more consistent and focused badminnery.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2329 316c924e-a436-60f5-8080-3fe189b3f50e
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work.
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more. More random name monkeys will help with changeling and clean up the observe/mob menus.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.
Effects contains objects which are either landmarks, triggers, spawners or decal.
Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG
I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
Uncommented out the warn verb.
Derelict areas consolidated a bit to remove some of the APCs.
Cut around 30 air groups including 3 that would go inactive shortly after round start.
Prison station started as a simple pipe remap because the pipes were so messy in there and ended with an overhaul.
Altogether the pstation is slightly smaller.
Observation room replaced with more windows and a few space tiles to make people actually have to work to break out without tools.
Most of the interior R-walls replaced with normal walls.
Pstation shuttle width increased by 1 tile granting 3 more tiles to stand in.
Vending machine placed inside the prisoner room so they can eat if needed.
Cells interior doors removed to cut down on the number of vents needed, if you want to lock them in just shut the firelock and weld that.
Pstation solars shrunk slightly and don't fully block access to the back of the pstation.
It likely still needs a few tweaks and I might redo the pipes again later.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2254 316c924e-a436-60f5-8080-3fe189b3f50e
BoH is no longer an instakill on a singularity, the chance the singularity will die from bombs now 25% from 10%.
Finished removing Metabslow from the game because delaying Interface rebuilds is a bad idea.
Sadly THE SUN is gone due to lighting lag issues, the current mob max luminosity is set to 7.
Damage and stun from doors shocking people has been lowered.
process() is now an obj level proc as it was already used by several procs and they can now jump onto the ticker if needed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2199 316c924e-a436-60f5-8080-3fe189b3f50e
Added sanitize() to naming the buffers in DNA machine and to alien whispering.
Added 0.5 sec timeout for BANG BANG.
Added drinking glasses to the Dinnerware vending machine.
Update from Nikie:
Verb Reload Admins rereads admins.txt
Parameter sql_enabled in config. Prevents spam when sql is not installed.
NOTE FOR HOSTERS: it is currently ON in code (i.e. behavior is unchanged yet), you have to add SQL_ENABLED to your config.txt during next week. Thanks for your attention.
Fixed "Delay" command.
Messages for help intent are gender-aware now.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1463 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a tool which reports security camera annomalities such as c_tag matches and overlapping cameras.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1161 316c924e-a436-60f5-8080-3fe189b3f50e
- Host level admin verb added which displays the view ranges for security cameras. Not intended to be used in-game. Intended to help with the checking of camera coverage when mapping. (Already found some areas which need attention)
- For everyone who'll cry FEATURE, i asked for permission to code 'features' intended to aid with debugging and bug-fixing.
- From now on forgetting security cameras is NO LONGER A 'WHOOPS'-LEVEL EXCUSE!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1159 316c924e-a436-60f5-8080-3fe189b3f50e
Radio was optimized even more. Still have some reserves.
Restored admin verb "Radio Report". It shows some signs of errors on the map, but I am too tired to fix it now.
Optimized player login (that "400000 calls of new_player/Move" bug).
Various optimizations and fixes in radio code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1046 316c924e-a436-60f5-8080-3fe189b3f50e
Previously: After clicking on one thing, you could not click on another thing before 1 second had passed, and had to spam until 1 second had passed.
Now: After one click, if there's a second click right after, it will be queued and executed automatically after the 1 second has passed.
Tried to remove redundant DblClick() entries and changed them to QueueClick() where appropriate. Report for bugs.
Updated change log. :-)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1019 316c924e-a436-60f5-8080-3fe189b3f50e
Added check if you already ate something but it was not yet metabolized. It's harder to overeat now.
Improved the random look generator. Now it takes in account real-life statistics of skin tone and blood group distribution, and has different colors.
Fixed bug that sprinkles did not metabolized in non-security body.
Made rig suit to be proper space suit.
Cleaned some code
Made mopbucket to have 100 volume.
Added radio report diagnostic verb (but with no effect for now)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@551 316c924e-a436-60f5-8080-3fe189b3f50e
Made sure every verb now has a name which starts with a capital letter and makes sense, because OCD.
Changed the categories of verbs a lot, now they are in much more sensible tabs.
Added a couple of admin verbs:
- Right click monkeyize
- Call Shuttle
- Recall Shuttle
Removed some goon verbs.
Gave "Coder" admin group a little more admin verbs:
- Monkeyize, Cultistize, Abominationize, Call Shuttle, Recall Shuttle, Make Sound
Added mobs a "say_message" variable. Now admin-created mobs can "scree", "squeak" etc. instead of just "chimper" or "hiss".
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@138 316c924e-a436-60f5-8080-3fe189b3f50e