Commit Graph

169 Commits

Author SHA1 Message Date
Dennok
fb85fc782b [READY] Multi-Z Openspace visual fixes. (#49323)
* openspace fixes

* os over os fix

* 512 plugs

* up

* up up

* up up up

* drop 512

* drop 512 in obj

* drop 512 in turf

* drop 512 in mob p1

* drop 512 in mob p2

* drop 512 in openspace

* one backdrop to rule all
2020-03-02 01:56:37 +08:00
blessedmulligan
54dc879f19 Cyborg spin throwing now depends on intent (#48891)
Trying this again. When *spin-ing as a cyborg, the way mobs are thrown off you depends on your intent. On help intent, they will be thrown a shorter distance from you and will never be damaged or stunned (they will still be knocked down). On harm intent, they will be thrown the current distance and will be damaged and stunned if they hit a wall or another person.

WHAT THIS ACTUALLY CHANGES:
Currently, whether or not *spin-ing will actually hurt/stun someone depends on whether or not the *spin-ing borg is emagged. This PR also reduces the range of the help intent throw, but since the knockdown happens whether or not the thrown mob hits something this is in most circumstances a cosmetic change. So, in summary, if you are a non-emagged borg in help intent the only thing this changes is you will chuck people a slightly shorter distance.
Why It's Good For The Game

This isn't exactly the most important change, but a borg should be able to control their behavior. Having damage/stun from throwing determined solely by emag-ness seems more like a hacky kludge than a legitimate design choice. Also, having the behavior of borg-throwing determined in the code for carbons is messy.
Changelog

🆑
add: The behavior of cyborg's *spin emote now changes with intent; on harm intent, it will throw its passenger farther and damage and stun them if they hit a wall or another person.
/🆑
2020-02-01 20:30:57 +13:00
MrPerson
f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
spookydonut
175439f63a Removes unreachable code (#48143)
About The Pull Request

As detected by SpaceManiac/SpacemanDMM#123
2019-12-10 20:52:13 +13:00
spessbandit
e3d1e5c53e ghosts can't use monitors; dextrous animals can climb crates; fixes atrocious spelling (#47262) 2019-10-22 04:37:35 -07:00
skoglol
938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -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
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)

this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.

also applies materials to everything, with fixes, which can close #46299
2019-10-08 11:06:02 -04:00
nemvar
1ead3e8ae7 Fixes morph movement and replaces magic numbers. (#46358)
* fixes morph speed shizz

* fixes morph movement
2019-09-06 16:23:28 -07:00
AnturK
7bd1db3e34 Adds simple voting box. (#46153) 2019-09-02 23:55:31 -07:00
skoglol
86839addb9 Pulling lockers now slow you down. (#46216)
Pulling lockers now slow you down.
2019-09-02 18:32:54 -07:00
Rob Bailey
a5de1c1b5e [READY] Reinforced windows are harder to get through (#45609)
About The Pull Request

full tile Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
full tile reinforced Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 95 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
dir windows have been given the appropriate halved health values.

Current deconstruction steps:

    heat one way screws (welder, 18 seconds, harm intent required)
    unscrew one way screws (screwdriver, 8 seconds)
    pop out panel (crowbar, 5 seconds)
    cut connecting bars (wirecutter, 3 seconds)
    unbolt frame (wrench, 5 seconds)
    theoretical fastest time: 39 seconds
    more practical time: 45 seconds

if the bolts are heated and then not unscrewed within 30 seconds they cool off again, and must be heated again

Construction is the same as before except the crowbar levering step takes 10 seconds instead of 3.
Why It's Good For The Game

Getting into places you shouldn't be is currently way too easy.
This change forces you to hack in, disassemble the window, or target a weak point like a windoor.
At the moment, it is possible to smash down what is intended to be a secure window with an item you get in your bag at roundstart for free. This is stupid. It should require some planning or at least thinking to be able to make your way in places you should not be.

Oranges has talked in the past about departments being designed like impenetrable fortresses with shutters everywhere, and this happens because reinforced windows are far too weak and unreliable to be able to have as effective defense of any department against even underequipped and underprepared people. This leads to the introduction of shutters which are too strong and difficult to deal with in most cases.

This is part of some plans to make departments more secure overall while still providing ample avenues for determined or properly prepared individuals able to get in if they want to. Despite having more plans along with this, this is a standalone change as is. This is not a "this will only work with later changes I'm totally going to do" situation
Changelog

cl
balance: Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
balance: Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 90 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
/cl
2019-08-09 11:03:59 +12:00
zxaber
532a891b74 Mediborg Beaker Storage Apparatus (#45494)
* Pull request commit apparatus

* words

* better comments

* small bits

* beaker breaker

* better beaker breaker

* Superior Signals

* new signals for update_icon

* compile_overalys
2019-08-07 15:58:30 -04:00
kevinz000
c6d710d40e VV refactors 2 - Actually not indefinitely WIP (#45217)
About The Pull Request

The thing other than ruining maps that I was working on
Refactors VV to use a more standard way of doing topic dropdown options rather than a huge if/else chain
Marking datums is now a right click option
Moves a few files around too/few procs
Why It's Good For The Game

Makes it easier to add more VV dropdown options in the future, and moving href list keys to defines make misspelling them harder.
Changelog

cl
add: Oh yeah also added a "return value of proccall" option for VV var editing.
refactor: View Variables has been refactored. It should now be easier to make VV dropdown options.
/cl
2019-08-03 14:43:26 +12:00
Time-Green
ceeff661a0 [READY] Plumbing (#44833)
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:

    Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color

    Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.

    Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.

    Plumbable reagent dispenser subtype.

    New plumbing RPD specific RPD.

    Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.

They're all disabled and admin only.

Adds the following systems:

    Ductnet datum. They pretty much say "hey, we're connected"

    Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.

    Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.

Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.

Also yes all of this works (as far as I know)

Things I plan to add in later PR's

    Layers / colors (maybe) done
    Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
    Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
    Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.

Code concerns:

    Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.

    Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.

Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
2019-07-09 11:58:02 +12:00
vuonojenmustaturska
8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
vuonojenmustaturska
2d74a86353 [READY] Cleans up saycode by removing random hook stubs and using a signal where relevant (#44320)
About The Pull Request

This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.

Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.

Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.

Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog

cl Naksu
code: Cleaned up saycode
/cl

* start with this

* oh man this looks so good

* hats are dead

* /obj/item/proc/speechModification is dead

* brain traumas and get_held_item_speechspans() are dead

* these should be static

* unfortunately we still need this

* /mob/living/carbon/treat_message(message) is kill

* clean up get_spans()

* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff

* move stuff around

* return values
2019-06-06 18:35:06 +12:00
RaveRadbury
701d0c78c0 [READY] pAI Journalism Update (#43654)
* Fresh start

Wow this has been an adventure. Hopefully this works and I can start rebuilding this PR.

* Functional build

Lacks software integration, costs, purchase enabling, etc.

* Removes pAI Action HUD

Also changes some frame data on icons, slowing them.

* adds check for pAI in newscaster.dm

* tweak job title for consistency

* capitalization

* correctly types pai in newscaster.dm

Co-Authored-By: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>

* adds in wire fix PR vars to hopefully fix it all

* reset pai.dm to hopefully fix this replace issue.

* That didn't fix anything. Reverting.

* One more time, taken from upstream master.

* put the newscaster stuff back into pai.dm

* Re-adds job title for newscaster
2019-04-25 14:10:43 -04:00
William Wallace
a944c2a362 Ghosts can analyze gas mixes and some new objects can be analyzed (#43502)
* Ghosts can analyze gas mixes and some new objects can be analyzed

* Replace show_air_status_to with atmosanalyzer_scan
2019-04-16 21:46:36 +12:00
ShizCalev
05f2ac7317 Cleans up (mostly) defunt crit_fail var (#42908) 2019-03-01 13:45:30 +01:00
Emmett Gaines
e6182966cb Removes an unused movement var and proc (#40416) 2018-09-24 13:18:14 +03:00
kevinz000
9eec1f8db2 Adds move force and move resist, movement/pushing/pulling tweaks (#39556)
* Removes anchroed from mobs, adds move force/resist

* Move force and move resist

* WIP, still has debug messages.

* Fixes

* Update living.dm

* Anchored removal

* Stuff

* Unit tests

* Removes anchored from dview

* DME

* Update anchored_mobs.dm

* Fix

* No ghost spacewind

* Update mulebot.dm

* Update temporary_visual.dm

* Update forcefields.dm

* Update step_triggers.dm

* Update portals.dm

* Update alien_acid.dm

* Update bump_teleporter.dm

* Update landmarks.dm

* Update countdown.dm

* Update blessing.dm

* Update shieldgen.dm

* Update containment_field.dm

* Update field_generator.dm

* Update singularity.dm

* Update atmosmachinery.dm

* Update door.dm

* Update gravitygenerator.dm

* Update door.dm

* Update effects.dm

* Update temporary_visual.dm

* Update bump_teleporter.dm

* Update forcefields.dm

* Update landmarks.dm

* Update portals.dm

* Fixes

* Throwforce annnd done, finally

* Fixes

* Haha I'm dumb sometimes
2018-09-15 05:08:30 -04:00
Tad Hardesty
ba887b39ed Refactor status displays 2018-08-25 01:34:30 -07:00
vuonojenmustaturska
51bf3f597e Fix constructed directional windows leaking atmos, wrap setting of the anchored var on objects (#38934)
* Wrap setting anchored for structures, fix atmos bug

* forgot this

* Add a signal for setanchored

* move setanchored to obj

* machinery, also some structure stuff

* tabbing
2018-07-06 14:27:35 -04:00
ShizCalev
c33c2f725e Fixes TGUI runtime (#38797)
ui_interact was being called on usr instead of M
2018-06-30 01:21:03 -07:00
Tad Hardesty
47f55b48a7 Move throwforce up to atom/movable (#38689) 2018-06-26 16:26:33 -04:00
AnturK
41dbcba0db Fixes AI's being unable to call shuttle using comm console. (#38534)
* Fixes AI's being unable to call shuttle using comm console.

* Lets get rid of double negatives

* viewvers for
2018-06-20 17:38:51 -07:00
cacogen
5c7613c4ff You can see what other people eat or drink (#38395)
* Makes drinking message visible to others

* Makes swallow message visible to other people

* Adds visible messages for eating

* Update snacks.dm

* Update snacks.dm

* Update objs.dm

* Update drinkingglass.dm

* Update pen.dm

* Update drinkingglass.dm

* Update drinkingglass.dm

* Update drinkingglass.dm

* Update drinks.dm

* Update condiment.dm

* Update snacks.dm

* Adds a few extra reagents to the borg shaker

* Update drinkingglass.dm

* Update drinkingglass.dm

* removes blood as a borg shaker reagent
2018-06-13 05:34:54 -04:00
vuonojenmustaturska
ccf8fc5bc5 Kills off three more flags from flags_2 (#37529)
code: More flags have been moved to their appropriate places
SLOWS_WHILE_IN_HAND
FROZEN
NO_MAT_REDEMPTION

all moved to item_flags
2018-04-30 10:32:23 +12:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
ACCount
1f5b59190d NTNet airlocks (#35947)
* Standardizes access checks

* Makes SS Networks init before SS Atoms to prevent NTNet interfaces from initializing before them

* Adds passkey support to NTNet packets

* Adds NTNet support to airlocks, makes door remote use NTNet

* Access levels given by jobs are now shuffled

* Access code improvements

* Adds IC card readers

* Fixes a delay issue with opening/closing airlocks with NTNet or signalers

* code review memes

* Renames plaintext_passkey to encrypted_passkey

* death by thousand nitpicks
2018-03-08 18:39:17 -05:00
Ashe Higgs
b9a7e3ef6b Reskinning now shows options in chat (#35910) 2018-02-24 00:03:22 -05:00
vuonojenmustaturska
180ddba385 revert 2018-02-19 22:08:33 +02:00
vuonojenmustaturska
ee370ada3f Removes on_mob_turn, on_mob_move and intercept_user_move, speeding up movement (#35679)
* honk

* qdel memes
2018-02-16 01:39:59 -05:00
ShizCalev
3cb6ab32d2 Cleans up some duplicate canusetopic warnings 2018-02-11 09:56:43 -05:00
vuonojenmustaturska
97d4e59d87 Armor datums (#34793)
* Draft 1

* requested changes

* fixes & refactoring & vv support

* one more vars access

* there we go

* change arg name

* Update lava.dm

* Update armor.dm

* Update armor.dm

* Update armor.dm

* fixes

* Update datumvars.dm

* Update goliath_hide.dm

* Update objs.dm

* 0 -> none in checkrights()

* Update armor.dm

* Update datumvars.dm

* Update armor.dm

* Adds magic armor type

this did not exist before

* two missing things from previous commit

* I shouldn't webeditor at work
2018-01-25 10:27:36 -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
arsserpentarium
c86fc91b55 [READY]Pulling claw 2 (#33817)
Pulling claw is integrated circuit,which allows drones to pull things.
2018-01-12 09:02:56 +13:00
ShizCalev
b0f24a892b Fixes bartender suit having an adjust state (#32968) 2017-11-22 13:40:11 -05:00
oranges
c4d570ca07 Add the ability to osay from the viewvar dropdown (#32804) 2017-11-17 04:48:53 -05:00
Emmett Gaines
825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
kevinz000
8d647ff524 Flying mobs now clip past non flying mobs, various flightsuit/iontrail/movement tweaks/code improvements/bugfixes (#30570)
* this will end horribly

* s

* kek

* wew

* i dont know what an atomized pr is

* lets hope this doesnt blow up

* ok

* Update living.dm

* Update flightsuit.dm

* Update living.dm

* Update living.dm
2017-10-13 18:09:20 -06:00
XDTM
35d8a55926 Adds H.E.C.K. suits, spraycan_paintable component, and reworks item's attackby() (#30525)
* Adds hostile environiment suits

* NOBODY SAW THIS

* the CURSE

* c

* No more stun removal

* fix

* a

* in the chest

* back

* Fixes

* duh

* fucking helmets fucking secbots fucking past coders

* yeah

* REEEEE

* revert to here

* this better work

* cyberboss

* Update effects.dm

* check for charges

* B U L K

* spraycans

* READY

* the if, man

* why the fuck did it convert to spaces

* Fix it
2017-10-05 11:52:47 -04:00
KorPhaeron
72389743db ismachinery define 2017-10-03 18:13:21 -05:00
MoreRobustThanYou
808c780353 Remove /obj/proc/gang_contraband_value() (#30744)
unused
2017-09-15 19:18:15 -05:00
Jordan Brown
84b1e3d71e [s] Adds a security token to all admin hrefs (#29839)
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.

Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)

Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
2017-09-09 12:15:53 +10:00
ExcessiveUseOfCobblestone
1e17bb7b83 Adds Archaeology Component (#30220)
* The future of archaeology

* pirate pad transfer is godawful

* pp transfer, part deus

* Revert "pp transfer, part deus"

This reverts commit f6e48f71f59f834f0b9e02a2ab2bb1bc1bda1b6a.

* hmmm!

* Edits How This Works

* Dig Check

* you can no longer chaindig + MrPerson req

* All MrPersons

* I need to squash soon [tm]

* replaces define

* fixes #literally everything

* forgot why i set it to highlander

* Review

* Removes How2 and Fixes Travis

How2 was outdated so idgaf

* Review 2, Cyberboss Boogaloo

had to move SSblackbox now that W is a more localized var.

* archdrop list is null now

* It won't let me edit that space sorry

* GOTCHA

* yes i used the web editor, no i am not sorry

* cyber

* ..()
2017-09-08 11:01:30 -04:00
Jordan Brown
641ba9c145 Merge pull request #29940 2017-08-17 10:13:00 -04:00
AnturK
94a5f4570a Fixes dumping from inside the lockers (#29896) 2017-08-17 18:57:30 +12:00
Ian Turk
1b7ca8c0e5 Resolved merge conflicts 2017-08-16 08:33:24 -06:00