Commit Graph

11175 Commits

Author SHA1 Message Date
Hulkamania
dcc9065fd4 Add a new Emergency Shuttle, Transport Zeta (#45100)
Adds a new abductor themed shuttle to the game, available for 8k 
credits! The shuttle is only unlocked after alien technology has been 
researched!

The shuttle offers some unique items and layout compared to others 
currently available. Two singular entrances with the brig in the back 
means security needs to walk prisoners to the brig area to secure them. 
Unique unlock mechanism encourages either bringing alien tech back from 
Lavaland or stealing some from an abductor.

A few unique items aboard, including alien tools, the experimental 
cloner, and a void core can provide interesting opportunity if utilized 
in the window of time that the shuttle is on station.
2019-07-13 19:58:13 -07:00
nemvar
9936a9438d Remove the VTEC module (#45147)
VTEC is currently broken (as in, completely non functional) and, quite
frankly, it wouldn't be very healthy for the game if it weren't. A -2
speedmod is no joke. What's more fun than no damage slowdown borg?
That's right, one with a movespeed -2 modifier.
2019-07-13 19:23:33 -07:00
ShizCalev
3b9074ac2f Merge pull request #45141 from YPOQ/gravitokineticfix
Fixes gravitokinetic guardian effect lasting after death
2019-07-12 23:53:50 -04:00
YPOQ
47f750485e Documentation 2019-07-12 12:16:47 -06:00
Rob Bailey
37d991d25e fixes bola weirdness (#45127) 2019-07-12 11:11:14 -04:00
nemvar
f5e89798d8 fixes liver? (#45067) 2019-07-12 02:47:52 -07:00
XDTM
95981ea926 Makes the abductor healing gland more interesting (#44903)
* Makes the abductor healing gland more interesting

* Implant rejection

* .

* no vomit for blood regen

* Update code/modules/antagonists/abductor/equipment/glands/heal.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2019-07-12 02:25:31 -07:00
YPOQ
64e4cc4fb5 Fixes gravitokinetic guardian effect lasting after death 2019-07-11 20:16:26 -06:00
moo
bc06bf5794 Changes how explosive guardian bombs work. (#45111)
* Welpsies.

* 2

* comment fix
2019-07-11 16:53:44 -04:00
nemvar
db12b0a884 let's hope this define works fine 2019-07-11 22:20:24 +02:00
nemvar
66af98e75a blocks shove knockdown is now a clothing flag. (#45107)
* blocks shove knockdown is now a clothing flag.

* comment only commit
2019-07-11 12:21:22 -04:00
skoglol
ac96442505 Removes slaughterlings. (#45087) 2019-07-11 11:40:17 -04:00
oranges
800f24393d Convert some code docs into the auto doc format (#45101)
* Document datum, area,atom and some of the mob code

* Update

* Documented mob_helpers poorly

* Brief treatise on mob movement iself

* sdfasdf

* Add title to treaties

* Move readme file for say

* more say stuff for mobs

* Document login and status procs

* Add some goddan links like a boss

* Document some atom vars
2019-07-11 11:39:56 -04:00
skoglol
63967d1b21 Lets the kinetic crusher be one-hand carried (#45110)
* Onehands, need sprites.

* onehand icons, light action.

* light fix
2019-07-11 11:29:36 -04:00
vuonojenmustaturska
2df19c2dcd Fixes whitespace issues with human and cult rune examines (#45094)
* cult runes

* humans
2019-07-10 17:45:56 -04:00
Mickyan
1b8ed8b6b8 weak (#44894) 2019-07-10 19:58:59 +02:00
nemvar
666aa94f34 2 2019-07-10 18:08:37 +02:00
nemvar
d2a9c685e0 Welpsies. 2019-07-10 18:05:04 +02:00
nemvar
4d7cca3acd Fixes vomi/tg/oose runtime (#45063)
* Fixes vomitgoose runtime

* looks nicer
2019-07-09 16:15:47 -04:00
ShizCalev
e0e101237e Merge pull request #45054 from AnturK/permeability
Fixes permeability runtime
2019-07-09 16:05:24 -04:00
ShizCalev
5f34b50b43 Merge pull request #45066 from nemvar/borgmodule
Fixes default borg module runtime
2019-07-09 15:53:53 -04:00
ShizCalev
4a2dfb429d Merge pull request #45056 from AnturK/beelog
Makes logs show bee reagent name
2019-07-09 15:51:17 -04:00
ShizCalev
bd4a36d26c Merge pull request #45058 from AnturK/paiattackbyruntime
Fixes pai runtime.
2019-07-09 15:50:24 -04:00
XDTM
0e07c79902 Fire Cremation (#44764)
Bodies can now be cremated (dusted) by setting them on fire while their limbs are at maximum damage.
The process goes like this:

    Body needs to be on fire
    Chest needs to have maximum damage
    At this point, limbs with maximum damage will start to slowly burn off (or detach, if augmented). Burnt off limbs are deleted, detached limbs will remain.
    When no limbs are left, the head is eligible to burn off, same rules as above.
    When nothing is left, the body will (still gradually) dust, dropping any equipped items (that managed to survive the fire).

Every limb has a cremation counter that ticks up if the limb is at max damage and on fire, and is reduced when the limb is healed. Past a certain threshold, the cremation counter causes the limb to burn off and get deleted or detached.

Extra change: Damage from fire is now applied evenly across the body instead of picking a random limb, to make burning people for cremation more consistent. Without this change, damage tended to plateau after most limbs reached max damage.

Fixes #44755
Why It's Good For The Game

A slow but effective way to dispose of corpses if you have time and access to fire. Makes sense to be able to burn off the evidence, after all.

It's also an extra way to kill off people with NODEATH if you dont have dismemberment tools, as they can be tossed into a fire until they become ash. So flooding the station with plasmafire is now an appropriate response to a zombie invasion.

You can now actually dispose of bodies in lava, instead of leaving a permanent ever-burning husk.

It's worth noting that unless done intentionally or literally swimming in plasmafire, this won't happen randomly.
Changelog

cl
add: Bodies can now be manually cremated by setting them on fire while their limbs are fully damaged.
add: Cremation causes limbs to gradually burn off into ash; once none are left, the body is destroyed.
tweak: Fire damage is now evenly distributed instead of applied to a random limb every tick.
/cl
2019-07-09 11:39:39 +12:00
Emmett Gaines
328fc7b1f1 Adds elements: Lightweight shared components/Global components (#44817)
If you came here thinking this was some game feature then you are in the wrong place. Here is where I ramble about code.

This adds /datum/element as a sort of sibling to components. Only one of each type gets instanced and they do not get tied directly to any particular thing like a component does. Basically they're a very lightweight component for doing simple functionality that doesn't have much state.

Originally this concept came about as a kind of component that could be shared between many parents to reduce some resource costs. Doing this would allow us to componentize more behaviors that are a part of too many things to be viable to have a whole component for every single one. For example a component on every space turf would be entirely unviable. With elements it's much more reasonable.

This implements a prety bare framework and a couple components are migrated to it. It's ready to be used but I fully expect I'm going to need to refine how it works for all the usecases we'll want it for.

Also: this fixes the qdeleted signal. This signal isn't even possible because after qdel is done there's nothing to receive a signal anyway. I've changed it to a qdeling signal instead. I need it to work for some elements to know when to clean themselves up.
2019-07-09 11:26:51 +12:00
nemvar
375a8ea14d Fixes default borg module runtime 2019-07-08 17:08:49 +02:00
Jordie
77ae0c5f5c Merge pull request #44958 from JJRcop/patch-24
Blocked IC chat stats
2019-07-08 23:52:09 +10:00
nemvar
4a8a508433 Gives hivelord broods (legion skulls) the swarming component (#44998)
* Swarmers

* TRUE

* 1
2019-07-08 23:20:31 +10:00
cacogen
8b1df505e9 Makes cleanbots clean slightly faster (#45010)
* Makes cleanbots slightly faster

* Adds the cleaning animation back in and adds a 100ms delay to cleaning

* makes code better with the help of nemvar
2019-07-08 23:11:15 +10:00
AnturK
fc8d46112d Fixes pai runtime. 2019-07-08 12:06:32 +02:00
oranges
37fdfee08a Merge pull request #44843 from Garen7/removeHygiene
Removes Hygiene
2019-07-08 21:53:08 +12:00
AnturK
a7c0a88673 Makes logs show bee reagent name 2019-07-08 11:08:45 +02:00
AnturK
169c3cc591 Fixes permeability runtime 2019-07-08 10:29:39 +02:00
RandolfTheMeh
176bcdad93 Adds Jumpsuit/Jumpskirt Preference (#44883)
Adds a preference for jumpsuit/jumpskirt into the game. Currently runs
a jumpskirt for all occupations on spawn except for miner, since they
have their special lavaland suit, and no skirt variant I could find.
Doesn't remove skirts from lockers/machines yet since I am not 100% as
to whether that should be done (clothes are available generically for
the sake of changing outfits/recovering clothes after a whoops with
some pyrotechnics).
2019-07-05 23:38:50 -07:00
Garen Crownguard
534a9140aa merge 2019-07-05 17:59:38 -05:00
bgobandit
4f3d845ec9 Show message when examining dead simple animals (#44982)
Gives palliative care to an oldass bug that needs to die.

Because this bug is old as fuck, someone in the comments mentions this
being bad for drones. Drones have since had a custom message added,
but this PR doesn't change it since the drone proc doesn't call the
parent.
2019-07-05 11:22:00 -07:00
Krysonism
ffe578aacb [READY]Replaces Trekchems with Cobby Category 2 Chems + Chem Tweaks (#44531)
* Adds adjustLiverLoss & getLiverLoss procs to carbon

* Adds trophazole

Adds trophazole, a brute healer that makes doctors take a more holistic approach to heal, It is highly reagent efficient by converting nutriment to healing peptides. Creates an avenue for cooperation between kitchen and  medbay.

* Adds rhigoxane

Rhigoxane is a chilly burn healer that works best in a spray bottle and is capable of extinguishing fires.

* Adds thializid

This tox healer has great potential and mixability, balanced by requiring the doctor to take note of the patients liver health as well as using proper dilution and an iv pole; that wont fit in a powergamers pocket.

* Charcoal  + trans_to changes

Makes charcoal only work when ingested, and adds a new proc in reagent holder, lets trans_to react the transferred reagents if a method is chosen.

* Medical + Syndicate spray bottles

Medical spray bottles have been added to techweb under the biotech node for medical vapor application, alt click to change their skin.
Two suspicious spray bottles have been added as expensive contraband items in the chemdrobe. They have one extra spray range and a random suspicious skin from a pool of 8.
The large spray bottle and the space cleaner bottle also have new icons.
In addition trophazole and MMF have new colors.

* Adds chempacks

the IV medicine bag, or chem pack is the blood pack analogue for chems, it is easy to fill like a beaker but can also be permanently sealed to prevent spillage and mitigate tampering. It can be renamed with a pen. Both the new chem pack and the old blood pack have been added to the medical lathe and biotech node.

* Adds recipes to thializid and trophazole

Also fixes the rhigoxane recipe

* Medsprays are now medigels + fixes

chem packs can now be stored in the smartfridge and chem bag.

Medsprays were renamed medigels to reduce confusion. Calling them medical sprays made no sense since they apply chems through the patch method. 

The lore for the new medigels  is that they spray a thick gel onto the skin that dries into a film.

* minor fixes + mint frosting

I have tried to fix the problems people have pointed out. And the peptides now taste like mint frosting.

* Readds my cleaner sprites

* Adds liver damage to thializid + adds on_transfer proc

Thializid has a liver cost, the cost is worse if you have already sustained liver damage. Fixes weirdness by moving the reagent conversion effects from reaction_mob to on_transfer

* Fixes chem bag examine

The chem bag examine now werks, also fixed a typo in the description.

* Adds a clumsy check to sealing the chem pack

* Makes kelo, bicard and anti-tox unmixable.

I have retained the tricord recipe for now in case someone manages to collect all 3 through non-dispenser means. Think of it like collecting all the dragon balls but lame.

* Makes damp rag apply on_transfer effects

* glass and food now work with trophazole

glasses and food now call the on_transfer proc via trans_to

* Another round of fixes

Replaces 0/1 values with TRUE/FALSE where appropriate. Removes the debug printout from the spray bottle reskin. Replaces one instance of L.damage with C.GetLiverLoss().

* Rhigoxane recipe is now COOLER

200k was too warm since cryostylane cools down so much by itself upon mixing. 
Now the chemist has to choose between adding oxygen for instant cooling or using the heater/cooler to conserve energy.

* Removes the seal() proc and moves its guts into AltClick

* Item_state switching moved to reskin_obj

* Fixes missing medical sprayer left inhand

the sprayer_med_yellow inhand sprite now has the correct name.

* Fixes inhand updating

* Update code/modules/mob/living/carbon/damage_procs.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/mob/living/carbon/damage_procs.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Tries to add typecache

* Moves the typecache and makes it static
2019-07-05 09:50:59 -04:00
pireamaineach
e8686b0f96 Add mime and clown plasma-envirosuits (#44881)
- Added mime envirosuits, nothing special here.
- Added clown envirosuits, which release space lube when they
  extinguish the clown.
- Removes code that theoretically limits plasmamen from being clowns
  and mimes, but actually doesn't.
- I guess the roles now spawning with these suits is kind of notable.
- Reverts unlisted changes to the grey detective suit from #44776.
2019-07-04 22:34:59 -07:00
RandolfTheMeh
e9dab4c665 Universal Organ Damage system (#44710)
About The Pull Request

So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.

This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.

Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game

Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog

cl
code: Universal Organ Damage variables and procs
/cl
2019-07-05 09:40:30 +12:00
nemvar
a8819d4b25 Fix armor penetration cancelling negative armor (#44928)
Armor penetration no longer decreases damage when used on a mob with
negative armor.
2019-07-04 10:52:46 -07:00
nemvar
153130e457 Cooler hivebots (#44662)
* Cooler hivebots

* adds some cool light

* moblight

* I...

* no more snowflake intent

* qdel

* QDEL_NULL
2019-07-04 14:35:30 +02:00
nemvar
53d4c3f25a Refactor mob can_see_reagents (#44934)
Turns the scan_reagents var into a clothing flag.
2019-07-04 00:09:01 -07:00
nemvar
f81ec3907b Remove unneeded get_organ_target proc (#44931)
Removes the get_organ_target proc because I'm to lazy to fully
refactor laser eyes. It is embarrassing that we have a proc like this
in the code. Also makes mob code less cursed, one proc at the time.
2019-07-03 21:39:34 -07:00
nemvar
2539dbeb0e Fix checking armor of the wrong bodypart sometimes (#44930)
Fixes a bug with human where sometimes the armor from the wrong
bodypart gets used when they get attacked.

Bugs bad. Also, armor code is highly cursed.
2019-07-03 18:06:42 -07:00
oranges
64460ae3ca Merge pull request #44825 from AutomaticFrenzy/patch/lints
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.

Some lists, including global lists, are given types so that L[i].foo expressions can be checked.

Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.

Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.

Return type syntax is currently roughly:

    <typepath> | <paramname>([_])*(.type)?
2019-07-03 19:31:11 +12:00
ShizCalev
6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
JJRcop
592c8772dd Filtered IC chat telemetry
webbit
2019-06-30 11:51:34 -04:00
plapatin
c863766ea4 THE VOMITGOOSE PR (#44563)
* vomi/tg/oose

* fuck

* cleaning up icons

* action button time

* seperating if checks

* makes goose hungry

* untested

* last change

* new additions

* qucikfix

* fug

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fugg

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fix the fucky wuckies

* ninja spent a full hour of their life spoonfeednig me on how to make an untyped proc

* FUCKING INDENTS

* whoever made that comment in turf.dm is a buffoon

* does more things

* adds return things

* appease ninja

* makes maintainers happy

* last fix maybe

* adds more fun

* makes more maintainers happy

* balance

* it can now be loose

* goose_satiated

* fuck

* ok maybe 170 is too much for a max

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* woops

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 9f45c26721550d5991240b82dcddf01be81ccd3b.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 0fe63392f608114a4f82e59644dd4b46599032ff.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 4117e196b8093ad0a966d54dff43887d623c8f74.

* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"

This reverts commit 8bfbb977cba7bb1eda83532bc8a3865373e4f019.

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update code/modules/mob/living/simple_animal/hostile/goose.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update goose.dm

* i hope this doesnt cause more merge conflicts

* Revert "i hope this doesnt cause more merge conflicts"

This reverts commit 842e1a8a851c45c1d94fb0720d0995a5dd2c7083.

* test

* ok maybe this time

* please god work this time

* please god work this time

* FATHER INTO YOUR HANDS I COMMEND MY SPIRIT

* shortening typecheck

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* does

* WHY HAVE YOU FORSAKEN ME

* IN YOUR EYES FORSAKEN ME

* IN YOUR THOUGHTS FORSAKEN ME

* as it turns out getting the turf twice wasnt necessary
2019-06-29 11:54:34 -04:00
JJRcop
938789d0a7 [READY] Blocked words tell you which ones (#44728)
About The Pull Request

Same premise as #44712 but using a simple regex replace and also on the client side
Closes #44712

I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game

The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog

cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
2019-06-29 21:09:56 +12:00
XDTM
d70c43c5f1 Checks for metabolization on some has_reagent (#44653)
About The Pull Request

Stuff that should logically require you to actually be metabolizing the reagent now requires a liver, or the reagent to not need one.
Some reagents have been granted self consuming status, like holy water, since their effects are not tied to the metabolism.

Fixes #44650
Fixes #43024 since there should be no real way to mitigate the constant toxin damage now
Why It's Good For The Game

Less exploits with livers, more consistency in mechanics.
Changelog

cl XDTM
fix: Viral healing symptoms that are tied to reagents now also require a functioning liver to work.
tweak: Holy water, Pyrosium, Cryostilane, Napalm and Phlogiston no longer need a liver to have their effects.
/cl
2019-06-29 21:08:38 +12:00