Commit Graph

490 Commits

Author SHA1 Message Date
Fikou
564620c14d changes cult sprites + radials (#50620)
* makes cult sexy

* turns cult sprites into sex

* gurgr

* hola

* final commit maybe

* FUCK

* shit

* a

* walla walla bing bong

* man fuck

* i didnt even know you could do this wtf

* new sounds from actioninja

* ahoy spongebob

* yeah

* bazinga

* should be finished

* oops
2020-04-22 11:57:00 -03:00
Rob Bailey
c20a04543b Port of Replays from Yogstation (#48579)
* demos (ported from yogstation)

rustg update + write with no format

use external hook for logging

use proper log vars

fix + clarifying comment

don't start the log

release build of rust-g

fix something caught by the lint

Update code/__DEFINES/subsystems.dm

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

moves hooks out of a dedicated file

len = 0 to Cut(), remove semicolons

untyped loop

* updated rust_g

* 513 updates
2020-04-06 13:15:48 -04:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
MrPerson
f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
skoglol
b4843bd7a9 Adds new direct mob sound admin verb (#48171)
Adds the "Play Direct Mob Sound" for (b)admins to enjoy. Pick a sound and a mob, and only the chosen mob will hear it. Button also available in the player panel.

Happy admins happy life
2019-12-27 10:34:54 +13:00
Emmett Gaines
5481515dff Removes the non bitflag slot defines (#47742)
Removes the non bitflag slot defines
2019-11-17 17:52:11 -08:00
Shaps
e42c0591b8 Clean up admin moreinfo (#47681)
Agendered spessmen are no longer highlighted on the (?|F) more info 
thing. Also deletes a useless list in preferences file I forgot to 
remove a while ago.
2019-11-09 09:30:31 -08:00
AnturK
c20b4d5ab2 Replaces lentext with length (#47585) 2019-11-07 11:42:33 -05:00
carlarctg
edd2bddd10 Different species now get different kinds of cookies. (#47243)
* cookies? helllo?

* helpies

* thank you, very cool!

else ifs and .names
2019-10-28 17:12:03 -04:00
Shaps
dafbb99f46 nice (#47404)
Simple transforms don't ask to delete old mob for observers
2019-10-27 09:03:52 -07:00
AnturK
e83da09890 Allows specifying amount in spawn verb (#47343)
* Allows specifying amount in spawn verb

* Same cap as create panel.
2019-10-25 02:37:41 -07:00
skoglol
2dd01611fc Some input() sorting fixes (#47354)
* dynamic gamemodes

* Some input fixes
2019-10-25 03:15:26 -04:00
81Denton
6b1161ecd9 Cleans up revive related procs (#47025)
* Cleans up revive related procs

* h

* fuck

* Fixes proc arguments

* Further fixes

* Unfucks line endings
2019-10-22 15:16:13 -07:00
skoglol
938e66f62c Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists.

* Sorted some global lists, added more input sorting

* Should now use correct sort everywhere.

* compiles

* Last fixes.
2019-10-22 04:28:42 -07:00
spessbandit
1d1da3a961 refactors event announce chance (#47085) 2019-10-15 10:15:18 -04:00
KomradeSpectre
9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
nicbn
4ceb05ae80 Removes BoH retrieving mechanic (#46773) 2019-10-03 02:36:26 -07:00
Akrilla
c5b11dc283 Adds cancel buttons to inputs (#45825)
About The Pull Request

Adds cancel buttons to input boxes that didn't have them before.
Why It's Good For The Game

Good UX.
Changelog

cl
add: More cancel buttons.
/cl
2019-08-21 11:25:41 +12:00
TheChosenEvilOne
a7cde8ce39 [Ready] Ports dynamic gamemode from /vg/ (#44639)
About The Pull Request

Port the dynamic gamemode from /vg/.
(Really bad explanation of the mode incoming.)
The dynamic game mode generates a threat number which is used to "buy" rulesets (rulesets are basically your antagonists). This means you can have rounds with for example traitors and cult (you can have up to three roundstart rulesets depending on the pop and threat level), and then there are latejoin and midround rulesets which basically do what they say (latejoin ruleset assigns late joining player as an antagonists and midround assigns ghosts or a currently alive player as an antagonist)
Why It's Good For The Game

This increases the chances of people getting their important antagonist role and makes rounds more interesting (when cultists gets their hand on wizard's magic) when everything can happen at the same time (cult, wiz and traitor could happen on high threat level).
Changelog

cl
add: Ported dynamic mode from /vg/, originally made by DeityLink, Kurfursten and ShiftyRail
/cl
2019-08-09 11:26:03 +12:00
Rob Bailey
6a26744d83 Clothing /under repath (#45548)
About The Pull Request

repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game

improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog

cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
2019-07-30 19:20:21 +12:00
spookydonut
88eca69eb5 converts some spawns into timers (#45429)
* converts spawns into timers

* linter

* change per review
2019-07-29 02:23:15 -07:00
RandolfTheMeh
48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
nicbn
44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
nervere
ea6ec655ce Adds CTF and Reboot buttons to check antags panel (#44851)
Makes dealing with end of round grief easier and faster for admins.
2019-06-30 17:19:07 -07:00
vuonojenmustaturska
90467b120d Adds a toolbox verb for spawning reagent containers and grenades (#44261)
Changelog

cl Naksu
admin: "Spawn reagent container" verb has been added to the Debug tab. It can be used to spawn reagent containers and grenades with fully customized contents.
/cl
2019-06-03 12:08:49 +12:00
AnturK
a386f71194 Saving/loading custom outfits. (#44183)
* Saving/loading custom outfits.

* Small fix and some more relevant name
2019-06-01 10:31:37 +12:00
81Denton
546592529c Adds confirmation popup to undelaying round end (#43780)
* Adds confirmation popup to undelaying round end

* Popup lists current delay reason
2019-05-02 12:17:48 -04:00
nervere
d04fd9417c removes unused secrets panel button, fixes a button in the global player panel (#43427)
* fixes secrets topic check_antagonist

* removes code related to check_antagonist topic that doesn't work or does nothing

* changes the name of the button in the secrets panel

* removes old secrets panel topic check_antagonist

* player panel antag button no longer relies on secrets topic

* player panel antag button no longer relies on secrets topic

* readds something i shouldnt have removed
2019-04-03 18:21:26 +02:00
Kyle Spier-Swenson
759b2cd436 Made mode selection better (#43334)
Now you can set the mode after the round starts, to be saved as the
default for next round and on

Otherwise you can now choose rather or not the mode change is for the
current round only or saved as the new default mode.
2019-03-27 16:53:12 -07:00
ShizCalev
93c9fb4cd3 Fix admin follow runtime (#43282)
Fixed a minor runtime caused by admins clicking a follow link while in
the lobby.
2019-03-23 22:50:50 -07:00
ShizCalev
c56869fe0a Fix incorrect var passed to admin makeAI AIize (#42677)
Second param is for the client.
2019-02-05 17:56:35 -08:00
coiax
d94c5cacb0 Podspawn admin verb, like Spawn, but more IC (#41981)
* Podspawn admin verb, like spawn, but more IC

🆑 coiax
admin: New 'Podspawn' verb, which functions like 'Spawn', except
any atoms movable spawned will be dropped in via a no-damage, no-explosion
Centcom supply pod.
/🆑

Essentially, sometimes you want to spawn stuff in, quickly, in an adhoc manner.

Use of the full Centcom launchbay is fine if you're doing a full blown drop or event
or want some customisation, but sometimes you want a quick supply pod.

The admin smite "Supply Pod (Quick)" has been used for this purpose, but it has a side
effect of setting people on fire and damaging them, which isn't what you want
if it's just for spawning stuff in.

* Adds option to Game Panel->Create Object

* Code review I
2019-01-04 10:00:04 -05:00
Jordie0608
f40546def8 edit ban reason url encode and clicking disabled reason/server radios 2018-12-20 16:55:02 +11: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
ShizCalev
f999167b80 Replaces radio channel names and keys with defines 2018-11-16 09:36:49 -05:00
AnturK
9306d01f6f Adds old name tracking to player panel, cleans up some name assignments. 2018-10-25 20:39:51 +02:00
ShizCalev
1f5e451a7e Jobbans now use DisplayTimeText (#41025)
Forgot these were separate.
2018-10-20 11:36:27 -07:00
ShizCalev
d470262007 Ban Message Duration (#40986) 2018-10-18 14:02:12 -04:00
MrDoomBringer
33eef00d85 Clean up some admin-transform related code (#40890)
1. there was an option for cancel when the input already had a cancel button
2. hitting either of these cancels did nothing, and it continued on with the
   transformation
3. there were some 1's and 0's that shoulda been TRUE and FALSE
2018-10-13 12:16:40 -07:00
oranges
a94a9c8efa Merge pull request #40365 from AnturK/team-panel
Admin team panel
2018-09-28 09:27:15 +12:00
AnturK
6be82692fd Fixes ban logging issue. (#40457)
* Fixes some ban logging issue.

* This too
2018-09-25 12:27:24 +03:00
Jordie
6bc51275fb fix banlist runtime not creating notes for server bans (#40458) 2018-09-25 12:26:21 +03:00
AnturK
dcf802e4b2 Team Panel 2018-09-20 20:54:52 +02:00
ShizCalev
ced052879d Correct terminal punctuation mistakes (#40123) 2018-09-05 23:11:53 -07:00
XDTM
3f32f8c110 [Ready]Logs when speech is forced by an external factor (#39964)
* Logs when speech is forced by an external factor

* makes say args uniform

* fix
2018-09-03 11:38:16 +02:00
TheDreamweaver
bb2f1334d4 [READY] Fixes Sentience Potion notifications and role management (#39994)
* -Fixed intelli potions requiring you to have Xeno toggled on in special preferences to be notified.

-Split xenos, intelli potions, and mind transfer potions into separate roles for a more precise role management.

* -Made sentience potions and mind transfer potion roles bannable from jobban panel.

-Gave Sentience potion role its own toggle in game preferences.

* Fixed bad reference

* Cleaned up role references

* Cleaned up a few defines

* Cleaned up more defines
2018-08-31 22:12:17 +02:00
CitrusGender
bb2c82375e Add Note severity and changes UI of administrative notes (#39808)
* Adds note_severity and updates dbconfig. New SQL stuff too.

* whoops please don't hack into my database >:^(

* UI change, changed how it's stored in the DB, removed some queries when it returns, changed stuff to key.

* Update sql_message_system.dm

* this was not defined

* random indent

* wait how did this get here

* okay enough web edits I promise

* just kidding I got u

* Update common.css

* Added buttons, changed UI again, standardized the inputs, added severity for appearance bans, fed the dog

* forgot about the banning panel

* added an asset cache

* corrects asset datum var name
2018-08-26 20:23:29 +10:00
Jordie
31f020f3cc Add expiration time for admin messages (#39502)
* add expiration time for messages

* typo

* fix

* src to usr

* allows removing expiry from existing messages

* cancel button
2018-08-12 06:31:14 +10:00
Jordie
0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
kevinz000
5f4b418eaa Movespeed Modification System (#39181)
In preparation of pixel movement, I want to refactor our slowdown system to something more modular, and something that doesn't require /quite/ as many proccalls/calculations a tick. The way this works is intended to only have things recalculate when it's necessary, rather than calling it every move.
However, I've left movement_delay() in, as without completely redoing a lot of code it's not /quite/ ready at this point to tear it out completely, but I'm hoping everything can be transitioned over to this system later.
2018-08-09 16:55:15 -04:00