Commit Graph

94 Commits

Author SHA1 Message Date
Jamini
89766706fe Alien Monkeys - Farwa, Stok, Aenera
Signed-off-by: Jamini <mobiousjami@gmail.com>
2013-06-14 02:22:27 -04:00
Erthilo
0e3bf2f371 Fixes UI being reset randomly on irradiating in Genetic Scanners. 2013-05-25 22:10:14 +01:00
Cael_Aislinn
bdeb96b7e5 Merge branch 'incremental_tg' r5514 (11/1/2013) into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/ATMOSPHERICS/components/unary/vent_scrubber.dm
	code/__HELPERS/game.dm
	code/controllers/shuttle_controller.dm
	code/datums/datumvars.dm
	code/datums/supplypacks.dm
	code/defines/obj/storage.dm
	code/defines/obj/vending.dm
	code/defines/obj/weapon.dm
	code/defines/procs/command_alert.dm
	code/game/area/Space Station 13 areas.dm
	code/game/atoms.dm
	code/game/gamemodes/changeling/modularchangling.dm
	code/game/gamemodes/cult/runes.dm
	code/game/gamemodes/events.dm
	code/game/gamemodes/events/dust.dm
	code/game/gamemodes/events/miniblob.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/game/gamemodes/factions.dm
	code/game/gamemodes/game_mode.dm
	code/game/gamemodes/gameticker.dm
	code/game/jobs/access.dm
	code/game/jobs/job/assistant.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/civilian.dm
	code/game/jobs/job/engineering.dm
	code/game/jobs/job/medical.dm
	code/game/jobs/job/science.dm
	code/game/jobs/job/security.dm
	code/game/jobs/job_controller.dm
	code/game/machinery/alarm.dm
	code/game/machinery/atmo_control.dm
	code/game/machinery/atmoalter/area_atmos_computer.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/computer/ai_core.dm
	code/game/machinery/computer/atmos_alert.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/computer/cloning.dm
	code/game/machinery/computer/computer.dm
	code/game/machinery/computer/message.dm
	code/game/machinery/computer/pod.dm
	code/game/machinery/computer/prisoner.dm
	code/game/machinery/computer/syndicate_shuttle.dm
	code/game/machinery/constructable_frame.dm
	code/game/machinery/doors/door.dm
	code/game/machinery/doors/firedoor.dm
	code/game/machinery/newscaster.dm
	code/game/machinery/recharger.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/telecomms/broadcaster.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/machinery/teleporter.dm
	code/game/machinery/wishgranter.dm
	code/game/mecha/mech_fabricator.dm
	code/game/mecha/working/ripley.dm
	code/game/objects/items.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/devices/flashlight.dm
	code/game/objects/items/devices/radio/encryptionkey.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/stacks/medical.dm
	code/game/objects/items/weapons/cards_ids.dm
	code/game/objects/items/weapons/gift_wrappaper.dm
	code/game/objects/items/weapons/hydroponics.dm
	code/game/objects/items/weapons/manuals.dm
	code/game/objects/items/weapons/secstorage/secstorage.dm
	code/game/objects/items/weapons/storage/backpack.dm
	code/game/objects/items/weapons/storage/firstaid.dm
	code/game/objects/items/weapons/storage/kit.dm
	code/game/objects/items/weapons/storage/storage.dm
	code/game/objects/items/weapons/storage/toolbox.dm
	code/game/objects/items/weapons/storage/uplink_kits.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
	code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
	code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
	code/game/objects/structures/crates_lockers/closets/secure/security.dm
	code/game/objects/structures/electricchair.dm
	code/game/objects/structures/extinguisher.dm
	code/game/objects/structures/watercloset.dm
	code/game/objects/weapons.dm
	code/game/turfs/turf.dm
	code/game/vehicles/airtight/airtight.dm
	code/game/vehicles/vehicle.dm
	code/global.dm
	code/modules/DetectiveWork/evidence.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/player_panel.dm
	code/modules/admin/verbs/diagnostics.dm
	code/modules/admin/verbs/getlogs.dm
	code/modules/client/preferences.dm
	code/modules/clothing/masks/miscellaneous.dm
	code/modules/clothing/spacesuits/rig.dm
	code/modules/clothing/suits/miscellaneous.dm
	code/modules/critters/critter_defenses.dm
	code/modules/detectivework/scanner.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/food/recipes_microwave.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mining/satchel_ore_boxdm.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/carbon_defines.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/living/carbon/metroid/metroid.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/mob_cleanup.dm
	code/modules/mob/mob_defines.dm
	code/modules/mob/mob_transformation_simple.dm
	code/modules/paperwork/clipboard.dm
	code/modules/paperwork/folders.dm
	code/modules/paperwork/paper.dm
	code/modules/paperwork/paperbin.dm
	code/modules/paperwork/pen.dm
	code/modules/power/cable.dm
	code/modules/projectiles/guns/energy/special.dm
	code/modules/projectiles/guns/projectile/revolver.dm
	code/modules/projectiles/projectile/change.dm
	code/modules/projectiles/projectile/special.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/modules/reagents/reagent_containers/hypospray.dm
	code/modules/recycling/sortingmachinery.dm
	code/modules/research/designs.dm
	config/config.txt
	html/changelog.html
	icons/mob/head.dmi
	icons/mob/hud.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/mask.dmi
	icons/mob/suit.dmi
	icons/mob/ties.dmi
	icons/mob/uniform.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/clothing/ties.dmi
	icons/obj/grenade.dmi
	icons/obj/projectiles.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-01-11 22:12:31 +10:00
