Commit Graph

84 Commits

Author SHA1 Message Date
phil235 e8d3deafab Merge branch 'master' of https://github.com/tgstation/-tg-station into AcidFix
Conflicts:
	code/modules/clothing/masks/gasmask.dm
2015-06-28 15:22:21 +02:00
Ikarrus 3d5f126779 Destructible Clothing [WIP]
- Clothes can be set on fire and extinguished
  - Any item can technically be set on fire and extinguished now, but only clothes (and paper) actually burn right now
  - All of a mob's clothing are burned if the mob is husked by fire
- Clothes will also have a chance of being shredded if you are caught in a bomb blast
  - The bigger the explosion, the higher the chance they have of being destroyed
  - Outer layer clothing (headgear and exosuits) take the shock first, which absorbs some of the shock for the clothes it covers, according to it's bomb armor
2015-06-25 00:06:47 -06:00
phil235 a029f2852a Merge branch 'master' of https://github.com/tgstation/-tg-station into AcidFix
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Blob-Reagents.dm
2015-06-24 21:15:09 +02:00
phil235 b0cd6d34b1 Lots of work on acids, smoke, foam, reagents reaction() proc.
- fixed the fraction argument in reaction(...., INGESTED, fraction) so the proper amounts of each reagent react, not all of it.
- slight optimization of datum/reagents/reaction()
- small optimization /datum/reagent/proc/reaction_mob
- the smoke's reagents no longer do direct transfer upon crossed()/move() but uses "reagents.reaction( mob, TOUCH)" only.
- fixes no ingesting smoke if it's in the dark.
- removed block gas smoke effect flag from clown mask and other non "actual" gas mask.
- refactor how protection against touched chems being absorbed is done. get_permeability_protection() to get that protection. No more

