Commit Graph

202 Commits

Author SHA1 Message Date
coiax de35ec5f67 Partial sparks boilerplate reduction (#26081)
* Partial sparks boilerplate reduction

- Lots of obects are making `/datum/effect_system/spark_spread`, setting
them up, firing them, and then not qdeling them afterwards.
- Makes a `do_sparks` global proc that takes the same arguments as `set_up`
and then calls `start` and then `qdel`
- Switches a bunch of things to use this proc
- Makes emitters keep their own spark_spread datum around, since they
spark so damn much.
- Also makes some things use timers and ports some things to Initialize.

* Compilation
2017-04-12 19:59:45 +02:00
Kyle Spier-Swenson a6b8fb79f8 [s]fixes 1 advance proc call exploit that could be used to enable auto admin (#26033) 2017-04-10 19:44:40 -03: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
Cyberboss 22fe5b12f1 Merge upstream 2017-04-02 22:27:22 -04:00
Joan Lung bad996ae71 Merge pull request #25788 from kevinz000/patch-114
Fixes infinite shapeshifting
2017-04-02 22:06:58 -04:00
kevinz000 4cedfb31e4 Update shapeshift.dm 2017-04-01 17:34:11 -07:00
kevinz000 cbb66a5018 Update shapeshift.dm 2017-04-01 17:10:01 -07:00
Profakos 56174af0e7 Fixes a check for being already sintouched 2017-03-31 01:21:55 +02:00
Cyberboss ec7730d27c Fucking ticker 2017-03-23 14:12:45 -04:00
Cyberboss db99403313 Merge branch 'master' into TiredOfTheInconsistency 2017-03-23 09:21:20 -04:00
Cyberboss 73fa1e61f8 SSevent -> SSevents 2017-03-22 11:26:01 -04:00
Cyberboss d0bfbc3e13 Rename ticker to SSticker 2017-03-22 10:48:25 -04:00
Jack Edge 939b154b51 Lich rework
🆑 coiax
add: Destroying a lich's body does not destory the lich permamently,
provided the phylactery is intact.
add: A lich will respawn three minutes after its death, provided the
phylactery is intact.
add: The Soul Bind spell is forgotten after cast, respawn is now
automatic.
del: Stationloving objects like the nuke disk are not valid objects for
a phylactery.
/🆑

- The phylactery is now a physical object stored inside the marked
object. Since it rarely is seen, I just reused the polymorph
projectile/scrying orb image.

- Buffs: You can't destroy the lich's body to permamently kill it
anymore.
- Nerf: The lich always take three minutes to respawn, rather than if
the spell is off cooldown. Gives you time to position people around the
station, looking for the phylactery respawn beam.
- Nerf: You can't make the nuke disk a phylactery.

- Remember, you can space the phylactery, throw it in the SM, incinerate
it, or just wait for the lich to respawn and shoot it during its very
long stun time.
2017-03-21 20:08:59 +00:00
xxalpha 81df22befe Improved the appearance of spacetime distortions. (#25038) 2017-03-21 11:57:17 -03:00
KorPhaeron 20b65bb29f Fixes aliens hitting themselves with their own projectiles (#25197) 2017-03-18 18:14:03 +01:00
XDTM 6f184513a0 Runic golems (#25028) 2017-03-18 08:04:47 -03:00
TrustyGun f64d878bb2 Advanced Mimery tweak (#24966)
* tweaks mime kit

* okay mister blue saturn man
2017-03-14 16:20:50 -04:00
Mike Long f36feb87b5 Lordpidey devil fixes (#24693)
* Devils made via event can no longer ascend.

Admins can control whether or not a devil may ascend via traitor panel.

* Adds logging

* Fixes #21326,     Fixes #21321

* Fixes compile error, removes dead code.

* Moves logging to where it's supposed to be.

* Arch devils can now destroy walls with pitchfork.

* Fixes compile error.

* Summon dancefloor can't be used to break down walls.

* Improves disco floor wall check

* Fixes traitor panel for devils.

* refactors human attack_hand

* Fixes compile error

* Devils now respawn with clothes.
2017-03-12 20:55:36 +01:00
kevinz000 f88e0aa041 Fixes aimed projectile spell for the third time (#24703)
* Update aimed.dm

* Update aimed.dm

* Update aimed.dm
2017-03-12 11:55:17 +13:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
coiax 311ea1c7f1 New wizard spell: The Traps (#24571)
* New wizard spell: The Traps

🆑 coiax
add: Wizards now have a new spell "The Traps" in their spellbook.
Summon an array of temporary and permament hazards for your foes, but
don't fall into your own trap(s).
/🆑

Conjures some traps in an aoe, traps include Hand of God traps and
swarmer shocking traps. Hand of God traps require 60 seconds to recharge
between trapping.

I saw Cobby give this as a TC trade, and I thought it seems reasonable
as a silly wizard spell.

* Added The Traps to spellbook, modifed trap code more

* Adds action icon for The Traps

* Need to be adjacent to disarm

* Invocation is now Latin for "BEWARE THE TRAPS"
2017-03-08 12:13:03 +13:00
Lzimann e58ee1724f Refactors logging into a single var for all mobs and adds a wrapper for proper logging. 2017-03-04 13:32:35 -03:00
PKPenguin321 463b9cd147 Mimery Kit Adjustments (#24575)
* Mimery Kit Adjustments

This commit lowers the cost to 12 TCs

* Grammar changes

Makes some messages more grammatically correct and better sounding yeah

* Fixes shooting mime bullets while restrained/incapacitated
2017-03-02 20:10:46 +13:00
XDTM 34aafab401 Fixes Voice of God (#24328) 2017-02-23 20:20:25 +01:00
Cyberboss 56a6eaa8e6 Overlay queuing (#23922)
* Overlay queuing

* Fix SS flags

* Don't copy on assignment

* Flags processing

* Fix icon_smoothing

* MSO's helper proc

* Legacy detection

* Make it work

* Fixes shitcode

* Fix the flag

* |= -> +=

* OK, how did I fuck that up?

* shitcode

* Conditional assoc queue while initializing

* Cleanup everything

* Orange meme

* This isn't perfect, but its the best byond will give us.

* forgot about dir

* oh ya

* This was litterally the last thing i did last night before heading to bed

You can tell can't you?

* Fixes various shit

* Let's not ever pause

* Fix the flag

* Cleaned up some missing shit. Added image dummys

* Remove the one usage of FPRINT

* Jesus get rid of this
2017-02-22 21:44:55 +13:00
Quardbreak 83dbe874c5 Fixes touch hand qdel loop runtime (#24290)
* Fix touch hand loop runtime

* Fix #2
2017-02-21 09:05:48 +01:00
XDTM 44c16a3448 Refactors VoG into a proc/spell (#24117)
* Makes VoG into a spell

* conflicts

* ARE YOU QDELETED
2017-02-20 09:49:53 +13:00
kevinz000 66fd91934a Makes aimed projectile spell respect clickdelay overrides. (#24235)
* Update spell.dm

* Update aimed.dm

* Update spell.dm
2017-02-20 09:41:17 +13:00
TrustyGun 38419057b7 Advanced Mimery Kit (#23978)
d

🆑
add: Traitor mimes can now learn two new spells for 15 tc.
add: The first, Invisible Blockade, creates a 3x1 invisible wall.
add: The second, Finger Guns, allows them to shoot bullets out of their fingers.
/🆑

Traitor mimes can buy the Guide to Advanced Mimery for 15 tc. Invisible Blockade creates a 3x3 invisible wall around the mime, and Finger Guns allows Mimes to shoot bullets out of their fingers.

Invisible Blockade is 3x1 now to avoid this problem and still make Mimes be blocked by their own walls.
2017-02-19 00:49:40 +13:00
Joan Lung 118c7d155b Merge pull request #24129 from kevinz000/patch-63
Aimed projectile spell upgrades/refactor
2017-02-17 20:51:08 -05:00
bgobandit b22e689417 Fixes some more goddamn typos and bad writing. (#24095)
* fixes some more goddamn typos

* ree

* ...

* seething hatred for typos

* wew
2017-02-17 14:10:58 +13:00
kevinz000 57b16b9dac Update aimed.dm 2017-02-15 02:18:14 -08:00
MrPerson 9dd81f1da8 Puts files in single quotes like they belong
This means they're included into the rsc and sent out althogh almost all of these files were already included elsewhere. Also DM will yell if the file couldn't be found for whatever reason like if someone moves or renames it.

I left out some file types for various reasons
dmis used in overlays: I have another pr I'll do later which will fix all of them and I don't want to conflict with myself
text files: they would get included in the rsc, which is completely unnecessary. However they're small, so they might be worth including anyway
2017-02-12 07:15:18 -08:00
kevinz000 a4914b6728 [READY]slight tweak to make adminbuse/varediting better (#23894)
* Update aimed.dm

* Update aimed.dm

* Update aimed.dm

* Update aimed.dm
2017-02-12 12:50:49 +13:00
kevinz000 0ced9342b9 [READY]Aimable wizard lightning bolts (#23723)
* ZAP!

* YOU DID NOT SEE THAT

* YOU DI NOT SEE THAT 2

* object orientated pr

* gdi

* protection

* object orientated pr v2

* REEEE

* blacklists

* Update magicarp.dm
2017-02-08 18:31:52 +13:00
Pieter-Jan Briers 43fd486f82 Adds a hook for changing view size. (#23690)
* Adds a hook for changing view size.

* """"coding standards""""
2017-02-06 01:01:12 +13:00
Cyberboss b86e224571 Makes qdeleted and qdestroying macros (#23666)
* Makes qdeleted and qdestroying macros

* Makes QDELETED and QDESTROYING uppercase

* Swap qdel checks istype's for != null's

* Fix it

* How was this missed?
2017-02-06 00:59:27 +13:00
Jack Edge 91fbd27e4e The Rod Form spell does not notify deadchat
🆑 coiax
del: The wizard spell "Rod Form" does not produce a message in deadchat
everytime it is used.
/🆑

Because it gets spammy, and the joy of following a rod is being able to
watch its devestation. If you're following a wizard, you're already
following and need no notification.
2017-02-03 01:30:42 +00:00
Cyberboss 3f7f5d4000 Removes/Refactors /mob/unEquip (#22918)
* Part1

* IT COMPILES!!!!

* Fuck wait this was missing from that last

* Update handlabeler.dm

* Update handlabeler.dm

* Fixes n shit

* Fix this

* Fixes #23310

* Fucking @RemieRichards was right

* Fixes devil unEquip

* WTF ARE BITFLAGS?

* THERES THE FUCKING PROBLEM

* Fixes
2017-01-31 09:28:31 +13:00
Cyberboss f7c9749ca0 Fixes some bad addtimer calls. Adds INVOKE_ASYNC. Replaces addtimer(..., 0) (#23424)
* Fixes some bad addtimers

* Adds INVOKE

* Warning for addtimer

* Working syntax

* Another bad call

* Fixes the addtimer warning

* Add suppress_zero_warning to addtimer

Useful for addtimer that uses vars

* Add INVOKE_AGAIN for when the var is already defined

* Replace addtimer(...,0) with INVOKE((...))

* Much more sensible syntax

* Less overhead, less copypaste

* Rename INVOKE_ASYNC

* Use a macro

* Allman style

* Wait, why make it a datum in the first place?

* Revert the rename

* Rename again, keep line endings

* typo

* More typos

* Untouches Addtimer

* Update callbacks.dm

* Update timer.dm

* Revert allman style

* Revert "Revert allman style"

This reverts commit 47361da15bd04eca138be5f13acdc9dd5ba89331.

* Trying to match that whitespace diff

* Why is this missing?

* I'm not fucking dealing with this!
2017-01-31 09:20:54 +13:00
Kyle Spier-Swenson 12570805bd Closes the Pool. (#23150)
* Delete pool.dm

* Removes usage of PoolOrNew

* Wrap up
2017-01-22 16:00:23 -05:00
oranges 41a6efd987 Revert "Fixes instant summons and probably a few other edge cases" (#22917) 2017-01-10 20:55:26 -05:00
Joan Lung 75999e1c6c Fixes instant summons and probably a few other edge cases (#22890)
* Fixes instant summons and probably a few other edge cases

* woken in a fog don't sweat it
and reckon none of it had come from you

* echo

* no lesson in magic, just untimely dreams

* slapdash code queen
2017-01-11 12:53:05 +13:00
oranges 2f5a1a519b Merge pull request #22840 from KorPhaeron/summon_item
Fixes embedded object interaction with instant summons
2017-01-10 10:11:31 +13:00
KorPhaeron 7dc40c46e6 Fixes embedded object interaction with instant summons 2017-01-07 22:39:15 -06:00
Joan Lung be6a7642a6 hmm 2017-01-06 17:01:18 -05:00
Joan Lung 5b59050d15 ) 2017-01-06 16:57:17 -05:00
Joan Lung b0f3a27261 Changes a few things into temporary visual effects 2017-01-06 16:45:36 -05:00
Kyle Spier-Swenson bee4b132a3 [READY]Makes addtimer use callbacks (#22660)
* Makes addtimer use callbacks

* I broke the comment

* I fucked up the regex

* this was a silly idea.
2017-01-04 16:02:56 +13:00
Kyle Spier-Swenson 280dbe20c3 [Ready] SSthrowing + callbacks! (#22476)
* SSthrowing + callbacks!
Throwing is now a subsystem.
It's low priority, but is a ticker subsystem so is ran before most other subsystems.
To allow for shit to run after the throw finishes, throwing now supports a callback.
A callback datum system was created, conversion of addtimer is planned for another PR.
Throwing now has a limit of 2048 turfs (was 600)
Throwing now ticks every world.tick, and properly converts the speed arg from 1ds to what ever tick_lag is.
Throwing now properly accounts for missed ticks.
Throwing no longer uses sleep.
Throwing should no longer lag since it's not filling the sleep queue up

* Smoother tentacles

* Some improvements

* Missed a spot.

* Makes shit quicker.
Inlines the thrownthing.tick() proc.
Raises missed ticks value
Lowers max dist value
Inlines the two sister overrides for /atom/movable/Moved() because that just seemed like a waste

* >PRs open that use procs i'm removing.

* STOP THE PRESSES!

* throw_at now runs the first throw tick() immediately
This will help some with throwing while running.

* Item throwing now imparts the momentum of the user throwing.

(ie, running in the direction you are throwing makes you throw faster, running away from the direction you are throwing makes you throw the item slower)

* Moves throwing momentum from carbon/throw_item to movable/throw_at.
There are other things that cause a mob to "throw" an item, I figured we keep this universal since thrower is already an arg.

* Explosions throw shit faster.
This was stupid, "Hey, lets set the item's throw_speed to 4 so embedding works, but lets make it throw at the base 2 throw speed for no reason."

* Fixes explosion embedding.
This also acts as a nice example of how to override a callback in an override of throw_at properly.
2017-01-02 20:08:03 +11:00