Commit Graph

78 Commits

Author SHA1 Message Date
yogstation13-bot
f9ad21cbf1 [MIRROR] Remove reagent ids and use typepaths where applicable (#5612)
* Remove reagent ids and use typepaths where applicable

* Remove reagent ids and use typepaths where applicable

* Resolves some easier conflicts

* Resolves medical_tools.dm

* Resolves robots.dm

* Handles cinnamon

Wow, I cannot do this manually. Fuckin' regex time.

* Removes 27 merge conflicts (!!!!!)

* Makes it actually half-attempt to compile

* I just -- I give up, it's over

* mk

* mk

* mk

* hm

* ok

* what a bloody chain reaction jesus

* ok

* and done

* went threw and changed the ones I missed

* ok

* dangit altoids hurry the fek up

* Fixes whatever I found find thru this regex:

reagents[\s\w]*=[\s\w]*list\([^\/]+\)
2019-06-10 07:26:31 -05:00
ShizCalev
7aa121235c Fix slippery oil never initializing, move some Initialize() to ComponentInitialize() (#43129) 2019-03-17 14:24:36 +01:00
AnturK
9eee86d4c1 Makes objects blocking air restore airflow in /atom/Destroy (#39210) 2018-07-21 11:28:49 +01:00
Jordan Brown
18a35788af Ports more things to Initialize (#38653) 2018-06-24 15:29:12 +01:00
AsV9
d338cac150 Merge remote-tracking branch 'tgstation/master'
Not sure if this worked. Used a wonky special snowflake strat to merge.
2018-03-24 08:57:13 +01:00
BordListian
12181dcfb7 - Please stop reverting this to the erroneous version 2018-02-18 12:50:12 +01:00
Iamgoofball
725df4bd9b Buffs Clogged Vents (#34949)
* Buffs Clogged Vents

🆑 Iamgoofball
feature: Clogged Vents now has some teeth
/🆑

This was the only part of GoofEvents players liked

* Update effects_foam.dm

* Update vent_clog.dm

* Update vent_clog.dm

* Update vent_clog.dm

* Update vent_clog.dm

* Update vent_clog.dm
2018-02-04 02:51:47 -06:00
vuonojenmustaturska
a104d323f8 Reverts smoke and foam buffs, disable foam combining 2018-01-30 14:00:35 -06:00
BordListian
740c4a0337 Adds firefighting foam, a better alternative to water for fighting fires. (#34788) 2018-01-26 22:16:32 +02:00
BordListian
b1dfa4f140 - Fixes smoke and foam having 1/4th of the reagents they should have (yoooo)
- Fixes copy_to runtiming if you transfer from a container that contains nothing directly to a reagents datum
- Removes redundant total_volume check in trans_to
- Fixes cryostylane and pyrosium not heating up people
- Fixes cryostylane cooling beakers to negative kelvins
- Fixes cryostylane cooling people to negative kelvins (stop copypasting code for temperature)
2018-01-21 02:01:23 -06:00
Emmett Gaines
4595c46dca turns the baseturf var into a part time list (#33705) 2017-12-25 20:10:08 -05:00
ninjanomnom
7b7b67edd8 In-code key handling system 2017-11-30 07:40:27 -05:00
vuonojenmustaturska
3f582454a8 Minor speedups to movement: First Blood Part 2 (#32702) 2017-11-14 18:59:45 -02:00
ShizCalev
da131693a4 Fixes foam layer popping 2017-10-17 04:23:20 -04:00
duncathan salt
454d16fe32 Minor refactor of how gas IDs are handled (#31528)
* gas IDs -> gas datum paths

* updates parse_gas_string() to handle both paths and IDs

* fixes compile errors

* fixes parse_gas_string() ignoring amounts of gas

* fixes roundstart jetpack runtimes

* fixes filters

* fixes map-edited filters

* fixes empty canister runtimes on initialization
2017-10-11 15:04:12 -04:00
Tad Hardesty
5a0bb2f599 Grammar fixes to atom descriptions (#31293)
* Grammar fixes to atom descriptions

- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate

* Remove spaces before newlines and oneline some strings
2017-10-05 16:33:35 -04:00
Ergovisavi
9fb70f22d8 ATMOS Resin removes iciness from floors (#29967)
* atmos resin now makes the floor non-slippery, increased the turf coverage of resin by one unit

* Atmos resin removes wetness on floor tiles upon generation
2017-08-22 14:30:23 +12:00
Ashe Higgs
dfd642f861 Ports smart metal foam from FTL (#29963)
* Ports smart foam from FTL

* Adds foam grenades to the EngiVend

* Why are you doing htis?

* Stuff

* badoop
2017-08-18 23:05:37 -04:00
Jordan Brown
dce49b6caf Adds defines for mouse_opacity 2017-08-14 11:18:22 -04:00
Jordan Brown
3c56d0f4f3 Ports duplicated slipping code to a component (#29628)
* Ports duplicated slipping code to a component

* Makes metal not slippery

* asdf

* Instead of cherry picking like an idiot I could just copy paster

* OOP

* And blood, don't forget Fry's blood!

* Further fixes

* A more generic fashion

* Use the new system

* Fixes

* Fix cartridge type

* Remove inertia
2017-08-09 16:06:15 +02:00
Joan Lung
6d7e3f2281 Lava is no longer a plating subtype (#29463) 2017-07-25 22:16:02 -03:00
AnturK
d3bcb4cbf9 Removes old height parameter from CanPass proc (#29218) 2017-07-13 08:57:25 -03:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Joan Lung
1feb0021a1 Removes now-unnecessary obj_integrity definitions 2017-07-08 14:02:50 -04:00
Ergovisavi
a08aa9e3a2 Fixes resin stacking & allows lasers to pass through resin (#28842)
* Fixes resin stacking
Lets you shoot through Resin with lasers!

* Small code cleanup

* TRUE
2017-06-27 09:29:26 -04:00
Jordan Brown
e9a66eb6ec Fixes resin attack message (#28789) 2017-06-26 13:02:52 +02:00
Jordan Brown
2a35e1c2ac Merge pull request #28588 from Ergovisavi/atmos_backpack_again
Changes to the Atmos Watertank Backpack
2017-06-20 21:49:02 -04:00
Ergovisavi
e1bdd83020 Changes the holo-fan to the holo-firelock, other minor changes and fixes 2017-06-20 18:36:45 -07:00
Joan Lung
38ec5563dc Fixes slips 2017-06-19 14:57:25 -04:00
Ergovisavi
9f30277c2d Take two at making ATMOS actually capable of fixing ATMOS in a timely manner 2017-06-19 00:24:01 -07:00
Joan Lung
2672d88800 Renames stun effects and changes stun input values as preliminary work for changing stuns to status effects (#28524) 2017-06-18 23:03:51 -03:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Kyle Spier-Swenson
12570805bd Closes the Pool. (#23150)
* Delete pool.dm

* Removes usage of PoolOrNew

* Wrap up
2017-01-22 16:00:23 -05:00
bgobandit
a8b2d1f8b8 Foam no longer spreads to transit space turfs. (#22787)
* Foam no longer spreads to transit space turfs.

* Blacklists lava and chasms for foam; blacklists transit turf for xeno weeds

* wait wtf was I thinking
2017-01-07 19:42:42 +13:00
Kyle Spier-Swenson
dedb16826e Speeds up world init. (93s -> 49s) (#21992)
* Speeds up world init.

* Armor is now new inited for obj and the first level of subpaths.
* Actions is now lazyinited and deleted with empty.
* Actiontypes is now only inited when actually used and deleted once it pre-fills actions with the action buttons.
* Pipes now prefill their node list(s) in new() using new /list/ (count) syntax to speed up the list initaliztions and remove the init proc.
* Pipes no longer store their item version, instead creating it on the fly when deconned
* Walls no longer store their metal stacks, instead creating it on the fly when deconned.
* obj, walls, floor, plating, item, machinery, structure, pipe, pipenet, atom, and movable no longer have an (init) proc. (along with a few other smaller examples)
* Atmos can pass checking is now a var with the ability to have a proc be call in advance cases.
  * (as a side effect, I had to fix a few things that were calling atmosCanPass rather then using the pre-calculated list, this should speed up chemfoam and flame effects greatly)

* Reverts upload limit
(remind me one day to defuck this, it could easily be a config thats not editable by vv to make changes easier)

* Makes apc update icon a bit faster.
APC new is some what high on the profile of world init, still not sure why, but this stood out as a waste of cpu so i fixed it.

* Fixes runtime with atmos backpack water tanks.

* Makes smoothing faster (and fixes turfs smoothing twice at init)

* Makes apcs init faster by replacing some spawns with addtimer

* fix transit turfs.
2016-12-08 21:50:15 +13:00
phil235
2dc956bea0 Merge branch 'master' of https://github.com/tgstation/-tg-station into Color_washing
# Conflicts:
#	code/game/gamemodes/clock_cult/clock_scripture.dm
#	code/game/gamemodes/clock_cult/clock_structures.dm
2016-10-31 19:59:00 +01:00
Iamgoofball
8c77f30770 Makes foam less garbage
only took me 6 months and phil saying I can't make any new PRs until it's fixed

foam now only divides by 7, and it won't apply the reagent's effects unless the lifetime is a multiple of 7
2016-10-21 10:07:44 -07:00
phil235
240f3a4c49 Adding var/list/atom_colours to /atom .
The var will be used to store the various coloring that happen for the atom so that we can separate paint coloring from color that must be inherent to the atom (an initial color for example), or from certain coloring effect like revenant's blight, mob electrocution's black color, admin edit of the color var, green color from holding the greentext item, etc.
The list has four elements, used for four categories:
ADMIN_COLOUR_PRIORITY for admin varedits and very rate color effect like holding the greentext item (and other effects that should prime over any other potential source of coloring even temporary effects).
TEMPORARY_COLOUR_PRIORITY for short color effects like revenant blight on mob, mob electrocution making you all black for a couple seconds, effects that should be appearing above paint coloring.
WASHABLE_COLOUR_PRIORITY for pretty much all paint coloring like colorful reagent on mobs, coloring turfs with paint, etc.
FIXED_COLOUR_PRIORITY for color inherent to the atom, like a blob's color, any object with a color value given in its definition.

Fixes electocution animation on mob not making the mob all black (with the skeleton overlay blinking over it)
Spray cleaner and soap can now wash paint off mobs, turfs and objects.
2016-10-19 01:51:30 +02:00
phil235
1ea0e47aa4 Visible_message() when being attacked by melee or projectile is replaced by a simple message only to the target instead of all viewers.
The message when firing a gun is removed.
To keep things balanced melee attacks (punches, alien attacks, animal attacks, etc...) now show a visual effect (similar to what we current have with item attacks.
Fixes muzzle flash effect not appearing for mech guns.
Fixes muzzle flash effect not appearing for certain ranged animal.
Fixes the item attack effect not being visible to camera viewers and mech occupants.
Fixes toy guns foam dart not dropping on the ground when shooting a mob on the same tile as us.
Fixes toy smg magazine sprite being invisible sometimes.
Fixes foam dart not facing the correct direction when fired.
Changes the bullet projectile sprite to have a slight tracer effect so as to be more visible.
2016-10-13 19:21:30 +02:00
Joan Lung
ce13143d9d Replaces yet more istypes with helpers (#20806)
* uses more istype helpers

* oranges is inefficient
2016-10-10 17:48:35 +13:00
phil235
5f835bfc26 Obj damaging system, acid damage, and fire damage refactor (WIP) (#20793)
Please refer to #20867 and #20870 for a easier view of the changes. Those two PRs show all meaningful changes (hopefully) and doesn't show the files changed with just 3 lines changed.

This PR does three things:

    It makes all children of /obj/ use the same damage system.
    Previously to make your new machine/structure be destroyable you needed to give it a var/health, and its own version of many damage related proc such as bullet_act(), take_damage(), attacked_by(), attack_animal(), attack_hulk(), ex_act(), etc... But now, all /obj/ use the same version of those procs at the /obj/ level in code/game/obj_defense.dm. All these obj share the same necessary vars: obj_integrity (health), max_integrity, integrity_failure (optional, below that health level failure happens), and the armor list var which was previously only for items, as well as the resistance_flags bitfield. When you want your new object to be destroyable, you only have to give it a value for those vars and maybe override one proc if you want a special behavior but that's it. This reorganization removes a lot of copypasta (most bullet_act() version for each obj were nearly identical). Two new elements are added to the armor list var: fire and acid armor values.
    How much damage an obj take depends on the armor value for each damage category. But some objects are INDESTRUCTIBLE and simply never take any damage no matter the type.
    The armor categories are:
    -melee(punches, item attacks, xeno/animal/hulk attacks, blob attacks, thrown weapons)
    -bullet
    -laser
    -energy (used by projectiles like ionrifle, taser, and also by EMPs)
    -bio (unused for this, only here because clothes use them when worn)
    -rad (same)
    -bomb (self-explanatory)
    -fire (for fire damage, not for heat damage though)
    -acid
    For machines and structures, when their health reaches zero the object is not just deleted but gets somewhat forcedeconstructed (the proc used is shared with the actual deconstruction system) which can drops things. To not frustrates players most of these objects drop most of the elements necessary to rebuild them (think window dropping shards). Machines drop a machine frame and all components for example (but the frame can then be itself smashed to pieces).
    For clothes, when they are damaged, they get a "damaged" overlay, which can also be seen when worn, similar to the "bloody" overlay.

    It refactors acid. See #20537.
    Some objects are ACID_PROOF and take no damage from acid, while others take varying amounts
    of damage depending on their acid armor value. Some objects are even UNACIDABLE, no acid effect can even land on them. Acid on objects can be washed off using water.

    It changes some aspect of damage from fires.
    All /obj/ can now take fire damage and be flammable, instead of just items. And instead of having just FLAMMABLE objs that become ON_FIRE as soon as some fire touch them (paper), we now have objects that are non flammable but do take damage from fire and become ashes if their health reaches zero (only for items). The damage taken varies depending on the obj's fire armor value and total health. There's also still obj and items that are FIRE_PROOF (although some might still be melted by lava if they're not LAVA_PROOF).
    When a mob is on fire, its clothes now take fire damage and can turn to ashes. Similarly, when a mob takes melee damages, its clothes gets damaged a bit and can turn to shreds. You can repair clothes with cloth that is produceable by botany's biogenerator.

    It also does many minor things:
        Clicking a structure/machine with an item on help intent never results in an attack (so you don't destroy a structure while trying to figure out which tool to use).
        I moved a lot of objects away from /obj/effect, it should only be used for visual effects, decals and stuff, not for things you can hit and destroy.
        I tweaked a bit how clothes shredding from bombs work.
        I made a machine or structure un/anchorable with the wrench, I don't remember which object...
        Since I changed the meaning of the FIRE_PROOF bitflag to actually mean fire immune, I'm buffing the slime extract that you apply on items to make them fire proof. well now they're really 100% fire proof!
        animals with environment_smash = 1 no longer one-hit destroy tables and stuff, we give them a decent obj_damage value so they can destroy most obj relatively fast depending on the animal.
        Probably a million things I forgot.

If you want to know how the damage system works all you need is the three obj vars "obj_integrity", "max_integrity", "integrity_failure", as well as the armor list var and the resistance_flags bitfield, and read the file obj_defense.dm
2016-10-10 11:14:59 +13:00
phil235
194398cbbd Merge branch 'master' of https://github.com/tgstation/-tg-station into PreliminaryDamageRefactor
# Conflicts:
#	code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
#	code/game/objects/effects/portals.dm
2016-09-29 01:44:27 +02:00
phil235
2d2975f783 Some preliminary changes before the damage refactor PR. The changes here do absolutely nothing gamewise.
This just adds some vars that the refactor will use. Putting this in a separate PR prevent the damage refactor PR from becoming too big (number of files changed) and hard to read and review.

Introduces the resistance_flags bitflag that replaces unacidable and burn_state.
Moves the armor var from item to /obj level and gives specific armor values to many objects, the armor list also gets two new armor types: fire and acid, which will be used in the refactor. the new fire and acid armor values are given to plenty of items.
2016-09-27 22:33:08 +02:00
phil235
6809603669 Changes obj/effect/blob,spider,swarmer,energy_net,spacevines to be ob/structures instead, since you can hit and destroy them.
Adds a large ash and large molten item decal (for future use)
simplifies decal/cleanable/replace_decal() code a bit.
Changes construction() proc to on_construction() for consistency, same for deconstruction().
Made a deconstruct() proc for machinery and computer (also for future use).
2016-09-27 19:58:27 +02:00
Joan Lung
fb9f2a6bb5 Tweaks smoke and foam layers 2016-09-04 17:57:29 -04:00
Jack Edge
7aef42ae8b spawn() removal on effects_*.dm 2016-06-25 17:50:47 +01:00
Kyle Spier-Swenson
0d6bbbb412 stop the pills (#18703)
* RedPills Processing

Now you have to use START_PROCESSING(SSname, thing) (and STOP_PROCESSING)

* Fixes a minor bug.
2016-06-20 12:07:44 +02:00
Joan Lung
2cfb2d8eed Layers are now defines (#17949)
* Layers are now defines

* this looks better

* GAS_phil_LAYER

* no message

* remove the three unneeded defines

* no message
2016-05-27 22:16:21 +02:00
Joan Lung
6fc1d4fde4 Blobs can no longer eat the supermatter (#17205)
* Blobs can no longer eat the supermatter

* phil'd

* phil'd
2016-04-29 20:29:20 +02:00
phil235
0caa59b21a First commit of this big PR
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
2016-04-24 20:26:24 +02:00