Commit Graph

342 Commits

Author SHA1 Message Date
giacomand@gmail.com
7d6fb8fd6a Commiting for Aranclanos.
http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=10189&p=143580&hilit=https%3A%2F%2Fwww.dropbox.com%2Fs%2Fcwflgm7793ts20s%2FBorgsForCasualsRELOADED.patch#p143580

-Fixed some ugly text in Ion laws "THE STATION IS [0x6006265] FETISHES...LAWS UPDATED".
-Fixed some typos on the Ion laws.
-When borgs are emagged, now they show their laws for themselves.
-When new laws are uploaded, the borg gets instantly the new laws, just like the AI, instead of the confusing message "Your AI has set your 'laws waiting' flag.". Remember this is a patch for casuals.
-The borgs gets the same message than the AI in Ion storms.
-Made the admin Ion storm show the "...LAWS UPDATED" text.
-Borgs get a different law 0 telling them to help their master.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4837 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-09 05:37:28 +00:00
giacomand@gmail.com
8c2036635e -Making AIs traitors will actually give them a law 0.
-Removed a feature so it cannot be exploited and clear your laws.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4836 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-09 04:05:51 +00:00
quartz235@gmail.com
44b5a92c5d Skeletons can now play their ribcages like xylophones! FUCKING SPOOKY!
- Must not be wearing a suit or uniform, done by clicking on self with help intent
- Removed a leftover debug message

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4820 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-06 17:39:22 +00:00
sieve32@gmail.com
8c387f2158 -Made all contructs children of /mob/living/simple_animal/construct and changed the type paths as needed
-Now when examining someone you can tell if their brain is missing, and it doesn't give the 'catatonic' part (Because the player is in a different mob and it's kind of misleading)
-Committed Lugar223's patch for the temperature gun, preventing the window from re-opening as it heats up/cools down
Fixes Issue 900
-Fixed the issue where dead players could use pAI carts if they left the window open
Fixes Issue 967
-Changed how the Destructive Analyzer handles sheets, now it will only deconstruct 1 sheet out of the stack at a time. Also found a bug where it would destroy its own components, so that is fixed as well.
Fixes Issue 989
-Secborgs can no longer put their stun baton or energy gun in rechargers, added a check for /mob/living/silicon
Fixes Issue 972

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4807 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-04 22:08:27 +00:00
polyxenitopalidou@gmail.com
9f020e76e7 •Added skeletons
•Only usable through the admins' view_variables as of now, since no actually good ways of implementing them came up
•makeSkeleton() is still there, ready to be used wherever you wish.
•Note: Skeletons have no underwear and no eyes.
•Rewrote some minor stupid shit

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4800 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-02 22:29:13 +00:00
d_h2005@yahoo.com
60bce6c53b -Adds a new wizard artifact, the gem-encrusted hardsuit. Attack protection is equal to the highest values of robes + normal rig suit, and it allows spellcasting like a normal set of robes. Maybe now wizards can stop dying after blinking into space/teleporting to Borg Deathsquad Arrived.
And hopefully they WON'T use it to explore the derelict all around every round. We'll see.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4794 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-02 05:34:03 +00:00
elly1989@rocketmail.com
b932099768 Resolves issue 977 - randomised supply packs are randomised at the time of purchase
Clicking cancel when prompted for a reason for an order will cancel the order rather than using a default reason.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4779 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-30 14:40:48 +00:00
quartz235@gmail.com
a6e7c085ef Revert's cib's BS12 merge by XSI's orders
- Tested with various damtypes/locations/mobs but if i'm a dumbass and overlooked a problem feel free to punch me and revert this

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4762 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-27 02:14:21 +00:00
giacomand@gmail.com
ff4f9a7699 -Fix for runtime errors when shuttles move.
Apparently the list holds unsimulated turf, which came from the shuttle, even though the list type is for simulated turf only. Because of this it was generating runtime errors. I made the foreach loop do a type check to fix this issue for now.

-Instead of an admin message, edited minds will instead just log.

