Commit Graph

305 Commits

Author SHA1 Message Date
tralezab
b5de31638d You can no longer name some things after words in the ic filter (#45696)
* quick sanity fix

* more things i found

* better list used, updated comment
2019-08-11 18:33:39 -04: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
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
SgtxRootbeer
63d32fb1bd Removes trekchems, adds new catagory 2 chems. cobby-approved. (#45105)
* Add files via upload

* Update Sleeper.dm

* Update borghydro.dm

* Update robot_upgrades.dm

* Update buffs.dm

* Update medbot.dm

* Update snacks_other.dm

* Update snacks_other.dm

* Update medicine_reagents.dm

* Update medicine.dm

* Update chem_synthesizer.dm

* Update hypospray.dm

* Update snacks_other.dm

* Update snacks_other.dm

* Add files via upload

* Update snacks_other.dm

* Delete ambrosia.dm

* Delete cannabis.dm

* Add files via upload

* Update buffs.dm

* Update medicine.dm

* Update medbot.dm

* Update Sleeper.dm

* Update medbot.dm

* listen, i know what this looks like

* yes, i did this in the webeditor

* Update medicine.dm

* Update medbot.dm

* Update borghydro.dm

* Update Sleeper.dm

* Update robot_upgrades.dm

* Fixes metabolism rate

Don't tell cobby I did this one on my phone

* Updates metabolism rate for real

* fixes spelling errors

* Add files via upload

* Update medicine_reagents.dm

* Update medicine_reagents.dm
2019-07-24 12:18:11 -04:00
nemvar
9d074515b3 The way silicon radios and cells get created is now more sane. (#45371)
About The Pull Request

See title. Fixes #45370
Why It's Good For The Game

I don't think duplication of powercells and a bunch of duplicate code is really needed. This is more easily maintainable and just not shit in general.

EDIT: oh forgot to mention that this causes syndiborgs to have 500 more max charge by default. If anyone is extremely triggered by this, I can change that. But since those things aren't finely tuned anyways, I don't think this is a big deal.
Changelog

cl
code: Changed how sillycones get their cells and radios.
/cl
2019-07-24 15:25:04 +12:00
nemvar
224e3f7a49 The prebuilt robot suit now looks correct. 2019-07-22 19:42:20 +02: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
nemvar
d16ecdef72 fixes self repair runtime (#45065) 2019-07-13 00:26:38 -04:00
kingofkosmos
81a0518474 * warning-spans added to cases of "You do not..." and "You don't..." 2019-06-25 22:05:55 +03:00
vuonojenmustaturska
b076b6c6d5 Fix another source of /datum/reagent/vanilla ice cream (#44543) 2019-06-16 11:43:29 -07:00
Whoneedspacee
03f7432511 New RPGLoot Affixes + Component Additions (#44188)
* knockback component can now be reversed, has projectile and gun handling, and hostile simplemob handling

adds signals for hostile mobs attacking, altering projectiles before firing, and for when projectiles successfully hit their target

moves knockback handling to a general proc

adds ishelpers for guns and projectiles

* no more weird projectile handling it can just not apply the effect if the component somehow goes away

lifesteal actually works now instead of being a blank file, applies a flat healing effect when you hit something

* fixes up comsig stuff

adds new components to the fantasy prefix and suffix

knockback now handles throwing anchored objects

lifesteal now properly heals the target with projectiel weapons

adds summoning component to handle mob summoning with item attacking and such

adds fired_from variable to handle what a projectile was fired_from, firer would be the mob that fired and fired_from would be the gun, in the case of an autoturret, fired_from and firer would be the same

adds shrapnel component, fires projectiles around a fired projectile when it hits

adds igniter component to set attacked mobs on fire

* no more shrapnel on items that can't use it

summoning items now summon at least one mob maximum

adds specific weighted projectile types for shrapnel to prevent broken options being picked

removes the reverse var from knockback component and instead just handles negative thrown turf
2019-06-03 11:00:12 +12:00
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
nicbn
c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08:00
Dax Dupont
e0519c978f Add a sanity check for expand modules (#41982) 2018-12-22 13:34:55 -08:00
Garen Crownguard
00a141a50b Beepsky Retaliate Fix (#42007)
* beepsky retaliate fix

* similar bugs

* im stupid
2018-12-20 16:05:35 -05:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
81Denton
00fdd88a68 AI upgrade logging/hints (#41695)
* AI combat upgrade logging/notice

* hmm

* Update code/game/objects/items/robot/ai_upgrades.dm

noice

Co-Authored-By: 81Denton <32391752+81Denton@users.noreply.github.com>

* forgive me for I have web edited

removes space after <br>
2018-11-28 22:33:27 -05:00
81Denton
ccfbc2bb78 Adds separate MMI/borg messages for damaged brains (#41306)
* Adds separate MMI/borg messages for damaged brains

* better switch toggle msg, M.brain?.damaged_brain

* ree

* thanks helen

* I hate Mondays

* Update code/modules/mob/living/brain/MMI.dm

Co-Authored-By: 81Denton <32391752+81Denton@users.noreply.github.com>

* condenses vars
2018-11-09 19:34:49 -05:00
AnturK
9306d01f6f Adds old name tracking to player panel, cleans up some name assignments. 2018-10-25 20:39:51 +02:00
ShizCalev
9dbc86d7c5 Ghetto surgery can now damage brains, which then can be healed by mannitol 2018-10-16 18:52:55 -04:00
Tlaltecuhtli
e00677ded0 borg upgrades tweak (spilt up of 40337) (#40479)
cl
tweak: borg upgrades price changes
tweak: mediborg chemical upgrades have been unified
/cl
changes:
borg rename: 35k metal -> 5k metal : fluff module
restart module: 60k metal ->20k metal : people just reconstruct the borg for free instead of resetting
vtec: 80k metal 6k glass 5k uranium -> 35k metal 12k 10k uranium: costs more uranium than metal 80k is like a whole fucking borg
disabler: 80k metal 500 diamond -> 20k metal 2k diamond : costs more diamonds instead of a whole borg of metal
soh: 250 gold 500 uranium -> 2k gold 1k uranium : those costs were not coherent with the rest
piercing syringe: 10k titanium 5k diamond -> 5k titanium 3k diamond : was really expensive for something thats pretty much useless unless you are traitor
defib: 15k metal 15k glass 10k silver 10k gold 5k titanium 5k diamond -> 8k metal 5k glass 4k silver 3k gold : that cost was shit for something you need to have if you dont want to be drags-the-bodies-to-cloning the lizard borg, also it reflects more the price of printing a defib
surgical processor : halfed prices, its a meh module just there for asimov abuse
trash bag : 10k metal 1.5k gold 250 uranum 1.5k plasma -> 2k gold 1k uranium: this pricing was pretty much random numbers put togheter, now its similar to the cost of a normal trashbag
mop: 10k metal 200 glass (????) 1k titanium -> 2k metal 2k glass : why the fuck does a mop cost titanium? now its similar to the cost of a normal mop
2018-10-16 18:38:37 +13:00
ShizCalev
f7fcc4e929 Removes tactical suicide borging (#40754)
* Removes tactical suicide borging

* correction
2018-10-15 22:51:22 +03:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
ShizCalev
2fa1ac1349 Replaces istypes with the proper tool_behaviour checks. (#40414) 2018-10-01 03:10:31 +03:00
ShizCalev
9e897335fc Fixes dropping cyborg self-repair not calling parent (#40279) 2018-09-15 10:21:53 -04:00
Garen Crownguard
291583440f screwdriver_act signal (#39877) 2018-08-27 05:56:45 -04:00
FrostyFridge
6c4b911d99 Add the medical cyborg surgical processor upgrade (#39646)
Adds the Surgical Processor upgrade for medical cyborgs, available from exosuit
fabricators after 'Cyborg Utilities: Medical' is researched. This upgrade
allows medical cyborgs to scan surgery disks, or copy procedures from an
operating computer. The cyborg can then initiate scanned procedures. Cyborgs
can also now perform surgery steps that have no instrument requirement.

Medical cyborgs were generally unable to perform any advanced surgeries outside
of some specific circumstances. This update allows cyborgs to make use of the
advanced surgeries. Some advanced surgeries have steps that require a hand
without any tools; this update allows cyborgs to perform these steps as well.
Note that surgeries must be obtained through research or a disk somehow before
the cyborgs can scan them.
2018-08-18 15:21:40 -07:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
bgobandit
8f71d71f1e Fix more spelling/grammar (#39450)
self explanatory
2018-07-29 16:19:42 -07:00
Trevor Serpas
bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
zxaber
58e1e75921 Allows empty borg shells to be disassembled. (#38639)
* Adds the ability to deconstruct empty cyborg shells.

* Update robot_parts.dm

* Able to directly swap cells

Added ability to change out power cells with a screwdriver.

* Update robot_parts.dm

* Removing unnecessary `src` prefixes from code.

* Update robot_parts.dm

* Moved to wrench_act and screwdriver_act overrides

I think I did this right

* Replaced screwdriver code

* Swapping out qdeleted for an if-not

* Adds a check for cell-less shells when MMI is added.

* Update robot_parts.dm

* Adds the ability to just remove the cell

Re-organized the screwdriver section as well, and added the ability to add a cell to a shell with no cell.

* Whoops

Copypaste error

* Changed the screwdriver section from nested if statements to use a function

Also removed the line that forced the naked endoskeleton out of your hand in the wrench section.
2018-07-03 13:15:35 -04:00
Jordan Brown
26b6fab1fe Merge branch 'pr-38604'
Signed-off-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2018-06-28 14:22:03 -04:00
Dax Dupont
278f4d7429 anal 2018-06-26 23:46:15 +02:00
Dax Dupont
63b0e46a63 Wat zullen we drinken Zeven dagen lang Wat zullen we drinken, wat een dorst Wat zullen we drinken Zeven dagen lang Wat zullen we drinken, wat een dorst Er is genoeg voor iedereen Dus drinken we samen Sla het vat maar aan Ja drinken we samen, niet alleen Er is genoeg voor iedereen Dus drinken we samen Sla het vat maar aan Ja drinken we samen, niet alleen Dan zullen we werken Zeven dagen lang Dan zullen we werken, voor elkaar Dan zullen we werken Zeven dagen lang Ja zullen we werken, voor elkaar Dan is er werk voor iedereen Dus werken we samen Zeven dagen lang Ja werken we samen, niet alleen Dan is er werk voor iedereen Dus werken we samen Zeven dagen lang Ja werken we samen, niet alleen Er is genoeg voor iedereen Dus drinken we samen Sla het vat maar aan Ja drinken we samen, niet alleen Er is genoeg voor iedereen Dus drinken we samen Sla het vat maar aan Ja drinken we samen, niet alleen Eerst moeten we vechten Niemand weet hoe lang Eerst moeten we vechten, voor ons belang Eerst moeten we vechten Niemand weet hoe lang Eerst moeten we vechten, voor ons belang Voor het geluk van iedereen Dus vechten we samen Samen staan we sterk Ja vechten we samen, niet alleen Voor het geluk van iedereen Dus vechten we samen Samen staan we sterk Ja vechten we samen, niet alleen 2018-06-24 14:45:07 +02:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Jordan Brown
cf7e8aa9ec Qdels queries, adds sleep safety checks, DBcore checks for leaks (#38363)
* Qdels all queries, adds sleep handling

* DB Core messages admins about undeleted queries

* Compile fixes. Adds missing set waitfor

* Remove world/New shennanigans. Add DBQuery/BlockingExecute()

* Less spammy notifications to admins about undeleted queries

* Increase dbcore fire time to 1 minute

* Upgrade undeleted query warning

* Better place of death

* Fix build

* Remove BlockingExecute, see BSQL PR for why

* Yep, missed that one.

* Psyche, that's the WRONG QUERY!!
2018-06-18 22:48:35 +03:00
ShizCalev
3abd2b6d27 Cleans up logging 2018-06-09 15:51:58 -04:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
Firecage
79bea7868b Adds module upgrades for the Janiborg (#38114)
* Adds upgrades for the Janiborg.

* Does the requested changes.
2018-05-30 18:09:03 -07:00
Iamgoofball
19992668fd Eat the ice cream (#38028)
* Eat the ice cream

* Update robot_items.dm

* Update robot_items.dm
2018-05-26 00:23:52 -04:00
ShizCalev
ba1030f803 Makes more messages pronoun sensitive (#37582)
* Makes more messages pronoun sensitive

* Some cleanup

* more pronouns

* rever
2018-05-03 18:45:55 -04:00
ShizCalev
df8d58bf66 Fixes missing augmentation hands (#37373) 2018-04-27 03:41:56 -04:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
vuonojenmustaturska
ece7de4fb2 Admin borg panel (#36990)
* borgpanel

* wip borg upgrades

* some more

* lockdown

* Update borgopanel.ract

* Update borgopanel.ract

* Update borgpanel.dm

* fuggin borg upgrades :DDD

* more compile, less whatever

* meaningless churn

* and we're done

* usr, vtec

* Update borgopanel.ract

* Update borgpanel.dm

* many squid are cool

* reviews

* coerce to client, much nicer this way

* add admin logging

* review stuff
2018-04-08 11:46:27 -04:00
AnturK
5ad59da350 Prefixes apply_effect flags, fixes unconcious define conflict 2018-03-31 16:31:11 +02:00
Ian Turk
fbe5f4a062 Replaced body zone magic strings with defines 2018-03-19 15:44:51 -05:00
vuonojenmustaturska
9f99c0faaa borgmods 2018-02-18 09:04:11 -06:00
Dax Dupont
4c767ce101 Fixes extremely thicc robots (#35722)
* Fixes extremely fat robots

* grasp
2018-02-17 18:12:08 +02:00
Dax Dupont
eca04302ec Expand Cyborg (#34958)
* Expand Cyborg

* i ded pls nerf

* Oh sheet
2018-01-29 18:30:58 -05:00
vuonojenmustaturska
6406896df1 Replaces a bunch of obj vars (and emagged on machinery/items) with obj_flags (#34078)
* It works, but is it worth it?

* bitfield helpers take 1

* Would this work?

* remove dangling debug code

* rebase & fixes

* vv bitfield stuff, reading

* DNM oceans of shitcode DNM

* honk

* honk2

* plonk

* rebase & fix
2018-01-22 20:19:46 +01:00