This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
- Adds ABSTRACT flag to relevant items, removes abstract var.
- Adds checks for ABSTRACT where relevant.
- Also removes extra define of golem gas mask.
- Adds NODROP to changeling mutations so I don't have to do that later.
- Fixes armor RNG killing for thrown items.
- Kidan no longer act like they have a built-in riot shield (50 -
damage/3)% chance to ignore damage, but take 20% less brute
consistently.
- Entirely missing with a projectile or melee attack is impossible, but
you are more likely to hit a part you were not aiming at. (Ports tg
ran_zone proc and axes current get_zone_with_miss_chance proc).
- Removes some snowflake code for lightning projectiles (Power Glove
traitor item uses these).
Makes the code for handling stun weapon effects much cleaner.
Moves electrocute_act and emp_act from living.dm into living_defense.dm
Conflicts:
code/game/objects/items/weapons/stunbaton.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/living.dm
Before: multiple screen_shake's could queue up prior to screenshake being set on the mob setting
oldeye on the last one to queue up to be the random location from the previous screen shake
so sometimes peoples clients were stuck on a location instead of back on the mob.
Now we set screenshake before the spawn so we don't spawn up multiple screen_shakes on the same mob.
Test: Be ghost, hammer the spawn meteors secret 10 times or so, watch as your camera returns back to your mob.
Yay.
Conflicts:
code/modules/mob/mob_helpers.dm
Also makes setting a thrown atom's throwing var the responsibility of
the handler, so that impact handling code can decide if the thrown atom
should keep on going.
Conflicts:
code/game/atoms.dm
code/modules/mob/living/carbon/alien/special/facehugger.dm
code/modules/mob/living/living_defense.dm
-Added a new access type that will act as a weapon permit that the HoS/HoP can manage. Centcom, Security, Captain, HoP, and the Barman start with it.
-Securitrons will now have the option to declare arrests they make to anyone who is wearing a security HUD. This can be turned off per-securitron
-Securitrons now have the option to arrest humans without any IDs. Defaults to off.
-Changed how securitron threat assessment is calculated
-Removed detective access from securitrons
-Stunning and cuffing now properly bolds their text for the perp
-Pingsky has its own type now
I realise there is a lot of existing duplicate code between the EDs and the securitrons, but I don't think I'd have the capability to tackle that any time soon.
Conflicts:
_maps/map_files/tgstation.2.1.3.dmm
code/game/jobs/access.dm
code/game/jobs/job/captain.dm
code/game/jobs/job/civilian.dm
code/game/jobs/job/security.dm
code/game/machinery/bots/ed209bot.dm
code/game/machinery/bots/secbot.dm
code/modules/admin/verbs/debug.dm
code/modules/mob/living/carbon/carbon.dm
code/modules/mob/living/carbon/human/human.dm
code/modules/mob/living/carbon/monkey/monkey.dm