Firebots were runtiming due to multiple initializations, so this fixes that
issue by calling a proc to refill the extinguisher rather than going through
the initialize proc to do it.
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
* Add a virus log, plus a log for facehuggers
Logs each infect event and contains detailed descriptions of the virus
I also added a log message for printing virus culture bottles including
who printed them
Finally i tacked on a change to adding a game log entry for facehuggers
because why not
* Further logging fixes and updates
Medbots now combat log
combat log no longer tries to run keyname on an object because that
doesn't make much sense
* Dead say no longer logs twice
* tabs to spaces
* initial firebot commit
* add sprites for the firebot
* firebot.dm: More work on the firebot, implemented emag behaviour and better extinguishing
construction.dm: Added firebot assembly
* extinguisher.dm: Added support for the firebot assembly
* fix build error
* commit missing dme
* now drops the helmet again, also added a message for knocking people over
* fix previous commit, thats what you get for pushing without building first
* firebot now deploys firefighting foam when under heat instead of spraying wildly
* fix typos, move defines to top of file and adds undefines to the end
* renamed loc to drop_location for clarity
* fix drop location for real this time
* extinguisher.dm: Add newline to eof
firebot.dm: Make explode() use drop_location properly (for real this time), text fixes, removed improper use of .loc
* Update code/modules/mob/living/simple_animal/bot/firebot.dm
Co-Authored-By: Lett1 <kilian2311@gmail.com>
* update emag behaviour to use cfl3
* recipes.dm: Add crafting recipe for firebot
extinguisher.dm + construction.dm: Move extinguisher on_attack code to construction.dm
cl
tweak: Soviet and Capitalist golems no longer appear in opportunities where a random golem species was selected, primarily golem mutation toxin.
/cl
* one
* ???
* big
* sprites
* it is done
* oofs
* no more bad jokes
* location -> reception
* i forgot a feature lmao
* yo lemme nerf this op power
* adjust removal and makes panic less insane
* hey i forgot another feature
* one mind removals
* *laser eyes meme*
* Disables multiple one minds for real this time
Why?
A couple of reasons. Primarily, it's pretty obvious how overpowered xenobio is these days. Secondly, this isn't really real content, it's just a juxtaposition of content that is normally for antags (changeling). Third, this specific "content" really only benefits the person doing it (the xenobiologist) and is usually just used to validhunt or to killbait.
Or to rephrase, xenolings are only really ever fun for the person doing it and it's either directly or indirectly less fun for everyone else involved. Since there is a real reason to nerf xenobio (it's quite overpowered) this is a pretty good target.
The way that I've gone about this in particular avoids nerfing any of the more interesting interactions in xenobio as well. Something like the mind swap potion, or just gold slime core reactions as they currently work, could have gone away entirely. But this is probably the lesser evil.
* lava arena is now not the default for swoop attack
adds mass fire attack, sends fire lines out from the drake in 360 degrees
lava pools now have a chance to be spawned with the fire breath attack
adds greater delay for lava pools on lesser ash drake so they don't just all instantly get placed
lava arena doesn't needlessly recalculate the turfs it will be using every pass now
enraged state, procs when you try to escape from the lava arena attack without fighting it normally, colors the drake turns its brightness up as it glows, then shoots out fire everywhere, also heals the drake for 250 health.
fixes a bug where fire lines wouldn't appear if their range would put the calculated end turf outside the map
fixes a bug where indestructible open turfs would turn into basalt on the lava arena attack
fixes a bug where lava arena safe spots would be on indestructible closed turfs
drake swoops now have a greater default recovery time
* fixes stupid text error
* adds vr mining sleepers to the lavaland mining base which can be used to train with megafauna and test out other items
removes useless code from colossus's file including having a dead icon of the drake and butchering results
adds virtual versions of each megafauna which don't drop any items and are deleted upon death
adds the vr mining map
* adds virtual megafauna spawners and their respective icons, spawn 1 megafauna at their location and are indestructible
changes default virtual megafauna hunter gear to be more like the default mining gear
* adds more items to spawning in mining vr
megafauna spawner nests can no longer be pushed
virtual megafauna now have a limit to how far they can move away from their nest
adds arenas and fast bluespace tile paths to each megafauna spawner and gives the mining base some walls to protect it
* adds mining vr map to the away mission config
adds perm portals, linked two way portals who are linked by id and can be set in mapping files by editing instance
adds megafauna portals for the arenas
fixes up some junk on the mining vr map
adds a spawn delay for megafauna spawners after the linked megafaunas death
fixes a bug where bubblegum could teleport outside of his arena
* adds true spawn var to bubblegum to easily handle clones / virtual versions of it spawning
fixes bug where virtual legion would release the real legion when damaged
moves vr mining code to the away missions code to adhere to contributing.md
* converts map files to tgm
adds arena cleanup and fixes runtime bugs on virtual megafauna spawn and death
* reverts local drake changes
* fixes bug where drake corpses still had a gps signal
removes worthless include
* adds the crusher trophies to the vr mining kit
no more granting null achievements you stinky virtual megafauna
this map really didn't need to be 255x255 im sorry
* even smaller map wowee also please compile
* adds respawning item crates for the lavaland items and healing junk
even smaller map and some filler spaces for possible future bosses
removes lavaland map changes
mining vr now works properly with other vr maps and is randomly selected working with normal vr sleepers on station
fixes permanent being permanant my bad
* lavaland map stop being changed
* maybe a bit overkill with the amount of healing items
* reordering i guess but why is the rum gone
* work please
* Update Lavaland.dmm
* Update Lavaland.dmm
* adds force stop option to portals so you can choose to not chain teleports with non linked portals.dm
permanent portals now can be var edited mid game and still work (cool admin events? idk)
permanent portals are no longer deleted if they don't have a linked portal
adds one way portals, portals that lead somewhere but have no return portal. basically non hardlinked portals but able to be done in map and edit stuff
adds recall portals for the vr megafauna arenas, one way portals but you can recall to them by using a one time use spell (no it is not tied to your real mind it is tied to the vr mind)
virtual megafauna can no longer escape their arenas
moves some virtual megafauna procs to the main megafauna file to reduce needless code
* recall portals can now be chained and the portal recall spell can now go back in a stack reverse style
* adds boss rush mode, fight all of the bosses successively with only one break in the middle without dying
object spawners can now choose their datum spawner type through a var
moves some virtual megafauna code from the megafauna file to the megafauna spawner datum
* adds new goodies to the end of the boss rush
removes a lot of the copy pastad code in the vr megafauna
adds true spawn var, decides whether or not the megafauna should grant achievements or have an internal gps, used for bubblegum hallucinations and virtual megafauna
internal gps are now added on the base megafauna path
hierophant's crusher trophy no longer spawns at its beacon (let's be honest some people missed it because of this) so it works properly with the crusher loot var
* Add files via upload
* Rename space_dragon.dm to code/modules/events/space_dragon.dm
* Adds Space Dragon
* Adds Space Dragon Event
* Remove Copied File
* Put antagonist definition in proper location for space dragon
* Update space_dragon.dm
* Removed passive health regen from space dragon
* Updated Weight and Earliness for Space Dragon
* Added Objective to Space Dragon, Updated Starting Blurb
* Cleaned Up the Objective Determiner
* Actually fix the space dragon objectives
* Fix the objective display for the space dragon's target
* Updated Space Dragon Intro Blurb
* Updated Centcom Message When Space Dragon Spawns
* Updated Space Dragon's description with new lore
* Clean Up Space Dragon's OnFire()
* Add Space Dragon Sprites
* Sprite in wrong location
* Properly adds Space Dragon Sprites
* Adds Space Dragon Tiny Sprite to be Carp
* Space Dragon Uses New Sprites, Tiny Form Updated
* Increased Time Til' Dragon Spawn
* Drake's Tail Sweep Now Uses Prebuilt Spell
Thanks to Cobblestone for the head's up on this.
* adds chromosomes
* Makes the framework nice and functional
* Adds chromosome interaction
* Makes chromosomes work
* removes the double instability update
* Apply suggestions from code review
Co-Authored-By: Time-Green <timkoster1@hotmail.com>
* more review stuff
also fixed some inconsistencies in chromosomes
* unfucks defines
* Fixes saved mutations runtiming with empty pods
* Adds stability to the dna console and advanced health scanner
* removes a random bug i stumbled upon
* Update code/game/machinery/computer/dna_console.dm
Co-Authored-By: Time-Green <timkoster1@hotmail.com>
* makes chromosomes harder to get
fixes double mutations, adds reinforcer and nerfs stabilizer
* fixes edge case where fireballs would be harmless
* cleans up find/replace all mess and 1 in 10 trillion chance of fireball breaking
* webbit reddit
* commits for each file
damn i hate web edits
* magazine
one of these is going to conflict with the guns pr why am i doing this at 2 am
* yeet
* does it compile
probably not
🆑
fix: some syndicate operatives simple mobs no longer have an invisible shield
/🆑
they visually only have 1 knife, while their subtypes have a shield kevin put the var in the wrong place
* fixes death sounds not being played on delondeath creatures
increases volume of death sounds
fixes hierophants achievement granting problem in another way and re-adds its death animation
adds a force grant achievement option for megafauna (maybe used in the future for only granting achievements to the most damaging person whom knows)
* true true false true
cl Floyd / Qustinnus
tweak: Bonechill now actually chills you
tweak: Bonechill lasts 2 seconds longer
tweak: RESIST_COLD is checked before bonechill is applied
fix: Changes makeshift vests' name to durathread vest
fix: Cardboard golem can now reproduce himself.
fix: The durathread golem now needs cloth instead of strands
/cl
cl actioninja\memager
refactor: Ballistic guns have been almost entirely reworked from a backend side. This primarily focused on moving as much as possible into the base ballistic gun and turning as many other guns into essentially varedits as possible.
add: Guns can now be racked. This is the default action unless the magazine is empty.
add: Guns now can have the magazine removed by clicking on them with an open hand while they are in hand.
tweak: Suppressors are now removed by alt clicking instead of clicking with an open hand
add: Guns now have various bolt types that all function a bit differently. Open bolts cannot have a bullet chambered with no mag, locking bolts lock back after running out of ammo, etc.
add: All ballistic gun sounds are controlled by variables instead of hardcoded usages.
tweak: The l6 LMG has a reworked control scheme. alt + click to open and close the cover, open hand to remove mag, place mag in by slapping them together, default action is rack.
tweak: Functionality that used to be snowflake code such as tactical reloads has been moved to the base gun, and can be toggled by variables.
refactor: All shotguns are now properly subpaths of the shotgun type. They still work the same.
imagedel: Gun sprites have been almost entirely overhauled to use overlays instead of states. This collapsed the L6 sprite from 20 sprites to 9 sprites to give an example.
soundadd: Remixed versions of the shotgun and base gun firesound
soundadd: New rifle firesound for l6 and moist nugget, new SMG fire sound, new sniper fire sound.
soundadd: Lots of new weapon operation sounds such as racking and bolts and the like.
imageadd: New sprites for the Riot Shotgun, Combat Shotgun, c20r, Deagle, m90, double barrel shotgun and 1911 by Memager.
imageadd: All gun sprites that were pointing to the left have been flipped to point to the right.
balance: Shotguns now can be pumped faster.
balance: Bulldog can now be tac reloaded
balance: Sawn off shotguns now have an accuracy penalty and recoil
/cl
Idea and instructions by @Razharas, many thanks.
This PR only implements the framework required to catalog as well as play the sounds. Their to_chat text, and icons (if any) are not included, are to be pushed in a separate PR.
This PR does not remove the old playsound_local system, it is kept for the sake of not necessitating a direct changeover of every single playsound in the code, which will surely cause a lot of merge conflicts. It does however, replace bike horns' and toy nukes' means of playback to this datum, purely as proof of concept.
Playsound_local may remain in the code to support playback of admin-uploaded sounds that do not have an inherent datum. Playsound will likely be renamed to something else in the next PR to reflect its new, more universal function. We will see.
New process for adding sounds:
Create a new datum/outputs subtype.
If you wish, write down some supporting text; this gives further meaning to the sound.
Add multiple sounds to the sounds list, and weight them as you wish. (New)
Add a sound icon if you wish, it defaults to a generic sound circle anyways though.
playsound(/datum/outputs/new_subtype, receiver), and it will deliver, icon, sound, and text to the receiver.
Maintaining implication is that from now on playsound should only be processing datum/outputs
This pr intends to gut to_chats that are added alongside playsounds in the code.
This pr eliminates the need to initialize sounds in a list so that you can weight them or have the game play them randomly from the list.
Sound Rings
Currently, only mobs with the audiolocation var may view them. Sound icons have an alpha that depends on the volume of the sound, louder sounds create a more opaque image
Sound rings are completely modular and may be changed to any image.
In addition to renaming playsound to reflect its new function. I intend to give blind people sound icons at the cost of their small view, but that is for another PR.
cl Basilman
refactor: refactored how sounds are stored and played
add: Added sound rings and supporting text
/cl
There is now a bitflag that controls all the ways a species can be
selected from the different methods of changing species, xeno spawn,
pride mirror, magic mirror etc.
The soviet and capitalist golems are no longer selectable from the pride
or magic mirrors (just the badmin one)
interesting thing I found, androids and synths (including military
synth) are acheivable via xeno extracts!