Commit Graph

1022 Commits

Author SHA1 Message Date
baloh.matevz
c2734300b2 - fixed issue 803. Admins will be able to hear deadchat no matter what... unless they shut it off with the toggle-hear-deadchat verb, that is.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4467 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 07:23:17 +00:00
baloh.matevz
adbc74a942 - Fixes issue 748. Pulling restrained monkeys now behaves as it's supposed to.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4462 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 05:37:11 +00:00
sieve32@gmail.com
626cb74704 -Metroids will now feed when 'content' (But not as quickly), meaning they will evolve and reproduce properly
Fixes Issue 765
-It is now possible to weld secure lockers shut
-Lockers now have a welded overlay (Expect in some cases, such as cabinets)
Thanks to Pete for the sprite

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4459 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 04:22:53 +00:00
baloh.matevz
f3996dfc5e - Fixed issue 657. Attacking someone at a distance (using TK) will no longer make you get smeared in their blood.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4458 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 04:18:08 +00:00
baloh.matevz
9062d7fb23 - Added a real_name variable to DNA, which gets assigned when mobs are created and when preferences are copied as well as when changelings absorb mobs. This is so I could drop the dictionary-style list from changelings, which went list(real_name = \ref[dna]). What this meant was that if you absorbed multiple people whose real_name was "Unknown", you'd only have one dna to show for it. Now all of them will show and will be available to transform into.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4457 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 03:55:09 +00:00
johnsonmt88@gmail.com
852b838e4e There were a bunch of boxes that had their own special code when they all do the same thing. So I've merged them into proper storage items.
Boxes affected:
- Donut boxes
- Egg cartons
- Candle packs
- Match boxes
- Snap pop boxes
- Monkey cube boxes

Items I didn't merge:
- Pizza boxes
- Cigarette packs

Pizza boxes are a whole new kind of 'special snowflake code' that is best left the way it is. Cigarette packs involve some stuff I'm unfamiliar with so that can wait until I learn what I need to learn.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4452 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 00:35:01 +00:00
baloh.matevz
cac628a640 - In preparation of fixing issue 585, which extends far further than just the things listed there, as well as to standardize the many incarnations of satchel-type code (pill boxes, mining satchels, hydroponics satchels, etc.) I have added some functions to storage type items:
New variables:
var/use_to_pickup = if 1, the storage item also works like satchels, which means you can use it on something else to pick it up.
var/display_contents_with_number = if 1, the items in the storage item are grouped by type with the number of items being displayed. See the screenshot.
var/allow_quick_empty = if 1 on creation, it adds a verb that allows you to empty the item with one click
var/allow_quick_gather = if 1 on creation, it adds a verb which allows you to switch between pick-up methods. one-per-click or all-on-tile. Same as satchels worked. use_to_pickup must be 1 for any of that to matter.
var/collection_mode = 1;  //0 = pick one at a time, 1 = pick all on tile

New procs:
/obj/item/weapon/storage/proc/can_be_inserted(obj/item/W as obj, stop_messages = 0)
- Returns 0 or 1, depending on whether the item W can be inserted
/obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj)
- Inserts the item into the storage item and calls all the procs it needs to. Doesn't check whether the item can fit tho, tha'ts what can_be_inserted() is for.
/obj/item/weapon/storage/proc/remove_from_storage(obj/item/W as obj, atom/new_location)
- Removes item W from the storage object and sets it's loc to new_location or get_turf(src) if one is not provided.
/obj/item/proc/on_exit_storage(obj/item/weapon/storage/S as obj)
- Called after the object has been removed from the storage item S. The object's loc is already set to the new one.
/obj/item/proc/on_enter_storage(obj/item/weapon/storage/S as obj)
- Called after the object has been inserted into the storage item S. The object's loc is already set to S.

I made satchels work on this new code. The rest will be added to it soon. See the screenshot.

Screenshot:
http://www.kamletos.si/new%20satchels.png

This is yet another big change and it is very possible that bugs will come from it. Please report them to me or on the tracker.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4451 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 23:35:53 +00:00
giacomand@gmail.com
be76c3afcc Fixed issue 645.
I changed how uplinks worked. Instead of there being a duplicate item which would switch out when it activates, there's an item called "obj/item/device/uplink/hidden". It is a hidden uplink which you can place in any obj/item. In "hidden" is where it will generate menus, check for triggers to show the menu and etc.. No need to switch out with duplicate items or add the menu onto the PDA's notes.