aranclanos@hotmail.com
503939e0f3 Runtime fixes for trying to use some href buttons on the DNA modifier console without a subject on the DNA scanner.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5446 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-02 07:08:18 +00:00
johnsonmt88@gmail.com
095e84de15 Removed vending.dm and machinery.dm from the defines folder and moved the defines to their respective chunks of code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5440 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-31 23:51:04 +00:00
Cael_Aislinn
e6c70937e5 Merge branch 'incremental_tg' r4967 (27/10/2012) into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/__HELPERS/game.dm
	code/__HELPERS/type2type.dm
	code/datums/helper_datums/getrev.dm
	code/game/atoms.dm
	code/game/gamemodes/events.dm
	code/game/machinery/atmo_control.dm
	code/game/machinery/atmoalter/area_atmos_computer.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/computer/atmos_alert.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/computer/cloning.dm
	code/game/machinery/computer/computer.dm
	code/game/machinery/computer/pod.dm
	code/game/machinery/computer/prisoner.dm
	code/game/machinery/computer/syndicate_shuttle.dm
	code/game/machinery/newscaster.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/telecomms/broadcaster.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/machinery/telecomms/telemonitor.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/machinery/wishgranter.dm
	code/game/objects/items/devices/uplinks.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/objs.dm
	code/modules/DetectiveWork/detective_work.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/admin.dm
	code/modules/admin/verbs/adminsay.dm
	code/modules/admin/verbs/getlogs.dm
	code/modules/awaymissions/zlevel.dm
	code/modules/client/client procs.dm
	code/modules/clothing/masks/miscellaneous.dm
	code/modules/clothing/spacesuits/miscellaneous.dm
	code/modules/flufftext/TextFilters.dm
	code/modules/mining/machine_processing.dm
	code/modules/mining/machine_stacking.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mint.dm
	code/modules/mining/satchel_ore_boxdm.dm
	code/modules/mob/living/carbon/monkey/life.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
	code/modules/mob/mob.dm
	code/modules/paperwork/filingcabinet.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/gravitygenerator.dm
	html/changelog.html
	icons/mob/head.dmi
	icons/mob/human_face.dmi
	icons/mob/mask.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/suits.dmi

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2012-12-28 01:07:36 +10:00
cib
8512bdd8d7 Make setblock able to handle block index 0
It will simply do nothing. Fixes issue #2049
2012-12-16 17:45:20 +01:00
Ispil
d6505fd064 Fix to Issue #1972. Humans now spawn with full SE length, as do monkeys. 2012-11-18 15:40:55 -07:00
Ater Ignis
46bd2ce7e6 human icon generation update, tajarnan darkseeing
*lying icon generated from standing one
*sprites for dismembering major races (tajarnan,skrell,soghun)
*tajarnans can see in darkness better than others
2012-11-16 15:19:20 +04:00
Ater Ignis
2400495619 seems i broke some >_< 2012-11-14 00:45:21 +04:00
Ater Ignis
8b71b7d106 updated DNA code to have more mutations 2012-11-10 14:12:25 +04:00
giacomand@gmail.com
6a2d78bc94 -Killed the updateDialog lag. I added a check to see if there were any mobs to update, if not it will stop checking until a user uses the machine again. I had to replace all the machine = src and machine = null with procs to help make it manageable. I believe this is one of the culprits causing the server to lag as the round goes on, as more players will interact with machines.
-Atmos delay is now based on active players, to help fight lag for massive player rounds.

