Commit Graph

75 Commits

Author SHA1 Message Date
Kelenius
10de826ca3 Removes FPRINT and TABLEPASS flags 2015-01-23 22:27:32 +03:00
PsiOmega
f850b2616d Fixes the light power consumption the new /tg/ style. 2014-11-16 11:13:27 +01:00
Zuhayr
31b6cc19ad Fixed up weird sound-playing by simple animals, changed all simple animal attack strings to past tense so they gel with other harm intent actions. Readded simple_animal eating food, tested everything. 2014-11-13 21:41:02 +10:30
Zuhayr
4bb4145f5d Readded interactions for slimes and monkeys using attack_generic proc. 2014-11-13 19:18:34 +10:30
Zuhayr
90d65aed57 Removed attack_paw, attack_animal and attack_slime. 2014-11-13 17:15:29 +10:30
PsiOmega
bc438e21ad All the relevant examine changes. 2014-11-05 12:44:23 +01:00
Zuhayr
223bd86f18 Merge branch 'organremoval' of https://github.com/Zuhayr/Baystation12 into dev
First pass on major conversion of xenomorphs to a human subspecies. Additional condensing of various redundant mob verbs.
Converted larva and diona to their own class, collapsed the rest of xenomorphs into a human species, other stuff.
Completely removed attack_alien(). Still have to reimplement some of the lost behavior for human/alien.
Reapplies lost attack_alien() functionality other than tackling/caressing.
Further alien/humanoid cleanup and xenospawn fix-ups. Also uncommented caste verbs.
Removed half-finished abilities system since species.dm handles it.
All xenomorphs functionality should be working now, other than the HUD, tackling and the xenomorph balance issues.
Added icons for xenomorph castes, moved broadcast languages into datums, removed alien_talk and robot_talk vars.
Merged with organ removal code.
Reapplied verbs to simple_animals/slimes. Updated species definitions to have appropriate organs.
Readded tackle as a human verb.
Borer changes regarding brain removal.
Working on moving the human HUD to the species datum a bit. Mixed results.
Moved Cortical Link to a language, added borer husks.
Tidied up the HUD stuff. Still need to make it rebuild properly when species is changed, but this will do for no
Compile fix, forgot the DME.
Fixed up ventcrawl, added new organ mechanics for dionaea.
Fixed up some overlooked sections causing mobs without brains to die immediately.
Fixed up plasma generation for queens, bugs with organs, force_organ issues with set_species().
2014-09-29 06:19:26 +09:30
Kelenius
505f857eb8 Stack update 2014-09-02 09:59:32 +04:00
Kelenius
a1348faa8c Cables are now stacks 2014-08-25 18:54:35 +04:00
Mloc-Argent
a33cb7272b Merge remote-tracking branch 'upstream/master' into dev 2014-06-23 20:57:47 +01:00
mwerezak
37e63dfcb0 Fixes FEA temperature_expose() being used...
...instead of ZAS fire_act().
2014-06-22 00:13:22 -04:00
Ccomp5950
68d01b00ab Merge pull request #5297 from comma/fancy
Nextgen lights
2014-06-20 20:30:11 -05:00
Chinsky
2396c6d882 Nextgen lighting #2: Lights
Can paint light tubes and bulbs with paint and stick in sockets to get colored lights.
2014-06-18 20:38:33 +04:00
Chinsky
be95e54e43 Merge branch 'master' into dev
Conflicts:
	code/defines/obj/weapon.dm
	code/modules/mob/living/carbon/species.dm
	code/modules/mob/living/silicon/say.dm
	icons/mob/uniform.dmi
	maps/tgstation2.dmm