How to create a new uplink item in 3 easy steps!

1. All obj/item 's have a hidden_uplink var. By default it's null. Give the item one with "new(src)", it must be in it's contents. Feel free to add/remove "uses".

2. Code in the triggers. Use check_trigger for this, I recommend closing the item's menu with "usr << browse(null, "window=windowname") if it returns true. The var/value is the value that will be compared with the var/target. If they are equal it will activate the menu.

3. If you want the menu to stay until the users locks his uplink, add an active_uplink_check(mob/user as mob) in your interact/attack_hand proc. Then check if it's true, if true return. This will stop the normal menu appearing and will instead show the uplink menu.

I've given the recharge station's verbs a category so they don't create their own tab.
I've added a mob/proc called put_in_any_hand_if_possible. Name speaks for itself. Returns true if successful, false otherwise.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4450 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 21:57:27 +00:00
baloh.matevz
d8ec97e76e - Fixes an equip_e related runtime error
- Fixes storage items not updating when you put something in them.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4447 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 19:36:43 +00:00
baloh.matevz
6e776a54c4 - Fixes the issue of simple animal attacks not logging in attack logs. There's a billion places where these attacks are copy-pasted to... seriously, who coded this? Fixes issue 795
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4445 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 18:52:34 +00:00
petethegoat@gmail.com
0970e6c55d Standardised reagent colour mixing a little bit. Fixes issue 785.
Changed the path of large beakers, so they're actually a subtype of beaker (wtf)

Moved new_year.dm to unused.
Updated Carn's sequential master controller to not have tension stuff, for potential live testing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4444 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 18:33:34 +00:00
baloh.matevz
c0465614da - Mutantraces are no longer a variable tied to human mobs, but rather a variable tied to dna. As such, changelings who absorb people with a mutantrace will now transform back into the mutantrace when they transform into their DNA.
- Fixed issue 784.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4440 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 17:13:28 +00:00
baloh.matevz
d908d6bf04 - Fixes issue 744.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4431 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 04:17:11 +00:00
baloh.matevz
da317355e9 - Who ever heard of a massive revision with no follow-up revisions hotfixing bugs... noone! Removed two world << "" debug outputs from human/life.dm and added a flag that I accidentally deleted back to breath masks.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4429 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 03:09:24 +00:00
baloh.matevz
530c5c804a - Yet another issue that needed fixing resulted in the entire system having to be rewritten. Fixes issue 44, Fixes issue 690.
New defines in setup.dm:

This revision changes the following things:
- Hot is no longer defined as 'higher temperature than 310.15K' but is defined as 'higher temperature than my body temperature'. The opposite applies for cold.
- Removed heat_transfer_coefficient and protective_temperature
- Added heat_protection and cold_protection flag variables to obj/item, which define which areas of your body are protected from heat.
- Added max_heat_protection_temperature and min_cold_protection_temperature which define up to which temperature the item protects when worn (NOTE that it only protects on the locations specified by the heat_protection flags!) and down to which temperature it protects from the cold.
- REMEMBER! hot and cold were redefined to mean 'which way your body temperature should be moving based on the air around you'.
- Each tick, your body now 'corrects' your body temperature towards 310.15K which is the ideal temperature. The correction is max( difference/12, 10 ), so either a twelfth of the difference between your body temperature and 310.15K, or 10K, whichever is higher. This ensures your body temperature stabilizes over time.
- Most notable changes in the amount of protection you get from common items are these: Space suits now ONLY protect from cold and fire suits now ONLY protect from heat. Now what this means is obviously that firesuits will be useless in space, but also that if you find yourself in a fire with a high body temperature and you put a firesuit on, your temperature will no longer stagnate at the high temperature, due to temperature not going up nor down, but rather it will get lower. Instead it will be protected from rising, it will however gradually get lowered by your body's 'auto-correct' attempts, as described in the last point. Additionally, if you wear a fire suit and enter an area with a good temperature (for isntance 290K) and you have a high body temperature, due to just escaping from a fire, the fire suit will not make your body temperature stagnate. Because it does not protect you from cold, and cold being defined as 'colder than your body temperature', you will actually successfully cool down to the optimal temperature.
- The opposite applies to space suits. They protect from cold and don't protect from heat. If you find yourself in space and your temperature drops and put on the space suit with your temperature still low, you will recover over time. If you enter an area with a good temperature, you will recover faster, since the space suit does not protect you from heat.
- In short, space suits are now better at dealing with space and fire suits are better at dealing with fires.
- You will NEED a fire helmet to be protected from heat and you will NEED a space suit helmet to be protected from cold. There is no 'but'. Fire helmets are red or white hardhats, found in all fire closets.
- The 'heat up' coefficients are defined in setup.dm, they are:
- - head = 30%
- - lower and upper torso = 15% each = 30%
- - legs and arms = 7.5% each = 30%
- - feet and hands = 2.5% each = 10%
- Gloves cover hands
- Shoes cover feet
- Space-worthy jumpsuits cover legs, arms, upper and lower torso
- Space suits cover legs, arms, hands, feet, upper and lower torso
- Headgear covers heads
- Removed the HEADSPACE and SUITSPACE flags, due to being moved to the new variables. This frees up the flag value 4.
. The amount of damage heated gas and heated areas do can now be set in human/life.dm. The values are: (The different levels are based on breath temperature or body temperature.)

