* wip
* SPRITES
* wops typo
* make it available
* add borg chameleon module (wip)
* we ready boyes
* bump cost
* disable filter for now
* henk
* add to polymorph pool
* borgs don't generally throw their modules
* this too
Adds a magical locker staff.
It goes through people, capturing anyone being hit by it and putting them in a welded locker
The locker decays in about 5 minutes, to prevent the hallways flooding too much.
Escape time is only a minute.
Explosions are less effective on people inside
Why: It's a bulky wand, and great if you want people to just fuck off. You can either leave them or do something horrible to them.
The sprites are codersprites, except for the locker, please forgive me
* Adds programmable nanites to robotics
* Oh yeah i might want to actually PR the files
* nanite injectors, nanite printer, nanite analyzer
* We're back
* remove some reagent stuff
* more removal
* those too
* cool icons!
* might pass travis now
* lotsa code
* tgui fixes/misc fixes
* WE'RE FUNCTIONAL BOYS
* some ui stuff
* Misc fixes, cloud update, access nanites
* activation check
* stuff
* preparing for new chamber sprite
* Physical backups, sensor nanite programs
* techweb sensor nanites
* fix
* include
* fix again
* revert
* blinding nanites
* minor change
* minor tweaks
* makes minor shocks interfere with nanites
* fix
* split trigger file into the others, for consistency
* cleanup, added mindshield nanites to techwebs
* include n all
* how'd that even happen
* Fixed HUD, readded missing remote icon, added nanite scanner, health analyzers can now detect nanites, added stealth program
* cost tweaks
* better term
* new icon! by MrDoomBringer
* icons/tweaks
* tgui build
* boards
* fix
* fixes implants not updating mindshield status
* move implant hud to living
* new remote sprite
* scanner sprite
* biotype checks
* some nerfs
* new open chamber sprite
* Fixes mindshield implants not updating the HUD, fixes uninstalling always removing the first program, adds 25% and 75% health sensors
* correction
* nerfs antistun nanites
* fixes scanners and minor tweaks
* fixes revs with mindshield
* oh yeah haha
* Fixes wonky techweb
* Moves pyro program to weapon node
* Adds defib program and some investigate logging
* mistype
* fix
* fix2
* save your files before committing
* emps can desync from cloud
* pretty outdated
* Cloud backups are now tied to the cloud consoles; you can no longer build a new console to access existing backups.
* UI fix
* more fix
* okay fix for real
* tested and working
* Extra Settings rework, sensor nanites vastly better
* non-unique glitches
* Public chamber, extra settings rework, new sensors, speech program
* Mute and mind control nanites
* mind control into hazard
* better description
* fixes
* fixes relay nanites
* fixes TK access
* mind control costs less
* UI update
* removed pointless code bit
* tgui build
* compiles
* dammit
* paralysis keeps victim upright
* Adds sounds to consoles
* some feedback for some subtle effects
* new chem lore
* Viral nanite customization
* fix
* tgui build
* Added mitosis nanites
* removes glitched nanites from techwebs
* Added flesh eating nanites, poison nanites, hallucination nanites
* ,
* #traviscoding
* Adds memory leak, renames nanite roam node to nanite smart
* Voice sensor + some techweb desc tweaks
* hallucination and Hear() fix
* changes signal registering to the new method
* 75% done, i think
* should be all
* more fix
* more changes
* okay should be fine now
* ninja
* inheritance
* i don't care about originality!
* line endings
* line endings 2
* maybe
* fixes program installation
* new review
* line endings?
* line endings??
* line endings???
* wait do i even use this
* fixes public nanite chamber cloud id
* maint overlay for chambers
* args doesn't work well here
* antiabuse checks
* compile tho
* fixes locked remotes
* disk renaming
* skull echo nanites
* self scan program
* Condenses a lot of sensors into a few generic but customizable versions
* fixes machinery runtimes. Hacky, but a proper fix would likely require a refactor of machinery typing.
* forgot to save
* empty
* metastation nanite lab
* Removes duplicate APC
* fix for nanite chamber
* Raise max programs
* UI Tweaks, aggr. replication rebalance, minor fixes
* let's not do that again
* Fixes nanites meta merge conflict
* Merge conflict v2
* fuck this HDD is slow
* What the fuck did you just fucking say about me, you little leaf? I'll have you know I graduated top of my class in the Lawyer School, and I've been involved in numerous secret DMCA raids. I am trained in law violations warfare and you are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on BYOND, mark my fucking words. You think you can get away with changing the code? Think again, fucker. As we speak I am contacting my secret network of attorneys in the Fox and your IP is being traced right now so you better prepare for an outstanding warrant, maggot. The storm that wipes out the pathetic little thing you call your leaked code. You're fucking done, kid. I can file for an injunction anywhere, anytime, and I can take legal actions in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the Florida Statute and I will use it to its full extent to wipe your miserable ass off the face of Canada, you little shit. If only you could have known what unholy retribution your little "clever" action was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will send you to spend time in a Florida State Penitentiary if you ever decide to travel from Canada to the U.S. You're fucking done, kiddo.
* Adds virus symptoms that interact with nanites
* Fixes spreading nanites being more infective the more protection the victims have
* Review plus public chamber tweak
* . = ..()
* ball
* cloud
* . = ..()
* always press save all before committing
* missed a couple
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
tweak: Fusion has been reworked to be a whole lot deadlier!
tweak: You can now use analyzers on gas mixtures holders (canisters, pipes, turfs, etc) that have undergone fusion to see the power of the fusion reaction that occurred.
balance: Several gases' fusion power and fusion's gas creation has been reworked to make its tier system more linear and less cheese-able.
Fusion, even after my rework, is still kinda lackluster in the 'risk <-> reward' department. It's pretty easy to bypass the consequences of fusion as it stands right now, so I wanted to change that. I think you can suspend your disbelief enough for the new effects. Also, there are a couple balance changes to fusion that I'll outline more below that I noticed happening and theorized could happen, so I tackled those here as well.
More specific reasoning for every change:
Addition of nuclear particles/tesla zap
As said before, I thought fusion should be more dangerous. As to why these specifically, I chose the addition of nuclear particles because I felt like it was at least decently thematically appropriate, and had a lot of potential to look visually interesting. The sprite is pretty much just a downscaled gumball with some added fluff. They all have random colors that are chosen when created, and fire out from the fusion holder's turf in random angles and with a 1 decisecond delay. I chose tesla zaps because.. well, they're pretty cool, felt reasonable enough (an extremely powerful release of energy goes well with fusion) and they mix up the damage types caused by fusion (brute from explosion, burn from zap, tox from radiation/particles). I added TESLA_FUSION_FLAGS because the tesla zaps defaultly just ended up exploding whatever they came out of (canisters usually) and ruined the whole thing.
BZ fusion power nerf, nitryl fusion power buff
These go hand in hand. When I first made BZ useful for fusion, I completely forgot (or maybe it just wasn't merged yet, don't remember) that xenobio started with a BZ canister. So, it was super easy to cheese high/super tier fusion by just stealing the canister from xenobio. Thus, I switched BZ's role in fusions progression to nitryl instead, which is harder to make and currently doesn't see much usefulness outside of making it for stimulum.
Fusion analyzing, addition of analyzer_results to datum/gas_mixture
I quickly realized after my fusion rework that there wasn't any ingame way to really quantify how good a fusion reaction was, which is a mistake on my part. Now, you can analyze the power of a fusion reaction and its tier after it happens. I added analyzer_results, since reaction_results worked in a matter that didn't fit what I wanted (reset completely every react() cycle) and I didn't want to change it. analyzer_results is only ever initialized when it's actually going to be used, which currently is only for fusion.
Overall fusion code cleanup
Pretty self-explanatory. I moved all the effects (radiation, tesla zap, etc) to one area instead of having it happen separately for every tier. Now the tiers just set variables used for those effects. Apologies if the diff is kinda hard to read.
Changes to gases created
Low tier is now BZ/CO2, mid tier is nitryl/N2O, high tier is stimulum/pluoxium, and super tier is tritium.
Gas creation numbers are lower across the board, mostly for bz/nitryl/stim.
BZ/nitryl/stim were added in low quantities to the tiers to help with the progression of the various tiers. It didn't really make sense that before, super tier fusion gave stimulum/pluox when the only feasible way to get super tier fusion was using stimulum, and the low tier rewards were straight up useless. Tritium for super tier was chosen because I think it's the gas with the most potential of causing a massive disaster in this scenario.
Plasma no longer counts towards gases fused
Before this change, I realized that you could just stack as much plasma as humanly possible and a minimum amount of trit to instantly get several thousand moles of BZ and potentially other gases for free. No thank you.
I'm still not 100% satisfied with fusion, so expect more PRs like this in the future.
* different guns can be inserted into emitters
* fixes portal gun runtime
* You can now switch type through wires
* makes one line more readable
* Fixes being able to grab nodrop guns from emitters
It is my belief that science weaponry should exist but not be "just better energy guns/whatever". Right now, portal guns are actually pretty powerful, as their random teleport can space people (especially if they have bohs), and actually does burn damage, albeit very little. I want to make scilathe weapons into useful utility things that can be weaponized if you use it right and in somewhat niche scenarios.
This PR will make wormhole projectors into more utility than combat.
* changes cost of AP ammo from 6 to 8
* incendiary damage from 15 to 20
* AP ammo 8 TC to 9
felt that 2 extra TC per magazine was not a significant enough difference
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.
turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
* Tones down values for a lot of different hotspot_expose calls
* Update LINDA_fire.dm (#38217)
* Automatic changelog compile, [ci skip]
* Slight changes to camera network code (#38223)
* Removes a useless var and corrects two cameras to use the automatic naming system to reduce dv usage.
* Damn github didnt notice this was here....
* Fixes datediff not returning (#38215)
* Fixes pocket items being deleted when monkeyizing (#38220)
* Automatic changelog generation for PR #38220 [ci skip]
* readds atmos heating from hotspot_expose(), as requested by naksu
* Tones down hotspot_expose values for sparks moving and destroying
* tones down item heat by a lot. no more burning your face off after smoking a cigarette
The logging is now stored in the persistent client/player_details datum,
that will survive an entire round
The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob
A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
* Reduces selfcharge gun processing/icon work
* More efficient gun overlays, adds old_ratio var
* oh my god it was calling the egun's update_icon?
* percent proc
* Attachment overlay overhaul
* Cut overlays in egun update
* ebow 1000% better overlay management
* Update gun.dm
* Pointless check
* Giving KA and children consistent icon behavior
* Update kinetic_accelerator.dm
* Fixed
* ..() readded
* ..() readded
* ..() readded
* Antur didnt catch this one heck
* Because confusing vars are apparently more maintainable
* Gun overlays 2: Electric boogaloo
* another one
* Chameleon guns are removed
* tentacles everywhere
experimental: Tesla damage has been reworked to structures and objects have been worked with a linear scaling.
experimental: All tesla weapons now no longer need to hit a mob to arc lightning; however, they will no longer stun, and only hit each target once.
tesla_zap vars are now a single bitfield.
No ingame changelog cause these are supposed to fool people.
Changes:
Hallucinations now pick from a single weighted list, instead of being separated in tiers. The more obvious a hallucinations, the less likely it is to appear.
Hallucination is now a contantly ticking down variable. 1 hallucination = 2 seconds duration. Hallucinating effects have been rebalanced to fit this.
Hallucinations have a random cooldown ranging from 10 to 60 seconds. The status will still tick down in the meantime.
The Sounds hallucinations has been split in three: realistic sounds (likely), weird sounds (rare), and station messages (i.e. the shuttle arrived, blob warning, etc.)(also rare).
The Bolts hallucination now stops you from bumping doors open. You can still click them to open them.
Removed the singulo hallucination. It's pretty much impossible to make it realistic enough, and it's too widely known to scare someone. It's an annoyance and a definite tell that you're hallucinating.
Removed the xeno attack for the same reasons. It was kept in the code to serve as a pseudotemplate for hallucination mobs.
Removed the fake attacker hallucination. Trying to replicate full attack and defense code as well as managing icon generation with blacklists and all is just not worth it. It would never be realistic enough.
RDS hallucinations have been either rolled into normal ones or removed (the OOC ones). No reason to keep them separate, aside from throwing off the hallucination odds (which has resulted in complaints about the cult victory warning being too common).
Added/edited a lot of strings for the text-based hallucinations. I could definitely use a few more for the message hallucination, i got writer's block there.
* kill BANG_PROTECT_2
* let's put this back in
* dirty
* kill OMNITONGUE_2
This is a write-only variable, probably leftover from some refactor years ago
* kill flags_2
Adds spell cards. They're a wizard spell that shoots a burst of 5 semi-accurate homing cards.
Projectiles now have a homing framework, complete with some variant of simulated inaccuracy.
The said wizard spell will make use of a new mob component, that allows that mob to select targets by moving their cursor near them. It will give a visual and lock onto the nearest mob to the cursor, allowing the homing projectiles to target on the locked on mob/object.
Removes colliding variable from projectiles - We never used it after Bump was refactored to Collide.
Images soon when I get the lockon datum-components to work.
cl Floyd / Qustinnus
del: Removes short-term effects of mood
add; Adds long-term effects of mood by implementing sanity which goes up with good mood, down with bad mood, but takes time to change. Your sanity can be seen as your average mood in the recent past. All effects of moods are now covered by this system
add: Beauty component, currently only attached to cleanables, but you could attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone in the room.
refactor: Removes the original way of adding mood events, uses signals properly instead.
fix: Cleanables "giving" area's free beauty during initialization
fix: Fixes some events not clearing properly
/cl
Fixes#36444
From now on mood no longer affects you directly, instead it decides whether your sanity goes up or down, when your sanity gets too low you will get the effects of what mood did before.
This means getting hit with bad moods due to being attacked while not mean you are doomed anymore, and you get a large timeframe to get away and just fix your mood later.
I also added the beauty component, you could add this to any object and it would either make a room prettier or uglier, comparable to DF or Rimworld. You could add traits to make certain people ugly, for example.
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)
add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states
What this PR is
This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:
Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
Hunger rate - You gain hunger slower if you are very happy.