Commit Graph

701 Commits

Author SHA1 Message Date
81Denton
fbc3b48e8e Fix D20 traitor bundle (#43323)
This was broken by the bundle rework. I chose bundle type "A" since
rolling a 17 is pretty good.
2019-03-25 23:38:10 -07:00
81Denton
1dab4c066c Die of Fate nat 1 roll prevents revival (#43116) 2019-03-15 15:42:08 -04:00
Tad Hardesty
197a311fd9 Fix some proc overrides missing their parent's kwargs 2019-03-11 21:15:26 -07:00
MacHac
30ea56e6fd No more cheating at CTF (#42917) 2019-02-26 01:05:59 -05:00
Whoneedspacee
6a70a982df [Ready] Megafauna VR Training Simulator (#42353)
* lava arena is now not the default for swoop attack

adds mass fire attack, sends fire lines out from the drake in 360 degrees

lava pools now have a chance to be spawned with the fire breath attack

adds greater delay for lava pools on lesser ash drake so they don't just all instantly get placed

lava arena doesn't needlessly recalculate the turfs it will be using every pass now

enraged state, procs when you try to escape from the lava arena attack without fighting it normally, colors the drake turns its brightness up as it glows, then shoots out fire everywhere, also heals the drake for 250 health.

fixes a bug where fire lines wouldn't appear if their range would put the calculated end turf outside the map

fixes a bug where indestructible open turfs would turn into basalt on the lava arena attack

fixes a bug where lava arena safe spots would be on indestructible closed turfs

drake swoops now have a greater default recovery time

* fixes stupid text error

* adds vr mining sleepers to the lavaland mining base which can be used to train with megafauna and test out other items

removes useless code from colossus's file including having a dead icon of the drake and butchering results

adds virtual versions of each megafauna which don't drop any items and are deleted upon death

adds the vr mining map

* adds virtual megafauna spawners and their respective icons, spawn 1 megafauna at their location and are indestructible

changes default virtual megafauna hunter gear to be more like the default mining gear

* adds more items to spawning in mining vr

megafauna spawner nests can no longer be pushed

virtual megafauna now have a limit to how far they can move away from their nest

adds arenas and fast bluespace tile paths to each megafauna spawner and gives the mining base some walls to protect it

* adds mining vr map to the away mission config

adds perm portals, linked two way portals who are linked by id and can be set in mapping files by editing instance

adds megafauna portals for the arenas

fixes up some junk on the mining vr map

adds a spawn delay for megafauna spawners after the linked megafaunas death

fixes a bug where bubblegum could teleport outside of his arena

* adds true spawn var to bubblegum to easily handle clones / virtual versions of it spawning

fixes bug where virtual legion would release the real legion when damaged

moves vr mining code to the away missions code to adhere to contributing.md

* converts map files to tgm

adds arena cleanup and fixes runtime bugs on virtual megafauna spawn and death

* reverts local drake changes

* fixes bug where drake corpses still had a gps signal

removes worthless include

* adds the crusher trophies to the vr mining kit

no more granting null achievements you stinky virtual megafauna

this map really didn't need to be 255x255 im sorry

* even smaller map wowee also please compile

* adds respawning item crates for the lavaland items and healing junk

even smaller map and some filler spaces for possible future bosses

removes lavaland map changes

mining vr now works properly with other vr maps and is randomly selected working with normal vr sleepers on station

fixes permanent being permanant my bad

* lavaland map stop being changed

* maybe a bit overkill with the amount of healing items

* reordering i guess but why is the rum gone

* work please

* Update Lavaland.dmm

* Update Lavaland.dmm

* adds force stop option to portals so you can choose to not chain teleports with non linked portals.dm

permanent portals now can be var edited mid game and still work (cool admin events? idk)

permanent portals are no longer deleted if they don't have a linked portal

adds one way portals, portals that lead somewhere but have no return portal. basically non hardlinked portals but able to be done in map and edit stuff

adds recall portals for the vr megafauna arenas, one way portals but you can recall to them by using a one time use spell (no it is not tied to your real mind it is tied to the vr mind)

virtual megafauna can no longer escape their arenas

moves some virtual megafauna procs to the main megafauna file to reduce needless code

* recall portals can now be chained and the portal recall spell can now go back in a stack reverse style

* adds boss rush mode, fight all of the bosses successively with only one break in the middle without dying

object spawners can now choose their datum spawner type through a var

moves some virtual megafauna code from the megafauna file to the megafauna spawner datum

* adds new goodies to the end of the boss rush

removes a lot of the copy pastad code in the vr megafauna

adds true spawn var, decides whether or not the megafauna should grant achievements or have an internal gps, used for bubblegum hallucinations and virtual megafauna

internal gps are now added on the base megafauna path

hierophant's crusher trophy no longer spawns at its beacon (let's be honest some people missed it because of this) so it works properly with the crusher loot var
2019-02-11 12:01:51 -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
coiax
074b2f942e Die of fate tweaks and fixes (#42073)
* Die of fate tweaks and fixes

🆑 coiax
fix: Rolling a 6 with a die of fate now reduces your speed as intended.
fix: Rolling an 8 with a die of fate will cause the explosion to be
around the roller, not the die.
tweak: Die of fate effects now make loud visible messages so it's
obvious what has happened.
admin: Dice can now be "totally rigged" with admin edits to
unconditionally always roll a certain value, rather than just some of
the time. A new "cursed die of fate" has been added to demonstrate this
effect.
/🆑

- new proc `do_smoke` that does basic smoke effects, to avoid the same
pattern for making smoke effects.
- Dice rigging has been split into two vars, "rigged" for the severity
of the rigging (not rigged, basically rigged, totally rigged), and
rigged_value for the value it's trying to rig to.

* Stealth die of fates

* Code review II?
2019-01-07 19:17:45 +13:00
nicbn
c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08: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
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
81Denton
7d8872389b Use defines for turf atmos (#41751)
initial_gas_mix for turfs were all over the place instead of using defines. I
didn't change turfs that only show up in a single place, like the Snowdin
plasma river turf.

KITCHEN_COLDROOM_ATMOS isn't used yet; if this gets merged I'll use it to turn
kitchen cold rooms into proper.... cold rooms
2018-12-01 15:24:22 -08:00
swindly
4bcd3cdc55 fixes word crimes 2018-11-19 17:56:59 -05:00
ShizCalev
0440e14557 Cleans up dead area paths. Removes dead music var. (#41429) 2018-11-13 01:31:28 -05:00
ShizCalev
1175a83e88 Correct blue space to bluespace (#40746) 2018-10-09 11:31:15 -07:00
AnturK
139a7a4a9f Adds path blocker away helper. (#40680) 2018-10-04 17:54:57 -04:00
ShizCalev
1c3fe23e7e Adds icon for underpowered emitters (#40629) 2018-10-03 17:57:26 +03:00
ShizCalev
2fa1ac1349 Replaces istypes with the proper tool_behaviour checks. (#40414) 2018-10-01 03:10:31 +03:00
ShizCalev
f42288136c Allows departments to access their corresponding mech maintenance protocols (#40397) 2018-09-22 22:34:12 -04:00
octareenroon91
33ebae7de5 ctf flag stays in bearer's hands (#40335)
* ctf flag stays in bearer's hands

cancel return-to-base countdown if item process()es in a player's hands.
To fix #40288

* Update capture_the_flag.dm
2018-09-20 14:17:44 -04:00
AnturK
a27be2fa14 Objective refactor (#40220)
* Objective refactor

* Custom antag types for leftover objectives.

* Removes dumbness.

* Forgot to hide these from TP

* Makes the list static.
2018-09-20 11:18:59 -04: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
ShizCalev
ced052879d Correct terminal punctuation mistakes (#40123) 2018-09-05 23:11:53 -07:00
WJohn
e54f1d5342 The great floor tile purge (#40065)
* Converts all colored plasteel tiles to turf decals.

* Removes now deprecated floor icons and paths.

* Hotfixes on three maps.

* Moves script to its own folder.

* Fixes wild west.

* Fixes holodeck

* Fixes eye rape bug.

* Fixes meta and lavaland biodome ruin having some missing textures.
2018-09-05 22:14:31 +03:00
AnturK
deb756eee7 Adds some event/mapping props. (#40016) 2018-08-31 14:19:04 +03:00
vuonojenmustaturska
6ee352deae Remove a useless 4000 item typecache (#39882)
We don't need this, we definitely do not need to keep it around from world
init, it can go.
2018-08-25 14:33:33 -07:00
Tad Hardesty
04ef961531 Disable CTF emitters until CTF occurs 2018-08-20 03:07:57 -07:00
AnturK
72dc00e9f0 Fix zombie corpses showing in spawners menu (#39655)
These really need to be separated, ghost role spawners long ago surpassed what
these were intended for.
2018-08-12 14:05:17 -07:00
AnturK
fbb5377ea8 Simple zombie for WJ (#39563) 2018-08-10 00:11:03 -07:00
ShizCalev
600586c72b Fixes var set lists on maps (#39615) 2018-08-09 17:04:25 -04:00
Tad Hardesty
2552190fbf Fix some weird syntax 2018-07-31 01:24:31 -07:00
MrDoomBringer
28ce687cb4 Spellcheck "cyro" -> "cryo" (#39333)
Changed "cyro" to "cryo" in a few item descriptions and flavortexts.
also includes other minor formatting changes
2018-07-25 12:54:19 -07:00
81Denton
46f1b9c6e7 Tweaks outfit datums (#39131)
admin: Added hardsuit outfits for the Captain, HoS, and CMO. Removed old Shaft Miner (Asteroid) outfits. Gave Chief Engineer (Hardsuit) engineering scanner goggles. Added debug outfit for testing.


I added hardsuit outfit datums for Cap/HoS/CMO so admins have an easier time dressing up players. I removed Shaft Miner (Asteroid), since the asteroid has been dead for a long time.
Also added a "debug" outfit so I don't have to spend 2 1/2 seconds spawning equipment when testing.
2018-07-20 13:00:53 +12:00
ninjanomnom
059da44453 Converts collide back to bump and fixes double bumping in another way
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.

turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
2018-07-07 11:22:29 -04:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Jordan Brown
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
81Denton
3125b2ebba Adds dance machine, drink dispensers, flavor to beach bum ruin (#38533)
* shit was SO cash

* correct dance machine subtype

* moves defines from map file to corpse.dm

* improves bartender flavor text

* adds special shadycigs for beach ruin, adds shower, moves bartender sleeper to backroom
2018-06-17 17:50:21 -07:00
Tad Hardesty
d1161404db Change nuclear uplinks to not be radios 2018-06-15 19:36:44 -07:00
Tad Hardesty
610e19b39e Fix some Snowdin badcode 2018-06-13 00:07:30 -07:00
ShizCalev
3abd2b6d27 Cleans up logging 2018-06-09 15:51:58 -04:00
Jordan Brown
6d0179f57b Merge pull request #38116 from AutomaticFrenzy/patch/anchored
Refactor machinery to default to being anchored
2018-06-01 12:27:38 -04:00
vuonojenmustaturska
c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
ShizCalev
c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
Tad Hardesty
2f212e16a3 Remove redundant anchored=TRUE from machines 2018-05-27 19:23:37 -07:00
Tad Hardesty
0d1d969be2 Fix nullspace error room not working correctly 2018-05-26 03:23:32 -07:00
Dax Dupont
92a811ee89 Adds VR Snowdin and Syndicate Trainer/VR Update roll up (#37915)
* Adds VR Snowdin and Syndicate Trainer

* Replace var edit

* I did forget to add a few

* Adds one full outfit spawn

* internals too

* closet

* Extends same Z level check to monitor and emping

* restricted uplinks

* camera bug fixes

don't talk about the bees

outfit changes

More items

outfit fix

* Adds vr sleepers to runtime station

* More mapping fixes

* Adds telecomms to taunt your enemies

* More restrictions

* Some fixes

* badabing

* More fixes

* emag related changes

* forgot the ract

* Additions

* griff resistance mode

* minor changes

* Removes old centcom away map

* Pushes you out of VR if you try to ghost

* this is :b:roke

* this shit is not :b:roke

* as requested
2018-05-24 17:31:18 -07:00
Tad Hardesty
1cb962cb98 Fix gravity in one of Moon Outpost 19's areas (#37989) 2018-05-24 10:41:44 -04:00
ShizCalev
ba1030f803 Makes more messages pronoun sensitive (#37582)
* Makes more messages pronoun sensitive

* Some cleanup

* more pronouns

* rever
2018-05-03 18:45:55 -04:00
Jordan Brown
f91f5bb08f Merge pull request #37562 from AutomaticFrenzy/patch/corpse-runtimes
Fix runtimes in corpse code due to mob_spawners becoming null
2018-04-30 22:19:26 -04:00
vuonojenmustaturska
ccf8fc5bc5 Kills off three more flags from flags_2 (#37529)
code: More flags have been moved to their appropriate places
SLOWS_WHILE_IN_HAND
FROZEN
NO_MAT_REDEMPTION

all moved to item_flags
2018-04-30 10:32:23 +12:00
Tad Hardesty
9f0f3bd32c Fix runtimes in corpse code due to mob_spawners becoming null 2018-04-29 13:59:41 -07:00