Commit Graph

9304 Commits

Author SHA1 Message Date
Cael_Aislinn 6ded63b850 various potential runtime / crash fixes
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-11 03:11:45 +10:00
headswe 79412c9a75 Merge pull request #1588 from CIB/suit
Moved the captain's suit
2012-08-10 09:19:53 -07:00
headswe 8103abcd9f Merge pull request #1583 from CIB/cib
Full wound system rewrite - Tested and ready to merge
2012-08-10 09:18:28 -07:00
Cael_Aislinn 77d031b230 removed false positive, doubled zas debug sensitivity
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-10 12:11:21 +10:00
Cael_Aislinn b805dce8e1 additional zas debugging
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-10 11:06:27 +10:00
elly1989@rocketmail.com 40c2238c24 Minds part 3
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
2012-08-09 23:41:01 +00:00
giacomand@gmail.com 35c0740f22 -Added a plasma_rate and heal_rate variable for Aliens. This will make it easier to tweak balance changes.
-Made all aliens use this when determining how much to recharge/heal.
-Deleted handle_enviroments which overshadow the base alien one.
-Made maxHealth actually do something. Every alien caste had their own updatehealth which did not use maxHealth, which was very stupid.
-Fixed an issue where a player could accidentally pick a breed of alien when typing. Larva will now have to use the evolve verb in order to evolve.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4353 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 19:26:52 +00:00
sieve32@gmail.com f8ddd70798 -Adds CanPass() checks as needed to mulebots, now you can no longer use MULEs to bypass windows or flaps, and CanPass() checks are run for flaps when something is loaded, meaning you can't get on the MULE if it is under flaps
Fixes Issue 399

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4351 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 17:37:04 +00:00
Cael_Aislinn 3b9acf1c9e replaced log_admin with log_adminwarn, so hopefully the messages will output to server
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-10 01:41:17 +10:00
elly1989@rocketmail.com df75514318 Preparations for minds - Part3.
Replaced mob/var/original_name with datum/mind/var/name.

Halved the speak-chances of every simple-animal because that constant squeaking was insufferable.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4346 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 12:40:17 +00:00
Cael_Aislinn dca3f3bd8a reworked/verbosified some zas debugging, added additional zas debugging, made kill_air available to game_admins as well as game_masters, increased runtime check sensitivity to aid in debugging
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 18:12:59 +10:00
elly1989@rocketmail.com 81bff7c5f5 Important!
Minds part2 - Carn loses her mind.

The way datum/mind stuff works has been changed a lot. I really can't explain everything. If you have any questions it'd just be easier if you leave a comment or ask me in coderbus.
Generally, minds now represent IC characters rather than following a client around constantly. Minds can change owners, mobs, (names WIP).

Technical babble:
The var/current and var/original variables of the mind datum must always be of type mob/living (or null). Please do not mind.transfer_to(ghost_mob). If you want to ghost somebody use ghostize()! It will do all the technical stuff for you.

mob/dead/observer/var/corpse was removed. mob/dead/observer/var/mind is now used as a reference to the last mind the player had (so respawning code has something to reference), but also because mind.current is a far more useful way of tracking a corpse. If somebody triggers a mind.transfer_to() call on your corpse, your mind will be tranfered to another mob/living or something...that will then be considered your corpse. This could allow for more interesting mind_transfers. For instance, the "raise corpse" rune ghostizes any player in the corpse to be raised and selectes a random dead player to take possesion of their character! The person possesing them will have all of their memories, objectives, etc. The poor guy who was originally the owner cannot re-enter body if there is another player in his body...but if that player is ghosted he can once again return. Exorcisms anybody?

Changes to cloning and hydroponics. I will likely have to rework these later as they're hacky as hell right now.

A lot of stuff is now handled by Login/Logout rather than in hundreds of different places. One such example, mind datums get their variables updated at Login and Logout.

Fixed a few minor bugs. I'll update the issues manually in a bit because I literally cannot think atm.

