Commit Graph

68 Commits

Author SHA1 Message Date
Joan Lung
990942481f You can now proselytize false walls + glow fixes 2016-11-04 11:53:48 -04:00
Mike Long
4bd80f021d Fixes #21240 2016-10-28 20:52:03 -04:00
Joan Lung
9b61e7b638 Things made out of magic ratvarian brass are immune to fire and acid 2016-10-17 15:53:27 -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
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
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
Lularian
feafb59f0e 111111111111111 2016-08-01 16:58:34 -05:00
Lularian
c85ea92a15 falsewalls 2016-07-19 15:24:19 -05:00
Nerd Lord
5d91f7c0ea fix! 2016-06-01 20:17:48 -04:00
Nerd Lord
3068603350 False walls now block air 2016-06-01 16:29:38 -04:00
Razharas
c396cd5be5 Fixes falsewalls being unsmashable (#17135)
* Fixes falsewalls being unsmashable
2016-04-27 17:29:56 +02:00
phil235
0480790b0a Same things but with structures now. 2016-04-24 20:38:33 +02:00
duncathan
497a4efc70 makes atmos_spawn_air() use the new gas string parser 2016-04-04 01:49:09 -06:00
duncathan
e86cf0f280 praise the good lord, for the game finally compiles 2016-03-29 19:04:37 -06:00
duncathan
3f1375ba39 Merge branch 'master' of https://github.com/tgstation/-tg-station into turfs
Conflicts:
	_maps/RandomZLevels/Cabin.dmm
	_maps/RandomZLevels/beach2.dmm
	_maps/RandomZLevels/caves.dmm
	_maps/RandomZLevels/research.dmm
	_maps/RandomZLevels/snowdin.dmm
	_maps/RandomZLevels/undergroundoutpost45.dmm
	_maps/map_files/DreamStation/dreamstation04.dmm
	_maps/map_files/EfficiencyStation/EfficiencyStation.dmm
	_maps/map_files/MetaStation/MetaStation.v41I.dmm
	_maps/map_files/MiniStation/MiniStation.dmm
	_maps/map_files/TgStation/tgstation.2.1.3.dmm
	_maps/map_files/generic/z4.dmm
	_maps/templates/lavaland_surface_automated_trade_outpost.dmm
	_maps/templates/lavaland_surface_biodome_winter.dmm
	_maps/templates/lavaland_surface_prisoner_crash.dmm
	_maps/templates/lavaland_surface_seed_vault.dmm
	code/controllers/subsystem/air.dm
	code/game/asteroid.dm
	code/game/atoms.dm
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/machinery/computer/arcade.dm
	code/game/objects/effects/aliens.dm
	code/game/objects/effects/overlays.dm
	code/game/objects/items/apc_frame.dm
	code/game/objects/structures/false_walls.dm
	code/game/objects/structures/girders.dm
	code/game/turfs/simulated.dm
	code/game/turfs/simulated/floor/fancy_floor.dm
	code/game/turfs/simulated/floor/mineral_floor.dm
	code/game/turfs/simulated/floor/plating.dm
	code/game/turfs/simulated/river.dm
	code/game/turfs/simulated/walls_misc.dm
	code/game/turfs/simulated/walls_reinforced.dm
	code/modules/admin/verbs/buildmode.dm
	code/modules/atmospherics/environmental/LINDA_turf_tile.dm
	code/modules/events/spacevine.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/holodeck/turfs.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/interactive.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/simple_animal/bot/floorbot.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/living/simple_animal/hostile/hostile.dm
	code/modules/mob/mob_movement.dm
	code/modules/power/singularity/narsie.dm
	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
	code/modules/research/server.dm
2016-03-29 14:46:06 -06:00
duncathan
b9950c4358 turf/open and turf/closed 2016-03-29 13:38:56 -06:00
xxalpha
688137c7dc icon smooth ss
adjustments

adjustements

atharrachaidhean
2016-03-12 23:57:45 +00:00
c0
f3ecb132ba Adds Alien Alloys 2016-03-12 15:06:03 +03:00
duncathan
5bf31463da removes simulated turfs; adds space gas mixture for space 2016-03-10 17:27:01 -06:00
xxalpha
e5839c55a0 Icon states for false walls 2015-12-25 06:19:24 +00:00
AnturK
c73526334c Rough Metal Wall 2015-10-12 18:47:22 +02:00
Xhuis
5f99b313cc Radiation changes 2015-09-26 13:33:27 -04:00
xxalpha
22474094ae Merge remote-tracking branch 'upstream/master' into hot_or_not
Conflicts:
	code/modules/mob/living/simple_animal/simple_animal.dm
2015-09-24 03:14:04 +01:00
xxalpha
655b1a77c7 Replaced refactored is_hot() to be an atom proc. 2015-09-24 01:12:38 +01:00
xxalpha
36ae116a48 Added another mode for smoothing (smooth with all subtypes). 2015-09-23 00:55:10 +01:00
Aranclanos
c4505bd25b Fixes false walls opening sprite and a small runtime when they finish their opening or close in the GC queue. 2015-09-12 20:37:22 -03:00
bgobandit
d0eb72fd3a #whoa #wow 2015-07-22 14:58:58 -04:00
xxalpha
942b4fd790 Fixed false walls incorrect icon update.
Enabled mineral false walls.
2015-07-09 17:17:24 +01:00
xxalpha
0b906c6916 All walls, fakewalls, windows, carpet. 2015-07-07 19:50:31 +01:00
Remie Richards
ee1e30717a Merge pull request #9980 from LaharlMontogmmery/ContentTransfer
Container Content Transfer - Good for Review (Again...Again.)
2015-06-21 00:09:19 +01:00
LaharlMontogmmery
373c918a4a Going through some hOOPs - bit of a overhaul. 2015-06-18 17:40:35 +02:00
Jordie0608
a67de221cc JMP replaced with FLW, fixes and adds a bunch of key_name checks in adminlogging 2015-06-14 23:37:35 +10:00
Remie Richards
cf536a9c16 Ports /vg/s Smoothwall code, Angry all caps comments from N3X15 included. 2015-05-16 21:05:18 +01:00
Jordie0608
f36d6bec08 fixes false rwalls not smooting, actually fixes barnyard improving 2015-05-10 21:17:46 +10:00
GunHog
26df5b6c8e Removes mining drill power mechanic.
- Removes the power mechanic from mining drills and the sonic
jackhammer.
- Fixes broken borg diamond drill upgrade.
2015-05-08 10:12:22 -05:00
phil235
9132838420 Merge branch 'master' of https://github.com/tgstation/-tg-station into BundleFix5
Conflicts:
	code/game/machinery/computer/ai_core.dm
	code/game/objects/items.dm
	code/game/objects/items/robot/robot_parts.dm
	code/modules/mob/living/carbon/brain/MMI.dm
2015-04-25 19:52:14 +02:00
phil235
35047e646e Readjusted rad effect from uranium walls.
mob/living/silicon/ai/ai.dm : one simplification plus "Normal" -> "Nominal".
2015-04-25 19:37:38 +02:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
phil235
d6cc2c07c6 Fix mmi deafened indefinitely. 9078
Fix carp knocking borg. 7394
Replace carp knockdown by stamina dmg (for human only) (now 5 bites instead of 7 to go from 100% to crit w/o armor) 7905
Fix being stunned as a borg causing temporary blindness, deafness and muteness. 9061
Change robot out of power: now only stunned, can talk but not move or interact. Adding feedback in examine. 6170
Robots now take damage in the hottest of inferno (35,000+ K)  8840
Nerfs uranium wall radiation: 6 times less radiation (just double the effect of urafloor), chain reaction range down to 1. 6841
Fixes putting braindead/notincorpse/ghosted brains in mmi, and same for mmi in borgs, the action fails and sends a message to the ghost. 4841 7447
Fixes brains taking eye damage and becoming blind. 6039
2015-04-21 23:35:12 +02:00
phil235
081bae6740 Fixes broken ui action button for toggling chef apron's sleeves and owl's wings.
Fixes surviving suicide
Fixes suicide damage overlays.
Fixes ninja regen "clothes warm" spam message. (moving rad armor check outside of apply_effect)
Fixes ninja smoke bomb count.
Fixes dead shaved corgi
Fixes lipozine still being in code.
Fixes flattening boxes requiring them to have their window opened.
Fixes armor softening message from disarm attack.
Fixes player being forced to play spiders without choosing.
2015-04-14 13:54:36 +02:00
pudl
69924a15be plasma/ripley update 2015-03-25 18:06:26 -05:00
Remie Richards
751fb4aaa9 Adds SLOT_BACK for energy katana, makes energy katana call emag_act() on what it strikes (mirroring energy/blade functionality cleanly), Removes energy/blade hacks. 2015-03-09 21:48:45 +00:00
Jordie0608
a7e23d672a Improves drill's handling of power 2015-03-05 17:12:12 +11:00
Remie Richards
b1ff6b7220 Merge branch 'master' of https://github.com/tgstation/-tg-station into AttackbyParams
Conflicts:
	code/game/turfs/simulated/floor/light_floor.dm
2015-02-24 22:16:53 +00: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
paprka
88760896ad initial commit 2015-02-13 20:59:39 -08:00
Cuboos
8175bd91e0 Mining sound revamp, using realistic sounds now instead of reusing sound. Plus improved Taser sound. 2014-12-09 19:38:49 -08:00
tkdrg
d23edbd3b7 Merge remote-tracking branch 'upstream/master' into wallz
Conflicts:
	code/game/objects/structures/false_walls.dm
	code/game/turfs/simulated/walls_mineral.dm
2014-11-12 20:11:20 -03:00
tkdrg
393e5d6801 Wall cleanup, moving stuff into proper procs in the children objects when possible
Broken walls now drop a multi-sheet metal stack instead of many 1-sheet stacks

Walls now have a builtin_sheet for performance. Also fixes bananium wall bugs with not dropping the mineral.
2014-11-12 20:07:18 -03:00
Menshin
cce46b39eb Fixes runtimes related to clown_ore -> bananium changes (fixes #5554).
Fixes runtimes related to security records (fixes #5552).
Changing the name in the security database now also change it in the general database.
2014-10-31 02:30:34 +01:00