Commit Graph

13841 Commits

Author SHA1 Message Date
Fikou
92840db585 Nuke Ops Leader update (#68830)
makes the nuke op player with the most nuke ops playtime the leader
makes the leader start with loud mode on on their radio

idea for that second one from BeeStation/BeeStation-Hornet#6631

making the most playtime nuke op the leader prevents 1st time players from rolling it, they will generally be more competent, and able to be entrusted, just like you can trust a head of staff more. a player with more competency will also probably be better at actually leading and not just clicking a button to open the ship, if they try.
the radio is a tiny change to make the leader matter more, and able to give better leadership, because im pretty sure most people dont even realize the leader has access to loud mode
2022-07-29 17:02:43 +03:00
MrMelbert
4dfce7bfdd Fix: Cult construct can attack while their spells are on cooldown (All spells no longer have a Melee CD by default) (#68806)
Fixes #68779

#68382 Added a "melee cooldown" to ALL cooldown actions by default, which is something I wasn't sure about in the PR, but Space suggested it wouldn't affect anything. Turns out did affect some things

I instead have overridden all the new cooldown actions (Alien, spells, and some misc ones) to have a 0 second melee cooldown, allowing constructs and similar to attack and use spells freely
2022-07-29 15:01:35 +03:00
Watermelon914
69226b3bd7 Drastically improved the USB connection for air alarms. Any airlock can now be made into a shell (#68632)
The USB connections for air alarms have been improved and now include scrubber control, vent control and the setting of the air alarm mode. Also fixes a bug where the limits were not being properly set.

The scrubber, vent and limit control can be duplicated in the circuit to allow multiple limits/scrubbers/vents to be controlled by one circuit.

Any airlock can be made into a shell during construction by configuring the airlock electronic before insert.
2022-07-29 13:52:29 +02:00
MrMelbert
2e6ad23e12 Logs the use of the DNR verb (#68819)
Logs when people use DNR on the player (ghost) and the body.
2022-07-29 14:37:56 +03:00
IndieanaJones
1f40eed9d2 Fix Legionnaire's Charge When Hitting Allies (#68814)
* Fixed legionnaire's charge glitching when hitting allies by returning rather than continuing a for() loop.
2022-07-28 19:56:59 -04:00
FernandoJ8
c165fcd492 Partially fixes xenomorphs not taking damage from being on fire - High firestacks edition (#68608)
* The reason why xenos survive fire better than humans goes further than this. The original PR partially fixes it, and makes it so that, on high firestacks, xenos reliably die considerably faster than humans do. However, on low firestacks it's a different story.

The way humans handle being on fire is that their external temeperature (or skin temperature or body temperature, there's no consistent name for it but the var name is bodytemperature) increases based on the line that I copied over to xeno code here. However, being on fire also cancels all other procs that I could find that would ordinarily regulate external temperature through interacting with the atmos around the mob and from equalizing the core and external temperatures of a mob. This equalization still happens, but it becomes a one-way street. The core heats up from equalizing it's temp with the skin but the skin doesn't reduce it's temperature in turn, so even though the body could offset the temperature delta caused by being on fire with few firestacks, it doesn't get the chance to.

Meanwhile, xenos (and all other carbons) don't have two different temperature values. Their external temperature doubles as core temperature and so they suffer differently from being on fire. Their temperature won't interact with the environment to cool itself while on fire, but their metabolism will still lower their temperature if it strays out of safe parameters.

Because of this, while humans are by design unable to offset the temperature increase from fire, other carbons, xenos included, are able to reset their temperature to neutral faster than a fire with low firestacks can raise it and so they can be on fire indefinitely. When high firestacks are involved this is still true, but their metabolism will be overwhelmed, their temperature will start to steadily rise and because of the way their bodies react to high temperatures they will take more damage and die faster than humans.
2022-07-28 18:04:08 -04:00
Ghom
b4b9c6776d Ladders take left/right clicks to go up or down (+ extra balance and QOL) (#67913)
You now left click to climb up and right click to climb down a ladder. A delay of 1 second has also been added, since otherwise it'd take only one click to immediately move vertically and would be much more spammable.
Ghosts still use the old radials, because their right clicks are bound to the default byond popup menu.
2022-07-28 02:40:34 +02:00
ShizCalev
ac4af925c1 Fixes runtime that occurs on the last hit of bubblegum (#68695) 2022-07-27 15:35:57 -05:00
MrMelbert
c9e16c44bf Fixes some alien actions not working. (#68625)
* Fixes alien actions bricking due to cooldowns.
- Sanity checking for availaibility failed due to being "on cooldown".
2022-07-27 15:09:27 -04:00
Coffee
ac5f3dc4fd Fixes cleanbot animation & speed (#68707)
* Fixes the bug, turns cleaning time into a var, and fixes some extra space
2022-07-27 11:01:50 -04:00
Y0SH1M4S73R
196250c8f7 Concentrated barbers aid can give hairless species hair + fixes hair updating once and for all (probably) (#68580)
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
2022-07-25 03:21:23 -07:00
Pepsilawn
f774b746d3 Returns Prison Ofitser to the Lavaland security checkpoint (#68674)
Prison Ofitser, prior to the last mining base rework, was a lovable secbot that would serve as both a deterrent to those wanting to access the security equipment vendor, and a free baton to the more skilled players. it sadly recently got the cut in the mentioned rework. I didn't see any evidence of it being intentional, so I thought I'd attempt to bring him back. This PR also gives it its own subtype à la Armsky as opposed to a var edit.

Prison Ofitser is an integral part of the secbot family, security also very rarely visits the gulag's checkpoint, and since an equipment vendor is located there, protection that isn't a single airlock is welcome.
2022-07-24 23:56:50 -06:00
ShizCalev
48723457d8 Fixes runtime when monkies try to inject humans with a syringe (#68697) 2022-07-24 17:22:11 -07:00
Matt
53cee6635f Fix: #41250 You can't use a tablet while inside a locker (#68171) 2022-07-24 17:20:51 -07:00
Mothblocks
99fb15a462 Pointing at something on yourself now shows the item (#68642)
Why It's Good For The Game

Further reducing reliance on reading the chat box. Previously it wasn't obvious someone pointing at themselves was pointing at something on them, and not just, them.
Changelog

cl
qol: Pointing at something on yourself now shows the item.
/cl
2022-07-25 10:16:55 +12:00
Jeremiah
86e801987e Reworks pAIs (#68241)
A pretty heavy refactor for pAIs that just spilled into a rework.

Attempts to fully document and organize backend code.
Fixes a large number of bugs left untouched for a decade.
Breaks down the frontend into subcomponents.
Rebalances their software modules.
(should) fix pAI faces get removed if you activate them during alert #68242
2022-07-24 16:18:59 +01:00
13spacemen
071e35519d PUN PUN DRIP (#68489)
* Adds a new clothing variation: Monkey. The Waiter's suit uses this, allowing Pun Pun (and other monkeys) to wear it.
* Makes changing species now check all your clothes to see if you can wear them, rather than solely your no_wear list, fixing problems of Digitigrade lizards keeping non-digitigrade shoes.
2022-07-23 18:05:30 -04:00
ShizCalev
e9c1f80bc7 Fixes floorbots not properly updating overlays of repaired floor tiles (#68658) 2022-07-23 11:55:55 -04:00
ShizCalev
99fabf319b Adds some missing ai law datum sanity checks (#68651)
Adds some missing ai law sanity checks
2022-07-23 11:55:21 -04:00
ShizCalev
e2da6ba81e Fixes AI tablet stack trace warning on initialize (#68652) 2022-07-23 11:54:29 -04:00
13spacemen
8e4327b290 Removes Internals HUD element (#68523) 2022-07-21 17:05:17 -07:00
RandomGamer123
32e84471a9 [READY] Venus human trap fix 3.0: Allow ghosts to possess them even when obscured, use better spawning system (#67418)
Moves venus human traps to use the /obj/effect/mob_spawn/ghost_role/ system of spawning similar to things like spiders. Effects of this include: Having a notification to ghosts when one is ready to be spawned, having venus human traps respect role bans, and allowing them to be possessed from the ghost role menu.
Also adds poll ignore and role defines for venus human traps.

To clarify in more detail: Venus human traps spawn by flowering kudzu (with a 10% chance). However, they spawn immediately under the kudzu and can't be clicked on (even with the alt-click menu), so they can only be possessed by a ghost only if the kudzu above them gets destroyed or they get moved out of the kudzu.
Instead of just fiddling around with layers, moving venus human traps to the same ghost role system used by other ghost roles helps centralize them and make it more obvious that a) you can possess them to begin with, and b) how to possess them
2022-07-21 02:22:14 -07:00
Salex08
f9d8cd8ee5 fixes strange object parrots spawning with headsets oversight (#68530)
* Parrots spawned by strange objects no longer spawn with headsets, generating infinite headset keys.
2022-07-20 21:17:28 -04:00
Tim
122b21d0ac Remove deprecated cloning code (#68555)
* Remove deprecated cloning code, makeUncloneable() proc and some cloning defines.
2022-07-20 20:56:57 -04:00
Whoneedspacee
b92823ee46 Mob Ability Sequences Again Again (I swear this time) (#68382)
Adds the option for cooldown action sequences which has a list of sequence actions, the owner of the sequence doesn't have direct control over any of the actions in the sequence but is still considered the owner of the sequence actions, the main ability simply handles calling whatever those sub actions should do.

Adds melee cooldown times to cooldown actions.

Cooldown actions now use bitflags so an ability can share its cooldown to multiple other types of abilities

Cooldown times are now handled by the base activate proc, cleaning up copy paste of StartCooldown()

Reworks the admin verb for adding cooldown abilities to where it has significantly more customization (and tells you to mark the mob you want to modify instead of just doing nothing) and also allows for creation of the new sequences, allowing entirely new and unseen abilities to be formed out of existing ones. Also adds a verb for removal of mob abilities.
2022-07-19 18:08:05 -05:00
Coffee
ffc2a746df Fixes xenomorph corrosive acid being used on mobs & fixes xeno limb examines (#68246)
* Removes the xenomorph's corrosive acid from being used on mobs, as they oneshot them.
* Makes defines for species' limbs, and makes use of those. Also replaces some hardcodes with defines.
* Makes Xenomorph bodyparts all alien bodytypes, so xenomorphs with something embedded will not state that they have something in their human limb.
2022-07-19 12:16:49 -04:00
Jeremiah
64737bd505 Refactors mob_helpers (#68343)
* Improves the code for notify_ghosts and heal_robotic_limb.

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-07-19 01:49:34 -04:00
GuillaumePrata
4ec77fdbf6 Be polite! While on walk intent you won't bump, swap places or push other people now. (#68493)
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-07-18 16:51:36 -07:00
13spacemen
2300cf63fa Multiple AI fixes (#68451)
* AI (de)construction posibrains will not ping ghosts

* fixes MMIs not transferring brainmob to ejected brain
adds ability to (un)anchor AIs with a wrench

* adds comments for new posibrain creation
adds arg to deactivated ai core structure Initialize() to skip creating an MMI which will be overwritten anyway
2022-07-17 23:21:39 -07:00
ShizCalev
7abfcd343c Fixes sloths loaded in ruins becoming the cargo sloth (#68475) 2022-07-17 17:52:47 -07:00
Seth Scherer
caef4900b5 Removes the Families gamemode (#68480) 2022-07-17 17:47:02 -07:00
Tim
eaa229ee5d Fix holoparasite not inheriting language from master (#68406)
Fix holoparasite not inheriting language
2022-07-17 12:07:15 -04:00
LemonInTheDark
22d57da140 Readds Alien Vore (#68312)
* Readds Alien Vore

Aliens can now eat people again. Behavior was removed by #43991 (b6c41e3b32)
because nasku thought it was weird, and the code was really bad.

I think it's funny, and I've made the code not trashtier.

Basically, an alien can agressive grab any living mob. If they stay next
to the mob, facing them for 13 seconds, they will "eat" the mob,
IE:insert them into a list on their custom stomach.

The xeno can then hit an action button to spit out the mob, alongside
some acid.

If the mob is alive enough to pull out a weapon inside the xeno/has one
on it, they can attack the xeno from inside, dealing damage to the
creature and its stomach. If the stomach drops below a threshold, the
mob gibs the xeno and escapes.

I've done my best to steer things away from horny and into gross, though
I'm aware you fucks do your best to blur that line.

Anyway something something balance change something something lets xenos
abduct people more easily, I'm mostly doing this cause I think it has
soul.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-07-17 01:55:12 -07:00
lizardqueenlexi
d481c49b43 Fixes digitigrade legs drawing incorrectly with certain suits. (#68287)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-07-17 01:54:30 -07:00
Twaticus
f0a78409d8 [MDB Ignore]Suit DMI split p1: Mob icons (#68417)
Co-authored-by: TWAT <twaticus.tg@gmail.com>
2022-07-17 01:18:20 -07:00
MrMelbert
c1ddbd4d59 Fixes Bannana Gluttons breaking when eating Bananas. (#68381) 2022-07-17 00:46:32 -07:00
Kylerace
fe7513d282 addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033) 2022-07-16 21:44:41 -07:00
John Willard
535d4b4802 Fixes internal/external organ for checks (#68045)
* Fixes internal/external organ for checks

Fixes many single-letter vars for organ for loops
Makes use of `as anything` more often
Fixes the comment for external_organs to explain what it actually is for
Fixes for loops checking internal_organs for external ones, as they aren't stored there (in dummy's harvest_organs, on_species_loss, and purrbation removal)
2022-07-16 21:44:15 -07:00
13spacemen
da8359ffc0 Deconstructing AIs (#68063) 2022-07-15 16:00:15 -07:00
FinancialGoose
4696bfae7c Fixes attaching knife on cleanbot with NO_DROP (#68348)
Attaching a knife to cleanbot would succeed even when the user has trait like anti drop that would cause ItemtransfertoLoc to fail, this pr simply add a check for transferitemtoLoc
2022-07-14 14:45:16 -05:00
Coffee
6b611a480e [NO GBP] Fixes ethereals spawning without tongues (#68399)
Does the PR
2022-07-13 14:44:28 -05:00
Christmas5
3bf37dde25 Cleaning up changelings a little. (#68117)
More aspects will now be affected by shapeshifting, creating a more accurate disguise:

    Age.
    Physique.
    Hair gradients.
    Neck items.
    Underwear colour.

Last resort will now respawn you as a /human rather than /human/species/monkey.
As the egg hatches, the game will spawn a human and turn them into a monkey, using code similar to that of lesser form (instead of spawning an actual monkey). This should prevent issues with randomised names.

Using Human form after Lesser form should now shapeshift you into the correct species.
Previously it just ran /humanize() without any argument, which means it defaulted to turning you into a human. This should not be an issue, considering that it still runs a regular shapeshift afterwards and updates your DNA, but for some reason that's not enough.

The Human form ability now uses a radial menu instead of a list.
De-clutters the code a little by reusing the code for the radial menu that's used when you shapeshift into someone. It also makes the ability smoother to use and more consistent.

Lesser form now clears your flesh disguise as it transforms you.
2022-07-12 20:15:48 -05:00
Coffee
150bf4085d Golems now have tongues again, except cardboard golems (#68168)
* vocal cord slot

* puts vocal chords back

* reverts changes i couldnt figure out how to make mutant_vocalcords work

* cleanup

* woops

* Makes cardboard golems have no tongues

* adds no tongue to the greet
2022-07-12 17:47:50 -05:00
Thunder12345
86eddc3554 Mining Outpost Overhaul: Island Living Edition (#67796)
Replaced the old mining outpost with a new base consisting of separate buildings on islands in the middle of lava. Added a few new areas and decorations to fill out the outpost. Changed the underfloor accessibility of lava so cables and pipes don't mysteriously disappear as they cross catwalks over lava.

The current mining station is fairly boring and dated. In addition, the general layout of the outpost was bland and uninspired, about as exciting as any other hallway. This replacement offers a new and unique take with an interesting layout and new dangers to be aware of.

The bridges between buildings are exposed to the weather, meaning you could find yourself forced to choose between waiting out a storm in an isolated building with a potentially unfriendly roommate, or running through the storm to get back to a shuttle.

Power and communications are also more vulnerable in the new base, placed in a building on the mainland where ne'er-do-wells could gain access unnoticed and sabotage them, making the mining outpost less of a safe space with little risk of anything going seriously wrong. You don't get access to these just for having mining access, better call the relevant portion of engineering to help you.

Gulag prisoners also get a few new options to keep security on their toes, with a few different options for escape routes that encourage the warden to keep an eye on their charges instead of ignoring the gulag while waiting for the prisoners to do their sentences or kill themselves.
2022-07-12 14:34:31 -06:00
StrangeWeirdKitten
8b8d1fc28f Fixes Bubblegum (#68266)
* Update bubblegum.dm

* Update code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>

* Ok

Ok

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-07-09 14:55:29 -04:00
Tim
827fc7103c Fix simple mob deaths causing deadchat notifications (#68155)
* Fix simple mob death message deadchat notification

* Add TRAIT_DEATH_GHOST_ALERT to traits

* Add TRAIT_DEATH_GHOST_ALERT to global trait list

* Add TRAIT_ALERT_GHOSTS_ON_DEATH to space dragons

* Add TRAIT_ALERT_GHOSTS_ON_DEATH to brood spiders

* Add TRAIT_ALERT_GHOSTS_ON_DEATH to elite lavaland mobs

* Add TRAIT_ALERT_GHOSTS_ON_DEATH to revenant

* Add TRAIT_ALERT_GHOSTS_ON_DEATH to morph

* Fix trait name

* Fix trait name

* Fix syntax error for trait

* Add trait check for death notification

* Add more context to trait use
2022-07-09 10:04:19 +08:00
oranges
80398698b9 New player job selection fixes pack (#68208)
* New player job selection fixes pack

If no jobs are available when random jobbing dont just runtime instead
pop a little tgui alert letting them know they are shit out of luck

Also makes the job debug actually print out the job titles instead of
just printing a . like some kind of insane person

Also also removes some syntax left over from a search and replace

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

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

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

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-07-08 21:42:13 -04:00
magatsuchi
7d0f393f5d Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code (#67478)
Currently, storage works as a subtype of /datum/component, utilizing GetComponent() and signals to operate. While this is a pretty good idea in theory, the execution was pretty trash, and we end up with alot of GetComponent() snowflake code (something that shouldn't even need to be used frankly), and a heaping load of scattered procs that lead into one another, and procs that don't get utilized properly.

Instead, this PR adds atom_storage and proc/create_storage(. . .) to every atom, allowing for the possibility of storage on quite frankly anything. Not only does this entirely remove the need for signals, but it heavily squashes down the number of needed procs in total (removing snowflake signal procs that just lead to one another), reducing overall proc overhead and improving performance.
2022-07-08 18:13:18 -07:00
kawoppi
e0caf5f959 Refactors cleaning into a component (#68156)
* Completely refactors cleaning tools to all use a single component rather than copy pasting everywhere.
* Everything that cleans (including Cleanbots and the like) all use this component. It is called on an atom-level proc, to prevent signal overuse/misuse.
* This additionally means that cleaning is much more consistent between tools, for stuff like cleaning blood off of windows and soap not being able to clean worn clothes, since it isnt a problem anymore.
2022-07-08 12:39:29 -04:00
zxaber
c2a029a6f2 Fixes airlock shock indicators not being removed when the airlock is unshocked (#68112)
shocking development
2022-07-07 20:00:38 -07:00