TL;DR guide:
-If you want to make somebody a ghost use ghostize(). Or you will need to find a doctor to stitch your bits back on. :)
-You don't have to worry about making minds. Simply doing key="carnwennan" or whatever will either: A) make a new mind and initialise it if there isn't one or B) take possession of the mind currently attached to the mob.
-It's safe to transfer a mind even if a key isn't in-body (e.g. they are ghosted/admin-observing etc!) Minds have an active variable which tracks whether they are currently synced with a key. This is to avoid dragging ghosts back into their bodies when say, a wizard mind_transfers them.
-Transferring a mind whilst var/active=1 will cause the following: mob.key = mind.key. So no need to do that separately (in fact you'll lag things if you do, so don't)
-If you do want to initialize a mind manually, say if you don't have a client to login to the mob yet, simply do new_mob.mind_initialize(). Simple! When someody is logged into that mob they will take ownership of the mind and it will sync up.

NOTE: a lot is probably broken since this is a pretty massive change. Please let me know asap (with actual info! Shouting at me, "IT BORKED HALP", doesn't help)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4342 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 20:51:55 +00:00
johnsonmt88@gmail.com 0225ed33b7 Cleanup of proc/helpers.dm
Split a bunch of procs in helpers.dm into new files:
-helper_list
-helper_text
-helper_type2type

These files are sorted into groups internally. Hopefully people will make it easier for people to find useful procs.

I've added comments to a good chunk of these procs as well explaining what they do.

I've removed a few unused or unnecessary procs and fixed up a couple that were not working as intended.

I've also moved a mob proc 'get_equipped_items()' into mob/inventory.

All of the non-helper.dm files (besides mob/inventory.dm) are the result of fixing duplicate procs. It seems that there used to be text searching procs where one was case sensitive and one was not, and at some point someone removed the case-sensitivity of the case sensitive procs. I've re-added the case-sensitivity and as a result, I've had to go through extra files and ensure that they were calling the proper proc.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4341 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-08 19:32:08 +00:00
Cael_Aislinn 2abbd8ce6b compile fix, tweaks
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 04:53:29 +10:00
Cael_Aislinn ab0fe32f84 additional debugging tweaks
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 04:49:18 +10:00
Cael_Aislinn 34000482c7 additional zas debugging, kill_air output made a bit more informative
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 04:42:26 +10:00
Cael_Aislinn d817bbb490 more verbose zas debugging, decreased runtime sensitivity by half again, and reset the counter every time a tick is successful
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 03:19:50 +10:00
Mloc 0d94175887 Merge pull request #1585 from comma/master
Surgery fixes and tweaks
2012-08-08 06:44:45 -07:00
comma 138e41dd54 Merge branch 'master' of https://github.com/Baystation12/Baystation12
Conflicts:
	code/game/objects/items/weapons/surgery_tools.dm

Did not do a pull in ages, all constants I sued in surgery code got renamed.
2012-08-08 13:21:47 +04:00
sieve32@gmail.com 2c584804f1 -Fully implemented turrets firing at simple_animals (It was only 1/4 of the way done). Porta-turrets also have to set to neutralize non-human lifeforms in order to shoot at simple_animals.
Fixes Issue 736

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4336 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-07 18:07:07 +00:00
petethegoat@gmail.com 46db0d2c3e Fixes issue 641.
Fixes issue 339.
Does not fix issue 506, but I have spruced up the text a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4335 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-07 17:20:22 +00:00
cib 6b6d037b51 Fixed a few mistakes with captain's suit storage unit. 2012-08-07 03:01:46 -07:00
cib 8ee4280e73 Moved the captain's space suit to a secure position in EVA. 2012-08-07 02:33:30 -07:00
cib 5785c817f8 Added a few hacks to make wound processing happen less often. 2012-08-07 00:01:40 -07:00
CIB 0021fe1f49 Nerfed changeling absorb objectives to 2-4 2012-08-06 15:24:50 -07:00
cib cc2aaf1731 Merge branch 'master' of github.com:Baystation12/Baystation12
Conflicts:
	code/modules/mob/living/carbon/human/examine.dm
	code/modules/mob/living/carbon/human/life.dm
2012-08-06 15:18:27 -07:00
cib 9b9d541a25 Fixed response_team.dm indentation. 2012-08-06 13:43:39 -07:00
cib f13a961a65 Merge branch 'cib' of github.com:CIB/Baystation12
Conflicts:
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/organ/organ.dm
	code/setup.dm
2012-08-06 13:36:26 -07:00
CIB fafe55632b Merge pull request #1582 from FireFishie/hat2
Captain's cap is now a hat
2012-08-06 12:52:04 -07:00
cib 0c67bc7439 Restructured the organ wound system.
Wounds are now datums rather than pure text, which means wound descriptions in examine will now always be in line with the actual damage of the mob.
2012-08-06 12:51:18 -07:00
ericgfwong@hotmail.com a2ee0a24c3 Fixed Issue 504
-Door controls now check if the bolt wire is cut and if the door is powered

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4326 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-06 17:09:29 +00:00
comma 2e6da1ab7a Surgery changes.
Gameplay-wise:
-Made all messages consistent, no more message about 'beginning' to do something when actually it's done. (Addresses Issue #1540)
-Now to attack patient on table with surgery tool you need to have harm intent (Addresses Issue #1540)
-All surgeries now have delays and begin/finish messages on each step, much like bone surgery.

Code-wise:
-All code handling surgery steps was moved in appropriate procs for each tool, to get rid of one HUGE attack proc.
Now attack proc checks for prereqs for surgery (like masks covering face), checks for targeted zone and calls needed proc.
-Deleted all code that handled messages for when user performs surgery on himself, because that's honest to god dead code. You need to be down to get surgery don on you, and you can't use tools while down. So until something is changed, those messages removed to improve readability of code.
-Added interrupt proc, that handles interruptions during surgery for each tool. For now all types of surgery handled the same, may be implemented differently later.

Signed-off-by: comma <krauchinsky@gmail.com>
2012-08-06 19:07:48 +04:00
giacomand@gmail.com d897798d5c -Fixed an issue where the NTSL's broadcast function couldn't send it's signal due to the new telecommunication machines.
-Made the telecommunication server and NTSL broadcast more robust so that having a HUB is an option, if someone decides to create their own network.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4325 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-06 14:48:10 +00:00
cib 7be97d0d9f Updated response team fluff 2012-08-06 13:42:31 +02:00
FireFishie 9b4cdb357e Captain's cap is now a hat
-Traded the Captain's cap back for the hat, as the cap is actually not all that sensible
2012-08-06 06:50:31 -04:00
Cael_Aislinn bc58cbe6a3 fix for announcement bug
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-06 17:21:46 +10:00
elly1989@rocketmail.com fb600f9bce Ok, part 1 of this huge mind datum fix. I need to run over the next part again because I've made a lot inconsistencies in it. This is sort of all the misc stuff that got tidied up whilst I was trying to get my head around how everything related to eachother.
This part focuses on:
-structuring the way silicon mobs initialise upon login (there was some hideous copypasta in Login() and New() which used spawn() to change the order of the calls so it was all jumbled up. I think I've got it sorted now.
-Borgs var/real_name was not initialising as "Cyborg". Meaning the name checks were kind of borked.
-Ghosts are now deleted at logout if they no longer have a key. This will stop unneeded ghosts being left lying around. It will not delete ghosts with keys assigned (so people can't respawn or anything). Removed all the del(ghost_ref) stuff I could find. Generally movign the key from a ghost should be the last thing you do as the ghost will be deleted by Logout. However I've put it in a spawn() to hopefully avoid coders accisentally using it in a way which causes runtimes.
-Fixed clone-plants spawning dud potato-people left, right and centre. They'll now dump seeds if it fails for whatever reason.
-Cultist and Rev status are removed at mob/living/silicon/Login() rather than having to be called on a special-case basis everywhere. This may not be necessary when this stuff is finished.
-Removed a bunch of :
-Commented mob/living/Login() with the rest of the antag-indicator code from cloning.dm and hydroponics.dm for any coders whom feel brave/suicidal to fix the related issues

Next on the agenda, replacing mob/var/original_name with datum/mind/var/name to fix the ticker runtimes
Then, fixing mind/proc/transfer_to(mob) once and for all. (There are issues with duplicate minds, role updates, inconsistent initialisation etc etc *yawn*

There's probably a few obscure bugs in there somewhere. Might want to hold off on the updates for a bit. Coderbus will likely spot them all by the end of the week.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4322 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 15:29:15 +00:00
ericgfwong@hotmail.com 5722add9f2 Transformation stings now works as players expect it to, and can transform living humans (and monkeys). Cost slightly raised, too, to adjust to this buff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4318 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 23:36:09 +00:00
Albert Iordache 27920a6c59 Merge branch 'mechrevert' of https://github.com/Nerezza/Baystation12 into Nerezza-mechrevert
Conflicts:
	code/game/mecha/mecha.dm
2012-08-04 22:48:25 +03:00
mport2004@gmail.com 3847ac46bd At the start of each job selection level, heads will be checked before all other jobs.
What this means is that if you set something like RD and scientist both to Medium, when it comes around to the Level 2 or the Medium preference checks if RD is open you will be placed in the lottery for RD before scientist (or any other non-head job set to Medium).  Unlike the change made in r4296 this one still respects player preferences.  r4296 would ignore all non-head jobs for EVERY level until it found a head before it even began to run the standard selection code.  With this change the older FillHeadPosition is not quite as important and could likely be removed if wanted however it does still help in cases where you would end up with no heads yet someone had a head set above never.

tl;dr The idea of having a head job chosen over a normal job of the same level is good, however the way it was implemented was not due to how it ignored other preferences.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4317 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 18:20:20 +00:00
baloh.matevz e7efac9ca6 - Fixed r4301 so it actually does what it set out to do.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4315 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 14:51:46 +00:00
giacomand@gmail.com e0ca2a6bc0 -Fixed issue 540, someone thought that the prison's intercom microphone not working was a bug, which was actually intentional.
-Fixed issue 643, the code will now check that the TKed item's loc is on turf, i.e: not in a locker or in someone's pockets.
-Fixed issue 282, the locker wouldn't pick up the chameleon's dummy because it was an effect and not an item. I added a hacky exception for the chameleon projector. I've also made the starting item something more useful so that people will use it more. Please report any issues you find with this, I'm sure nothing too bad will happen.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4313 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 14:35:12 +00:00
Cael_Aislinn 6d0058a31e fix for contraband >.>, also simple_animals can't buckle themselves in now
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 20:58:53 +10:00
Cael_Aislinn 8d4f6a8efe admins can change the serial number of a rolled up poster to change the poster decal type when applied. note that you'll need to change the name of the rolled up poster to reflect this if you want to avoid confusion
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 20:00:59 +10:00
Cael_Aislinn 93f864083c doubled zas debug sensitivity, some tweaks to mouse/ghost spawning
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 19:23:40 +10:00
ericgfwong@hotmail.com e5a2674e3a -Added Armor run to admin tomes
-Resolved Issue 720. Message should now properly tell you who got cult armor
-Resolved Issue 642. Bad indentation caused girders to disappear if you move away while building them.
-Commented out admin messages when monkeys used non-monkey SEs
-Atmos techs given Construction Area access
-Remapped the south end of Med-Sci
--Misc. Research Lab added to science
--Virology moved to be made more isolated
-Updated Changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4312 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 07:37:22 +00:00
Cael_Aislinn 46a450069e - simple_animals can't open doors by default
- alien larvae, mice can hide under mobs
- roaches, mice can hide under various objects
- various tweaks, including flavour and existing mechanics
- fix for ghosts not being able to spawn as mice
- added move delay of half a second to simple_animals (about the same as human walkspeed?)
- simple_animals, when talking, can only understand each other (and mobs with universal_speak)

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 15:47:56 +10:00
Cael_Aislinn 0b14f97af0 hardcap for vermin spawning (30, editable via gameticker) 2012-08-04 15:44:02 +10:00
sieve32@gmail.com e743b55220 Carn told me a better way to go about the icons updates, so I did. Quick fix.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4311 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 01:06:55 +00:00
sieve32@gmail.com d403ae7cb1 -Fixes an unreported bug, where the equipment on wizards/nukeops/headrevs/cultists wouldn't appear until you picked up an item (Fixed by calling the appropriate icon update)
-Fixed the issue with cookies not appearing mobs until they picked up something
-Now when you are in the process of suiciding, Life() will treat all breaths as failed and you will take more oxyloss than someone in crit that isn't suiciding (Instead of being in crit forever because you could still breathe just fine).
-Fixed a pretty dumb bug in human life, where you would be treated as dead at -100 health, but you didn't die until you hit -101. This mostly caused issues with oxyloss, because once you hit -100 you stopped breathing, but were still alive.
-You can no longer put borg items on monkies, and while I was at it I made directionals for their handcuffs
Fixes Issue 728
Fixes Issue 731
Fixes Issue 714
Fixes Issue 694

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4310 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 00:47:55 +00:00