* CI & Moth Fixing Combo
* Remove this (didn't work anyways)
* fixing a comment (woops)
* Lore friendly commit
* A little more robust?
* Guess we will forgo this.
* More feedback.
* Apply suggestions from code review
Co-authored-by: nevimer <foxmail@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* adds a unique species id unit test + cleans up some golem mischief (#66050)
* adds a unique species id unit test + cleans up some golem mischief
Co-authored-by: capsaicin <84609863+capsaicinz@users.noreply.github.com>
* Adds a flag that lets mobs be colored with spraycans, and adds said flag to the hygienebot (#65891)
* Adds a flag that lets mobs be colored with spraycans, and adds said flag to the hygienebot
Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
* Makes brimdemons delete their beams in Destroy() (#66095)
About The Pull Request
Fixes#66062, where brimdemon beams would remain active forever if the demon got deleted as the callback to delete the beam would never happen.
Why It's Good For The Game
Infinite death laser bad
Changelog
cl
fix: Fixes brimdemon lasers never disappearing if the demon was deleted while firing.
/cl
* Makes brimdemons delete their beams when deleted
Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
* Refactor and improve antimagic to be more robust (#64124)
This refactors the antimagic component to use and have bitflags, documentation, defines, code comments, named arguments, and renames variable names for clarity.
- /obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult is not used anywhere and has been removed
- /obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult is not used anywhere and has been removed
- New sound effects are played when magic is blocked. Depending on the type of magic being used it will be either:
- Equipping antimagic now properly updates the magic buttons
- Any magic being blocked or restricting casting now displays a message
- MAGIC_RESISTANCE_MIND now properly blocks telepathy effects
- Removes blood splatter when fireball is blocked
- Magic projectiles for staff of locker no longer spawn lockers when blocked by antimagic
- Fire breath is no longer blocked by antimagic
- Spellcards are now blocked by antimagic
Any antimagic on a mob blocks that magic type from being casted. (certain spells such as mime abilities completely ignore antimagic)
- Foilhats prevent someone from casting mind magic (telepathy, mindswap, etc.)
- Bibles, ritual Totems, nullrods, holymelons, and TRAIT_HOLY prevent someone from casting unholy magic (cult spells, etc.)
- Nullrods, ritual totem, and holymelons prevent someone from casting wizard magic (fireball, magic missile, etc.)
- Immorality talismans, berserker suits, and TRAIT_ANTIMAGIC prevents all types of magic (except stuff like mime abilities)
- Touch of Madness and Mindswap is now blocked with MAGIC_RESISTANCE and MAGIC_RESISTANCE_MIND
- Voice of god is now blocked with MAGIC_RESISTANCE_HOLY and MAGIC_RESISTANCE_MIND
* Refactor and improve antimagic to be more robust
* Update tiedshoes.dm
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* The screentip context no longer lies about what happens when you left click another carbon mob with combat mode on. (#65979)
* The screentip context no longer lies about what happens when you left click another carbon mob with combat mode on.
* Update code/modules/mob/living/carbon/carbon_context.dm
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
* The screentip context no longer lies about what happens when you left click another carbon mob with combat mode on.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: ATH1909 <42606352+ATH1909@ users.noreply.github.com>
* woo
* donor support
* too lazy for --fix
* disclaimer
* discord
* woo
* fix
* meh
* fine
* fix
* give this a shot
* test-elsewhere
* fix
* we should probably log this
* aye
* regex
* sure
* ihateregexihateregexihateregexihateregex
* fuck you too
* sure
* FUCK
* correct
* fix?
* i am physically incapable of testing atm
* fix
* awoo
* 👀
* unit fix
* fuggedabout it
* weh
* important
* findtextend doesn't work with regex
* Fixes robocontrol on the 'puter (#65957)
As you don't have your ID on you, it is never scanned for Robo-control access, so you could just never use it unless you were using a tablet.
* Fixes robocontrol on the 'puter
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Removes the clown borg lollipop snowflake (#65960)
I have no fucking idea why this even exists, there is no difference
between regular borg lollipops and this one. I hate feature coders
* Removes the clown borg lollipop snowflake
Co-authored-by: Seth Scherer <supernovaa41@gmx.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>
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>