Commit Graph

2711 Commits

Author SHA1 Message Date
c420-o
7e0bb2783b Swag outfit added (#56491)
Swag outfit added
2021-01-29 19:55:23 -08:00
RaveRadbury
b80862814a Make fake moustaches tiny (#56460)
Chef fake moustaches are now tiny and can fit in boxes.
2021-01-28 09:30:09 +00:00
tralezab
05c319f1da Reactive armors other than teleport and table now have a cooldown (#56415) 2021-01-26 18:41:51 -08:00
GuillaumePrata
355b0ffb5a Fix the Chief Engineer's envirogloves not being Insulated like other Plasmaman engineering gloves (#56426) 2021-01-26 18:38:03 -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
tralezab
7f287d72df no return moment (#56384)
mind magnification helmets no longer work when admins have it disabled.
2021-01-25 00:22:33 -08:00
Timberpoes
e3971aa9a3 Fixes Doctor Hilbert breaking crew monitors. (#56364) 2021-01-25 00:21:24 -08:00
Ryll Ryll
c6b25607a9 Adds gunboots (#56138) 2021-01-21 18:44:54 -08:00
Fikou
dc009f4c20 Reinforcing the mining hardsuit now upgrades its sprites (#56288) 2021-01-20 22:11:24 -08:00
coiax
d4cdeab33d Refactors step_action to pure signals (#56238)
For historical purposes, there was a `step_action()` proc on shoes,
which were called on every step. It normally triggers a signal, which
some components, like squeaky clown shoes use to hook on behaviour. But
there were a few remaining procs that still used the old format; they
now use signals.

This thus saves a proc call on nearly all Move() calls by humans, unless
their shoes have special behaviour, and also enables non-shoes being
able to hook into stepping behaviour.
2021-01-19 21:08:21 -05:00
coiax
66bbf1e58e Refactors a common pattern, clothing traits (#56233)
A common pattern is clothing that gives a certain trait when equipped in
the correct slot, for example, mesons making you immune to supermatter
madness, or the bartender's beer goggles giving them the ability to
"booze slide".

Now, instead of implementing essentially the same logic on equip and
dropped, it is now supported at the clothing level with the
`clothing_traits` lazylist.
2021-01-19 11:21:51 -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
Fikou
be4da4cb10 edits clockwork helmet sprite, makes clockwork boots unable to be tied (#56148) 2021-01-18 16:13:45 -08: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
Cartographer-D
4a7120e320 Makes the rest of large guns bulky (sans traitor objectives and a few others) (#56132)
## About The Pull Request

What it says on the tin.
Practically everything but pistols, SMGs, and traitor weapons can no longer be stashed into bags.

I had considered making some large guns that traitors can order (like the blast cannon) also bulky, but concealment is important for some of those things.
However, the bulldog shotgun and sniper rifle have been made bulky, because they're shotguns and sniper rifles!

Traitor objectives are still normal size and can fit in backpacks.

## Why It's Good For The Game

Makes previous changes to weapons and thus balance consistent across our full list of guns. Players can clearly understand what can fit in the bag based on the size of the weapon.
2021-01-15 21:40:39 -05: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
kopoba
4f82e3aea6 Yellow slime core and Cakehats not directional light now (#55987)
Yellow slime core when turn on is 360deg as at should be and not directional light and slightly brighter.
Cakehats also get there 360deg light.
2021-01-07 17:51:02 -03:00
GuillaumePrata
beaea876ea Adds sprites for adjustable skirts for most jumpsuits that have one. (#55922)
Adds sprites for adjusted/folded jumpskirts sprites made by Papaporo, just like jumpsuits have.

Makes Doctors life a lot easier. It's really annoying when you can quickly adjust the jumpsuit of someone for a surgery while if they have a skirt you end up being forced to fully strip the patient.
Hopefully less ID theft for when doctors decide to fully strip you at stasis.
2021-01-07 16:21:41 -03:00
小月猫
e266a51fc3 minor cytology related tweaks (#55910)
makes the new cytology items compatible with Biobags and Labcoats
2021-01-06 13:54:08 -03:00
spessbro
3e17de3ff5 Clown mask transmutation (#55954)
makes the clown mask's dye_color use the DYE_CLOWN define
2021-01-06 12:19:07 -03:00
Danny ter Haar
e3729edac5 fix lizard legs skirt issue (#54925) (#55929) 2021-01-05 12:32:18 -08: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
Jordan Brown
fb0a1f6367 Merge pull request #55834 from coiax/k33p-th4t-d15k
Move disk verification into skillchip
2021-01-01 12:53:27 -05:00
necromanceranne
66e1ca1646 Clownlike creatures are now more consistent. #fix #honk #banana (#55603)
* Bananium golems can wear clown shoes and are clumsy. Clownlike creatures, including clowns, bananium golems and clown ops, heal from bananas and bananahonk. Clown Ops also don't understand death, like real clowns!
2020-12-31 18:17:46 -08:00
Qustinnus
f66ca34626 Refactors monkeys into a species (#55614)
Changes monkeys from carbon subtype to species.
2020-12-30 16:30:15 +01:00
Jack Edge
3606b62033 Move disk verification into skillchip
🆑 coiax
tweak: The knowledge of nuclear disk serial numbers is now stored as a
skillchip installed in captains, death squad members and nuclear
operatives.
/🆑

Captain gone braindead, lost the pinpointer, and you need to work out if
a given disk is legitimate? Just cut out the skillchip from their brain,
and install it for knowledge of that horrendously long serial number.

---

Moving the TRAIT_DISK_VERIFIFER from an innate mind trait from the job,
to a skillchip allows for some more in-game methods to gaining access to
disk verification, including the chameleon skillship.
2020-12-30 14:31:44 +00:00
coiax
b8dbe4c1ab Make eye(s) of god NODROP only when equipped (#55651)
* 👀 Make eye(s) of god NODROP only when equipped

🆑 coiax
tweak: The "eye of god" only becomes unremovable when put in your eye.
/🆑

- The lavaland chest reward "eye of god", will only become NODROP (ie.
  unremovable) when actually placed in someone's glasses slot, rather
  than becoming immediately stuck in your hand.
- Eyes of god now hurt when implanted, causing temporary blindness and
  screaming.
- A pre-doubled eye of god is now a typepath.
- Eyes of god are no longer made out of glass.
- Glasses colouring procs have been moved to the top of the glasses
  file, but unchanged.

* Apply suggestions from code review

- Refactor out explicit `src` with implicit instance access.
- Use ternary string expression for burrow grammar

Co-authored-by: Fikou <piotrbryla@onet.pl>

* Fix NODROP staying on beheading

Even though the item is NODROP, it can still be removed from someone,
such as when they're beheaded. We don't want it to remain sticky, so
remove the NODROP trait.

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-12-29 14:25:45 +01:00
Ghom
7bc81e5831 Refactors how movetypes are added and removed, No timers this time. (#55444) 2020-12-28 17:57:51 -08:00
spessbro
b2493b7c39 The paper wizard robe says the word right (#55746)
* professional coder

* elmers
2020-12-28 02:11:00 -08:00
necromanceranne
505dc8f057 Uranium Golems: Punch to Irradiate, not Exist to Irradiate (#55602)
* Uranium golems no longer irradiate by mere presence. Instead, they irradiate by punching people. Also some statistic changes including durability from brute damage, punch damage, etc. Also uranium golems can wear engineering clothes

* Adds radiation emissions from being struck as a uranium golem
2020-12-25 23:54:04 -08:00
Fikou
3fc03b6bc4 gives SOUL to ancient jumpsuits (#55634)
* gives SOUL to ancient jumpsuits

* regular icon too
2020-12-23 19:09:13 -08:00
coiax
78b415db20 Refactor supermatter proximity effects (#55653)
- Psychologists are no longer mistakenly told they have headaches
when near the supermatter.
- Immunity to supermatter hallucinations is now provided by a new trait
  `TRAIT_SUPERMATTER_MADNESS_IMMUNE`, provided by mesons, and being the
  Psychologist.
- The ability for Psychologists to cause the supermatter to act slightly
  differently (by turning pink, and having a higher minimum healing
  temperature) is now a trait, `TRAIT_SUPERMATTER_SOOTHER`, which
  currently only Psychologists get.
2020-12-22 16:12:37 -08:00
Ghom
cd1d49112c Fixing a very old issue about lizard snouts and hoods, fake mustaches and similars. (#55574)
Fixing a little visual issue with certain hoods, fake mustaches and similars making lizard snouts magically disappear when worn.
2020-12-20 16:28:52 -08:00
Fikou
fc241bf8ae berserker hardsuit now has mining suit levels of explosive protection (#55549)
you wont gib from gibtonite because you decided to take some loot anymore
2020-12-17 14:19:04 -08:00
spessbro
05fcf6a4d6 Export scanner doesn't need to link + old bounty code is gone (#55504)
Removes the Export scanner's need to link with a console and cleans up the old bounty code
2020-12-16 19:18:29 +00:00
Qustinnus
12c1464bc3 [READY] Creates Datumized AI and applies it to monkeys (#55238)
New AI system, implemented for monkeys.
2020-12-13 13:19:54 +01:00
Jared-Fogle
dbfa2261c2 Moths can now consume clothes again (#55356)
Fixes #55347.

Because the food eating is invoked async-ly, the qdel was being run while you were still taking a bite. This means it was no longer edible, thus quitting the check after the timer was finished.

This moves moths eating clothes behavior to instead lazily create the food item once chomped into, which is then preserved and reused until the clothing itself goes away.
2020-12-11 00:11:45 +00:00
CRITAWAKETS
c07574ae77 Adds in the admin outfit. (#55374)
So i was told to make this if i wanted to get an outfit that actually could work on things like radiation. I also gave it a box full of stabilized extracts because those give quite good effects like more speed and regeneration.
2020-12-11 00:10:33 +00:00
Jared-Fogle
7d3fd4355f Everything that uses maptext now uses the class that makes it actually readable (#55420)
Adds a MAPTEXT macro that wraps the given text in the maptext class, the thing we use for Runechat to make it so you can actually read it. Everything that sets maptext now uses this.
2020-12-10 23:25:46 +00:00
LemonInTheDark
92f509ea80 Revert "Refactors how movetype flags are added and removed and the floating animation (#54963)" (#55432)
This reverts commit b8425c003a.
2020-12-09 19:30:28 -08:00
Ghom
b8425c003a Refactors how movetype flags are added and removed and the floating animation (#54963)
I wanted to refactor how movetype flags are added and removed into traits to prevent multiple sources of specific movement types from conflicting one other. I ended up also having to refactor the floating animation loop (the one that bobs up and down) code in the process.
Why It's Good For The Game

A way to avoid conflict from multiple sources of movement types.
This also stops melee attacks, jitteriness and update_transform() from temporarily disabling the floating movetype bitflag altogether until the next life tick.

Tested, but i'm pretty sure improvements could be made.
Changelog

cl
fix: jitteriness, melee attack animations and resting/standing up should no longer momentarily remove the floating movement type.
/cl
2020-12-10 09:28:32 +13:00
Qustinnus
8737e8cb80 Small do-after refactor (#55172)
This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.

For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.

I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.
2020-12-07 13:04:51 -08:00
Fikou
aa9c58f1f8 Reworks the champion's hardsuit (#55337)
fixes hiero staff recall mesage not working
Reworks the champion's hardsuit
changes:
name: champion's hardsuit -> berserker hardsuit
armor: (MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) -> (MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 10, FIRE = 100, ACID = 100)
doesnt have ert stripping time so its shorter
it cant hold the pka or cutter on itself, but it carries knives, resonators, spears and the crusher
adds berserk mechanic: with every hit you take thats not from yourself, you get berserk charge equal to the damage dealt to you divided by 4, if its a projectile attack this value is multiplied by 1.5, so a 20 damage melee hit gives you 5 charge, while a 20 damage projectile gives you 7 charge
use berserk ability with 100 charge to go berserk
you move a bit faster, you hit 2 times faster, you get a cool color and your melee armor is massively increased for the duration (about 10 seconds?), but you cannot shoot guns during the effect
2020-12-06 23:47:12 -08:00
Qustinnus
f887155b27 Kills oldfood, Puts newfood on top. (#55160)
Slays the last of old-food, making new-food the new normal.

Co-authored-by: MrMelbert <kmelbert4@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-04 00:11:47 -08:00
Timberpoes
5d6e6e81ab Extends the IC chat filter to be checked in two major renaming procs (#55217)
About The Pull Request

Honestly, I'm not sure this is the... Correct solution? But people more familiar with this will likely show me da wae.

Prohibits creating names that can't actually be spoken in-character due to chat filters by adding CHAT_FILTER_CHECKs to the procs that handle sanitising them.

For admin-utilised renaming procs, they'll be given a simple alert box to warn them their chosen name contains words prohibited by the IC chat filter and be allowed to confirm or cancel out.
Why It's Good For The Game

If you can't speak the name IC, chances are the name shouldn't be allowed at all. Players may occasionally be forced to ahelp certain names because they contain words prohibited in chat filters.
2020-12-03 09:07:11 +13:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Ghom
4c31b0e116 CanUseTopic() refactor. (#54747)
* CanUseTopic() refactor.

* Forgot about default_can_use_topic. Tested and working.

* Update bin.dm

* no-nonsense.
2020-11-25 13:12:12 +01:00
NightRed
fb51b24d21 Humans have more complicated body temperatures (#54550)
This changes how carbon/humans stabilize body temperature, and changes how damage and wounds are applied based on temperature.

Humans now have a core body temperature along with body temperature. The core temperature is used for natural stabilization and what viruses like fever and shivers target by raising or lowing the core temperature of the mob.
The standard body temperature still exists and acts exactly the same for most items at this time but is now treated as surface temperature in humans.

Damage from body temperature for humans is now based on the core temperature instead of body temperature now.
Humans will now receive burn wounds when the body (surface) temperature is to high for to long.

This causes you to see alerts for the area temperature before you take damage in most cases improving visibility of dangerous situations.
2020-11-24 22:37:36 -08:00
Qustinnus
41157f5d6b Moves grown food to newfood (#55040)
Moves grown food to newfood
Gives trash element support for callbacks for item creation override
2020-11-23 14:00:23 -08:00
Jared-Fogle
ac68b14018 Fix nearsighted glasses being able to be neutered with quick swap (#54916)
You can no longer quick swap another pair of glasses with nearsighted to see perfectly.

Currently you can:

    Choose nearsighted
    Quick swap to another pair of glasses
    See perfectly

This wasn't fixed by Shaps' changes since those call dropped, which do not run through unequip code.
I know one of you is abusing this, show yourself!
2020-11-22 09:54:02 -08:00