Commit Graph

51 Commits

Author SHA1 Message Date
Ghom
17b3091867 Merges tinfoil (hat) protection into the anti_magic component. Implements it on Hivemind gamemode and telepathy. (#43978)
About The Pull Request

Was fairly shocked to find out hiveminds never took tinfoil hat protection in account, so decided to implement the factor in the game mode. Might have overdone it and probably erroneously changed a couple logics while getting rid of some really indented passages that could easily early return.
So what's said on the tin, this is lot more preferable than clunky is_type() checks on headwear anyway.
Also expanded tinfoil protection to hivemind and (non-revenant) telepathy.
Why It's Good For The Game

Let us remember the "purpose" of tinfoil hats.
Changelog

cl
code: Merged tinfoil hat kind of protection into the anti_magic component.
add: Tinfoil hats can also be warped up from excessive dampening of mindray/though control/psicotronic anomalies, or by simply being microwaved in an oven, and become useless.
add: Immortality Talisman and Paranormal Hardsuit helmets now come with tinfoil protection too (minus the paranoia and limited charges).
balance: Rebalanced many hivemind effects to be dampened/delayed by tinfoil shielding. Bruteforced Assimilate Vessel, One mind and Awake Vessel abilities will consume more tinfoil charges compared to others.
balance: Genetics/Slime/Alien Telepathy and Slime Link are now stopped by tinfoil protection.
/cl
2019-05-30 20:29:30 +12:00
Brett Williams
b14809f889 Refactored magic guns to use process_fire() for checks
This was previously using afterattack()
2019-03-31 20:29:59 -03:00
ShizCalev
74e4f1d558 Fixes syndicate borg L6 icon (#42751) 2019-02-13 13:35:28 -05:00
XDTM
9f74fef3d5 Allows the antimagic component to react to spells, limits holymelon uses (#41739) 2018-12-17 19:09:35 -05:00
XDTM
334a1d44f2 Adds the Curse of Madness to wizard spellbooks (#41496)
* Adds the Curse of Madness to the wizard's spellbook

* anti-magic check

* Update code/modules/antagonists/wizard/equipment/spellbook.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Magic traumas + magic immunity prevents spellcasting

* feedback

* fix

* fax

* Added two new special traumas

* I'm not mad, everyone else is

* New minor trauma, godwoken gives holy

* stalking phantom trauma

* math

* heartbeat

* Custom message
2018-12-02 09:46:10 -05:00
Trevor Serpas
bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
kingofkosmos
a479714b5f Adds missing span-endings (#30494)
* Adds missing </span>'s.

* ".name]" --> "]" and
"to_chat(GLOB.admins," --> "message_admins("
and one [name] --> [src]

* Earlier commit was a mistake, lesson learned

* Hopefully all is ok now.

* Revert "Hopefully all is ok now."

This reverts commit 3c95e41b4c13ce96469861e9a97453adf4b56826.

* Revert "Earlier commit was a mistake, lesson learned"

This reverts commit d611af1e4a76690453a7f9808b6e2c429b679f6c.

* Revert "".name]" --> "]" and"

This reverts commit d538b9efef2d7d8be9122bf5ceaf105055059bc6.

* message_admins fix
2017-09-11 14:09:53 +02:00
shizcalev
ffa5d9e388 Fixes missing inhands 2017-08-21 18:29:51 -04:00
Ian Turk
7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Cyberboss
7a4f640eec Ports guns to Initialize 2017-05-25 19:51:08 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Joan Lung
e6df49f3de Revert "Removes left inhand files, automatically mirrors inhands" (#22085) 2016-12-09 18:27:25 -05:00
KorPhaeron
ace673e829 Removes left inhand files, automatically mirrors inhands 2016-12-07 23:34:12 -06:00
Mervill
09ea5ad2e5 w_class now uses defines 2016-12-01 21:33:14 -08:00
MrStonedOne
76e1c6916f VV refactor 2016-11-30 12:49:21 -08:00
phil235
b7efc2cef4 Make energy guns able to use burst fire. (#21005)
* Make energy guns able to use burst fire.

* Changed obj/item/weapon/gun/projectile to /gun/ballistic and the name of the folder from "projectile" to "ballistic" to avoid confusion between actually projectiles and guns.

Syringe gun, energy guns and magic guns can now use burst fire.

* fixing merge conflict shit

* fixing map conflicts

* more map conflict fix

* two tiny fixes.

* tiny tweak

* fixing merge conflicts.
Moving the practice mini egun to the gun module.
Renamed nuclear.dm to energy_gun.dm

* map conflict fixes
2016-11-02 16:16:21 +13:00
Joan Lung
4cddd81120 Suicide now uses the pronoun helpers (#20973)
* This doesn't actually matter, because you're dead forever once it happens...

* is this entire pr chaff for something else

* you'll do it? nah, fuck that I'll do it
2016-10-18 14:36:38 +13:00
Kyle Spier-Swenson
0d6bbbb412 stop the pills (#18703)
* RedPills Processing

Now you have to use START_PROCESSING(SSname, thing) (and STOP_PROCESSING)

* Fixes a minor bug.
2016-06-20 12:07:44 +02:00
c0
1dea7ac78b Defines 2016-03-02 00:23:50 +03:00
c0
af5276467b Allows aliens/monkeys to use magic and arm-mounted guns 2016-03-01 23:52:58 +03:00
Firecage
754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
KorPhaeron
eeb2653070 Dual Wield 2015-12-20 00:22:35 -06:00
Razharas
93b9f96cfa Merge pull request #11341 from bgobandit/suicideisnotajoke
Adds/tweaks several suicide messages.
2015-09-06 06:42:00 +03:00
bgobandit
ca34015b85 Removes minibomb suicide message. Fixes wand suicide message. 2015-09-02 23:07:40 -04:00
duncathan
51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
135293bedf Fixes object processing list by replacing "SSobj.processing.Add" by "SSobj.processing |= " to avoid having duplicated objects in the list, meaning the objects would be processed more than once per iteration.
Fixes Alien embryo processing that was processed twice.
2015-02-14 14:18:49 +01:00
dannno
a0b2e72b4c gun suicide messages 2015-02-01 11:04:40 -05:00
Cheridan
793243763d Merge pull request #7185 from paprka/inhandrefactor
Inhand refactor
2015-01-20 22:16:06 -06:00
Cheridan
29af018796 Some fixes
-Fixes magic wands having electronic firing pins, now have FANCY CRYSTAL SHARDS
-Fixes grammer issue.
-Fixes code not compiling due to outdated proc
2015-01-20 21:41:36 -06:00
paprka
f58096575c refactors guns 2015-01-18 23:28:24 -08:00
paprka
1b6831dab1 splits gun.dmi up into multiple files 2015-01-17 15:34:30 -08:00
carnie
a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
Menshin
05378c014d * fixes #3765 (shotguns sawing off)
* fixes #994 (clumsy guns firing)
* fixes #6443 (laser tags firing without vest on)
* fixes #6262 (optimizing revolver reloading)
2014-12-21 01:35:49 +01:00
Menshin
bdca196312 Fix wands losing a charge even when no shot was actually fired (#4588). 2014-08-27 19:54:46 +02:00
Incoming
c83728bba1 Magic Mania 1.6: Baby's Day Out
*Adds unique sprites for the staves of door creation and chaos
**Item sprites
**Inhands
**Onbacks

*Fixes #3232 in a way that isn't terrible

*Basically this is the part of 1.5 that should have been done back when it was added
*Please raise wizard rates :3
2014-04-17 19:35:42 -04:00
Mloc-Hibernia
8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Incoming
45cf5ec20c Various Bugfixes
Fixes #2534
Fixes #2431
Fixes #2493
Fixes #2500
2014-02-01 11:29:37 -05:00
sirbayer
d1a06a21dc Mysterious compile errors gone. 2014-01-06 18:49:55 -08:00
sirbayer
45cb745b6b Merge branch 'master' of https://github.com/tgstation/-tg-station into srsbsns-deadlyboolets
Conflicts:
	code/modules/projectiles/guns/magic.dm
2014-01-06 17:59:15 -08:00
sirbayer
a0a73d1ab5 Jesus Christ it compiles 2013-12-30 16:30:36 -08:00
Cheridan
bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Incoming
c9f69869f2 Aranclanos Fix Omnibus
*Removes zapping oneself by attackselfing a wand, leaving clicking yourself while holding the wand the only way to do it because...
*Removes the warnings for zapping yourself with bad wands. Careful with that wand of death, kids!
*Removed some redundant lines
*Adds logging/sounds to zapping yourself
*Removed the change to wizard_continuous_rounds. It will become it's own PR
*Removed some redundant lines
*Uses the mob/living revive() proc to heal/raise people using the wand/staff of animation
2013-12-14 19:40:58 -05:00
Incoming
c396c3ae8a Suggestion implimentation patch!
*Span classes the whole update
*Spellbooks no longer vanish after being used, instead used spellbooks now have various bad effects should they be attempted to learned from again (the original reader won't acidentally fall to this, as they will just say "I've already read this"). Leave em out as traps for people or properly dispose of your trash! Or...
*The charge spell can now attempt to recharge one use spellbooks so someone else can learn the spell. This only has a 20% success rate and will destroy the book should it fail (even if the book was actually unused). You can't attempt this on the wizard's spellbook
*The "staff of nothing" (functional) placeholder now uses the generic staff sprites
*Spellbooks can now be placed in bookshelves just like normal books
*The teleport spell won't yank anchored things anymore, but as a consolation it will warp the entire contents of a tile should it be targeted. The code has been tweeked so this shouldn't effect the server too bad even if large numbers of items are warped to unique locations this way
2013-12-12 00:24:51 -05:00
Incoming
b7b05d53ec Code optimization and copypasta removal:
the teleport wand now uses do_teleport
the polymorph wand now uses wabbajack in both instances

You can now click on yourself while holding a wand to cast it on yourself in addition to clicking on the wand itself.

Changed how guns/magic are given out slightly. Previously no antag could get a gun/magic thing (including survivors made by the spell in the case of multicasting) but now antags who aren't the wizard or an apprentice of the wizard also get one.

Fixed a few bugs on accidentally burning charges by click in places tht wouldn't actually fire the wand/staff
2013-12-10 01:04:16 -05:00
Incoming
51d12a7512 Adds all sprites for all wands, books, and the staff of healing
Fixes an issue where someone spamming a wand might lose charges without actually firing the bolt
Removes a few missed bugtesting lines
Adds a var (variable_charges) to be disabled for wands with assured max charges for future use
2013-12-09 12:46:34 -05:00