All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
Removes the antennae part of the original moth wing sprites and adds them back as a mutant bodypart.
Seeing as they were then separated I made it a preference so that players can choose which antennae sprite they would like to have, instead of being restricted solely to the ones built into the wing sprite.
Gravitokinetic stands now give their user an immunity to their own gravity, and cannot apply it to their user.
Gravitokinetic stands now send out heavier gravity. Gravity applied to turfs will now damage lightly, gravity applied to people will damage twice as fast.
Issue 1: When your laws change in the middle of stating laws, things can get weird due to this being a proc that sleeps and may end stating early or some other undesired behaviour.
Issue 2: Issue's 1 behaviour can also runtime.
This caches all relevant vars when a law state starts so that it can continue uninterrupted and as expected.
This seemed the simplest solution and was a concept suggested by a couple of other maintainers. My implementation may be utterly terrible though, so please review.
There are a number of methods of assuming direct control of mobs or giving other players direct control. I have made sure these now appropriately update verbs.
Shamelessly ripped the functionality from /mob/dead/observer/verb/reenter_corpse() - It seemed to do what I wanted to accomplish in the same context.
I couldn't find any other method to refresh the verbs tab.
- Backtick-escape code samples which contain `[]` syntax.
- Fix all crosslinks to nonexistent symbols.
- Somewhat improve docs for qdel defines, research defines, dynamic mode, and others.
- Remove unused bloodcrawling defines.
Some crosslinks to defined but undocumented symbols remain. For BYOND builtins, a future dmdoc version may link those symbols to their entries in the DM reference. Other symbols could be documented by a future PR.
New "file" crosslinks as used in `research.dm` are slated for release in a future dmdoc version.
About The Pull Request
i made a PR just like this like a year or 2 ago and it got closed under dubious circumstances, especially since it had more upvotes than downvotes. this is a feature that the community wants. it is a 5 line change PR, not much to note on it, very simple.
Why It's Good For The Game
/tg/ is lacking in roleplay tailored mechanics and instead relies on the good graces of the players to interact politely with each other.
Changelog
🆑 imsxz
add: you can now pat carbon mobs on the head.
/🆑
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
Healium was too stronk, nerfed it to behave like a good gas.
Added coughing and euphoria mood if breathed in small quantities to alert the player.
Sleep if it is 3 moles in the air for 3 to 5 seconds
Sleep you if is more than 6 moles and it heals you while knocked down.
Lowered the amount of healing done
Edit: It doesnt knock you out, it makes you sleep now, since the knockdown effect was so strong that people wouldn't wake up
Issue was encountered during a Manuel round when a fatass became an Android.
Incorrect check for TRAIT_NOHUNGER in handle_digestion meant it was ignored and digestion code would always run.
Androids don't hunger, don't metabolise, don't eat. When a player turns into an android, if they were fat, they become a fat anrdroid. It then becomes incredibly difficult and annoying for admins to restore them back to normal. Admins trying to fix this manually can also create excess screen alerts, traits and moodlets as they triage the issue alongside the TRAIT_NOHUNGER bug that will constantly restore negative moodlets and throw screen alerts unless they set the status JUST RIGHT.
As a result, as well as fixing TRAIT_NOHUNGER I'm also hitting TRAIT_NOHUNGER species. I created a new proc to set hunger values to safe levels and call it on_species_gain for every TRAIT_NOHUNGER species.
Thanks to the Eric Fatsby who let me experiment on him to identify as many problem areas as I could.
Using the spin emote can no longer let you RNG your way out of new flash mechanics.
Mobs have a new flag that is set to when they start spinning and unset when they stop.
Flashes now use this new flag when calcing deviation.
Tactical combat spinning using the spin emote now results in a full deviation flash when it may previously have resulted in a failure or half-deviation flash.
Emotes should either not influence combat at all (spin on floor when both players share the same loc, this was already handled by same-loc code), or negatively influence combat for the emote user (spin in all other circumtances, which is what this PR addresses).
Runtime was fixed by implementing the new, proper asset cache system. Up until the point where I realised this was the intended look for the pAI's internal interface...
I get the Geocities look, but I'm not going to inflict this back on pAIs. Even if it intentionally looks awful, I don't feel that it adds anything to the pAI experience. They're meant to be more advanced in some respects than NanoTrasen AI.
As such, I've removed this background asset entirely, removed the associated code and turned the runtime's behaviour into the default outcome - No Geocities background. Just plain white.
Bunch of undocumented procs relating to wounds.
can_dismember is being called on the head from send_item_attack_message after the head is dismembered. At that point is has no owner and we get ourselves a bit of juicy runtime.
I suspect it's an order-of-operations issue. The wording of the text messages in send_item_attack_message seem to indicate that it's warning about the attack that is just about to happen. In /mob/living/attacked_by() the very first thing it does is call send_item_attack_message(), before apply_damage.
As such, I've made sure send_item_attack_message() is called before apply_damage in this instance too.
When attempting to spin while it's on cooldown carbons get a bit of dizziness and confusion in increments, and once it reaches a certain point they no longer get more confused, instead puking without purging their reagents.
This doesn't affect simplemobs, silicons, or using fists of the northstar to beyblade as a tot.
If you're doing emotes in full darkness right next to someone, then the person won't see them, despite seeing your mob, which is counter-intuitive. This fixes that issue
Adds the condition of !eavesdrop_range to the logic for determining weather or not a non-whispered speech message should be displayed based on our CHAT_GHOSTEARS preference. Making it so that the Ghost Ears setting is no longer checked if the message is whispered and therefore long distance whispers will no longer be suppressed if both preferences are not set to TRUE.
Not a new outfit, mind you. But this gives plasmamen psychologists a more fitting outfit, until one specifically for them gets sprited.
I think giving them a medical plasmaman helmet, enviroslacks (as given to the bartender, lawyer, detective), and white envirogloves is better than them looking mostly like plasma assistants.
Following the cyborg inventory refactor, code changed a bit.
Cyborg inventory screens are inited in the HUD, however AI Shells don't generate a HUD until an AI assumes direct control.
Damaging an AI shell before the AI created a HUD in it would cause runtimes as modules disabled and enabled.
To remedy this, we now initialize the core inventory slots on the robit Init() and then update them as necessary in the HUD code later on if an AI ever deigns to grace your shell with their exalted presence instead of asking for it and then never using it.
Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes#53432fix#53381fix#53724
Changelog
add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data
* Update statbrowser.html
* Apply suggestions from code review
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* hidden = TRUE
* almost ready
* Browser should notify when ready to receive data
* Apply MSO's suggestions
* reset cache if something in it gets deleted
* Fix runtime
* fix my stupid code
* send href_token when adding admin tabs
* fix an issue with cyborg suit topic
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Changes the name of the recipe for the gloves to make them more clear
Adds a note in the tongue file to make sure it's clear you SHOULDN'T SEE THAT TONGUE.
Adds a unique chat message for mimes who use sign language, to make it clearer you can't cheese as a mime
Adds a unique slurring verb for drunkards
Removes the ability for sign languagers to use megaphones, which I forgot existed in the game.
Punctuation removal now replaces all punctuation used with periods rather than with blank space, to reduce run-on sentences.
Husks currently have basically zero ingame feedback other than the grey sprite. It should be abundantly obvious when somebody is a husk, given that it's such a huge physical change that it changes the sprite. This PR adds examine text to husks, and adds a message to the health scanner. The regular scanner will only tell you that they are a husk, the advanced scanner will tell you if they were husked by burns or by "extreme fluid loss" AKA lings (but burnt takes precedence so you can still burn your ling corpses to a crisp to help hide your tracks). The defib now also gives a message specifically for husks instead of a generic "tissue damage" message which normally means brute/burn damage.
I also updated the description of sythflesh and rezadone to mention that they can restore burnt husks, and replaced some hardcoded "burn" with the BURN constant.