* Adds simple framework for learnable crafting recipes
* whoops
* Moves teach/check functions to mind
* Code golf
* I just moved these around but fine.
Co-Authored-By: AnturK <AnturK@users.noreply.github.com>
X-Ray vision can no longer be obtained via a random gene sequence at
roundstart. X-Ray now has 35 instability, up from 25. A new gene,
thermal vision, has been added to genetics. You can create X-Ray vision
by mixing Thermal Vision and Radioactive together.
Requiring the gene to be mixed:
- Further timegates it
- Reduces the odds that it will be available in a given round of n length
- Means that you will NOT be able to circumvent the instability, as you
will never have the gene naturally
Bumping the instability:
- Means X-Ray now takes up a whole 1/3rd of your instability by itself
- Is a serious decision, since you can not circumvent the instability
(see above)
Thermal vision is just a strictly worse xray
* fuck you whoever made the last icon it was garbage
* ticket log fixes
* ticket log fixes
* changes colors from hardcode per line to a define
* some nicer darkmode colors
* asay and ooc name default fixes
* fuck you appveyer build again
* slight brightening of the default font color
* properly fixes tip of the round being hard to read
* staves
* projectiles
* sapped event
* last of the staves (need to sprite and get sounds)
* last of the projectiles
* Squash is a single-use plant in Plants vs. Zombies and returns as a premium plant in Plants vs. Zombies 2.
* removes staff of cooperation, adds fly magic status effect
* a couple things with flight + tweaks
* removes old bolts/staves, finishes and adds parts of the new set
* fixes
* fetching + flying fixes, added chill and wipe
* and done
* cobblestone's review
* fugitives
* lets make this a bit cleaner
* cultists and the beginnings of security detail, lots of wip
* wip security
* WALDO (and some more work on yalp, of course)
* adding antagonist teams for both hunter and fugitives, roundend report beginnings
* this whole file is shit, but hopefully a little better
* it compiles (+ space police)
* some more work
* S.E.L.F. fluff
* grammar and icon fixes
* lets finish yalp elor, give it the justice it deserves
* moves hunter spawns to ship pods + russians P1
* moves hunter spawns to ship pods + russians P2
* fugitives and hunters now recognize eachother
* hunter spawning finished(?)
* missed this
* ATH's review
* runtime fixed, added yalp's transport ability
* anturk's review
* makes hunter.dm better trust me
* oopsies
* INVOKE_ASYNC
* russian ship + finally a (bad) sprite for the capture machine
* step > pixel, thanks travis
* mooshroom review p1
* mooshroom review p2
* improper use of /improper
* waldo's radio doesn't stick, police id
* candidate picking is more flexible + minor things
one of three things.
1. They don't use RegisterWithParent or UnregisterFromParent to unregister
and register signals
2. They use callbacks which refer to a source object, which is usually deleted
on transfer, or lost in some manner, or simply makes no sense at all to be
transferred
3. the component was never designed to be transferred at all
TransferComponents gave no shits about any of this and just blindly transferred
all components, if they were actually capable of it or not.
I only noticed this because it was causing chairs to break as they would not register signals
and verbs correctly for rotation after being picked up and then placed down, and a player
reported that issue via ahelp.
Luckily we caught it before the rot got anywhere, only chairs and the shuttle subystem
tend to use this proc (Shuttle uses it on turfs), can you imagine if everything was using
this LMAO
Which is good because it's more dangerous than a loaded gun
I have added a can_transfer var, that is true when a component is valid to
actually transfer, which means the dev has actually thought about what happens when
you take the parent object away and swap it for another and all the crazy that is entailed
by this
I have done my best to audit what components are actually
transferable, but things are basically a hot mess (Thanks @Cyberboss )
The following components required edits:
Forensics:
did not register/deregister the clean_act signal properly, did not checkblood on new parent
Rotation:
did not use RegisterWithParent or UnregisterFromParent, turned out
to not be transferable anyway due to having callbacks that can be
passed in to the parent with unknown sources that we can't feasibly
reuse (i.e if you're transferred from a chair to a bed, your old rotation
call backs are no longer valid). Turns out the use case it was for (just chairs)
didn't need it anyway, so I just made it non valid for transfer.
Wet Floor:
Honestly this one is just a hot mess, it should be a subtype of the slippery
component with the extra wet turf handling.
As it is it basically manages a slippery component on top of it's own extra
functionality, so that's a major code smell.
I added registration/unregistration of the signals, and made it's pretransfer
remove the slippery component and the posttransfer add it back (via update_flags)
Components that seem transferable without issues
mirage_border
orbiter
decal
spill
storage (I hope to earth)
Meant to be part of #42864 , but got a little big so I'll add it to wichever gets merged last.
[Snailcrawl demonstration](https://youtu.be/IL7WFpfRo4c)
PROS
- Gets snailcrawl, wich makes them greatly faster and gives them a lube trail
- Their blood is spacelube
- They get a cool armored nodrop snail shell
- They don't slip
CONS
- Very slow
- Punch is pathetic
- Tttaaalllkkk llliiikkkeee ttthhhiiisss
- Extremely vulnerable to salt
- Can't wear glasses
Adds gastrolisis, wich is pretty much [this](https://www.youtube.com/watch?v=lFbPi8o0OEU) spongebob episode where they slowly turn into snails
You can also get gastrolisis by random_reagent_id, so maintpills and botany
🆑
add: Adds snailpeople as a rare genetics accident.
sprite: Snailshell sprites by nickvr628
/🆑
Snailshell sprites by @nickvr628
Why: It's a silly gimmicky race and it's a rare occurence. Also extremely highly requested for some reason