Commit Graph

196 Commits

Author SHA1 Message Date
tralezab
203befb2e0 Fix ghosts being teleported by magic (#43636) 2019-04-16 21:06:16 -07:00
ShizCalev
27c66097c6 Fixes locker bolts moving mobs not valid for insertion into lockers. (#43439) 2019-04-02 16:10:58 -04:00
ShizCalev
f597a77c5d Fixes wabbajack runtime 2019-03-18 16:33:41 -04:00
ShizCalev
a26ffb2040 Fixes wormhole projectors for pacifists (#43096)
* Fixes wormhole projectors and gravity manipulators for pacifists

* code cleanup

* didn't mean to push that!

* removes gravgun

* Update code/modules/projectiles/ammunition/energy/portal.dm

Co-Authored-By: ShizCalev <ShizCalev@users.noreply.github.com>
2019-03-14 15:28:03 -04:00
tralezab
9e4856d55d [READY] dilutes the staff of chaos pool with some more bolts (#42719)
* staves

* projectiles

* sapped event

* last of the staves (need to sprite and get sounds)

* last of the projectiles

* Squash is a single-use plant in Plants vs. Zombies and returns as a premium plant in Plants vs. Zombies 2.

* removes staff of cooperation, adds fly magic status effect

* a couple things with flight + tweaks

* removes old bolts/staves, finishes and adds parts of the new set

* fixes

* fetching + flying fixes, added chill and wipe

* and done

* cobblestone's review
2019-03-08 08:24:57 -05:00
Menshin
8d11af1748 * Fix a runtime on mecha syringe gun hitting that prevented reagent transfer (#42642)
* Reverted some hastily (and wrongly) made changes to prehit() procs
2019-02-04 22:06:15 +13:00
oranges
cd05d64bcf Species types sources refactor (#42523)
There is now a bitflag that controls all the ways a species can be
selected from the different methods of changing species, xeno spawn,
pride mirror, magic mirror etc.

The soviet and capitalist golems are no longer selectable from the pride
or magic mirrors (just the badmin one)

interesting thing I found, androids and synths (including military
synth) are acheivable via xeno extracts!
2019-02-03 20:33:11 +11:00
Menshin
9dabcbbb04 Fixes for projectiles bugs (#42463)
* Bandaid fixes for bugs with reflectors projectiles and plasma cutters

* * Fixed bouncing piercing projectiles on qdel
* Fixed projectiles reflection not working
* Fixed heavy beam pulses not penetrating
* Changed numerous projectiles procs to use the new BULLET_ACT_* format

* Final conversions to new BULLET_ACT_* format
2019-01-23 21:00:11 +13:00
Jack Edge
25a5750923 New admin only wand, wand of safety, plus buffed other admin wands
🆑 coiax
admin: Admins now have access to a "wand of safety", a supercharged teleportation
wand that moves people to a safe turf, like a swarmer teleport without the cuffing.
/🆑

I also changed the description of the debug healing wands, and added
a debug safety, and debug death wands. Debug wands also charge
every (other?) tick.

I specifically coded this because I would have liked to have something like it
for the Winter Ball, in clearing people who were trying to break into the Brig.
2018-12-21 15:49:50 +00:00
XDTM
01f794a153 Teleportation standardization, channels, and interception (#41371)
cl XDTM
add: Spraying holy water on tiles will now prevent cult-based teleportation from using them as a destination point.
tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags of holding.
/cl

Refactors some teleportation code so it uses do_teleport instead of directly forceMove.
do_teleport now has a channel argument, to specify the type of teleportation used. This will affect what can and cannot interfere with teleportation. For example, BoHs interfere with bluespace teleportation but not wormhole, quantum or magic teleportation.
do_teleport now sends a COMSIG_ATOM_INTERCEPT_TELEPORT signal, allowing the target turf (or anything placing a signal on said turf) to react appropriately. As a proof of concept, blessed tiles use it to prevent teleportation from the cult channel.

Intercepting teleportation can have interesting potential uses, from teleport denial fields, to teleport scramblers (teleports you somewhere else instead), telefraggers that gib anyone unlucky enough to teleport in their area of effect, teleport anchors that shunt all teleportations in a wide area to themselves, and so on.
2018-11-29 10:33:55 +13: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
Time-Green
a48aa3eb0a Fixex bugs with locker wand (#40323)
No more deleting or gibbing people
2018-09-20 14:15:33 -04:00
vuonojenmustaturska
ab739294e1 Saboteur borg module (syndicate engiborg) (#40163)
* wip

* SPRITES

* wops typo

* make it available

* add borg chameleon module (wip)

* we ready boyes

* bump cost

* disable filter for now

* henk

* add to polymorph pool

* borgs don't generally throw their modules

* this too
2018-09-13 13:33:35 +02:00
Time-Green
d0712a9741 [READY]Staff of the Locker (#39687)
Adds a magical locker staff.
It goes through people, capturing anyone being hit by it and putting them in a welded locker

The locker decays in about 5 minutes, to prevent the hallways flooding too much.
Escape time is only a minute.
Explosions are less effective on people inside

Why: It's a bulky wand, and great if you want people to just fuck off. You can either leave them or do something horrible to them.

The sprites are codersprites, except for the locker, please forgive me
2018-08-30 20:10:26 +12:00
tralezab
9d003c09f4 DIY (#39916) 2018-08-27 06:13:49 -04:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02: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
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
oranges
df02e48ecb Individual Logs now follow the client around automatically (#37790)
The logging is now stored in the persistent client/player_details datum,
that will survive an entire round

The existing mob log is retained and a new admin verb is added to access
it. It will only show logs for the mob in question, across all players
who possibly spent time in that mob

A new log type is added that tracks the mobs the player changes across
into and the times they occured, to better help admins manage complex
situations, this also appears in the mob log as a record of the players
who entered/exited control of the mob
2018-06-06 11:09:59 +02:00
kevinz000
8023d94b20 tesla_act refactors and balancing (#37369)
experimental: Tesla damage has been reworked to structures and objects have been worked with a linear scaling.

experimental: All tesla weapons now no longer need to hit a mob to arc lightning; however, they will no longer stun, and only hit each target once.

tesla_zap vars are now a single bitfield.
2018-05-23 13:40:03 +12:00
vuonojenmustaturska
fd4c753a04 replaces BANG_PROTECT_2 with a component, also kills OMNITONGUE_2 and flags_2 (#37597)
* kill BANG_PROTECT_2

* let's put this back in

* dirty

* kill OMNITONGUE_2

This is a write-only variable, probably leftover from some refactor years ago

* kill flags_2
2018-05-02 14:13:41 -04:00
KorPhaeron
22556308f7 Fixes staff of change borgs recieving AI laws (#36785)
* Fixes staff of change borgs recieving AI laws

* lawupdate
2018-03-30 21:40:27 +03:00
Qustinnus
7094528fb1 fix (#36576) 2018-03-21 22:57:49 -04:00
XDTM
2ac902ab3c Refactors anti-magic into a component (#35639)
* Refactors anti-magic into a component

* plenty o stuff, mainly holy and antimagic traits

* fix

* fix2

* moved to components, moved some of the logic to the component

* don't blame me if the code looks copypastey

* right
2018-02-26 09:45:12 +13:00
ExcessiveUseOfCobblestone
336f26c141 Change-Projectile cleanup (and now you can be ANY* species) (#35710)
cl Cobby
experiment: Being hit by a bolt of change now opens up previously-barred races. Hopefully you don't roll plasmaman!
/cl

    If the subtype for the species was added hehe

I was going to brag about how there wasn't any balance change but this does allow for more of the "fun" races within humans to come up.

Webbit so probably some dumb typo somewhere
2018-02-20 09:53:34 +13:00
vuonojenmustaturska
a162837faf Replaces a bunch of loc assignments with forcemoves and moves to nullspace (#33465)
* big batch of loc assignments

* Update emergency.dm

* Update spiders.dm

* Update parrot.dm

* Update ripley.dm

* Update firealarm.dm

* seems to work

* this maybe works?

* brainmemes, again

* stuff

* fix brainmob, camera runtimes
2017-12-13 20:56:39 +01:00
AnturK
39394d88d1 Transfers orbiting ghosts on most common transforms 2017-11-18 22:36:01 +01:00
Emmett Gaines
825ab4def4 [512] The great \ref purge (#31824)
* The great \ref purge

* cleanup
2017-10-28 17:20:04 -04:00
ShizCalev
3626c03695 Makes staff of change randomly assign a borg module 2017-10-25 23:39:06 -05:00
ShizCalev
d8a52b4e96 Fixes braindead aliums 2017-10-25 23:32:00 -05:00
ShizCalev
721df8dacf Cleans up some istypes not using helpers 2017-10-16 15:30:30 -04:00
Leo
7d0f9367e8 Merge pull request #31138 from KorPhaeron/isstructure
Structure istype define
2017-09-30 23:31:37 -03:00
KorPhaeron
bc142acb5c Structure istype define 2017-09-29 17:19:10 -05:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
Firecage
63f3423777 Makes borg modules and human species easily spawnable by admins from the mob spawn menu. 2017-09-25 23:12:52 +02:00
pubby
d2290096c5 Gorillas (#29923)
* Add gorillas

* forgot the sound effect

* Fixes

* Split emotes into new file

* Restore perfect knockdown

* oops

* Gorilla hands

* Cyberboss changes
2017-08-20 20:55:35 -04:00
Ian Turk
1b7ca8c0e5 Resolved merge conflicts 2017-08-16 08:33:24 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Ian Turk
371f1ba4f0 Replace all secondary flags with bitflags stored in the flags_2 var 2017-08-15 16:01:35 -06:00
ShizCalev
45d3d52af7 Made some object lists less terrible to read (#29304)
* spaces

* more spaces

* last ones
2017-07-18 10:44:29 -04:00
oranges
5494f5328a Rename Bump to Collide (#29207)
This reduces confusion arising from the fact byond already has a built
in byond proc also named Bump.

We used an argument called yes to distinguish our Bump from byond's
builtin bump, but then we failed to make sure everyone of our bumps
properly override it, so a bunch of things have been double bumping

This resolves that issue permanently

I've also removed the second argument as it no longer has a purpose

I also cleaned up the recycler bump as it didn't do anything the
parent procs didn't already do
2017-07-14 13:47:22 +02:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
nicbn
77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Jordan Brown
e5b1e68147 Adds a configurable message to be sent to mobs on polymorph (#28541) 2017-06-21 09:48:13 -03:00
Mike Long
39103452a3 Lordpidey devil fixes (#28101)
* Fixes on #28051

* Changes hellfire around some, it's now more consistant.

* Fixes small exploit with infernal jaunt.

* Moves devil antag datum with the rest of the antag datums.

* Corrects syntax errors within codex gigas tgui template.

* Re updates tgui js after merge.

* removes redundant .loc from call.

* Fixes devils sometimes getting duplicate spells.
2017-06-21 10:47:02 +02:00
kevinz000
8575bad94b fixes AOE projectile automatic proximity detonation (#27565)
* Update magic.dm

* Update magic.dm

* Update magic.dm

* Update magic.dm

* Update magic.dm
2017-05-25 14:28:49 +02:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
coiax
7554b5f454 Language datums; removes the talk wheel (#25333)
* Initial burst of languages

* Scratchings of beginnings

* Code review I

* Compilation!

* You can now understand your own speech

* Fixes whispering

* Gets typecaches working again

* Remie's `PASS`ing

* Back to pass() to stop the compiler whining

* Why can't drones check their languages

* Everyone speaks how they should

* Removes world string debug stuff

* Currently failing to massage radio code into working

* The radio transmits the languages!

* ,0 to talk common

* Replaces speech wheel with language menu

* Observers can speak all languages

* pAIs now speak languages FOREVER

* New action button for language menu

* pAIs have an action button to open their language menu

* AIs can talk and all that

* AIs have a language menu button

* Fixes supermatter making strange noises

* Fixes AI holopads

* Fixes request consoles

* Fixes bots making strange sounds

* Meaningless MMI change

* Some caching of datums

* Brains in MMIs speak common

* Ratvarian AIs can only speak Ratvarian

* Tables can speak common, apparently

* Removes var in args

* Fixes the (AI Eye) problem

Thanks to Shadowmobile for their help with this one.

* Fixes tape recorders

* Fixes humans being able to speak in languages they did not know

* Adds some new posibrain names

Honk.

* The voice analyzer replies in the language you spoke to it

* Gives swarmers only swarmer language

* `initial_languages` var.

* OMNITONGUE, clockwork restrictions

* Fixes barmaid and bardrone language abilities

* Code review I

* Omnitongue correction

* Code review II

* Removes force_compose var
2017-04-02 21:03:40 +02:00
GunHog
ac4d69254b Revival of "Allows AIs to deploy to borgs" by Shadowlight213 (#25184)
The AI may now deploy to cyborgs prepared as AI shells. The module to do this may be research in the exosuit fabricator. Simply slot the module into a completed cyborg frame as with an MMI, or into a playerless (with no ckey) cyborg.
2017-03-24 21:42:48 -03:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00