mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Tweaks some nuclear agent items (#22119)
* First changes * Dont forget to do cooldown shit * I HATE PEOPLE AAAAA * Defib almost done * Okay we ball * Defib done * I hate bullets * Sniper done * More stamina damage * GDN review + Oops I forgor this * Update code/datums/components/defibrillator.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Disintegrate go brrrr * Lewc review * Ghhhhh * Final oopsie fixed * Almost made an oopsie daisy myself --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
@@ -92,9 +92,9 @@
|
||||
if(user && !robotic)
|
||||
to_chat(user, "<span class='warning'>You silently [safety ? "disable" : "enable"] [unit]'s safety protocols with the card.")
|
||||
|
||||
/datum/component/defib/proc/set_cooldown()
|
||||
/datum/component/defib/proc/set_cooldown(how_short)
|
||||
on_cooldown = TRUE
|
||||
addtimer(CALLBACK(src, PROC_REF(end_cooldown)), cooldown)
|
||||
addtimer(CALLBACK(src, PROC_REF(end_cooldown)), how_short)
|
||||
|
||||
/datum/component/defib/proc/end_cooldown()
|
||||
on_cooldown = FALSE
|
||||
@@ -151,6 +151,12 @@
|
||||
to_chat(user, "<span class='notice'>The instructions on [defib_ref] don't mention how to defibrillate that...</span>")
|
||||
return
|
||||
|
||||
if(should_cause_harm && combat && heart_attack_chance == 100)
|
||||
combat_fibrillate(user, target)
|
||||
SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, TRUE)
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
if(should_cause_harm)
|
||||
fibrillate(user, target)
|
||||
SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, TRUE)
|
||||
@@ -212,7 +218,7 @@
|
||||
target.set_heartattack(FALSE)
|
||||
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
|
||||
SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, TRUE)
|
||||
set_cooldown()
|
||||
set_cooldown(cooldown)
|
||||
user.visible_message("<span class='boldnotice'>[defib_ref] pings: Cardiac arrhythmia corrected.</span>")
|
||||
target.visible_message("<span class='warning'>[target]'s body convulses a bit.</span>", "<span class='userdanger'>You feel a jolt, and your heartbeat seems to steady.</span>")
|
||||
playsound(get_turf(defib_ref), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
@@ -304,7 +310,7 @@
|
||||
add_attack_logs(user, target, "Revived with [defib_ref]")
|
||||
SSblackbox.record_feedback("tally", "players_revived", 1, "defibrillator")
|
||||
SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, defib_success)
|
||||
set_cooldown()
|
||||
set_cooldown(cooldown)
|
||||
busy = FALSE
|
||||
|
||||
/**
|
||||
@@ -328,9 +334,28 @@
|
||||
target.set_heartattack(TRUE)
|
||||
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
|
||||
add_attack_logs(user, target, "Stunned with [parent]")
|
||||
set_cooldown()
|
||||
set_cooldown(cooldown)
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
/datum/component/defib/proc/combat_fibrillate(mob/user, mob/living/carbon/human/target)
|
||||
if(!istype(target))
|
||||
return
|
||||
busy = TRUE
|
||||
target.adjustStaminaLoss(60)
|
||||
target.emote("gasp")
|
||||
add_attack_logs(user, target, "Stunned with [parent]")
|
||||
target.KnockDown(4 SECONDS)
|
||||
if(IS_HORIZONTAL(target) && HAS_TRAIT(target, TRAIT_HANDS_BLOCKED)) // Weakening exists which doesn't floor you while stunned
|
||||
add_attack_logs(user, target, "Gave a heart attack with [parent]")
|
||||
target.set_heartattack(TRUE)
|
||||
target.visible_message("<span class='danger'>[user] has touched [target] with [parent]!</span>", \
|
||||
"<span class='userdanger'>[user] touches you with [parent], and you feel a strong jolt!</span>")
|
||||
playsound(get_turf(parent), 'sound/machines/defib_zap.ogg', 50, TRUE, -1)
|
||||
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
|
||||
set_cooldown(cooldown)
|
||||
return
|
||||
target.visible_message("<span class='danger'>[user] touches [target] lightly with [parent]!</span>")
|
||||
set_cooldown(2.5 SECONDS)
|
||||
|
||||
/*
|
||||
* Pass excess shock from a defibrillation into someone else.
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
desc = "An additional 20-round .45 magazine for use in the C-20r submachine gun. These bullets pack a lot of punch that can knock most targets down, but do limited overall damage."
|
||||
reference = "45"
|
||||
item = /obj/item/ammo_box/magazine/smgm45
|
||||
cost = 10
|
||||
cost = 15
|
||||
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
|
||||
|
||||
/datum/uplink_item/ammo/smg_ammobag
|
||||
@@ -245,7 +245,7 @@
|
||||
desc = "A duffel bag filled with enough .45 ammo to supply an entire team, at a discounted price."
|
||||
reference = "45ADB"
|
||||
item = /obj/item/storage/backpack/duffel/syndie/smg
|
||||
cost = 70 // normally 100
|
||||
cost = 105 // Normally 150, so 30% off
|
||||
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
|
||||
|
||||
/datum/uplink_item/ammo/carbine
|
||||
@@ -282,7 +282,7 @@
|
||||
surplus = 0
|
||||
|
||||
/datum/uplink_item/ammo/sniper
|
||||
cost = 20
|
||||
cost = 15
|
||||
uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
|
||||
|
||||
/datum/uplink_item/ammo/sniper/basic
|
||||
@@ -297,14 +297,13 @@
|
||||
Able to heavily damage objects, and delimb people."
|
||||
reference = "50A"
|
||||
item = /obj/item/ammo_box/magazine/sniper_rounds/antimatter
|
||||
cost = 25
|
||||
cost = 30
|
||||
|
||||
/datum/uplink_item/ammo/sniper/soporific
|
||||
name = "Sniper - .50 Soporific Magazine"
|
||||
desc = "A 3-round magazine of soporific ammo designed for use with .50 sniper rifles. Put your enemies to sleep today!"
|
||||
reference = "50S"
|
||||
item = /obj/item/ammo_box/magazine/sniper_rounds/soporific
|
||||
cost = 15
|
||||
|
||||
/datum/uplink_item/ammo/sniper/haemorrhage
|
||||
name = "Sniper - .50 Haemorrhage Magazine"
|
||||
@@ -319,7 +318,7 @@
|
||||
Can pierce walls and multiple enemies."
|
||||
reference = "50P"
|
||||
item = /obj/item/ammo_box/magazine/sniper_rounds/penetrator
|
||||
cost = 25
|
||||
cost = 20
|
||||
|
||||
/datum/uplink_item/ammo/bioterror
|
||||
name = "Box of Bioterror Syringes"
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
if(!isfloorturf(loc))
|
||||
to_chat(user, "<span class='warning'>A floor must be present to build a false wall!</span>")
|
||||
return
|
||||
if (locate(/obj/structure/falsewall) in loc.contents)
|
||||
if(locate(/obj/structure/falsewall) in loc.contents)
|
||||
to_chat(user, "<span class='warning'>There is already a false wall present!</span>")
|
||||
return
|
||||
if(islava(loc))
|
||||
|
||||
@@ -158,7 +158,6 @@
|
||||
name = "penetrator round"
|
||||
damage = 60
|
||||
forcedodge = -1
|
||||
dismemberment = 0
|
||||
weaken = 0
|
||||
|
||||
//toy magazine
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/midbullet
|
||||
damage = 20
|
||||
stamina = 65 //two rounds from the c20r knocks people down
|
||||
stamina = 45 // Three rounds from the c20r knocks unarmoured people down, four for people with bulletproof
|
||||
|
||||
/obj/item/projectile/bullet/midbullet_r
|
||||
damage = 5
|
||||
|
||||
Reference in New Issue
Block a user