Commit Graph

6380 Commits

Author SHA1 Message Date
bgobandit
6ef0fe8889 Wizard rounds actually check to see if the wiz died and the round is over (#45793) 2019-08-11 02:26:30 -07:00
Akrilla
9ca37e9169 Contract rerolls and general enhancements (#45703)
* refactor wip

* rerolling and qol

* space not valid

* travis be nice

* comment?

* new tablet sprites

* Start on uplink screen

* new suit sprite

* paper

* merge conflict

* Auto stash before merge of "contract-reroll" and "tgstation/master"
2019-08-10 02:11:11 -07: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
skoglol
718973fb9f Removes the assimilation/hivemind gamemode (#45316)
* Initial pass

* comment.

* stray ,

* stray define begone
2019-07-27 00:08:53 +02:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
skoglol
c5d6a521e7 Removes the overthrow gamemode (#45312)
* Removes the overthrow gamemode.

* Woops.
2019-07-22 01:10:02 -07:00
MMMiracles
5485254ae9 Gateway exiling counts for assassination/mutiny objectives (#45120)
* exiling someone via gateway now counts properly for mutiny/assassination objectives

* papers please

* ninja changes

* removes redundant else, istype
2019-07-15 20:03:47 -04:00
Fikou
8cfa2c2ddb Change cult conversion to be holy-based (#44960)
Previously cult conversion checked for mind role chaplain or captain
but now it checks if the person's mind is holy.
2019-07-04 21:31:55 -07:00
Akrilla
b2b91a2875 Contract tweaks (#44869)
* Payment generation rework and no repeated target

* Blacklist

* Remove pod explosion

* contractor baton

* darker highlight

* Slight increase for the higher paying contracts

* Victims get healing injected to bring them out of soft crit/crit

* pod send fix

* Text changes

* More text tweaks

* New baton - custom sprite/sound

* Better sound - fixes

* Stutter

* text

* classic_baton rework

* attack silicons still, and only show charging for new baton

* Properly attack/stun silicons where appropriate

* . list
2019-07-03 22:32:40 +02:00
Denton
9cdb94f78b Fixes teleport armor traitor objective 2019-06-24 17:00:45 +02: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
Akrilla
041680be63 [READY] Syndicate Contracts (#44420)
* Emag bounty computer to show contract connection

* Corrupted text helper

* WIP on corrupted text

* Randomly corrupt text when looking at connect screen

* Barebones accessible Syndicate bounties screen

* Contract barebones and Synd UI work

* Further text changes, antag checks

* Further UI changes, full contract generation with areas/target

* dropoff point checks, and move to uplink item for requesting bounties

* WIP contract uplink item

* Contract uplink and continued contract improvements

* Completed contract uplink, and continued contract work

* Droppod WIP

* Further droppod work

* Mob WIP

* Further mob WIP

* No mob

* Callback for putting in mob

* Further WIP with pod checks

* Better location picking and signal fix

* Further pod changes, WIP of payouts

* Overall finished payment/contract system

* Code cleanup


Revert changes to bounty console


Remove debug messages

* Small refactor

* Add kit with set and randomised items.

* Fix box

* Very minor flavor text for inserting into pod, plus roundend text

* Pod return sound

* Contract uplink slight styling changes

* We don't keep giving telecrystals until they literally can't hold anymore

* Ship them off to ninja base instead

* Nerf bring them dead, but give a nice boost for bring them alive

Overall this is a nerf, so we also throw in an agent card to the bundle

* Ship them back

* Minor text changes and slight TC change

* Always give the black and red variant space suit

* Error sounds

* Dropoff area locator

There's sometimes duplicates, i.e. security office - but only one of them will work. This shows you where to go.

* Small fixes

* Bugfix, further changing of TC

* Ransom wip

* Ransom system

* Few changes

* Properly pay for ransoms and appropriate logic for dropoffs

* Terminal sounds

* Talk on command channel when ransom is given, or if they were too late

* Change to announce system

* Announcements/auto pay ransom

* Proper wait

* Name pods properly

* Don't send blacklisted items

* fix

* Improvements

* Announcements are less huge...

* Not a file...

* Improvement

* Drop them not in a wall

* Halves eye blur and styles payment vend

* No memes allowed
2019-06-17 20:32:46 +02:00
nemvar
74c8498c08 [Ready]Gives ashwalkers an antag datum (#44396)
* welp

* Savages, savages, barely even human.

* Savages, savages, barely even human

* You didn't see this

* h

* bee gone

* FFS, I mixed up my... ugh

* savage

* removed test line

* Turns ashwalkers into antags

* fuck

* hjjg

* fixes stupid

* g

* h2

* Damn...

* There we go?

* If it compiles, we can ship it

* Forgot the actually remove the thingy
2019-06-14 19:48:12 +02:00
actioninja
c6193255f7 renames the func to make it clearer it has extra logic in it 2019-06-04 19:41:41 -07: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
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
Rob Bailey
8958287246 [s] Prevents a certain kind of antag-rolling abuse. (#44056)
About The Pull Request

Currently there's a very easy way of making it so that if you don't roll antag, you aren't playing the game and can just go observe and hope for ghostroles.
Have every job set to never, have return back to lobby if preference unavailable set, and antags enabled.
if you roll antag, you get a job or the antag, if you don't, back to lobby.
If you think this is a good idea and go do this, know it's against the rules and if you get caught you'll be banned.

What this PR does is validate that you have at least one job enabled before ever even adding you to the pool of potential players, if you have "return to lobby" set. If this happens, you'll get a notification and an admin will be notified if you also had antags on.
Either of the other "my pref was unavailable options" you can have all jobs set to never just like before and you'll get your random role.
Why It's Good For The Game

Prevents some abuse that can easily be closed on the game code end.
2019-05-24 13:57:37 +12:00
AnturK
26009e179c Adds required jobs support to gamemodes (#44026)
* Adds required_jobs support to gamemodes

* alos needs to be checked with no players present

* early return
2019-05-22 09:56:42 -04:00
Rob Bailey
539a2b7a77 removes a dead code block from antag selection (#44065) 2019-05-22 09:48:16 -04:00
Rob Bailey
b06be11ad2 Gamemode Announcement Code Cleanup (#43993)
* cleanup

* readd announce
2019-05-21 11:53:34 +02:00
vuonojenmustaturska
feb5934d7f uplinks for reinforcements 2019-05-18 15:32:55 +03:00
oranges
88f964419c Merge pull request #43800 from AnturK/probablyshouldhavedonethisearlierbutyouknow
Adds proper css to special mode messages in roundend report
2019-05-07 20:45:49 +12: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
a68941225b Adds proper css to special mode messages in roundend report 2019-05-02 20:25:32 +02:00
Kierany9
e10458d6b9 Modifies how the Assimilation pinpointer radars work (#43575)
* Update hivemind.dm

* Update radar.dm
2019-04-23 11:14:08 +02:00
Kierany9
5b7e5ca0b7 M-M-M-MONSTER BUG (#43571) 2019-04-11 12:43:26 -04:00
Tad Hardesty
a8fa220f7f Fix convert_roundtype runtiming instead of failing gracefully (#43536) 2019-04-08 15:54:49 -04:00
ShizCalev
1ebbab60ec Fix slippery oil never initializing, move some Initialize() to ComponentInitialize() (#43129) 2019-03-16 19:09:47 -07:00
Tad Hardesty
197a311fd9 Fix some proc overrides missing their parent's kwargs 2019-03-11 21:15:26 -07: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
Menshin
6835cbe986 Aligned grid_check event code with the power_failure one.
Some code cleaning.
2019-03-07 13:47:36 +01:00
kierany9
bc13027c41 galaxy brain bugs 2019-02-28 01:13:36 +01:00
oranges
7b8ad385c3 Wizard no longer runtimes on check_finish
BYOND was evaluating the or last, so ignoring the !player.mind
2019-02-25 05:20:40 +00:00
tralezab
b219dad38d Valentines antagonists will no longer stop mulligan (#42772)
* <3

* oooh now i get it

* oooh now i get it p2

* oooh now i get it p3

* exodia!!

* even more performance saving

* missed ')'
2019-02-21 10:26:18 -05:00
Tad Hardesty
396101e3a1 Fix some incorrect list/ type annotations 2019-02-20 19:54:23 -08:00
ShizCalev
1d402a0956 unblasts ass-imilation remove hivemember sanity check 2019-02-16 21:14:23 -05:00
Kierany9
eac0f3c9fe Assimilation runtime & bug fixes (#42769)
## About The Pull Request

Partially fixes #42767

    * Fixed a null list runtime causing the track bonus not to work.

    * Fixed an erroneous use of locate in the track bonus procs.

    * Fixed a runtime that occurred due to a lack of mind checks.

    * Fixed a runtime with the One Mind's objective being a string and not an objective datum.

    * Added a couple of sanity checks.

    * Removed a redundant callback.

    * Fixed several runtimes due to a proc setting the One Mind team to `true` when an actual team had already been assigned to it.

    * Fixed the remove_hivemember proc to work with minds instead of mobs.

    * Vessels lose their vessel status upon being cloned (As was originally intended with assimilation being tied to the body).

    * Vessels stop being woke when de-assimilated.

    * Fixed vessels that aren't already woke not becoming antags when the One Mind activates.

    * Added Reclaim's bonus vessels to the antag panel.

    * Made Mind Control's ejection less janky, there is now a warning and 3 seconds to turn back.

    * Assimilate Vessel now alerts the user if they've been stunned by bruteforce.

    * Removed Bruteforce's cooldown when activating. It still has a cooldown after being deactivated.


## Why It's Good For The Game

it makes the gamemode work better
2019-02-17 15:07:44 +13:00
Kierany9
14fa6040e5 Assimilation 2.0: Not quite a big enough PR to be worthy of the 2.0 title but almost (#42607)
* one

* ???

* big

* sprites

* it is done

* oofs

* no more bad jokes

* location -> reception

* i forgot a feature lmao

* yo lemme nerf this op power

* adjust removal and makes panic less insane

* hey i forgot another feature

* one mind removals

* *laser eyes meme*

* Disables multiple one minds for real this time
2019-02-12 20:02:23 -05:00
Rob Bailey
69e217d8d9 [READY] I got guns (#41804)
cl actioninja\memager
refactor: Ballistic guns have been almost entirely reworked from a backend side. This primarily focused on moving as much as possible into the base ballistic gun and turning as many other guns into essentially varedits as possible.
add: Guns can now be racked. This is the default action unless the magazine is empty.
add: Guns now can have the magazine removed by clicking on them with an open hand while they are in hand.
tweak: Suppressors are now removed by alt clicking instead of clicking with an open hand
add: Guns now have various bolt types that all function a bit differently. Open bolts cannot have a bullet chambered with no mag, locking bolts lock back after running out of ammo, etc.
add: All ballistic gun sounds are controlled by variables instead of hardcoded usages.
tweak: The l6 LMG has a reworked control scheme. alt + click to open and close the cover, open hand to remove mag, place mag in by slapping them together, default action is rack.
tweak: Functionality that used to be snowflake code such as tactical reloads has been moved to the base gun, and can be toggled by variables.
refactor: All shotguns are now properly subpaths of the shotgun type. They still work the same.
imagedel: Gun sprites have been almost entirely overhauled to use overlays instead of states. This collapsed the L6 sprite from 20 sprites to 9 sprites to give an example.
soundadd: Remixed versions of the shotgun and base gun firesound
soundadd: New rifle firesound for l6 and moist nugget, new SMG fire sound, new sniper fire sound.
soundadd: Lots of new weapon operation sounds such as racking and bolts and the like.
imageadd: New sprites for the Riot Shotgun, Combat Shotgun, c20r, Deagle, m90, double barrel shotgun and 1911 by Memager.
imageadd: All gun sprites that were pointing to the left have been flipped to point to the right.
balance: Shotguns now can be pumped faster.
balance: Bulldog can now be tac reloaded
balance: Sawn off shotguns now have an accuracy penalty and recoil
/cl
2019-02-04 10:27:01 +13:00
kierany9
74da8a2382 owch 2019-01-27 20:16:20 +01:00
Kierany9
8113154a22 The PR that fixed Assimilation (#42156)
lots of commits
2019-01-24 12:14:08 -05:00
coiax
881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 15:24:30 -05:00
Dangerous dingidy doo
a229d0998f Adds Combat Gloves Plus for operatives at 5tc (#42250)
* Combatgovesplus 1

* Combatglovesplus 2

* Combatglovesplus 3

* Combatglovesplus 4

* Combatglovesplus 5

* Combatglovesplus 6

* i have good england grammar I swaer

* fixed a slight english fucky wucky

* Allright done coiax

* I am probably retarded coiax not gonna lie

* you got me convinced GuyonBroadway
2019-01-07 11:49:32 -05:00
0d0be32b607ee4ecbc2358f3dd4a27de
00762e4851 [I GUESS THIS MIGHT BE TESTMERGED? I DUNNO] return of the ling action buttons (#41928)
cl 0d0be32, PKPenguin321, Armhulen, epochayur
refactor: Changeling powers are now action buttons rather than verbs.
imageadd: Thanks to epochayur for creating and compiling sprites for every single changeling action button!
imageadd: Thanks to Armhulen for the changeling button background sprite!
/cl

original pr #35394

the two main bugs i saw are fixed. reviving works, monkeyform/humanform works

fixes #41899
2019-01-03 11:33:18 +13:00
Kierany9
d1638a31f3 Assimilation update: Aesthetic edition (Plus ghost alerts) (#42048)
* aesthetic

* powers remove properly

* oops

* cooldown

* sanity

* mc buggo
2018-12-28 21:37:02 +11:00
coiax
9f3e9a6960 Trauma bug fixes, stalking phantom balance (#42020)
* Traumas are copied when a person is cloned

🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑

If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?

Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.

* Suggested changes

* Removes cloning traumas

* No more cloning traumas
2018-12-23 16:52:47 +11:00
tralezab
a9480c3927 The gods are not always kind, but they do have a soft spot for plucky underdogs. (#41890)
fixes #41885

the problems with picking centcom antags are in the issue post. if this isn't a good idea, i can just make it check for the thunderdome arena area instead.
2018-12-16 12:58:47 +13: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
tralezab
b794d3d4aa Magic Survivalists can have spellbooks count if they did not use them (#41610)
cl
tweak: spellbooks now count towards the survivalist objective if they were not used.
/cl

fixes #40857

It feels like shit if you don't know spellbooks don't count and you just lose out of nowhere. It also doesn't make sense for them to count if they still have magic powers.
2018-12-02 20:25:12 +13:00