Commit Graph

5958 Commits

Author SHA1 Message Date
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
RaveRadbury
833279df9d Adds Quirk-Related "Special Pool" to obsessed for Chaplain, Clown, and Mime targets. (#56357) 2021-01-23 18:58:30 -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
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
Ryll Ryll
d982b4b619 Adds Noogies (Perfect for bullying Moths) (#56286)
* i HATE mothblocks
2021-01-22 02:01:59 -08:00
Ryll Ryll
c6b25607a9 Adds gunboots (#56138) 2021-01-21 18:44:54 -08:00
Qustinnus
c14b26fce4 Re-balances quirk values to be less impossible to nuance (#56037)
negative quirks were impossible to create because there was zero nuance between how bad traits were, for example if you got light drinker and family heirloom, two relatively easy quirks to manage, you can get freerunner. This meant a ton of neutral quirks had to be neutral quirks because giving them even -1 points would make it too easy to get good traits. I've bumped up most quirks by x4 to allow for more nuance between what quirks are actually worth. With some of them being lowered (Like family heirloom and light drinker) as theyre not really supposed to be worth so much for so little.

quick log of changes for CB:
- Every quirk not mentioned had it's point value increased x4 (e.g. 1 -> 4, 4 -> 16)
- mime / clown fan is 2 points (change of -50% with this pr)
- musician is 2 points (change of -50% with this pr)
- depression goes from -1 to -3 points (change of -25% with this pr)
- nyctophobiagoes from -1 to -3 points (change of -25% with this pr)
- junkie from -2 to -6 points (change of 25% with this pr)
- frail from -2 to -6 points (change of 25% with this pr)
- smoker from -2 to -6 points (change of 25% with this pr)
- unstable -2 to -10 points (change of 25% with this pr)
2021-01-21 11:48:54 -05: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
Fikou
dc009f4c20 Reinforcing the mining hardsuit now upgrades its sprites (#56288) 2021-01-20 22:11:24 -08: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
Mothblocks
20ac5f8d23 Fix singularities destroying themselves when getting hit with projectiles (#56242)
Fixes #56222
2021-01-19 21:04:54 -05:00
spookydonut
9ca7184a00 Add better weakref support to qdel (#56206)
* Add better weakref support to qdel

* change request
2021-01-17 12:19:24 -08:00
TemporalOroboros
29008ec019 Linter, shut thee up. (#56193)
About The Pull Request

    Renames a directory such that it does not have a .dm prefix as that is linted against and made it onto master.

Why It's Good For The Game

    The linter can stop yelling at everyone over a filepath.
2021-01-17 12:08:58 +13:00
AnturK
373249fd6c Adds custom icon mapping helper. (#56183)
Allows embedding icon edits in your maps by fetching them from external host.
This is intended for use with live-loaded away/event maps not standard ones.

Also updates rustg defines to expose the additional options arguments. (https://github.com/tgstation/rust-g/pull/59)
2021-01-16 14:18:32 -05:00
Time-Green
7646d3916a Adds database tracking to maintenance pills (#56179)
I originally added maintenance pills, and while already perfect, I felt like polishing them a bit. I didn't do much, just:

- Maintenance pills now track a players score. Gotta eat em all to get that leaderboard highscore!
- More names and decriptions for maintenance pills, most of them suggestions from the old PR
- Renamed floorpill to pill/maintenance in code because that's what they are, no idea why I didn't originally do it

I've also polished the sprite a little bit, because it always looked a bit _too_ shady
![image](https://user-images.githubusercontent.com/7501474/104741899-19624880-574a-11eb-8211-65d89d8d36c4.png)
(Below is old sprite, above is new sprite)
2021-01-16 14:09:30 -05:00
LemonInTheDark
8823354ac1 Increases the clarity of firealarms (#56188)
## About The Pull Request

Makes firelocks closed by atmos issues open when those issues are resolved
Adds a finished proc to atmos_sensitive
Adds a new overlay for fire alarms that are currently triggered due to atmos issues
Makes the detecting var work properly instead of shutting off behavior until the next activity (This avenue needs more work put into it, but that's out of scope for this pr)

## Why It's Good For The Game

I've been getting "complaints" from players about firelocks and cold, and while I think part of it is stuff that will smooth out over time, they do have a point. So let's make fixing firelocks less of a shot in the dark, and more of a minigame.
2021-01-16 13:52:30 -05:00
TemporalOroboros
976c1fcb8c [READY] Bespoke Datum Mats (#55296)
* Bespoke Material Backend

- Adds support for bespoke materials:
  - Reimplements [/datum/material/var/id]
  - Ports GetIdFromArguments from SSdcs
  - Adds a wrapper define for GetMaterialRef
  - Adds [MATERIAL_INIT_BESPOKE]
  - Adds [/datum/material/proc/Initialize]
- Does not actually add any bespoke materials

- [ ] TODO: Code docs
- [ ] TODO: Actually adding bespoke materials

* Some has_material procs and cleaning up some spaghetti

- Adds a pair of has_material procs for use in checking whether a given atom has a given material

* Adds meat

- Adds bespoke meat variants
  - Does not make them accessible
- Shuts up the linter

* Implements bespoke meat

- Makes the material container preserve bespoke materials
- Makes the sheetifier accept bespoke materials
- Makes the autolathe accept bespoke materials
- Makes the gibber produce bespoke meats

* Makes butchering produce bespoke meats

This is jank and really needs to be folded into a unified butchering and gibbing system

* Material documentation

- Adds, fixes, and touches up some documentation

* Material container insertion callback

- Changes the proc used to expand the material container's material list ot a proc used to check whether a material fits into a material container
- Instantiating new materials is no longer O(n) relative to the number of autolathes in existence.

* Makes processing meat conserve materials

- Makes bespoke meat carry over into meatballs

* Makes preserving custom materials an option

- Implements the ability to turn preserving custom materials _off_ for processor recipes

* Fixes all bespoke materials of the same type using the same singleton

- We use ids now, not just types.

* Makes the fat sucker produce bespoke meats

- Because consistency is good.

* Fixes autolathes merging bespoke stacks into normal stacks.

* Makes the callback to test materials for holdibility optional

- @Floyd

* GetMaterialRef -> GET_MATERIAL_REF

- We capitalize macros.

* Removes an extraneous callback

- Makes the sheetifier use functionality I didn't notice I implemented a few commits ago.

* Makes mob and species meat null compatible

* Fixes the ore silo

- The ore silo had really snowflake material handling that has been brought in line with the rest.
- The materials should show up in the correct order.

* Fixes minor lathe bugs

- Fixes stack_traces caused when lathes tried to fetch materials using reagent typepaths
- Fixed the selective reagent disposal topic. I have no idea how long this has been broken.

* Various documentation fixes

- Clarified a couple comments
- Removes an extraneous ?. operator
- Fixed mat floor tiles having bugged reagent temperatures

* More fixes

-/datum/material/meat/mob -> /datum/material/meat/mob_meat
- Adds atom typecheck to material containers.

* Fixes old typepaths
2021-01-15 23:39:58 -08:00
Kyle Spier-Swenson
eba6cc5306 Stack overflow detection for the Master Controller. (#56008)
* Stack overflow detection for the Master Controller.

Using a weakref, we can detect if the mc's stack was ended by byond due to a stack overflow, and restart it without waiting the entire defcon countdown in the failsafe controller.

I built a system around this concept under /datum/stack_end_detector and deployed it to the MC's main loop with checks in the failsafe controller.
2021-01-15 17:43:12 -08:00
necromanceranne
38656dc0e4 Infinite Gun Culling: Gun Kit Edition (#56133)
Every prototype firearm in the game now utilizes crafting to construct it, usually sacrificing a standard version of that firearm in order to produce the new one. The guns are made using gun part kits you print from the security protolathe (or buy, in the case of hellfire lasers).
2021-01-15 23:24:00 +00:00
Seris02
02a0df1ee7 Makes the manifest always have a certain department order (#55917)
Makes the manifest always have a certain order to the departments in it.
2021-01-15 19:47:21 -03:00
Ryll Ryll
787bbeddbb Improves Bleeding Feedback + Misc Wound/Organ Decay Tweaks (+ Removes Teeth) (#56056) 2021-01-14 23:53:34 -08:00
Tlaltecuhtli
d5b823dc9e fixes grenades with prox sensors (landmines) not working (#56150) 2021-01-14 23:38:49 -03:00
Mothblocks
a4c61a37ad [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (#55956)
Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available.

Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.
2021-01-12 01:52:40 +00:00
coiax
3c3e8ecf72 Regular CTF no longer has wounding (#56093)
🆑 coiax
tweak: Regular Capture-The-Flag players can no longer be wounded.
Simulated participants in the Medieval Shuttle can still be violently
murdered with wounds however.
/🆑

CTF is very fast paced, and if you've taken damage without your shield,
you are nearly dead most of the time. However, if you do survive, you're
supposed to slowly heal, but wounds are untreatable on the battlefield.

People still being able to be bloodily stabbed in the Medieval Shuttle
is definitely a feature.

- Aliens (xenomorphs) are still immune to wounds, but that immunity is
  now done with a trait, rather than a typecheck.
2021-01-11 14:47:38 -08:00
coiax
e986d3245c Refactor caltrop component into element (#56020)
Refactors the nearly completely stateless component "caltrop" into an
element. The previous limit on "one message per caltrop per second" has
been changed to "one message (about caltrops) per mob per second".

This avoids a unique component for each shard of glass, and each cactus
in the world, so saves some much needed memory.

A message about "sliding over" caltrops has been removed, since it's
now intended that you only trigger caltrops if you're not lying down.
2021-01-11 18:50:51 -03:00
coiax
89eea73703 Rework job food/alchohol benefits into livers (#55721)
By moving the "special behaviour" of something like security officers
eating donuts, or engineers losing radiation by drinking Screwdrivers,
into traits on the liver, this makes the "origin" of that behaviour more
clearly defined, rather than something that's attached to the mind of
the person. (For example, now if a wizard mindswaps into a Security
Officer, they too can now digest donuts good.)

Having this behaviour be partially visible to the more medically
inclined members of the station (like doctors, and the chaplain for
"entrails reading mystic" themes), means that a dismembered liver tells
a story to those who know how to read it.

Some jobs have more "benefits" than others, for example the only thing
that the liver of a Quartermaster gives them is a sense of inadequacy
when consuming royal carpet.

Clowns having livers that honk make them easier to identify, and plays
into the retconned "bike horns are clown livers lore"? Also, why not cut
out a clown's liver then honk them with it? You monster.
2021-01-11 16:34:40 -03:00
Ghom
39a364b233 Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor. (#55930)
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-01-10 15:03:23 -08:00
Krysonism
b401d02eb0 Fixes 2 really annoying cytology virus bugs. (#56062)
This PR fixes the generate_sample proc so it properly uses virus_chance to determine when to generate a virus. Now most samples will be virus free as intended.

It also fixes the bug where virus penalty and spaceacillin consumption would be multiplied by the number of cell lines, rather than the number of viruses, as intended.
2021-01-10 20:30:04 +00:00
Azarak
ecde1f52b2 [READY] Nukes archeology component and icon_plating and environment_type in favor of base_icon_state. Dig behaviour code improvement (#55819)
* aa

* Removes archeology component. Nukes icon_plating and environment_type in favor of base_icon_state

* Actually maybe lets not use a proc for updating asteroid icon state when its dugged up

* Update plating.dm
2021-01-10 21:17:35 +01:00
Ryll Ryll
6d186482ef Adds Rocket Backblast (#55681)
This PR adds the backblast element, which when attached to a gun, creates giant plumes of fire when said gun is fired. The PM9 rocket launcher that nuke ops can buy kinda sucks and even a direct hit with the standard rockets loaded isn't enough to guarantee a one-hit crit on a direct hit against an armored opponent, which sucks for how much you pay for it. In that vein, I've also buffed the standard rockets a bit, they now do 50 brute up from 30 on a direct hit, and they create flames on their explosion.

Also makes a tweak to /proc/get_turf_in_angle(), since tile coordinates start at 1,1 instead of 0,0 that proc is now clamped to min 1,1 rather than 0,0
2021-01-09 23:27:03 -08:00
Krysonism
38e3ca1a37 fixies (#56054)
You can now ride the banana glutton properly.
2021-01-09 23:14:16 -08:00
Qustinnus
d9e29ff642 Turns squashing mobs into an element (#55725)
Opens up room for extending squashing behavior for future cytology updates.
2021-01-10 00:03:22 -03:00
Coffee
eff178865a Favorite cigarette brand is now put in notes (#56038)
If you lose your cigarettes, it's annoying to have to deal with a negative moodlet because the chatlog saying which brand you need expired. This is just for convenience.
2021-01-09 23:55:50 -03:00
ArcaneMusic
92902a798e Adds a new security bounty and tweaks existing security bounties. (#55952)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-01-09 11:23:30 -08:00
Qustinnus
c9f74a1a92 Fixes slimes riding monkeys and thus falling off of each other (#55887)
Fixes slimes trying to ride monkeys.
2021-01-08 17:42:43 +01:00
necromanceranne
3e59776a2b Line change to fix monkeys never devolving into humans if they started as a monkey (#56007)
I wondered if this would be a problem when I originally made #55844 since I only tested on humans devolving into monkeys and back, but not monkeys into humans if the monkey spawned as one.
2021-01-08 13:27:30 -03:00
LemonInTheDark
6d1cb94ffb LINDA Reforged (#55604)
Speeds up gas movement significantly
Documents the intent and finer details of the atmos system (Thanks dunc)
Fixes excited groups constantly rebuilding, this broke 4 years ago
Fixes superconductors just straight up not working
Allows turfs to sleep while inside an excited group
Adds a new subprocess to SSAir to support rebuilding in this state
Most heat based behavior no longer relies on being inside a fire
Adds a new element to support doing this cleanly
Adds a new subprocess to SSAir to support doing this while a turf is asleep
Refactors air_update_turf to allow for finer control
Makes apcs take damage in heat to prevent infinite plasma fire diffs
Cleans up immutable gas mixtures to make them work properly when the mix has gas in it
Planetary turfs no longer create a new copy of themselves each time they process. We instead use a global
immutable mix
Cleans up a typed for loop in reactions
Canisters will take damage from outside heat now
Speeds up excited group dismantle
Increases the superconductor threshold by 200k
Cleans up some roundstart ATs on some ruins
Uses /turf/open/var/excited to track if a turf is actively processing, preventing a |=
Prevents openspace from trying to melt
Tweaks a canister examine line
Makes planetary turfs reset to base when broken down as part of an excited group
Makes it impossible for planetary turfs to rebuild, just like space tiles
Fixes closed turfs not activating their replacement when destroyed by moving closed -> open turf activation to
the adjacent air subsystem. They were activating and then going back to sleep before adjacent air got a chance
to tick.
Fire alarms will trigger when the area gets too cold for humans
2021-01-08 08:14:08 +01:00
Azarak
7524ab1723 Nearsightness, Blindness, Tongue-tied on_spawn() code improvements, bug fixes (#55807)
Spawning equipment for nearsighted or tongue-tied people is now safe code-wise, and shouldnt do any bugs, nor will they delete your previous equipment. Also blindness doesn't call a redundant expensive proc
2021-01-07 14:57:38 -08:00
tralezab
5ad6fd883f NOTELEPORT errywhere (#55973)
These prevent some cheats or really low effort ways to get to where you really shouldn't be.

Mappers seriously fucking hate jaunting and phasing mechs, as they let you bypass their custom crafted ruins and the like. But it'll also stop more general "you shouldn't be here" stuff.
2021-01-07 14:31:24 -08:00
Qustinnus
79ed05edb4 Reworks the brand intelligence event with AI controller datums (#55778)
These felt like another good test-case for ai controllers that someone could easily grasp, this makes it so that we can use the actual vending machine instead of a fake mimic mob. In theory you could even still use the vending machine, if you like living on the edge ofcourse.

The vendors now try to move towards you, and try to dive on top of you to squish you.
2021-01-07 14:04:22 -08:00
necromanceranne
cdf16a2170 Makes the monkey mutation remember your species through transformations (#55844)
* Makes the monkey mutation remember your species through transformations

* Implements suggestions by ghommie
2021-01-06 10:43:21 +01:00
MrMelbert
4b9869b97d Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)
Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.

You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.
2021-01-05 17:57:11 -05:00
tralezab
1fd0485206 [READY] Hark! The Medieval Reality Simulation Dome Emergency Shuttle! (+speech mutation, NOTELEPORT fixes and teambuilder improvements) (#55424)
* HARK! THERE ARE SOME MAIDENS THAT NEED SAVING!

* claymores, chairs

* mapmerge, price increase, no losing the flag, no teleporting in, other small stuff

* oldworld language, medieval mutation, reviews

* see desc for full changelog

huge improvements to how medieval speech feels, CTF now fully lit, json beautified, bugs squashed and more NOTELEPORT exploits also quashed. (I NEED TO UNDO THIS FOR ATOMIZATION)

* removes my fixes? also bugfixes and CTF separation

* dumb json mistake, starting work on reality simulators

* BOWS ARE BROOOOOOOOOOOOOOOOOKEN

* br

* getting closer to working

* well, mostly everything now.

* finally ready

* removes languages stuff as it is buggy and does not work, fixes more bugs, fixes more bugs, fixes more bugs

* conflict fix

* linting

* more lint

* bow buff, speech fix, TON of ctf fixes

* oh fuck year

* NO MORE INSTA DELETING CREW

* whoops

* review handled

* pooosh

* conflict fix
2021-01-05 00:49:53 -08:00
Qustinnus
c7f09a672b Fixes up icebox cave gen (#55788)
Icebox cavegen generates the correct mobs and ore on the bottom z-level again
2020-12-31 17:44:57 -08:00
Qustinnus
9c3355ecdd fixes griddle (#55836)
forgot to set a var to TRUE and also forgot to return TRUE if crowbar act succeeded
2020-12-31 17:21:28 -08:00
spookydonut
f9bb52e866 Add TIMER_DELETE_ME (#55803) 2020-12-31 13:20:08 -08:00
81Denton
a466b003f6 Merge pull request #55619 from tralezab/pancakes-made-pancakier
Pancakes Griddle
2020-12-31 02:28:07 +01:00
WarlockD
56345975ba The Great Radio Rework: NTNET Part 1 of many. (#54462)
Machinery networking refactor.
2020-12-30 21:54:34 +01:00
AnturK
adcd4af1ff Meat statue fixes (#55790)
Fixes few statue bugs with textured materials.
Makes materials use managed filters. This can have side effects on things that already had unmanaged filters on.
2020-12-30 11:47:57 -05:00