mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Make Syringe Guns shoot Syringes in Inject mode (#23088)
* Automatically set launched syringes to inject * Implement for normal syringe guns too * Put mech syringe back to draw mode if emptied when shot * Use syringe's defines * Move defines * update paradise.dme * Add comment for defines * do not set RSG syringes to inject --------- Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
This commit is contained in:
@@ -24,3 +24,8 @@
|
||||
#define UNHUSK_DAMAGE_THRESHOLD 50
|
||||
///Amount of synthflesh required to unhusk someone
|
||||
#define SYNTHFLESH_UNHUSK_AMOUNT 100
|
||||
|
||||
///Syringe mob interaction modes
|
||||
#define SYRINGE_DRAW 0
|
||||
#define SYRINGE_INJECT 1
|
||||
#define SYRINGE_BROKEN 2
|
||||
|
||||
@@ -299,6 +299,7 @@
|
||||
var/turf/trg = get_turf(target)
|
||||
var/obj/item/reagent_containers/syringe/mechsyringe = syringes[1]
|
||||
mechsyringe.forceMove(get_turf(chassis))
|
||||
mechsyringe.mode = SYRINGE_INJECT
|
||||
reagents.trans_to(mechsyringe, min(mechsyringe.volume, reagents.total_volume))
|
||||
syringes -= mechsyringe
|
||||
mechsyringe.icon = 'icons/obj/chemical.dmi'
|
||||
@@ -331,6 +332,8 @@
|
||||
add_attack_logs(originaloccupant, M, "Shot with [src] containing [R], transferred [mechsyringe.reagents.total_volume] units")
|
||||
mechsyringe.reagents.reaction(M, REAGENT_INGEST)
|
||||
mechsyringe.reagents.trans_to(M, mechsyringe.reagents.total_volume)
|
||||
if(!mechsyringe.reagents.total_volume)
|
||||
mechsyringe.mode = SYRINGE_DRAW
|
||||
M.take_organ_damage(2)
|
||||
break
|
||||
else if(mechsyringe.loc == trg)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
chambered.BB = new S.projectile_type(src)
|
||||
S.reagents.trans_to(chambered.BB, S.reagents.total_volume)
|
||||
S.mode = SYRINGE_INJECT
|
||||
chambered.BB.name = S.name
|
||||
|
||||
syringes.Remove(S)
|
||||
@@ -55,6 +56,7 @@
|
||||
// Remove the chambered syringe only if there's no syringe left
|
||||
S = new()
|
||||
chambered.BB.reagents.trans_to(S, chambered.BB.reagents.total_volume)
|
||||
S.mode = SYRINGE_INJECT
|
||||
qdel(chambered.BB)
|
||||
chambered.BB = null
|
||||
process_chamber()
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#define SYRINGE_DRAW 0
|
||||
#define SYRINGE_INJECT 1
|
||||
#define SYRINGE_BROKEN 2
|
||||
|
||||
/obj/item/reagent_containers/syringe
|
||||
name = "syringe"
|
||||
desc = "A syringe."
|
||||
|
||||
Reference in New Issue
Block a user