diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm
index 0e2e9c50937..64f29f8f8c9 100644
--- a/code/defines/obj/storage.dm
+++ b/code/defines/obj/storage.dm
@@ -318,7 +318,7 @@
icon_state = "red"
item_state = "toolbox_red"
flags = FPRINT | TABLEPASS| CONDUCT
- force = 5.0
+ force = 10.0
throwforce = 10.0
throw_speed = 1
throw_range = 7
@@ -366,7 +366,7 @@
icon_state = "syndicate"
item_state = "toolbox_syndi"
origin_tech = "combat=1;syndicate=1"
- force = 7.0
+ force = 14.0
/obj/item/weapon/storage/book
name = "book"
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 7902646e3d1..80bf54dd913 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -179,7 +179,7 @@
icon_state = "stunbaton"
item_state = "baton"
flags = FPRINT | ONBELT | TABLEPASS
- force = 10
+ force = 15
throwforce = 7
w_class = 3
var/charges = 10.0
@@ -601,7 +601,7 @@
icon = 'weapons.dmi'
icon_state = "cane"
flags = FPRINT | TABLEPASS| CONDUCT
- force = 5.0
+ force = 6.0
throwforce = 7.0
item_state = "browncane"
w_class = 2.0
@@ -641,7 +641,7 @@
w_class = 3.0
throw_speed = 2
throw_range = 10
- force = 10.0
+ force = 15.0
item_state = "fire_extinguisher"
m_amt = 90
@@ -951,7 +951,7 @@
icon_state = "large"
desc = "Could probably be used as ... a throwing weapon?"
w_class = 1.0
- force = 5.0
+ force = 7.0
throwforce = 15.0
item_state = "shard-glass"
g_amt = 3750
@@ -1078,7 +1078,7 @@
item_state = "cell"
origin_tech = "powerstorage=1"
flags = FPRINT|TABLEPASS
- force = 5.0
+ force = 10.0
throwforce = 5.0
throw_speed = 3
throw_range = 5
diff --git a/code/game/events/Events/Appendicitis.dm b/code/game/events/Events/Appendicitis.dm
index 0294194b4da..22e1b4432e8 100644
--- a/code/game/events/Events/Appendicitis.dm
+++ b/code/game/events/Events/Appendicitis.dm
@@ -6,6 +6,8 @@
var/foundAlready = 0 // don't infect someone that already has the virus
for(var/datum/disease/D in H.viruses)
foundAlready = 1
+ if(/datum/disease/appendicitis in H.resistances)
+ continue
if(H.stat == 2 || foundAlready)
continue
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 1d8733dc184..1dda1b438f6 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -18,7 +18,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
if(M.ear_deaf <= 0 || !M.ear_deaf) if(!istype(M.loc,/turf/space))
M << 'explosionfar.ogg'
if (adminlog)
- message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] (Jump)")
+ message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] (Jump)", admin_ref = 1)
log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ")
tension_master.explosion()
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index dc6c7c0c05a..f254589663c 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -526,7 +526,7 @@ CIRCULAR SAW
M << "\red [user] begins to cauterize the incision in your abdomen with [src]!"
user << "\red You cauterize the incision in [M]'s abdomen with [src]!"
M:appendix_op_stage = 6.0
- for(var/datum/disease/appendicitis in M.viruses)
+ for(var/datum/disease/appendicitis/appendicitis in M.viruses)
appendicitis.cure()
M.resistances += appendicitis
return
diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm
index ab98af38ce4..6b53b44aa78 100644
--- a/code/modules/chemical/Chemistry-Tools.dm
+++ b/code/modules/chemical/Chemistry-Tools.dm
@@ -85,7 +85,7 @@
active = 1
path = 1
- else if(path != 1)
+ if(path != 1)
if(!istype(src.loc,/turf))
user << "\red You need to put the canister on the ground to do that!"
else
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 968a2b7d93b..4efa6b602b1 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -82,27 +82,28 @@ mob/living/carbon/proc/handle_hallucinations()
//Flashes of danger
//src << "Danger Flash"
if(!halimage)
- var/possible_points = list()
+ var/list/possible_points = list()
for(var/turf/simulated/floor/F in view(src,world.view))
possible_points += F
- var/turf/simulated/floor/target = pick(possible_points)
+ if(possible_points.len)
+ var/turf/simulated/floor/target = pick(possible_points)
- switch(rand(1,3))
- if(1)
- //src << "Space"
- halimage = image('space.dmi',target,"[rand(1,25)]",TURF_LAYER)
- if(2)
- //src << "Fire"
- halimage = image('fire.dmi',target,"1",TURF_LAYER)
- if(3)
- //src << "C4"
- halimage = image('syndieweapons.dmi',target,"c4small_1",OBJ_LAYER+0.01)
+ switch(rand(1,3))
+ if(1)
+ //src << "Space"
+ halimage = image('space.dmi',target,"[rand(1,25)]",TURF_LAYER)
+ if(2)
+ //src << "Fire"
+ halimage = image('fire.dmi',target,"1",TURF_LAYER)
+ if(3)
+ //src << "C4"
+ halimage = image('syndieweapons.dmi',target,"c4small_1",OBJ_LAYER+0.01)
- if(client) client.images += halimage
- spawn(rand(10,50)) //Only seen for a brief moment.
- if(client) client.images -= halimage
- halimage = null
+ if(client) client.images += halimage
+ spawn(rand(10,50)) //Only seen for a brief moment.
+ if(client) client.images -= halimage
+ halimage = null
if(41 to 65)
@@ -262,7 +263,7 @@ proc/check_panel(mob/M)
my_target.hallucinations -= src
del(src)
step_away(src,my_target,2)
- processing_objects.Add(src)
+ spawn attack_loop()
proc/updateimage()
@@ -284,34 +285,36 @@ proc/check_panel(mob/M)
my_target << currentimage
- process()
- if(src.health < 0)
- collapse()
- return
- if(get_dist(src,my_target) > 1)
- src.dir = get_dir(src,my_target)
- step_towards(src,my_target)
- updateimage()
- else
- if(prob(15))
- if(weapon_name)
- my_target << sound(pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg'))
- my_target.show_message("\red [my_target] has been attacked with [weapon_name] by [src.name] ", 1)
- my_target.halloss += 8
- if(prob(20)) my_target.eye_blurry += 3
- if(prob(33))
- if(!locate(/obj/effect/overlay) in my_target.loc)
- fake_blood(my_target)
- else
- my_target << sound(pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg'))
- my_target.show_message("\red [src.name] has punched [my_target]!", 1)
- my_target.halloss += 4
- if(prob(33))
- if(!locate(/obj/effect/overlay) in my_target.loc)
- fake_blood(my_target)
+ proc/attack_loop()
+ while(1)
+ sleep(rand(5,10))
+ if(src.health < 0)
+ collapse()
+ continue
+ if(get_dist(src,my_target) > 1)
+ src.dir = get_dir(src,my_target)
+ step_towards(src,my_target)
+ updateimage()
+ else
+ if(prob(15))
+ if(weapon_name)
+ my_target << sound(pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg'))
+ my_target.show_message("\red [my_target] has been attacked with [weapon_name] by [src.name] ", 1)
+ my_target.halloss += 8
+ if(prob(20)) my_target.eye_blurry += 3
+ if(prob(33))
+ if(!locate(/obj/effect/overlay) in my_target.loc)
+ fake_blood(my_target)
+ else
+ my_target << sound(pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg'))
+ my_target.show_message("\red [src.name] has punched [my_target]!", 1)
+ my_target.halloss += 4
+ if(prob(33))
+ if(!locate(/obj/effect/overlay) in my_target.loc)
+ fake_blood(my_target)
- if(prob(15))
- step_away(src,my_target,2)
+ if(prob(15))
+ step_away(src,my_target,2)
proc/collapse()
collapse = 1
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 66c15cd8aeb..8ccef01b7bb 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -173,7 +173,7 @@
halloss = 0
if(hallucination > 0)
- if(hallucinations.len == 0 && hallucination >= 20 && health > 0)
+ if(hallucination >= 20 && health > 0)
if(prob(2)) //Waaay to often.
fake_attack(src)
//for(var/atom/a in hallucinations)
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 52349e64642..ebe73507f73 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -6,6 +6,7 @@
fire_sound = 'Laser.ogg'
w_class = 3.0
m_amt = 2000
+ force = 7
origin_tech = "combat=3;magnets=2"
projectile_type = "/obj/item/projectile/beam"
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 348f32f75a7..29c200bb8a0 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -7,6 +7,7 @@
charge_cost = 100
projectile_type = "/obj/item/projectile/energy/electrode"
cell_type = "/obj/item/weapon/cell/crap"
+ force = 10
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index f4e4e7a3d83..7d0912806d0 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -6,6 +6,7 @@
origin_tech = "combat=2;materials=2"
w_class = 3.0
m_amt = 1000
+ force = 30 //Pistol whipp'n good. (It was frigging SIXTY on pre-goon code)
var
ammo_type = "/obj/item/ammo_casing/a357"