Added Ausops gateway sprite.
Added placeholder structures so the people working on the map have something to mark where the recieving gate will be.
And unfinished Behemoth code because the dme needed to be updated to include Ausops stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3572 316c924e-a436-60f5-8080-3fe189b3f50e
There's like 1001 things to fix so some of this is somewhat crude for now.
new helper proc located in procs/helpers.dm
reject_bad_text(var/text)
just feed any text in and it will either return the original text or null (if it contains odd characters such as \ / < > or characters reserved by BYOND. It also rejects if there are no non-whitespace characters)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3571 316c924e-a436-60f5-8080-3fe189b3f50e
Added Invisty's new field generator sprites.
Added a button to check antagonists that stops the world from automatically restarting at round end.
It's toggleable, but once the round ends with it on, you'll need to reboot the world manually. (It's under check antagonists because that's where the shuttle stuff is, let me know if I should move it.)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3565 316c924e-a436-60f5-8080-3fe189b3f50e
This means real_name is now somewhat back to being a reliable source of the mob's actual name. It should eliminate a lot of the "cloning as unknown" bugs.
It also means I could simplify that god-awful name updating stuff into a nice and simple helper proc.
Some original_name stuff was added here and there, mainly during cloning. A lot of the "getting random ghost names" should be fixed now. Still loads to do though, particularly with transforms and such. >_>
Fixed a runtime with Tajarans trying to use a variable that doesn't exist for PDAs. Removed that variable from IDs as it's only used by furries.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3546 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes a host of runtimes caused by lag delaying "transmissions" between telecomms machines. Various objects were being deconstructed during this lagtime resulting in a bunch of weird null errors. Tested for 24hours on another server. Seems to be all ok.
Added some rudimentary checks to advanced proccall. Calling procs owned by objects is now a little less prone to runtimes. still a bunch of stuff to do to get it safe enough though.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3542 316c924e-a436-60f5-8080-3fe189b3f50e
Committing for Sieve: (and WJohnston, I suppose~)
Added WJ's alien hunt sprites.
Fix for the misplaced update ID line in the PDA.dm
Slightly updated mining turfs
Also adding a define for Cheri's balaclava sprites, and a new type of cigarette packet (not available in game, currently)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3540 316c924e-a436-60f5-8080-3fe189b3f50e
Regenerate admin verb now restores limbs/lost blood
Fixes power_loss proc to actually respect the electrical channel something is on.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3539 316c924e-a436-60f5-8080-3fe189b3f50e
Adds greater changeling code, but doesn't change the genome count yet on it.
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night. For some reason.
Adds an afterattack to mobs that can be used. (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed deaths at the end of nuke rounds, optimised the code a little
gib() is now hgib() (ie it's specific to humans). gibs.dm() now only spawns generic gibs that could be from any mob.
Likewise for dust.
Awaiting generic dust() and gib() animations.
Fixed (hopefully, depends if firewalls block this method) getruntimelog.
GameMasters no longer have the getruntimelog verb. Instead they have .giverutimelog . This allows them to grant a specific client access to the server's runtime logs. (they can grant themself access this way too). NOTE: runtime logs can be used to meta, only grant access to coders or people you trust. It may also be wise to ensure they do not play in the current round.
Introducing .getserverlog . It allows any admin above moderator to access ANY archived server/attack logs. Should mkae processing forum ban requests a lot easier since all admins with ban capabilities now have access.
getruntimelog renamed to .getruntimelog . File-request spam prevention increased to 60seconds to discourage access serverlogs too much! They can reach sizes of 4Mb sometimes so please be responsible with them admins.
runtime logs should now be saved to /data/logs/runtime/ (you may have to create this folder yourself)
ummm... fixed gibs appearing below shuttle turfs. Trimmed some uneeded fluff text from the logs.
PHEW
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3509 316c924e-a436-60f5-8080-3fe189b3f50e
If a cultist builds a construct, that construct will be a cultist. This means they can see cultists finally (and will probably count for the escape objective, so that might need changing numbers wise)
Fixed some typos in the cult runes (godamnit Urist) and the blind rune can no longer be made into a talisman, cause a handheld, instant, AoE blind that lasts 20 seconds with no counter is retarded.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3507 316c924e-a436-60f5-8080-3fe189b3f50e
In short: massive updates to security, the library, hydroponics, the kitchen and the bar, by Flazeo and Ikarrus
Massive updates to the PA, with Invisty's new sprites, done by Sieve
New sprites for field gens too, also by Invisty
Borg and battery updates by Sieve
Fake gloves by Sieve
I messed around with some pressure_resistance stuff on Dumpdavidson's suggestion (only in paperwork)
PROBABLY A BUNCH OF OTHER SHIT
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3505 316c924e-a436-60f5-8080-3fe189b3f50e
Adds a (disabled) framework for making people drop where they're stunned without waiting for the next tick
Shuffles sleeping and resting, making them cause effects of their own rather than just relying on 2 ticks of paralysis or whatever.
You now stand up before being able to move again (called in canmove)
Reduces slip chance from 50 to 0 when knocked out (more in line with the comments in the code, and it just makes more sense)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3503 316c924e-a436-60f5-8080-3fe189b3f50e
Added Khodoque's new shotgun sprites.
Added my new gasmask sprites. Removed emergency gasmasks, as the distinction is non-existent.
Very slightly reshuffled some mask stuff around, but it's still godawful.
Medical masks are now /obj/item/clothing/mask/breath/medical
Removed the define for HALFMASK, as it was completely unused.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3493 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
This would have been a lot easier with admin cooperation.
TODO: make some sort of failsafe so stupid stuff like this doesn't happen
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3473 316c924e-a436-60f5-8080-3fe189b3f50e
- "Mapping debug" verb renamed to "Debug verbs"
- assume direct control, jump to dead group, startup singulo verbs removed from admins. You can enable them by calling the verb 'debug verbs'. 'debug verbs' remains game-master only, as it is just for debugging stuff. For a non-game master to use the 'assume direct control' verb, they have to use view variables - it was added to the drop-down.
Some procs were moved around. Please code things in the locations which make sense! If you are making a verb for /mob/living, then don't put it in mob.dm, put it in mob/living.dm. Thanks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3461 316c924e-a436-60f5-8080-3fe189b3f50e
AdminHelps are now client verbs rather than mob verbs. Which means adminhelp can be called from cmd_admin_pm when an admin disconnects or something. This will stop non-admins getting the message "Client not found" (read as: license to grieffe) when an admin disconnects for whatever reason.
Moved AdminPM stuff to adminpm.dm
Fixed some run-times in posters and fixed posters eternally having the laying poster icon_state(whatever it was called) when something went awry.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3456 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
http://code.google.com/p/tgstation13/issues/detail?id=440
◘The problem:
People being able to move while resting/lying
◘What caused it:
When a user decided to press "rest", a single variable, resting, was switched from 0 to 1. Through life.dm procs, when the handle_regular_status() proc saw the mob resting && his weakness being 0 or less, it would just give him 2 seconds of being-weak, through Weaken(2). Later on, the proc called update_canmove() to see if the guy had the ability to move due to weakness but also due to reagents/drugs/sleep etc.
At every tick, this proc also reduced mob.weakness by 1.
The chain that led to the problem was:
○User decides to rest
○resting is set to 1, handle_regular_status_updates() runs
○Proc sees that the user's resting var == 1. Does mob.weakness = 2
○Proc handles weakness. mob.weakness -= 1. It is now 1.
○update_canmove() is blind to resting, though sees that there's weakness. Sets canmove to 0
○Proc runs again the following second
○Proc sees user is resting.
○mob.weakness <= 0 fails, since it's 1 from the last run. Weakness stays at 1.
○Proc handles weakness, mob.weakness-=1. It is now 0.
○update_canmove() now sees that there's no weakness, and sets canmove to 1, even though the user is still resting & lying
○For a second, the user is able to roll around on his lying butt
○Proc runs again, giving Weaken(2) and disables movement again, and the circle repeats.
◘How it got fixed:
Made update_canmove() not blind to resting. I don't like this solution, as resting still equals weakening and there's wasted processing, albeit miniscule. I will try to work on something better.
◘Sleep can now go over 1 again, some dumb shit did not realise this and led to sleep being weak as hell. You can now put people to permanent sleep through anaesthetic gasses and toxins. Deciding to sleep will put you out for 20. Deciding to faint will put you out for 10.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3442 316c924e-a436-60f5-8080-3fe189b3f50e
Temp-fix for mob/say.dm It's being sent null from Tcomms, so I'll leave it to somebody with experience with that.
Fix for items bein in your inventory and on the floor
Fix to stop people pulling themselves and causing runtimes (lol)
Fixes a bunch of stuff in the flash code. EMPs will now cause flashes to flash their holder. They don't runtime when flashing cadavers. They don't runtime when being EMPed. They will (hopefully) rev those select few buggy people who weren't getting reved previously. (I can't fix that totally without playing with a bunch of mind stuff)
Fix for throwing nothing. :P
Fix for removing tanks that don't exist from transfer valves.
ummm...I think that's it
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3441 316c924e-a436-60f5-8080-3fe189b3f50e
Decreases the number of secret rooms to 3, changes secret room artifacts to be based off weight, adds more potential secrets.
Adds a new type of facehugger that is more aggressive.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3438 316c924e-a436-60f5-8080-3fe189b3f50e
runtime error: Cannot modify null.layer. proc name: done (/obj/effect/equip_e/human/done) usr: Ramona Fawkes (/mob/living/carbon/human) src: the human (/obj/effect/equip_e/human)
call stack: the human (/obj/effect/equip_e/human): done() the human (/obj/effect/equip_e/human): process()
runtime error: Cannot execute null.use(). proc name: attackby (/obj/structure/barricade/wooden/attackby) usr: Jeffery Long (/mob/living/carbon/human) src: the wooden barricade (/obj/structure/barricade/wooden) call stack: the wooden barricade (/obj/structure/barricade/wooden): attackby(null, Jeffery Long (/mob/living/carbon/human)) the wooden barricade (/obj/structure/barricade/wooden): DblClick(the floor (159,129,1) (/turf/simulated/floor), "mapwindow.map", "icon-x=15;icon-y=12;left=1;scr...")
Rewrote wielded weapons to be their own weapon subclass. There was no point having a var/wielded var/twohanded var/force_unwielded var/force_wielded for every damn item when there is only 1 wield-able weapon anyway. All the wield-able stuff is now in twohanded.dm
Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW.
All PMs trigger the adminhelp sound. That means when you OM a player they get the sound, if a admin is PMed they only hear it if their adminhelp sounds are enabled. This should allow people to get eachother's attention when t he chat is busy.
Fixed some bad code with poddoors (which is used for the shutters in QM)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3435 316c924e-a436-60f5-8080-3fe189b3f50e
- Merged 'Game' and 'Lobby' tabs during pre-game into one tab.
- Late-joiners now see round duration.
- Late-joiners are warned if the shuttle is not recallable or has already left to Centcomm.
- Added the little red X to the top corner of the late-join job list window
- Supply shuttle derp fix
- Removed duplicate mining shuttle code that was inside atmos computer stuff
- - This should fix the player seeing both the 'Shuttle has been sent' and 'The shuttle is already moving' messages.
- Updated changelog
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3433 316c924e-a436-60f5-8080-3fe189b3f50e
FINGERPRINTS ARE GONE
EVIDENCE BAGS ARE GONE
DET SCANNERS ARE GONE
THIS IS PURELY TO SEE IF REMOVING DETECTIVE WORK FIXES THE HORRIBLE CRASHING
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3424 316c924e-a436-60f5-8080-3fe189b3f50e
Modifies do_after to something that fires a lot less, and is hopefully more robust against infinite loops. It is now theoretically possible to run around and then come back to the same place and have it complete, but that's only really valid for extremely long times (like handcuff removal) and if you get lucky and dodge one of the timed checks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3421 316c924e-a436-60f5-8080-3fe189b3f50e
Adds a borg reset upgrade that can revive a dead borg, valued at roughly half the cost of a new borg body.
The world restart when everyone dies will no longer fire if someone else is revived during the 30 seconds.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3420 316c924e-a436-60f5-8080-3fe189b3f50e
Ghosts no longer hear emotes from across the map.
You can once again examine yourself.
Buildmode is back in because it is a very useful and great tool.
It is also an ADMIN TOOL and will cause runtimes like most of the other admin tools if you use it like shit.
Removed more erp bullshit
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3417 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
Moved delete to trial admins because they can already mass delete and that's not particularly as helpful as regular delete (but a lot more destructive)
Trialmins can now toggle adminhelp sounds without observing
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3397 316c924e-a436-60f5-8080-3fe189b3f50e
Converts the metadata system into its own thing
Makes ghost_ears hear emotes as well as a test.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3392 316c924e-a436-60f5-8080-3fe189b3f50e