diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index ce0102d344..eee99d5d76 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -171,13 +171,13 @@
return
switch(construct_class)
if("Juggernaut")
- makeNewConstruct(/mob/living/simple_animal/hostile/construct/armored, A, user)
+ makeNewConstruct(/mob/living/simple_animal/hostile/construct/armored, A, user, 0, T.loc)
if("Wraith")
- makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, A, user)
+ makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, A, user, 0, T.loc)
if("Artificer")
- makeNewConstruct(/mob/living/simple_animal/hostile/construct/builder, A, user)
+ makeNewConstruct(/mob/living/simple_animal/hostile/construct/builder, A, user, 0, T.loc)
qdel(T)
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index 5ce368910c..d1c80d8bfa 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -21,10 +21,11 @@
healable = 0
faction = list("cult")
flying = 1
+ pressure_resistance = 200
unique_name = 1
AIStatus = AI_OFF //normal constructs don't have AI
var/list/construct_spells = list()
- var/playstyle_string = "You are a generic construct! Your job is to not exist."
+ var/playstyle_string = "You are a generic construct! Your job is to not exist, and you should probably adminhelp this."
/mob/living/simple_animal/hostile/construct/New()
@@ -60,10 +61,10 @@
if(src != M)
Beam(M,icon_state="sendbeam",icon='icons/effects/effects.dmi',time=4)
M.visible_message("[M] repairs some of \the [src]'s dents.", \
- "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")
+ "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")
else
M.visible_message("[M] repairs some of its own dents.", \
- "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.")
+ "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.")
else
if(src != M)
M << "You cannot repair [src]'s dents, as it has none!"
@@ -89,7 +90,7 @@
icon_living = "behemoth"
maxHealth = 250
health = 250
- response_harm = "harmlessly punches"
+ response_harm = "harmlessly punches"
harm_intent_damage = 0
melee_damage_lower = 30
melee_damage_upper = 30
@@ -243,11 +244,14 @@
melee_damage_upper = 5
retreat_distance = 2 //AI harvesters will move in and out of combat, like wraiths, but shittier
attacktext = "prods"
+ environment_smash = 3
attack_sound = 'sound/weapons/tap.ogg'
- construct_spells = list(/obj/effect/proc_holder/spell/targeted/smoke/disable)
+ construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall,
+ /obj/effect/proc_holder/spell/aoe_turf/conjure/floor.
+ /obj/effect/proc_holder/spell/targeted/smoke/disable)
playstyle_string = "You are a Harvester. You are not strong, but your powers of domination will assist you in your role: \
Bring those who still cling to this world of illusion back to the Geometer so they may know Truth."
/mob/living/simple_animal/hostile/construct/harvester/hostile //actually hostile, will move around, hit things
AIStatus = AI_ON
-
+ environment_smash = 1 //only token destruction, don't smash the cult wall NO STOP
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index f4b2e6d404..31ae1247d0 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -182,7 +182,7 @@
/mob/living/simple_animal/hostile/adjustBruteLoss(damage)
..(damage)
- if(damage > 0 && !ckey && !stat && search_objects < 3)//Not unconscious, and we don't ignore mobs
+ if(!ckey && !stat && search_objects < 3 && damage > 0)//Not unconscious, and we don't ignore mobs
if(search_objects)//Turn off item searching and ignore whatever item we were looking at, we're more concerned with fight or flight
search_objects = 0
target = null