Commit Graph
37 Commits
Author SHA1 Message Date
MrMelbertandGitHub 45b23412f8 [MDB Ignore] Medical larp: Adds the SDSM-35 (an in game brain trauma reference) (#94761)
## About The Pull Request

Medbay, the CMO, the Psychologist, (possibly) the Library, and some
maint rooms across all maps now have multiple copies of the SDSM-35

This exists as an in game ability to reference what brain traumas do. No
special bells or whistles, not even a search bar - it's a book after
all.

<img width="819" height="589" alt="image"
src="https://github.com/user-attachments/assets/ace867b9-a0f0-4302-99f9-46ed4d6fe377"
/>

<img width="802" height="546" alt="image"
src="https://github.com/user-attachments/assets/c96941d3-8da8-48f7-859b-93953fe01473"
/>

## Why It's Good For The Game

De-wikification: Rather than needing to pull up the wiki to figure out
what the brain trauma is doing, you can refer to the in game book and
cross reference the patient's behavior.

Medial larp: It's a reference to the DSM-5. If that wasn't obvious. 

## Changelog

🆑 Melbert
add: You can now find the SDMS-35 in Medbay, the CMO's office, the
Psychologist's office, and possibly the Library. Quite simply, it's a
reference book for all the brain trauma's you may experience.
/🆑
2026-01-08 19:47:04 -07:00
MrMelbertandGitHub 0f22994886 Mappers can disable bookshelf randomization, Non-adult shelves can no longer random into adult books (#90165)
## About The Pull Request

1. Mappers can disable bookshelf randomization


2. Bookshelves which are not explicitly marked as "adult bookshelves"
can no longer randomly load "adult" books


3. Random books can no longer random into "adult" books

## Why It's Good For The Game

1. If a mapper is placing a bookshelf with the express attention only x
type books will be in that bookshelf, they can guarantee that by
changing `category_prob`.

2. If the intention behind bookshelves are that "you have to go out of
your way to find the adult category to read an adult book", we probably
shouldn't add flat 25% chance for all bookshelves to be unmarked adult
bookshelves?

3. Similar logic - if you get a random book in the mail and crack it
open and it's an adult book, you can't really say you were "asking" for
it

## Changelog

🆑 Melbert
qol: Mappers can now disable bookshelf randomization
qol: Random books found via mail or in maint will no longer random into
books from the "adult" section
qol: Bookshelf randomization will now exclude adult books unless marked
as adult
/🆑
2025-03-23 23:45:08 +01:00
d93dfbc35c Adds Summon Cheese (#77778)
oh apparently this is my 100th PR on tg, which is weird because github
reports 99 total, and i made at least one to the old voidcrew repo, and
filtering tg prs by my name still shows 99. weird. here's to 100 more i
guess?

<sub>could have been better if it was a get, jhonflupwliiard watch ur
back 🔫 </sub>

## About The Pull Request

Adds a new spell granter book to the Wizard's Den - Summon Cheese, which
grants the spell by the same name, which summons 9 heads of cheese.
That's about it, I think.

## Why It's Good For The Game

Wizards are a hungry bunch, so why can't they just summon food? They can
even share, if they'd like, since the notion of a friendly wizard still
exists

<details>
<summary>... </summary>

alright fine
i'm slightly malding over not getting the 77777 get so no more
roleplaying in the pr body

Wizard Grand Ritual now has a hidden goal of sacrificing 50 cheese
wheels. Sacrificing a cheese wheel is done with invoking the grand rune,
and each invocation/pulse of the rune will whisk away more cheese until
all cheese on the rune is taken by whichever entity lurks in the other
realm. The sacrifice will be hinted at in an _ancient parchment_ which
will be on the bookshelf (when i add it lmao) alongside the spell book.

Meeting this cheese goal will lock the wizard's grand finale rune and
grand finale effect to special ones. The cheese rune is mostly identical
to the normal grand rune, barring the custom sprites/animations.
The cheese finale consists of the wizard getting permanent Levitation
(nogravity + free space movement), a 0.5 modifier(reducing incoming
damage in half) to every damage type, a comically strong mood buff and
**The Wabbajack**(separate sprite pending) - a juiced up chaos staff
which can fire a lot more projectiles than a normal one can (it will get
more, I may even make a few just for it).
Everybody else (including any invader antags) gets hallucinations, 175
brain damage and a comically strong mood debuff, as well as a vendetta
against the wizard. If the victim was already suffering from
hallucinations from a trauma (including the quirk), they are instead
healed.

if you didn't catch the obvious reference, this entire shtick is a
tribute to Sheogorath. the rune makes use of daedric script, and most of
the catchphrases are a direct quotation of the Daedric Prince of
Madness, so if any of those things can get us in trouble somehow, let me
know. i will be sad but i will comply.

This shtick is intended as an easter egg, really, so I wasn't really
planning on expanding the wizard grand finale into heretic paths thing
or whatever.

Oh, and finale grand runes now allow the wizard to select the effect
even if it's time-gated. If it is, you just won't be able to invoke it
until the time comes. The rune will tell you how much time is left until
you can invoke it. And grand finale runes with a finale effect selected
also glow in the color of their effect. I also think I fixed some step
of the grand rune animation not triggering but I'm not sure.

<details><summary>Some rune animations (some are subject to
change)</summary>


![rune_cheese_activate](https://github.com/tgstation/tgstation/assets/75863639/62ae184d-b6fc-4883-a169-4d8ca7636b40)


![rune_cheese_flash_2](https://github.com/tgstation/tgstation/assets/75863639/619545c8-3c55-4264-bfa4-d40067ef7406)


</details> 

## Why It's Great For The Game

it's funny

</details> 

## Changelog


🆑 Sealed101, EBAT_BASUHA for spritework
add: Wizard's Den now has a book of Summon Cheese in the Studies Room
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-08-31 10:31:33 -06:00
tralezabandGitHub c3b78761d2 Adds Chuunibyou Spell + Granter (#74404)
## About The Pull Request

My April fools this year, though not going to call it one because some
people think it should just be actually merged.

### Chuunibyou Powers 🌟

Wizard gets a new spell for 2 points that gives him the powers of
chuuni. This makes them have ridiculous shouted invocations for all
their spells, their spells are colored pink, and they heal slightly when
casting one.

While mostly a meme spell, I could see a tailored loadout like lichdom
and splattercasting that takes advantage of the unique spellcasting
changes, like a very low cooldown spammable loadout to heal quickly.

There is also a granter book in the library, which teaches a version of
chunni that doesn't heal.

#### Medical eyepatch

I added it, chuuni wizards get a NODROP version.

## Why It's Good For The Game

This PR bestows upon the game the glorious gift of chuuni powers, the
ultimate manifestation of my hidden potential and the secret truth of
this world, which only I and a few chosen ones can comprehend and
unleash! Why wouldn't you want it?!

In all seriousness, it is a unique wizard playstyle and it will make for
some funny memes. Beyond wizard, the chaplain, heretics, or mime can
read it in the library for a very silly round. I like it!

## Changelog
🆑
add: Chuunibyou wizards, and chunni granters in the library
add: Medical eyepatches
/🆑
2023-04-03 17:11:00 +02:00
0c4af38f41 [MDB IGNORE] TGUI library, plus polish (#65326)
* Prevents potentially infinite length books from being written and stored. I'm not sure if this is an actual issue, but I have a funny feeling it may become one someday

* Moves the paper defines to their own file

* It's become clear to me that I am stupid

* git add --all

* Makes book info into a datum to allow for easy passing around

* Converts the library scanner to tgui, lays the groundwork for tgui visitor consoles

* Makes the db request for book info sort
Adds the frontend for the visitor's console
Adds a hash to prevent duplicate db requests
Adds a prams changed var to help facilitate a better search button
Makes the page number code accept text as input

* Makes the ui index at 1 even tho we index at 0 internally

* Begins the conversion process for the library console.

Changes the library console to override the visitor, to utalize for the archive access portion of the ui
Makes scanner into a weakref, I'm coming for you handheld scanner
Renames some vars to make things clearer

* Converts the remaining refs of the old console typepath over, adds a circuit board for consoles because pain

* Changes how bookshelves load in books
Instead of loading them in lazyally, we load them during init
This lets us track what books are stored in which areas

Somewhat jutting off of this, adds map config for designating something as "part of the library"
This will be useful later

* Renames the random poster, adds a spritesheet for bibles. Both will be useful in a moment

* Ok. This is a bit of a mess.
Converts the library console to tgui.
This comes with a few minor behavior changes:
You can now select what type of poster you want to print, instead of just printing a random one
It's now possible to heed the console's emag warning
The console's inventory page will fill at roundstart with the books in your area/if you're in a library, any
areas designated as "library like" in the map config
You can see what type of bible the chaplin has selected?

"Fixes":
You can no longer just dump books into the scanner forever

Implementation details:
Any input that makes a db request will now A: freeze up any other db inputs until it's finished, and B: Start a
1 second timer before any new db requests can be made
Of note, I'm handling html encoding in a very targeted way.
All book_data datums need to have html encoded values. get_title/author/content exist so a defaulting and tgui
appropriate version can be loaded in. This somewhat matches with the trusted var on set_title, it exists to
prevent double html encoding.

While we're here

Input/DB (Book data should be html encoded)
Inside book datum (Book data should be html encoded)
Sending to tgui (Book data should be decoded during extraction with the get_() procs)
Sending anywhere else (Book data should be html encoded, otherwise it's an xss vuln)

Uhhhh tgui stuff?
I'm using a custom theme for emag visuals, I'll get into that more later
The visitor and book management console share the same data/act pipeline, which is why they're parented/subtyped
They also share a page selection component, which is why the visitor's console imports it.

Uhhhhh
Oh right, fuck.
Ok so the page selection component is kinda cursed, the left and right controls are fine
But I'm trying to get a << < [page/max] > >> setup going, and that means resetting the center input past change
so the default value can be used
This ends up being slightly hacky. I'm sorry.

Oh also, I implemented a custom tab setup for this ui. I have no idea why it was literally like 5 months ago.
I think it looks pretty nice, but if you want me to nuke it I can. Sorry for any headache around this.

More tgui stuff next

* Scanner/visitor cleanup, some other odds and ends

* Adds in a dark red and black theme for library computers to be triggered by an emag.
Things of note: I'm overriding some lists that get passed into buttons and one other thing using set, since the
list is alreadt generated by that step in the process? I think?
I've added dimness control to the dimmer component, since well, it was dimming already dark uis.
I also made and added a rather large background svg. I've got no experience with this sort of thing, and all the
compression methods I found for this ended up being busts. I know this isn't acceptable as an end product, but I
don't know how to get it there.

Somewhat on that note, this ui might not be worth the size for the amount of use it gets. I'm fine with nuking
it if that's the case, I bring this up because I have a very poor understanding of the logistics of something
like this, so I have a feeling I've fucked up somewhere

* Forgot these, just a scss file for library computers, barely used but I think it's worthwhile

* Missed this eariler. As a part of the uploading tab, I'm displaying the contents of books. I'm loading in that
context as raw html so paper -> book books look close to right. Means I need more html tags then our current
sanitize provides. I don't think any of these will cause issues, and there's also a good chance I'm missing
some. Will come up with a list later

* Updates the rest of the maps to use the new management typepath

* Fixes the default bible name being Default Bible Name, I am sorry

* Turns out I had the scaling wrong for bible names, lead to weird stacking because the bible icon doesn't scale, so I lowered its sizing

* Yeets unneeded exports (Thank you jlsnow)

Haha wouldn't it be funny if I didn't know how components worked

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>

* Resets the maps to master

* Fixes oversights from merge commit, changes maps

* Removes needless Flex's from the scanner

* Gives the library console the ability to parse markdown. Expands the list of acceptable html elements a bit

* Adds audio cues for printing and inserting/removing from the scanner, makes the scanner nicer to use in general

* Uses a compressed version of the background. It's still huge, but smaller at least

* Adds the printing audio to the book binder

* Cleans up tram

* curse you tram

* AHHHHHHHH

* MY LIFE IS TRUE PAIN

* Adds a path conversion statement to make people's lives easier

* Apply's style's suggestions

thx style

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Compresses the background svg

* Further js cleanup

* We no longer render markdown in the ui, since any source of markdown is converted to html anyway

* More ui changes

Makes the tab/main screen logic use Flex rather then manuel offsets
Makes modals better fit the size of their contents
Readjusts the width of some inputs
Properly uses the header prop for a table
Makes the buttons in the upload panel look nicer
Restructures the print tab a bit

* Increase a modal's size

* Fixes computers with no keyboard overlay showing their screen even when the power is out

* Moves some data and logic onto the library subsystem. Kyler's review

Fixes harddels held by the library scanner. Makes the scanner's buffer
actually do something

* Makes book icon randomization a proc rather then just copypasta'd code

* Removes the kilo library edit, the soul was removed

* Damn you san (Fixes mapconflicts)

* Pain

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2022-03-30 19:56:53 -07:00
WallemandGitHub f98faf4c86 [No GBP] Makes adding additional modular bookstates easier for downstreams (#65357)
* easy books

* moved it to the parent to fix it

* removes redundant var
2022-03-11 18:46:20 -05:00
tralezabandGitHub 6c01cc2c01 every case of initialize that should have mapload, does (#61623)
## About The Pull Request

stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it

for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

![](https://media.discordapp.net/attachments/823293417186000909/875122648605147146/image0.gif)

## Regex used:

procs without args, not even regex

`/Initialize()`

procs with args
`\/Initialize\((?!mapload)((.)*\w)?`

cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
2021-09-24 17:56:50 -04:00
TemporalOroborosandGitHub e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
nemvarandGitHub b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
Tad HardestyandGitHub 829e95896e Replace BSQL with rust-g, paramaterize all queries (#51255)
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl

Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.

Also updates rust-g to v0.4.5:

    Improved Linux .so detection
    Perlin noise functions

Also updates Travis script to bionic.
2020-06-08 16:00:07 +12:00
JordieGitHubJordie0608 <=>
469e1921f4 Delays loading of random books (#51144)
* delays loading of random books

* fix map var

* review

* return

Co-authored-by: Jordie0608 <=>
2020-05-30 02:20:38 -03:00
AnturKandRob Bailey a1d72bbadc fixes random bookcase icons (#45910) 2019-08-15 21:56:00 -07:00
vuonojenmustaturskaandAnturK f6b7ad5cb2 no waiting for lateloaders (#43834) 2019-05-11 18:28:22 +02:00
Jordan Brownandvuonojenmustaturska cf7e8aa9ec Qdels queries, adds sleep safety checks, DBcore checks for leaks (#38363)
* Qdels all queries, adds sleep handling

* DB Core messages admins about undeleted queries

* Compile fixes. Adds missing set waitfor

* Remove world/New shennanigans. Add DBQuery/BlockingExecute()

* Less spammy notifications to admins about undeleted queries

* Increase dbcore fire time to 1 minute

* Upgrade undeleted query warning

* Better place of death

* Fix build

* Remove BlockingExecute, see BSQL PR for why

* Yep, missed that one.

* Psyche, that's the WRONG QUERY!!
2018-06-18 22:48:35 +03:00
ShizCalevandJordan Brown 179e653562 Adds icons for items with randomization (#32523)
* Adds icons for items with randomization

* Glowsticks

* added ?

* more question marks

* Loc
2017-11-10 00:23:10 -05:00
vuonojenmustaturskaandJordan Brown 772924ba38 More Initialize() fixes, requires someone to test with DB (#30831)
* Batch 1

/obj/item/storage/firstaid/fire
/obj/structure/bookcase
/obj/item/book/random QDEL, not actually in the logs but returned wrong hint
/obj/effect/landmark/start/wizard QDEL
/obj/effect/landmark/start/wizard
/obj/effect/landmark/start/new_player
/obj/effect/landmark/latejoin
/obj/effect/landmark/xeno_spawn
/obj/effect/landmark/blobstart
/obj/effect/landmark/secequipment
/obj/effect/landmark/prisonwarp
/obj/effect/landmark/ert_spawn
/obj/effect/landmark/holding_facility
/obj/effect/landmark/thunderdome/observe
/obj/effect/landmark/thunderdome/one
/obj/effect/landmark/thunderdome/two
/obj/effect/landmark/thunderdome/admin

* Batch 2

/obj/machinery/computer/operating
/obj/machinery/computer/telecrystals/uplinker
/obj/item/card/id/centcom
/obj/item/card/id/syndicate
/obj/item/card/id/captains_spare
/obj/item/card/id/ert
/obj/item/card/id/ert/Security
/obj/item/card/id/ert/Engineer
/obj/item/card/id/ert/Medical
/obj/structure/trap
/obj/machinery/magnetic_controller
/obj/item/storage/toolbox
/obj/structure/table

* Batch 3

/obj/machinery/vending/snack/random
/obj/machinery/vending/cola/random
/obj/machinery/computer/pod
/obj/machinery/computer/message_monitor
/obj/machinery/computer/atmos_control
/obj/item/implanter
/obj/item/implantcase
/obj/item/construction
/turf/open/floor/grass
/turf/open/floor/grass/snow/basalt
/turf/open/floor/grass/fakebasalt
/turf/open/floor/carpet
/turf/open/floor/fakespace
/turf/open/floor/light
/turf/open/floor/mineral
/turf/open/floor/mineral/abductor
/turf/open/floor/circuit
/turf/open/floor/clockwork
/turf/open/floor/plating
/turf/open/floor/engine/cult

* Batch 4

/obj/item/storage/backpack/satchel/flat
/obj/item/storage/backpack/satchel/flat/secret
/turf/closed/indestructible/fakeglass
/turf/closed/mineral/random
/turf/closed/mineral/gibtonite
/turf/closed/mineral
/turf/open/floor
/obj/effect/spawner/lootdrop

* Batch 5

/obj/effect/spawner/lootdrop/maintenance
/obj/effect/spawner/lootdrop/costume
/obj/item/toy/eightball/broken
/obj/item/toy/eightball
/obj/item/toy/eightball/haunted
/obj/item/device/electropack
/obj/item/restraints/legcuffs/beartrap
/obj/machinery/airlock_sensor
/obj/item/storage/box/ingredients

* Batch 6

/mob/living/simple_animal/hostile/carp/ranged
/obj/structure/lattice/clockwork
/obj/structure/lattice/clockwork/large
/obj/structure/lattice/catwalk/clockwork
/mob/living/simple_animal/hostile/mushroom
/mob/living/carbon/alien
/mob/living/carbon/alien/larva
/mob/living/carbon/alien/humanoid
/mob/living/carbon/alien/humanoid/drone
/mob/living/carbon/alien/humanoid/royal/praetorian
/mob/living/carbon/alien/humanoid/sentinel
2017-09-19 08:45:18 -04:00
Jordan BrownandLeo af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
FrozenGuy5andGitHub 9c0438754b Update random_books.dm 2017-08-05 01:49:18 +01:00
FrozenGuy5andGitHub 96c7c5a9fa Update random_books.dm 2017-08-05 01:48:48 +01:00
FrozenGuy5andGitHub e3c76e2d85 Update random_books.dm 2017-08-05 01:48:28 +01:00
ShizCalevandJordan Brown 45d3d52af7 Made some object lists less terrible to read (#29304)
* spaces

* more spaces

* last ones
2017-07-18 10:44:29 -04:00
ShizCalevandJordan Brown 59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
CyberbossandJordie 3c3f7d3b60 Refactors dbcon into a subsystem (#26134)
* Refactors dbcon into a subsystem

* Swear I got that already...
2017-04-17 15:18:17 +10:00
Cyberbossandduncathan salt 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
AnturKandLeo 6d62609cc6 Fixes roundstart warning spam (#25290) 2017-03-21 18:57:38 -03:00
JordieandAnturK 63b3699cdd MySQL Execute error handling (#24738)
* wip commit

* mysql execute proc now handles errors itself

* adds log_sql()

* implements log_sql()
2017-03-07 10:55:42 +01:00
Cyberbossandoranges 2d424cf6be Moves some stuff that belongs in dbcore to dbcore (#24145)
* Moves some stuff that belongs in dbcore to dbcore

* Wew garbage

* Ree

* Fixed
2017-02-19 14:21:53 +13:00
CyberbossandAnturK 5959ac32cc Refactors atom/Initialize. Fixes ruins being initialized twice (#22778)
* Refactors atom/Initialize

Captialized for compiling correctness and to be more inline with Destroy

Will now be called from atom/New if the world initialization loop in SSobj has already run. Should always call the base.

Now comes with the `roundstart` parameter indicating whether or not it was called by SSobj or atom/New

Other fixes/tweaks:
- Renamed a proc called Initialize in abduction consoles to Setup
- Removed /obj/item/device/radio/headset/headset_sec/department: Broken and referenced literally nowhere in the code
- Removed a spawn from the Initialize of turbine_computer which made literally zero sense
- Generalized the proc which fixes RND servers with no id set

Reasoning: It's better to check roundstart per function than to have to duplicate code in New and Initialize. Think of it as a safer New for atoms. If we move enough stuff to it, initial map load performance will increase due to less New calls

* Fixed a thing

* Actually, fuck the police

* >Expecting a merge without errors

* >Not calling ..() in New

* Sanic

* Fix the headset bug

* Makes sure the map loaders dew it right

* Fixes ruins being initialized twice

* Rename roundstart -> mapload

* Revert "Rename roundstart -> mapload"

This reverts commit 667c327fd2ccfa3ce4f4db52eac03f9e8b0f6812.

* Remove unrelated change

* A more direct solution to map loads

* And now we shouldnt need this warning

* Add the new var to SSobj recovery

* Revert "Revert "Rename roundstart -> mapload""

This reverts commit dee07dbd5e4696554ac43aae5b91cce743b9b9e0.

* Line endings
2017-01-23 09:37:45 +01:00
lordpideyandoranges f640d7ddb7 Devil fixes (#18520)
Numerous small fixes/changes/balances to devils.

Notable changes:
It now requires more souls to increase. It is now 3,7,12 souls, up from 3,6,9.
Devils now have extra rules, no coercing into signing contracts with violence, and no intentionally physically harming another devil.
Burial garment banishment now works on true devils. <--- Unreported issue, can I use that fix for the mergetoken?
Renamed all demon files to devil
Updated religious supplies to have burial garments.
Burial garments re-added to box/meta
Increased infernal fireball cooldown
Soulsellers can now use a pitchfork without being harmed.
Added new book crate, which includes a codex gigas to cargo.
2016-06-14 15:43:33 +12:00
Nerd Lord 7c8a138f60 Sneaks in a new book sprite that's totally white colored, no blue dot. 2015-12-29 16:01:14 -05:00
Incoming 1f9f0dfc40 Adds subtypesof(). It's shorthand for typesof(path) - path.
Replaces typesof(path) - path with subtypesof(path) in obvious places. I was a bit conservative, there's probably a few more places that could use this.
2015-11-16 18:55:57 -05:00
Vincent e4c307af79 You saw nothing 2015-11-01 11:40:14 -05:00
Vincent 8acfb8db3c Grumble grumble doesn't work in new must be in initialize 2015-11-01 11:40:13 -05:00
Vincent 7bb3c14883 Error checking, consolidation, sql sanity 2015-11-01 11:40:13 -05:00
Vincent c1d3ddb6e7 Adds database-fed random bookshelves. 2015-11-01 11:40:12 -05:00