* Fixes Marker Beacons Not Having an Icon (#66830)
FUCK.
In #66736 (7517e79), I forgot to change this line. It worked fine in the screenshot because the screenshot came from before I spun it out into it's own DMI. Whoops.
* Fixes Marker Beacons Not Having an Icon
Co-authored-by: san7890 <the@san7890.com>
* Titan's Final Lament - Colossus and hierophant crusher trophy rework (#66793)
This is somewhat a port of BeeStation/BeeStation-Hornet#6805 with slight changes, credits to Rukofamicom for the original PR.
Kinetic crusher is supposed to be a high risk high reward weapon, but with current hiero wall trophy it just ends up with the player cheesing mob and boss AIs. To fix this, here we change hiero trophy to spawn a hierophant chaser instead of a wall, which will increase player's DPS without offering them any protection.
However, this creates another issue: right now colossus is unbeatable with crusher without cheesing it with the wall due to it's shotgun attack which kills and dusts you point blank or 1 tile away, which is extremely unfair and unfun. To fix this, I add what should've been done from the start - make colossus telegraph it's attacks before starting them. Player has 1.5 seconds to react(unlike 3 seconds in the original PR which made the fight much easier) and dodge the attack or at least get away from the colossus to have a chance to survive.
Since this does make the fight significantly easier, colossus gets a special final attack during which it shouts "Perish" and uses different attacks. Unlike in the original PR, he can only use it once, so it's not as deadly and bullshit. This should make the fight more epic and similar to other bossfights which get cool attacks near the end of the battle.
Goodbye 4 GBP, you served me well.
* Titan's Final Lament - Colossus and hierophant crusher trophy rework
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Mapping Marker Markets - They're All In Now (#66736)
bout The Pull Request
Hey there,
We had a lot of marker colors previously locked behind the in-game "random marker" mechanic that mappers couldn't really use since you'd have to varedit those shits. Now, instead of just... Burgundy, we now have:
Bronze!
Yellow!
Lime!
Olive!
Jade!
Teal!
Cerulean!
Indigo!
Purple!
Violet!
Fuschia!
All for your mapping enjoyment.
There were also a few instances of weird var_edited mapping markers that I also got rid of in this PR as well. I also split off markers out of lighting.dmi into their own .dmi.
Why It's Good For The Game
image
Gives mappers the power to use these sprites that we already have in the codebase in their conquest to make stuff look better.
Changelog
cl
add: On the mapping end, mappers are now able to add a wide range of funky new colors to maps. Keep an eye out, for they might just be coming to a station near you sometime soon.
/cl
* Mapping Marker Markets - They're All In Now
Co-authored-by: san7890 <the@san7890.com>
* Makes smoke and foam attempt to fill the available space.
* wew
* reset
* Revert "reset"
This reverts commit 75be4f934504793ceb5c9bf2f3774dc24517df5a.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Improper forced qdel cleanup, some expanded del all verbs (#66595)
* Removes all supurfolus uses of QDEL_HINT_LETMELIVE
This define exists to allow abstract, sturucturally important things to
opt out of being qdeleted.
It does not exist to be a "Immune to everything" get out of jail free
card.
We have systems for this, and it's not appropriate here.
This change is inherently breaking, because things might be improperly
qdeling these things. Those issues will need to be resolved in future,
as they pop up
* Changes all needless uses of COMSIG_PARENT_PREQDELETED
It exists for things that want to block the qdel. If that's not you,
don't use it
* Adds force and hard del verbs, for chip and break glass cases
respectively
The harddel verb comes with two options before it's run, to let you
tailor it to your level of fucked
* Damn you nova
Adds proper parent returns instead of . = ..()
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Ensures immortality talismans cannot delete their human if something goes fuckey. Thanks ath/oro for pointing this out
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
* Improper forced qdel cleanup, some expanded del all verbs
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Mining voucher redeem selection is now using a radial menu when choosing a voucher rewards instead of an input menu. In addition to looking better, the menu now provides an additional information about specific reward set when a corresponding info button is clicked.
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* updateDialog and updateUsrDialog cleanup (#66494)
This PR focuses on cleaning up two procs - updateDialog and updateUsrDialog. Both of which are/were used updating for old HTML UIs. As these UIs got converted to TGUI over time, these old code fragments started to pile up, often due to coders simply overlooking them. This resulted in them being dead code doing nothing when called, or randomly opening up windows when they shouldnt, for example when a vending machine is screwdrivered and UI cannot even be interacted with.
However, there were also some desirable uses - like opening a window when an ID is inserted into civilian bounty console, which you are then gonna obviously use to pick a bounty. I kept these uses and replaced them with proper ui_interact, so they now always work, instead of them working only when you had them set as a currently used machine on mob. The list of these changes is:
Civilian Bounty Console will now always bring up its UI when you insert the ID.
Air Alarm and APC will now always bring up its UI when you unlock their controls.
Portable Chem Mixer, Chem Dispenser, Chem Heater, Improvised Chem Heater, Chem Spectometer and Chem Master will now always bring up their UI when you add or replace beaker to them.
Two old /Topic calls were cleaned up as well, as they were no longer relevant.
Removes dead or outdated code, adds sensible UX when working with certain UIs.
* updateDialog and updateUsrDialog cleanup
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* the mining gas mask no longer protects against pepper spray (#66206)
* the mining gas mask no longer protects against pepper spray
Co-authored-by: Fikou <23585223+Fikou@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>
* Block free golems from using shuttle consoles, other than to go home (#65991)
* Block golems from using shuttle consoles
* Update code/modules/mob_spawn/ghost_roles/golem_roles.dm
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Block free golems from using shuttle consoles, other than to go home
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Lowers the Kheiral Cuff price to be more reasonable with their changed function (#65697)
* Lowers the Kheiral Cuff price to be more reasonable with their changed function
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Adds proper sound effects to attacks against flora (#65508)
* Adds proper sound effects to attacking flora
* Normalises all the sounds to make them as loud as possible and the same volume
* named arguments
* Adds proper sound effects to attacks against flora
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* better resonator (spreading) (#65297)
adds some documentation to resonators
adds spreading to resonators, where the field has a chance (that lowers each spread) to spawn more fields.
the spreading idea did come from yogstation, but I changed how it decides to spread
* better resonator (spreading)
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
* Refactors Lich Phylactery to be a component, makes it actually work (#65366)
* Refactors phylactery to be a component
- Overall improves lich code
- Changed the SOUL_IMBUE signal to return a bitflag
- Minor style improvements (indentation and such)
* Tweak initialize + fixes a bug with being gibbed
* adds a clarification comment
* And fixes a compile error oops
* reorganizing
* clear the revive timer, just in case
* oops this should drop stuff
* missing no soul trait
* type in a variable name
* god damn devil removal
- this check was removed when devil was and i think it's kinda important to prevent stacking lichdom
* rework this a bit
* plurals
* also, wrong source
* updates the description
* Some review + undoes some changes
- Corrects some comments
- Uses defines
- Rewords the lichdom entry and spell desc
- Sets default time per res to 0 secs to avoid changing behaviors
* Refactors Lich Phylactery to be a component, makes it actually work
Co-authored-by: MrMelbert <51863163+MrMelbert@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>
* Adds a new Mapping Icon for Light Emitter Effect Placement (#65370)
* Adds a new mapping icon for light emitter effects
Hey there,
So, I was working on some other PRs and noticed this:
Ugly, stupid, dumb. The "L" is even capitalized! It's non-descript, and you might think it's an error looking at it. I decided to take a peek and see if I could come up with a more creative icon.
So, I used the icon found at icons/effects/light_overlays/light_32.dmi and made it yellow. Now, it looks something like this:
* Update code/modules/mining/mine_items.dm
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* this was uncommited
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds a new Mapping Icon for Light Emitter Effect Placement
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* fixes arm implants breaking the drop key (#65002)
fixes#65001 (Surgical Toolset Implants (possibly integrated toolset implants too?) cause the drop hotkey to stop working properly)
The dropkey signal always gets called, even when the item isnt extended.
Comsig_kb_activated cancels the key from being sent
We were doing our check inside retract, but we always assumed the dropped item was us. bad
* fixes arm implants breaking the drop key
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Mining MODsuit Rework (#64688)
makes dropkey deactivate device modules
fixes speed potion being fucky
fixes doubled up balloon alerts
makes some cell code better i think
makes the gps module open the gps tgui for you, instead of putting a gps in your hand
the loader suit can now hold mailbags
Reworks the mining modsuit.
The suit is no longer cold-proof (this can be mitigated by using module space for thermal regulators)
The suit fits less modules than standard suits, but cant burn in lava.
In suit storage it can carry ore bags, resonators and kinetic crushers.
It features a storage, gps, ore bag, drill, clamp and by default comes with a plasma core, being recharged with plasma ore rather than by power cell.
Features two new modules:
Ash Accretion, it gathers dust from basalt (or snow) you walk on to create a layer of ash around the suit, acting as armor and a speed up that quickly drains when you walk on other terrain.
Sphere Transform, turns you into a fast moving ball that can travel past lava, you cannot use your hands when in this form, but you can launch aoe mining bombs to attack or mine
* Mining MODsuit Rework
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixing a number of issues with burial mounds and abandoned crates. (#64482)
Ok, I'm fixing a few issues with certain crates, namely the abandoned one and the burial mound:
An oversight with the skittish trait letting players dive into burial mounds, which are technically a subtype of crates.
A runtime that made abandoned crates not update their lock lights when unlocked (the togglelock call was missing the user arg). This one was my fault.
An oversight with abandoned crates not resetting the number of attempts left and not nulling the last attempted code when re-locked. Idem.
Burial mounds somehow getting lock lights overlays.
Also i'm taking this opportunity to make the closets unit test not early return at the first encountered failure (at the time I made it I didn't know TEST_ASSERT & co would early return on failure) since we want this unit test to finish looping through all non-blacklisted closets.
* Fixing a number of issues with burial mounds and abandoned crates.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes a few runtimes with armor, spatial grids, and notes (#64514)
* Atoms (mostly new players caused by logout) can get deleted before spatial grid initializes.
* Fixes images when viewing your notes before SSassets initializes.
* Fixes abandoned crate runtime.
* Fixes armor runtimes on eating clothes (this really needs alternative solution)
* Fixes a few runtimes with armor, spatial grids, and notes
Co-authored-by: AnturK <AnturK@users.noreply.github.com>