Commit Graph

1500 Commits

Author SHA1 Message Date
AnturK
4be070827f Fixes simple animal emotes / Refactors emote list (#44458)
* Fixes simple animal emotes.

* Makes emotes support multiple datums per key properly.

* Apply suggestions from code review

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-06-13 09:33:48 -04:00
skoglol
6888e5f616 [s] Fixes big area creation searches differently (#44449)
* ninja man disappointed

* to infinity and byond
2019-06-11 15:02:58 -04:00
4dplanner
69bd3810b2 HoS gun ion mode replaces taser mode (#44216)
* HoS gun ion mode

* Bumps up HoS egun ion cost

* Rearranges hos gun ammo types

* Fixes empulse

Adjusts hos ion to weak level
Fixes weak ion bolt
2019-06-11 10:36:17 -04:00
oranges
f62a577ebb Merge pull request #44438 from AnturK/ghosttwitch
Fixes ghost seizures.
2019-06-11 20:23:36 +12:00
AnturK
69ac935bde Upgrades policy config + policy verb. (#44296)
* Upgrades policy config + policy verb.

* Better example and proper default value.

* hr on top

* Cleanup
2019-06-10 11:51:25 -04:00
AnturK
85871da5c9 Fixes ghost seizures. 2019-06-10 11:19:47 +02:00
AnturK
e0824114db Adds hourglass (#44384)
* Adds hourglass

* Proper icon and animation.

* Makes throwing not break animate.

* Adds hourglass to library game vendor.
2019-06-10 10:31:24 +12:00
skoglol
713ec805f4 Fixes chem dispenser button order (#44386)
* Fixes chem dispenser button order

* Fixes it properly.

* Okay, no nulls then.

* unneeded comment.
2019-06-09 17:20:19 -04:00
skoglol
7c181336b8 [s]Stops the create area search early if too big (#44367)
* Stops the area search early if too big.

* maths
2019-06-08 20:32:41 -04:00
AnturK
d8078e1452 Adds system for randomized semi-persistent chem reactions. (#44094)
Generates parametrized randomized recipe and resets them every x days.
One example reaction added, with recipe available in space ruin (or through experimentation of course).
There's a few obvious improvements to the randomization system but i feel this is good enough to start some discussion. Still need to decide how far should conflict resolution go.
2019-06-01 09:31:05 +12:00
Akrilla
f66769a113 Show codewords on round end screen (#44168)
* Show codewords on round end screen

* More efficient searching of codewords in text

* Typed globals
2019-05-30 11:57:19 +02:00
vuonojenmustaturska
5597c9b0fd After ten thousand years, #define get_area() #44073
Also removes /obj/item/areaeditor/proc/get_area(), which works the same as /proc/get_area() except doesn't take an argument.

Why It's Good For The Game

It's #2 most called proc some rounds, top #10 always.
Changelog

cl Naksu
code: get_area() is now a define rather than a proc.
/cl
2019-05-23 11:02:00 +12:00
vuonojenmustaturska
a7a132daf6 Reduces crabphone volume to being merely loud and reduces the market's hp by 2400 (#43918)
* fuck

* Update crab17.dm
2019-05-14 17:55:08 +02:00
Tetr4
c44f424fe2 Adds input() to remote signaller (#43799)
* more buttons

* thetin

* fixes freq format bullshit

* after-input check

* yuh
2019-05-11 18:10:17 +02:00
JJRcop
6aa8cebfe4 [READY] Replaces sleepers with stasis beds (Lifeform Stasis Unit) (#43075)
* Adds stasis beds

Needs sprites, using placeholder ones

* Adds stasis beds to techwebs
Cryostasis Technology

* Adds sprites for stasis bed

* Stasis beds support economy/ancap

* Stasis bed can be deconstructed

* Stasis bed requires cable coil

* New stasis bed sprites by @Kmc2000

Made by Kmc2000 <bluekorben2000@yahoo.com>
Not currently functional

* Add unique to SSvis_overlay.add_vis_overlay

will return the overlay object itself and not reuse it

* Make stasis bed art function

can enable/disable with alt click
makes sounds when powering up/down

* The tubes go over the mob now

* Remove sleepers from techweb tree

* Fix stasis bed lying

* Modified stasis bed build requirements

* Survival pod version of stasis bed

Map spawned sleepers delete their circuit boards
Added stasis beds to 'doctors' phobia
NanoMed for survival pod which is always free, not refillable

* Replace sleepers with stasis beds on all station maps

removed all sleeper machine boards from maps
one sleeper machine board intentionally left alone in oldstation

* Fix stasis bed tube overlay capturing clicks

Give power up and down noise freq variation

* Remove stat check from living Life

* Remove vis overlay assertions from stasis bed
2019-05-07 13:16:18 -04:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
AnturK
ed342acc29 Adds explicit roundend log line (#43744) 2019-04-29 11:24:01 -04:00
Tad Hardesty
c530a449d9 Fix unit confusion in radiation collector array description (#43523) 2019-04-15 12:38:19 +02:00
oranges
1de8e39aad Add a log for paper edits
This should have been done ages ago
2019-04-09 22:48:06 +00:00
ShizCalev
f2cea780aa Move map errors to their own log file (#43376)
In interest of getting things fixed without having to constantly crawl
through game.log to find map issues, moved them to their own log file.
2019-03-30 13:54:55 -07:00
ShizCalev
cc56a69695 Fixes mannequin runtime when a person with a nonhuman species has a command role set to high (#43173)
* Fixes mannequin runtime when a person with a nonhuman species has a command role set to high

* AnturK
2019-03-25 11:25:21 -04:00
Strommer Kilian
3f0f2d5b19 Adds the ability to pass a list of types to spawn_and_walk, it will pick randomly from the list (#43257) 2019-03-22 10:06:22 -04:00
ShizCalev
2c9b6c4d44 [s] adds logging to cloning 2019-03-18 16:18:02 -04:00
oranges
cde413db78 Add an asset cache log that logs send assets (#43089) 2019-03-17 11:31:07 +01:00
ShizCalev
0e5bf0d2af Merge pull request #43050 from Menshin/power_failure_code_cleaning
Aligned Grid Check code with Power Failure
2019-03-08 22:18:41 -05:00
ShizCalev
381dff0b08 Merge pull request #43028 from Carbonhell/tgcode/shelleo
Escapes the quotes in the shell call
2019-03-08 03:04:36 -05:00
Menshin
6835cbe986 Aligned grid_check event code with the power_failure one.
Some code cleaning.
2019-03-07 13:47:36 +01:00
Tad Hardesty
113d5ffa08 Mark a few procs as varargs explicitly (#42986) 2019-03-07 10:58:30 +01:00
Carbonhell
47fc99598d Escapes the quotes in the shell call so that the command does not get butchered when passed to execve 2019-03-06 01:13:14 +01:00
as334
3237b64188 [Ready]Fusion V6: Chaos Hyper-Torus Edition (#42748)
* Fusion 6 begins.

* Adds location effects, updates analyzer feedback.

* Fixes a messed up prob statement

* Further work on reaction and some testing stuff.

* The debuggery continues

* Fusion continues

* Removes a check that's not longer relevant

* Tries to make filtering more possible

* More tweaks to make stable fusion more accessible, prevents a rare float overflow issue, makes unstable fusion less rewarding, reduces nuclear particle damage.

* Fixes my really poor implementation of the examine for volume pumps.

* Fixes an oopsie with probability

* Merge, and also tweaks instability scaling
2019-03-05 20:23:41 +01:00
Time-Green
8a8cdce0cd protects genepulse from peepers 2019-03-04 15:12:29 +01:00
oranges
c9d2b8c5f8 Logging tweaks and fixes (#42817)
* Add a virus log, plus a log for facehuggers

Logs each infect event and contains detailed descriptions of the virus

I also added a log message for printing virus culture bottles including
who printed them

Finally i tacked on a change to adding a game log entry for facehuggers
because why not

* Further logging fixes and updates

Medbots now combat log

combat log no longer tries to run keyname on an object because that
doesn't make much sense

* Dead say no longer logs twice

* tabs to spaces
2019-02-26 21:13:36 +11:00
MacHac
203cac22ff Bank cards can now talk again. (#42849)
* recursive_loc_check now returns the appropriate atom.

* Added a preference to disable bank card chatting.

* Converted spaces to tabs, collapsed conditionals

* Update code/modules/economy/account.dm

Co-Authored-By: MacHac <piheads@gmail.com>

* Added the pref to the game prefs screen.
2019-02-25 15:07:34 -05:00
Jordie
344d9a1b5f Merge pull request #42713 from Lett1/floorgang
spawn_and_random_walk proc now returns a list of objects created
2019-02-14 21:28:49 +11:00
Time-Green
acfd3f8253 [GOONETICS] Chromosomes (#42151)
* adds chromosomes

* Makes the framework nice and functional

* Adds chromosome interaction

* Makes chromosomes work

* removes the double instability update

* Apply suggestions from code review

Co-Authored-By: Time-Green <timkoster1@hotmail.com>

* more review stuff

also fixed some inconsistencies in chromosomes

* unfucks defines

* Fixes saved mutations runtiming with empty pods

* Adds stability to the dna console and advanced health scanner

* removes a random bug i stumbled upon

* Update code/game/machinery/computer/dna_console.dm

Co-Authored-By: Time-Green <timkoster1@hotmail.com>

* makes chromosomes harder to get

fixes double mutations, adds reinforcer and nerfs stabilizer

* fixes edge case where fireballs would be harmless

* cleans up find/replace all mess and 1 in 10 trillion chance of fireball breaking
2019-02-10 20:45:09 -05:00
Lett1
4d8c42e03f spawn_and_random_walk proc now returns a list of objects created 2019-02-08 20:21:11 +01:00
Jack Edge
9740ebb7ad Jobs code is in seperate files
🆑 coiax
code: Jobe code has been moved into seperate files. There should be no
change in behaviour.
/🆑

Every time I've ever gone into job code, this has annoyed me so much.
Some jobs have seperate files, some do not. So I put them in seperate
files, which I thought was a simple job. I removed some comments in the
process.

But it turns out the display order on the job preference screen was
literally determined by the ordering of the datums in the source files.
So I needed to add a way to order it. Now you can reorder the jobs by
changing the values of the defines.
2019-01-26 20:54:13 +00:00
coiax
dd22f63ca8 Fix communication disorder plus mutadone causing chat spam (#42340) 2019-01-15 17:18:22 -08:00
kevinz000
a7e974f9d3 [READY]Ports yet another SDQL2 upgrade, refactors SDQL2 to a datum, adds SDQL2 options/more features (#42008)
Thanks to PJB3005
cl
experimental: SDQL2 has been refactored to a datum!
rscadd: A new SDQL2 panel has been added to admin tabs, for tracking, VVing, and halting SDQL2 queries.
rscadd: SDQL2 documentation is now available in SDQL_2.dm
rscadd: SDQL2 now has MAP added. MAP will cause the query to execute on whatever is specified in MAP, whether it's a variable or a procedure call (which will grab the return results), etc etc.
rscadd: SDQL2 now has a superuser mode, for uses outside of admin button pressing. This causes it to operate without admin protection wrapping.
rscadd: SDQL2 now supports options, including ignoring nulls in select or forcing it to operate in high priority mode, which lets it use 95% of the tick instead of obeying the Master Controller's tick limit. USE WITH CAUTION. Also includes a mode for blocking proccalls
rscadd: SDQL2 now supports TRUE/FALSE.
rscadd: To use options, append OPTIONS to the query. Available are "PRIORITY" = HIGH/NORMAL, "SELECT" = FORCE_NULLS/DISABLE or 0/FALSE, "PROCCALL" = ASYNC/BLOCKING.
/cl

Also displaytimetext is refactored.
2019-01-07 20:03:41 +13:00
coiax
755a9e4fb3 Uplink pens now need two separate rotations to unlock (#41843)
cl coiax
add: Uplink pens now require two seperate rotations to unlock. This also
applies to failsafe codes.
/cl

With only 359 combinations on an uplink pen, it's crackable given a
small amount of time. With two, it's now 92,981 combinations, which
is more secure than PDA uplink codes (899 * 26 = 23,374).
2019-01-02 01:03:42 +13:00
Jordie0608
b9fb0388f7 rework of legacy admin loading to support punctuation with new format 2018-12-22 18:35:50 +11:00
4dplanner
9a542a9a14 Autoprocessing for the dead [READY] (#41955)
cl
add: Re-added autoprocessing function on the cloner
balance: records now have an associated last death time, which must sync with the mind to clone. This means you need a new record every time someone dies.
add: diskette records can be partially applied to records in the cloner, for instance to overwrite a name.
add: you can still scan living people to obtain their records for disk use, but these records can't be cloned from.
fix: cloning records are no longer based upon ckey
tweak: ghosts are no longer required for scanning
balance: Head access is no longer needed to delete records
balance: genetics access is required to alter (but not delete) records
add: do not resuscitate verb added for ghosts (can be toggled on and off)
/cl

Previous changes done in a neater way. Helps medics clone large piles of bodies, but doesn't provide a safety net.

Ghosts are no longer required for scanning so if you miss the prompt you're not screwed over, but you can set Do Not Resuscitate if you don't want to be cloned.

*label GCAT mutations
*allow partial modification of cloning record, i.e. put in a different UI/SE
*restrict modification to genetics access

    make cloning disks compatible with genetics machines

"Features" that may need to be removed:
As before, this acts as a changeling test. Pre-scan someone, then scan them again when you think they might have been replaced - if they're a changeling, it'll create a new record instead of updating the old one.

Decisions to be made:
should being placed in the cloner give you a notification?
should autocloning prompt the ghost instead of the DNR system?
should you receive a detailed "cannot clone from outdated record", or should the extra information gained be limited?
2018-12-17 10:52:04 +13:00
kevinz000
1b24b13d80 [READY]IMMERSIVE ROLEPLAY - Mobs now turn towards and are shifted based on grab state towards something pulling them (#41768)
In other words, you can now dance.
@subject217
cl
experimental: Mobs now turn towards anything grabbing them when they move.
experimental: Mobs are shifted towards anything grabbing them based on move state too. You can now dance by grabbing each other!
/cl
2018-12-16 12:51:42 +13:00
Time-Green
29ecfa47bf [READY] Goon Genetics (#41258)
GENETICS

    The random hexadecimal rng game has been replaced with gene sequencing from goon.

    Adds mutation activators and mutators

    You can now store mutations

    Everyone now has their own set of unique mutations

    Limited mutations per person to 8 (including one always being monkey)

    Adds race specific mutations (See fire breathing for lizads)

    You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by

    Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences

    Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)

    Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength

cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
2018-12-09 23:26:04 +13:00
moo
b0073fddb8 Merge pull request #41754 from coiax/always-in-the-way
Adds Physically Obstructive quirk
2018-12-06 12:06:03 -05:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
Jack Edge
64e0cfd4e9 Traits are now sorted by positive,negative,neutral and then by name 2018-12-02 23:51:41 +00:00
Jordan Brown
db68cd1f9d Leverage the TGS4 chat tagging system for the new game message (#41697)
Allows specifying the tag to send the game announce message to on TGS4

Needed by downstreams
2018-12-01 15:33:20 -08:00
Qustinnus
b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
Dennok
781dde6239 areas_in_z after start population fix (#41452)
Fixes areas_in_z after start population. Now it get areas spawned by templates and blueprints.
2018-11-13 18:15:14 -05:00