Commit Graph

126 Commits

Author SHA1 Message Date
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Lzimann
58d0f12c5c Removes a great amount of machinery copypasta with circuitboards.
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`
2017-08-09 11:10:48 -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
nicbn
77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Lzimann
3e34eb9e3f Changes all sounds to be lower case, plus standardizes their references 2017-06-11 00:38:45 -03:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Cyberboss
e85446288b Makes frames unanchored by default 2017-01-31 15:18:49 -05:00
Joan Lung
a3be7a9226 Refactors toolspeed to be a multiplier instead of a divisor 2016-12-09 16:55:51 -05:00
Mervill
0972f78800 a_intent now uses defines 2016-12-02 22:27:30 -08:00
Cuboos
bf079d29d4 POWER TOOLS TAKE 2. (#20923)
New power tools for the CE! It's like goof's golden tools but less memey and makes more sense, power tools are much faster than normal tools and take the place of two.

Hand drill, activate to switch between between screwdriver bit and bolt bit (screwdriver/wrench)

Jaws of life, activate to switch between a cutting head and prying head, can also open powered doors like a xeno. Cutting head cuts your head off if you suicide with them. I wanted to make the prying head gib your head but i couldn't figure it out.

Reworked how construction handles sounds and added a new "usesound" var to obj/items. This is useful if you want to add another tool or item that makes a send when it's being used. Also useful if you want to replace a sound for an item or if you have an item with a choice of sounds (like if you have two versions of a sound sound you want to play)

CE now gets a unique white tool belt, exactly the same as a regular tool belt, just a re-skin.

CE also spawns with the new power tools and an experimental welder, CE will be the ONLY one to spawn with these tools, might make him a more valuable target for traitors. I figured this would be acceptable considering most heads are not antag enabled (i think)

Also i added a welding tool sound for reasons... figured might as well add some more sounds while i was reworking it.
2016-10-14 10:19:23 +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
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
Core0verload
77d70b9955 Finishes boards refactor (#18392)
This PR finishes work started in #17300 by making all the machines use apply_default_parts(src) for components initialization.

It also adds two new board sprites, one for Abductor boards and one for Ravtar boards:
board board_a board_r

There are no deconstructable Ravtar machines yet, sprites are added for future use. Abductor sprite is used only by Seed Vault's plant DNA modifier. It wasn't made by actual abductors, but it was surely made by aliens.

Boards now have a new var: def_components. It is a list containing replacement paths for default parts. For example, list(/obj/item/weapon/stock_parts/matter_bin = /obj/item/weapon/stock_parts/matter_bin/super) would make machine spawn with super matter bins instead of basic ones by default.

Console screens that were used in machines instead of glass sheets are replaced with actual glass sheets. Support for sheets as machine components was added in a previous PR
2016-06-10 13:13:33 +12:00
LatD
67190cb762 Fixes things found in testing 2016-05-26 23:30:42 +03:00
LatD
6e6474ee9e Imprinter origin and req lvls 2016-05-22 23:46:05 +03:00
Core0verload
a66c2f4418 Machine/computer boards and frames refactor (#17300)
* Map Changes

* Machine/console boards and frames refactor

* More board changes
2016-05-08 12:11:18 +02:00
Cheridan
48924d957e Merge pull request #17107 from Core0verload/botany_nerf
Nerfs botany Potency gene extraction
2016-04-29 13:38:36 -05:00
phil235
b8164b7b92 * Add an attack animation for mech melee attack.
* Fixes mech action button icon not updating whent the button is activated.
* Fixes internal tank action button icon not updating to off when we adjusted our masks out.
* Fixes mime/clown mask not updating their action button icon when adjusting. Fixes clown mask not updating
its on mob icon if adjusted when worn.
* Fixes typo in the human threshold for toxin in the air.
* Fixes changing the thermomachine circuitboard settings not giving any feedback.
2016-04-28 18:56:14 +02:00
c0
c8d257692d Nerfs Potency gene extraction 2016-04-25 11:53:08 +03:00
RandomMarine
af01ed7e00 Golem ship tweaks and additions 2016-04-09 21:19:38 -07:00
c0
e4f2d0c064 Bioengineering Part 1 2016-03-13 13:20:26 +03:00
Bjorn Neergaard
4c192d705a Rewrite heaters/freezers; port to tgui
They are now one type, thermomachine.
2016-01-22 19:25:35 -06:00
AndrewJacksonThe2nd
1ab5e80458 Tesla map removal to fix merge 2015-12-19 12:32:50 -08:00
YotaXP
7de857b476 Upgrades the space heater! 2015-11-30 04:11:10 -05:00
Jordie
da0c466f82 Merge pull request #13149 from Firecage/toolspeed
Adds toolspeed
2015-11-29 21:06:15 +11:00
Firecage
c933363062 Adds the toolspeed var and adds it to most usages of tools which has a timer 2015-11-21 19:24:14 +02:00
bgobandit
899e6ecaf9 Merge branch 'master' of https://github.com/tgstation/-tg-station into newmininggear
Conflicts:
	_maps/map_files/DreamStation/dreamstation04.dmm
2015-11-18 19:55:06 -05:00
bgobandit
47dcbc2fd0 Various mining additions, fixes and rebalances. 2015-11-18 19:14:28 -05:00
GunHog
f0f16426b9 Gold requirement
- Circuit board design now requires gold.
- Origin and Required tech levels made consistent with a board that
takes gold.
2015-10-29 08:20:32 -05:00
GunHog
ea36718bc3 Buildable Rechargers!
- Rechargers can now be constructed/deconstructed as a machine. Requires
the board and a capacitor.
- Rechargers can now be upgraded with superior capacitors to increase
recharge rates!
2015-10-28 14:55:38 -05:00
Chiefwaffles
37625502bb Fixes ANOTHER conflict. 2015-07-17 18:37:52 -07:00
Chiefwaffles
2c3db425fa Resolve merge conflict, step 1. 2015-07-16 12:35:58 -07:00
phil235
3a93eeabba Merge branch 'master' of https://github.com/tgstation/-tg-station into DrinkingGlassPourFix
Conflicts:
	code/game/jobs/job/cargo_service.dm
	code/game/jobs/job/civilian.dm
	code/game/jobs/job/job.dm
2015-07-16 14:19:29 +02:00
duncathan
ae417d2a03 Merge branch 'master' of https://github.com/tgstation/-tg-station into atmosrefactor2
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
	code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
	code/ATMOSPHERICS/components/binary_devices/pump.dm
	code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
	code/ATMOSPHERICS/components/trinary_devices/filter.dm
	code/ATMOSPHERICS/components/trinary_devices/mixer.dm
	code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
	code/ATMOSPHERICS/components/unary_devices/Freezer.dm
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/ATMOSPHERICS/components/unary_devices/unary_base.dm
	code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
	code/modules/events/vent_clog.dm
	code/modules/mob/living/carbon/human/species.dm
	config/admins.txt
2015-07-16 04:27:25 -06:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
8e92d3ced1 Fixes cable coil being dropped when trying to put it in a machine frame. 2015-07-15 16:08:10 +02:00
Chiefwaffles
d31d1a017a Adds emag/emp effects, makes AAS fully constructable, adds a circuitboard for the AAS, and adds overlays for announcements/errors. 2015-07-14 20:34:53 -07:00
duncathan
e074fb7856 makes air flow; fixes EVERYTHING 2015-07-11 18:45:19 -06:00
Razharas
2ce9bdfb00 Fixes smartfridge construction and deconstruction
Fixes smartfridge construction and deconstruction
Added special proc for machinery to be called on deconstruction akin to
construction
2015-06-29 17:12:24 +03:00
Cheridan
9c97ee19de Merge pull request #9962 from phil235/MachineFrameDecoCrystalFix
Fixes machine frame not dropping all /obj/item upon deconstruction.
2015-06-19 13:44:04 -05:00
phil235
0bebf9d978 all /atom/movable in components are now properly ejected upon the machine frame's deconstruction. 2015-06-15 17:50:25 +02:00
phil235
68bd2e770a Deconstructing a machine frame will now properly drop all /obj/item (instead of only /obj/item/weapon),
it fixes bug where bluespace crystals are not being dropped.
2015-06-14 23:04:49 +02:00
xxalpha
b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Iamgoofball
3c1a0dd0d5 SMARTFRIDGE, SEED EXTRACTOR, and MONKEY RECYCLER are now buildable. ORE REDEMPTION MACHINE can now be upgraded. 2015-06-06 12:47:11 -07:00
Iamgoofball
e1cfbdaed4 RECYCLER AND HOLOGRAPH PADS ARE BUILDABLE and bugfixes 2015-06-06 01:35:01 -07:00
Iamgoofball
467cc12ae5 fixes 2015-06-06 00:33:02 -07:00
Iamgoofball
b65c7a36df Upgrade Update: Bluespace Boogaloo 2015-06-05 23:56:09 -07:00
oranges
4ac3497ebe Change machine frames and girders deconstruction step
They now use the screwdriver instead of the welding tool

On top of that I added a check to ensure you can't disassemble the same girder
more than once to farm materials
2015-05-05 10:32:57 +12:00