Commit Graph

9 Commits

Author SHA1 Message Date
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-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
2012-07-26 03:04:05 +00:00
baloh.matevz@gmail.com
d1d0fd5e4f - hand tools now fit on your belt slot
- 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
2012-04-16 04:00:36 +00:00
elly1989@rocketmail.com
04f0a79866 Rewrote blackholes (gravitational anomalies) and wormholes to try and optimise them a little. If you have any concerns about how I've done so just give me a shout and I'll either rework them or revert my changes back. Wormholes especially seem a bit faster on my laptop. Smoke has temporarily been removed from the blackhole event until I get time to investigate why the hell effect_systems are using so much memory ( spark effects were using 40% of my processor a second ago D: ). To compensate this I made them a new sprite.
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
2012-04-12 21:54:51 +00:00
quartz235@gmail.com
b3f7865754 moving all the git stuff over to this so people who don't want to spend 8 years figuring out the bass ackward git system can actually run our server code
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2983 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-25 05:05:55 +00:00
baloh.matevz
b14faa470b - Ion storms now ask you if you want to send a report to the crew or not
- Added JMP and CA actions to adminhelps and prayers.
- - JMP is an "observe and jump to mob" command
- - CA is a shortcut to the "check antagonists" page, only appears with adminhelps, not prayers.
Screenshot: http://www.kamletos.si/adminhelps%20and%20prayers.PNG
- Jump to mob will no longer teleport you into the abyss if the mob's been destroyed between the link being sent and you clicking it.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2240 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-21 01:01:46 +00:00
baloh.matevz
7e73121ecd "get key" verb for admins
Also fixed runtime errors related to the new 'mark object' thing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2227 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-19 06:12:00 +00:00
rastaf.zero@gmail.com
571db15490 Medical belt is finally in code (made by errorage, forgotten by errorage).
Pill bottles now can fit in containers (and pockets).
Moved remained adminverbs from Commands tab.
Map debugging tools tab is hidden, use verb on debug tab to show.
Singularity's EMP now won't spam in adminlog.
Revolutionaries now cannot deconvert themselves.
Cutting camera now leaves fingerprints.
Fixed some runtime errors.
Unckecked file that microvave forgot to add under svn.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1277 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-25 23:16:32 +00:00
Skiedrake
cbec1b6f3d Removed files that were 0 bytes in size.
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
2010-09-22 00:41:07 +00:00
only.lurking
662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00