Requested by Kor.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4741 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-23 16:29:51 +00:00
giacomand@gmail.com
b37ad5df02 -Changelings will start with the free powers. Meaning they don't have to buy it everytime.
-Buffed paralyse sting to 20 weaken. I made this change due to the new choking, as it was nearly impossible for the changeling to have enough time to sting their victim and get them into the killing grab, while before it would be extremely easy.

-When editing someone's memory and making them antags, it will display a warning message to admins to notify them of your action.

-Fixed EMP'ed lockers not updating their icons when they're unlocked.
-Lowered the cost of the agent card to 2 Telecrystals.
-When vent crawling, welded vents won't show up in the list.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4740 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-23 15:35:07 +00:00
petethegoat@gmail.com
c016c10bfa Fixes issue 955. (Signalers don't update bomb overlays)
Fixes issue 957. (Sexy mime costume causes incorrectly coloured cleavage)

Adds lipstick~
There are four colours to choose from, and they can be found in contraband crates. You can wipe off lipstick with paper.

Adds some feedback for when the invisimin verb is used.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4739 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-23 15:31:01 +00:00
CIB123
d6206e172d Merge branch 'cib' of github.com:CIB/tgstation13 into cib
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4730 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-19 18:54:55 +00:00
CIB123
b555f5a0f0 Fixes a few issues with the organ system.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4722 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 21:34:05 +00:00
CIB123
35a3b0c152 Added config options for toggling limbs breaking and bones breaking.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4721 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 21:33:54 +00:00
CIB123
d6dfd49a75 Ported parts of the BS12 organ system.
This includes:
- Individual wounds
- Dismemberment
- Bone breaking

It also adds configuration values to config/game_options.txt to control the point at which bones break and limbs are cut off.

Does not include surgery or bleeding yet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4720 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-18 21:32:39 +00:00
elly1989@rocketmail.com
0f98fd84dd Replaces the voting system. It should fix a pretty serious server-crashing exploit and simplify the code a fair bit.
Removed all the voting-related adminverbs. It's all built into ooc vote verb.
Admins can now make custom votes for literally anything.
If a vote draws it will pick one of the winners at random.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4677 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-12 00:44:13 +00:00
Kortgstation@gmail.com
ed3f216514 Cult swords are force 30 now, and don't fit in bags or on belts. Use the damn robes they come with if you want to use em.
Artificers no longer have delay on spells, but can't create R-Walls

Carp attack damage is now 15 flat, having a chance to deal only 5 makes them far too weak.

Bears now actually have an attack value higher than zero, so players keyed into the bear can attack.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4672 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-10 01:31:54 +00:00
petethegoat@gmail.com
8a7e4e4ed5 A little bit more away mission work. It should technically be playable.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4663 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-09 01:29:05 +00:00
johnsonmt88@gmail.com
c7947ef236 File restructuring: ohgodihopenothingbroke edition.
All /world/ stuff that I've found is now in code/world.dm instead of being scattered throughout the code in 6-7 files.

*****IMPORTANT*****
This means that hub.dm is now part of world.dm. Server hosts using the hub will likely have to redo the hub/password variables!

Again, that stuff is now located in code/world.dm
*******************

The tester list has been removed as it is not in use.

/code/defines
- Moved atom.dm code into /code/game/atom.dm and atom_movable.dm
- Moved hub.dm code into /code/world.dm
- Moved the /defines/tanning into objects/item/sheets/leather.dm
- Moved /defines/area/ into game/area/
- Moved turf.dm code into the code/game/turfs folder and divided it up into meaningful places

A lot of the files in /code/game were placed in new areas since they really didn't have a reason to be there.
- algorithm.dm: 
- - The world stuff is in world.dm. 
- - countJob() and AutoUpdateTK() were removed entirely (unused).
- - AutoUpdateAI() is now in /mob/living/silicon/ai.dm

- atom_procs.dm was split into atom.dm and atom_movable.dm

- cellautomata.dm
- - World stuff was moved into world.dm
- - Atom stuff was moved into atom.dm and atom_movable.dm
- - Atom verbs were moved into code/game/verbs/atom_verbs.dm

- chemistry.dm
- - Beaker box code was moved into storage/misc.dm
- - The trash can and 'alechemy' paper were removed. (unused)

- Landmarks.dm was moved into /objects/effects/landmarks.dm

- prisonshuttle.dm, specops_shuttle.dm, syndicate_shuttle.dm and syndicate_specops_shuttle.dm have been moved into game/machinery/computer/

- status.dm and topic.dm code were moved into world.dm

- step_triggers.dm are now in objects/effects/step_triggers.dm

- throwing.dm was split into appropriate files (carbon mob code, atom_movable.dm, ect)

- vote.dm is now in code/datums

/code/game/asteroid was split up.
- turf.dm was moved into game/turfs/simulated/asteroid.dm
- artifacts were split up
- - Wish granter is now in game/machinery
- - The stealth box is gone (unused)
- - The list of 'space suprises' was moved into astroid.dm
- asteroid.dm, being the only file left, was moved into /code/game


and finally...
modules/mob/organs files are now in code/datums/organs

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4659 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-08 22:11:02 +00:00
elly1989@rocketmail.com
278aacd80a Changelings absorbed by other changelings can no longer rejuvenate back to life. This means changelings can no longer absorb eachother and rejuvenate to share genomes and absorbedcounts.
Fixed the transform to initial appearance adminverb.  I'm assuming it got broken when DNA was changed.

Made the cloaked-xeno sprite slightly more visible.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4656 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-08 08:16:37 +00:00
giacomand@gmail.com
4595e70d27 Fixed Issue 897
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4654 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-08 07:04:22 +00:00
d_h2005@yahoo.com
0619a8f5de -Changes flour from an item to a container-held reagent. All recipes have been updated to use 5 units of reagent flour for every item required previously.
This has a few advantages: The 16(!) sacks of flour previously in the kitchen cabinet have been condensed to an equivalent 3 sacks. Beer is now brewable with universal enzyme, and converting lots of wheat into flour should be less tedious. Also, flour grenades, etc.
Because of this, flour is now obtained from the all-in-one blender rather than the processor, and spaghetti noodles are made with 5 units of flour in the microwave.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4637 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-06 15:55:44 +00:00
johnsonmt88@gmail.com
d91ea514d9 More file structuring.
closet.dm, costume.dm, decal.dm and window.dm have been knocked out of the define folder and their defines have been moved into appropriate files.

The closet folder has been re-organized a little.

supplypacks.dm has been moved into the datums folder since that's what it is.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4627 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-05 22:44:48 +00:00
giacomand@gmail.com
b888b60567 -Increased the delay for the recent messages filter to reset. This will hopefully stop telecomms from broadcasting twice during lag.
-Added obj/effect's to update what the AI can and cannot see. Resin walls and smoke can block vision.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4619 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-04 14:09:18 +00:00
giacomand@gmail.com
0b0719f2bb -Made wizard require at least 20 players, instead of any. This is hopefully stop a low pop wizard from killing the whole crew and not calling the shuttle until an admin intervenes.
-Made nuke ops require at least 20 players. I did this because 15 wasn't low enough and it is a 5 heavily manned organized team vs 10 crew members who are just going along their own business.
-Made the spells only target living mobs. This was because the spells were listing the AI eye as a target.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4573 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-28 11:24:59 +00:00
giacomand@gmail.com
2066f54e36 -Added Zelack's alien infection code. Aliens can now tell if someone is impregnated or not.
-Fixed a bug where a Cyborg could drop their module by clicking it on an operating table.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4561 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-27 09:32:09 +00:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
sieve32@gmail.com
307a951566 -Fixed space suits not being space-worthy. This was due to them not having a define for heat protection, which meant you'd roast at the slightest provocation. Made a MAX_HEAT_PROTECTION define for space helmets and space suits, so they can be changed later if needed. Currently, space helmets have the same heat protection as every other helmet, and space suits have the same protection as every other armor (600K for each.)
Fixes Issue 827
-Added a sound to conjure spells for artificers, to provide feedback and be less confusing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4497 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-19 21:21:24 +00:00
baloh.matevz
44fb70ffd4 - Changed all "male" and "female" assignments to use the constants MALE and FEMALE.
- Added a message_admins() message which is sent if a character setup mismatch is detected to help diagnose the problem.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4496 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-19 17:56:51 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
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
2012-08-18 16:33:40 +00:00
baloh.matevz
097aae989c - Fixes issue 675. I just added a few Move() -s and it works fine.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4468 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 08:01:13 +00:00
baloh.matevz
f0f803407a - Fixed a potential problem where the random teleportation thing that teleporters have a chance of doing would teleport you to a tile that is behind the transition edge.
- Fixed issue 470. You can now teleport while using the chameleon projector.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4466 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-17 07:05:03 +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
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
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
elly1989@rocketmail.com
69f0046185 Fix for revdata=null causing world/Topic() runtimes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4420 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 19:14:48 +00:00
elly1989@rocketmail.com
e0b538ea77 Runtime fix: getFlatIcon() - Will no longer runtime should overlays contain any nulls. (Interesting note: I was intending to fix this to try speed up update_icons() even more but it turns out BYOND really dislikes overlays += null. the optimisation took twice as long o.O)
Removed unused caching code from getFlatIcon(). We handle our own caching using datacore.dm

Runtime fix: datacore wasn't checking the type of object in the wear_id inventory slot. I've removed that so it now uses mind.assigned_role instead.
The following runtime has occured 1 time(s).
runtime error: undefined variable /obj/item/device/pda/warden/var/assignment
proc name: manifest (/obj/effect/datacore/proc/manifest)
  source file: datacore.dm,14
  usr: null
  src: the datacore (/obj/effect/datacore)

Runtime fix: staff-of-change projectiles were runtiminng when transforming somebody with implants. Cause: forgot a "continue" >.<
The following runtime has occured 4 time(s).
runtime error: Cannot modify null.layer.
proc name: wabbajack (/obj/item/projectile/change/proc/wabbajack)
  source file: change.dm,37
  usr: 0
  src: the bolt of change (/obj/item/projectile/change)



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4412 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 23:46:03 +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
elly1989@rocketmail.com
2485d4ca0c Fix for runtime:
The following runtime has occured 99 time(s).
runtime error: Cannot read null.stat
proc name: process (/datum/disease/alien_embryo/process)
  source file: alien_embryo.dm,9
  usr: null
  src: Unidentified Foreign Body (/datum/disease/alien_embryo)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4385 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 22:43:39 +00:00
petethegoat@gmail.com
faea964e13 Fixes issue 521.
Fixes issue 676.
Fixes issue 700.
Fixes issue 753.
Fixes issue 754.
Fixes issue 755.

Additionally I slightly cleaned up grenade code and stunglove code, and removed mustardbomb.dm (because it was fucking awful).

THIS BUGFIX TRAIN AIN'T STOPPIN'
Thanks QualityVan for the issue 521 fix, and thanks Nodrak & Tobba for pointing out my dumbness for issues 753 & 754 respectively.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4382 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-12 19:51:08 +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
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
elly1989@rocketmail.com
05460b5c1e Whoops forgot to click save or something.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4347 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-09 13:38:33 +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
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
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
0f20e7e635 Sorry to sort-of break the codefreeze but the fact this isn't an option is kinda crappy and somewhat urgent. If it's a problem I will revert it. Sorry.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4321 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 13:44:17 +00:00
sieve32@gmail.com
5f8c56bb7d Fixes Issue 721
-Small change that psuedo-randomizes cult and wizard incantations. For cultists, it's just a [pick("'","`")] in place of a "'" in their incantation, and wizard invocations have a 50% chance to replace the spaces with "`".


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4307 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-03 21:02:22 +00:00