Commit Graph

97 Commits

Author SHA1 Message Date
SkyratBot
b6ffb1e31b [MIRROR] Refactor /turf/var/intact [MDB IGNORE] (#9114)
* Refactor /turf/var/intact (#62331)

Turfs have a variable, intact, which conflates three meanings:

    Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
    Determining whether underfloor pieces are visible.
    Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.

When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.

This refactors /turf/var/intact into two distinct variables:

    /turf/var/overfloor_placed, for whether or not there is something over plating.
    /turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.

All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.

* Refactor /turf/var/intact

* Thank

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-10-30 00:19:21 +13:00
SkyratBot
04302a770a [MIRROR] moves obj_integrity and associated procs to the atom level (#8016)
* moves obj_integrity and associated procs to the atom level

* Feex good

* Whoops forgot the maps

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-10 16:47:01 +01:00
SkyratBot
a8a2af902b [MIRROR] Adds a stack trace for objs with <=0 integ taking damage (#7909)
* Adds a stack trace for objs with <=0 integ taking damage (#61079)

Adds a stack_trace to <=0 integ objs taking damage so instances of people relying on this early return prior can be identified

* Adds a stack trace for objs with <=0 integ taking damage

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
2021-09-01 16:50:32 +01:00
SkyratBot
02ad59791b Basic Mobs: the cooler simple mobs that run on datum AI. (With reworked cockroach AI as proof of concept) (#7867)
Co-authored-by: AMonkeyThatCodes <20987591+AMonkeyThatCodes@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-01 16:47:39 +01:00
jjpark-kb
6dfd617177 fixes some of the issues of the createanddestroy unit test (#7648)
* send help

* polychromic createanddestroy fix
2021-08-20 23:23:23 -04:00
SkyratBot
9c861af7b7 [MIRROR] Greyscale Mat Datum Stationary Smooth Tanks (#6544)
* Greyscale Mat Datum Stationary Smooth Tanks

* Update icon_smoothing.dm

Co-authored-by: Emmett Gaines <ninjanomnom@protonmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:37:32 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
fbb78302cf [MIRROR] Makes obj_integrity private and only updated through procs (#6125)
* Makes obj_integrity only updated through procs (#59474)

Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.

get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.

* Makes obj_integrity private and only updated through procs

* Mirror!

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-05 16:35:09 +12:00
SkyratBot
54f74233aa [MIRROR] Makes canister leaking and blowing up use a component and element respectively (#5958)
* Makes canister leaking and blowing up use a component and element respectively (#59075)

I want to use this behavior on some other things so into a component and element it goes. Gas leaking is handled by a component so it can process whereas the object breaking and causing an explosion is handled by an element. Some minor changes were made so canisters were more consistent in leaking.

* Makes canister leaking and blowing up use a component and element respectively

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-26 01:00:43 +01:00
SkyratBot
dbfeabd7a7 [MIRROR] Adds deflection messages for no damage attacks against objects (#5694)
* Adds deflection messages for no damage attacks against objects (#58873)

* Adds deflection messages for no damage attacks

* Changes the addition to ", which doesn't leave a mark" instead

* Adds deflection messages for no damage attacks against objects

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-05-14 22:14:12 +01:00
SkyratBot
9ffdf58259 [MIRROR] Some explosions code cleanup (#4276)
* Some explosions code cleanup (#57493)

Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf

* Some explosions code cleanup

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-03-21 01:03:36 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
43febe3145 [MIRROR] Converts many proc overrides to properly use list/modifiers, lots of other smaller things (#3433)
* Converts many proc overrides to properly use list/modifiers, lots of other smaller things

* Update human_defense.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-17 14:18:21 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
f105b47a55 [MIRROR] Singularity component (#2082)
* Singularity component (#55096)

Adds singularity component

* Singularity component

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-08 11:30:39 +00:00
SkyratBot
cae0e4cb5c [MIRROR] Adds Alloy Materials (#1228)
* Adds Alloy Materials (#53623)

Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)

* Adds Alloy Materials

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-10-10 00:29:56 +01:00
SkyratBot
3a0bbe9498 Acid Component (#53273) (#661)
Makes acid levels a component.
    Merges the acid effect object into the component.
    Reworks acids decay rates slightly.
    Rebalances xenos acid spit so that they can still melt through walls.

Misc. associated changes:

    Adds defines for a lot of the acid associated constants.
    Documents clean types and adds CLEAN_TYPE_ACID
    Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
    Adds a looping sound for acid.
    Makes /atom/proc/acid_act return a boolean.
    Fixes waterclosets creating a new reagent holder datum every time they are used.
    Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
    Adds and implements a couple reagent signals.
    Renames a few vars so Rohesie can stop telling me to rename more vars.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-09-07 03:52:59 +02:00
SkyratBot
cd0d700a85 [MIRROR] Mecha refactor 2020 (#579)
* Mecha refactor 2020

* Update effects.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:16:51 +02:00
SkyratBot
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot
d3f6e8d49f [MIRROR] Explosions SS runtime fix + code cleanup (#461)
* Explosions SS runtime fix + code cleanup (#52894)

* runtime fix

* turf references are immortal

* Explosions SS runtime fix + code cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 21:30:43 +01:00
SkyratBot
8932e4cdbe [MIRROR] Fixes tesla coil hell contraptions (#333)
* Fixes tesla coil hell contraptions (#52889)

Removes the ability for tesla coils to generate power with more then 85% efficiency.
Cleans up the remainder of my zap_act refactor, making the proc better fit its usecase and removing some unneeded code.
Adds a check in the tesla coil zap() proc that makes sure we're not trying to use power that's not there.
Removes some seemingly complex math from said proc, replaces it with a static 20% draw * the efficiency.

* Fixes tesla coil hell contraptions

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-13 22:38:29 +02:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
LemonInTheDark
fce4274752 Fixes all bits of code that check if something is under a tile that weren't being done 2020-07-10 22:14:37 -07:00
AnturK
35ad401ef9 Removes priority overlays (#51018)
* Removes priority overlays

* Fixup
2020-05-24 14:04:35 -03:00
Iamgoofball
a3aa69701a [READY] Basically, Instant Explosions 2: The Search For More Money: Eternal: A Tail Of Two Kitties: 33 1/3 (#50594)
About The Pull Request

Extools maptick stuff is in the game. Stolen from BeeStation/BeeStation-Hornet#1119, improves performance. Requires ex-tools on the server, though.

Explosions have been refactored to do the actual exploding in a subsystem.

Credit to goon.

Here's some videos!

Why It's Good For The Game
Basically instant max-caps now.
We can now give more of a tick over to the sending of map updates

Changelog

cl Goonstation Coders, Beestation, Extools devs
refactor: Explosions have been heavily optimized.
/cl
2020-04-30 10:27:53 +12:00
LemonInTheDark
006cc4947d An attempt to clean up tesla code (#50530)
* An attempt to clean up tesla code

* macro-op

* there we go
2020-04-24 21:34:40 -03:00
Ghilker
5d64a90618 Hot ice fix (#50353)
* fixed the burning oh the sheets

* finish touches

* properly fixes the hot ice component

* runtimes are bad

* Update code/game/objects/obj_defense.dm

Co-Authored-By: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-04-05 21:06:45 -03:00
Ryll Ryll
5c174800fb Grenades and projectiles can have shrapnel and embed, all carbons can suffer embeds, some bullets can ricochet, sizable refactor of embedding (#49634)
About The Pull Request

It annoyed me that we have a perfectly good frag grenade item, and a perfectly good shrapnel component, but no crossover episode between the two. This remedies that, and does a lot, lot more.

dreamseeker_2020-03-30_05-01-13.png

dreamseeker_2020-03-30_05-01-26.png

Big points:

    Adds new component: pellet_cloud, which can be used by ammo casings, guns, and landmines to spray shrapnel and display aggregate hit messages ("You're hit by 6 buckshot pellets!" vs "You're hit by the buckshot pellet in the X" x6). All gun ammo that shoot multiple pellets now use this component on firing.
    Adds stingbangs, premium less-lethal grenades that shoot off lots of stinger pellets, to cargo. Frag grenades are also reworked to have smaller booms, but shoot off lots of shrapnel shards. You can jump on top of these grenades to absorb a portion of the shrapnel to save those around you! There's an achievement for dying this way, called "Look Out, Sir!"
    Projectiles can now embed items/shrapnel. Adds .38 DumDum ammo to cargo that does less damage and has negative armor pen, but can embed in people. This is the only ammo that currently embeds.
    Bullets can now ricochet off walls, structures, and machinery (harder surfaces are more likely to ricochet). Only standard .38 and Match Grade .38/.357/L6 ammo can ricochet, with Match Grade being much better at ricocheting. You can buy Match Grade .38 from cargo and Match Grade L6 ammo from the nuke uplink, while Match .357 is admin only.
    Armor now protects you from harmful embeds, taking the better of the bullet/bomb armor on the affected limb. Armor penetration can modify this of course, and many blunt embeds like stingbangs and DumDum bullets are significantly worse if you have even 1 armor.

Other misc fixes/changes

    Refactored the embed element a bunch and fixed it creating new elements for every instance rather than expected bespoke behavior. There are new /obj/item helpers for modifying and adding embedding.
    Fixes #49989: Spears can no longer embed in turfs cause their sprite is annoying to me, it's generally harder for most things to embed in turfs
    Fixes #49741: New carbon helpers for removing embedded objects
    Fixes #46416: Handles embedded objects getting qdel'd or moved while embedded
    Renamed the old shrapnel component for RPG loot to MIRV to avoid confusion
    Repathed frag grenades from under minibombs to under base grenades, and added explosion vars to base grenades

Why It's Good For The Game

Fixes a bunch of janky design with embeds, adds lots of new avenues for projectile and grenade variety, ricochets and collateral damage are fun!
Changelog

🆑 Ryll/Shaps
add: Adds stingbangs to cargo (and one in the sec vendor premium), premium less-lethal grenades that shoot off a giant swarm of stingball pellets to help incapacitate swarms of people in tight quarters. You can jump on top of a live one to be a hero and absorb a bunch of shrapnel, same with frag grenades. There's even an achievement for dying to a grenade you jumped on!
add: Projectiles can now embed in people! Or at least grenade shrapnel and the new .38 DumDum ammo, now available in cargo, can. DumDum rounds excel against unarmored targets, but are pricey and do poorly against armored targets.
add: Bullets can now ricochet! Or at least, standard .38 and the new .38/L6 Match Grade ammo can. Match Grade ammo is finely tuned to ricochet easier and seek targets off bounces better, and can be purchased from cargo (for the .38) or nuke ops uplink (for the L6), but standard .38 ammo has a chance to ricochet as well.
tweak: Frag grenades now have smaller explosions but shoot off a bunch of devastating shrapnel, excellent for soft targets!
tweak: Shotguns and other multi-pellet guns now print aggregate messages, so you'll get one "You've been hit by 6 buckshot pellets!" rather than 6 "You've been hit by the buckshot pellet in the X!" messages. Bye bye lag!
balance: Armor can now protect against embedding weapons, taking the best of either the bullet or bomb armor for the limb in question away from the embed chance. Some weapons are better at piercing armor than others!
/🆑
2020-04-03 16:58:38 +13:00
ArcaneMusic
0e7eb95e06 Extinguished burning clothes no longer burn forever. (#50062)
* Smouldering clothes can now manually be extinguished.

* Extra safety on mob overlays.

* moves overlay cutting to carbon.dm

* Check check.
2020-03-20 00:45:23 -07:00
Time-Green
c04abab2bf [READY] Makes plumbing mappable and reworks hiding (#49644)
🆑
tweak: Ducts can now be hidden under tiles
code: tile hiding is now an element and way cooler and sexier
/🆑

Ducts can now be hidden under tiles
Plumbing machinery connects can now be hidden aswell
Plumbing can now also be properly mapped in without breaking anything
Plumbing component now uses the normal overlay systeem instead of being a weird exception

You can now add the /datum/element/undertile element to instantly make something hidable under tiles when appropriate.
2020-03-16 20:37:59 +13:00
LemonInTheDark
df9d859da8 Fixes tesla bugs, makes code better (#49260)
* Cleans shit up, adds some upper limits on zap count, makes explosions less commen. Need to fix apc issue before
I test how it plays

* Mood, buffs and nerfs tesla

* Cherry-Picking

* eyyo

* back to basics

* aight

* broooooooooooooooooo

* adds else

* range

* fixes shit

* Sure

* Cleans shit up

* Fixes prob issue

* Gee I like this spooky guy

* I swear to god if prob picks just makes a list I am gonna blow a gasket
2020-02-27 12:06:52 +01:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
ShizCalev
3055b70349 emitter cleanup and fixes (#49129) 2020-02-04 07:14:41 +01:00
LemonInTheDark
f4f8a686df Makes grounding rods consistent, changes the supermatters bolts a great deal. (#48472)
* Goof I will find you and I will berate you

holy hell

Calm and peaceful ahhhhh

I swear goofs pc failing was the biggest tragedy in gaming

Fixes some flags

More touchups

Now to squash

Goofs PC failing was the biggest tragady in GAMING

* Fixing some misspellings before the bee gets me

* GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

* Full vehicle support

* Changes some flags around, "fixes" some bugs, makes being shocked less insane

* Makes spliting more reasonable, unfucks some shitty tesla code I copypasta'd into the sm, godspeed shitcode,
none noticed you.

* Removes my tesla_ignore_1 fix, another pr is up that should solve things, so we're just leaving it in for now,
gonna have to deal with merge conflicts when it gets merged, but that won't be too bad

* tfw

* Nothing to see here folks

* I'm a boomer
2020-01-10 23:25:11 +11:00
AnturK
9dd3da4445 Batch of runtime fixes. (#48268)
* Abductor implant runtime

* Point blank knockback runtime + cleanup

* dog food begging runtime

* Malf power loop runtime

* Explosive gondola pod runtime.

* Plasma shard runtime and related.
2019-12-21 18:40:10 +01:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)

this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.

also applies materials to everything, with fixes, which can close #46299
2019-10-08 11:06:02 -04:00
kingofkosmos
71644568b5 Personal interaction messages to simple animals (#46744)
* Adds attacktext2 and friendly2 messages for personal "you" messages in combat.

* Adds response_help2, response_disarm2 and response_harm2 -messages for interacting with simple animals. Also removes unnecessary, already inherited, ones.

* Small extra: Adds personal messages for gun firing.

* Adds personal messages to grabs and fixes shoe stealing messages.

* Fixes open someone else's internals valve pronoun.

* Replaces response_help --> response_help_continuous, response_help2 --> response_help_simple etc. Also adds autodoc to simple_animal.dm variables.
2019-10-07 21:18:42 +02:00
nemvar
a148cae769 Kills obj/item/projectile in favour of obj/projectile (#46692)
* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
2019-10-06 13:37:24 -04:00
YoYoBatty
a19c1bec3b Tesla code improvements and qdel checks (#46741)
Potentially stops machines from getting tesla zap multiple times which 
could result in explosions occuring dozens of times even when they've 
been deleted.
2019-10-05 13:18:53 -07:00
nemvar
83ca607511 Removes dead acid armor code. (#46782) 2019-10-03 02:37:46 -07:00
nemvar
daffaefb71 Switches out the three billion args of electrocute act for flags (#46564)
* Switches out the three billion args of electrocute act for flags

* Adds autodoc to electrocute flags, sets the boolean I removed and tries to fix the ed209 file

* tries to fix ed209 again

* Fixes 209 hopefully

* Finally fixes that darn file

* one final one to fix the diff

* Or i guess i'll just do it myself
2019-10-02 23:14:19 +02:00
Fox McCloud
483f026a3d Fixes Adult Slimes Dealing No Damage (#46718) 2019-09-25 15:09:21 -04:00
Rob Bailey
2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
nemvar
a40ee7d303 Changes hulk code. (#45866) 2019-08-17 00:55:27 -07:00
Rob Bailey
a5de1c1b5e [READY] Reinforced windows are harder to get through (#45609)
About The Pull Request

full tile Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
full tile reinforced Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 95 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
dir windows have been given the appropriate halved health values.

Current deconstruction steps:

    heat one way screws (welder, 18 seconds, harm intent required)
    unscrew one way screws (screwdriver, 8 seconds)
    pop out panel (crowbar, 5 seconds)
    cut connecting bars (wirecutter, 3 seconds)
    unbolt frame (wrench, 5 seconds)
    theoretical fastest time: 39 seconds
    more practical time: 45 seconds

if the bolts are heated and then not unscrewed within 30 seconds they cool off again, and must be heated again

Construction is the same as before except the crowbar levering step takes 10 seconds instead of 3.
Why It's Good For The Game

Getting into places you shouldn't be is currently way too easy.
This change forces you to hack in, disassemble the window, or target a weak point like a windoor.
At the moment, it is possible to smash down what is intended to be a secure window with an item you get in your bag at roundstart for free. This is stupid. It should require some planning or at least thinking to be able to make your way in places you should not be.

Oranges has talked in the past about departments being designed like impenetrable fortresses with shutters everywhere, and this happens because reinforced windows are far too weak and unreliable to be able to have as effective defense of any department against even underequipped and underprepared people. This leads to the introduction of shutters which are too strong and difficult to deal with in most cases.

This is part of some plans to make departments more secure overall while still providing ample avenues for determined or properly prepared individuals able to get in if they want to. Despite having more plans along with this, this is a standalone change as is. This is not a "this will only work with later changes I'm totally going to do" situation
Changelog

cl
balance: Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
balance: Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 90 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
/cl
2019-08-09 11:03:59 +12:00
kingofkosmos
c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
Qustinnus
ef7a99dfa6 Tendrils properly drop loot when hit by extreme explosions. (#45339)
cl floyd
fix: Tendrils properly drop loot when hit by extreme explosions.
/cl

also fixes that explosions apply damage weirdly

Fixes #44979
2019-07-25 16:24:27 +12:00
nemvar
1ebdfaa64a Uncurse take_damage and document obj_defense.dm (#45146)
The original take_damage proc defined vars for no good reason had some 
duplicate code and wasn't very readable.

If you are wondering why it calls obj_break every time it takes damage 
while below integrity_failure, that's the way it used to be. Most (if 
not all) stuff that takes advantage of this functionality already 
accounts for this.
2019-07-14 12:26:31 -07:00
nemvar
8635b23582 negative armor (#44926) 2019-07-03 16:52:23 -04:00
4dplanner
0a81c85bad Adds some FIRE_PROOF checks (#42569)
* Adds some FIRE_PROOF checks

* Whoops

* Uses extinguish()

* Removes redundant ON_FIRE check

* Reinstates ON_FIRE check
2019-02-05 13:49:41 -05:00