Commit Graph

2249 Commits

Author SHA1 Message Date
Razharas
5ced570b3e Merge pull request #20856 from ChangelingRain/coreprocessidiocy
You can now deconstruct AI cores that contain no AI
2016-10-11 18:39:12 +04:00
Joan Lung
c96fa7e2dd jump... 2016-10-11 10:25:07 -04: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
Joan Lung
a88eb76aec Remove an unused proc #20825 2016-10-10 11:47:14 +13:00
Joan Lung
176a6fc404 I'm not actually sure how long that bug existed? 2016-10-09 18:44:47 -04:00
Joan Lung
5ff591e69b NUMBAH THREE 2016-10-09 18:42:05 -04: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
Joan Lung
8dbe5907e4 i'm a good coder this is fine 2016-10-07 18:44:49 -04:00
Joan Lung
fe2d77b43f everything involved in this is awful 2016-10-07 18:11:00 -04:00
Joan Lung
fccd45e279 what is a define 2016-10-07 18:01:56 -04:00
Joan Lung
bdcb16113a Adds a few turf istype helpers (#20754)
* a very calming act
when the world is too much, too fast

* i'm tired
but i have to be efficient, infinite

* lick your lips at the sight of me
a fantasy made reality
2016-10-01 19:25:46 +02:00
Joan Lung
dff4db726a Replaces a bunch of istypes with their proper macros (#20739)
* Replaces a bunch of istypes with their proper macros

* i'm not sure doing a 100+ file changed pr on a whim is something you do when bored
especially if you do it by hand because you never actually learned the regex that would let you automate it

* i'm just... gonna do this, because that check was true a lot and it shouldn't matter
2016-09-30 20:21:08 +02:00
Incoming
5eacff1038 Merge branch 'master' of https://github.com/tgstation/-tg-station into hold_it
# Conflicts:
#	code/modules/clothing/under/ties.dm
2016-09-30 13:00:49 -04:00
Cheridan
e43b06f750 Merge pull request #20591 from ChangelingRain/proofofconceptantagdatum
"Working Datum Antagonists"
2016-09-29 13:33:59 -05:00
Joan Lung
dafccd0f1a Merge pull request #20726 from phil235/PreliminaryDamageRefactor
Some preliminary changes before the damage refactor PR.
2016-09-29 10:07:51 -04:00
AnturK
7ce4f1293d Merge pull request #20734 from CyberbossJHCB/NothingToSeeHere
Showers now clean hands + bloody gloves fix
2016-09-29 10:46:31 +02: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
Joan Lung
aaefef46b8 Merge pull request #20732 from optimumtact/justhrefthings
Fix multiple href exploits from incorrectly scoped locates
2016-09-28 19:00:44 -04:00
oranges
8b7eb11df9 Fix multiple href exploits from incorrectly scoped locates
Also adds a helper to flatten a keyed list to it's contents as it
turns out that byond cannot locate in a keyed list
2016-09-28 06:55:45 +00:00
Cyberboss
9b11a70902 Git is hard 2016-09-27 20:16:36 -04:00
Incoming
83eef6662b ties the lawyer speech bubble to the attorney's badge so lawyers can disguise and people can disguise as lawyers
additional badges are found in the law closet

Needs an icon
2016-09-27 19:59:23 -04: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
ExcessiveUseOfCobblestone
9d54b28e9b Fixes Intellicard view-locking bug (#20682)
* Update ai_core.dm

* Update ai.dm

* Update mecha.dm

* Update mecha.dm

* Update mecha.dm

* Update ai_core.dm

* Update ai.dm

* Update ai_core.dm

* Update ai.dm

* Update ai_core.dm
2016-09-27 13:40:45 +02:00
oranges
04a42ee479 Merge pull request #20647 from KorPhaeron/bossofthisgym
Boss of this Fitness Room
2016-09-25 12:31:33 +13:00
kevinz000
a50c6a2c6f Grills now properly tesla bolt when things are tossed at them (#20634)
* tesla_grills

* balance
2016-09-24 19:54:12 +12:00
KorPhaeron
692f809e28 Boss of this Gym 2016-09-22 21:32:08 -05:00
AnturK
11c149abbf Merge pull request #20600 from Ergovisavi/hurr_durr
Minor anomalous crystal fixes
2016-09-21 12:41:41 +02:00
Joan Lung
d41971d7ed Merge branch 'master' of https://github.com/tgstation/tgstation into proofofconceptantagdatum
Conflicts:
	code/game/gamemodes/game_mode.dm
2016-09-20 19:03:20 -04:00
Cheridan
a930355581 Merge pull request #20572 from AnturK/godisdead
Removes Hand of God gamemode.
2016-09-20 13:46:52 -05:00
AnturK
14886c1bac fixup 2016-09-20 18:52:31 +02:00
AnturK
6700f30012 Repathes structures to fluff, traps to their own path 2016-09-20 17:36:27 +02:00
Ergovisavi
72f9b60190 Fixes some issues with anomalous crystals 2016-09-19 20:30:38 -07:00
Joan Lung
64667136d5 heavyweight class
this is ~eh, but it's this or Another Antag Removal Proc and, god, let's not.
2016-09-19 13:18:51 -04:00
AnturK
93f444fd38 Removes Hand of God gamemode. 2016-09-18 13:32:26 +02:00
Marc R. Uchniat
dc1287a176 allow kitchen spikes to be welded apart 2016-09-17 22:42:27 -04:00
Joan Lung
ee9814465c Fixes a bit of brasscode 2016-09-13 17:11:57 -04:00
Cheridan
2a0168abdb Merge pull request #20434 from ChangelingRain/idigtilmyshoveltellsasecretsweartotheearththatiwillkeepitbrushoffthedirtandletmychangeofheartoccur
Moves all beam icon states to beams.dmi
2016-09-13 11:55:24 -05:00
Joan Lung
0067bd1332 Adds brass, used to construct various brass objects (#20419)
* Adds brass, used to construct various brass objects

* brasshole

* give em the brass

* give em more brass

* DYNAMIC

* VAR MURDER SPREE

* brassy

* acceptaphil

* this is super against my general preferences but eeeeeh sure okay i guess
2016-09-13 12:16:28 +02:00
Joan Lung
9c6fdc97f6 Makes mineral doors marginally less shitty (#20429)
* Makes mineral doors marginally less shitty

* TESTING IS FOR LIZARDS

* TYPING IS ALSO FOR LIZARDS
2016-09-13 09:19:21 +12:00
Joan Lung
179b0b532d Merge branch 'master' of https://github.com/tgstation/tgstation into idigtilmyshoveltellsasecretsweartotheearththatiwillkeepitbrushoffthedirtandletmychangeofheartoccur
Conflicts:
	code/game/objects/structures/grille.dm
	icons/effects/beam.dmi
2016-09-12 17:14:39 -04:00
PKPenguin321
f2b6543c1b tesla grille nerf (#20412) 2016-09-13 09:07:47 +12:00
Remie Richards
c50fa5729c Merge branch 'master' of https://github.com/tgstation/-tg-station into many_hands_make_light_work 2016-09-10 20:28:23 +01:00
Joan Lung
fbe2430ff8 Moves all beam icon states to beams.dmi 2016-09-10 13:09:44 -04:00
Cheridan
94bb371f30 Merge pull request #20402 from ChangelingRain/iwasabillionlittlepiecestilyoupulledmeintofocusastronomyinreverseitwasmewhowasdiscovered
Makes cult structures destructible and readds them
2016-09-10 11:43:59 -05:00
Joan Lung
5bdfd1665f Merge pull request #20328 from Ergovisavi/bring_colossus_back_2016
New colossus loot, the "Anomalous Crystal"
2016-09-08 22:38:50 -04:00
Joan Lung
b245319979 Adds some very fancy tables (#20388)
* Adds some very fancy tables

* even fancierer

* smoothing sprites are like a jigsaw puzzle for assholes
2016-09-09 14:09:16 +12:00
Joan Lung
eec5ca0823 that which is done is done 2016-09-08 10:13:13 -04:00
Ergovisavi
4e4f091905 Merge branch 'master' of https://github.com/tgstation/-tg-station into bring_colossus_back_2016 2016-09-07 01:08:58 -07:00
Ergovisavi
8605809c57 New colossus loot, the "Anomolous Crystal" 2016-09-07 00:58:15 -07:00