* 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.
* 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.
* 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.
* 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
* 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
🆑 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.
/🆑
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.
* 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>
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).
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.
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.
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#42308Fixes#35539Fixes#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.
* 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
* 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
* 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.
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
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.
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.
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.
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
* 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.