mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
Players have to wait 5 minutes between dying as a mouse and respawning as a mouse. Global variable mouse_respawn_time determines the respawn time in minutes.
Mice can no longer open airlocks. Mice can no longer strip items from humans Mice can no longer put other creatures into disposal units (though they can still climb into disposal units) Message for when mice crawl into vents removed. Mouse nibbling message only displayed to observers half the time.
This commit is contained in:
@@ -263,6 +263,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
set name = "Become mouse"
|
||||
set category = "Ghost"
|
||||
|
||||
if(client.can_spawn_as_mouse == 0)
|
||||
src << "<span class='warning'>You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death.</span>"
|
||||
return
|
||||
|
||||
//find a viable mouse candidate
|
||||
var/mob/living/simple_animal/mouse/host
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/vent_found
|
||||
|
||||
@@ -461,6 +461,7 @@ It can still be worn/put on as normal.
|
||||
*/
|
||||
/obj/effect/equip_e/human/done() //TODO: And rewrite this :< ~Carn
|
||||
target.cpr_time = 1
|
||||
if(ismouse(source)) return //mice cannot strip people
|
||||
if(!source || !target) return //Target or source no longer exist
|
||||
if(source.loc != s_loc) return //source has moved
|
||||
if(target.loc != t_loc) return //target has moved
|
||||
|
||||
@@ -84,9 +84,11 @@
|
||||
if(loc==startloc)
|
||||
var/obj/target_vent = vents[selection_position]
|
||||
if(target_vent)
|
||||
/*
|
||||
for(var/mob/O in oviewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O.show_message(text("<B>[src] scrambles into the ventillation ducts!</B>"), 1)
|
||||
*/
|
||||
loc = target_vent.loc
|
||||
else
|
||||
src << "\blue You need to remain still while entering a vent."
|
||||
@@ -107,15 +109,19 @@
|
||||
if (layer != TURF_LAYER+0.2)
|
||||
layer = TURF_LAYER+0.2
|
||||
src << text("\blue You are now hiding.")
|
||||
/*
|
||||
for(var/mob/O in oviewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("<B>[] scurries to the ground!</B>", src)
|
||||
*/
|
||||
else
|
||||
layer = MOB_LAYER
|
||||
src << text("\blue You have stopped hiding.")
|
||||
/*
|
||||
for(var/mob/O in oviewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
O << text("[] slowly peaks up from the ground...", src)
|
||||
*/
|
||||
|
||||
//make mice fit under tables etc? this was hacky, and not working
|
||||
/*
|
||||
@@ -152,6 +158,17 @@
|
||||
M << 'sound/effects/mousesqueek.ogg'
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/mouse/Die()
|
||||
if(client)
|
||||
client.mouse_respawn_timer()
|
||||
..()
|
||||
|
||||
/client/proc/mouse_respawn_timer()
|
||||
can_spawn_as_mouse = 0
|
||||
spawn(mouse_respawn_time * 600)
|
||||
can_spawn_as_mouse = 1
|
||||
return
|
||||
|
||||
/*
|
||||
* Mouse types
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user