2014-06-17 16:16:44 +04:00
mwerezak
6dee9cf65d Adds sharp and edge flags to appropriate items
Went through as many /obj/item/weapons as I could find and added sharp
and edge flags where appropriate.
2014-06-16 13:26:44 -04:00
Chinsky
6d432d8e9d Merge pull request #5219 from Zuhayr/autolathe
Autolathe rewrite.
2014-06-12 20:28:44 +04:00
mwerezak
a8816823a5 Replaces get_turf_loc() with get_turf()
The former does exactly the same thing as get_turf(), except it runtimes
if one of the atoms has a null loc.
2014-06-10 13:43:11 -04:00
Zuhayr
9e7fe6d700 Rewrote autolathe, changed all m_amt and g_amt to a list called 'matter'. Updated RCD vars in view of this. 2014-06-11 01:14:38 +09:30
Zuhayr
582a8e817a Fixes a runtime with drones building lights. 2014-05-11 22:31:27 +09:30
Zuhayr
1fc3ecf145 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into dev 2014-05-10 01:56:57 +09:30
Zuhayr
1a24e08f36 Adds drones, drone fabrication, commit options. This is the squashed version of the original 22 commit pull, so I'm summarizing. 2014-05-10 01:40:11 +09:30
Ravensdale
a3e4a43536 Changes most viable, used entries of plasma with phoron. 2014-04-10 05:05:04 -07:00
Graham Lloyd
72e45ebf7b A first pass at more realistic w_class values 2014-04-03 17:54:06 -04:00
Ccomp5950
e0e1bd9cfb APC Area update initial commit. 2014-03-07 23:42:28 -06:00
Mloc-Argent
a1f55a50b1 Massive click code rework by SuperSayu, ported from TG.
Full details at https://github.com/tgstation/-tg-station/pull/1206
Fixes #3648

