Commit Graph

6647 Commits

Author SHA1 Message Date
Watermelon914
d6fe5278a6 Makes wizard a high impact ruleset (#62258)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-10-24 10:31:49 -07:00
esainane
caf30ca5ee Project Goon objective: Blacklist RD and Scientist (#62252)
* Project Goon objective: Blacklist RD and Scientist

* Project Goon objective: Blacklist rest of Science
2021-10-23 14:42:42 -07:00
ATH1909
6fd715a09e the "no organics on shuttle" objective now only counts actually organic creatures (#62084)
The "don't allow any organics to escape on the emergency shuttle alive" objective no longer counts inorganic species like golems, plasmamen, androids, etc.

Some malf AI objectives have had their descriptions updated to reflect them only caring about player-controlled creatures.
2021-10-16 19:33:57 -04:00
Ghilker
cb5fb1df2d modules/atmospherics major cleanup (#61904)
major cleanup of modules/atmospherics folder and all related files, still many missing
-cleanup of procs name
-cleanup of vars name
-documentation of some of the procs
-minor changes to some for() logic (no in game changes just early continue or as anything checks)

No in game changes, only code and docs
2021-10-14 01:13:57 -07:00
Ghilker
95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
RandomGamer123
e8328f2500 Midround malf AI rulesets no longer trigger if roundstart malf ai has been triggered (#62045)
Adds blocking_rules for midround malf AI that prevents it from triggering if malf ai was triggered roundstart.
2021-10-12 14:35:16 +01:00
Ghilker
b95c0366a4 _HELPERS/unsorted.dm has been sorted (#61882)
bring code up to latest standards, move many procs to named files inside _HELPERS
no idea where to put some of these procs, help is appreciated
made more files to contain some unique code, deleted unsorted.dm, we can rest now
2021-10-05 20:22:57 +01:00
Iamgoofball
963df50f44 Adds a dynamic config to cap the maximum threat level, max_threat_level (#61869)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-03 20:13:13 -07:00
Ghilker
682e7132b5 cleanup of _HELPERS/game.dm (#61859)
some more cleanup, game.dm this time
2021-10-03 16:51:52 -04:00
Mothblocks
0e9909ae5f Adjust requirements of traitor rulesets to match their new costs (#61704) 2021-09-27 12:29:54 -04:00
Iamgoofball
6fe8e8d76c FAMILIES 4.0: "fuck it, MRP only this time" (#61123)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: MrMelbert <kmelbert4@gmail.com>
2021-09-27 01:04:41 -07:00
Timberpoes
b07c7f7d36 Replaces downloading research notes with a new antag objective and station sabotage point. (#61685)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-25 15:59:56 -07:00
FlamingLily
029a74c821 Makes sure contractors only get extraction points on station (#61389)
Extraction areas are now checked with GLOB.the_station_areas, and not just for being on the same Z level. This fixes #61287 (Contractor dropoff points being inside ruins)

There's probably a more elegant way to do this, but it works.
2021-09-23 19:13:39 -07:00
John Willard
d19db7481f Makes clown ops use their own darn defines and fixes nukie icon preference (#61488)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-16 22:38:57 -07:00
Ghom
77fbaeb8df Lowers the cost of the obsessed midround ruleset from 10 to 3. (#61370)
Obsessed is a really weak antagonist whose objectives revolve around creeping on a single crewmember. He doesn't have any special ability whatsoever other than suffering from heavy butterflies in the stomach when his mood is great or above and his presence barely affects the round. They shouldn't have the same cost of other rulsets like swarmers, pirates, ninjas and nightmare, or even latejoin traitors.
2021-09-14 18:24:07 -07:00
Mothblocks
5a4c87a9fc tgui Preferences Menu + total rewrite of the preferences backend (#61313)
About The Pull Request

Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.

Splits game preferences into its own window.

Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.

This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.

Fixes #60823
Fixes #28907
Fixes #44887
Fixes #59912
Fixes #58458
Fixes #59181
Major TODOs

Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc

    A lot of specialized testing so that people's real data don't get corrupted

Changelog

cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
2021-09-15 10:11:11 +12:00
Ghom
85741b0030 Fixes the protect objective.dm (#61037)
A ternary operator was screwing things up. I have also replaced some . path operators with ?. to avoid runtime errors. And yes, I have tested it.
2021-09-02 21:10:19 -04:00
Y0SH1M4S73R
77aac1a518 Objective-specific equipment will always be given. (#60789) 2021-08-30 00:12:59 -07:00
Rohesie
6c4134d1ea Job refactor 2: less hardcoded lists (#60578)
* Job refactor 2: less hardcoded lists

* Obsessed can happen
2021-08-05 21:13:05 +02:00
IndieanaJones
9c176e2c61 Fixes Pirates (#60669) 2021-08-04 01:43:14 -07:00
Mothblocks
d465b02dfd Fix greenshifts not properly logging (#60621) 2021-08-02 20:47:19 -07:00
IndieanaJones
a4a5d7744c Add Revenant, Sentient Disease, Space Pirates, and Obsessed to Dynamic (#60281)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-07-29 15:32:59 -07:00
Kubisopplay
dc67ea655e Malf humans, and perfectly functioning ais, round three. (#60335)
Fixes mistake made in #59765, that fixed malf humans spawning by making it impossible for any malfunctioning ai to spawn.
That PR used wrong proc, so it always returned TRUE, so the code declined every player candidacy for the antag datum. I changed it for correct proc, and did some basic testing on it.
2021-07-20 21:05:07 -03:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
LemonInTheDark
8b579a822b mob/dead/new_player harddel fix (#60072) 2021-07-08 17:07:31 -07:00
Watermelon914
629c06dee7 Adds blob as a midround antag like midround traitors, where it does not require a ghost role (#59574)
Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-02 16:23:17 -07:00
DragonTrance
279c93a0a7 Adds Defines for Species IDs (#59797)
Simply puts species IDs into defines ("lizard" turns into #define SPECIES_LIZARD "lizard"). This does not affect any gameplay, and is purely for making sure future code doesn't go all fucked up because someone accidentally misspells something

I only changed code that was spelt correctly, so if there actually is a typo somewhere, it isn't changed
2021-06-25 15:30:16 -03:00
YakumoChen
4fa7d045db Dynamic can no longer creates malf AI humans 2: Electric Boogaloo (#59765)
* Update dynamic_rulesets.dm

* spacing is cool guys
2021-06-23 11:50:43 -07:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Mothblocks
a70c0ee7b1 When a midround ghost event doesn't get any applicants, a sleeper agent/syndicate infiltrator will roll in its place (#59515)
When a midround ghost event doesn't get any applicants, a sleeper agent/syndicate infiltrator will roll in its place.

A sleeper agent will attempt to roll first, followed by a syndicate infiltrator. Neither of these rolls are forced, so if there is not enough threat, or the threat level doesn't match the requirements, then it will not roll, however the threat_level% chance of sleeper agent does not come into effect.
2021-06-13 16:20:45 -03:00
LemonInTheDark
f90e8cf7a3 Fixes a bunch of harddels that are sourced from player action (#59371)
Sourced from #59118 and a cursed project I'll pr later, This pr contains a lot of harddel fixes for stuff that pops up after a player interacts with something. I'm not gonna list them all here because there's something like 60 130, check the commit log if you're curious

Oh and I moved ref tracking screaming to a separate define, and made some optimizations to the thing in general. I think that's it, this pr is a bit of a frankenstine
2021-06-10 21:44:23 -03:00
Arkatos1
306ea90b0b Xenomorphs start the game already in a vent (#59567) 2021-06-10 01:06:19 -07:00
Y0SH1M4S73R
923bd2723c Dynamic Abductor Teams won't spawn a solo Scientist (#59463)
Fixes lone abductor scientists by adding a variable to ghost poll rulesets for how many applicants are needed for the ruleset to execute. This fixes #59441 and any future dynamic rulesets that necessarily require there to be more than one applicant to function correctly.
2021-06-04 11:51:03 -03:00
Mothblocks
51e38baa3e Increase minimum pop for heretics (#59468)
Increases the minimum pop for both heretic rulesets to roll to 18.

I have permission from head admins to touch Dynamic ruleset values, and was also given explicit permission for this one.
2021-06-04 07:41:05 +01:00
Timberpoes
a0e2ccc0ca Dynamic no longer creates malf humans. (#59418) 2021-06-01 23:22:28 -07:00
Mothblocks
1083a91d6d FIx broken latejoins (#59406) 2021-05-31 23:06:14 +02:00
Timberpoes
ed5d574cb9 Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin (#59377) 2021-05-31 01:07:00 -04:00
Mothblocks
e2b929974e Remove a bunch of old gamemode code (#59067)
* Beep beep gamemode removal coming through

* More cleaning

* More cleaning

* Clean up station_was_nuked

* Station nuke source

* Remove name

* More unused functions

* Remove antag rep, which was unused in dynamic

* Remove more antag rep stuff, which was UNUSED IN DYNAMIC

* Station goals outside of mode

* Remove setup_done

* Remove player lists

* Move some older procs

* Fix simulations

* Attempt to fix this stupid case sensitive bullshit

* Revert "Attempt to fix this stupid case sensitive bullshit"

This reverts commit 8693c02d67602543d7d4b92130a7a32cd973e5bf.

* ???

* Delete icons/Testing directory

* Move station_goals global definition
2021-05-29 11:03:41 +02:00
Kylerace
e13fe75590 use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
2021-05-24 15:28:02 -04:00
Mothblocks
a67e6e020c Fix dynamic rulesets not always showing up in force panel + sorting (#59044)
About The Pull Request

These panels used the mutating list of available rulesets based on things like repeatability, not the list of ALL rulesets.

They also used sortList, but this didn't work since these are datums and not names.
Changelog

cl
fix: Dynamic rulesets now always show in the force ruleset panel.
fix: Dynamic rulesets now properly sort in the force ruleset panel.
/cl
2021-05-20 22:44:20 +12:00
Celotajs
190d0a0384 Replace alert usage with tgui_alert (#58419)
Pretty much every alert() call is replaced with tgui_alert, except one I replaced with tgalert as a fallback. If tgui_alert exists, why not use it?
2021-05-20 22:43:27 +12:00
Timberpoes
8bc6e78859 Fix issues I created where dynamic gives out multiple incorrect antag datums to ineligible people and gives 1 too many traitor objectives. (#59099) 2021-05-14 17:18:26 -07:00
Timberpoes
f36c7fa43f Split malf AI antag datum away from traitor, enable malf AI roundstart ruleset. (#59064)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-13 02:39:16 -07:00
Seris02
ff2f6abe83 Sort the majority of the rest of the unsorted chat (#58821)
* FINALLY IT IS DONE FUCK

* tip of the round into ooc

* adds cyopod chat messages to the info chat filter

* last one I promise probably, mob spawner messages to info filter

* holoparasite, round will start in x and keybinding conflict to respective filters

* removed motd from constants, made it infoplain surrounded instead

* changed info to infoplain
2021-05-05 05:57:40 +03:00
LemonInTheDark
a924226b50 React optimization + event based processing for tanks, canisters and pipelines (#58418)
* Makes tanks only process when needed, rather then doing it constantly

* Makes portable atmos machines only process when needed, makes adding and removing atmos machinery cheaper, makes the tank processing logic actually work properly

* Makes pipelines only react() when their mix changes, fixes a ton of misuses of update_parents that were causing about 10ms of load for atmos just from reconcile_air()

* Adds in a new reaction framework alongside the old one for profiling related reasons

* whoops

* Cleanup, removes the react profiling code, I've chosen a direction to go here

* Cleans up some code, adds comments describing how to interact with portable atmos machines/tanks and their
mixes, adds a blurb to Atmospherics.md about the topic as a whole, leaves a line of bread for someone to follow
if I get hit by a bus in 2 days (Knock on wood)

* Removes priority from reactions, moves priority groups to the defines file

* whoops

* Converts air_contents to _air_contents, replaces all the out of file things that used it with return_air()

* Replaces the canister air contents uses, converts it back to air_contents, I decided I didn't like the _

* Fixes
2021-04-30 12:29:29 +02:00
Mothblocks
3b3140e88d Fix midround events not polling (#58778)
Fixes midround events not polling. Only Sleeper Agent could roll.

Fixes #58777 (No midround polls actually work).
2021-04-29 19:26:42 -07:00
Mothblocks
c7b4c77da3 Fix latejoin injection timer not resetting (#58644)
About The Pull Request

Related to #57925--fixes the main bug of it, though this report also encompasses the bug where deciseconds are being shown as seconds.
Changelog

🆑
fix: Fixed a bug where the latejoin injection timer would not reset, meaning past a certain point anyone who joined would get antag, draining all the threat.
/🆑
2021-04-26 11:16:41 +12:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
tralezab
229b0a28c3 find_target can no longer choose people on the arrivals shuttle (#58555)
* BLAMMED!!!!

* doesn't check if late arrivals exists

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>

* splits up the yuge check

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
2021-04-20 23:25:22 -04:00
Mothblocks
d010075d32 Log shown threat in Dynamic (#58451)
Logs the threat shown on the paper in Dynamic to dynamic.json. This is not the same as threat level, as the paper has a chance to report inaccurate results.
2021-04-17 00:51:40 +01:00