Commit Graph

2350 Commits

Author SHA1 Message Date
oranges
9d91853f78 Non temp workaround for admins matching stickybans because of… (#46462)
* temp workaround for admins matching stickybans because of a byond bug.

* Globalify the lists used for stickyban exemptions
2019-09-25 18:45:18 -07:00
spookydonut
210ba5c571 Adds linting for equipped() pickup() dropped() (#46614)
* lint some inventory procs

* lineends

* f

*  line end

* lineend

* fuck

* changes per review
2019-09-25 02:31:29 -07:00
spookydonut
29ec9d0a81 timer proc autodocs (#46530) 2019-09-16 01:59:06 -04:00
spookydonut
62b3fffe3b Removes unneeded client checks on GLOB.player_list contents (#46445)
About The Pull Request

All mobs in GLOB.player_list have clients attached and there is in fact a fair amount of code that is working fine without checking client on things in player_list. This pr just removes a bunch of checks for client when iterating over player_list.
2019-09-16 16:48:50 +12:00
oranges
5ccda49a29 Document the world (#46495) 2019-09-16 16:44:42 +12:00
Fikou
a439c6ac37 makes the ed209 a child of securitrons instead of a horrifying copypaste (#46230)
About The Pull Request

does what says on title, becomes a securitron that can shoot people
removes ed209 cell because it doesnt do anything why does it even exist
fixes ed209 crafting using dragnets
sadly, removes lasertag mode from ed209, but ive never seen anyone use it and it made everything a lot more confusing
eds now shoot you even if youre lying down because i guess that you could rest before to avoid getting shot but im not 100% sure
Why It's Good For The Game

fixes tons of horrifying copypaste
also fixes some minor things
Changelog

cl
del: Lasertag EDs have been removed
code: EDs are now not a horrifying mess of copypasted securitron code
balance: EDs now still shoot you if you're lying down
tweak: you no longer need a battery to make an ed209
fix: fixes ed209 crafting using dragnets instead of disablers
/cl
2019-09-16 16:33:19 +12:00
spookydonut
00fa882721 Changes some typed loops to typeless loops (#46444)
* typeless loops

* new_player

* eol
2019-09-15 00:26:55 -07:00
spookydonut
e36f4f3c22 Fixes a bug with abductor implant (#46447) 2019-09-14 22:04:57 -07:00
oranges
d2c7809e32 Merge pull request #46132 from TheChosenEvilOne/dynamic_config
Dynamic configuration file (also fixes prefs&ban checks).
2019-09-09 10:57:39 +12:00
Unknown
2ef1435af8 fixes it with real testing 2019-09-08 18:22:44 +02:00
TheChosenEvilOne
92424a4480 remove DYNAMIC_CONFIG_FILE
Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>
2019-08-30 15:38:51 +03:00
TheChosenEvilOne
ab78f63ddf Dynamic configuration file.
Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>
2019-08-25 19:22:18 +03:00
cacogen
fa78d4d10b roundend petersondisappointed.ogg (#46069) 2019-08-23 22:49:30 -07:00
Akrilla
c5b11dc283 Adds cancel buttons to inputs (#45825)
About The Pull Request

Adds cancel buttons to input boxes that didn't have them before.
Why It's Good For The Game

Good UX.
Changelog

cl
add: More cancel buttons.
/cl
2019-08-21 11:25:41 +12:00
tralezab
b5de31638d You can no longer name some things after words in the ic filter (#45696)
* quick sanity fix

* more things i found

* better list used, updated comment
2019-08-11 18:33:39 -04:00
Jordie
9a1e80fa18 fix null brain in death query and typo correction (#45731) 2019-08-06 21:50:15 -07:00
Tad Hardesty
009dbfc7cc Fix broken suits in medical outfit lockers (#45695)
* Fix broken suits in medical outfit lockers

* More dumb ass fixes
2019-08-05 18:57:35 -07:00
kevinz000
c6d710d40e VV refactors 2 - Actually not indefinitely WIP (#45217)
About The Pull Request

The thing other than ruining maps that I was working on
Refactors VV to use a more standard way of doing topic dropdown options rather than a huge if/else chain
Marking datums is now a right click option
Moves a few files around too/few procs
Why It's Good For The Game

Makes it easier to add more VV dropdown options in the future, and moving href list keys to defines make misspelling them harder.
Changelog

cl
add: Oh yeah also added a "return value of proccall" option for VV var editing.
refactor: View Variables has been refactored. It should now be easier to make VV dropdown options.
/cl
2019-08-03 14:43:26 +12:00
RandolfTheMeh
2c3c2907de CE Blueprint Fixes (#45390)
About The Pull Request

Fixes #45341 so that blueprints can no longer be used when not in-hand, and turfs now properly compile a list of the blueprint items it should hold by delaying when it retrieves this information, as objects such as manifolds and wires didn't initialize with their proper sprite.
Changelog

cl
fix: The CE's blueprints can no longer be used if not in-hand, and its scanning function has been fixed.
/cl
2019-08-01 10:24:20 +12:00
Rob Bailey
6a26744d83 Clothing /under repath (#45548)
About The Pull Request

repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game

improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog

cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
2019-07-30 19:20:21 +12:00
RandolfTheMeh
48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
Garen Crownguard
e851b6550a Cult hoods can be toggled (#45497)
* Cult hoods can be toggled

* oops
2019-07-28 05:00:50 -07:00
MMMiracles
cded323274 Adds Hat Throwing (#45355)
* adds hat throwing on people and borgs

* clothing flags, hats can knock off non-items, borg hat blacklist check

* prevents hats with items in them from being able to land on heads

* removes extra equip, hats can go on the hatless again, tinfoil fix

* if

* bit flag
2019-07-26 15:23:56 -04:00
tralezab
347a52eb52 Chat Subsystem ported from TerraGov-Marine-Corps (#45354)
* chat subsystem v0.1

* removes old tabulator

* updates the check on to_chat

* SSchat now initializes
2019-07-25 16:23:05 +12:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

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

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
oranges
28f0a5a890 Merge pull request #45236 from Rohesie/fps
world.fps and SStimers safety check
2019-07-22 21:07:55 +12:00
MadoFrog
11046c5267 Fixes custom title screens and adds custom directories to .gitignore (#45181)
* Updated .gitignore

Now git doesn't look at custom music or images

* Custom titles now work again
2019-07-18 17:09:24 +02:00
Dennok
1b165b26d1 Bluespace Navigation Gigabeacon (#44807)
About The Pull Request

This PR add "Bluespace Navigation Gigabeacon" that shuttles can use as a target for the jump computer.

You can customize locked status by multitool or name of beacons by multitool with unscrewed beacon.
If you, or emp, lock beacon you are still able see it in choice list like a "Locked" destination, but unable to jump to it.
Why It's Good For The Game

Now any spacemen can construct their own Space station on any Z lvl (that not reserved, centcom, away mission) and dock (by custom dock) his ship to it.

Now we actially have some shuttles that have ability to place custom dock.
That one is whiteship, but only if its not UFO, 4 ships in caravan ambush(for 2 need sindycate access), +1 for nuclear ops(sindycate access), but dont forgot that Admins can spawn "navigation computer" to any shuttle.).

Lavaland safari likers now can land anywhere where they can fit a ship, on lava, basalt, and plating turfs, also asteroid.

I drop some bombs to clear spot and land to lavaland.
http://recordit.co/qN10qfuift

Here i create dry dock near station and dock ship into it.
http://recordit.co/R4kXqN8rnt

all walls and other floors are forbidden to prevent you landing on the station

possibly more random gibberish?)
maybe change plating to reinforced (engine) floor.

Navigation computer now use trait blacklist to filter out z levels to where it can't place custom dock.
This make easy to add new z lvls where it can place dock.
2019-07-17 13:58:57 -04:00
L
a03b33be2e world.fps 2019-07-17 10:31:08 -03:00
Emmett Gaines
c25459d938 Adds SHOULD_CALL_PARENT to Destroy() (#45188)
Timers, signals, and components need to know when the thing they're 
attached to is getting destroyed or bad things happen. Since any datum 
can make use of these every destroy needs to call parent.
2019-07-15 18:13:48 -07:00
ShizCalev
604061f7e9 Merge pull request #44889 from Dennok/shuttle_manipulator-load-fix
shuttle_manipulator load fix
2019-07-12 23:55:46 -04:00
vuonojenmustaturska
349ad4aefc Fixes experimentally cobbisected techwebs, and prevents it from happening again (#45096)
* fix techwebs

* proper fix
2019-07-10 16:07:56 -04:00
Jordie
81012a923a Merge pull request #45049 from AnturK/policyscreaming
Supresses policy file runtime but messages admins about it.
2019-07-10 22:23:55 +10:00
Time-Green
ceeff661a0 [READY] Plumbing (#44833)
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:

    Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color

    Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.

    Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.

    Plumbable reagent dispenser subtype.

    New plumbing RPD specific RPD.

    Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.

They're all disabled and admin only.

Adds the following systems:

    Ductnet datum. They pretty much say "hey, we're connected"

    Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.

    Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.

Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.

Also yes all of this works (as far as I know)

Things I plan to add in later PR's

    Layers / colors (maybe) done
    Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
    Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
    Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.

Code concerns:

    Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.

    Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.

Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
2019-07-09 11:58:02 +12:00
Emmett Gaines
328fc7b1f1 Adds elements: Lightweight shared components/Global components (#44817)
If you came here thinking this was some game feature then you are in the wrong place. Here is where I ramble about code.

This adds /datum/element as a sort of sibling to components. Only one of each type gets instanced and they do not get tied directly to any particular thing like a component does. Basically they're a very lightweight component for doing simple functionality that doesn't have much state.

Originally this concept came about as a kind of component that could be shared between many parents to reduce some resource costs. Doing this would allow us to componentize more behaviors that are a part of too many things to be viable to have a whole component for every single one. For example a component on every space turf would be entirely unviable. With elements it's much more reasonable.

This implements a prety bare framework and a couple components are migrated to it. It's ready to be used but I fully expect I'm going to need to refine how it works for all the usecases we'll want it for.

Also: this fixes the qdeleted signal. This signal isn't even possible because after qdel is done there's nothing to receive a signal anyway. I've changed it to a qdeling signal instead. I need it to work for some elements to know when to clean themselves up.
2019-07-09 11:26:51 +12:00
AnturK
6c2a6e8d64 Supresses policy file runtime but messages admins about it. 2019-07-07 21:28:21 +02:00
Garen Crownguard
534a9140aa merge 2019-07-05 17:59:38 -05:00
oranges
64460ae3ca Merge pull request #44825 from AutomaticFrenzy/patch/lints
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.

Some lists, including global lists, are given types so that L[i].foo expressions can be checked.

Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.

Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.

Return type syntax is currently roughly:

    <typepath> | <paramname>([_])*(.type)?
2019-07-03 19:31:11 +12:00
ShizCalev
6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
kingofkosmos
ad64678c48 Merge branch 'addswarningspans' of https://github.com/kingofkosmos/-tg-station into addswarningspans 2019-07-01 13:32:24 +03:00
kingofkosmos
51f77267f4 * revert error spans 2019-07-01 13:28:15 +03:00
Dennok
4ee3b050e1 shuttle_manipulator load fix
shuttle_manipulator on load now send shuttle to transit
2019-06-30 18:24:00 +03:00
AnturK
d8b023774e Quirk preferences fixes (#44823)
Removes the useless split by value lists. Updates savefile after
removing invalid quirks. I'd prefer usual savefile validation but quirk
lists are built pretty late. Other solution would be hooking all prefs
to after quirk SS initializes, this seems less intrusive if ugly but
I'm open to alternative suggestions.
2019-06-29 20:07:21 -07:00
AffectedArc07
c4e75bc40b [READY] SSdiscord and Round Notifications (#44231)
* Notify System

* V2

* Adds a hint

* Stoned fixes round 1

* Use grammar wells I can

* This didnt work

* I wish you could test on TGS without committing

* Jordie fixes round 1

* oops

* This took way longer than it should have taken

* Adds in endnotify for serverops

* Spacing
2019-06-30 00:43:25 +10:00
JJRcop
938789d0a7 [READY] Blocked words tell you which ones (#44728)
About The Pull Request

Same premise as #44712 but using a simple regex replace and also on the client side
Closes #44712

I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game

The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog

cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
2019-06-29 21:09:56 +12:00
Emmett Gaines
48f19baba1 Randomizes lavaland atmos (#44427)
This makes lavaland atmos random per round. You won't get eternally burning hell worlds or vacuums but it's nice for a bit of variety.

Admins can edit the gas mixture for all of lavaland at once if they want to ruin some miners' day.

image

cl
add: Lavaland atmos is no longer a preset gas mixture and varies per round
tweak: Bonfire minimum oxygen content has been reduced
/cl
2019-06-29 21:07:26 +12:00
AnturK
340106b7bc Skip quirk assignment for characters without station role (#44781)
I'm getting tired of fixing wrong assumptions about what equipment is
available or when quirk assignment happens.
2019-06-28 16:03:59 -07:00
kingofkosmos
c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
kingofkosmos
ec5c82029a * "Is already...", "Can not...", "Not when..." etc. 2019-06-27 06:15:43 +03:00
Tad Hardesty
b07065a477 Add additional type annotations to lists 2019-06-25 22:48:10 -07:00