diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 2337f58ca6..a5f7bf0be0 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -605,6 +605,7 @@
//Shooting Code:
A.current = T
+ A.starting = T
A.yo = U.y - T.y
A.xo = U.x - T.x
spawn(1)
diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm
index 8f81c414de..965210ae15 100644
--- a/code/game/machinery/turrets.dm
+++ b/code/game/machinery/turrets.dm
@@ -265,6 +265,7 @@
A = new /obj/item/projectile/energy/electrode( loc )
use_power(200)
A.current = T
+ A.starting = T
A.yo = U.y - T.y
A.xo = U.x - T.x
spawn( 0 )
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index 03bf90b0f5..73ff6eab5d 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -188,6 +188,8 @@
del(A)
return
A.current = target
+ A.starting = get_turf(src)
+ A.original = get_turf(target)
A.yo = target:y - start:y
A.xo = target:x - start:x
spawn( 0 )
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 59e93c23b6..c85c48e27a 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -1,7 +1,7 @@
#define EMITTER_DAMAGE_POWER_TRANSFER 450 //used to transfer power to containment field generators
/obj/machinery/power/emitter
- name = "Emitter"
+ name = "emitter"
desc = "It is a heavy duty industrial laser."
icon = 'icons/obj/singularity.dmi'
icon_state = "emitter"
@@ -60,18 +60,18 @@
/obj/machinery/power/emitter/proc/activate(mob/user as mob)
if(state == 2)
if(!powernet)
- user << "The emitter isn't connected to a wire."
+ user << "\The [src] isn't connected to a wire."
return 1
if(!src.locked)
if(src.active==1)
src.active = 0
- user << "You turn off the [src]."
+ user << "You turn off [src]."
message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Emitter turned off by [user.ckey]([user]) in ([x],[y],[z])")
investigate_log("turned off by [user.key]","singulo")
else
src.active = 1
- user << "You turn on the [src]."
+ user << "You turn on [src]."
src.shot_number = 0
src.fire_delay = 100
message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
@@ -79,9 +79,9 @@
investigate_log("turned on by [user.key]","singulo")
update_icon()
else
- user << "\red The controls are locked!"
+ user << "The controls are locked!"
else
- user << "\red The [src] needs to be firmly secured to the floor first."
+ user << "\The [src] needs to be firmly secured to the floor first."
return 1
@@ -138,86 +138,83 @@
s.set_up(5, 1, src)
s.start()
A.set_dir(src.dir)
+ A.starting = get_turf(src)
switch(dir)
if(NORTH)
- A.yo = 20
- A.xo = 0
+ A.original = locate(x, y+1, z)
if(EAST)
- A.yo = 0
- A.xo = 20
+ A.original = locate(x+1, y, z)
if(WEST)
- A.yo = 0
- A.xo = -20
+ A.original = locate(x-1, y, z)
else // Any other
- A.yo = -20
- A.xo = 0
- A.process() //TODO: Carn: check this out
+ A.original = locate(x, y-1, z)
+ A.process()
/obj/machinery/power/emitter/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/weapon/wrench))
if(active)
- user << "Turn off the [src] first."
+ user << "Turn off [src] first."
return
switch(state)
if(0)
state = 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] secures [src.name] to the floor.", \
+ user.visible_message("[user.name] secures [src] to the floor.", \
"You secure the external reinforcing bolts to the floor.", \
"You hear a ratchet")
src.anchored = 1
if(1)
state = 0
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
+ user.visible_message("[user.name] unsecures [src] reinforcing bolts from the floor.", \
"You undo the external reinforcing bolts.", \
"You hear a ratchet")
src.anchored = 0
if(2)
- user << "\red The [src.name] needs to be unwelded from the floor."
+ user << "\The [src] needs to be unwelded from the floor."
return
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(active)
- user << "Turn off the [src] first."
+ user << "Turn off [src] first."
return
switch(state)
if(0)
- user << "\red The [src.name] needs to be wrenched to the floor."
+ user << "\The [src] needs to be wrenched to the floor."
if(1)
if (WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
- "You start to weld the [src] to the floor.", \
+ user.visible_message("[user.name] starts to weld [src] to the floor.", \
+ "You start to weld [src] to the floor.", \
"You hear welding")
if (do_after(user,20))
if(!src || !WT.isOn()) return
state = 2
- user << "You weld the [src] to the floor."
+ user << "You weld [src] to the floor."
connect_to_network()
else
- user << "\red You need more welding fuel to complete this task."
+ user << "You need more welding fuel to complete this task."
if(2)
if (WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
- "You start to cut the [src] free from the floor.", \
+ user.visible_message("[user.name] starts to cut [src] free from the floor.", \
+ "You start to cut [src] free from the floor.", \
"You hear welding")
if (do_after(user,20))
if(!src || !WT.isOn()) return
state = 1
- user << "You cut the [src] free from the floor."
+ user << "You cut [src] free from the floor."
disconnect_from_network()
else
- user << "\red You need more welding fuel to complete this task."
+ user << "You need more welding fuel to complete this task."
return
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
if(emagged)
- user << "\red The lock seems to be broken"
+ user << "The lock seems to be broken."
return
if(src.allowed(user))
if(active)
@@ -225,16 +222,16 @@
user << "The controls are now [src.locked ? "locked." : "unlocked."]"
else
src.locked = 0 //just in case it somehow gets locked
- user << "\red The controls can only be locked when the [src] is online"
+ user << "The controls can only be locked when [src] is online."
else
- user << "\red Access denied."
+ user << "Access denied."
return
if(istype(W, /obj/item/weapon/card/emag) && !emagged)
locked = 0
emagged = 1
- user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.")
+ user.visible_message("[user.name] emags [src].","You short out the lock.")
return
..()
diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm
index afb1f33874..a8f93b8d25 100644
--- a/code/modules/projectiles/guns/projectile/dartgun.dm
+++ b/code/modules/projectiles/guns/projectile/dartgun.dm
@@ -6,6 +6,8 @@
embed = 1 //the dart is shot fast enough to pierce space suits, so I guess splintering inside the target can be a thing. Should be rare due to low damage.
var/reagent_amount = 15
kill_count = 15 //shorter range
+
+ muzzle_type = null
/obj/item/projectile/bullet/chemdart/New()
reagents = new/datum/reagents(reagent_amount)