Commit Graph

365 Commits

Author SHA1 Message Date
ShizCalev 8f060bb5fb Fixes PDA TK exploits 2019-02-08 03:21:36 -05:00
Tad Hardesty 3b2c0e27f7 Scope various unscoped locate() calls (#42195)
* Scope locate calls which are immediately checked against a list

* Remove silly use of locate from bible Topic

* Scope various locate calls (needs testing)

* More WIP

* Buff up lightswitches while we're here

* Tidy record browsing code

* Scope a few more locates

These have caused problems in the past (#41917, #39303). Continues #29349.

Also cleans up lightswitch code while I was already touching it.

I recommend a testmerge.
2019-01-06 20:39:27 +13:00
nicbn c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08:00
ShizCalev 327a3d9927 Fixes sechuds not updating when inserting & removing an ID into/from a PDA/wallet/computer (#40826)
cl ShizCalev
fix: Fixed sechuds not updating when a user removes/inserts an ID from/into their PDA/wallet/computer while it's in their ID slot.
/cl
2018-10-17 23:45:35 +13:00
ShizCalev b7739a4a23 Standardizes bomb logging (#40474)
Fixes #39976

A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.

Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
2018-10-01 15:03:00 +13:00
ShizCalev 1c10bd9256 Fix PDA light exploit (#40402) 2018-09-22 21:09:24 -07:00
AnturK 3084371f6d Failsafe uplink codes. 2018-09-16 13:35:43 +02: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
kevinz000 5b5e1ee577 Third time's the charm - Photography update: 7x7 cameras, photo logging with full metadata, persistent albums and wall frames! (#38944)
* Photography Update

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Pictures logged in their own /data/picture_logs folder rather than normal logs

* Photos broke, retrying

* Persistence stuff

* I'm almost done I promise!

* Persistence mostly working, compile, etc etc

* Persistence mostly working, compile, etc etc

* Remove something really not needed from the PR

* Prevents duplication

* default to off

* removes check tick

* increase slots in albums to 21

* Allows for singular loading

* Update camera_image_capturing.dm

* Addresses review

* Anturk

* Update camera.dm

* Update misc.dm

* Update datum.dm

* Update camera.dm
2018-08-01 14:52:41 +02:00
Tad Hardesty 59fa61113f [Ready] Communal Resource Storage II (#39118)
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
2018-07-25 22:58:11 +12:00
Epoc 63073e95e9 Adds "Toggle Flashlight" to PDA Context Menu (#39229)
new verb for the PDA that toggles the flashlight, moved the toggle code to a
new proc

why: because i'm tired of having to open the PDA menu at the beginning of every
round to turn on the flashlight
2018-07-22 16:55:39 -07:00
Time-Green 6dd9c10392 [s]Fixes an exploit (#39081)
* nothing to see here

* Checks if it's in their contents

* i have the down

* Fixes another fuck up
2018-07-13 14:59:13 +02: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
ShizCalev 7d737259e0 Fixes PDA ID teleporting (#38795) 2018-06-30 12:09:29 -07:00
ShizCalev 964b748919 Fixes ID console exploit (#38768) 2018-06-28 21:17:39 +03:00
ninjanomnom bbb4147aa2 Some uplink component GetComponent cleanup 2018-06-23 01:41:34 -04:00
Irafas fc14312f35 PDA can be ctrl-clicked to remove the item in its pen slot (#38577)
* Makes pens ez to remove from pda

Players can now ctrl click on the PDA to remove the pen without having to remove the ID first.

* added instructions when examined.

Like how it tells the user they can use alt-click to remove contents, it now says they can use ctrl-click to remove items from the pen slot.

* PDA can now be dragged without dropping the pen.

When ctrl-clicked it now checks to see if the PDA is on a turf and will only output the pen if its not.

* quick change to examine text.

* comma

* Improved the examine
2018-06-19 10:49:04 -04:00
Tad Hardesty 3c03f9a383 Move PDA interface to interact from attack_hand 2018-06-15 19:36:45 -07: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
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
ShizCalev 4ad3616091 Capitalizes CentCom (#38086)
* Capitalized CentCom

* neediful
2018-05-26 21:18:39 -07:00
ShizCalev 60238ecd51 [s] Power monitor tweaks and fixes (#38005)
* Power monitor tweaks and fixes

* Crouching tiger, hidden power monitor

* flavor text
2018-05-24 12:27:49 +03:00
cyclowns 49b4aa928e Buffs atmospheric analyzers to show mole count, volume and higher degrees of precision (#37631)
add: Analyzers can now scan all kinds of atmospheric machinery - unary, binary, ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers, vents and so forth can be analyzed.

tweak: Analyzers now show temperature in kelvin as well as celsius.

tweak: Analyzers now show total mole count, volume, and mole count of all gases.

tweak: Analyzers show everything at slightly higher degrees of precision.


More accurate and advanced analyzers have been something that I think atmos and toxins mains have been wanting for a while now (including myself). It's always a pain to have to manually add 273.15 to every celsius temperature, or have to use outside tools or VV (which isnt usable in actual games) to calculate mole count for a gas mixture. Not to mention, the ability to analyze things like volume pumps and gas filters makes it easier to manage larger atmos setups. This is just a QoL change for people in any of those jobs. In fact, most players probably don't even know what the fuck is a mole is so adding mole readout to analyzers is a good way to get people to understand atmospherics better.
2018-05-23 13:38:59 +12:00
vuonojenmustaturska 1eccbcca18 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 11:38:02 +12:00
Tad Hardesty f53caac04a Refresh mob views when atoms enter/exit storage (#37954) 2018-05-21 12:45:52 +03:00
Tad Hardesty 698a8d92dd Fix some missing icons 2018-05-12 21:51:59 -07:00
Iamgoofball ea6eced91f improves pda message immersion (#37735) 2018-05-10 18:08:09 +12:00
Tad Hardesty cf6f064e21 Use spritesheets to reduce time spent sending PNG assets by 90+% (#37399)
The total number of assets to be sent has been reduced from 1532 to 76, with time between first asset and last going from about 112s to about 7s (a 93% reduction) by my measure. The following assets have been coalesced:

    705 pipe images (used by RPD) -> 1 spritesheet + css
    595 research design icons (used by R&D console) -> 3 spritesheets + css
    116 OOC emoji + 15 language icons -> 1 spritesheet + css
    27 PDA icons -> 1 spritesheet + css
    11 paperwork stamps -> 1 spritesheet + css
2018-05-10 14:34:57 +12:00
Dax Dupont 8adbe2ed8e Adds a cooldown to PDA send to all messages. (#37422)
* Adds a cooldown to PDA send to all messages.

* aaa

aaa

* forgot this one

* condom
2018-04-30 02:09:10 -04:00
oranges ecd0d8b538 Merge pull request #37476 from AnturK/thisalwaysbuggedme
Uppercases slot defines.
2018-04-28 13:13:56 +12:00
Dax Dupont 354f843132 Adds logging for PDA explosions (#37465)
* Adds logging for PDA explosions

* Adds antag status
2018-04-27 21:10:23 +03:00
AnturK 4c5a43eeb8 Prefix for item flag slot defines. 2018-04-27 10:30:48 +02: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
pigeons 6135ec864f Refactors bitflag macro values into bitshifts (#37234)
* Refactors bitflag values into bitshifts

* minor formatting edits

* Unbitshifts a macro set that skipped 3 for whatever reason
2018-04-19 18:36:35 -04:00
John Ginnane d434cac5b7 Sender of PDA messages is told when their message is sent (#37055)
* Adds "sent message" to the sender of PDA messages

* Added span to message
2018-04-14 17:13:52 -04:00
kevinz000 f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
cyclowns 97aeab66c4 Atmos unary devices can now be analyzed (#36485)
tweak: Unary devices can now be analyzed using gas scanners. This means stuff like vents, scrubbers, cryo tubes, or heaters/freezers.


fixes #36448

this means stuff like cryo, vents, scrubbers, heat exchangers, heaters/freezers, injectors, those big pressure tanks etc. can now be analyzed by gas analyzers/PDA gas scanners
2018-03-21 16:21:40 +13:00
kevinz000 8ebc63d2f2 Randomized Station Time + Night Shifts 2018-02-20 21:59:44 -08:00
Jordan Brown d282c60c7d Quote the armor lists (#35668) 2018-02-16 01:25:42 -05:00
ShizCalev f11fa6be63 Fixes PDA virus runtime 2018-02-11 16:15:43 -05:00
ShizCalev f7fe600540 Cleans up vars with defines 2018-02-09 00:20:41 -05:00
Jordan Brown f98a4e66cd Merge pull request #34755 from ChuckTheSheep/Current-Color-as-Default-Color-in-Inputs
All color inputs use current color as default choice
2018-01-24 19:13:58 -05:00
MrDoomBringer 20a6c0cdd7 Adds ~70 more suicides (#34522)
Does what it says on the tin, probably a terrible idea
2018-01-23 20:38:31 +13:00
ChuckTheJittai 02033f1756 All color inputs use current color as default choice
Went through all the color inputs and made the "default" argument the current color of what is being selected.
2018-01-21 13:07:35 -05:00
ShizCalev 18c0928903 Redundant params 2018-01-15 10:22:58 -05:00
Cruix ec790fd7bb Fixed PDAs not calling parent in equipped() (#34081) 2018-01-05 06:56:10 -05:00
Dax Dupont 03982074c5 PDA Interface color is now an option 2018-01-01 23:23:02 +01:00
Tad Hardesty f2dbe5cf13 Replace explicit z-level checks with defines (#33829)
* Replace explicit z-level checks with defines

* Rename turf_z_is_planet for consistency

* Use TRUE/FALSE in onSyndieBase
2017-12-29 14:40:06 -05:00
Tad Hardesty 911cb97718 Tidy telecomms radio code, make PDA server real telecomms machinery (#33647)
* Refactor radio message broadcasting in a major way

Broacast_Message and everywhere that uses it, including radio talk_into
and the telecomms broadcaster and allinone. Other telecomms machinery
has had dead code excised.

Functionality should be roughly the same as before, but:
- CentCom headsets are only magic when using the CentCom frequency
- Syndicate frequency speech on the station no longer double-talks
- Talking directly into an intercom or radio which also has its
  microphone on no longer double-talks.

* Split signal/vocal into subspace and subspace/vocal

* Move the message server and its computer to telecomms folder

* Slightly tidy the message server and computer

* Move subspace receiver logic to a proc on signal/subspace

* Repath the message server under machinery/telecomms

* Largely get PDA messages onto subspace proper

* Actually require the server for PDA messages

* Improve signal/subspace/New() and copy()

* Improve input handling on the message server

* Fix initialization and Z checks of allinones

* Add a constructor for virtualspeaker

* Fix radiation storms initializing a bad virtualspeaker

* Fix runtimes with machines talking into radios

* Finish making the message server a real telecomms machine

* Make CTF radios independent also

* Fix window IDs of message server PDA photos
2017-12-20 22:02:55 +01:00