Commit Graph

2875 Commits

Author SHA1 Message Date
coiax
d27c64c3a8 Christmas code changes (#41763)
* Christmas code changes

🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑

The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.

Added unlimited christmas tree with presents, for testing.

Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.

Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!

Gifts determine what type is inside them on initialization, rather than
when unwrapped.

- Reasoning -

Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.

Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 12:44:53 +13:00
moo
2d70ac7cd6 Merge pull request #41862 from Jordie0608/watchaswehaveprefixeslongerthanthebanreasonitself
Adds roles and duration of ban to note created by ban
2018-12-09 14:15:15 -05:00
Jordie0608
360ebb3e33 adds roles and duration of ban to note created by ban 2018-12-08 23:52:44 +11:00
Unknown
7ff32c1b8c as text to as message
it really is that easy
2018-12-07 20:09:29 -08:00
Jordie
6f1884341a fix for opening player panel for clientless mobs (#41826) 2018-12-06 20:01:44 -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
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
tralezab
6933179559 It's not my fault! I'm not to blame! It is the gypsy girl, the witch who set this flame! 2018-11-19 09:07:16 -08:00
ShizCalev
f999167b80 Replaces radio channel names and keys with defines 2018-11-16 09:36:49 -05:00
ShizCalev
b08987bfd2 Adds a dirty var viewer in TESTING mode (#41498) 2018-11-16 06:31:20 -05:00
ShizCalev
c167d37121 Fixes admin damage editting not logging the target's real name / key. (#41318)
* Fixes admin damage editting not logging the target's real name / key.

* few more areas
2018-11-06 14:10:20 -05:00
ShizCalev
18f845ca66 Updates another ban message to use displaytimetext (#41304) 2018-11-06 08:28:22 -05:00
ShizCalev
b9132a200a Fixes admin antag'ing feedback / logging (#41233) 2018-10-31 12:09:39 -04:00
AnturK
e08d3df0be Fixes player panel filtering. 2018-10-29 08:27:54 +01:00
Jordan Brown
fb0b3a19f0 Merge pull request #41144 2018-10-28 14:09:53 -04:00
Jordan Brown
19b89771a8 Merge pull request #41112 from ShizCalev/ban-duration
Hits another ban time duration with DisplayTimeText()
2018-10-25 17:15:41 -04:00
AnturK
9306d01f6f Adds old name tracking to player panel, cleans up some name assignments. 2018-10-25 20:39:51 +02:00
ShizCalev
c12012c3ad Admin prefs stuff (#41041)
fixes #41106 since it'll have it's own fucking location.

cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl

Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
2018-10-25 11:43:30 +13:00
ShizCalev
59fa1ce21a Hits another ban time duration with DisplayTimeText() 2018-10-23 23:53:39 -04:00
MrDoomBringer
62529acdde Cleans up and adds more concise admin logging to the centcom podlauncher (#40696)
* shoutout to spacemaniac and qusdtyu

* slight yeets

* slight grammer fixes

* yes

* asdf

* yikes

* fixes

* ok this should be better

* key_name

* begone, proc overhead
2018-10-23 14:45:19 +02:00
Purpose
648e5382af minor typo fix 2018-10-21 18:28:14 +01:00
ShizCalev
1f5e451a7e Jobbans now use DisplayTimeText (#41025)
Forgot these were separate.
2018-10-20 11:36:27 -07:00
ShizCalev
41a2935b67 Clean up redundant text2num in ban messages (#41024) 2018-10-20 11:35:57 -07:00
Jordie
c56f2a81ff fix ban time check runtime 2018-10-19 10:54:35 +11: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
Jordan Brown
96b486e9d8 Merge pull request #40785 from Jordie0608/anothergreatstepforwardforbadminning
Stealthmode dsay now supports joke rank names
2018-10-10 18:29:45 -04:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
deathride58
9e9fa70a7c Make asay support emoji (#40795) 2018-10-09 21:55:30 -07:00
ShizCalev
97293d4f12 Fix admin_headset_message() runtime (#40766) 2018-10-09 11:37:58 -07:00
Jordie0608
9a808567f1 stealthmode dsay now supports joke rank names 2018-10-09 04:43:04 +11:00
subject217
35171566d5 Revert "Improve youtube-dl subsystem (#40396)" (#40665)
This reverts commit 7d05db3.

This was done on behalf of Arianya for testmerge. Kevinz broke the play internet sound verb.
2018-10-06 07:54:45 +13:00
kevinz000
7d05db3cdd Improve youtube-dl subsystem (#40396)
admins can now specify pitch for internet sound

The code is also now seperated from the play internet sound admin verb
2018-10-03 09:54:07 +13:00
MrDoomBringer
32ffba28cd Adds a "Launch Supplypod (Quick)" adminverb (#40501)
cl MrDoomBringer
admin: Admins can now launch supplypods the old, slightly quicker way as well
/cl

Saves a few button presses, and some admins requested it.
Tested, should work fine.
2018-10-01 15:02:04 +13:00
oranges
a94a9c8efa Merge pull request #40365 from AnturK/team-panel
Admin team panel
2018-09-28 09:27:15 +12:00
Whoneedspacee
8c370f73ad Ash Drake Combat Buff (#40355)
cl Whoneedspacee
add: new arena attack where ash drake summons lava around you
del: removed old swooping above you, instead flies above you instantly
balance: ash drake now spawns temporary lava pools instead of meteors falling down
balance: ash drake takes twice as long to swoop down now that he instantly goes above you
balance: ash drake now moves twice as fast
balance: increases the odds of lava spawns in the lava pool attack
balance: increases fire line damage and decreases lava attacks direct damage
tweak: ash drake fire now shoots in the direction of the target
tweak: changes times of certain animations
tweak: changes sounds of meteor falling to lava creation
fix: a bug where ash drakes attacks did not damage mechs
imageadd: changes meteor icon to lava creation animation from lava staff
/cl

[why]: Ash drake is one of the easiest megafauna despite giving fairly better loot than others like legion. Also he's a fairly boring boss to fight since he spends most of his time in the air with attacks that can't really hurt you ever as long as you keep moving. I did this to make his fight more fun and less one dimensional.
2018-09-28 09:26:01 +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
Iamgoofball
f735a7d34d [READY][PAID CODE] economy PR (#40312)
With the power of CAPITALISM AND ECONOMY, you too could be This Guy.
2018-09-23 02:50:51 -04:00
MrDoomBringer
c7ef142616 [DOCUMENTED AND READY TO MINGLE](EPIC MEME VIDEO INSIDE!) NEW COOL ADMIN TOOL: ADVANCED HIGH DEFINITION SUPPLYPOD SUMMONING (also supplypod refactor) (PLEASE UPTHUMB) (#39936)
MrDoomBringer

admin: Admins can now spawn things in ICly (as well as do a bunch of other cool new stuff) using the Config/Launch Supplypod verb!

code: also supplypods have been refactored
2018-09-21 08:59:52 +12:00
AnturK
dcf802e4b2 Team Panel 2018-09-20 20:54:52 +02:00
Jordan Brown
bd7c22dda9 Moves TgsInitializationsComplete call to immediately after world/New() (#39771)
* Moves TgsInitializationsComplete call to immediately after world/New()

* Subsystem PreInit data directory audit

* world/New data directory audit

* Needful here too

* Remove SS_NO_INIT from SStitle

* Don't create banlist.bdb for SQL banning

* Stop creating legacy notes file

* Moves iconCache from data to tmp
2018-09-15 21:34:14 +12:00
Jordie
6757bafe41 adds sentience and mind transfer jobbans to banning panel (#40039) 2018-09-13 10:52:37 +02:00
Crazy Lemon
6a93ce9d7f Ports paradise's modular buildmode (#40105)
* Ports paradise's modular buildmode

* Axes logout callback of buildmode

* AnturK's changes

- Code formatting
- Gives mob to throw args
- Selection overlays are on ABOVE_LIGHTING_PLANE to be visible on space

Other:
- Doubleclicks of observers and AI no longer "double-tap" click
intercepts
2018-09-13 10:48:37 +02:00
Jordie
23a8a4df55 Legacy defined ranks and admins now synced to db (#40139)
* legacy defined ranks and admins now synced to db

* move lastadminrank update to after sync
2018-09-08 19:28:49 +12:00
ShizCalev
8a7df8ba45 Makes usage of Nar-Sie consistent (#40029)
cl ShizCalev
spellcheck: Nar-Sie's name has been revised to Nar'Sie.
/cl
2018-09-08 13:31:09 +12:00
vuonojenmustaturska
f2ed477232 [READY] playsound performance (#40045)
tl;dr: we have lists of playermobs on the z-level, which generally have fewer player mobs to iterate through. If we use them, we can get rid of the z-level checks too. On the off-chance that something plays a sound in nullspace, we can skip pretty much everything. The client-check can go too, there are no playermobs without a client.
2018-09-08 13:27:01 +12:00
vuonojenmustaturska
0654b5329b [READY] Custom portal spawners (#40076)
cl Naksu
admin: a new admin secret has been added to create a customized portal storm
/cl
2018-09-08 13:23:39 +12:00
ShizCalev
ced052879d Correct terminal punctuation mistakes (#40123) 2018-09-05 23:11:53 -07:00
ShizCalev
98a6b39cca Clean up mixed space & tab usage (#40121) 2018-09-05 22:51:20 -07:00