-Changed some for(blah in world) loops to use the correct lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4958 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-25 19:15:51 +00:00
cib
fb60301594 Revert "Revert's cib's BS12 merge by XSI's orders"
This reverts commit a6e7c085ef.

Conflicts:

	baystation12.dme
	code/datums/organs/organ_external.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/modules/mob/living/carbon/human/examine.dm
	code/modules/mob/living/carbon/human/hud.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_defines.dm
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/mob/mob_defines.dm
	code/setup.dm
	icons/mob/dam_human.dmi
	icons/mob/human.dmi
2012-10-11 14:31:31 -07: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
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
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
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
sieve32@gmail.com
12c2b6cf39 -DNA modifiers have some options available when there is no occupant, mainly so you can mess with the buffer and make injectors.
-Pepper spray fits on sec belts again
-Ion rifle emp_act() was changed so that it is only effected by severity 1, meaning that it won't be EMPed by its own shot any more (Unless someone is able to shoot himself with it)
-The HONK mech panel was updated to be current with the main one, though if someone here is an html wizard they could *probably* do away with having a seperate menu to handle the extra stuff
Fixes Issue 772
Fixes Issue 713
Fixes Issue 781

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4410 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-14 22:50:09 +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
giacomand@gmail.com
e0905a1909 -Fixed 592 - The recharger was checking if the gamemode was monkey. I just removed it, I doubt this will have an effect on anything.
-Fixed 661 - There was a typo which would show toxin damage twice instead of showing oxygen damage. I also made it clearer which damage was which with colour.
-Fixed 565 - I wish there was a proper way to fix this but it's better than having no door for 5 seconds. It'll now wait 2 ticks before performing the closing animation for the door.
-Fixed 722 - I think this is causing the problem, it's using name instead of real_name. I couldn't find any problems when testing this.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4309 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-03 21:21:28 +00:00
elly1989@rocketmail.com
a9eabb0561 Created global lists for hair and facial_hair datums since they are referenced frequently. This means those datums are only ever created once. Also, the list is indexed by hairstyle name. This means means we only need to store one variable to find the hair datum. It also means admins can change h_style and f_style to the name of the hair and use the Regenerate Icons function in viewvars to update a human's hair icon. If an incorrect f_style or h_style is input it won't affect anything adversely (besides hair not showing for that mob).
The hub will no longer report admins who are stealthminning.

Added a server byond_version check. All it does is tell you if your byond_version is below RECOMMENDED_VERSION and encourages you to update BYOND.

Underwear and bag lists are now a single global list rather than creating the same list for every new player.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4268 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-01 13:40:43 +00:00
johnsonmt88@gmail.com
6a9b24a178 Runtime fixes:
- Robots being deleted passed the mmi object to the mob list instead of the mmi's brainmob

- DNA injectors were checking for a user, but not for a mob.

- DNA computers would try to modify the dna of a mob that no longer existed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4239 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-31 01:19:22 +00:00
baloh.matevz
1873aa6607 - Categorized invisibility stuff into #defines. If any errors appear - let me know.
- Hopefully addressed the concerns about the ultra-darkness. Night vision, mesons, thermals and material scanners now make you see through darkness. (Lighting code does not affect you)
- Ghosts get a "toggle darkness" verb, which changes their see_invisibility. When the toggle is enabled, ghosts cannot see other ghosts. This is due to invisibility.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4235 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-30 16:24:45 +00:00
johnsonmt88@gmail.com
24ec69ac7a It is now easier to modify UI's through genetics:
Instead of the subblock picking a random value far from the current value, the player can select a 'target' value to aim for and subblock will try to zero-in on that target.

