Commit Graph

1287 Commits

Author SHA1 Message Date
IndieanaJones
f218de3052 Small Spider Balance Changes and Tarantula QoL (#60505)
* Add Sealed Webs

* Add Sealed Web Icon

* Spider Changes

* Update this dumb var

* Make Broodmothers spawn in the same place

* Remove unused var

* Re-Add Sealed Web Sprite
2021-08-29 13:51:40 -04:00
TiviPlus
e629c36feb Refactor area and turf lighting (#60954) 2021-08-25 15:07:38 -07:00
Ghom
92fbfcbea5 Fixes the lone operative event hardly ever rolling because of dynamic event hijacking. (#60988) 2021-08-23 23:57:46 -07:00
EOBGames
b08632353c [MDB IGNORE] Eliminates Toxins (#60619)
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.

Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.

Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.

Makes the code more legible and makes mapping less painful.

(The payment has been made)
2021-08-17 11:49:47 -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
Jackraxxus
417d1bba04 Please cow you have so much to live for (#60525)
Don't jump! I need your help to spam common radio! Please!
2021-07-31 21:23:03 -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
itseasytosee
9190cf4301 The fake virus event no longer gives ghosts alerts (#60471) 2021-07-28 01:40:19 -07:00
coiax
383dcc52bf Rework appendicitis: not event-based, not a disease (#60331)
Adds a new trait that "simulates" a medium-like disease according to health HUDs.
Organs now control their own "status text" for health scanners, for all except the appendix, this is the same as before.
Appendicitis has a low chance of occuring on each life tick of an appendix, it is no longer a disease.
2021-07-20 20:22:54 -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
Watermelon914
0066181c1a Added more complex AIs to carps when tamed. (#60027)
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-15 15:04:29 -07:00
tralezab
8dfbf72df8 Lowers the chances of the space dragon showing up (#60188) 2021-07-14 04:10:42 -03:00
Kylerace
5d6e93510f makes a bunch of lists that use typecacheof() static. doesnt find out why its overtiming at all but what the hell it helps (#60147)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-07-12 14:08:46 -07:00
Kylerace
19f047b34d makes some instances of x^y into x**y because thats what exponents are in dm (#60050)
caught by monster at yogstation13/Yogstation#11703
probably not intended, 2^15 = 13 in dm so dont call this proc more than 13 times sequentially i guess

I have a suspicion that it doesn't matter assuming it gets caught by tick_usage being different but just in case

also fixes two other instances in code shown to me by mso
2021-07-08 02:34:42 +01:00
Rohesie
2c5a357035 Reverts Entered() passing dir instead of old loc (#59910) 2021-07-01 17:06:42 -07:00
tralezab
0f0714691e fixes buying shuttle insurance while the shuttle is docked (#59879)
* ok

* ??
2021-06-30 01:30:51 -07:00
Rohesie
3c91a86cc5 Fixes a runtime: Entered() passing the wrong args (#59854) 2021-06-28 15:44:53 -07:00
Mothblocks
23790c6c5e Fix missing SIGNAL_HANDLER (#59826)
Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.
2021-06-27 15:43:49 +01:00
Rohesie
82dc71c3ae CanPass refactor (#59804) 2021-06-25 13:36:00 -07:00
Arkatos1
0b6bcbe711 Integrates spider eggs into the mob spawners (#59727)
Integrates spider egg clusters into the mob spawners instead of them being their own thing, which cleans up a code a fair bit, and gives players an overview of all available types of clusters in the ghost spawners menu, example image below. This also means players banned from ROLE_ALIEN will not be able to spawn as one, as they are very similiar antagonists in concept and it is probably wiser than using default ROLE_LAVALAND on mob spawners for restriction of this role.
Expanded mob spawners code to accomodate for a situations where spawners are using radials for handling mob choosing, and also for when spawners have special conditions for when they are available (like until eggs are mature, for example).
Mob spawners now support giving their mobs multiple factions membership, instead of being limited to only one.
Spider egg clusters now stop processing when they mature, as there is no need for them to do that anymore by that point.
Cleaned up and updated some spider variant radial info boxes, so players have better idea about each variant individual strengths and weaknesses.
2021-06-25 00:09:19 -03:00
LemonInTheDark
6fcbce39cd Makes turfs persist their signals, uses this to optimize connect_loc (#59608)
* Makes turfs persist signals

* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear

* Converts all uses of connect_loc over to the new patterns

* Adds some comments, actually makes turfs persist signals

* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work

* bro fuck documentation

* Changes from a var to a proc, prevents admemems and idiots

* Extra detail on why we do the copy post qdel
2021-06-22 23:12:34 -04:00
Rohesie
e03cd1aada Refactors move procs to support multitle objects (#59658)
Enter(), Entered(), Exit() and Exited() all passed the old loc forward, but everything except a single a case cared about the direction of the movement more than about the specific source.
Since moving multi-tile objects will have multiple sources of movement but a single direction, this change makes it easier to track their movement.

Cleaned up a lot of code around and made proc inputs compatible.

I'll add opacity support for multi-tile objects in a different PR after this is merged, as this has grown large enough and I don't want to compromise the reviewability.

Tested this locally and as expected it didn't impair movement nor produced any runtimes.
2021-06-20 14:55:37 -07:00
Y0SH1M4S73R
63e33bd709 Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code) (#59636)
I noticed that various nonhuman body features can't be changed using genetics. I corrected this by adding a block to character genomes allowing you to edit features in the DNA console.
2021-06-20 16:20:09 -03:00
Rohesie
0ec599786a Adds a setter for density (#59529)
Adds set_density()
Fixes one instance of a duplicate density assignment on an object.
Comments two hacky usages of density which will have to forgo using the setter for now.

Lets us append code to the event of density changing.
Pretty sure this is leading up to some multitile object thing -Lemon
2021-06-16 15:06:10 -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
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
tralezab
909c81866d Detaches Anonymous themes and Triple AI from SSTicker (+ more anonymous themes and content) (#59373)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-05 14:19:09 -07:00
Emmett Gaines
43c5dc8bfa Makes obj_integrity only updated through procs (#59474)
Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.

get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.
2021-06-04 11:48:05 -03:00
Y0SH1M4S73R
4e77e77992 Shuttle Insurance can now trigger before the Shuttle Catastrophe it is supposed to protect against (#59438) 2021-06-02 18:31:10 -07:00
RandomGamer123
6940802faf Ion storm mild code improvements (#59400)
* makes-ion-storm-not-use-see_in_dark

* did i really mess something as simple as this up

* Update code/modules/events/ion_storm.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-01 07:42:33 +02: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
LemonInTheDark
29de629db9 Some associated move fixes (#59299)
* Moves the loc assignment for null doMove target locations to before exited() is called, making it consistent with other uses of the proc, and fixing a harddel caused by deleting something inside of an open storage component. The component assumes that the removed object has already exited its contents, and so readds it to the screen, causing PAIN

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2021-05-26 14:22:53 -07:00
tralezab
9904e2a244 Refactors both taming + egg laying + animal colors into components (#58919)
Co-authored-by: Floyd <Floydje123@hotmail.com>
2021-05-22 17:55:25 -07: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
tralezab
afe8039a2e refactors rpg loot is now a global datum singleton and so is embedopocalypse and stickapocalypse (#59093)
* ogey

* lint
2021-05-14 16:29:59 -04:00
tralezab
132a755aa3 Componentizes Duffelbag Curse and turns it into an RPGloot modifier (+ curse announcement element) (#59029)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-05-14 01:03:45 -07:00
tralezab
ea57e3f960 Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882) 2021-05-09 16:49:59 -07:00
Kylerace
08df8798ce (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#58340)
Co-authored-by: Jared-Fogle <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-07 03:54:03 -07:00
LemonInTheDark
27385e9d70 Converts the atmos senstive component over to connect_loc (#58266)
* Makes all uses of atmos_senstive pass in mapload as context

* Converts atmos senstive to connect_loc, does some general cleanup to the element, and makes it check the state of the tile the thing is on assuming creation didn't happen as a part of map loading

* Updates connect loc to match the new arg list
2021-04-30 18:35:47 -07:00
Ryll Ryll
0293f8d5f9 fix missing negation (#58758)
Mothblocks made a slight oopsie in #58389, reversing the shuttle selection logic for the Shuttle Catastrophe event from selecting only shuttles that can normally be purchased to selecting only shuttles that normally can't be purchased. Combined with the other check that limits it to selecting shuttles with a non-infinite price, this had the hilarious consequence of only being able to select Disco Inferno every single time the event triggered.

So this PR, y'know, reverses that to restore the old intended behavior.

Fixes: #58754 (Shuttle Catastrophe appears to only choose Disco Inferno)

Even if Disco Inferno is the very definition of "Shuttle Catastrophe", it was disabled for a reason
2021-04-28 16:47:16 -07:00
tralezab
8f420e7cca Removes Crystal Invasion (#58711) 2021-04-27 18:26:19 -07:00
TemporalOroboros
9f598a9662 Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
2021-04-26 17:31:25 -07: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
Mothblocks
84221e2cc8 The CE can now buy the BYOS (#58389) 2021-04-21 20:47:51 +02:00
NamelessFairy
a8a6625714 Additional CTF maps (#57230)
This pull request adds a map loader as well as new maps to CTF. When a game starts a CTF map will be selected at random and will be playable by ghosts.

As well as this new functionality CTF now fully supports 4 teams. A green and yellow team have been added complete with both standard and instagib gear.

At current five maps are planned:
Classic - the original map we all know and love
Four Side - A four team CTF map where all teams compete over one flag
Downtown - Terrestrial city themed map
Limbo - Wizard themed map featuring portals and uses KOTH rather than CTF
Cruiser - Space themed map utilizing the powerup system

Random maps are selected on game load
Support for four teams added

Why It's Good For The Game

CTF has been more or less the same on the surface since its creation. This PR allows for some much needed map variety which will increase replay value. CTF is far more regularly played then mafia due to its fast rounds and common use during round end delays and I believe that it deserves a boost in content.
Changelog

cl
add: CTF can now selects a random map at game start
add: CTF now supports four teams
add: Gear for yellow and green CTF teams has been added
add: CTF ID cards for all 4 teams have been added - courtesy of maxymax13
add: a new CTF map, Four Side has been added
add: a new CTF map, Downtown has been added
add: a new KOTH map, Limbo has been added
add: a new CTF map, Cruiser has been added
fix: KOTH capture points retain their sprites after being claimed
/cl
2021-03-26 10:01:43 +13:00
Ryll Ryll
c0ad950def Fixes admin immovable rods not hitting things (#57890)
Timber did an oopsie in #57850 and made it so rods with a specific target (AKA any spawned by admins either through the trigger event button or the admin smite) quit out of their creation before they started listening for clonging things. Possibly this was partly intended, in case you wanted to spawn a rod that would only hit whatever you designated as your target and nothing else, but this current setup doesn't hit the target either soo something needs fixing.

@Timberpoes let me know what you think and if you were intending for a soft rod option that would only hit the target.

Fixes: #57888
2021-03-23 17:41:00 +00:00
Timberpoes
4a9b91e981 Immovable Rod code cleanup, signal listening and improvement. (#57850) 2021-03-21 05:52:52 -07:00
TiviPlus
1ac4340be7 Fix rods having nongeneric canpass for some reason (#57630)
Leftover from when Timberpoes was trying rod iterations that were not movement_type & PHASING.
2021-03-14 03:05:35 +00:00
Mothblocks
d7382d0d10 Dynamic now plays a part in controlling random event antagonists (#57175)
Dynamic now plays a part in controlling random event antagonists

Dynamic 2021's carefully tuned pacing is demolished by random event antags spawning new antags right after Dynamic spawns a midround. While I do in some respect believe this is simply the roll of the dice, it's just too volatile for me to feel justified ignoring it.
2021-02-26 21:33:26 +00:00