simple RNG get touched or not, now the amount that touches you depends on your protection and the volume in question.
- changes acid_act to take volume into account.
- chem_smoke now uses process() just like foam, we remove the reaction from crossed() and Move(), it's only done in process() now.
- optimization of effect/smoke, OOP! And now all smoke effects use objprocessing instead of shitty sleep/spawn
- removed mob var/coughedtime.
- add a volume check to item/acid_act(), there's a threshold to be able to melt and then a probability to melt (acidpwr&volume).
- greatly lowered the amount of reagent in the smoke from dead blobspore (so the volume isn't enough for melting)
- human/acid_act(): damage to limbs depends on acidpwr&volume.
- fixes metalfoam not working.
- smoke powder: only one start() call.
- Amound of smoke objects depends on amount of smoke recipe created.
- Adds an argument to add_reagent() to block automatic call of handle_reaction()
- When using reagents/proc/trans_to(), reactions are now only handled after every reagent is transfered and not before.
- Amount of smoke objects depends on amount of smoke reagent created.
- radius of foam reaction depends on amount of foam reagent created.
- The amount of other reagents inside the smoke/foam decides the life expectancy of the effect.
- The amount of reagents in each small smoke cloud/foam cell depends on the amount of other reagents in the initial reaction but also

how much smoke/foam was created (more smoke means dilution of the reagents).
- smoke/foam's reagent reaction on mob decreases the life expectancy of the effect (to avoid reagent duplication)
- The amount of reagent reacting with atoms is less if the life expectancy is high.(to avoid reagent duplication)
- The amount of movement from the smoke now depends on the number of smoke clouds created.
- removing some useless code in chem_grenade/prime().
- When calling human/acid_act(), item acid melting chance lowers after each each successful melt in the list, some of the acid is

"used" to melt that item so the next items have a lower chance to melt (to make melting every clothing harder).
- remove the banned reagent list from sprays, not needed anymore now that acid is nerfed.
- chem_grenade reaction, if there's no reagent left after reaction (smoke/foam/etc, reagents cleared) you don't get the steam effect

and immediate reaction with all atoms around the grenade explosion. (Fixes foam cleaner grenade deleting bloodstains around it as soon

as the grenade explodes, even if the foam hasn't reached the tile yet).
- melted storage items now drop their content instead of deleting everything.
2015-06-22 00:35:24 +02:00
Fayrik 0ba314552a The initial tweaks are in place, ran out of time to finish it though. 2015-05-11 18:54:31 +01:00
Cheridan 78e25c3175 Merge pull request #9220 from RemieRichards/PlasmaaaaaaaMeeeeeeen
Ports VG's Plasmamen + Species breathing additions
2015-05-04 00:19:18 -05:00
Remie Richards fca3c0bdb5 Adds Plasmamen! Adds the ability for species to breathe other gases! 2015-04-28 20:48:14 +01:00
Fayrik 80ff5d45d0 Air alarm template still needs a tweak, but it's functional now. 2015-04-25 05:22:00 +01:00
kingofkosmos e371dd9f35 more spans 2015-04-24 20:52:00 +03:00
kingofkosmos 1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
kingofkosmos d54509c23f Fix for watertank toggling while buckled. 2015-04-22 18:17:35 +03:00
norill 73e4502a64 outer +/- hrefs in tank pressure gui change pressure by 5kPa instead of 10 now 2015-04-08 00:00:39 +02:00
Jordie c8e0c16d09 Merge pull request #8520 from MrPerson/effect_cleanup
Effect pooling
2015-03-30 01:21:40 +11:00
MrPerson b6c71dc50d Effect pooling
obj/effect/effect all pool themselves.
PoolOrNew() can now be passed a type and a list instead of a type and a location. In that case, the list will be passed to New() via arglist().
RCD's now delete their spark system and properly garbage collect.
2015-03-24 11:44:49 -07:00
xxalpha edccabb0c4 Only engineering type hardsuits have the inbuilt jetpack. 2015-03-18 17:48:45 +00:00
xxalpha 8fa8919e2e Added a comment, removed unnecessary line. 2015-03-17 19:41:58 +00:00
xxalpha 6f5ea7f5e7 Adds embedded jetpacks to hardsuits. 2015-03-17 18:42:29 +00:00
phil235 0232afd05d Fix typo in catalyst.
Fix flamethrower crafting recipe (now only use 1 rod, calls checkparts() to set up the weldingtool and igniter).
Fix lack of message when trying to turn on an unsecured welding tool.
Fix lack of icon update when clicking plasma tank with empty flamethrower.
2015-03-15 00:23:47 +01:00
Swag McYolosteinen c2290c6c5c Merge pull request #7913 from phil235/NewPlants
Adds new plants to botany
2015-03-03 11:23:32 +01:00
Cheridan bcd3a5b3b7 Fixes metal foam dispenser mode for atmos backpack tank.
>>you will never refactor something without overlooking something dumb and breaking it
2015-02-26 22:26:12 -06:00
phil235 809a1be279 Merge branch 'master' of https://github.com/tgstation/-tg-station into NewPlants
Conflicts:
	icons/mob/head.dmi
2015-02-25 18:50:42 +01:00
phil235 bd870d649c Adds new plants to botany (rice, oat, blue cherries, holy melon, parsnip, geranium, lily, snap corn, blumpkin, mimana, sweet potato, vanilla, red beet) and adding two new reagents (vanilla and rice). 2015-02-22 22:10:25 +01:00
Remie Richards 5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
phil235 135293bedf Fixes object processing list by replacing "SSobj.processing.Add" by "SSobj.processing |= " to avoid having duplicated objects in the list, meaning the objects would be processed more than once per iteration.
Fixes Alien embryo processing that was processed twice.
2015-02-14 14:18:49 +01:00
xxalpha a9c181bbcc Repath all non jetpack tank types to tank/internals
Repath all portable tanks to tank/internals, except jetpacks

Update ministation
2015-02-01 18:25:39 +00:00
tkdrg 40e5476a53 Merge pull request #6598 from Incoming5643/InstantSummons
Magic Mania 1.81: Instant summons!
2015-01-09 03:29:15 -03:00
Incoming 69aea446a3 Fixes conflicts
Adds handling for canister teleportation shinanagans
Refactors nozzles slightly so they act properly if someone manages to swipe the tank without it ever touching the floor
2015-01-03 17:15:08 -05:00
carnie a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
paprka e70506580b added message for toggling jetpack on and off 2014-12-24 16:10:44 -08:00
hornygranny 881fd8eaee Merge pull request #6223 from Ergovisavi/back_slot_toggle_items_fixes
Fixing issues and updating equip method for Watertank Backpack / Defib
2014-12-15 16:24:58 -08:00
Ergovisavi 08d28b4f47 Fixes various issues with Backpack Watertanks / Defibs by slapping NODROP on them
Changes all watertanks and the defib to use the Atmos watertank equip method
Fixes a runtime that could happen if someone melted the Atmos watertank off of you
2014-12-04 09:27:10 -08:00
fleure 3d6a4a7bfb Fixes toggling watertank nozzle in hands with verb 2014-12-03 18:58:08 +00:00
phil235 fd1abc6436 Fixes laterballons icon update problem and the infinite burst issue. Blowing it now requires to attack the balloon with a tank not the other way around. Adding a message when you blow up the latexballoon. You can burst the balloon with a hot weapon like a lit lighter (is_hot() items) 2014-11-24 19:35:14 +01:00
Razharas 54299ac9b4 Merge pull request #5812 from fleure/nozfix
Fixes nozzle deleting and adds some safety to nozzle toggling
2014-11-16 13:44:42 +03:00
fleure 613b450ac7 Better equip code 2014-11-10 19:25:58 +00:00
fleure 0b0dba724a Added better nozzle deletion and removed qdel check 2014-11-10 19:09:34 +00:00
fleure ad27bc5200 Added GC check 2014-11-10 18:48:48 +00:00
fleure c0d858dccf Fixes nozzle deleting and adds some safety to nozzle toggling 2014-11-10 17:48:37 +00:00
Ergovisavi 481a282ca8 Adds NODROP to the Atmos watertank nozzle. I have no regrets. 2014-11-09 13:56:12 -08:00
Ergovisavi 2c74fc8dbb -Adds secure atmos closets to Atmos
-Removes a redundant check in water's obj reaction, add's a "cooling power" var that determines how effective it is at cooling off hotspots
-Modifies extinguishers a bit to have more options, affect more tiles, change the cooling temperature of the water inside of it, etc
-Makes the water backpack for atmos even more robust at fighting fires with a 5 tile spread, removes converting oxygen to nitrogen on Nanofrost, made the resulting end of a firefight annoying as the atmos tech would have to get an oxygen canister
-Makes racks use Move() to put objects on top of them instead of just changing the loc, in order to stop nozzles/misters from getting on them
2014-11-09 11:16:58 -08:00
Ergovisavi 9c1366d65f Adds a new define for temperature protection for more robust firefighting gear
Adds Atmos Firesuits, Atmos Firesuit Helmets, sprites for all the firefighting gear etc
2014-11-08 02:14:37 -08:00
Ergovisavi 40e093de50 Merge branch 'master' of https://github.com/tgstation/-tg-station into firefighting 2014-11-04 10:52:46 -08:00
Ergovisavi 46a3170b2a Firefighting changes:
-Firesuit level protection will not entirely protect you from being set on fire. You will gain small amounts of heat while on fire.
-Overhauls the Atmos Water Backpack into a more effective firefighting tool
-Adds a secure ATMOS closet containing said atmos water backpack to the code, but is not on the map as the backpack already exists in the ATMOS hardsuit object at this moment
2014-11-03 10:25:12 -08:00
phil235 128c9222e5 Adding checks for stun, restrained to many object verbs.
Fixing paper and supply manifest description upon examination.
Fixing being able to adjust jumpsuit while restrained.
Fixing one typo.
2014-11-01 19:18:01 +01:00
MrPerson a23dbe2357 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/game/objects/items/devices/radio/radio.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/events/ninja.dm
	code/modules/power/cell.dm
	code/modules/power/port_gen.dm
	code/modules/reagents/reagent_dispenser.dm
2014-08-29 04:21:15 -07:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
MrPerson 44383ec1c8 Disregard that I suck cocks 2014-08-21 07:35:51 -07:00
MrPerson 13b03a6d43 Hopefully final pass of object -> mob examine switch 2014-08-20 07:07:30 -07:00
MrPerson d0c97aae72 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/game/gamemodes/cult/ritual.dm
	code/game/gamemodes/nuclear/pinpointer.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/status_display.dm
	code/game/objects/effects/decals/crayon.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/airlock_painter.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/items/weapons/storage/secure.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/modules/assembly/assembly.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/mousetrap.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/carbon/slime/examine.dm
	code/modules/power/cable.dm
	code/modules/reagents/grenade_launcher.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/modules/recycling/sortingmachinery.dm

Thanks Firecage, this is all your fault
2014-08-20 05:54:20 -07:00
Firecage 24b18fad93 Absolute paths for item files. 2014-08-07 23:02:43 +02:00