This affects UI's only, SE's don't do this. This will not be added to SE's because superpowers don't need to be made easier to obtain.

Hitting the arrows to change blocks/subblocks will now loop around once you've hit a limit. 
- For example if you're on SE block 14, clicking higher will bring you back around to block 1.

Commented out the scan console process() as it was just doing meaningless checks.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4204 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-28 19:16:58 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
ericgfwong@hotmail.com
5081f91dd9 -Increased chance of hulks breaking through r-walls, but hulk has been made slightly harder to get
-Reduced the announcement delay for several random events, especially since some of them would be resolved before centcom even detects it (eg. blob)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4165 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-24 09:01:13 +00:00
baloh.matevz
e3d3f2b8e9 - Added support for pulledby, which tells you who is pulling this object.
- Replaced all the .pulling = object instances with start_pulling() and stop_pulling(). Use these from now on.
- Ian and Runtime will now no longer move when being pulled

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4155 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 07:45:27 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
johnsonmt88@gmail.com
3bd93d58a8 git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3990 316c924e-a436-60f5-8080-3fe189b3f50e 2012-07-05 21:06:44 +00:00
elly1989@rocketmail.com
60c7b28274 Resolves issue 499. Blood runes are now totally invisible to AIs.
Created defines for disabilities and sdisabilities bitflags. Thos areas of code really need attention. Why are there so many blind variables/flags D= disability bitflags are located in setup.dm

Handcuff overlays now update when beepsky/ed-209s cuff you.

