mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
ABS and sleepers reject non-human mobs (#4433)
* ABS and sleepers reject non-human mobs * No more slime procreation
This commit is contained in:
@@ -247,7 +247,7 @@
|
|||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
|
|
||||||
/obj/machinery/sleeper/MouseDrop_T(var/mob/target, var/mob/user)
|
/obj/machinery/sleeper/MouseDrop_T(var/mob/target, var/mob/user)
|
||||||
if(user.stat || user.lying || !Adjacent(user) || !target.Adjacent(user)|| !ishuman(target))
|
if(user.stat || user.lying || !Adjacent(user) || !target.Adjacent(user) || !ishuman(target))
|
||||||
return
|
return
|
||||||
go_in(target, user)
|
go_in(target, user)
|
||||||
|
|
||||||
@@ -281,7 +281,9 @@
|
|||||||
if(occupant)
|
if(occupant)
|
||||||
to_chat(user, "<span class='warning'>\The [src] is already occupied.</span>")
|
to_chat(user, "<span class='warning'>\The [src] is already occupied.</span>")
|
||||||
return
|
return
|
||||||
|
if(!ishuman(M))
|
||||||
|
to_chat(user, "<span class='warning'>\The [src] is not designed for that organism!</span>")
|
||||||
|
return
|
||||||
if(M == user)
|
if(M == user)
|
||||||
visible_message("\The [user] starts climbing into \the [src].")
|
visible_message("\The [user] starts climbing into \the [src].")
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -39,20 +39,23 @@
|
|||||||
else if(istype(G, /obj/item/weapon/grab))
|
else if(istype(G, /obj/item/weapon/grab))
|
||||||
var/obj/item/weapon/grab/H = G
|
var/obj/item/weapon/grab/H = G
|
||||||
if(panel_open)
|
if(panel_open)
|
||||||
user << "<span class='notice'>Close the maintenance panel first.</span>"
|
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
|
||||||
return
|
return
|
||||||
if(!ismob(H.affecting))
|
if(!ismob(H.affecting))
|
||||||
return
|
return
|
||||||
|
if(!ishuman(H.affecting))
|
||||||
|
to_chat(user, "<span class='warning'>\The [src] is not designed for that organism!</span>")
|
||||||
|
return
|
||||||
if(occupant)
|
if(occupant)
|
||||||
user << "<span class='notice'>The scanner is already occupied!</span>"
|
to_chat(user, "<span class='notice'>\The [src] is already occupied!</span>")
|
||||||
return
|
return
|
||||||
for(var/mob/living/simple_animal/slime/M in range(1, H.affecting))
|
for(var/mob/living/simple_animal/slime/M in range(1, H.affecting))
|
||||||
if(M.victim == H.affecting)
|
if(M.victim == H.affecting)
|
||||||
user << "<span class='danger'>[H.affecting.name] has a fucking slime attached to them, deal with that first.</span>"
|
to_chat(user, "<span class='danger'>[H.affecting.name] has a slime attached to them, deal with that first.</span>")
|
||||||
return
|
return
|
||||||
var/mob/M = H.affecting
|
var/mob/M = H.affecting
|
||||||
if(M.abiotic())
|
if(M.abiotic())
|
||||||
user << "<span class='notice'>Subject cannot have abiotic items on.</span>"
|
to_chat(user, "<span class='notice'>Subject cannot have abiotic items on.</span>")
|
||||||
return
|
return
|
||||||
M.forceMove(src)
|
M.forceMove(src)
|
||||||
occupant = M
|
occupant = M
|
||||||
@@ -72,20 +75,20 @@
|
|||||||
if(!ishuman(user) && !isrobot(user))
|
if(!ishuman(user) && !isrobot(user))
|
||||||
return 0 //not a borg or human
|
return 0 //not a borg or human
|
||||||
if(panel_open)
|
if(panel_open)
|
||||||
user << "<span class='notice'>Close the maintenance panel first.</span>"
|
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
|
||||||
return 0 //panel open
|
return 0 //panel open
|
||||||
if(occupant)
|
if(occupant)
|
||||||
user << "<span class='notice'>\The [src] is already occupied.</span>"
|
to_chat(user, "<span class='notice'>\The [src] is already occupied.</span>")
|
||||||
return 0 //occupied
|
return 0 //occupied
|
||||||
|
|
||||||
if(O.buckled)
|
if(O.buckled)
|
||||||
return 0
|
return 0
|
||||||
if(O.abiotic())
|
if(O.abiotic())
|
||||||
user << "<span class='notice'>Subject cannot have abiotic items on.</span>"
|
to_chat(user, "<span class='notice'>Subject cannot have abiotic items on.</span>")
|
||||||
return 0
|
return 0
|
||||||
for(var/mob/living/simple_animal/slime/M in range(1, O))
|
for(var/mob/living/simple_animal/slime/M in range(1, O))
|
||||||
if(M.victim == O)
|
if(M.victim == O)
|
||||||
user << "<span class='danger'>[O] has a fucking slime attached to them, deal with that first.</span>"
|
to_chat(user, "<span class='danger'>[O] has a slime attached to them, deal with that first.</span>")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if(O == user)
|
if(O == user)
|
||||||
@@ -185,9 +188,9 @@
|
|||||||
var/obj/machinery/bodyscanner/C = P.connectable
|
var/obj/machinery/bodyscanner/C = P.connectable
|
||||||
scanner = C
|
scanner = C
|
||||||
C.console = src
|
C.console = src
|
||||||
user << "<span class='warning'> You link the [src] to the [P.connectable]!</span>"
|
to_chat(user, "<span class='warning'> You link the [src] to the [P.connectable]!</span>")
|
||||||
else
|
else
|
||||||
user << "<span class='warning'> You store the [src] in the [P]'s buffer!</span>"
|
to_chat(user, "<span class='warning'> You store the [src] in the [P]'s buffer!</span>")
|
||||||
P.connectable = src
|
P.connectable = src
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
@@ -240,7 +243,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if (scanner.panel_open)
|
if (scanner.panel_open)
|
||||||
user << "<span class='notice'>Close the maintenance panel first.</span>"
|
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
if(!scanner)
|
if(!scanner)
|
||||||
@@ -250,7 +253,7 @@
|
|||||||
else if(scanner)
|
else if(scanner)
|
||||||
return ui_interact(user)
|
return ui_interact(user)
|
||||||
else
|
else
|
||||||
user << "<span class='warning'>Scanner not found!</span>"
|
to_chat(user, "<span class='warning'>Scanner not found!</span>")
|
||||||
|
|
||||||
/obj/machinery/body_scanconsole/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
/obj/machinery/body_scanconsole/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||||
var/data[0]
|
var/data[0]
|
||||||
@@ -584,4 +587,4 @@
|
|||||||
else
|
else
|
||||||
dat = "<font color='red'> Error: No Body Scanner connected.</font>"
|
dat = "<font color='red'> Error: No Body Scanner connected.</font>"
|
||||||
|
|
||||||
printing_text = dat
|
printing_text = dat
|
||||||
|
|||||||
Reference in New Issue
Block a user