Commit Graph

38 Commits

Author SHA1 Message Date
SkyratBot
70024ef6ad [MIRROR] Reverts Adds Neon Carpet (#55782) (#3040)
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)

It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis

* Reverts Adds Neon Carpet (#55782)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-03 10:22:43 +01:00
Gandalf
adfe2f099b DS-1 Assault Group + Skyrat Modular Map System [READY FOR TESTING, MODULAR] (#2317)
* START

* aaaaa

* Update assaultops.dm

* aaa

* Logic Systematic Sense

* Logic v2

* Update assaultops.dm

* Update assaultops.dm

* Update assaultops.dm

* Updates.

* Update assaultops.dm

* a

* Update radial.dmi

* Docs

* Update assaultops.dm

* Update one_click_antag.dm

* shuttle!

* Update syndicate_cruiser.dmm

* Update syndicate_cruiser.dmm

* aaaa

* Update shuttle.dm

* Update syndicate_cruiser.dmm

* aaa

* SMMS+Centcom

* Shuttles now get decals!

* Update to shuttle, centcom level!

* Update CentCom_Skyrat.dmm

* New objectives+win conditions

* a

* Merge branch 'master' into assaultops

* system updates + prison area

* Desc fix

* Delete assaultops_dynamic.dm

* a

* Update assaultops.dm

* Make Ass Team

* Update assaultops.dm

* fixes

* Update syndicate_cruiser.dmm

* watch!

* Update assaultops.dm

* Merge branch 'master' into assaultops

* super datumized

* aaaa

* nothing to see here

* Massive map changes.

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_cruiser.dmm

* Merge branch 'master' into assaultops

* Merge branch 'master' into assaultops

* aaaa

* Update large_doors.dm

* aaa

* Update assaultops_gamemode.dm

* Update assaultops_datum.dm

* aa

* spawners!

* aaa

* Update assaultops_outfits.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* a

* Base alarm!

* Update base_alarm.dm

* a

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aaa

* Update areas.dm

* aaaa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* WOOO MORE SHIT!

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* a

* Update CentCom_Skyrat.dmm

* Assault Ops Card Stuff (#2803)

* Automatic changelog generation for PR #2803 [ci skip]

* Assault Ops Map Tweaks (#2861)

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* modularmaps

* duisables mining

* Removes the gosh darn Orbital Mech Pad (#2917)

Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
2021-01-30 00:32:04 +01:00
SkyratBot
902f0a06d7 [MIRROR] Adds Neon Carpet (#2882)
* Adds Neon Carpet

* HARDSET

* Update tgstation.dme

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 17:01:58 +00:00
SkyratBot
29b79b3350 [MIRROR] Refactors decals to an element (#973)
* Refactors decals to an element (#53922)

* Refactors decals to an element

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-09-25 13:38:52 +02:00
Daniel Hultgren
bae9371da5 Cleanable cleanup (#52477)
* Don't initialize the atom_colours list on atoms until it's actually needed

* Moved bloody_hands var to mob/living/carbon/human instead

* Added COMSIG_COMPONENT_CLEAN_RADIATION signal to reduce moms spaghetti

The shower and suit storage unit now calls this signal instead of either doing it manually or doing it via the washed proc

* Cleaned up carbon washing, renamed washed to wash

* The wash proc now doesn't take the washer as first arg because that wasn't used anywhere
* The wash strength is no longer optional
* Carbons now overrides the wash proc instead of using the signal
* Properly check for obscuredness before washing any equipped items
* Properly wash all items and bloody hands etc
* Added clean_lips proc for humans for cleaning any lipstick

* Cleaned up washing. Washy stuff now calls wash instead of calling the clean signal directly

* Renamed is_cleanable to ismopable, gives this category a more fitting purpose. Many things beyond floor decals are cleanable. It is now also determined using the atom layer instead to make it more generic.
* Properly utilize the is_cleanable define
* Added wash override for turfs where they also wash any mopables on the same tile
* Space cleaner and cleaning element etc now simply washes the mob instead of doing its own manual cleaning on ~some~ equipped items

* Non-component washables now simply override wash instead of registering for the clean signal

* Fixed some left over clean signal registers not returning true

* Added clean_strength var to space cleaner

* Moved human wash proc next to the other washing procs

* Also wash glasses and mask if not obscured when washing face

* Fixed attempting to "scoop up" cleanable decals using a rag

* Fixed plasmaman spacehelm icon not updating when washed

Also removed a duplicated worn_overlays proc

* Fixed head icon not updating when washing lipstick

* Moved radioactive clean signal register to where it should be

* Added atom radiate VV verb for debugging

* Redesigned the CLEAN constants into a more sensible flags setup

This makes it more dynamic, cleaning apparatuses can clean more specific than just a cleaning strength.

* CLEAN_TYPE_* flags indicate a specific cleanable, such as blood, fingerprints or disease
* CLEAN_* consts consist of a combination of cleaning types to make cleaning apparatuses have a consistent behaviour on what they clean

* Fixed broken rad removal logic in showers

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

* Removed unneccesary bool from sink code

* Fixed wrongly named variable in turf wash

* Renamed bloody_hands to blood_in_hands

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 08:32:30 -04:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
AnturK
b7aa7ef4b4 Saves a bit of memory per decal (#48985) 2020-01-27 16:28:23 -05:00
MrDoomBringer
ccf3623c93 Prevent deepfrying space (#40558) 2018-09-30 13:59:55 -07:00
WJohn
e54f1d5342 The great floor tile purge (#40065)
* Converts all colored plasteel tiles to turf decals.

* Removes now deprecated floor icons and paths.

* Hotfixes on three maps.

* Moves script to its own folder.

* Fixes wild west.

* Fixes holodeck

* Fixes eye rape bug.

* Fixes meta and lavaland biodome ruin having some missing textures.
2018-09-05 22:14:31 +03:00
deathride58
cdf36c2c6f adds ambient occlusion as a client preference (#37406)
ambient occlusion is a shading technique that simulates how light behaves in the real world, where areas that aren't directly exposed to light tend to receive less lighting. In 3d rendered scenes with ambient occlusion present, this can easily be seen in corners and other crevices in geometry, and can also be visible when two objects are close to one another.

cl deathride58
add: Added ambient occlusion. You can toggle this on or off in the game preferences menu.
/cl
2018-05-08 10:06:44 +12:00
Jittai
df1a99ed8d [READY] Fixes de-initialization of cleanables-ash (#35191)
* Fixes de-initialization of cleanables-ash

* boop

* :x

* better execution

* prevent pile-up

* special ash

* comment cleanup

* cleanup 2
2018-02-04 02:12:22 -06:00
ShizCalev
50123b1e52 Allows blobs to destroy decals 2018-02-03 21:21:15 -06:00
deathride58
fbb5acd7a3 Ports Aurora's floor tile color turf decals (For mappers) (#34492)
* ports Aurora's floor tile color decals

* replaces aurora's decals with new ones that actually have detail, renames turf_decal/corner to turf_decal/tile

* corner > tile decal
2018-01-18 22:28:06 -05:00
Jordan Brown
9c20306439 Fixes decals being created on bad turfs (#34121)
* Fixes decals being created on bad turfs

* Fix decal check

* squash me daddy
2018-01-07 19:50:36 -05:00
WJohn
84f0306761 Cleans up floors.dmi a bit and adds new turf decals. (#32860)
* Updates floors and decals as well as all relevant maps.

* Fixes centcom compilation errors

* Fixes some missing floors I did not see under blast doors whoops.

* Removes a bunch of tags reeeee

* Removes redundant icon states.

* Updates almost all maps, mostly to deal with /black being changed to /dark.

* Fixes pirate ship too.

* Let's try that again fuck

* Whoops extra area error

* Proper conflict fixes.

* Actual fixes now

* Actual fixes.

* Last couple of fixes hopefully at ninja's request.
2017-11-20 21:47:33 -05:00
ShizCalev
04fa4eaf4c Fixes turf_decal layering (#32466) 2017-11-07 22:38:39 -05:00
ninjanomnom
db6a0ed825 cleans up turf decal 2017-11-07 11:23:01 -05:00
Emmett Gaines
4d420b8975 Shuttle rotation refactor and significant performance upgrade (#31942)
* Shuttle rotation refactor

* cleanup

* fixes the air leak bug

* Updates the turf decal component and cleans up some code

* transfercomponents and some list optimization

* Makes turf_decals cleanable in theory

* review cleanup

* final cleanup: decals work
2017-10-31 21:23:17 -04:00
ShizCalev
721df8dacf Cleans up some istypes not using helpers 2017-10-16 15:30:30 -04:00
ShizCalev
41430d70db Sets decal layer 2017-10-06 03:11:32 -05:00
shizcalev
065bda1cc2 things 2017-07-25 22:26:51 -04:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Jordan Brown
652d7b6ade Fixes decal initialize errors (#28370) 2017-06-13 09:45:29 +02:00
WJohn
5c3b433489 New syndicate cosmetics, turfs, and spawners. (#27760)
* Loads of syndicate battlecruiser related content. Clothing, turfs, areas, and a few mob spawners.

* Moves new plaque turfs and all other ones to a new plaques dmi.

* does what joan asked

* whoops forgot to add some dmis and delete one

* Adds syndicate energy turrets.

* PROBABLY STILL OKAY

* Unticks file dir?

* Forgot to remove extra sprites in shuttles.dmi since they're now in proper dmis of their own in full size.
2017-05-28 18:02:33 +01:00
Cyberboss
d0a517412e Decals can no longer exist on inappropriate turfs 2017-03-30 15:08:02 -04:00
MMMiracles
48da27feb8 CereStation (#24665)
* cerestation test build or something i dunno

* map edits

* added exosuit/cyborg consoles to bridge, added experimentor to science test chamber. added directional signs to bridges for basic department directions.

* airless turfs HO

* TUUUUBES

* additional map edits

* SM engine, partial Engineering rework

* press x to .json

* CIRCUITS

* boss of this gym

* map changes galore

* atmos checkpoints + signs

* Add cerestation.dm

* quick fixes

* map edits again

* auth keypads + minimap

* suit change, button fixes

* maintenance + map + other stuff

* map fixes out the wazoo

* honk

* wowzer

* beware of basket-stealing bears, purges harmful heretic tags (for the most part)

* removes the bone-zone
2017-03-29 13:38:35 -04:00
AnturK
6470464ec1 Map Decals v.2 (#23385)
Simple decal system to replace turf stacking and icon state duplication.
Plus simple script to help with path updates that are bit more complicated that search&replace.
Fixes caution tiles turning into space.
Fixes flipped corner decals.
Fixes gas list property whitespace on replacing.
2017-01-30 10:20:39 +13:00
Leo
2947408e09 Revert "Turf decals + path update helper" 2017-01-26 17:03:25 -02:00
AnturK
bf20de19f6 Turf decals + path update helper (#22887)
* Decal + Path update helper initial

* decal definitions

* Changes

* Updated script

* Bugfix & some pep8

* Default paths in filter rules

* return to crash

* Removes unused paths.

* Removes redundant icon_states

* capitals

* Maps v6 - run out of comments
2017-01-26 22:59:17 +11: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
8b2708ff9a Replaces holo tape and holo tape projector with holo barrier and holo barrier projector (children of the janitor's holosign creator). 2016-02-19 02:34:57 +01:00
swankcookie
d4c3048a31 Removes redundant anchor tags
Signed-off-by: swankcookie <__X__>
2016-01-06 22:08:17 -06:00
Razharas
7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
Razharas
ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
Mloc-Hibernia
8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
VistaPOWA
620cdb8566 Removes extra var from decals
oops that wasn't meant to be included
2013-09-30 22:32:42 +02:00
VistaPOWA
b5fff895ee Makes decals disappear after an explosion
Fixes runes, dirt, blood, etc remaining and floating in space after an
explosion.
Gibs are excluded from this change.
2013-09-30 20:19:41 +02:00