Commit Graph

54 Commits

Author SHA1 Message Date
nmajask
304ae24736 Computer noises (#13117)
* Wow this branch is old

Adds the sound files so I can update this thing.

* Why GitHub desktop

*scream

* Adds the functionality

Adds interaction sounds to mod pcs

* tablet noises

"Adds PDA clicking sounds" by comma on Baystation

* Fixes the checks

Forgot I changed that

* Fixed the abrupt cutoff

I just made it fade out

* Update code/modules/modular_computers/file_system/programs/borg_monitor.dm

* Integrated PC stuff

Should fix it

* Oops

Ack

* Coding

Cant code to save my life

* Telescreen beeping

Some refinements and telescreen beeping

Co-authored-by: Jamie D <993128+JamieD1@users.noreply.github.com>
2022-02-10 18:51:18 +00:00
nmajask
f216b2c4f6 Ports "Adds borg tablets, and RoboTact as a borg self-management app" (#12781)
* Ports borg tablets and Robotact

A very rough port of the two from TG with some code "barrowed" from SandPoot from cit to work around the lighting changes on TG

* Ports dentation button, rearranges the UI, and adds a change I forgot

Should all work

* Should fix the checks

Tgui being stingy

* Expanded Robotact and ports stuff

Adds a button to view alerts, self destruct, adjust light, and take picture to Robotact, ports downloading logs with the Borg Monitor, and allows borgs to use the NTOS downloader.

* Update asset_list_items.dm

* Adds buttons for lamp intensity

The slider is a bit jank, so I added some buttons for those who dont want to deal with it.

* Forgot you can do this

Should fix the checks

* *scream

Why is the linter so strict?

* Tails.dm but again

This is so much fun

* Reorganizes stuff and adds an integrated hardware flag

Reorganizes stuff to fit mod PDA/telescreen's new organization (dedicated files for each device) and added a hardware flag to better determine what can be used in the borg PC, fixing adam's issue.

* Should revert some of the removed buttons/commands

No reason to remove them

* Fixes the check

Forgot about this

* This is probably important

I should really test this

Co-authored-by: Theos <theubernyan@gmail.com>
2022-02-02 18:27:05 +00:00
nmajask
c49bd18e18 Adds new crates for modular computers (#13141)
Adds five (5) new crates that store modular computers
2022-01-26 19:00:53 +00:00
nmajask
407122e347 Adds modular PDA and Telescreen and cleans up some of the preset code (#12685)
* Added modular PDA and telescreen

They kinda work

* Adds a telescreen to box

* Cleans up some stuff

Left some code in from when I was working on something else, causing the checks to fail. This removes it.

* More clean up and an untested fix for computers so they dont runtime if they have an initial program

Hope this works.

* Hopefully fixes the failed check

Forgot about that var.

* Makes telescreens machines and more PDA sprites

Makes modular telescreens machines, adds more pda program icons, and fixes stuff.

* Adds telescreens to more maps and fixes the one on box

* Fixes the failed check and cleans up some commented out stuff

Forgot about this stuff

* Replaces engi and atmos tech phones with modular PDAs

Seams reasonable. May atomize it out if people want me to.

* Forgot the commit the atmos preset

*sigh

* Moves telescreens to the machine folder and adds a medical telescreen

Moves telescreens to the machine mod pc folder because they are no longer items and adds a medical telescreen that starts with the crew monitor program, though its not on maps yet.

* Removed the old telescreen file that didnt get removed

thanks github desktop

* Forgot about the CMO's computer

Though I did this with the medical preset

* Adds medical telescreens to most maps

* Readds the changes

* Forgot to uncomment this

*scream

* Adds telescreens to mining base and brig infirmary

* Everyone gets a telescreen

* Forgot the lights

* Symmetry

* Adds the fixes for delta
2021-12-27 17:24:30 -05:00
TheGamerdk
a2cf4cd029 Update console_presets.dm (#12930) 2021-12-19 15:10:37 +00:00
nmajask
5734b61013 Adds the overlay changes (#12843)
Makes program overlays glow in the dark, unifies overlay code, and adds a system for adding program overlay skins
2021-12-11 16:24:26 +00:00
nmajask
4b35790854 potentialy fixes console components (#12672)
*scream
2021-11-16 10:49:27 -05:00
nmajask
cbf8aca939 Should fix head modular consoles missing some programs (#12666)
* *scream

why cant I code

* Why did this not exist originally

*scream
2021-11-15 03:43:17 -05:00
nmajask
702d1ef2b0 Replaces some consoles with modular computer consoles (#12588)
* Added more presets

Added more mod console presets for sec, tcomms, cargo, qm, mining, HoP, HoS, CE, RD, and CMO

* Adds the consoles presets to the maps

* Few tweaks

Forgot to change what the tcomms preset had

* Tweaked kilo robotics

* Made a few more tweaks to kilo

* Re-added the outpost cameras instead of the mining preset
2021-11-14 17:57:28 +00:00
nmajask
a0b6b72b3c Ports some changes to modular computers from TG (#12482)
* Ports stuff

Ports a lot of stuff from TG, some of it might even work!

* Should fix the failed check

Should fix the failed check

* Allows phones to use the ID card program and aux card slot

Allows phones to use one of the two useful programs

* Changes preset stuff

Removes the old syndicate tablet preset with the nukie one and adds command and atmos phone presets. Replaces all head tablets with phones and fixes atmos techs starting with tablets.

* Fixes secureye icon and comms agents not being able to download apps

Does as it says

* Fixes the build error

cant code

Co-authored-by: Jamie D <993128+JamieD1@users.noreply.github.com>
2021-11-14 17:45:51 +00:00
adamsong
3baeaeb0c4 Steals tg's span macros (#12232)
* Steals tg's span macros

* Fix alphabet

* Updated some more spans

* Misses a conflict

* Fix compile errors

* Converts more spans

* oops
2021-09-17 12:50:16 +01:00
Lostlarry
cabf7d43b7 Ports? Shift computers to hug walls (#11877)
* makes computer and consoles hid the walls

* fixing shit

* better comments

* another fix

* make it work for windows
2021-07-31 15:20:26 -04:00
TheGamerdk
e7b6ca6083 Adds Public Art consoles to all libraries (#11699)
* art

* Update KiloStation.dmm

* Kilo
2021-07-28 19:25:43 +02:00
TheGamerdk
a0362cb3d1 Ports AI Portrait Picker + Curator Portrait Picker [PORT] [BOUNTY] (#11508)
* Gives curators a console for printing portraits not in the round onto canvases (#59146)

* commit

* AIs can now select portraits as their display (#53994)

A new option has been added to the AI display radial menu alongside random, "Portrait"

It opens a small menu that lets you peruse all of the portraits and select one as your display.

This can let avid artists draw exactly what they want their AI to be like, and not-so-avid artists to bring tears to my eyes.

* cummit

* e

* boom

* map merge + icon

* Update YogStation.dmm

* oops

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-06-13 11:22:06 +01:00
Jamie D
0dd6fae119 [Port] Explosions Subsystem Test 1 (#10202)
* Explosions Subsystem Test 1

* Fucking linter

* Fucking TG Are Dents

* SCREW OFF LINTER
2020-10-28 17:54:13 +00:00
alexkar598
dab25cb5a6 Dreamchecker (#8977)
* Changes obj_break on machines to use parent calls (#46485)

The way stat |= BROKEN was done was a mess, this makes everywhere use obj_break with proper parent calls and adds a signal for when a machine enters the broken state.
Why It's Good For The Game

Better code quality, more signals.

* e

* Can pass refactor (#48659)

* Makes all CanPass procs call parent

* Makes CanPass more extendable and gives the mover a say in the matter

* Replace CanPass with CanAllowThrough to use the new system

Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`

* Simple optimization pass

* Adds linting for equipped() pickup() dropped() (#46614)

* lint some inventory procs

* lineends

* f

*  line end

* lineend

* fuck

* changes per review

* does more

* Changes power_change() to respect parent calls for toggling NOPOWER (#46486)

About The Pull Request

Similar to #46485
Now all relevant uses of power_change() call parent, theres a signal sent when a machine changes the NOPOWER flag, all remaining machines that were using power_change() instead of update_icon() have been fixed.
Why It's Good For The Game

code quality, eventually signal stuff. and signal stuff

* Fix Crossed/Entered/Exited/Bump/ui_act parameter casting (#49016)

About The Pull Request

Detected as part of my work on SpaceManiac/SpacemanDMM#167

* Makes Crossed and Moved should call parent (#49671)

* makes setDir shouldcallparent (#49692)

* owo

* hehe

* Update atoms.dm

* Update atoms.dm

* Update atoms_movable.dm

Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: alexkar598 <>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2020-06-23 16:15:23 -04:00
TheGamerdk
5e514f81e7 Ports tgui-next 3.0, removes tgui 1.0 + Smart Asset Cache (#8291)
* Update Smes.js

* teleporter

* timer

* mining

* infra + prox

* uplink

* apc

* laser

* compile

* ui_x and ui_y and custom_materials

* 512

* smart asset cache

* vending machines

* Fixes missing icons. Removes rasta beanie

* cargo

* MULE + Intelli + Shuttle + Preferences

* AI fixer

* robot

* thing

* thing x2

* mecha

* compile

* oops

* Mining Vendor Fix

* Update traitordevices.dm

* Update proximity.dm

* Update EmergencyShuttleConsole.js

* rebuild

* uwu

* Revert "uwu"

This reverts commit de3ab5ff76.

* Update autodrobe.dm

* Update Vending.js

* Update _vending.dm

* Update Vending.js

* Update _vending.dm

* Build

* Update _vending.dm

* rebuild

* Update _vending.dm

* laser

* shuttle

* gigas

* signaller

* launchpad

* Update Vending.js

* eigthball

* pad

* ntnet relay

* labor stuff

* solar

* contrcators

* sprite fix

* Fixes contractor runtime (#45932)

* fix

* word change

* fixes contractor tablet (#47559)

* contractor

* ntos card console thing

* fixes

* dna console

* tweaks

* byondUI

* cargo hold

* fixes

* robit

* malf picker

* compile

* dependencies

* electropack

* transfer valve

* canvas

* fixes

* uplni stuff

* dna

* e

* tgui

* Octet separators in DNA Console genome sequencer. (#50516)

* Octet separators for the octet separator god.

* Code review changes

* REMOVES TGUI

* KNOB

* r

* tgui 3.0

* compile

* fixes

* fixes

* crafting fixes

* canister

* refactors

* bio gen

* MIT license

* seed

* Update NaniteCloudControl.js

* Update Uplink.js

* uwu

* oops

* fixes

* nanites

* Fixes nanite deactivation timer

* Revert "Fixes nanite deactivation timer"

This reverts commit c5fcfd34de.

* Revert "nanites"

This reverts commit eade3a61f4.

* various fixes

* compile

* turdis

* Update build_tgui.sh

* akwrard

* ha

* haha, HAHAHA!!

* compile

* fixes

* quick fix

* gps + dna fixes

* Compile

* DNA

* fixes

* sleeper + optable

* fixes

* mulebot

* Update cloning.dm

* Update cloning.dm

* Update ClockworkSlab.js

* Update Operating.dm

* Update nanite_chamber.dm

* Update nanites.dm

* Update nanites.dm

* Update stasis.dm

* Update asset_list_items.dm

* Update ClockworkSlab.js

* uwu

* oof

* Various FIxes + clockwork UI

* compile

* Sleeper fix

* Crew console

* AWKWARD

* PsiWeb

* uwu

* uwu

* psi web

* TGUI GONE

* compile

* autolethe

* Gulag + Solar

* Canister

* build

* private sale

* compile

* Update ntnrc_client.dm

* uwu

* canvas

* uwu

* uwu

* uwu

* uwu

* uwu

* uwu

* uwu

* uwu

* compile

* rust_g 0.4.3

* rust_g 0.4.4

* paint

* fixed

* icons

* Update easter.dm

* Update yogstation.dme

* asset cache

* Update asset_cache.dm

* opops

* hmm

* hm

* oh no

* awkward

* Update asset_list_items.dm

* hey

* Update asset_list_items.dm

* Update asset_cache_item.dm

* last try

* Update asset_list_items.dm

* fuck it

* hmm

* Update asset_list_items.dm

* uwu

* Update client_procs.dm

* Update PDA.dm

* no i didn't

* Update guardianbuilder.dm

* Update solar.dm

* Update minimap.dm

* Update _vending.dm

* tgui

* Update skin.dmf

* Update tgui.bundle.js

* Fixes

* Update borg_monitor.dm

* nanite fix

* Update rust_g.dll

Co-authored-by: Neo <26365368+Neo-0@users.noreply.github.com>
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: nightred <nightred@gmail.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
Co-authored-by: MrPerson <spamtaffic@gmail.com>
Co-authored-by: Akrilla <mrtactical@hotmail.co.uk>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: WarlockD <warlockd@gmail.com>
Co-authored-by: XDTM <heliumt@yahoo.it>
Co-authored-by: Sanator <39862806+Sanator@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Kelenius <kelenius@ya.ru>
2020-06-14 17:52:52 -04:00
Nichlas Pihl
70f889cf7d Ports tgui-next (#7137)
* https://github.com/tgstation/tgstation/pull/46764

* tgui is shit

* next PR should be low-level stuff, to remove shim-console.js properly

* https://github.com/tgstation/tgstation/pull/47123

* mint scrapped

* lots of PRs

* more PRs finished

* lol at tg

* it just works

* well, now it works

* lol

* travis maybe?

* Update build_tgui.sh

* copies the tgui folder as well

* fixes tgui permissions

* removes mint properly

* lol

* more stuff

* lol

* fuck

* kiosk stuff apparently

* uplink

* turbine

* more stuffs

* removes plumbing

* lol

* Update machine_circuitboards.dm

* lol

* removes medical kiosk

* chem macros get out ree

* couple of extra PRs

* forgot the import

* nuke UI

* micro arcade

* last few PRs

* https://github.com/tgstation/tgstation/pull/47990

* forgot the .dm file
2019-11-28 23:15:34 +01:00
vuonojenmustaturska
0c73eff422 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-07-16 03:20:17 +02:00
ShizCalev
f0c52879f2 Makes modular computer examine text more robust (#40729) 2018-10-08 09:37:48 +01:00
ShizCalev
ffefab25f4 Clean up mixed space & tab usage (#40121) 2018-09-07 11:40:31 +01:00
Jordan Brown
f9e709c18c Merge pull request #38116 from AutomaticFrenzy/patch/anchored
Refactor machinery to default to being anchored
2018-06-01 17:28:09 +01:00
vuonojenmustaturska
ddd4409133 Adds an EMP protection component, allowing ANYTHING to be protected from EMP (#37671)
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like

This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
2018-05-22 21:35:29 +01:00
81Denton
f44d4852af fixes obj descs and adds new ones (#37483) 2018-04-27 19:22:05 +01:00
Fox McCloud
d42a67da02 Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 14:01:33 +01:00
AsV9
d338cac150 Merge remote-tracking branch 'tgstation/master'
Not sure if this worked. Used a wonky special snowflake strat to merge.
2018-03-24 08:57:13 +01:00
kingofkosmos
086d636b17 Alt-clicking descriptions when examining (#30988)
* Adds what alt-clicking does into examine-messages.

* whoops fix

* AI holopad examine remove

* Fixed cigarette pack alt-clicking.

* Spear alt-click-message set to show only if explosive lance.
2017-09-29 15:51:31 +13:00
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Joan Lung
1feb0021a1 Removes now-unnecessary obj_integrity definitions 2017-07-08 14:02:50 -04:00
oranges
ae3740d84b use_power var now uses a define to reflect it not being a bool
NO_POWER_USE
IDLE_POWER_USE
ACTIVE_POWER_USE

holopads now correctly set use_power and the active_power_usage
2017-06-29 23:50:16 +00:00
Shadowlight213
c9d2c2bd8d Ports bay's supermatter monitor modular program (#28635)
* WIP

* How the hell did these not get committed

* Fixes, icons for the tablet

* Laptops use the static engine overlay when running the program.
Engineering tablets now start preloaded with a supermatter monitor and alarm monitor.

* Defines

* Requested changes.
Engineering tablets no longer have preinstalled programs.
Supermatter status percents are defines

* Minor thing
2017-06-28 11:05:09 -04:00
Lzimann
5bd06e126f Ports modular computers to initialize 2017-05-27 01:17:55 -03:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
PJB3005
a63608d023 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-03-03 16:31:00 +01:00
Lzimann
6dc29a1637 Fixes being able to get infinite metal with modular consoles and holodeck 2017-02-26 17:27:42 -03:00
Cyberboss
56a6eaa8e6 Overlay queuing (#23922)
* Overlay queuing

* Fix SS flags

* Don't copy on assignment

* Flags processing

* Fix icon_smoothing

* MSO's helper proc

* Legacy detection

* Make it work

* Fixes shitcode

* Fix the flag

* |= -> +=

* OK, how did I fuck that up?

* shitcode

* Conditional assoc queue while initializing

* Cleanup everything

* Orange meme

* This isn't perfect, but its the best byond will give us.

* forgot about dir

* oh ya

* This was litterally the last thing i did last night before heading to bed

You can tell can't you?

* Fixes various shit

* Let's not ever pause

* Fix the flag

* Cleaned up some missing shit. Added image dummys

* Remove the one usage of FPRINT

* Jesus get rid of this
2017-02-22 21:44:55 +13:00
PJB3005
8ce6ae2b87 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-02-08 14:30:23 +01:00
Cyberboss
0ad1d2fa3f Fixes modular computers not exploding (#23624) 2017-02-03 11:05:05 +01:00
PJB3005
e2386a8bd8 Have some code 2017-01-17 22:54:05 +01:00
Shadowlight213
008689c61c Adds AI Integrity restorer to program datums, various modular computer improvements (#21546)
* Ports AI restorer to modular computars

* mostly done. working on qdel improvments

* undoes testing flag

* undoes gc stuff

* Fixes id card module name

* memes
2016-11-19 13:33:39 +13:00
phil235
5f835bfc26 Obj damaging system, acid damage, and fire damage refactor (WIP) (#20793)
Please refer to #20867 and #20870 for a easier view of the changes. Those two PRs show all meaningful changes (hopefully) and doesn't show the files changed with just 3 lines changed.

This PR does three things:

    It makes all children of /obj/ use the same damage system.
    Previously to make your new machine/structure be destroyable you needed to give it a var/health, and its own version of many damage related proc such as bullet_act(), take_damage(), attacked_by(), attack_animal(), attack_hulk(), ex_act(), etc... But now, all /obj/ use the same version of those procs at the /obj/ level in code/game/obj_defense.dm. All these obj share the same necessary vars: obj_integrity (health), max_integrity, integrity_failure (optional, below that health level failure happens), and the armor list var which was previously only for items, as well as the resistance_flags bitfield. When you want your new object to be destroyable, you only have to give it a value for those vars and maybe override one proc if you want a special behavior but that's it. This reorganization removes a lot of copypasta (most bullet_act() version for each obj were nearly identical). Two new elements are added to the armor list var: fire and acid armor values.
    How much damage an obj take depends on the armor value for each damage category. But some objects are INDESTRUCTIBLE and simply never take any damage no matter the type.
    The armor categories are:
    -melee(punches, item attacks, xeno/animal/hulk attacks, blob attacks, thrown weapons)
    -bullet
    -laser
    -energy (used by projectiles like ionrifle, taser, and also by EMPs)
    -bio (unused for this, only here because clothes use them when worn)
    -rad (same)
    -bomb (self-explanatory)
    -fire (for fire damage, not for heat damage though)
    -acid
    For machines and structures, when their health reaches zero the object is not just deleted but gets somewhat forcedeconstructed (the proc used is shared with the actual deconstruction system) which can drops things. To not frustrates players most of these objects drop most of the elements necessary to rebuild them (think window dropping shards). Machines drop a machine frame and all components for example (but the frame can then be itself smashed to pieces).
    For clothes, when they are damaged, they get a "damaged" overlay, which can also be seen when worn, similar to the "bloody" overlay.

    It refactors acid. See #20537.
    Some objects are ACID_PROOF and take no damage from acid, while others take varying amounts
    of damage depending on their acid armor value. Some objects are even UNACIDABLE, no acid effect can even land on them. Acid on objects can be washed off using water.

    It changes some aspect of damage from fires.
    All /obj/ can now take fire damage and be flammable, instead of just items. And instead of having just FLAMMABLE objs that become ON_FIRE as soon as some fire touch them (paper), we now have objects that are non flammable but do take damage from fire and become ashes if their health reaches zero (only for items). The damage taken varies depending on the obj's fire armor value and total health. There's also still obj and items that are FIRE_PROOF (although some might still be melted by lava if they're not LAVA_PROOF).
    When a mob is on fire, its clothes now take fire damage and can turn to ashes. Similarly, when a mob takes melee damages, its clothes gets damaged a bit and can turn to shreds. You can repair clothes with cloth that is produceable by botany's biogenerator.

    It also does many minor things:
        Clicking a structure/machine with an item on help intent never results in an attack (so you don't destroy a structure while trying to figure out which tool to use).
        I moved a lot of objects away from /obj/effect, it should only be used for visual effects, decals and stuff, not for things you can hit and destroy.
        I tweaked a bit how clothes shredding from bombs work.
        I made a machine or structure un/anchorable with the wrench, I don't remember which object...
        Since I changed the meaning of the FIRE_PROOF bitflag to actually mean fire immune, I'm buffing the slime extract that you apply on items to make them fire proof. well now they're really 100% fire proof!
        animals with environment_smash = 1 no longer one-hit destroy tables and stuff, we give them a decent obj_damage value so they can destroy most obj relatively fast depending on the animal.
        Probably a million things I forgot.

If you want to know how the damage system works all you need is the three obj vars "obj_integrity", "max_integrity", "integrity_failure", as well as the armor list var and the resistance_flags bitfield, and read the file obj_defense.dm
2016-10-10 11:14:59 +13:00
Razharas
186d852bc5 Modular computers now use list of components (#20557)
* Bringing computers to the light side

Bringing computers to the light side

* Lighter and lighter

Lighter and lighter

* Missed some lists

Missed some lists

* Text to defines

Text to defines

* Last commit

Last commit

* How did this even get here

How did this even get here

* Removing bad stuff

Removing bad stuff

* Fixes verb adding and idle check

Fixes verb adding and idle check
2016-09-18 00:40:21 +02:00
Core0verload
91e5b35707 Modular PCs rewrite (#20003)
* Modular computers rework, part A

* tweaks&fixes

* Adds component-side compatibility checks

* Moves computers to SSobj

* Fixes stationary computers not using power usage vars

* Changes icon generation a bit, adds icons to broken computers

* Moves UI into it's own file

* Laptop refactor + sprite replacement

* Modular console's keyboard now lights up when powered

* minor fixes

* fixes

* bonus: wired connector, new type of recharger

* Modular computers are now devices

* code quality ocd
2016-08-25 10:28:33 +12:00
kevinz000
0dc5adf907 dungoofed. (#19979) 2016-08-20 13:20:52 -05:00
Shadowlight213
c85210b0c7 improvements and fixes. 2016-08-10 21:29:11 -07:00
Shadowlight213
8035651400 Finishes id computer
adds designs for computer parts to rnd and cases to the autolathe.
2016-08-09 22:55:07 -07:00
Shadowlight213
6bb69d760e Id computer mostly complete
Various fixes and improvements.
2016-08-08 00:40:03 -07:00
Shadowlight213
4ebeec67d6 Adds header icons
Does some fixes and cleanup
Some consoles added to the map and tablets added to job loadouts for testmerging.
2016-08-06 23:05:05 -07:00