Commit Graph

386 Commits

Author SHA1 Message Date
nemvar 02251be5ac Turns Gibberish code into something that's not gibberish (#45753) 2019-08-09 11:32:32 +12:00
Akrilla 92b100a2d7 PDA now accepts ID card when in inventory (#45037)
* id card pda

* cleanup
2019-07-12 19:14:32 +02:00
Nick a8197eb3dd Citations (#44853)
* Citations Step 1 - New Datacore Stuff

* Committing before merging with master

* Initial work on PDA messaging

* Adds support for automated PDA messages

This is just a flag that, when set, replaces the standard (Reply) href with a static "automated message" message

* Citations now generate PDA messages

The target of a citation will be notified via PDA message

* Escaping some non-optimal characters in PDA messages

* Creates a public warrant computer

Initial framework. Computer machine and circuit. Adds it to the DME.

* We're gonna flipflop on this for a while

* Removing unneeded functions

This is a read-only terminal, so we don't need to have all this code for managing entries and updating fields

* Whoops

So this is why byond was warning me about unused vars

* Need some help

Pushing this commit because I got this into a state where it doesn't work right

* Adds support to pay fines!

* Map changes. Adds a warrant console to the hallway outside the brig and law office on Box.

* Adds some checks to fine creation

* Aaaaand more work on paying citations

* Paying citations works! The money goes into the defense budget!

* More functionality and usability changes

* Adds warrant consoles to the rest of the maps

* Cleaning up text

* Rewrote warrant computer to be more up to date.

* Fines are capped to 1000 credits

* Requested changes

* Citations can now be paid with holochips and warrant consoles don't require your ID to be inserted.

* Fines can be paid from security record consoles, and more feedback messages

* Citation payments now actually go into the defense budget for real

* Removing even more unused code!

* Removes unused code (emp_act and ID handling)

* More unused code for the unused code gods

* ID card reference is now just fetching attached name.

* remove simple mob typepath kthx for the remove simple mob typepath kthx gods

* one usr, many M
2019-07-03 20:19:05 +02:00
Tad Hardesty ba95173289 Fix keyword argument warnings 2019-06-26 01:59:57 -07:00
Shaps 8954265573 Agender fixes (#44597)
Credits to Europaisch for help finding all the records stuff

Fixes a few issues I was not aware of with my initial PR

* Being agender is now a distinct DNA value (fixes agender spessmen
  turning female when having their DNA referenced, like during cloning
  and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
  an issue with male underwear not surviving preference loading and
  defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
  and add "Other" option (they currently display "plural" even for
  agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
  neuter with the Chinese Cartoons admin secret (highly important)

I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
2019-06-19 13:59:39 -07: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
Emmett Gaines c3f95024b2 Gets rid of the GetComponent macros (#44220)
* Removes the GetComponent macros

* Regex replacement for GET_COMPONENT

Search: `GET_COMPONENT\( *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = GetComponent($2)`

* Regex replacement for GET_COMPONENT_FROM

Search: `GET_COMPONENT_FROM\( *(.+?) *, *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = $3.GetComponent($2)`
2019-06-04 17:39:58 +02:00
kingofkosmos 1bf60bbe06 Adds missing </span>'s. 2019-06-02 21:29:14 +03:00
JJRcop bab214e892 PDA Message Server can be constructed (#43961)
About The Pull Request

I made a machine board for the PDA message server and added it to the telecomms techweb node. To keep the usefulness of the machine's password, a player built message server won't work until 15 minutes after construction. I've also converted a lot of magic numbers to defines, and changed the departmentType var on request consoles into a bitflag.

I'm open to ideas other than a time gate when it comes to keeping the server password's usefulness.
Why It's Good For The Game

You can't build a Message Server right now. If it's destroyed, PDAs may be knocked out for the rest of the round.
Changelog

cl JJRcop
add: You can now build a new PDA messaging server if you lose it.
tweak: Requests console messages no longer work if the messaging server is offline. Emergency alerts will still function in that case as long as the rest of telecomms is online.

/cl
2019-05-27 22:23:59 +12:00
vuonojenmustaturska a844611ff4 removes an explicit uplink component check in favor of a signal in detomatix carts (#44023)
* yeets a GET_COMPONENT_FROM

* signal rather than component

* Update code/game/objects/items/devices/PDA/virus_cart.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-05-20 19:43:42 -04:00
RaveRadbury ade1a97e7c [READY] pAI HUD Overhaul (#43741)
* Initial overhaul work and some fixes.

Running into a bug with getting healthanalyzer variables to pass.

Signed-off-by: RaveRadbury <risforradbury@gmail.com>

* Fixes some typos, shortens a message

* Update pai.dm

* Prevents pAI OS from coming up in other windows.

* Moved around some camera stuff, trying to fix lost pAI zoom

* Fixes pAI zoom, adds camera flash

* PAI buttons grey out if they need software first

* Better greying out of buttons in PAI

* Removes unimplemented HUD stuff

* Should make pAI Host Scan require being held (like DNA check)

* Includes host scan as a greyed out hud

* Improved button loop

* Fixes pda icon off-set

* Fixed inconsistent indentation

* Replaces outdated and innacurate checks for scans

Thanks to Cobblestone for the help

* Refactor pAI hud button grey out

* Changes browse to browser

* cleans up the code, gets rid of an error

* Removes indent from #undef

* Removes an unneeded text-align:right
2019-05-18 23:06:29 +02:00
Rob Bailey 106cd26fc0 Small audio fixes (#43883)
* pure file fixes

* beep pitch fix

* duump eet
2019-05-11 18:09:00 +02:00
RaveRadbury 9a7eabbacc Change 'return' to 'return menu' so it works now (#43631) 2019-04-17 14:27:19 -04:00
RaveRadbury 369933d541 pAIs eject into hands (#43592)
Currently pAIs cannot be configured for DNA and secondary directives
while inside a PDA. If I need to eject my pAI from my PDA, why would I
want to drop it on the floor, especially when it hasn't been configured?

An activated pAI is too valuable to drop from your PDA directly to the
ground.
2019-04-14 21:41:48 -07:00
ShizCalev 1ebbab60ec Fix slippery oil never initializing, move some Initialize() to ComponentInitialize() (#43129) 2019-03-16 19:09:47 -07:00
ShizCalev a46376e22d Merge pull request #43128 from Lett1/firebotpdafix
Adds firebots to robotics pda remote
2019-03-15 17:04:36 -04:00
Strommer Kilian 6d10fb67d6 And also to the rd and atmos pdas 2019-03-14 21:08:58 +01:00
Strommer Kilian 82b3a6d607 Add firebot access to the ce and captains pdas 2019-03-14 21:06:59 +01:00
Strommer Kilian b323f40481 Update cart.dm 2019-03-12 08:04:19 +01:00
Tad Hardesty 1433e48eba Fix some proc calls with bad keyword arguments 2019-03-09 12:56:19 -08:00
Tad Hardesty 990e2c7bc2 Fix a few junk type annotations (#42985) 2019-03-07 10:58:05 +01:00
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