Commit Graph

1011 Commits

Author SHA1 Message Date
Couls
f5614b8ede Update eyes.dm (#46717) 2019-09-24 17:58:10 -04:00
spookydonut
8b339f7f94 creamed component (#46496)
* creamed component

* creamed no

* make use of unused sprites

* applies to all living

* params

* changes from review
2019-09-24 17:17:33 +02:00
nemvar
dc783795db Renames is_hot and is_sharp to get_temperature and get_sharpness (#46680) 2019-09-23 14:02:59 -07:00
oranges
0f2bb6a1ab Merge pull request #46512 from ExcessiveUseOfCobblestone/chicken-tendie-woundies
Cobbduceus: TW Changes (Missing HP Bonus/ Less Base Healing/ Less Penalty for Clothes)
2019-09-23 12:50:09 +12:00
AarontheIdiot
acf9097741 Hepatectomy Surgery (#46397)
* healies ?

* balance

* fixed some oopsies

* no more ishuman

* newbie coder moments
2019-09-21 00:46:03 -04:00
nemvar
4accfec14e Arm implants work again (#46535) 2019-09-16 04:01:59 -04:00
kingofkosmos
8358169b8e New 'hear' span class (#46369)
* Reverts italics-span back to no color.

* Cleans up many extra spaces and indents.

* Adds 'hear' span class.

* Replaces all 'italics' used in heard messages with 'hear'.
2019-09-14 23:56:34 -07:00
4dplanner
8279aca3dd liver fix (#46488) 2019-09-14 19:48:32 -04:00
ExcessiveUseOfCobblestone
f0eb5f2ee4 Update healing.dm 2019-09-14 14:01:22 -04:00
oranges
8c3fa4400a Merge pull request #46441 from py01/repeatingsurgery
Failed surgery steps automatically retry
2019-09-14 17:39:33 +12:00
py01
3472469e81 surgeries automatically retry if fumbled 2019-09-10 20:30:42 -07:00
moo
6b18b2b80d Update healing.dm (#46319) 2019-09-10 15:33:05 -07:00
cacogen
1f010e7144 Selectively randomisable characters (#46108)
* Selectively randomisable characters

* it's a list now

* this doesn't work

* it's totally fucking fucked mate big time

* it works

* so sick of this goddamn pull request and yes i know this is a retarded way to do this it didn't work the other way

* anturk forestalls the inevitable suicide

'associative lists are more performant'

* final changes anturk requested

'remove all the "in randomise" and it's ready'
2019-09-06 08:50:12 +02:00
Fhaxaris
8dba4bf40f buffs the cybernetic heart (#46266)
* modified heart.dm cybernetic heart

* final testing and bug fixes

* changed dose regeneration time from 10 minutes back to 5 minutes

* description was lying

* restarts heart 20 seconds after emp

* no more big heals
2019-09-04 12:07:55 -04:00
moo
686c0a8280 Cobbduceus Part 4/X: Operating Computers Sync to Stasis Beds (#46223)
About The Pull Request

Operating Computers can now be built to support advanced surgeries to stasis beds. Unlike a table, these can be within LoS of the computer.

Do note it links them the same way it does a table (once when THE COMPUTER is built).

A minor change is now the surgery tab of the computer can be accessed to sync surgeries even if a table isn't linked.
Why It's Good For The Game

Stasis beds should be surgery hotspots, and this allows doctors to explore some of the unique pathways/surgeries without relying on a table.

Do note that some surgeries will still be better performed on the optable since the beds have a small penalty.
Changelog

cl Cobby
add: Operating computers can now be built to sync with all nearby stasis beds within it's LoS and provide them with advanced surgeries.
/cl
2019-09-02 09:45:43 +12:00
moo
6572f2d0a4 Cobbduceus 3/X: ERP-Free Tend Wounds (#KeepTheirPantsON) (#46139)
* Update healing.dm

* feedback 4u

* Update healing.dm
2019-08-31 02:06:49 -07:00
Rob Bailey
2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
RandolfTheMeh
161451f89a Cybernetic/Upgraded Cybernetic Ear replacement (#45980)
* Cyber ears

* removes extra comma in nodes, removes pointless switch case

* Upgraded cyber ears no longer bangproof, updated surgery.dmi
2019-08-26 14:38:07 -04:00
kingofkosmos
df1fecc58c Adds notice-span to visible_messages with no spans (#46044)
About The Pull Request

Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game

This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
2019-08-26 20:50:00 +12:00
carlarctg
15717dda7a Gives borg tools unused sprites (#45939)
* where's the get good button

>adds some borgtools
>fills empty tool pixels with 254 transparency pixels

* tool stuff

* fixes icon

* repoked

* cobbdescus part 123/X: cobbtool cobbmove cobbreview
2019-08-17 23:48:26 -07:00
Dennok
73b61a7277 repeatable brain shock (#45901) 2019-08-17 02:16:03 -07:00
nemvar
11318bfc3c Arm implants now support more than two hands. (#45843)
* Adds multiple hand support to arm implants

* Kills those nasty static lists.

* Update inventory.dm
2019-08-16 20:56:25 +02:00
nemvar
8918a88612 Makes organ decay a lot nicer. (#45845)
* Gets rid of double processing memes.

* fixes the organ box thing

* Makes everything just a tad more performant

* even more performant

* Gets rid of the double processing on SSobj for body eggs

* forgot the brackets

* Also removes double processing memes from the shadowling armblade

* Removes the istype check for MMIs.
2019-08-15 21:52:07 -07:00
Dennok
cc26d3316c Fix multi surgery. Add operating computer surgery target. (#45900)
* fix multi surgery

* drapes fix

* Operating computer target show
2019-08-14 16:25:17 -04:00
Fikou
205dda301a fixies (#45886) 2019-08-13 17:19:49 -07:00
nemvar
041a62e0e3 Adds inhands for all the surgery tools. (#45864)
* Adds inhands for all the surgery tools.

* didn't even show the conflict
let's hope this works.
2019-08-13 17:16:43 -07:00
moo
98765bae0a Dissection Examine + Logic Fix + Ayy (#45807)
clDissectby
add: Examining a dissected body will provide insight on the highest tier performed.
fix: You can do ayy dissection now if you get the tech
fix: FINALLY fixed the surgery logic correctly
/cl
2019-08-12 11:39:25 +12:00
moo
d75332ffd6 Merge pull request #45773 from nemvar/patch-96
Failing healing surgery only gives one error message now
2019-08-08 19:28:10 -04:00
Mickyan
ad86530e5c dont worry i was a doctor once (#45765) 2019-08-08 00:06:53 -04:00
nemvar
0b5c61c899 Failing healing surgery only gives one error message now 2019-08-07 14:06:18 +02:00
kingofkosmos
c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
YPOQ
4f48850fce Fixes muscled veins surgery (#45642) 2019-08-05 01:58:36 -07:00
nemvar
e587b970da Adds parent calls to almost all tool_acts (#45582)
* Adds parent calls to almost all tool_acts

* actually compiles
2019-08-03 22:25:57 -07:00
nemvar
ea70deb828 List of contents (#45476)
About The Pull Request

-You know require medical access to change the medical records with the hud
-Medical/Sec HUD examine now relies on a trait instead of istype checks.
-Removed a shitload of excessive nesting
Why It's Good For The Game

This isn't a full refactor, just a small attempt to make this code slightly more sane and more friendly to work with. I do not intend to fix all the problems this piece of code has (ohh, there are so many of them) with this PR.
Changelog

cl
balance: You now require medical access to change the medical records with a medHUD.
/cl
2019-08-03 14:49:36 +12:00
moo
7c551c7e85 Tend Wounds Now Is -2 Steps and Borg-Friendly! (#45457)
cl Cobby
balance: Tend Wounds is -2 Steps (Scalpel > Healing w Hemo > Cautery)
fix: Borgs can now perform Tend Wounds
add: Anti-spam on Tend Wounds (Starting Message only, Result Message untouched)
admin: The incise step for Tend Wounds does not cause damage, making it borg friendly.
/cl
Why

Tend wounds should be the baseline so let's make it easy to perform.
2019-07-30 20:53:50 +12:00
RandolfTheMeh
48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
oranges
51744f7dbe autodoc organ helpers (#45464) 2019-07-26 03:01:22 -07:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

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

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
Bobbahbrown
2e7075426d fixed surgery being broken how did nobody notice this LOL (#45182) 2019-07-15 15:29:32 -04:00
XDTM
a5296e434c Makes undeads and androids have no metabolism (#44846)
About The Pull Request

Added two new traits, TRAIT_NOMETABOLISM and TRAIT_TOXIMMUNE. Does what it says on the tin, making livers not process reagents at all (except liverless reagents) and gives immunity to toxin damage. Species with NOMETABOLISM spawn with no liver (NOLIVER is now redundant and has been removed). This trait also prevents liver failure damage, for obvious reasons.

These traits have been given by default to androids (artificial, they were already immune to chemical healing anyway), zombies (who have their own regeneration) and skeletons (milk still works).

Other changes:

    Species' handle_reagents proc now fires before checking for metabolization, so species can process chems even when liverless.
    Removed the calcium healer trait, making it into a species handle_reagents check for each affected species (skeletons, plasmamen, bone golems). Skeletons now also heal burn damage from milk, since it's one of the few forms of healing they have available.

Note:
These traits should logically be applied to plasmamen and golems, but i intentionally left them out for now since it would be a significant balance shift, and there should be a proper alternative way of healing them first.
Why It's Good For The Game

Balances the significant benefits of being undead with a significant negative: being immune to chemical healing. Since zombies don't really rely on it and androids were already heal-immune, this mostly affects liches, and i believe it should be fine: considering that the main point of the spell is the resurrection mechanism, the space, gas, pierce, and heat/cold immunity they also gain should be counterbalanced by having a harder time recovering from injuries.

There is also a silver lining to having this trait: poison immunity. Effectively this is a buff to androids and zombies, the latter especially because they can no longer process mutation toxins. While this tactic is creative, it also trivializes a very expensive investment of TC. I might still add a liverless way to apply mutation toxins later on, but zombies shouldn't be effectively one-shot by a syringe gun.
Changelog

cl
add: Androids, skeletons and zombies no longer metabolize reagents. As such they no longer benefit from healing reagents, nor are affected by poisons and toxins.
add: These species are now also immune to any other form of toxin damage.
tweak: Milk now also heals burn damage for skeletons.
/cl
2019-07-15 09:07:26 +12:00
Dennok
f9addce004 Runtimes fixes (#44885)
* fix meter work on un initialized pipe

* fix runtime in process_cell

whet it try to call to wrong type turf

* fix roundstart runtime in debug sungery disc

*  fix return_air() runtime

Runtime in pipes.dm, line 52: Cannot read null.air

* s

* Update surgery.dm

* Update pipes.dm

* Update meter.dm

* Update LINDA_turf_tile.dm

* Disable atmos processing in outer border on load.

* Update map_template.dm

* Update map_template.dm

* Update map_template.dm

* Update pipes.dm

more runtimes for good of runtimes
2019-07-13 03:58:02 -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
nemvar
60d04f6632 Fixes surgery runtime. (#45042)
* fixes surgery runtime

* ?

* Update surgery.dm
2019-07-10 15:55:47 -04:00
Jordie
0df815b905 Merge pull request #45079 from willox/borg_hand_holding
remove special borg behaviour during surgery
2019-07-10 21:37:03 +10:00
ShizCalev
63cb731429 Merge pull request #45057 from AnturK/slimelungruntime
Fixes slime lungs runtime.
2019-07-09 15:51:26 -04:00
William Wallace
0e7589827b remove special borg behaviour during surgery 2019-07-09 02:49:26 +01:00
moo
8fcf42eff9 Experimental Cobbisection [150+ Hours and Ready] (#44821)
About The Pull Request & Why
Dissection (Prev Experimental Dissection) Is Now Roundstart

Goal:give medbay a task they can do outside of normal healing on the off chance they're overstaffed and/or are in need of work.
Dissection (Prev Experimental Dissection) Is Now Tiered

Goal: I'm still not seeing competition in the medical tree that I'd like to see. Now that science benefits from going to this tree, I expect it to be a prominent if not the main pick.

Goal: Provide Medical bargaining power with Science. Want you cool gear bros? Better indulge us a bit if you want us to farm corpses.

NOTE: You will NOT be punished for doing low tiered surgeries then unlocking further tiers. It adjusts your rewards depending on if the body has been experimented on before and gives you the difference, it will not block you from doing the surgery entirely.
Repeatability

Goal: Make it less balanced around the all/nothing mechanic and more with rewarding constantly running the surgery.

Failing the surgery will give you a pity amount (1%, something slightly more than none in grand scheme) but more importantly will NOT add the trait that disables you from using that body for the surgery again.
Silicons can now perform dissection

Since It's not All/Nothing I decided to allow silicons to be able to help out. This is the first (and only) surgery that they can potentially fail.
Nerfs (yikes!)

Needed to nerf it to compensate for the fact that it was now roundstart. The hardest one was pointgain. I decided to mega nerf it so tiered would be desired. This was also a result in the shift of balance off the RNG and more on the repeatability.
Dissection Can Now Be Performed on ANY LIVING MOB

Goal: Cooperation between Mining (returning Mobs) and Medbay (turning these mobs into points)

The foundation is really lacking imo since I didn't want to dance around with numbers in this PR. Currently all mobs that aren't human and aren't explicitly listed in check_value are 300 points per surgery.

I hope you guys can add more mobs to the pool with better rewards (imagine dissecting the dragon for science!)
Dissection Surgery Minor Edits
Step Configuration Edit

Needed to change just for repeatability in the dissect step (didn't like the end step being the proceeding step).

I replaced the incision step with a post-dissection clamp step to keep the theme of scalpel > hemo (dissection uses scalpel)
Implement Changes / Probability Effects

Rewards using the researched tools (further integrates medsci coop), lowers standard gear to appropriately balance higher tiers.
MISC
Prices are Define Bound

Everything is relative to a single number via calculating off a define instead of independent values. Balance discussion shifts from "Is X number fair" to a more tangible "Is this mob worth X times the amount of a normal human". If everything is strong/low we can just edit a single number!
Let me know if there's any undoc'd changes!
Changelog

cl Cobby x Medbay
balance: (Experimental) Dissection is now roundstart.
balance: (Experimental) Dissection is now tiered and give higher point outputs than their predecessors.
add: All living mobs with corpses can be dissected.
code: Attention, all ss13 gamers! I need YOUR help adding mobs to the pool so they don't get the lame 60% of normal human pricing! You can dissect DRAGONS FOR CRY IT OUT LOUD!
balance: You are NOT punished for doing the lower tier surgeries then unlocking higher ones!
add: Borgs can perform dissection but they are not 100% successful.
tweak: Shifts balance of dissection surgery towards spammability vs. rng mechanic.
balance: All point rewards are severely nerfed to promote doing this multiple times (since it's now available from the getgo).
tweak: If you fail the dissection step, you get a pity reward (1% credits) and can repeat the step until you successfully dissect the being.
tweak: Lowered probabilty of success on default tools, increased probability for researched tools.
tweak: removed 2nd incision step, added clamp step post dissection (repeatability purposes).
/cl
2019-07-09 11:57:26 +12: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
AnturK
e6ef17efc1 Fixes slime lungs runtime. 2019-07-08 11:17:01 +02: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