mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
[PORT] Add mantis blades (new traitor item) (#27594)
* add mantis blades * fix nuclear only * fix .dme edit * fix linter * new attack chain * maybe fix linter * add NT mantis blade to syndicate 6 * newline * add list * fix nested types * ability to pry open doors with two blades * Update code/game/machinery/doors/airlock.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * requested changes * remove transform * replace sleep with addtimer * Update code/datums/uplink_items/uplink_general.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/datums/uplink_items/uplink_general.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/game/objects/items/weapons/storage/uplink_kits.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/research/designs/weapon_designs.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/research/designs/weapon_designs.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com> Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> * add safetys and some cleanup * return parry sound * snake case and replace CALLBACK with VARSET_CALLBACK * move attacking logic and update item and uplink description * cleanup * first attempt * fix conditional statement * update paradise.dme * edit whitespace * signal interceptors * improve some logic * oops * use COMSIG_INTERACTING * return one whitespace * subtype for mantis blades * replace .GetComponent() with signal * fix typo * better naming * attempt_cancel_message and some logic * split logic --------- Signed-off-by: Mira <42539014+MiraHell@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: PopeDaveThe3th <80988376+PopeDaveThe3th@users.noreply.github.com>
This commit is contained in:
co-authored by
Burzah
PopeDaveThe3th
parent
6f77bf1f8a
commit
dac57002ff
@@ -1190,9 +1190,6 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
|
||||
/obj/machinery/door/airlock/try_to_crowbar(mob/living/user, obj/item/I)
|
||||
if(operating)
|
||||
return
|
||||
if(HAS_TRAIT(I, TRAIT_FORCES_OPEN_DOORS_ITEM))
|
||||
force_open_with_item(user, I)
|
||||
return
|
||||
var/beingcrowbarred = FALSE
|
||||
if(I.tool_behaviour == TOOL_CROWBAR && I.tool_use_check(user, 0))
|
||||
beingcrowbarred = TRUE
|
||||
@@ -1237,31 +1234,6 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
|
||||
if(density && !open(1))
|
||||
to_chat(user, "<span class='warning'>Despite your attempts, [src] refuses to open.</span>")
|
||||
|
||||
/obj/machinery/door/airlock/proc/force_open_with_item(mob/living/user, obj/item/I)
|
||||
/// Time it takes to open an airlock with an item with the TRAIT_FORCES_OPEN_DOORS_ITEM trait, 5 seconds for wielded items, 10 seconds for nonwielded items
|
||||
var/time_to_open_airlock = 10 SECONDS
|
||||
/// Can we open the airlock while unpowered? Wielded item's can't, but unwielded items can
|
||||
var/can_force_open_while_unpowered = TRUE
|
||||
if(I.GetComponent(/datum/component/two_handed))
|
||||
can_force_open_while_unpowered = FALSE
|
||||
time_to_open_airlock = 5 SECONDS
|
||||
if(!HAS_TRAIT(I, TRAIT_WIELDED))
|
||||
to_chat(user, "<span class='warning'>You need to be wielding [I] to do that!</span>")
|
||||
return
|
||||
if(!density || prying_so_hard)
|
||||
return
|
||||
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, 1) //is it aliens or just the CE being a dick?
|
||||
if(!arePowerSystemsOn() && can_force_open_while_unpowered)
|
||||
open(TRUE)
|
||||
return
|
||||
prying_so_hard = TRUE //so you dont pry the door when you are already trying to pry it
|
||||
var/result = do_after(user, time_to_open_airlock, target = src)
|
||||
prying_so_hard = FALSE
|
||||
if(result)
|
||||
open(TRUE)
|
||||
if(density && !open(TRUE))
|
||||
to_chat(user, "<span class='warning'>Despite your attempts, [src] refuses to open.</span>")
|
||||
|
||||
/obj/machinery/door/airlock/open(forced=0)
|
||||
if(operating || welded || locked || emagged)
|
||||
return 0
|
||||
|
||||
@@ -260,9 +260,6 @@
|
||||
if(HAS_TRAIT(src, TRAIT_CMAGGED) && I.can_clean()) //If the cmagged door is being hit with cleaning supplies, don't open it, it's being cleaned!
|
||||
return
|
||||
|
||||
if(user.a_intent != INTENT_HARM && HAS_TRAIT(I, TRAIT_FORCES_OPEN_DOORS_ITEM))
|
||||
try_to_crowbar(user, I)
|
||||
return TRUE
|
||||
else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM)
|
||||
try_to_activate_door(user)
|
||||
return TRUE
|
||||
|
||||
@@ -579,3 +579,12 @@
|
||||
/obj/item/storage/box/syndie_kit/forgers_kit/populate_contents()
|
||||
new /obj/item/stamp/chameleon(src)
|
||||
new /obj/item/pen/chameleon(src)
|
||||
|
||||
/obj/item/storage/box/syndie_kit/syndie_mantis
|
||||
name = "\improper Mantis Blades kit"
|
||||
desc = "A sleek box marked with a Cybersun logo. The label says it contains a pair of CX-12 'Naginata' mantis blades and accompanying autosurgeons."
|
||||
|
||||
/obj/item/storage/box/syndie_kit/syndie_mantis/populate_contents()
|
||||
new /obj/item/autosurgeon/organ/syndicate/oneuse/syndie_mantis(src)
|
||||
new /obj/item/autosurgeon/organ/syndicate/oneuse/syndie_mantis/l(src)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
/obj/item/fireaxe/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT)
|
||||
AddComponent(/datum/component/forces_doors_open)
|
||||
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.7, _parryable_attack_types = MELEE_ATTACK, _parry_cooldown = (10 / 3) SECONDS, _requires_two_hands = TRUE) // 2.3333 seconds of cooldown for 30% uptime
|
||||
AddComponent(/datum/component/two_handed, force_unwielded = force_unwielded, force_wielded = force_wielded, icon_wielded = "[base_icon_state]1")
|
||||
|
||||
@@ -1070,8 +1070,8 @@
|
||||
|
||||
/obj/item/supermatter_halberd/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_SUPERMATTER_IMMUNE, ROUNDSTART_TRAIT) //so it can't be dusted by the SM
|
||||
AddComponent(/datum/component/forces_doors_open)
|
||||
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.25, _parryable_attack_types = ALL_ATTACK_TYPES, _parry_cooldown = (4 / 3) SECONDS, _requires_two_hands = TRUE) // 0.3333 seconds of cooldown for 75% uptime
|
||||
AddComponent(/datum/component/two_handed, force_wielded = 40, force_unwielded = force, icon_wielded = "[base_icon_state]1")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user