#define HEAT_DAMAGE_LEVEL_1 2
#define HEAT_DAMAGE_LEVEL_2 4
#define HEAT_DAMAGE_LEVEL_3 8

#define COLD_DAMAGE_LEVEL_1 1
#define COLD_DAMAGE_LEVEL_2 2
#define COLD_DAMAGE_LEVEL_3 4

//Note that gas heat damage is only applied once every FOUR ticks.
#define HEAT_GAS_DAMAGE_LEVEL_1 2
#define HEAT_GAS_DAMAGE_LEVEL_2 4
#define HEAT_GAS_DAMAGE_LEVEL_3 8

#define COLD_GAS_DAMAGE_LEVEL_1 1
#define COLD_GAS_DAMAGE_LEVEL_2 2
#define COLD_GAS_DAMAGE_LEVEL_3 4

The speed at which your body temperature raises or falls can be altered with the following defines: 

#define BODYTEMP_AUTORECOVERY_DIVISOR 12 
#define BODYTEMP_AUTORECOVERY_MINIMUM 10
#define BODYTEMP_COLD_DIVISOR 6
#define BODYTEMP_HEAT_DIVISOR 6

The divisors determins by how big a difference between your body temperature and the surrounding air (or 310.15 in the case of autorecovery) will your body temperature change. The autorecovery_minimum means what the minimum recovery is, if difference / 12 is less than 10, it will recover by 10.


Was all this needed to fix Issue 44? Yes..... yes... it was... Some things are consequences of decisions made while fixing it, but all of it was necessary to completely fix the issue. I found it did not remain on the tracker for this long for nothing.

I'm sorry for the essay, but there was a lot of work involved and a lot of changes happened, so I had to write a lot...

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4428 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 02:48:49 +00:00
sieve32@gmail.com
1e16d4add0 -Made space-bears stop moving when dead as well
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4427 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 02:17:45 +00:00
sieve32@gmail.com
f0ed7dc198 -Fixed carp chasing their target around when dead
-Deleted the old /obj/item/weapon/'grenade', there's standardized stuff now, and the old shit doesn't even work. Waste of space, 0/10 would delete again.
-Fixed clusterbangs. Honk

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4426 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 02:06:43 +00:00
baloh.matevz
efc0f67199 - Saw an error with my last commit. A proc was improperly called.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4424 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:27:48 +00:00
baloh.matevz
5a199fc564 I started with the desire to fix issue 634. It sounded like a simple issue, right? Well one complete rewrite of how equipping and stripping works later, this commit fixes issue 645
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.

equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)

equip_to_appropriate_slot() is now a /mob - level proc.

equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.

New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)