Hopefully done right this time.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:27:39 +01:00
cib
cbc019d279 No more burning your hands off on 200C lightbulbs. 2013-03-15 00:53:50 +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
petethegoat@gmail.com
11b17c4442 Committing suomynonAyletamitlU's storage item standardisation commit: http://forums.nanotrasen.com/viewtopic.php?f=16&t=11746
Standardization of the object tree and some modified functionality.
Moved a lot of storage/*_kit and similar boxes to storage/box/* ; most of these can now be found in boxes.dm. First aid kits remain a separate item type.
Replacement Light boxes pick up lights (for example broken ones) when used on them
Moved weapon/secstorage to storage/secure
Moved plant bags, ore satchel, trash bag, and sheet snatcher to storage/bag, in bags.dm
Fixed reagent_containers and snacks to pass through attackby() so the use_to_pickup code works. This affects plant bags, trash bags, and pill bottles.
Dice packs are now pill bottles, and all pill bottles can pick up dice.
Added error handling to uplink/generate_menu() so that one mistyped string doesn't bork the whole syndie uplink menu, since strings cannot be type-checked at compile time.
Cigarette packs and crayon boxes are now storage/fancy, however they retain existing update_icon() code.
Added a comment to storage.dm so that future people know where to look for use_to_pickup and allow_quick_gather code.

Updated all maps.

I've tried to test this thoroughly but I wouldn't be surprised if there were a few lingering issues. Try not to panic if you encounter any.

Full (i think) list of changed paths:
/obj/item/weapon/storage/flashbang_kit	> /obj/item/weapon/storage/box/flashbangs
/obj/item/weapon/storage/body_bag_box	> /obj/item/weapon/storage/box/bodybags
/obj/item/weapon/storage/chemimp_kit	> /obj/item/weapon/storage/box/chemimp
/obj/item/weapon/storage/trackimp_kit	> /obj/item/weapon/storage/box/trackimp
/obj/item/weapon/storage/seccart_kit	> /obj/item/weapon/storage/box/seccarts
/obj/item/weapon/storage/handcuff_kit	> /obj/item/weapon/storage/box/handcuffs
/obj/item/weapon/cigpacket		> /obj/item/weapon/storage/fancy/cigarettes
/obj/item/weapon/storage/mousetraps	> /obj/item/weapon/storage/box/mousetraps
/obj/item/weapon/storage/PDAbox		> /obj/item/weapon/storage/box/PDAs
/obj/item/weapon/storage/id_kit		> /obj/item/weapon/storage/box/ids
/obj/item/weapon/storage/lightbox/mixed	> /obj/item/weapon/storage/box/lights/mixed
/obj/item/weapon/storage/donkpocket_kit	> /obj/item/weapon/storage/box/donkpockets
/obj/item/weapon/storage/beakerbox	> /obj/item/weapon/storage/box/beakers
/obj/item/weapon/storage/syringes	> /obj/item/weapon/storage/box/syringes
/obj/item/weapon/storage/gl_kit		> /obj/item/weapon/storage/box/rxglasses
/obj/item/weapon/storage/diskbox	> /obj/item/weapon/storage/box/disks
/obj/item/weapon/storage/stma_kit	> /obj/item/weapon/storage/box/masks
/obj/item/weapon/storage/lglo_kit	> /obj/item/weapon/storage/box/gloves
/obj/item/weapon/storage/lightbox/bulbs	> /obj/item/weapon/storage/box/lights/bulbs
/obj/item/weapon/plantbag		> /obj/item/weapon/storage/bag/plants
/obj/item/weapon/storage/satchel	> /obj/item/weapon/storage/bag/ore
/obj/item/weapon/trashbag		> /obj/item/weapon/storage/bag/trash

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5494 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-08 19:11:56 +00:00
Erthilo
5c6038b726 Compile fixes. 2012-09-23 21:54:36 +01:00
Erthilo
c00b0ae84d Added attack logging, some moderator groundwork, fixed alien species and save files. 2012-09-23 21:49:25 +01:00
elly1989@rocketmail.com
9f1362c68d Failsafe added to the debug/restart controller verbs.dm
Failsafe now checks the lighting_controller too. It will restart it if it doesn't progress for 5 cycles (same as MC)
datum/failsafe is now datum/controller/failsafe

The probability of lights breaking after spawn was reduced from tube:10 and bulb:25 to tube:2 bulb:5

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4674 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-10 12:53:55 +00:00
elly1989@rocketmail.com
73e5c38a56 Preparations for reducing the number of processing machines at round-start. There are currently 8000 or so at round start, this was already pruned to 2800ish by doohl's stuff.
machine.process() now uses a return value to remove itself from the processing machines list. This is more efficient and will help reduce costs especially at round start where some 5000+ machines were removed from the list using first-find. Now there is no searching involved. Instead of machines.Remove(src) just do .=PROCESS_KILL that will return the flag to the proc which called it (the MC) and trigger its removal from the list. If you're deleting something don't even bother removing it from the machines list, there is no need to.

Simplified the last_processed stuff for the MC. It's now a single variable rather than 3. It is simply a typepath rather than a reference to an object (this is so it works even if said object is deleted)

MC stats in admin status_panels now show the length of the processing lists (indicated by #). I've just realised I forgot to mention what the abbreviations are:
The less obvious ones are: Dis=diseases; Net=pipes; Pnet=powernets; Mch=Machines; Tick=the game-mode ticker.

Beach-water now uses an overlay image rather than a separate object.

Fixed a typo in the shuttle console.

Hydroponics trays no longer use first-find within their process() for checking the plant is in the tray (why is that even there anyway? talk about lazy)

Removed some junk/placeholder procs like organ/proc/process() return

Removed newscasters from the processing machines lists.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4603 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-02 20:32:01 +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
giacomand@gmail.com
42f3efc21a I wanted to wait until after the feature freeze to commit this but there have been problems with Telecomms recently and this update that I've been keeping fixes most of the issues. I've tried to remove most features from it but there were some things that I couldn't.
-TCommsat machines no longer use their Z level to check if they can receive the signal or not. Instead, they use listening_level. It defaults to 0 for machines that don't change the value. If it is 0 when the telecomms machine's New() is called it will set itself to it's Z level.

-This allows you to manually change the value to other Z levels. I call this an off-site relay. I've added an off-site relay on the satelitte for the station and removed the one in the communications room.

-Players can create an offsite relay with two receivers, two broadcasters and, if necessary, a relay. Why two receivers and broadcasters? Otherwise any player can go to the Ruskie/Mining relays and turn them into off-site relays for the station! It would harm the TCommsat's usefulness. Instead, you will have to setup another broadcaster and receiver if you want to do that. Though it may be pointless, if someone sabotages the Commsat they would have destroyed/depowered the other machines there too.

-About the option to have an offsite relay, there is only a single Z level that you can lock onto at the moment and that's the station. Gameplay wise, the TCommsat is orbiting the station and if we do get the away missions then it would not make sense for the TCommsat's broadcaster/receiver signal to be able to pickup there. More sense if the Receivers and Broadcasters from there
are sent here... maybe. I don't know, seems more fun this way.

-Fixed an issue that doesn't let the Engineer Borg (or Borgs with multitools) be able to link machines with their multitool module.

-All-In-Ones do not have a Z level restriction. They can pick up ALL signals and send ALL signals (to Z levels 1-10)

-Fixed an issue with the player being unable to remove frequencies from the filter.

-Added support for additional interaction options for certain machines. To use it, create a new Options_Menu() and Options_Topic(href, href_list) for your machine.

-Added EMP_ACT to Telecommunication Machines. I've also added an event called "telecommunications_blackout()", it will loop through all telecomm machines, in telecomms_list, and EMP_ACT them. The EMP will last 2 minutes. Currently only admins can use it.

-Fixed issue 831

-Changed the map. The station no longer has the station relay, it is now on the Satellite. There's an empty room now, it should be used for something after the feature freeze.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4522 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-23 16:27:21 +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
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
ericgfwong@hotmail.com
853433e610 -Fixed exterior virology access button not working
-Increased brightness of light bulbs to 4 (up from 3). This is so I wouldn't have to spam a whole bunch of light bulbs in darker areas to get the same mood it had before the darkness update. And since I don't need them any more, I've removed a bunch of light bulbs I added in in an earlier commit.
-Added a maint door to the Janitor's closet
-Map changes to library and medbay. Thanks, Dingus!
-Updated changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4324 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-06 06:48:39 +00:00
baloh.matevz
e7efac9ca6 - Fixed r4301 so it actually does what it set out to do.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4315 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-04 14:51:46 +00:00
baloh.matevz
aa93ab759c - In an attempt to lessen the effect of the dark patches in halls, as well as to remove the long-standing effect of random dim lights around the station, I removed the randomness of the luminosity of lights with tubes. Their luminosity used to be rand(6,9) to attempt a simulation of lights that are waring out. It is now a fixed 9. The effect on the station never worked right.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4301 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-03 15:40:32 +00:00
baloh.matevz
49f3db9954 - F12 now properly hides the action buttons
- Changed the 'black overlay' you get when paralyzed, blind or in critical condition to include a small circle around you. It still 'blinks' once every 25 seconds or so.
- Added a flag BLOCK_GAS_SMOKE_EFFECT, which can be applied to masks, glasses and hats, which prevent gas smoke, which contains reagents, from having an effect on you. Currently only present for gas masks.
- Dramatically lowered the amount of damage you get per breath while in critical condition. Critical condition now lasts for about 5 minutes if nothing is causing you any additional harm. This in combination with the new black image overlay is an attempt at making doctors more willing to help. For one thing they'll have more time to get to you, for another you will get to see if they murder you before sending you to genetics.
- Added Cheridan's wooden chairs to code
- Added a action_button_name to all items, which defaults to null and contains the text which appears on the action button. If an action button exists, but this variable is not set, the text will default to 'Use [name]', name being the name of the item tied to the button.
- Fixed the problem which resulted in certain glasses types making you keep night vision abilities even after you took them off. 

(Screenshot of black overlay: http://www.kamletos.si/blackimage4.png)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4280 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-02 08:25:34 +00:00
baloh.matevz
eaa13ba9bd - Fixed the bug which made lights not use power.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4211 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-29 04:50:23 +00:00
giacomand@gmail.com
d4c8c14bb1 -Fixed issue 658
-Changed the way light fixtures are constructed. You do not need a light to finish it and instead it will just create an empty light fixture, when you perform the final step.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4177 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 01:58:23 +00:00
sieve32@gmail.com
64ddd6d2d9 Fix for the lighting.dmi being misnamed, sorry about that
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4152 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 03:30:17 +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
giacomand@gmail.com
2399e8d561 -PDA notes and uplink notes are working again.
-Added light flickering
-Ghosts can now make lights flicker a little bit with a minute cooldown. (People voted for it http://www.kamletos.si/tgdb/ingamepolls.php)
-PDAs are sorted correctly on the Message Monitor
-Added some light flickering to the following events: High levels of radiation, Grey Tide virus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4143 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-22 20:56:47 +00:00
giacomand@gmail.com
b1e63422be -Fixed an issue with the light replacer not recharging properly.
-Reorganized the light replacer a bit.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4124 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-20 03:23:29 +00:00
giacomand@gmail.com
d4c0a8130f -Fixed there being no return link when a "No SQL server" message appears on the Library Computer.
-Increased the amount of lights you get from adding glass to the Light Replacer.
-Emagging the light replacer is one way.
-You can add lights to the light replacer to add uses.
-You can unload the trash bag by clicking on it.
-Vodka now heals toxin damage.
-Made light tubes the same price as light bulbs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4114 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-19 17:03:36 +00:00
giacomand@gmail.com
156696be7a -Added the Light Replacer (LR)
ABOUT THE DEVICE

This is a device supposedly to be used by Janitors and Janitor Cyborgs which will
allow them to easily replace lights. This was mostly designed for Janitor Cyborgs since
they don't have hands or a way to replace lightbulbs.

HOW IT WORKS

You attack a light fixture with it, if the light fixture is broken it will replace the
light fixture with a working light; the broken light is then placed on the floor for the
user to then pickup with a trash bag. If it's empty then it will just place a light in the fixture.

HOW TO REFILL THE DEVICE

It will need to be manually refilled with glass.
If it's part of a robot module, it will charge when the Robot is inside a Recharge Station.

EMAGGED FEATURES

NOTICE: The Cyborg cannot use the emagged Light Replacer and the light's explosion was nerfed. It cannot create holes in the station anymore.

I'm not sure everyone will react the emag's features so please say what your opinions are of it.

When emagged it will rig every light it replaces, which will explode when the light is on.
This is VERY noticable, even the device's name changes when you emag it so if anyone
examines you when you're holding it in your hand, you will be discovered.
It will also be very obvious who is setting all these lights off, since only Janitor Borgs and Janitors have easy
access to them, and only one of them can emag their device.

The explosion cannot insta-kill anyone with 30% or more health.

-Changed the broken bottle item icon to "broken_beer"
-Made the flavour text, for hitting yourself on the haad with a bottle, better.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4108 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-18 22:51:28 +00:00
johnsonmt88@gmail.com
58e2093744 Fixes hydroponics not producing food if there is no mutmod in the nutrient
Removed process() from machinery/lights as it was not being used.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4020 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-09 16:33:06 +00:00
kortgstation@gmail.com
51d0fbc3ce Simple animals (wraiths, juggernauts, etc) can now be targeted by turrets. They can also destroy turrets
Simple animals can now smash lights.

Simple animals use their attack value vs grilles now, I'm not sure why they didn't before. This means juggernauts should smash them quickly, and artificers much more slowly.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3964 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-01 23:37:54 +00:00