Commit Graph

14046 Commits

Author SHA1 Message Date
John Willard
fc34ff5ebe Fixes and updates the eyesnatching objective (#70917)
* Makes the eyesnatching objective finally work, while updating some things like the name to not have the job in parenthesis, using balloon alerts slightly better, and removing a useless check.
* Adds a 1% chance to give the person an eyepatch on their eyes being taken. Also a 20% chance for them to cry, so the eye snatcher can laugh at them for being a baby.
2022-10-31 10:28:45 -07:00
MrMelbert
a1ab0201ff Fix halloweens races (#70874)
* Fixes halloween races.
- Fixes a race condition involve checking for holidays befores SSevents is instantiated. Now, holiday checking is done through a helper, which will ensure the holidays list is created and filled before checked.
2022-10-31 16:01:31 +01:00
Dani Glore
0a81ea5bf9 Internals Bugfixes & Internals-Compatible Helmets (#70750)
* Core internals refactor. Add open/close_internals procs to /obj/item/tank. Add open/close_internals, can_breathe_internals, and invalid_internals procs to /mob/living/carbon. Fixed bug in human_stripping.dm preventing changing internals for breathing tube users. Fixed bug in /obj/item/tank/toggle_internals that was auto-adjusting non-internals masks. Fixed bug in slements/strippable that caused two mobs to breathe from the same internals.
2022-10-31 12:04:52 +01:00
Fikou
1c34b0ebd5 makes borg light range at least the minimum useful light range (#70838) 2022-10-30 11:57:21 -07:00
LemonInTheDark
5e85be0688 Adds a crash to camera logic if we attempt to add a qdeleting camera (#70878)
* Adds a crash to camera logic if we attempt to add a qdeleting camera. It's causing harddels and runtimes and I want to know why
2022-10-30 08:17:54 -04:00
san7890
5b6f3d2226 Macro Defines the On-Station Year (#70827)
* Macro Defines the On-Station Year

Hey there,

This PR just removes the repeating pattern of (GLOB.year_integer+540) across several different code files and replaces it with a macro `CURRENT_STATION_YEAR`.

In case we decide SS13 will need to take place in a new year, it'll be easier to do such, but it also helps with mistakes in year transcription should that ever be a thing.

* double the define - define trouble
2022-10-29 14:08:41 -05:00
GoldenAlpharex
741b732cf9 Fixes the ice block status effect not clearing the ice block overlay upon being replaced (#70796) 2022-10-29 13:53:12 -05:00
MrMelbert
70db96c46f Convert mouse and rat to basic mobs (#70728)
* Converts mice and rats to basic mobs

* Update paths

* Fixes

* Tweaks

* .

* Use helpers

* Unit test

* Correct the targeting

* Fixes the unit test?

* Fixes the unit test

* Docs

* update the path script with pr id

* Faction check tweak

* Review

* AHH
2022-10-28 08:49:17 -04:00
ShizCalev
4933c5018e GAGs Buckets (#70749)
🆑 ShizCalev
qol: Converted buckets (and naturally cleanbots) over to GAGs.
fix: Cleanbots built with a wooden bucket will now properly drop a wooden bucket when destroyed.
/🆑
2022-10-27 21:55:14 -07:00
Fikou
3867fdeb85 oops x3 2022-10-27 21:23:46 +02:00
Fikou
b885374da4 borg lights now minimally go to the minimum useful light range 2022-10-27 21:19:02 +02:00
Tim
ac3130fc97 Remove cloth golem antimagic description (#70811) 2022-10-27 13:09:32 -04:00
MrMelbert
a7fbfc1127 Adds a new spell to Heretic starting loadout, "Shadow Cloak", which conceals their identity. (#70648)
* Adds "Shadow cloak" to heretics, allowing them to disguise themselves as a shadowy figure, which is cancelled if they take too much damage.
2022-10-26 06:00:05 -04:00
Tim
51b289d4c8 Change drop_all_held_items to work with cyborgs (#70682)
* Cyborgs now use the same drop_all_held_items that humans do instead of their own snowflake code.
* Fixes Cyborgs not dropping all their modules at the same time,

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-10-26 05:53:02 -04:00
MrMelbert
7e31785057 Fixes some bespoke elements being passed non-static lists. (#70690)
Bespoke keys use references of lists in generation. Non-static lists will create a million instances of the element, not good.
2022-10-26 05:51:15 -04:00
Tastyfish
b98f177551 [NO GBP] Fixes blindness icons on lower station z-levels (#70608)
I previously tested that footsteps worked when hearing them from a lower Z-level but forgot to test if you can see them while on a lower z-level.

It didn't occur to me that offsetted planecube planes wouldn't work with being over the fullscreen blindness mask past the top level but that makes sense in retrospect.

So the blindness effects (via play_fov_effect()) are now on the fullscreen plane. Partially reverted doing this with manually talking bubbles as well so they look normal again, and then added a FOV effect as well for chat bubbles.

NOTE: Runetext is in general also only above the blind mask on the highest station level and below on others for the same planecube issue but that's a whole other can of worms.
2022-10-25 19:51:13 -07:00
John Willard
f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
san7890
b22e35c6e5 Small Seconds Define Cleanup for Spawners (#70719)
Hey there,

I was doing some codediving, and I stumbled upon this spawn_time silliness in mob spawner code, so I just swapped everything to use SECONDS defines (since units are very epic).
2022-10-25 14:48:29 -04:00
GoblinBackwards
85d8447df3 Replaces update_eye_blur client check with a HUD check (#70740)
Changes update_eye_blur to check if mob has a hud
2022-10-25 14:38:49 -04:00
Thunder12345
963b9eaad1 People wearing kitty ears can have their tails pulled (#70759)
Extends tail pulling to people wearing kitty ears. If you pull on their fake tail it will tip off and give you a mood debuff for ripping someone's tail off.

Added a new sound cloth_rip.ogg, a shortened version of dimensional_rend.ogg with one ripping noise.
2022-10-25 11:08:17 -07:00
lizardqueenlexi
cde83ffa63 Assigns quirks to humans that are transformed from a ghost. (#70737) 2022-10-24 18:09:16 -07:00
ShizCalev
7c17ad24f9 Fixes regalrat runtime (#70673)
fix: Fixed a minor runtime when regal rats attacked power cables.

COMSIG_RAT_INTERACT destroys power cables, ..() didn't anticipate null target values
2022-10-23 23:41:12 -07:00
MrMelbert
3990152f38 Fixes runtime with wendigo slam (#70724) 2022-10-22 16:22:47 -07:00
Sealed101
21a07ddf81 Fixes AIs on_click failing where it isn't supposed to fail (#70685)
About The Pull Request

As stated in #70664, AIs were unable to interact in any way with any object that was located on coordinates that were divisible by 16. See the walk-through in the issue, tl;dr is: math was adding +1 where it shouldn't have, which resulted in coords that are multiples of 16 to be mistakenly counted a part of another camera chunk

Why It's Good For The Game

UPDATE: Fixes #70664 actually, as the issues in that report were tied to the AI running can_see on its own loc in some way, shape or form and THE AI GRID OF DOOM was breaking it.

No more invisible grid that completely blocks AI interactions along with any issues that would be triggered by either the AI itself or the objects being located in THE AI GRID OF DOOM.
2022-10-21 09:57:08 -07:00
MrMelbert
0bf88c075f Fixes Sneaksuit not hiding sec huds (#70650) 2022-10-20 19:08:26 -07:00
dawsonkeyes
de48b6a1ab makes wendigo ground slam not a global proc (#70668) 2022-10-20 19:02:03 -07:00
MrMelbert
f1215a12b4 Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart (#70530)
About The Pull Request

    Implements additional code in before_organ_replacement in additional places, to better maintain cohesion when species changes take place.
        Brain traumas will now carry over on species change
        Having synthetic / cybernetic organs will now carry over on species change
        Liver job traits will also carry over on species change
        Organ damage will, in most cases, carry over on species change (only if the new organ is identical to the old)
        The heretic's Living Heart will attempt to carry over to species change, if it's valid
            Some species will still not, as it will attempt to give heart -> liver or something and be invalid

    Heretic Living Heart is now a cooldown action. Still not really content with the current state of it, it could use some improvements.

Fixes #42308
Fixes #35539
Fixes #69574

Why It's Good For The Game

Removes a lot of exploits involving using forced species change to get rid of stuff like quirks / permanent brain traumas and similar.
2022-10-20 14:57:07 -07:00
Tim
6d12dc69ef Refactor /mob/living/carbon/alien/humanoid to be /mob/living/carbon/alien/adult (#70481) 2022-10-20 08:48:12 -07:00
Jeremiah
03f2f3e2b0 Orbit refactor + features part dos: Icons, health bars. (#70580)
* orbit refactor + features

* Via suggestion

Co-Authored-By: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-Authored-By: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* cleanup

* readds heatmap optional + bug fix

* fixes bugs

* naming conventions

* what

* indeed

* modular via suggestion

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

* nice

* pai fix

* misc searching

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-10-19 22:23:13 -04:00
Kyle Spier-Swenson
1fe9528b80 Fix admin transforms transfering the wrong client (#70500)
* Fix admin transforms transfering the wrong client

Ghost copies of minds should not get cloned onto a new mob because the original body could have been taken over (via offer body to ghost or other fuckary) and then transfer_to will transfer the controller of the og body instead of the ghost body.

I could fix this bug from happening with more with raw ckey checks, like the debug line I added, but this is part of code that controls when antag status transfers between bodies while admin bussing, and so i want it's behavior to either be intentional or clearly buggy, no in between, so i'm not adding a check to verify the mind key is the same as the mob key.

* Say the mob's name for log correlation
2022-10-19 21:54:32 -04:00
Sealed101
b1ed2d03f2 Fixes AI camera static not updating when the AI enters a mecha (#70385)
* it just works

* kick the eye out of the mecha on mob_exit
2022-10-19 20:32:35 -04:00
LemonInTheDark
a625fc8038 Cleans up the fallout from plane cube (#70235)
* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate
2022-10-20 09:00:02 +13:00
MrMelbert
78ac928b54 Fixes organ on_death being called for alive mobs (#70635) 2022-10-19 11:44:36 -07:00
LemonInTheDark
cd3a778915 PKP Mind Virus: Glorfing Cigs edition (#69904)
* PKP Mind Virus: Glorfing Cigs edition

If you glorf while smoking you'll get the cig stuck in your throat, leaving you unable to breath, speak, or eat. Based off the sort of cig you have a random delay before you vomit up the cig. (Pipes last forever don't philoso-larp kids). Other players can help you by using the help action on you while you're hurt, which leads to something imitating the himelich manuver, a broken chest, and a vomited up blockage. Other forms of vomiting will work too, if that's even applicable.

Oh I fixed a bug in vomit code. Because paralyzing you forces you to the ground, thus changing your dir, paralyzing vomits always went down. This is cringe, easy fix tho.

Ah and I added some extra functionality to sound loops too. You can set them to pick and take from the provided list, then refilling it once it's empty. This keeps some variety while preventing the risk of repeat sounds

Oh and I added some new signals. Some misc ones, for force say and a different kind of help then the existing one, which I renamed. One for breathing, which I used to clean up leroxin. I was planning to hook this but didn't need to in the end.

One for vomiting too. and eating. Also added a way to update looping timer delays. Forgot about that, I also added variable delay for sound loops, because I thought it sounded better here.

Features audio courtesy of our very own san7890, and the quake jump sound.
2022-10-19 06:34:45 -04:00
John Willard
a7650c542c Removes an unused 'ignore monkeys' flag on secbots (#70607) 2022-10-19 00:43:57 -07:00
ATH1909
9ab00f0dc3 Removes the explosive holoparasite's teleportation punch ability (#70611)
* The explosive holoparasite no longer has a 40% chance to randomly teleport a guy they're punching away from them.
2022-10-19 01:37:02 -04:00
Tim
09d88b31ee Wizard DLC - Tower of Babel (#69629)
About The Pull Request

This adds a new status effect called - Tower of Babel

Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.

This effect is implemented in several ways:

    Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
    Admin smite option
    Admin secret event (can be reversed)
    Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
    Magicarp will randomly shoot bolts of babel
    Staff of Chaos will randomly shoot bolts of babel
    Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect

The effect can be blocked or cured in several ways:

    Curators are given immunity
    Reading a book of babel (via lavaland loot) cures and gives immunity
    Reading a language book cures and gives immunity ONLY for that particular language

Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak
2022-10-19 05:17:05 +00:00
san7890
2878345ebb Swaps sleep() to use SECONDS define, changes some sleep(1) to sleep(1 TICKS) (#70452) 2022-10-18 21:25:23 -07:00
lizardqueenlexi
708c138304 Made regenerate_organs() reset external organs as well. (#70427) 2022-10-18 21:23:53 -07:00
Wallem
4888c44a5f Scratching an OCD itch, or, how I autodocced /mob/living/simple_animal/hostile's comments (#70614) 2022-10-18 21:15:43 -07:00
Imaginos16
5a3c1d63cb Adds a brand-new HUD: The Trasen-Knox HUD! (#70474)
Hello everyone! Today I bring to you all a fancy new HUD for you lot to enjoy: The Trasen-Knox HUD! Lovingly based off of the Common Core lore maintained by EOBGames!

Well, what is it?


Its a HUD with a special theming based on the old 1970's CRT screens that were commonplace at the time, including the iconic neon green and the beige plastic casing!

This PR also includes a new behavior so that its possible for each active hand icon to be unique, instead of it being a sole highlighted icon as it was before.
image

And for those wondering, it does indeed account for multiple limbs!
image

Finally, as seen in the first screenshot, this PR adds the behavior to hide the HUD icon when you insert a piece of equipment into the slot. Thank you for adding the behavior, Fikou!

This is all as a step for upgrading and changing how the HUDs we interact with on a daily basis can be upgraded in the future to be more appealing visually! That, and it is simply gorgeous :)

PositiveEntropy, Fikou
add: Adds a new HUD: The Trasen-Knox HUD! With a theming based on classic 1970s CRT screen computers!
code: Added behavior for unique icons for active hands.
code: Added behavior that makes it so when you equip an item, the icon behind it defaults to the blank template type.
2022-10-18 23:32:21 +00:00
MrMelbert
4a38742102 Fixes leftover uses of hallucination var (#70596)
Removes skewed hallucination values
2022-10-18 08:34:43 -04:00
ShizCalev
cb3509d658 Fixes observer point_at queued verb runtime (#70584) 2022-10-17 23:43:19 -07:00
ShizCalev
230b497cae Fixes secbot stun runtime (#70582) 2022-10-17 23:42:55 -07:00
Jeremiah
9ecf77ca28 Adds extended tooltip information to observables in the orbit ui (#70547)
A continuation of #68389 which addresses an issue that still bothers me to this day:

The orbit menu displays a player's name as a combo of name id transform. It can get lengthy to a point where the names clip the entire screen (as buttons do not multiline).

This PR shortens excessively long player names on the orbit menu and adds a tooltip that will show extended info like full name, health and job titles.

Mostly drawn from concerns brought up in the original.
2022-10-16 11:05:39 -07:00
John Willard
509d4f0dcb intelligent monkeys now attack hand (#70331)
Advanced Trait user Monkeys (so clever mutation or admin ones) now don't attack_paw, meaning they'll act like a human and call attack_hand instead.

I think it would be funny if this was on base species, so all non-advanced human will attack_paw, but I haven't read attack_paw enough to want to go through with it.
They're intelligent now, so I don't see why they should be limited to attack_paw instead of human interactions. Now they can properly use defibrilators, water tanks, holosigns (for the janitor monkeys), crates (for cargo techs), and many other items, all without giving the ability to all monkeys and xenomorphs.
Also makes them more fitting for 'intelligent/advanced/clever', and makes more use out of monkeys being a species now.
2022-10-16 11:03:29 +01:00
san7890
89a95f6eb3 Unit Tests Mice Biting Wires (bonus proc cleanup) (#70488) 2022-10-14 08:53:20 -07:00
GoldenAlpharex
c7408b32f2 Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list (#70404) 2022-10-13 21:31:48 -07:00
itseasytosee
bcfd895c14 Functionality for custom human examine messages when possessed by an AI controller. Implements on humans with monkey AI (#70356)
The "They don't appear to be themselves" line on humans that have AI controllers is now controllable by the AI controller, and is only "They don't appear to be themselves" by default.
Monkeized human now have the line
2022-10-13 18:00:32 -07:00
Jacquerel
869c6928c2 Various Jaunt fixes (#70431)
* Jaunt code path reworked so that traits and other effects can be removed consistently regardless of how effect is ended.
Jaunts will more consistently clean themselves up (and unjaunt you) when you lose the spell.
If a shuttle lands on you while you are jaunted it will now kill you instead of crashing and fucking with the shuttle landing process.
Z travelling while inside an object or mob will now relay that direction instead, allowing you to jaunt up and down as well as cardinally.
Mirror walk button updates at correct times.
Blood and Shadow walk buttons have same functionality as Mirror Walk.
2022-10-12 19:57:04 -07:00