Commit Graph

26592 Commits

Author SHA1 Message Date
necromanceranne
0d97087d38 Fixes up the crate climbing element being incorrectly removed when opened (#56518) 2021-02-01 21:08:20 +01:00
HugoOdaX
4e2ffd1338 Makes blast doors/shutters and blast door controllers buildable and deconstructible (#56486) 2021-01-31 12:53:00 -08:00
Sparkezel
e8886025a7 Heretic influence fix (#56461)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-01-31 12:49:27 -08:00
Timberpoes
e85cf07b96 Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#56515)
Hypnosis and brainwashing now have entries in the Player Panel logging
under attack and entries in the attack logs.

Mirrors some logging that would otherwise just be in the game logs.
From an admin-perspective, issues where you'd want to check
brainwashing/hypnosis tend to go hand-in-hand with issues relating to
attack logs as opposed to game logs.
2021-01-31 20:21:38 +00:00
Qustinnus
7202bcf8e3 Fixes sheetifier not being able to take hauntium (#56488)
Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-01-31 00:00:27 -08:00
RaveRadbury
ade69e6425 We're </span>\n now, lads. (#56487) 2021-01-30 23:50:07 -08:00
ArcaneMusic
a5576c0101 Vend-A-Trays can be moved onto tables (#56503)
Vend a trays are mapped onto kitchen tables and bar counters. They can't be moved back onto the table with deconstructing the table. This gives them the table passflag, allowing them to be just moved back onto the tabletop.
2021-01-30 22:17:25 -03:00
Tristrian
a4a7cf03bf Adds missing duffelbags for some jobs and update their respective vendors and closets. (#56505)
add: Added duffelbags for Science, Botany, Virology, Genetics, Mining and Chemistry.
2021-01-30 19:36:00 -05:00
AdipemDragon
716c6db05a Bread Sprite Update (#56498)
Bread Sprite Update
2021-01-30 19:29:07 -05:00
RaveRadbury
2a910f2f99 Adds Extrovert and Introvert Quirks (#56490)
Adds Extrovert and Introvert quirks. Removes the free bar moodlet, gives it to extroverts, makes a corresponding library moodlet for introverts. Introvert and Extrovert are blacklisted and therefore mutually exclusive.

Seems a bit thin, could we do x?
Yeah sure, and I'd appreciate feedback on where you'd like to see these quirks go. I want to start basic with "where do they spend their free time?" Rather than trying to do something big like moodlets for speaking a lot/little, especially because that seems a bit unbalanced and we already have a quirk that penalizes speech. I'm also looking to avoid unrealistic stereotypes, speech penalties to introverts are kind of unreasonable, introverts aren't inherently bad at talking, they just like alone time.

Why make it free?
I'm taking away a pre-existing moodlet that was free for everyone, also positive quirks are capped at 6 and I see this quirk as being essential to character building so I would prefer not to make someone pick between giving any sort of depth to their character and their powergaming loadout.

Having players define their character as introverted or extroverted and reinforcing the decision through gameplay mechanics is a great way to get them thinking about their character beyond an avatar to make other spacemen horizontal with. I'd argue that it is as foundational as decisions like gender, species, and age.
This opens up the library as a social space, as the two people who take introvert might occasionally run into each other when they are recovering mood and sanity there.
2021-01-30 21:28:12 -03:00
Kylerace
98f58208c8 Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#55645)
Refactors the holodeck to use map templates instead of copy_contents_to, which every maintainer seems to have complaints about.

Fixes #41485 because the matches become part of the spawned list created by ssatoms
Fixes #54789 because the holodeck area no longer has the NO_TELEPORT flag
Fixes #55676 because the map templates cant be changed midround unlike the program copies in the centcom z level
Fixes #49318 because the holodeck no longer creates new areas like the original did

This pr also changes initTemplateBounds to be a /datum/map_template proc instead of a parsed_map proc. This was mainly so I wouldn't have to duplicate vars between map_template and parsed_map. It's also nice because there's no longer a parsed_map proc inside the map_template file, especially when it didn't need to be a parsed_map proc.

The holodeck sims wont take up space in the centcom z level any more (which allows for more possible programs in the future), and map templates are more heavily tested. This is also a chance to future proof the holodeck against bugs. Holodeck also seems more responsive. This should allow for a second custom holodeck in some future ruin as well, although that of course will not be in play for the near future because of the offstation content ban. Also I documented the fuck out of the holodeck
2021-01-30 11:56:29 -03:00
ATH1909
380ced3234 removes some unnecessary code from Oztek boomerangs (#56479)
## About The Pull Request

Removes a section of code from Oztek boomerangs that is supposed to turn your throw mode off after you throw them.

## Why It's Good For The Game

Throw mode already toggles itself off after you throw something.
2021-01-30 00:06:16 -05:00
Putnam3145
c96ede586c Fixes some awful, awful initial gas mixes. (#56403)
Best not to have shitty, broken code that should've kept a PR from being merged in 2018 that never got fixed around, right?
2021-01-30 00:05:01 -05:00
Y0SH1M4S73R
75da4a0b70 Visual Indicator for Bad Touch Quirk (#56474)
Adds a visual indicator for when you trigger someone's Bad Touch quirk.

Players who have this quirk may not have the time to convey that they do
when hugged, as the hugger may be off-screen by the time the quirk holder
has finished typing a say or emote. This provides a clear indicator that
the quirk holder gets a negative moodlet from hugs.

Co-authored-by: Y0SH1M4S73R <Y0SH1M4S73R@github.com>
2021-01-29 14:54:17 +00:00
TemporalOroboros
11b3d16edb Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)
* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix
2021-01-29 14:34:59 +08:00
elle
3fa2ad5c99 fixes various grammar issues (#56446)
fixes misspellings of 'permanently'
fixes grammar with bandaging wounds on yourself
2021-01-28 17:23:30 -08:00
RaveRadbury
b040ac92b8 Adds trait-dependent room moodlet check (#56462)
Moods caused by areas can now be gated by requiring a specific trait
to trigger it.

Added a positive moodlet for the Chapel, but only for people with
the TRAIT_SPIRITUAL trait.
2021-01-28 11:07:17 +00:00
AnturK
8c69586774 Adds aquariums and aquarium fish. (#56343)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-27 12:44:36 -08:00
Qustinnus
c51b77f1de Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728) 2021-01-27 12:27:47 -08:00
NotRanged
1f49c2bd65 Change holosign examine; show sign count (#56440)
The examine text of holosign creators now show how many projections are
being maintained.

Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-01-27 16:44:11 +00:00
Arkatos1
13c96e7b4b Changeling flesh disguise fixes (#56344)
* Changeling ID icons

* Examine fix

* Suit storage fix

* Cleaner ling ID code

* Cleanup

* Nodrop cleanup

* Cleanup
2021-01-25 02:02:11 -08:00
Sparkezel
3c9913b12c The day has come gamers, the mosin nerf/rework (#56319)
* THE NERF

* fixes a dumb mistake

* Sanity check and second thoughts

* mosin jamming

* adds the cleaning supplies, sprites, slight changes to dmg and jamming and HNNNG ONE LAST BUG

* adds maint kit to russian surplus, second try at fixing

* everything is fixed now :)

* finishing touches

* Last fix?

* fix

* fix var names

* a new sound and few more fixes

* add /brand_new variant to all ert/special spawned mosins, added a check if bolt is locked

* Bolt_locked is true when bolt is open 😂

* added a clamp just in case

Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-01-25 01:58:50 -08:00
TemporalOroboros
1f1b58bb26 Adds Neon Carpet (#55782)
* Adds emissive carpet, adds plane support to decal element

- Adds a basic abstract/debugging emissive carpet
- Makes decals capable of supporting plane
- Adds auto-smoothing decals

* Adds simple neon carpet variations

* Adds neon carpet reagents and recipes

* Refactors emissive blockers to allow multiple layers of emissive / emissive blocking objects

- Splits the emissive and emissive blocker plane masters into several plane masters which handle different layers of emissiveness.

* Makes neon carpet tile stacks emissive

* Rearranges and docs some emissive plane masters

- Folds the overlay lighting plane master into the emissive planes since it is also used to mask the lighting plane

* Fixes null mats_per_unit stack recombining after splitting

- I think I broke this a while ago when I reworked how stacks handle materials. Whoops.
- This basically only effects carpet at the moment. Good thing I did this when I did!

* Adds neon carpets to cargo

- Adds a cargo supply crate containing a _lot_ of neon carpets for 3000 credits

* Fixes neon carpet highlights leaking through vending machines and such

- Turns out vending machines axed their own emissive blockers whenever they updated their icon because they cleared their managed_vis_overlays...
- Generic emissive blocking has been elementized and some update_overlays procs have been straightened out.

* Fixes id_arg_index for the emissive blocker element

* Commits @Rohsie's suggestions
2021-01-25 01:55:04 -08:00
cacogen
c1af6eb1bd Painting Exhibit tweaks (#56349)
* Painting Exhibit tweaks

- Replaces use of C variable with named variables (e.g. crayon, canvas, current_canvas) in artstuff.dm for readability
- Simplifies painting structure's descriptions and moves wirecutting and persistence tutoring to a notice shown on Examine()
- Adds autodoc for two painting structure vars
- Adds a new desc_with_canvas var to painting structure that's used to set its description when it has a canvas
- Adds a new update_name_and_desc() proc to painting structure called when a canvas is added or removed
- Makes it so painting structures are named based off the painting rather than keeping their generic name

* Changes default names to refer to the "exhibits" as exhibit mountings

- Changes "Secure Painting Exhibit" to "Curated Painting Exhibit" as it's more intuitive
2021-01-25 00:37:25 -08:00
RaveRadbury
37fac485a4 Lets more things be put on trays (#56386) 2021-01-25 00:27:01 -08:00
Timberpoes
e3971aa9a3 Fixes Doctor Hilbert breaking crew monitors. (#56364) 2021-01-25 00:21:24 -08:00
Timberpoes
8f2c025744 Adds combat logging to noogies (#56368) 2021-01-25 00:19:07 -08:00
Timberpoes
c4972a5536 Fix #56371 - Some machines do not deconstruct into frames (#56392)
When fixing another stacked machine frame exploit, I included a check on the turf when deconstructing machines - If the turf wasn't blocked, it would pop out a machine frame nice and happy-like. If it was, it'd deconstruct the frame as well leaving behind the metal and wires ontop of everything else.

The exploit was stacking non-dense machines like rechargers and deconstructing them to stack frames. I tested the fix on non-dense machines, but didn't check dense machines. Dense machines block their own frames from spawning because the frame is spawned before the machine itself is deleted.

I considered two options - The first was just making the machine non-dense before it tries to spawn a frame, as it's just being deconstructed anyway and will end up deleted. While incredibly simple, it felt like an uber code-hack.

So I went back and just buffed up the is_blocked_turf proc to accept an optional list of ignore atoms alongside the optional source atom. This lets the proc either check if the turf is blocked in general or check if the turf is blocked to a specific atom, while considering there are some atoms we just don't care about on the turf that could be safely ignored.
2021-01-25 00:17:25 -08:00
eeSPee
adebb20af9 Heretic Themed Toys (#56203)
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-25 00:10:43 -08:00
Qustinnus
a6a334285a refactors climbing into an element (#55978)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-24 13:56:16 -08:00
coiax
5ea2c1dfb4 Reworks skittish quirk to be automatic (#56048)
* Reworks skittish quirk to be automatic

🆑 coiax
tweak: The Skittish quirk will now cause you to automatically dive into
a locker/crate if you move into it while it is closed. Walk to avoid
this behaviour.
/🆑

This makes the quirk more useful, while also making it more thematic,
since the "diving into" behaviour can't be disabled, only supressed by
walking.

The cost is unchanged, as the quirk in its current form is overcosted at
2 points.

The emergent effect of skittish people diving into closets when caught
into explosions is definitely a feature, and not a bug.

* Reworks skittish into a element

Skittish is now an element attached to mobs, when the TRAIT_SKITTISH is
added, rather than code that runs on every single Bump of a closet.

Some crates that don't function like normal crates, like the "loot
mastermind" crate, or the wooden crate than can only be deconstructed,
are not divable into.
2021-01-23 02:28:38 -08:00
coiax
65437675f1 Rework AI status displays with emote and radials (#56255)
🆑 coiax
tweak: AI status displays are now controlled either by emotes (like
`*happy`), or by clicking on the status display as an AI.
/🆑

The code that deals with AI status displays is very old, and was hooked
into events like Login() and Logout(). This reworks the code to
something resembling modern standards.

AIs can control their AI status boards in the same way that slimes can
do with things like `*slimesneak`, and can also use the radial menu to
preview what emotion they will be sending to the world.

By removing the Login()/Logout() code as well, the final BSOD of the AI
will now no longer disappear the instant that the AI leaves their corpse
(calling a Logout()).
2021-01-23 02:04:12 -08:00
Tlaltecuhtli
df08104650 mining keys to open tendrills crates buyable with miner points (#56267) 2021-01-22 13:22:54 -08:00
dragomagol
f837ce4397 Cyborg modules renamed to models (#56312)
Changes the references of borg module (type) to model, adds a file for robot declarations and one for model declarations. Basically trying to make the code layout a little more sane.

Initially changed them to 'configurations' but I prefer model; its meaning is closer to module than configuration and avoids confusion with actual config.
2021-01-22 21:38:35 +02:00
Timberpoes
1989497576 Frame stacking fix and unit test addition. (#56287)
* Reverts #56205

* Allow things without density to bypass checks

* The rest of the owl

* The rest of the owl

* Doc and tweak

* More feex

* RCD machine frame unit test

* I suck

* AAAAA

* Bad at unit tests

* Revert unit tests (for including in another PR)

* Fix windoor_assembly return logic

* Comment /mob/living/proc/PushAM logic

* Windoor assembley logic tweak

* Fix frame stacking

* Unit test

* Better wording from macros?
2021-01-22 21:18:05 +08:00
Ryll Ryll
d982b4b619 Adds Noogies (Perfect for bullying Moths) (#56286)
* i HATE mothblocks
2021-01-22 02:01:59 -08:00
Koshenko
51819e5a52 Refactor card scaling into an element for general item scaling (#56102)
The current TCG code had some code for scaling its cards down when they're on the ground and then scaling them back in hand/inventory. This element aims to preserve this functionality and to allow it work for other items.

While the TCG makes the cards smaller on the ground, this element allows for items to be scaled up OR down when on the floor or in inventory.

While this particular element has to do with scaling, I am looking at ways to expand this sort of icon change functionality to icon_state as well, but there are additional issues with blood decals needing to be redrawn and possibly vis_contents.
2021-01-21 09:49:33 -03:00
ArcaneMusic
6895c58545 Fixes crabmeat (#56274) 2021-01-20 21:59:57 -08:00
coiax
25e476e92a Add deathrattle implant for nuclear operatives (#55903)
Deathrattle implant, comes in box of 8, implant yourself and others, and
you'll get a little notification when they die.

Intended for nuke ops, price around the same as the codebook, since it's
a utility communication item, that actually "plans to fail", so it can't
be too expensive, because it doesn't help them win, just lets them know
how much they are losing by.
2021-01-20 19:30:30 -03:00
Jack LeCroy
928b5b8b32 Monkey Martial Arts (#55583)
Moves martial arts to mob/living and lets monkeys use them.

Monkeys have got arms so they should be able to do cool martial arts.
2021-01-20 21:30:21 +02:00
dragomagol
f54fb8f2fd Replacing magic numbers with defines in robot code (#56241)
While scouring robot code for some (hopefully upcoming) fixes, I found a bunch of gross numbers. These numbers are now letters.
2021-01-19 21:08:10 -05:00
Qustinnus
7c5ff921a4 dynamic threat reports are no longer perfectly accurate. (#56252)
I think the concept of info being wrong fits in a game about paranoia, so there's now a -15 to +15% divergence from the actual threat level when a threat report is sent, and a small chance of it just being downright wrong, to prevent people from just relaxing every time its a relatively safe round (and vice versa)
2021-01-19 21:04:25 -05:00
coiax
71314216f6 Tweaked insulated spray-on gloves (#56232)
Some tweaking and code smoothing of the spray-on gloves. The only
mechanical change is in also letting them be washed off (although it
takes a while under a shower or using a sink).

A visible message also provides better feedback.

* Make /wash a SHOULD_CALL_PARENT proc

A number of things depend on that signal being called.

* Makes suggested changes

- Adds SIGNAL_HANDLER to signal handler
- Changes name of turf variable for readability
- Reenables lighting object override of parent
2021-01-19 08:46:34 +02:00
小月猫
2e764a03c9 Refactors how floors turfs set broken/burnt states + fixes glass plating turning invisible when damaged (#56200)
adds sprites for both normal and reinforced glass plating (i reduced it to 2, from 5, from when the image was taken), the sprites arent the absolute best but arent terrible imho,

refactor to floor code to not dumbly hardcode an initialization for broken_state list sprites, as well as moves burnt and broken states to procs, and has an override to all floor turfs which have both a broken and/or burnt icons unique to it

also changed how certain tiles react when broken, now, instead of magically turning into iron plating when stuff like dirt, lavaland basalt, sand, water, wasteland tiles, you name it. when they break, they will just use their basic icon (typically, wont change), rather than turn into iron plating magically. when asteroid turfs (lavaland basalt, icebox snow, asteroid sand etc..) which have a dug icon break, they change to their dug version instead
2021-01-18 19:07:05 -03:00
Arkatos1
8bc8ae9869 Moonlight Greatsword var cleanup (#56224)
## About The Pull Request

Currently, there are 2 "Moonlight Greatsword" variants placed on a station maps - Delta and Kilo. Delta has varedited nullrod variant, and Kilo has varedited baseball bat variant. Neither of these are ideal - Delta variant is getting rushed every other round for it's antimagic properties, and Kilo variant is quite odd choice for a sharp greatsword. Additionally, them being directly varedited in the map does not help their case either.

Thats why I have replaced both with a new item to solve all these issues - a new sharp weapon with no antimagic and stats of a slightly stronger knife.

## Why It's Good For The Game

Less direct map varedits and no more cheap antimagic.
2021-01-18 12:21:39 -05:00
NightRed
841236c866 Adds wrench able on top of function to grinders (#56205)
Grinders and the like could not be secured on to of a table.
This adds the ability to provide a list of type that the object can be secured on top of.
2021-01-17 17:03:39 -03:00
Thunder12345
9996a8edec Stops encrypted report spam (#56165)
Adds a do_after() to the in-spect scanner, and moves its examine_more() into examine(). Removes an unneeded second way to print a report using attack()
2021-01-17 16:53:25 -03:00
ArcaneMusic
55f78ee862 Shows bounty splits on the civilian bounty console UI. (#56201)
Moves the split that bounties are adjusted by to a define, then makes the UI show the FULFILLER'S profit, not cargo's profit.
2021-01-17 16:52:40 -03:00
tralezab
eef93267f5 Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB) (#55625)
About The Pull Request

The food cart no longer... Does whatever garbage it did before. What, like, store condiments? Terrible. Now you drag it around and set it up, creating a tent with a griddle, smartfridge, and a table. You can pack up anytime. Breaking parts of the tent will pack up the machine and subsequently break it, so careful!
Why It's Good For The Game

The food cart has been an entirely outdated, out classed, completely dead machine to use. We just can do a lot better in 2020. Now it once again has a nice unique function and lets chefs do a new gimmick of being a travelling seller of food. Employs the "steal the janicart" meta from the janitor in the new and equally infuriating "steal the entire damn tent lmao"
Changelog

🆑
add: Food Cart has been completely remade to work as a mobile kitchen
/🆑
2021-01-17 12:12:14 +13:00
Mothblocks
3db9455b92 Revert "separates malf ai from traitor dynamic ruleset (#56090)" (#56197)
Reverts #56090

It literally does not do the one thing its supposed to #56192
2021-01-17 12:08:30 +13:00