Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 27 additions & 13 deletions maps/randomvaults/spessmart.dm
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ var/list/clothing_prices = list() //gets filled on initialize()
spawn()
S.close()

for(var/mob/living/simple_animal/hostile/spessmart_guardian/C in all_contents)
for(var/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/C in all_contents)
C.Retaliate()

src.firealert()
Expand Down Expand Up @@ -555,6 +555,7 @@ var/list/clothing_prices = list() //gets filled on initialize()

icon = 'icons/mob/robots.dmi'
icon_state = "booty-red"
faction = "spessmart"

var/spawn_sample_on_creation = 1
var/obj/item/weapon/reagent_containers/food/snacks/food_type = /obj/item/weapon/reagent_containers/food/snacks/faggot //Type of the food
Expand Down Expand Up @@ -633,14 +634,14 @@ var/list/clothing_prices = list() //gets filled on initialize()

return 1

/mob/living/simple_animal/hostile/spessmart_guardian
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian
name = "Spessmart MERC-Bot"
desc = "Equipped with a ballistic weapon and a melee range shocker that is powerful enough to knock out a mega goliath through three layers of protection, this EMP-proof bot is not to be messed around with."

icon = 'icons/mob/robots.dmi'
icon_state = "securitron"

timestopped = 1
wander = 0
anchored = 1
canmove = 0

Expand Down Expand Up @@ -677,32 +678,42 @@ var/list/clothing_prices = list() //gets filled on initialize()

var/alert_on_movement = 1 //If moved, trigger an alert and become agressive

/mob/living/simple_animal/hostile/spessmart_guardian/New()
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/New()
..()

overlays.Add(image('icons/mob/robots.dmi', icon_state = "eyes-securitron"))

/mob/living/simple_animal/hostile/spessmart_guardian/Life()
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/Life()
EscapeConfinement()
..()

/mob/living/simple_animal/hostile/spessmart_guardian/death(var/gibbed = FALSE)
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/death(var/gibbed = FALSE)
..(TRUE)
robogibs(get_turf(src))
qdel(src)

/mob/living/simple_animal/hostile/spessmart_guardian/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0)
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/update_canmove()
if(hostile || client)
canmove = 1
anchored = 0
else
canmove = 0
anchored = 1
return canmove

/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0)
if(alert_on_movement && !canmove)
Retaliate()

..()

/mob/living/simple_animal/hostile/spessmart_guardian/proc/Retaliate()
if(timestopped)
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/Retaliate()
if(!hostile)
spawn(5)
wander = 1
canmove = 1
anchored = 0
timestopped = 0
hostile = 1

visible_message("<span class='userdanger'>\The [src] activates.</span>")

Expand All @@ -711,16 +722,16 @@ var/list/clothing_prices = list() //gets filled on initialize()
var/phrase = pick("Spessmart law was broken. The punishment is death.", "Spessmart law is above everything. Prepare to die.", "Spessmart law is sacred. Die, heretic.", "Threat to Spessmart detected. Extermination protocol started.")
say(phrase)

/mob/living/simple_animal/hostile/spessmart_guardian/secure_area/attack_hand(mob/user)
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/secure_area/attack_hand(mob/user)
if(user.a_intent == I_HELP)
say("[user.gender == FEMALE ? "Miss" : "Sir"], only Spessmart employees with level 5 access may access this area. If you are a Spessmart employee, please show me your ID card.")
else
return ..()

/mob/living/simple_animal/hostile/spessmart_guardian/recharging
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/recharging
var/introduced = FALSE

/mob/living/simple_animal/hostile/spessmart_guardian/recharging/Aggro()
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/recharging/Aggro()
if(!introduced)
say("The tank was labeled and scanned as drinking water, not welding fuel. It was not my fault that it was fed to the human. It is nonsense that you're punishing me instead of... Wait. You are not EPSILON. Unknown intruder detected. Extermination protocol started.")
introduced = TRUE
Expand Down Expand Up @@ -777,6 +788,9 @@ var/list/clothing_prices = list() //gets filled on initialize()
clothing -= clothing_type
if (!clothing_prices.len)
for(var/C in clothing)
var/obj/item/clothing/CL = C
if(!initial(CL.canremove)) // no cursed unremovable stuff
continue
clothing_prices[C] = 150
to_spawn = clothing_prices
return ..()
Expand Down
20 changes: 10 additions & 10 deletions maps/randomvaults/spessmart.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
/turf/simulated/floor,
/area/vault/supermarket/shop)
"aw" = (
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
icon_state = "dark"
},
Expand Down Expand Up @@ -306,7 +306,7 @@
/turf/simulated/floor/grass,
/area/vault/supermarket/shop)
"aM" = (
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor,
/area/vault/supermarket/shop)
"aN" = (
Expand All @@ -319,7 +319,7 @@
icon_state = "warning";
tag = "icon-warning (WEST)"
},
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
icon_state = "dark"
},
Expand Down Expand Up @@ -383,7 +383,7 @@
icon_state = "warning";
tag = "icon-warning (WEST)"
},
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
dir = 6;
icon_state = "dark"
Expand Down Expand Up @@ -715,7 +715,7 @@
icon_state = "warning";
tag = "icon-warning (SOUTHWEST)"
},
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
dir = 6;
icon_state = "dark"
Expand Down Expand Up @@ -988,7 +988,7 @@
dir = 4;
icon_state = "pipe-c"
},
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
icon_state = "dark"
},
Expand Down Expand Up @@ -1016,7 +1016,7 @@
/area/vault/supermarket/restricted)
"cp" = (
/obj/machinery/recharge_station,
/mob/living/simple_animal/hostile/spessmart_guardian/recharging,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/recharging,
/turf/simulated/floor/plating/airless,
/area/vault/supermarket/restricted)
"cq" = (
Expand Down Expand Up @@ -1579,15 +1579,15 @@
/turf/simulated/floor/plating/airless,
/area/vault/supermarket/restricted)
"dC" = (
/mob/living/simple_animal/hostile/spessmart_guardian/secure_area,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian/secure_area,
/turf/simulated/floor,
/area/vault/supermarket/restricted)
"dD" = (
/obj/structure/flora/pottedplant/random,
/turf/simulated/floor,
/area/vault/supermarket/entrance)
"dE" = (
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor,
/area/vault/supermarket/entrance)
"dF" = (
Expand Down Expand Up @@ -1984,7 +1984,7 @@
},
/area/vault/supermarket/entrance)
"eF" = (
/mob/living/simple_animal/hostile/spessmart_guardian,
/mob/living/simple_animal/hostile/retaliate/spessmart_guardian,
/turf/simulated/floor{
icon_state = "bar"
},
Expand Down
Loading