* Fixes pathfinding not checking diagonal passability properly. (#65665)
In short, it was checking diagonal passability directly instead of every partial-step.
Now this obviously makes this pricier.
Partially alleviates the secbot pathing doomstack stacks since they will now properly fail to path but i still need to find the breakpoint where the image churn causes the actual client crash.
Also removes redundant path calculation in bot code that would be overwritten on step anyway.
* Fixes pathfinding not checking diagonal passability properly.
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: SkyratBot <skyratcommunity@gmail.com>
* fixes move to nullspace runtime in mob/abstract_move() (#65786)
* fixes move to nullspace runtime in mob/abstract_move()
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Fixes several incorrect spider menu descriptions and automatizes the process a little bit (#65806)
* Fixes several incorrect spider menu descriptions and automatizes the process a little bit
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Removes some unused mob verbs + client vars (#65732)
* Removes an unused var from /client
`inprefs` isn't used anywhere, i checked to when it was added (~5 years
ago) and it wasn't even really used then. I think it used to be used to
track topic calls / slowdown some href issues but it isn't any more.
Byebye!!
* Removes some unused mob verbs + client var
`canface` and `east/west/north/southface` used to be used to set
direction but these are no longer used and are thus taking up
unnecessary space
* Removes some unused mob verbs + client vars
* Update pixel_shift.dm
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Reworks & TGUIs mecha equipment (#65375)
TLDR
Mech UI now TGUI: https://streamable.com/ahjydy
Mechs now use "slots" for equipment
They can only mount 2 guns(left and right arm, left and right click to use)
Tesla & Concealed bay is removed
Removed mech damage deflection
Full list of changes
Note: weapons in this section refer to all click-using equipment such as guns/hydraulic clamp/etc
Hackmd: https://hackmd.io/lgr-LetfSKyHzPP0zQUXPA
Tesla has been removed (Tesla gives you effectively infinite power on station and off station(where the design direction for mechs is intended) they are useless)
Concealed mech bay has been removed (Concealed mecha bay relied on selection for visibility so it doent make sense to exist when all equips are "selected", the code was bad (instead of flag or something you just used locate() everywhere)
Honker no longer has snowflake UI (I'm sorry but if I have to make a third UI for this im going to go insane)
Mechs now mount 2 arm weapons, and certain amount of "utility", "armor" and "power" module types
The two arm weapons do not share a cooldown anymore UNLESS they are identical weapons
left click to shoot left weapon right click for right weapon, this will shoot the weapon unless you click next to you with a ranged weapon it will then try to melee (This also applies to attaching the weapon to the mech)
It is no longer possible to deflect or have multipliers for damage from innate or armor sources, armor will now just apply a direct armor change
Since plasma generator needed to be selected to use you now need to click on the power generator with a stack of plasma to refill it
Internal damage:
The mech no longer needs to be low health to take internal damage
Internal damage now no longer has several convoluted ways to fix each different type and is now a timed action performed in the UI
Weapons no longer have an RNG chance to be damaged or immediately deleted by damage
Weapons will now take damage aimed at the right and left arms respectively, this can be repaired using the new UI. NOTE: this is intended to be implemented as weapon/module disabling but I left it out of this PR to try resemble some shortness
Both internal and equipment damage have minimum thresholds of damage required in a hit before they attempt to check whether the mech should take internal or equipment damage, teh threshold is lower for equipment damage
You can no longer reload weapons using energy
Demo Video
https://streamable.com/ahjydy
* Reworks & TGUIs mecha equipment
* Update firefighter.dm
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: SkyratBot <skyratcommunity@gmail.com>
* Give space dragon ability to make it's sprite small (#65311)
About The Pull Request
Allows space dragon to replace it's sprite with a carp sprite like the xeno queen can turn it's sprite into a drone.
This means only the dragon sees itself as small. Others still see it as giant.
Why It's Good For The Game
The space dragon sprite is pretty big, so you can't attack stuff directly north of you. This solves that.
Changelog
cl
qol: space dragon can now make it's sprite smaller
/cl
* Give space dragon ability to make it's sprite small
Co-authored-by: ivanmixo <ivanmixo@gmail.com>
* protector stands no longer remove all their overlays when leaving shield mode (#65765)
fixes#50168
* protector stands no longer remove all their overlays when leaving shield mode
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixes pathfinding not checking diagonal passability properly. (#65665)
In short, it was checking diagonal passability directly instead of every partial-step.
Now this obviously makes this pricier.
Partially alleviates the secbot pathing doomstack stacks since they will now properly fail to path but i still need to find the breakpoint where the image churn causes the actual client crash.
Also removes redundant path calculation in bot code that would be overwritten on step anyway.
* Fixes pathfinding not checking diagonal passability properly.
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Reworks & TGUIs mecha equipment (#65375)
TLDR
Mech UI now TGUI: https://streamable.com/ahjydy
Mechs now use "slots" for equipment
They can only mount 2 guns(left and right arm, left and right click to use)
Tesla & Concealed bay is removed
Removed mech damage deflection
Full list of changes
Note: weapons in this section refer to all click-using equipment such as guns/hydraulic clamp/etc
Hackmd: https://hackmd.io/lgr-LetfSKyHzPP0zQUXPA
Tesla has been removed (Tesla gives you effectively infinite power on station and off station(where the design direction for mechs is intended) they are useless)
Concealed mech bay has been removed (Concealed mecha bay relied on selection for visibility so it doent make sense to exist when all equips are "selected", the code was bad (instead of flag or something you just used locate() everywhere)
Honker no longer has snowflake UI (I'm sorry but if I have to make a third UI for this im going to go insane)
Mechs now mount 2 arm weapons, and certain amount of "utility", "armor" and "power" module types
The two arm weapons do not share a cooldown anymore UNLESS they are identical weapons
left click to shoot left weapon right click for right weapon, this will shoot the weapon unless you click next to you with a ranged weapon it will then try to melee (This also applies to attaching the weapon to the mech)
It is no longer possible to deflect or have multipliers for damage from innate or armor sources, armor will now just apply a direct armor change
Since plasma generator needed to be selected to use you now need to click on the power generator with a stack of plasma to refill it
Internal damage:
The mech no longer needs to be low health to take internal damage
Internal damage now no longer has several convoluted ways to fix each different type and is now a timed action performed in the UI
Weapons no longer have an RNG chance to be damaged or immediately deleted by damage
Weapons will now take damage aimed at the right and left arms respectively, this can be repaired using the new UI. NOTE: this is intended to be implemented as weapon/module disabling but I left it out of this PR to try resemble some shortness
Both internal and equipment damage have minimum thresholds of damage required in a hit before they attempt to check whether the mech should take internal or equipment damage, teh threshold is lower for equipment damage
You can no longer reload weapons using energy
Demo Video
https://streamable.com/ahjydy
* Reworks & TGUIs mecha equipment
* Update firefighter.dm
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Cleans up some varedit procs not using strings instead of the proper helper (#65769)
Although these vars are unlikely to ever change, if the vars were ever renamed it would result in these strings not erroring properly if they weren't updated as well.
* Cleans up some varedit procs using strings for var names instead of the proper helper
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Adds mob bleeding overlays, tweaks some bleeding balance
* Fixed the various merge conflicts involved with this, added update_wounds_overlay() in hopes that it just works
* Fixed our non-updated slash wounds bleeding values
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* makes bots/gunpowder use boldnotice, makes boldnotice an info message (#65415)
* Improves bot explosion code, adds boldnotice to chat message group
* makes bots/gunpowder use boldnotice, makes boldnotice an info message
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes nonhuman head of departments showing up as their original species in security records (#65466)
* Fixes xeno -> human head of departments showing up as their original species in security records
`get_flat_human_icon` was passing preferences which chose their
original, so i added a var to `/datum/species` to check if the species
was forcefully changed
* makes it actually work
* review
* Fixes nonhuman head of departments showing up as their original species in security records
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Makes the heretic worm use the blood walk element (#65658)
* Makes the heretic worm use the blood walk element
It was using a custom proc for this, but we have an element just for
this.
* Update code/modules/mob/living/simple_animal/heretic_monsters.dm
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* dont need this'
* adds an extra arg the to the element to keep direction
* moves da eement
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Makes the heretic worm use the blood walk element
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Fixes the latejoin menu never closing (#65671)
Reverts 17c603f1d0
Turns out, we had one html menu left. So when tivi removed the proc we
used to close them on join, he broke one.
Someone make this tgui please, thx.
* Fixes the latejoin menu never closing
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Cryocell works with all gases now ; Cryox requires being KOd (#65513)
* refactored cryo
* fixes
* always forget maps
* requested changes, cryoxadone only heal if sleeping
* Cryocell works with all gases now ; Cryox requires being KOd
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Allows you to offer an item to only one person with Shift+Ctrl+Click (#65441)
You can click someone directly with shift+ctrl+click to offer an item only to them. This is in contrast with pressing G, which offers the item to every adjacent carbon mob.
Also fixes a runtime where the Give screen alert on a potential recipient was trying to remove itself on proximity loss after the Offering status effect had already done it.
Removes duplicate range check on Give screen alert that was causing the runtime as Offering status effect takes care of it.
Also adds a check after clicking the screen alert to take something to make sure we're not dead or incapacitated, so dead people can no longer take things.
Also adds a screentip for this functionality.
Also adds some more checks to give() to make sure we can do it before sending the message to players that we're offering something.
* Allows you to offer an item to only one person with Shift+Ctrl+Click
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Fixes the description for the mouse being incredibly rude, judgemental, and insulting towards mice, who are objectively adorable. (#65606)
Fixes the description for the mouse being incredibly rude, judgmental, and insulting towards mice, who are objectively adorable.
Why It's Good For The Game
I mean, just look at these little guys, aren't they just adorable? How can we be so mean to such friendly animals? We're nice to cats, we should be nice to mice too.
* Fixes the description for the mouse being incredibly rude, judgmental, and insulting towards mice, who are objectively adorable.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them. (#65481)
* Improved the Art Gallery App. Added a search function to it.
* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* shy component now has variables for being shy around keyless and clientless bodies (#65418)
* shy component now has variables for being shy around keyless and clientless bodies
* h
* shy component now has variables for being shy around keyless and clientless bodies
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* makes podpeople call parent (#65362)
About The Pull Request
kinda fucked up that it doesnt.
Also while checking this PR I noticed other species also don't, kinda screwed up world we live in...
Why It's Good For The Game
Parent's spec_life is what checks if you have nobreath, and in which case it will remove all your oxygen damage and, if in crit, give you brute damage instead. Not having this makes you basically not take damage while in crit, which I think shouldn't be the case.
Changelog
cl
fix: Podpeople now take self-respiration into account when taking damage from critical condition, like most other species.
/cl
* makes podpeople spec_life call parent
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Makes armsky/pingsky not pAI controllable (#65413)
I assumed they would inherit beepsky removing the flag because I’m stupid.
Why It's Good For The Game
Closes#65406
Changelog
cl
fix: Armsky and Pingsky aren't pAI controllable anymore.
/cl
* Makes armsky/pingsky not pAI controllable
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds the Kheiral Cuffs to the game, a life-saving wrist device (#65253)
They can be bought from the mining vendor for 2750 points.
The Kheiral cuffs act as a suit sensor booster off-station, and don't do anything on-station.
This was originally #65210, but after realizing the potential I scrapped that and jumped on this.
If you die as a miner, your only potential and realistic way of being revived is if someone makes the random decision to ask if you're alright over the comms, decides to do something when you don't respond, and then makes the trip all the way to and from your location of death.
This provides a way to reward miners who worked hard to get their points with a way to possibly get revived in the event of their death, without outright reviving them or something like that.
People will still need to retrieve your body, but at least they'll know you're even dead in the first place.
* Adds the Kheiral Cuffs to the game, a life-saving wrist device
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>