Commit Graph

338 Commits

Author SHA1 Message Date
nightred
15452cac44 [READY] Two Handed Component (#49422)
About The Pull Request

For an item to be two handed just add this handy component.

All existing two handed items have been converted to use this component.
Why It's Good For The Game

It has components and signals, and now you can make items two handed so simply.

/obj/item/shockpaddles/ComponentInitialize()
	. = ..()
	AddComponent(/datum/component/two_handed)
2020-03-04 11:26:01 +13:00
Mickyan
cebc8d428e Merge branch 'master' of https://github.com/tgstation/tgstation into chewing_gum 2020-02-20 16:09:01 +01:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Mickyan
84aadd8897 things 2020-02-11 20:37:23 +01:00
zxaber
79e59077eb Allows defib units to be used as medical borg upgrades, adds message to borgs when they recieve an upgrade, re-organizes borg attackby(). (#48805)
* Delete stale.yml

* Create stale.yml

* clear

* Can now replace the defib pack with an upgrade card to get the pack back.

* less redundant checks

* borg > cyborg text changes
2020-02-02 22:08:40 -05:00
Rohesie
7bef84f009 Mass-replacement of stat to machine_stat (#48758)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
2020-01-24 12:37:17 +13:00
kevinz000
e8b8894efc Update robot_items.dm (#48930) 2020-01-23 09:29:15 -05:00
MrPerson
e22560a346 update_icon() improvements (#48669)
* update_icon() improvements

Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().

The rest of obj/item fuck it

* Suggested fixes, also passes the linter

* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON

* Actually this is better

* Signilzes datum/action to update its icon when its connected item does.
2020-01-11 23:46:43 -05:00
Arkatos1
e47a4022b9 MMI brain fixes (#48590)
* Base cleanup

* Finished refactor

* Bugfixing and polish
2020-01-07 10:53:12 +01:00
skoglol
e40728b188 Fixes AI shell double messages. (#48294) 2019-12-20 09:07:22 +01:00
Firecage
467eff776b Mining cyborgs can choose the old mining cyborg icon plus one other from Citadel. (#47973)
* Mining borgs can choose the old mining borg icon.

* Adds two new mining borg skins from Citadel.

* Renames the mining cyborg lavaproof tracks to mining cyborg lavaproof chassis.

* Removes the hover miner from the PR completely.
2019-12-01 10:16:47 +01:00
Anonmare
fd08e36069 Makes the service cyborg competent at bartending (#47385)
* service borg gang

* Update borghydro.dm

* Update robot_modules.dm

* Wow I can't believe it took me 12 hours to find

* Update robot_modules.dm
2019-10-30 16:29:33 -07:00
kingofkosmos
8768b6b3b5 Removes unused & undefined spans (#47436)
* Removes all instances of 'caution', 'error' and 'notify'.

* Removes span classes which were either not used at all or were used very infrequently.
2019-10-30 02:00:11 -07:00
81Denton
6b1161ecd9 Cleans up revive related procs (#47025)
* Cleans up revive related procs

* h

* fuck

* Fixes proc arguments

* Further fixes

* Unfucks line endings
2019-10-22 15:16:13 -07:00
81Denton
f5bd6a381d Merge pull request #47052 from kingofkosmos/misc_span_fixes1
Misc span fixes
2019-10-20 18:46:54 +02:00
spookydonut
4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -07:00
Emmett Gaines
8982f509b5 Refactors screen object update_icon to call parent (#47094)
* Refactors screen object update_icon to call parent

And makes update_icon an /atom proc

* Cleans up some missed null checks

The student teaches the master
2019-10-17 18:21:50 -07:00
kingofkosmos
52325eda25 Merge branch 'master' of https://github.com/tgstation/tgstation into misc_span_fixes1
# Conflicts:
#	code/game/machinery/Sleeper.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/structures/beds_chairs/chair.dm
#	code/game/objects/structures/lavaland/geyser.dm
#	code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm
#	code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
#	code/modules/paperwork/contract.dm
2019-10-17 06:02:06 +03:00
KomradeSpectre
9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
kingofkosmos
259626a8b4 Removes excess spaces in messages. 2019-10-13 14:36:43 +03:00
kingofkosmos
dba1d2eb2d Fail-messages from notice-spans to warning-span. 2019-10-12 21:24:52 +03:00
kingofkosmos
280d416d4f Adds missing spans, missing periods and missing span endings. Also changes spans to suit the situation better. 2019-10-12 19:34:11 +03:00
nemvar
a148cae769 Kills obj/item/projectile in favour of obj/projectile (#46692)
* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
2019-10-06 13:37:24 -04:00
Firecage
3996aaa197 Lets Syndi Mediborgs and Syndi Engiborgs get some of the upgrades of normal Mediborgs and Engiborgs. (#46760) 2019-10-03 02:17:17 -07:00
nemvar
daffaefb71 Switches out the three billion args of electrocute act for flags (#46564)
* Switches out the three billion args of electrocute act for flags

* Adds autodoc to electrocute flags, sets the boolean I removed and tries to fix the ed209 file

* tries to fix ed209 again

* Fixes 209 hopefully

* Finally fixes that darn file

* one final one to fix the diff

* Or i guess i'll just do it myself
2019-10-02 23:14:19 +02:00
81Denton
287f3e1ca0 AI combat software upgrade gives proper malf abilities (#46726) 2019-09-27 01:06:07 -07:00
spookydonut
210ba5c571 Adds linting for equipped() pickup() dropped() (#46614)
* lint some inventory procs

* lineends

* f

*  line end

* lineend

* fuck

* changes per review
2019-09-25 02:31:29 -07:00
nemvar
27dbe6cf0c Fixes proximity checks (#46652)
* Fixes proximity

* shock hand no longer calls parent

* actually lets just let it do what it does.
2019-09-22 03:03:45 -07:00
Surrealaser
2c50f842ba Medborg Crew Monitor Upgrade (#46598)
* Medborg Crew Monitor Upgrade

Adds the crew monitor to medborg upgrades.

Why This is Good for the Game: The important second part of the crew pinpointer; as a result, medborgs no longer have to glue themselves to fixed crew monitor consoles in order to do the paramedicine job they excel at, which is boring and lame.

* Update

Revised per request so that the crew monitor upgrade is integrated with the pin pointer.

* Debug removal

* Verb removal
2019-09-20 10:00:12 -04:00
zxaber
0a73280344 Adds engiborg circuit manipulator and extra mediborg beaker holder as upgrades (#46286)
* stuff and things

* almost forgot this part

* oops

* small fixes
2019-09-16 14:28:45 -04:00
81Denton
db1e4cfefb Adds MMI related logging (#46453)
* Adds MMI related logging

* h

* h
2019-09-16 14:24:14 -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
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
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