* Removes copypasta from cult/master/remove_innate_effects() (#57422)
Title. These visuals update are already done by the parent call. Also REMOVE_TRAIT(H, CULT_EYES, null)? Really?
* Removes copypasta from cult/master/remove_innate_effects()
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes an oversight with monkeys and revenant essence draining but my branch exists (#57368)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes an oversight with monkeys and revenant essence draining but my branch exists
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fix bad weakref usage in cult traps (#57359)
This was causing alert traps to not work at all
* Fix bad weakref usage in heretic traps
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Fixes spellbooks (#57361)
Spellbooks have an admin_state which means only admins can use it. lmfao.
* [merge with haste, fair maintainers] fixes spellbooks
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* tgui: Wizard Spellbook, Loadouts, Randomizer (#56958)
Yea, also adds the ability for wizards to choose random spells or some basic loadouts for new players
Loadouts:
Classic, gets some of the oldest spell combos known to man, good starter for new players.
Mjolnir, gets mjolnir hammer and a bunch of buffs and summon item to keep it. Also good bashy fun!
Fantastical Army, gets just a ton of things that create mobs, allied and not. Maybe hard to get the ball rolling but a good setup.
Soul Tapper, you are full of long cooldown spells and you can refresh them with Soul Tap. You can switch bodies with mindswap to get more max health back, just remember your robes!
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* [TGUI] Wizard TGUI Spellbook + Basic Wizard Loadouts + Randomizer
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes null rod's heretic rune dispel (#57221)
The chaplain's null rod can now dispel the heretic's transmutation rune. Note that as with with the Nar'Sie rune, you must stand on it.
* Fixes null rod's heretic rune dispel
Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
* Updates the stackcrafting description and normal description of the daemon forge (#57126)
* Updates the stackcrafting description and normal description of the daemon forge
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Change the description of the superlingual matrix to mention attunement (#57127)
It isn't immediately obvious how the tongue is intended to be used, or
how to use it, so there wasn't much of a reason for abductors to buy
it. This should change that.
Co-authored-by: coiax <yellowbounder@ gmail.com>
* Changes the description of the superlingual matrix to mention attunement
Co-authored-by: TJatPBnJ <69724863+TJatPBnJ@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@ gmail.com>
* Various cult equipment rebalances to address energy weapon immunities being too common (#57091)
* Removes mirror shield and shielded robe from forge, removes eldritch longsword from equipment and moves it to the forge, adds the nar'sian hardsuit to the forge with no slowdown and comparable stats to the shielded robe, gives eldritch longswords and cult daggers block chance
* Various cult equipment rebalances to address energy weapon immunities being too common
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Implements JPS (Jump Point Search) Pathfinding (#56780)
So a month or so ago I wanted to make it so dogs in my dog AI PR could path through doors if they had access, and was told I'd need to improve our pathfinding efficiency if I wanted to use full pathfinding for them. Thus, enter JPS, a pathfinding algorithm that allows for massive timesavings in systems with uniform cost grids like ours. This code is still fairly rough and needs polishing, but it's fully functional and already shows massive savings over traditional A*! I plan for this to replace A* as our default pathing method, but I'll leave the A* code in place in case someone ever needs it for whatever reason, like if a specific case needs variable cost pathing.
Note that this allows for diagonal pathing instead of the cardinal pathing our A* uses right now, and the current version of the code costs the same to move diagonally as it does to move laterally, which may change later. There's also a lot of dummy/test code in right now in general, but you should still be able to test it out for yourself by spawning a bot like a medibot and using your PDA to summon it.
Preliminary Profile Results
A preliminary profile is available here. Using one medibot by itself on Metastation, I generated a list of 500 random blob spawn points around the station, gave the medibot all access, then let each algorithm tackle the list. The old A* algorithm took a total of 86 seconds to complete the list and processed 978065 nodes, while JPS took a total of 46 seconds and processed only 100062 nodes, for a 47% decrease in total time and an almost 90% decrease in nodes processed!
Why It's Good For The Game
Significantly cheaper pathing, which will very much come in handy for the AI datums I'm looking to dig into, what's not to like?
* Implements JPS (Jump Point Search) Pathfinding
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Gives the rune carver a turf check, makes it's name more consistent (#57073)
Atomized out of that rune carving pr, this just fixes the lack of a turf check on the rune carver and makes it's name more consistent.
* Gives the rune carver a turf check, makes it's pathname more consistent
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* moves gun related icons to guns folder (#57077)
moves ammo icons, projectile icons and hitscan effect icons to guns folder
renames projectile.dmi to ballistic.dmi so its less confusing
moves rcd ammo from ammo.dmi to tools.dmi with the rcd
* moves gun related icons to guns folder
Co-authored-by: Fikou <piotrbryla@onet.pl>
* cult construct stuff (#57027)
edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible
* cult construct stuff
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Mild Blood Rites QoL and Blood Halberd cleanup + sprites (#56924)
Blood Rites now uses a radial menu for choosing which version of the spell you want.
Blood Halberd, now Bloody Halberd, has had some of it's weirdness as a cult weapon resolved by bringing it under the cultblade parent, ensuring it is babyproof and not able to be turned on others by noncultists.
Bloody Halberd now has a new sprite.
Additionally, some code guideline cleanup, as well as making the cult longsword use the x64 sprites I added for the dark blade a while back.
* Mild Blood Rites QoL and Blood Halberd cleanup + sprites
* Update coats.dm
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* replaces all instances of ammo_casing/BB to loaded_projectile again without crashing this time
* a
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)
Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Doomsday now cancels if the AI shunts mid-activation (#56833)
If the AI shunts while the doomsday flufftext proc is activating, the doomsday will now revert to idle. It can be re-activated if and when the AI returns to their core. A fully activated doomsday event (when the crew is given a delta alert) will still be properly disabled if the AI shunts, and cannot be reactivated. Closes#56785
Also fixes the name of the doomsday flufftext proc, which was arguably the bigger issue.
Finally, adds an admin message, sent when the AI starts the flufftext proc.
* Doomsday now cancels if the AI shunts mid-activation
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Fixes some missing sprites for the moonlight greatsword and whip and worn bottles, adds new wizard ritual knife sprites (#56737)
fix: Fixes some missing sprites for the Possessed Sword, Moonlight Greatsword and Chain Whip nullrods.
imageadd: Adds new sprites to the wizard ritual knife and veilrenders.
* Fixes some missing sprites for the moonlight greatsword and whip and worn bottles, adds new wizard ritual knife sprites
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Refactor ventcrawling flag into traits (#56620)
Instead of using var/ventcrawling on `/mob/living`, it is now instead
two traits. It functions in exactly the same way.
This now ensures that manipulation of ventcrawling will not clash with
any other manipulation, such as a proposed genetics ability to give
people ventcrawling, versus abductor organs.
---
Intended to be a pure refactor, no functionality should change.
* Refactor ventcrawling flag into traits
* Update true_changeling.dm
* Update true_changeling.dm
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human. (#56501)
NO_BREATH and NO_FIRE are added to Mafia/Highlander players and
plasmaman there won't be turned into Humans.
Also shifts Ashwalkers above Ethereals and under Lizards in human.dm
just too keep it in a pretty order.
* Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* [READY] Adds station traits: Small modifiers that can randomly be chosen each round
* conflicts
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>