diff --git a/code/defines/turf.dm b/code/defines/turf.dm index 4205e5e938..41b900af5e 100644 --- a/code/defines/turf.dm +++ b/code/defines/turf.dm @@ -164,3 +164,17 @@ if(!LinkBlocked(src, t) && !TurfBlockedNonWindow(t)) L.Add(t) return L + +/turf/simulated/floor/vault + icon_state = "rockvault" + + New(location,type) + ..() + icon_state = "[type]vault" + +/turf/simulated/wall/vault + icon_state = "rockvault" + + New(location,type) + ..() + icon_state = "[type]vault" \ No newline at end of file diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm index 418b7e9869..3c240c0fa9 100644 --- a/code/game/smoothwall.dm +++ b/code/game/smoothwall.dm @@ -3,6 +3,8 @@ //I should really make the shuttle wall check run every time it's moved, but centcom uses unsimulated floors so !effort /atom/proc/relativewall() //atom because it should be useable both for walls and false walls + if(istype(src,/turf/simulated/floor/vault)||istype(src,/turf/simulated/wall/vault)) //HACK!!! + return var/junction = 0 //will be used to determine from which side the wall is connected to other walls diff --git a/code/game/turf.dm b/code/game/turf.dm index 45ea7a4533..477e8a4491 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -1178,3 +1178,28 @@ turf/simulated/floor/proc/update_icon() spawn (0) if ((A && A.loc)) A.loc.Entered(A) + +/obj/vaultspawner + var/maxX = 6 + var/maxY = 6 + var/minX = 2 + var/minY = 2 + +/obj/vaultspawner/New(turf/location as turf,lX = minX,uX = maxX,lY = minY,uY = maxY,var/type = null) + if(!type) + type = pick("sandstone","rock","alien") + + var/lowBoundX = location.x + var/lowBoundY = location.y + + var/hiBoundX = location.x + rand(lX,uX) + var/hiBoundY = location.y + rand(lY,uY) + + var/z = location.z + + for(var/i = lowBoundX,i<=hiBoundX,i++) + for(var/j = lowBoundY,j<=hiBoundY,j++) + if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) + new /turf/simulated/wall/vault(locate(i,j,z),type) + else + new /turf/simulated/floor/vault(locate(i,j,z),type) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index a6e4371da4..e74a5b7583 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -746,7 +746,7 @@ if(client) for(var/image/hud in client.images) - if(hud.icon_state in list("healthdead","healthill","healthy","health-100","health0","health1","health10","health25","health40","health60","health80","health100")) //ugly, but icon comparison is worse, I believe + if(copytext(hud.icon_state,6) == "health") //ugly, but icon comparison is worse, I believe del(hud) if (src.stat == 2 || src.mutations & 4) @@ -802,6 +802,8 @@ client.images += image(tempHud,patient,RoundHealth(patient.health)) if(patient.stat == 2) client.images += image(tempHud,patient,"healthdead") + else if(patient.alien_egg_flag) + client.images += image(tempHud,patient,"healthxeno") else if(patient.virus) client.images += image(tempHud,patient,"healthill") else diff --git a/data/mode.txt b/data/mode.txt index ae791fed36..bd81a61cbf 100644 --- a/data/mode.txt +++ b/data/mode.txt @@ -1 +1 @@ -extended +traitor diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index f2295549db..d8c4e544a5 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 372afa10bb..38f3e5213a 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 17f49f85eb..f0a203b11d 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index bedf6a402d..1dbcf63205 100644 Binary files a/icons/turf/walls.dmi and b/icons/turf/walls.dmi differ