Added an overlay for the AI when she tries to spawn a robotic factory so
the user gets some feedback of where they are building.
Fixes numerous exploits to spawn several factories.
Fixestgstation/-tg-station#1259
- Fix for retaliating hostile mobs to not attack itself.
- Grammar fix for goats and cows.
- Fix for malfunction and continuous rounds; which doesn't stop the count down timer when the AI dies.
- Spiderlings won't grow inside vents and spiderlings are much easier to kill, can be shot with a projectile and display a message after dying.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5548 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes Issue 1183
-Most game-specific messages now print to all non-new_player mobs instead of the world, round-end reports are unchanged but request consoles and other announcements will not be heard by people in the lobby any more
Fixes Issue 1158
-Tweaked the temperature resistance of mechs to be more inline with current fires. Most mechs protect almost as well as a full fire suit, and the firefighter mech is just over 2x more effective
Fixes Issue 1027
-False-walls can no longer be fixed when on top of a dense turfs
Fixes Issue 1196
-Tweaked how damage was read for CPR and self-examining so you can't perform CPR on yourself at 100 damage
Fixes Issue 1202
-Made stun-glove construction use the cable/Use() instead of just amount-2, so you can no longer get 0 amount coils
Fixes Issue 1206
-Glass reagent containers and droppers now log attacks like syringes do, with the list of reagents
Fixes Issue 1234
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5508 316c924e-a436-60f5-8080-3fe189b3f50e
The wizard round will carry on even if the wizard dies
The malf round will carry on even if the AI dies. When the AI dies the shuttle will become callable. If the AI takesover the station or causes the station to explode, the round will end like normal.
Rev will carry on playing even when all heads or all rev heads die. The shuttle will become callable when this is true.
-Properly fixed the PDA runtime without adding special snowflakes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5489 316c924e-a436-60f5-8080-3fe189b3f50e
-Fixed an issue with the Upgrade Camera malf module.
-Fixed an issue with HTML codes in whisper.
-Ghost ears and eyes default to 0.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4700 316c924e-a436-60f5-8080-3fe189b3f50e
-Made the alarm delay a variable and I decreased it to 10 seconds. There's another 10 seconds in queueAlarm, so it's 20 seconds total before the motion alarm triggers.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4625 316c924e-a436-60f5-8080-3fe189b3f50e
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.
To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"
If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
Removed mob/var/original_name. Totally replaced by datum/mind/var/name now.
Fixed round-end reports. They're now sort of follow the same format as each-other. Not sure how the ew format will work out on high-pop servers. if it's too spammy I'll tone it down a bit.
Fixed pais. Their life.dm got unticked. Resolves issue 759
Known issues:
Borgs keep their human objectives when borged. I'll try playing with the way minds work for silicon mobs whe the freeze is over.
No way to edit minds when they are not attached to a mob. Need some sort of debugging tool.
datum/mind/var/mob/living/original isn't realy used for much. I could probably replace it with something more useful.
Changeling stuff is messy. The changeling object should be referenced by the mind not the mob (or something)
Part 4 on hold will try to address some of these known issues. Taking a break from minds to fix some issues on the tracker now (like lighting)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4355 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
- Added a 'time between ticks' status display for admins as well as this being calculated.
- Made the malf countdown take this into account. Now if you hacked 3 APCs, which means you'd normally have your points reduced by 0.5 per tick, you get it reduced by 0.5 * last_tick_duration
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3807 316c924e-a436-60f5-8080-3fe189b3f50e
TODO: I was intending to use dust to kill players off on a nuclear-loss. However dust() is very very broken. So I've hardcoded everything to die until I can fix dust().
Added an adminverb for 'Game Master's. It was a debug verb so I could test cinematics but I've left it in as it might be handy for events, especially if we get more cinematics. To access it type "cinematic" in full into the input bar as a Game Master, then follow the prompts. At the moment, it only handles nuclear stuff (that's all there is anyway). You can choose where the nuke detonated 0= on station; 1= near station but in space; 2= off the z-level. You can also force a cinematic from another game-mode to play with the prompt after that one.
Note: All mobs are buckled to a bed located inside the gameticker (odd I know) whilst a cinematic is playing. The bed is deleted afterwards releasing all players. If off_station=0 then all mobs will be killed too. This is to stop people running around and doing stuff during the cinematic. I really didn't want to add more variables/checks to mobs.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3481 316c924e-a436-60f5-8080-3fe189b3f50e
Changes the way people are selected for rounds. In the case of a insufficient people for a round, all people with it set to 'yes' will be chosen before drafting others.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3218 316c924e-a436-60f5-8080-3fe189b3f50e
This means items now spawn in your hand if possible, items are sorted into categories, and only items you have enough telecrystals to purchase will be displayed. Also, the same basic code is now used for PDA, headset and nuke-round uplinks, and it should be easier to add new items.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3216 316c924e-a436-60f5-8080-3fe189b3f50e
- Glass airlocks now sound less like actual airlocks and more like doors, reducing station noise pollution by 39%.
- RUNTIME! SQUEEE
- Fixed toggle-ambiance hopefully for good this time.
- Reorganized the sound folders.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3182 316c924e-a436-60f5-8080-3fe189b3f50e
- Added feedback gathering for radio, rc and pda message use. (Only the number of messages sent is recorded)
- Generalized the 'round_end' time feedback logging into a proc that now also handles the radio/pda/rc processing at round end. ( blackbox.round_end_data_gathering(), where blackbox is the blackbox recorder object. )
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3111 316c924e-a436-60f5-8080-3fe189b3f50e