This proc can be used to determine whehter a mob can pick up an item from the item's side.

Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:15:55 +00:00
petethegoat@gmail.com
23a13baa8e The zone select thingy now uses the proper UI style.
Added new zone select sprites for aliens and cyborgs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4417 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 08:18:41 +00:00
baloh.matevz
5a3b9d7a24 - A change to 'who' for admins, which now displays more information. Amongst these is the ckey of the person, the name of the character they're playing, their status as alive, unconscious, dead or observing (joined as observer) and whether they are an antagonist or not. Along with this you get an adminhelp-style (?) link which displays further information about the person. While this might not be considered a 'bugfix' it is necessary due to the removal of the tensioner panel as it gives a quick overview of how many people are alive and how many are dead.
- Removed the obnoxious message blue and red colors which was shown when hydroponics trays were overran by weeds. The message is now blue and has a dot at the end, instead of an exclamation point.
- Made '/obj/effect/debugging/marker' immovable. It was silly that it reacted to air movement.
- Standardized mapping.dm
- Removed the round-end condition of "Everyone is dead! Resetting in 30 seconds!"

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4415 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 00:24:24 +00:00
sieve32@gmail.com
7d0d8fc4c5 -Fixed MMI's being able to eavesdrop on robotic talk, mostly due to an issue with lists and how MMI's handle brains
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4413 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 00:07:19 +00:00
petethegoat@gmail.com
1fc8ce5bc5 Fixes issue 739.
Fixes issue 505.

Boxing gloves can no longer be used to make stungloves (with descriptive, adventure game style failure message~).
People without savefiles no longer get the "Your save has been deleted" message when they start the game.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4402 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 16:40:27 +00:00
petethegoat@gmail.com
517a0d8add Fixed issue 570.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4398 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 13:44:58 +00:00
elly1989@rocketmail.com
4c87332cc1 Resolves Issue 734
> A clown's medical, crew, and security records are updated with his newname. (read below for details)

> reject_bad_name() now checks for dumb names like "space","floor","wall","r-wall","monkey","unknown","inactive ai" (if you know any other important ones let me know)

> clname() [clown-name] and ainame() [AI name], procs which allow those players to rename themselves, were merged into /mob/proc/rename_self(var/role, var/allow_numbers=0)
This proc gives the mob 3 chances to name itself. It checks names using reject_bad_name() (the same thing that checks the round-start names). If it fails 3 times it will not change the name. If it succeeds it will call the proc in the next bullet point.

> /mob/proc/fully_replace_character_name(var/oldname,var/newname) will replace most references to a mob's oldname and replace it with newname. It updates name, real_name, mind.name, updates their id, updates their pda and updates all their data_core records (manifest records like medical, security, general, locked)

> data_core procs merged because they were massive and all identical.

> accidentally fixed an AI sound which accidentally played upon login. It conflicted with the "Welcome to the station crew" announcement. So I commented that out to try the 'new' fixed one. If people hate it I'll comment it back to how it was.

> naming a mob with the big name  at the top of viewvars will use fully_replace_character_name()

> Removed an uneccessary regenerate_icons() proc from every player which spawns. Should speed up spawns a smidge



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4396 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 10:44:41 +00:00
petethegoat@gmail.com
f657677a99 Fixed issue 775.
Fixed issue 767.

The fix for issue 767 was to standardise spray bottle code (to some extent). If any issues come up with spray bottles, pepper spray, or chem sprayers, report them to me.
Cyborgs now recharge their pacid and lube, as the size of their bottles was quartered.

Changed the flash item_state to "flashbang", as it looks exactly like a flash.

There's some more grammar and text clean up too, mostly with crates and closets.

