Commit Graph

327 Commits

Author SHA1 Message Date
SkyratBot
dbe7035f74 [MIRROR] Survival capsules no longer get deleted when deployed at the edge of the map (#3783)
* Survival capsules no longer get deleted when deployed at the edge of the map (#57215)

* Survival capsules no longer get deleted when deployed at the edge of the map

Co-authored-by: Dex <60656530+Ewwmewgewd@users.noreply.github.com>
2021-03-03 02:02:42 +00:00
SkyratBot
a05f7e863a [MIRROR] Fully implements the ID Card design document (#3729)
* Fully implements the ID Card design document

* Oh fuck that hurt.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-03-03 01:54:25 +00:00
SkyratBot
d0dc199815 [MIRROR] /mob/living/proc/Life(delta_time) (#3509)
* /mob/living/proc/Life(delta_time)

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:55:52 +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
b43845d267 [MIRROR] Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount. (#3345)
* Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount. (#56865)

* Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount.

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-13 10:13:50 +00:00
SkyratBot
1e1d408b7f [MIRROR] Changes fireman carrying from a trait on gloves to a skillchip (#3046)
* Changes fireman carrying from a trait on gloves to a skillchip (#56593)

* Changes fireman carrying from a trait on gloves to a skillchip

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2021-02-03 22:36:56 +00: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
0c7322f47b [MIRROR] Improvements to Anon Names + Refactoring + Wizard Academy theme and event (#2853)
* Improvements to Anon Names + Refactoring + Wizard Academy theme and event (#55935)

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

* Improvements to Anon Names + Refactoring + Wizard Academy theme and event

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
2021-01-24 03:02:10 +00:00
Azarak
0992fc86a5 Medical update - Muscle wound, Splints, Bandages, Closer Examine (#2336)
* everything but wound topics

* Update bodypart_aid.dm

* aaa

* aaa

* aaa

* aaaa

* Update _bodyparts.dm

* Update carbon_examine.dm

* Update bodypart_aid.dm

* Update slash.dm

* Wound topics, self grasping on a topic, bandages on top uniform

* Merge branch 'master' into med
2020-12-29 23:48:58 +00:00
SkyratBot
d37d6ce8d9 [MIRROR] Disconnect and Reconnect messages for deadchat (#2174)
* Disconnect and Reconnect messages for deadchat (#55395)

adds messages to deadchat when a client with a mob disconnects or reconnects

* Disconnect and Reconnect messages for deadchat

* aaa

Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-17 02:56:49 +01:00
SkyratBot
9dfb7a1189 [MIRROR] Everything that uses maptext now uses the class that makes it actually readable (#2116)
* Everything that uses maptext now uses the class that makes it actually readable

* Update chatmessage.dm

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-12-11 00:40:04 +00:00
SkyratBot
66c207e19c [MIRROR] Reverts (#54963) due to timer spam (#2109)
* Revert "Refactors how movetype flags are added and removed and the floating animation (#54963)" (#55432)

This reverts commit b8425c003a.

* Reverts (#54963) due to timer spam

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-12-10 05:58:05 +01:00
SkyratBot
2ee5d422ae [MIRROR] Refactors how movetype flags are added and removed and the floating animation (#2096)
* Refactors how movetype flags are added and removed and the floating animation (#54963)

I wanted to refactor how movetype flags are added and removed into traits to prevent multiple sources of specific movement types from conflicting one other. I ended up also having to refactor the floating animation loop (the one that bobs up and down) code in the process.
Why It's Good For The Game

A way to avoid conflict from multiple sources of movement types.
This also stops melee attacks, jitteriness and update_transform() from temporarily disabling the floating movetype bitflag altogether until the next life tick.

Tested, but i'm pretty sure improvements could be made.
Changelog

cl
fix: jitteriness, melee attack animations and resting/standing up should no longer momentarily remove the floating movement type.
/cl

* Refactors how movetype flags are added and removed and the floating animation

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-09 23:43:42 +01:00
SkyratBot
3a0491d3b4 [MIRROR] Small do-after refactor (#2074)
* Small do-after refactor (#55172)

This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.

For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.

I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.

* Small do-after refactor

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-07 22:46:59 +01:00
SkyratBot
2d58d386ef [MIRROR] Migrate some docs from the GitHub wiki into the repository (#2027)
* Merge pull request #55268 from AutomaticFrenzy/patch/docs-from-github-wiki

Migrate some docs from the GitHub wiki into the repository

* Migrate some docs from the GitHub wiki into the repository

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-12-03 17:16:02 +00:00
SkyratBot
e6879819ea [MIRROR] CanUseTopic() refactor. (#1829)
* CanUseTopic() refactor. (#54747)

* CanUseTopic() refactor.

* Forgot about default_can_use_topic. Tested and working.

* Update bin.dm

* no-nonsense.

* CanUseTopic() refactor.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-25 13:56:56 +01:00
SkyratBot
aa1e178b8c [MIRROR] Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments (#1749)
* Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments (#54710)

Adds a new set of nanite protocol programs as a researchable Bepis tech.
Protocol programs are programs that are mutually exclusive within their time, so remember that only one of the following can be active at once in the same host.

    Hive Protocol: Makes nanites use space more efficiently, increasing maximum volume by 250 (500 -> 750)
    Zip Protocol: Makes nanites use a compression routine when not in use, increasing maximum volume by 500 (500 -> 1000) but consuming 0.2 nanites per tick to perform the zipping/unzipping
    Free-Range Protocol: Makes nanite use looser storage routines, reducing the maximum volume by 250 (500 -> 250) but gaining 0.5 nanite replication rate
    S.L.O.P. (Safety Level Override Protocol): Removes nanite storage safety measures, allowing them to reach up to 2000 volume. However, when the volume surpasses the maximum recommended volume (500) the host will start to suffer from side effects, manifesting in slow organ damage. The more the nanite volume approaches the physical limit, the more harmful it becomes.

Replaced the Tinker Nanite Replication Protocol with the Pyramid Protocol, which gives an extra 1.2 regeneration rate, but only while the nanites are at 80% volume or above.
Renamed the Offline Production Protocol to Eclipse Protocol.

Chain detonation now uses dyn_explosion(), at a rate of 1 power per 50 nanite volume. The power level should be similar to how it was for normal nanite volumes, but it should scale more linearly when going above the limit with the new programs.

If nanite volume is suddenly significantly higher than the maximum allowed (likely caused by deleting an active storage protocol) the extra nanites will be forcefully expelled from the host's body, which can range from minor oozing, to vomiting puddles of nanites, to nanites rapidly bursting from eyes, ears, and skin pores.
Despite how it looks, this process causes no lasting damage, since it's a security feature made to prevent acute nanite poisoning.

Added some comments on a few nanite functions.
Refactored vomit code to make it a bit more customizable. The toxic arg (supposedly used to choose an alternate vomit icon, but in fact not functional) is now vomit_type, and purge (which determined vomit would remove 10% of reagents or 67% of reagents) is now purge_ratio, which accepts custom values. Made the refactor mostly to allow a 0% ratio, but it can be handy in other future uses.

Adds extra content to Bepis research, giving a little more reason to invest money into it.
Creates more options to customize a previously rigid parameter in nanites, maximum nanite volume. This opens up strategies that involve storing up large amounts of nanites for special occasions, or viceversa reducing the maximum rate to get more constant replication rate to sustain continued programs.

* Adds a set of nanite storage protocols as a Bepis research, plus small nanite adjustments

Co-authored-by: XDTM <heliumt@yahoo.it>
2020-11-20 21:52:06 +00:00
SkyratBot
b7122f2d6e [MIRROR] Converting art component into element. (#1562)
* Converting art component into element. (#54616)

* Only art is now an element. There have been some issues with beauty.

* Typo.

* Update art.dm

* Update art.dm

* Maintainer suggestions. Reversing order of switch(impress) for correct moodlets.

* Fixing some pre-existing oddities with art element.

* stating the right var.

* simplifying the component.

* Update art.dm

* lowercasing pronoun.

* Converting art component into element.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-04 00:35:26 +00:00
SkyratBot
f02e30a50e [MIRROR] Implements timed_action_flags for do_after-like procs (#1385)
* Implements timed_action_flags for do_after-like procs (#54409)

Originally I wanted to fix an issue where the `get_up()` `do_after()` would ignore the callback checks, because it was `uninterruptible`, so that made me refactor these procs to allow for higher granularity on checks and standardize behavior a bit more.
There's more work to be done for them, but one thing at a time.

* Removes the `uninterruptible` check in favor of the more granular `timed_action_flags`
* Cleans code on the `do_atom`, `do_after_mob`, `do_mob` and `do_after` procs to standardize them a little better.

* Implements timed_action_flags for do_after-like procs

* Update horror_form.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-21 07:06:03 +02:00
Azarak
61854773af [SEMI-MODULAR] Adds missing alerts and various alert features (#1238)
* alertz

* Create readme.md
2020-10-11 05:47:36 +01:00
SkyratBot
3b7068de61 [MIRROR] Mobility refactor: UI, pull and lying down edition (#1148)
* Mobility refactor: UI, pull and lying down edition

* Update living.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-04 20:03:31 +02:00
SkyratBot
e6f770410a [MIRROR] Bloody feet update (#538)
* Bloody feet update (#53109)

Componentized the bloody feet feature.

* Hardsuits and other feet-covering clothing can now get bloody feet as well and spread gunk around.
* Bare feet can now get bloody as well and spread gunk around.
* Shoes/feet won't get bloody if something is covering them.
* Improved blood spreading behaviour. Previously, magic numbers were used in the blood pick up and drop off process. Now, when you step in blood, you and the floor share the blood volume. When you step on a non-bloody tile, you give away half of your shoe blood to the tile, and so on. This means the total blood volume always stays constant when moving around. * Blood doesn't appear out of thin air, nor get flushed to bluespace.
* Lowered footprint minimum opacity. Because it looks better, imo.
* Improved footprint exit/enter dirs.
* Improved footprint examine.
* Removed code for cult magic where a spell can suck up blood on your shoes. I'm pretty sure this code didn't work anyway. Implementing that for this new system would require a new signal and I just don't think it's worth it.

How can this game make you spend 20 hours on fucking spaceman footprints

Hardsuits will become "fully bloody" by just stepping in blood. This is a limitation of the current forensics system, as that is what is used to determine if an item is bloody or not. I'm aware of this but I don't think it fits to fix that in this PR.

cl
add: Footprints and bloody shoes major update. Hardsuits and bare feet can now get bloody as well. Improved blood spreading behaviour.
fix: Shoes will no longer get bloody while wearing something that covers them.
/cl

* Bloody feet update

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-08-27 03:12:11 +02:00
SkyratBot
971b0ba1de [MIRROR] tgchat: Hotfixes, Message Annotations (#364)
* tgchat: Hotfixes, Message Annotations (#52947)

This PR changes the message pipeline a little bit to support list-based messages, which can be annotated with custom data. Function signature of to_chat was slightly changed as well:

// Plain text message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  text = "foo")

// HTML message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  html = "<span class='notice'>foo</span>")

Old to_chat format is still supported, but handle_whitespace, trailing_newline and confidential flags have no effect. confidential flag could still be revived though, if there is enough merit in it, for example to filter out confidential messages when saving a chat log.

The reason for using /list and not /datum, is because lists are plain faster, and there are minimal data transformations - these lists are fed directly to json_encode and sent to tgchat.

Plain text messages do not need to be HTML-escaped, which makes them safer and more performant than HTML messages. Plain text messages can be made interactive (or formatted with CSS) by custom-handling them in javscript based on message type and annotations.

It would be impossible to annotate every single message in the game (at the moment of writing, there are 9447 to_chat calls in the code), but it could be done selectively, for only those messages that are hard to classify by span classes (and there are still A LOT of them).
Please annotate more messages. Thank you.

    Fixes #52943
    Fixes #52908
    Fixes #52816

Changelog

cl
add: tgchat: Unread message count is now smarter and won't increase on other tabs if you have already read the same message in the active tab.
add: tgchat: Admin PMs are now properly annotated and can be filtered into separate tabs.
fix: tgchat: Fix: Highlighted message overlay no longer blocks clicks. Clicking a highlighted (F) link should work as it should.
fix: tgui: Fixed NTOS bluescreen due to calling .includes() on a stylesheet href which could be null on certain browsers.
code: tgchat: Chat schema bumped to version 5. All chat-related settings were reset to avoid breakage.
/cl

* tgchat: Hotfixes, Message Annotations

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-17 14:48:28 +02:00
SkyratBot
d9b246cca9 [MIRROR] tgchat (#342)
* tgchat (#52426)

Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.

* tgchat

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-14 23:30:16 +02:00
SkyratBot
0d76d34e33 [MIRROR] medipens can be quickused when resting (#234)
* Merge pull request #52690 from Tlaltecuhtli/medipenssss

medipens can be quickused when resting

* medipens can be quickused when resting

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-08-07 11:11:15 +02:00
Ryll Ryll
98221771b7 Running unit tests no longer requires a launch parameter (#52529)
* for once i actually AM pushing _compile_options.dm

* cool, i get to touch travis
2020-08-01 13:13:59 -04:00
Ryll Ryll
a97c51b30b [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

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

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 22:20:09 -04:00
Ryll-Ryll
473bae0a20 can set speed 2020-07-04 23:07:35 -04:00
MrDoomBringer
3546417d7f Improves player retention by leveraging existing assets to incentivize higher average playetime (#51297)
* im a player ok that means i play

* FINE

* you win this time, shaps

* makes floyd happy

* Update code/__DEFINES/misc.dm

* i was just playing cyberboss dont be mad at me

* changes one character in a comment
2020-05-27 18:29:42 -04:00
kevinz000
f55ae697ba Update code/__DEFINES/misc.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-12 19:07:58 -07:00
kevinz000
56114975b1 macro 2020-05-12 12:14:30 -07:00
Qustinnus
3803d6a817 Adds hardcore random mode: Earn your way onto a score-board with difficult random characters (#50606)
* start

* done

* done

* gold wheelchair

* mats

* icons

* Update code/datums/achievements/hardcore_random.dm

Co-Authored-By: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* fixes

* Update code/controllers/subsystem/processing/quirks.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* proc

* Update code/__HELPERS/roundend.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/__HELPERS/roundend.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* playtime stuff

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/datums/traits/_quirk.dm

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

* Update code/datums/traits/negative.dm

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

* Update code/modules/client/preferences.dm

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

* Update code/modules/client/preferences.dm

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

* Update code/modules/client/preferences.dm

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

* fixes

* done

* fix

* removes u

* Update code/modules/client/preferences_savefile.dm

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

* overlay

* Update code/modules/mob/dead/new_player/preferences_setup.dm

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

* Update code/modules/mob/dead/new_player/preferences_setup.dm

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

* less braindead code

* woops

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/controllers/subsystem/ticker.dm

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

* done

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-10 12:16:01 -03:00
tralezab
7fad442f52 Secrets Panel button: Anonymous Names (and refactors a bit of admin code) (#50478)
* whew

* now accepts random names

* it compiles

* bobbah's review
2020-04-19 23:51:32 +08:00
Ryll Ryll
733559856f Lets you untie peoples shoelaces (#49817)
About The Pull Request

This PR adds some extra hijinx opportunities to the game. By laying down next to someone and opening their equipment stripping menu, you can untie their shoelaces. Once their shoelaces are untied, you can then knot them together. Moving with untied shoelaces has a very low chance to cause you to stumble and drop what you're holding, while moving with knotted together laces makes you trip and fall over. Luckily, you can unknot and retie them by clicking them on your equipment panel!

Messing with someone's laces, like pickpocketing, produces no tell unless you fail the do_after (like if the target moves), at which point the shoe-wearer stamps on your hand and deals some damage. If you don't notice the clown (or whoever) crawling up next to you and laying still for ~10-20 seconds though, then you probably deserved to get stunted on.

Clumsy mutation makes you 33% faster (most shoes are 5 seconds to lace/unlace/knot/unknot, while boots are 9-10 seconds). Sandals and flip-flops are, obviously, exempt from this nonsense.
Why It's Good For The Game

Pranks are fun and funny
Changelog

🆑 Ryll/Shaps
add: You can now untie and knot up people's shoelaces! You can do so by laying down next to the person, dragging their sprite onto yours, then clicking "untie/knot shoes" next to their shoes.
/🆑
2020-03-16 20:48:56 +13: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
Iamgoofball
3203f19290 The Families Gamemode. Home. At least it was 'til I fucked everything up. (#49274)
Adds the Families gamemode to the codebase. In this 1 hour showdown, 
multiple criminal families are placed onto the station with their goal 
to rack up the most points by the end of 1 hour. At which point, the 
Space Cops hit up the station to crack down on the family activity. The 
severity of the Space Cops is based on how much carnage and murder the 
families have committed.

## Why It's Good For The Game

With an actual official medium/heavy RP server, and the codebase taking 
a much harder swing towards heavier consequences for death, a more 
player focused gamemode with a unique swing on teamwork, the concept of 
what exactly is an antagonist, and trust/paranoia will do wonders to 
help improve that atmosphere.

Previous tests went extremely well(when administrators weren't 
intentionally sabotaging it by welderbombing families as the Head of 
Security every single round immediately with no escalation), but 
suffered from "this just isn't a gamemode for no RP servers like /tg/".

However, /tg/ is now an RP server.

Get ready to rep your family.

## Isn't this just Gang?
Heck no. Only thing similar is tagging turf and the fact criminal 
groups are involved. This mode is completely different otherwise.

## Heck yeah, where do I sign up?
Ask a family member where their Signup Point is, and then simply click 
on it with an open hand. You'll be signed up for the family instantly, 
and given some sick threads and a spraycan for tagging.

## How do I rep my family?
Wear your gang's uniform or colors similar.

## What does it mean to roll with a crew?
Travel in a group of four or more for bonus points towards your gang.
However, you receive less for having eight or more, so be careful. Try 
to spread your crews out!

## I'm an X, what do?
Gangster: Yeah, go do whatever. Wanna backstab your gang? Go for it. 
You can switch sides at any time by clicking on an enemy gang's sign up 
point. Wanna murder some snitch because they ratted you out to the 
pigs? Do it. Wanna pressure the locals into supplying you with goods to 
export? Emergent gameplay.
Civilians: Wanna join a gang? Go for it. Gangsters probably shouldn't 
be arbitrarily murdering you, but if you're repping someone else's 
colors, don't expect to be given a free pass. After all, uniforms are 
the only way to really identify a gang member.
SPACE COP: Get rid of all the gangsters. Secure the station. Protect 
the law. Uphold the law. Eat donuts.

## No huds? How can I tell if someone's part of my group?
Tough shit, man. I hope you like trust.

In short, this gamemode will be a fun exercise in how far the 
playerbase can go in regards to trusting eachother and unifying to meet 
a common goal for their group with no rules, gameplay mechanics, or 
anything actively forcing them to work together.

## How do I know if someone is a gangster?
1. Are they wearing a gang uniform/color?
   If yes, they're probably a gangster.
   If no, they're probably a civvie.
2. Are they attacking gangsters?
   If yes, they're probably a gangster.
   If no, they're probably a civvie.
2020-03-08 18:33:54 -07:00
moo
72b7a266b3 Adds Religious Sects and Basic Technophile Sect for Proof of Concept (#49434)
* このコミットの中が未来です

* Adds Rites

* 💻

* remove bible global

* last minute code changes 😏

* review brah

* waaa_fb

* 

Review stuff, Doc stuff, You can now coax a user to the platform for !!FUN!!

* Update code/modules/religion/religion_sects.dm

Co-authored-by: spookydonut <github@spooksoftware.com>
2020-03-06 11:11:52 +08:00
XDTM
19655de8c7 Makes sixth sense only able to hear regular deadchat 2020-02-19 18:57:22 +01:00
skoglol
35f2f070f0 Dead code cleanup 2020-02-01 18:28:01 +01:00
JJRcop
7ad527ff9a Move drunken scientist quotes to strings (#48953)
This moves the drunken scientist quotes into a strings file.

I used the pick_list_replacements proc even though there are no replacements, in case someone who edits the file wants to add some replacements.

I didn't take the opportunity to sneak in any lines, they are copied verbatim.
2020-01-24 17:32:39 +13:00
Rob Bailey
cbad6e4de5 Contractor Uplink tgui-next overhaul (#48453)
* tgui next contractor interface

work

cleanup

more work

getting close now

final

build

more stuff for wanted messages

rebuild

spelling

* fixes

* rebuild

* fix

* disable button when contract not active or extraction enroute, disable limited when depleted
2020-01-03 11:29:38 +01:00
skoglol
706f608429 Fixes codeword location picking (#48468) 2019-12-31 14:00:30 -05:00
Paxilmaniac
1b0c4212a9 Monkey Energy Overdose (#48381)
About The Pull Request

Gives monkey energy an overdose that makes you spout random phrases that make you sound like a boomer.
Why It's Good For The Game

Makes it quite obvious when you have been chugging unhealthy amounts of monkey energy.
Changelog

cl
add: overdose effect to monkey energy
/cl
2019-12-27 10:35:40 +13:00
BadSS13Player
184d055cca Creation of AIs and silicon law changes are now reported in deadchat (#48216)
About The Pull Request

This PR adds deadchat notifications for law changes of AIs and unsynced borgs (listing the full new lawset), uses of AI/Cyborg Upload and the creation of new AIs.
Why It's Good For The Game

The AI is one of the most important players in the round, so it only makes sense that players watching in deadchat are kept up to date on its laws, especially hidden laws since they are never stated.
Changelog

cl
add: Silicon law changes are now reported in deadchat.
add: The creation of new AIs is now reported in deadchat.
/cl
2019-12-27 08:26:55 +13:00
Fel
a5b0273e2f Adds a Charcoal Stylus (#48219) 2019-12-13 10:51:28 -05:00
Rob Bailey
3cb6432f80 Revert "Makes REF a macro (#47723)" (#47811)
This reverts commit b5b1ce67f7.
2019-11-15 16:36:07 -05:00
Emmett Gaines
b5b1ce67f7 Makes REF a macro (#47723) 2019-11-15 00:27:30 -08:00
Ghom
f325b3e5a0 Fixing "walking down stairs shows falling message" (#47588)
* I'm too tired to even PR it atm.

* Update code/game/turfs/turf.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update code/game/turfs/turf.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update code/game/turfs/turf.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* atom signal, not movable.
2019-11-07 11:26:43 -05:00
spessbandit
e3d1e5c53e ghosts can't use monitors; dextrous animals can climb crates; fixes atrocious spelling (#47262) 2019-10-22 04:37:35 -07:00
skoglol
938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -07:00