Resolves issue 628. Took a stab at tidying up handle_regular_hud_updates() for humans. If it's all working perfectly as it appears to be I'll start doing the same for other mobs. Whomever started 'fixing' this and then just abandoned it with redundant and heavily-broken code should be ashamed :[ It was/is in a real sorry state.

Resolves issue 617. Shades can no longer be weakened (stunbatons etc).

Fixed an issue with one of the antag deaf-sting/rune/whatever-it-was-I-forget causing nearsightedness rather than deafness :P


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3985 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-05 07:44:18 +00:00
johnsonmt88@gmail.com
bb901f7583 Mob define cleanup: Part 2
Moved the simple_animal folder into /mob/living.
- Thanks to tortoiseSVN issues, I will have to remove the old simple_animal folder in a second commit.

Moved to living:
- maxHealth
- health
- control_object
- incorporeal_move

Moved to carbon:
- silent
- alien_egg_flag

Moved to human: (human_defines.dm)
- All vars that used to be defined in human.dm
- underwear
- backbag
- miming

Deleted from mob:
- r_epil	//Old var, not used anymore
- r_ch_cou	//Old var, not used anymore
- r_Tourette	//Old var, not used anymore
- spellvoice() 	//Old proc, not used anymore
- get_damage()	//Unused, we have getHealth() that does the same thing

Removed some unticked files that have already been replaced.

This also fixes cyborgs being 'knocked unconscious' by rolling pins and secure breifcases
- Additionally; to knock someone out with a rolling pin you must now be targeting the victims head.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3976 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-03 17:14:49 +00:00
johnsonmt88@gmail.com
80b15df54b ** Mob Define Cleanup: Part 1 **
I'm currently working on moving all of the vars in mob_defines.dm and some procs in mob.dm into more fitting places. For example, ghosts and simple animals can not be cloned, so they do not need a cloneloss var. Cloneloss would be better fitting to /mob/living or even /mob/living/carbon. 

By moving these defines into proper children of /mob we lower the amount of resources that must be set aside every time a mob is created and we lower the amount of data that gets transfered between mobs when we combine, transfer or transform them. In theory, this should help free up some resources and combat lag.

Due to how integrated some of these defines are in the rest of the code, I'm going to be committing this cleanup in small batches. Doing it this way instead of one massive commit means that bugs will be easier to locate and identify. It is also less likely to overwhelm players with bugs, and if it still does, it will make it easier for us to revert only the section that is causing problems. Smaller commits also means merging with existing code will be less of a nightmare and has less potential for merging mistakes.

One of my goals in this cleanup is to add a description to every single variable in mob defines. While some of them are self explanatory, there are some there that are used in horribly obscure ways on top of having no comment to describe their use.

-----------------------

Mob defines moved to living:
- last_special*
- bruteloss
- oxyloss
- toxloss
- fireloss
- cloneloss
- brainloss
- halloss
- hallucination
- hallucinations(list)

*Note: I believe this variable is not needed, but the code it is used in (the resist verb) is cluttered and messy. That chunk of code probably use a re-write. I'll put it on my TODO list and if I survive mob_defines I'll try to get around to it but if anyone wants to do it for me, that would certainly help!

-----------------------

Mob procs moved to living:
- getBruteLoss()
- adjustBruteLoss()
- getOxyLoss()
- adjustOxyLoss()
- setOxyLoss()
- getToxLoss()
- adjustToxLoss()
- setToxLoss()
- getFireLoss()
- adjustFireLoss()
- getCloneLoss()
- adjustCloneLoss()
- setCloneLoss()
- getHalLoss()
- adjustHalLoss()
- setHalLoss()
- getBrainLoss()
- adjustBrainLoss()
- setBrainLoss

Mob procs moved to carbon:
getDNA()
setDNA()

-----------------------

Mob verbs moved to carbon:
- Sleep
- Lay down / Get up

-----------------------

The : operator...

The thing that has been killing me through this whole cleanup is people using or copy/pasting the : operator everywhere. 


*** Please use obj.var_or_procname. Do not use obj:var_or_procname ***


Using obj:procname will not throw a compiler error if obj does not have that specific var or proc. This means that the coder making changes will NOT be informed of an error which will result in a proc failing, potentially being completely unusable and definatly causing a runtime error.

With that said, I fully anticipate that most bugs (if any) caused by this mob define cleanup to be the result of : operators.

I've been replacing many : operators in favour of the . operator as I've been going, most noteably I went out of my way to remove almost every : operator from the 4000+ line Chemistry-Regents.dm
Exceptions:
- Water: Turf and Atmos related vars. I'm not familiar with the members and methods in those class' hierarchy.
- Silicate: because it's commented out and I honestly dont see it returning.
- Thermite: Turf and Atmos related vars.
- Corn Oil: Turf and Atmos related vars.

Final note: While this may be the source of some mob-related bugs, there are two other revisions that have been committed between now and the last time either of the the two tgstation servers have been updated. These revisions both touch mob-related files. I'm not blaming these other revisions for anything, especially since one of them is mine anyway, I'm just listing them here for refrence to help quickly identify any problems.
- My human/life() changes in r3925 
- Carn's life() standardizations in r3933

Stuff unrelated to mob defines:
- Fixed borgs and such being able to go into DNA modifiers.
- Changelog updated and I added Sieve to the list of coders.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3934 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-28 17:06:19 +00:00
elly1989@rocketmail.com
48088b79d9 ugh...this was horrible. I'm really sorry if I fucked anything up, I was literally going braindead towards the end.
Replaced every l_hand = and r_hand = and all that if(hand) crap to use standardised procs. This means we can use procs like Dropped() reliably as they will always be called when things are dropped.

Thorough documentation to come. But generally, if you want a mob's icons to update after deleting something in the inventory...use drop_from_inventory(the_thing_you_wanna_drop) just before deleting it. If you wanna put something in a mob's hands use put_in_hands() (or one of the variants). It'll try putting it in active hand first, then inactive, then the floor. They handle layers, overlays, screenlocs calling various procs such as dropped() etc for you. Easy

mob.equipped() is now mob.get_active_hand() because there was another totally unrelated proc named equipped() and stuff was confusing.

Weakening was made instantaneous.

Minor optimisations for human/handle_regular_status_updates(). I'll port these changes over to the other mobs next. Basically it should stop it constantly incrementing every status effect even after death.

umm... bunch of overlays related fixes... I think that's everything. :/

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3900 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-23 21:24:45 +00:00
sieve32@gmail.com
7ad20bf579 First commit, wohoo!
Just some quick bugfixes first, 
Fix for Issue 400, so now when the 'Eject' verb is used for DNA machines, it ejects the occupant and any 'extra' things in there (Like non-component items, and a failsafe in case mobs inside get messed up through transforming)
Fix for falsewalls not updating smoothwall correctly



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3865 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-19 01:34:39 +00:00
elly1989@rocketmail.com
5b76469b98 First update for update_icons stuffs:
Fixed husking and fatties
Fixed floor tiles still appearing in hand when laying them
Fixed a possible runtime with FAT people

Fixes for pre-existing bugs:
Fixed being unable to put belts & backpacks on other people
Tweaked the damage procs a bit. Mainly adding in sanity checks to prevent negative damage and such. A few optimisations here and there.
Fixed ratios for brute-burn damage being applied to organs simultaneously
nodamage==1 now prevents all organ damage. It does not stop healing however.
In-line with the sanity stuff mentioned above, clamp-values for brute/burn were removed as requested by Rockdtben


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3825 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 04:11:14 +00:00
elly1989@rocketmail.com
8961bd96d0 WARNING: This has been thoroughly tested and I'm happy that it's -stable- (it shouldn't runtime). However, it might have a few niggly bugs caused by specific items using no-standard or weird code. Most bugs will be stuff like it not updating overlays and such and can be fixed simply by dropping the item. That being said, if you're not comfortable with this, I'd suggest waiting to update past this revision.
update_clothing() has been broken up into it's key parts. A full explanation can be found in code/modules/mob/living/carbon/human/update_icons.dm
the tl;dr of it is that overlay updates are no longer called by the gameticker. Instead they are called by procs such as u_equip db_cick etc. This means faster updates (although admittedly, more of them can be called per tick). This however is offset by the fact that specific overlays can be updated now, vastly improving its efficiency. This will especially help when there are large numbers of dead mobs.

Fixed the throw code for TKgrab so it can be toggled.

Cloaking for aliens/humans/ninjas was changed. It's very crude at the moment and for that I apologise. But it works and is very efficient.It also stops cloaked individuals becomming invincible due to people being unable to hit them (even when they know exactly where  they are)

Fixed a bunch of bugs with damage-overlays. They  were updating FAR FAR to frequently. They were also horribly inefficient. They should now be virtually seamless when updating and only use cached icons, so they aren't affected by lag as badly. This may help with explosions lag a little.

There's still a tonne of stuff I need to refine with this. I'll be refining it down into some helper procs to reduce on code duplication and such

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3811 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-13 19:03:25 +00:00
vageyenaman@gmail.com
f9ee2320fa Not a whole lot going on in this commit, just more work on preparation for the traitor factions update. Added some new sprites and weapons.
New weapon: Delivery grenade. Can spawn an x amount of mob/object y in a constant radius. It is currently used for carp and manhack delivery grenades.

!! Important !!: Certain telecomms computers were causing very nasty machine disruption through some very silly mishap involving re-programming a computer's network. Basically, it was breaking machine procs every time you messed with them. This should hopefully make telecomms a lot more stable.

Fixed a bug where the reflexes nanoaug would not actually dodge the projectile if the person was clicking directly inside the target's 32x32 border.

I changed around some core PDA messaging functions in preparation to PDA Chatrooms (yes Legality it's happening). However I'm going to hold off actually implementing it until Messycakes is either completed with his PDA UI overhaul or just stops working on it.

Committed two patches from separate people in the forums. Chemical Cigarettes by Neek (http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8775) and Clicking genetics blocks by Willox (http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8857). Check their respective threads for more details. Sorry I couldn't get this earlier, guys!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3755 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-07 02:31:09 +00:00
vageyenaman@gmail.com
49647d329a There's a metric assload of stuff here, mostly in preparation to my massive traitor expansion, so I'll try to be brief:
- I added in the foundations for traitor factions. See factions.dm for all the different faction datums. They don't do anything yet.

- I completely ported mob/var/mutations from a bitfield to a generic list. Mutation enumerated-identifiers are added into this list. For instance, TK = 1, COLD_RESISTANCE = 2, XRAY = 3, etc... The purpose of this was because bitwise operations could not actually be used after a certain size (because BYOND is stuck in the 16bit era).

- I've added in completely-functional nano-augmentations. Check under implantnanoaug.dm for a list of implants and implaners. As mentioned previously, they are completely functional but may be slightly OP. Among these nanoaugs are Super Strength, Psionic Radar, Electric Hands, Energy Blade/Sword Synthesizer, Rebreather, Dermal Armor, Combat Reflexes, and Regenerative Nanorobots. I won't go into detail as to what they do, but hopefully they should be self-explanitory. If not, check out their descriptions in the file previously mentioned.

- Added in a future traitor item, the Mind Batterer. Along with it a new .ogg file.

- New telecomms bus mainframe sprite, thanks to WJohnston.

- New holdable shield, sprites courtesy of Muncher (i had to mangle the side sprites because of a technical little issue. I'll change it back to the original soon). It can be retracted and expanded. Probably only going to be given to traitors.

- A couple of minor bugfixes here and there, along with some code tidying.


Hope this isn't too large a commit. I intended it to be MUCH larger, but I've decided to split up my Traitor Factions expansion into smaller commits.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3692 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-29 03:16:47 +00:00
vageyenaman@gmail.com
7b6a5e8c1f - Added a middleclick function that swaps your hands.
- Some reorganization of DNA display in DNA modifiers. It's much easier to see where blocks start and end now.
- Tried to clean up some mob stuff, mostly dead humans unnecessarily grabbing their atmosphere.
- Made turret controls emaggeable.

I've also committed Invisty's new ending station animations. They're pretty cool, check them out!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3621 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-19 17:05:55 +00:00
petethegoat@gmail.com
4cafc735d1 Updated DNA modifier consoles so they work in any direction.
Updated adminwho so the plebs can see ranks.
Removed the admin message from view range changes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3545 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-03 10:19:18 +00:00
VivianFoxfoot@gmail.com
60d7bb7a7f Fix to DNA so that if a power block lands on block 11, not all clones come out male.
Change to robot restart module to make it clear the cyborg has to be healed before use.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3447 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-13 03:09:25 +00:00
quartz235@gmail.com
a3bf2d0a03 Runtimes goin down for the count
Lookin at the ground
I think they a hater

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3371 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-29 22:17:00 +00:00
quartz235@gmail.com
d22c7cd6d5 Fixin runtimes and wooing the hot womenfolk
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3340 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-23 00:45:53 +00:00
petethegoat@gmail.com
2aa40bd30f Fixed issue 286. DNA machines now have to recharge the injector when they're first built.
Fixed issue 388.
Fixed issue 403.
Fixed spaceheaters appearing to be off when they are both off and the hatch is open.
Fixed being able to waste rods out of existence by building them where lattice already exists.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3268 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-10 17:57:08 +00:00
vageyenaman@gmail.com
200cfe4809 Fix for dna runtime spam in check_integrity()
Fix for eguns disappearing.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3254 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-05 02:18:47 +00:00
joe.heinemeyer@gmail.com
113beeb052 BS12 Detective Work port.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3229 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-02 05:23:08 +00:00
petethegoat@gmail.com
e0230b2ff0 Commented out buildmode until it can be fixed.
More sanity checks for DNA modification.
Updated the metal, plasteel, glass and r-glass sprites. They're a lot smaller now.
Removed that stupid knife zippo sprite.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3145 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-18 16:27:08 +00:00
uporotiy
7c865548c5 Sanity check for facehuggers.
Sanity checks galore for simple_animals (if(list) behaviour seems to have changed lately).
Humans once again get their bodies burned into husks in fire. This only changes their appearance and name now, however, leaving their DNA intact.
WIP space worms.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3140 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-17 19:26:14 +00:00
uporotiy
85157b5a68 Steel renamed to plasteel.
Having more than 100 burn damage and being dead now makes you a husk.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2925 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-07 21:02:56 +00:00
quartz235@gmail.com
3769ce0998 - Welding shards while on top of a stack of glass (with less than 50 sheets) now adds the produced glass to the stack.
- Some runtime fixes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2919 316c924e-a436-60f5-8080-3fe189b3f50e
2012-01-06 21:45:49 +00:00