Commit Graph

5039 Commits

Author SHA1 Message Date
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
elly1989@rocketmail.com 6b56ef27ac Fix for admin-ghosting. Admins couldn't re-enter body after using set-observe.
Cause: I forgot to set the ghost's can_reenter_corpse to 1 after I changed something.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4344 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 01:36:19 +00: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 9307b00513 tweaks to simple_animal emotes
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 04:42:44 +10:00
Cael_Aislinn 06f223ec6a ghosts properly retain their human names
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-09 03:29:20 +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
giacomand@gmail.com a5ff8f581b -Fixed issue 741, Aliens now recover a small amount of oxygen loss when not in critical. Weeds will also help heal you.
-Fixed issue 742, the transfer will now use the absolute value.
-Fixed issue 743, someone forgot to change the label and the amount it takes. It was originally 200 but it was changed to 50.

Cleaned up alien/life.dm by removing unneeded code.
Made it so weeds don't heal you so god damn much.
Buffed eating people to heal you, now that nutriments are not handled.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4334 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-07 15:07:25 +00:00
Cael_Aislinn e4600a8fa7 tweaks / fixes to carp a bit, removes munchkin from tgstation.dmm
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-07 21:23:55 +10:00
cib c6054e06ec Fixed a derp with damage types. 2012-08-07 00:18:53 -07:00
cib 5785c817f8 Added a few hacks to make wound processing happen less often. 2012-08-07 00:01:40 -07:00
cib 2a993ffee4 Adjusted healing speed for the amount of wounds per wound object. 2012-08-06 23:26:26 -07:00
cib 8a2a1b58ca Two fixes to joint wounds. 2012-08-06 23:17:07 -07:00
cib 7bbc98e9da Wounds of the same type are now handled in the same object. 2012-08-06 23:04:47 -07:00
cib bf82cc0023 Healed wounds now disappear after a while. 2012-08-06 22:55:14 -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 5b342bd217 A few last balance fixes to wounds. 2012-08-06 14:52:27 -07:00
cib 02457fc55b Fixed up bloodloss a bit more. 2012-08-06 14:21:34 -07:00
CIB 791e481d6e Removed a lagtastrous item 2012-08-06 14:12:04 -07:00
cib b4f1c4ed9f Fixed yet another derp with organs 2012-08-06 14:01:36 -07:00
cib 22c627901b Fixed a very silly mistake with wound healing. 2012-08-06 13:23:32 -07:00
cib 45a0eac4e7 Small fix to widening wounds. 2012-08-06 13:19:45 -07:00
cib 279bcc1851 Reduced blood regen significantly. 2012-08-06 13:13:40 -07:00
cib 35d82b3789 Increased the chance of wounds ripping open. 2012-08-06 13:11:48 -07:00
cib 2d751104ae Fixed an issue with wound creation 2012-08-06 13:00:43 -07:00
cib 71e3d50399 Bugfix to healing organs 2012-08-06 15:45:21 -07:00
cib bdffd60cc9 Balanced out wound healing. 2012-08-06 15:21:03 -07:00
cib b89e913445 Slowed down healing a little.
Also a minor fix to examine.
2012-08-06 15:08:29 -07:00
cib 76c06283f4 Fixed another derp with organs 2012-08-06 13:58:59 -07:00
cib 1f6231c174 Fixes some more merge issues 2012-08-06 13:48:21 -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 2be19a15ba Minor bugfix to new organs. 2012-08-06 13:28:02 -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
comma fe41c6ea1e Stops processing metroid's life after it's dead.
Fixes issue #1463

Signed-off-by: comma <krauchinsky@gmail.com>
2012-08-06 21:11:58 +04:00
Cael_Aislinn f52eb099f7 tweaks, fixes and additions to carp and simple_animals
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-07 00:03:56 +10:00
giacomand@gmail.com b35fb98116 -Fixed a bug where the AI could not repower itself if the APC's equipment was turned off.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4323 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 20:41:48 +00: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
Cael_Aislinn 52fdda910a mice can crawl through vents and hide under objects
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-05 21:03:16 +10:00
Cael_Aislinn bece31d819 fix for mouseception naming bug
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-05 20:00:43 +10:00
elly1989@rocketmail.com fa26585dc5 Fixes an inconsistency with update_icons stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4320 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 09:22:10 +00:00
Cael_Aislinn eaa28099d3 compile fixes, more tweaks
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-05 03:52:17 +10:00
Cael_Aislinn 2b2017126a tweaks to simple_animals, carps no longer freeze / require oxy to live (but rapidly burn up from 25+ degree temp), kobolds no longer require oxy to live
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-05 03:13:49 +10:00
petethegoat@gmail.com 04e4380508 Fixes issue 557.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4314 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 14:49:38 +00: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
Cael_Aislinn 714a9b120f compile fix
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 15:56:18 +10: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 c4ba455f35 added var to /mob to allow some mobs to share spaces
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-08-04 13:12:17 +10: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
elly1989@rocketmail.com ac4afac1a4 Runtimefix. <3
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4306 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-03 20:40:07 +00:00