Finally, fixed some pipes in virology, and changed the librarian's den so the bookcases are at the top.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4394 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 18:24:34 +00:00
sieve32@gmail.com
4b72ada290 -Cleaned up the code to sacrifice borgs, AIs, and brains. (Also made it possible to sacrifice AIs on intelliCards)
-Gave brains a proper gib() so they are actually gone
-Added a proc to the 'Secrets' panel, a variation of power the station that instead is MUCH faster and just powers all SMES, turns on output, and sets it to max (helpful for testing and it doesn't leave the server frozen for 60 seconds to process)
-Added maxHealth to mice, killer tomatos, and walking mushrooms (They started with 5 health but could be 'healed' up to 20)
-Made the updatehealth() actually usable outside of humans by making it use maxHealth instead of just '100'
-Fix for shield generator sprites not updating properly, caused by not all generators actually updating on powerloss, and adding an update_icon() where needed
Fixes Issue 751

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4393 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 15:30:36 +00:00
petethegoat@gmail.com
e4e7256d66 Fixed issue 777.
Fixed issue 439.

Relating to the 439 fix, added a new define, TEMPERATURE_DAMAGE_COEFFICIENT. The name is slightly misleading, as it is used in reagents that affect body temperature. Leporazine now functions properly, and you can once again into space with a cup of coffee and a firesuit.

Also did a few grammar changes for newscasters.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4392 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 13:58:43 +00:00
rockdtben@gmail.com
bf9f922390 -Fixes issue 690
-Made my comment less ambiguous

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4391 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-13 13:21:02 +00:00
baloh.matevz
4a0f31a8c0 - Addressed the issue of AIs not being able to see anything in the dark. They now have a 'toggle camera light' verb in the AI verbs panel. What this does is enable a light on the camera they are viewing from. Only the light on the camera they're viewing from will continue to be enabled.
The fluff behind this change is that a loss of power in an area prevents the use of advanced camera features, such as XRAY. The amount of power which the camera network supplies is only enough to operate a light on the camera.

Since there are lots of ways to remove an AI from a camera, it is possible that some bugs will appear. I tested what I could and fixed all the errors that I noticed. If any additional errors appear, please let me know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4387 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 23:24:28 +00:00
elly1989@rocketmail.com
76440d9acd Tidied up the preferences screen a tiny bit. It now uses switches and should fix another:
The following runtime has occured 23 time(s).
runtime error: Cannot read null.key
proc name: process link (/datum/preferences/proc/process_link)
  source file: preferences.dm,638
  usr: null
  src: /datum/preferences (/datum/preferences)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4384 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 21:58:18 +00:00
elly1989@rocketmail.com
a79f049ebd Moves mob/var/datum/changeling/changeling to datum/mind/var/datum/changeling (changeling datums are now held by minds rather than mobs)
As such, changelings can now be reported at round-end, even after gibbing. Resolves Issue 251

Changeling power proc_holders are now datums rather than objects.
Condensed all those changeling stings down a bit. This will make fixing issue 351 easier to fix

Replaced changeling fakedeath and a number of checks for the zombiepowder reagent with a bitflag: mob/var/status_flags & FAKEDEATH
setting the FAKEDEATH flag will make the mob appear dead in exactly the same way changeling parasting and parapens worked. I've updated changelings and zombiepowder to work with this flag.

Bug fixes for the staff of change. There was a type mismatch and I typo'd "alien" as "xeno" so xenos were not being randomly picked.

TODO:
changeling purchased verbs could probably be moved to mind/special_verbs. Likewise, other modular antag proc-holders can be merged with the changeling system using the same type of datum. (namely wizards)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4377 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 05:43:39 +00:00
johnsonmt88@gmail.com
cc544acea0 Removed the tensioner. It was buggy and really only served to ruin rounds. The original purpose of the tensioner before Poly reworked it was to act as a stat tracker, which is now meaningless since erro has a fully operational stat tracker in place.
As a result, cyborg death squads were also removed.

This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 20:02:31 +00:00
elly1989@rocketmail.com
904f71f08a Removing some unused loops and the last of the speech-bubble stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4370 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 15:41:21 +00:00
Kortgstation@gmail.com
2a120a59c2 Fixed space carp and space bears being unable to actually survive in space.
Noticed the space worm icons were both in animal.dmi and critter.dmi, so deleted the extras in critter.dmi and set the space worm to use animal.dmi 

Deleted the creatures othering.dmi and moved its icons into critter.dmi with the rest of the critter stuff. Who knows why it had its own.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4359 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-10 18:34:02 +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
elly1989@rocketmail.com
7d7fb4abaf Fix for r4350
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4352 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 18:04:38 +00:00
giacomand@gmail.com
02cd103eb8 -Reverted Alien life.dm changes. Changed healing on plasma to -5 for each damage type. Added -5 OxyLoss for when on plasma weeds.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4350 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 17:34:10 +00:00
quartz235@gmail.com
63268d45de reverting r4348 since we're in a feature freeze and apparently changing a numeric limit on something that in no way impacts the code or anything outside of personal fluff is a "feature"?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4349 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 16:40:23 +00:00
quartz235@gmail.com
257e0772bc Increases the age limit to 80 in case someone wants to play a geriatric spaceman who is tired of young men on his lawn.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4348 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 15:08:01 +00: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
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
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
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
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
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
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