diff --git a/code/game/objects/random/misc_vr.dm b/code/game/objects/random/misc_vr.dm index 1d98d288ee..f16d2385d8 100644 --- a/code/game/objects/random/misc_vr.dm +++ b/code/game/objects/random/misc_vr.dm @@ -342,3 +342,27 @@ prob(3);/obj/item/toy/eight_ball, prob(3);/obj/item/device/perfect_tele/magic ) + +/obj/random/fantasy_item/better + name = "better random fantasy item" + desc = "A random fantasy item." + icon_state = "fantasy2" + spawn_nothing_percentage = 0 + +/obj/random/fantasy_item/better/item_to_spawn() + return pick(prob(10);/obj/item/device/healthanalyzer/scroll, + prob(10);/obj/item/weapon/gun/energy/taser/magic, + prob(10);/obj/item/weapon/bluespace_harpoon/wand, + prob(10);/obj/item/device/slow_sizegun/magic, + prob(10);/obj/item/clothing/gloves/bluespace/magic, + prob(10);/obj/item/weapon/tool/wirecutters/alien/magic, + prob(10);/obj/item/weapon/tool/crowbar/alien/magic, + prob(10);/obj/item/weapon/tool/screwdriver/alien/magic, + prob(10);/obj/item/weapon/weldingtool/alien/magic, + prob(10);/obj/item/weapon/tool/wrench/alien/magic, + prob(10);/obj/item/weapon/surgical/bone_clamp/alien/magic, + prob(10);/obj/item/weapon/material/twohanded/staff, + prob(10);/obj/item/weapon/gun/energy/hooklauncher/ring, + prob(10);/obj/item/device/perfect_tele/magic, + prob(10);/obj/item/weapon/reagent_containers/glass/bottle/potion/truepolymorph + ) diff --git a/code/game/turfs/simulated/dungeon/wall.dm b/code/game/turfs/simulated/dungeon/wall.dm index 2bfc23145e..227ca41979 100644 --- a/code/game/turfs/simulated/dungeon/wall.dm +++ b/code/game/turfs/simulated/dungeon/wall.dm @@ -15,6 +15,23 @@ /turf/simulated/wall/dungeon/take_damage() //These things are suppose to be unbreakable return +/turf/simulated/wall/update_icon() + if(!material) + return + + if(!damage_overlays[1]) //list hasn't been populated + generate_overlays() + + cut_overlays() + var/image/I + + if(!density) + I = image(wall_masks, "rockvault") + I.color = material.icon_colour + add_overlay(I) + return + ..() + /turf/simulated/wall/solidrock //for more stylish anti-cheese. description_info = "Probably not going to be able to drill or bomb your way through this, best to try and find a way around." var/rock_side = "rock_side" diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index 725aefb854..12084f5858 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -210,3 +210,27 @@ var/list/shoreline_icon_cache = list() poisonlevel *= 1 - L.get_water_protection() if(poisonlevel > 0) L.adjustToxLoss(poisonlevel) + +/turf/simulated/floor/water/blood + name = "blood" + desc = "A body of blood. It seems shallow enough to walk through, if needed." + icon = 'icons/turf/outdoors.dmi' + icon_state = "bloodshallow" + water_icon = 'icons/turf/outdoors.dmi' + water_state = "bloodshallow" + under_state = "rock" + reagent_type = "blood" + +/turf/simulated/floor/water/blood/get_edge_icon_state() + return "bloodshallow" + +/turf/simulated/floor/water/blood/Entered(atom/movable/AM, atom/oldloc) + if(istype(AM, /mob/living)) + var/mob/living/L = AM + L.update_water() + if(L.check_submerged() <= 0) + return + if(!istype(oldloc, /turf/simulated/floor/water)) + to_chat(L, "You get drenched in blood from entering \the [src]!") + AM.water_act(5) + ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm index 3d48855a6d..96a760bd28 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm @@ -97,3 +97,20 @@ icon_living = "countessnude" icon_rest = "countessnudeasleep" icon_dead = "countessnude-dead" + +/mob/living/simple_mob/vore/vampire/queen + random_skin = 0 + icon_state = "countessqueen" + icon_living = "countessqueen" + icon_rest = "countessqueenasleep" + icon_dead = "countessqueen-dead" + harm_intent_damage = 10 + melee_damage_lower = 5 + melee_damage_upper = 9 + maxHealth = 350 + health = 350 + vore_pounce_chance = 75 + +/mob/living/simple_mob/vore/vampire/queen/New() + resize(2) + ..() diff --git a/icons/misc/random_spawners.dmi b/icons/misc/random_spawners.dmi index e4b5b25085..9db4770062 100644 Binary files a/icons/misc/random_spawners.dmi and b/icons/misc/random_spawners.dmi differ diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index 4c1ec088ac..6c14f7e1ac 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ diff --git a/icons/obj/keys.dmi b/icons/obj/keys.dmi index cd301f910d..9dcc8e412a 100644 Binary files a/icons/obj/keys.dmi and b/icons/obj/keys.dmi differ diff --git a/icons/turf/outdoors.dmi b/icons/turf/outdoors.dmi index 26c60a3897..5895a29740 100644 Binary files a/icons/turf/outdoors.dmi and b/icons/turf/outdoors.dmi differ diff --git a/icons/turf/outdoors_edge.dmi b/icons/turf/outdoors_edge.dmi index 764336a4f0..98c65a4a0d 100644 Binary files a/icons/turf/outdoors_edge.dmi and b/icons/turf/outdoors_edge.dmi differ diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi index 36d780c69d..2f7b329130 100644 Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ diff --git a/maps/redgate/fantasy.dmm b/maps/redgate/fantasy.dmm index 002c48682e..5547cc4264 100644 --- a/maps/redgate/fantasy.dmm +++ b/maps/redgate/fantasy.dmm @@ -265,6 +265,42 @@ /obj/structure/window/basic/full, /turf/simulated/floor/wood, /area/redgate/fantasy/blacksmith) +"bT" = ( +/obj/structure/table/steel, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/obj/item/weapon/paper{ + info = "This is a request to our staff adventuring out into this place: Please don't bring deadly weapons back to our ships and stations. If you have to, take them straight to security or research if appropriate. Thank you."; + name = "Leave weapons here!" + }, +/turf/simulated/floor/wood/alt/panel, +/area/redgate/fantasy/redgate) "bY" = ( /obj/structure/flora/lily3, /turf/simulated/floor/water, @@ -4273,6 +4309,7 @@ "Aq" = ( /obj/structure/closet/cabinet, /obj/item/weapon/moneybag, +/obj/item/weapon/simple_key/dungeon, /turf/simulated/floor/wood/alt, /area/redgate/fantasy/house) "As" = ( @@ -12862,7 +12899,7 @@ PU PP PP wr -PP +bT Pa PP Xp diff --git a/maps/redgate/fantasy_dungeon.dmm b/maps/redgate/fantasy_dungeon.dmm index ce62bc8765..6659eaa676 100644 --- a/maps/redgate/fantasy_dungeon.dmm +++ b/maps/redgate/fantasy_dungeon.dmm @@ -500,7 +500,7 @@ /turf/simulated/shuttle/floor/alienplating/blue, /area/redgate/fantasy/alienbasement) "lc" = ( -/obj/machinery/telecomms/relay/preset/station, +/obj/structure/prop/transmitter, /turf/simulated/floor/tiled/techfloor/grid, /area/redgate/fantasy/alienbasement) "lp" = ( @@ -571,9 +571,10 @@ /turf/simulated/floor/concrete, /area/redgate/fantasy/crypt) "mu" = ( -/obj/structure/prop/transmitter, -/turf/simulated/floor/tiled/techfloor/grid, -/area/redgate/fantasy/alienbasement) +/obj/structure/table/marble, +/obj/random/fantasy_item/better, +/turf/simulated/floor/wmarble, +/area/redgate/fantasy/dungeon) "mL" = ( /obj/random/coin, /turf/simulated/floor/water/underwater, @@ -775,9 +776,10 @@ /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/caves) "rb" = ( -/obj/item/weapon/miscdisc, -/turf/simulated/mineral/floor/ignore_cavegen/cave, -/area/redgate/fantasy/caves) +/turf/simulated/floor/water/blood{ + outdoors = -1 + }, +/area/redgate/fantasy/dungeon) "rg" = ( /obj/structure/table/woodentable, /obj/structure/reagent_dispensers/beerkeg/wine, @@ -855,6 +857,10 @@ /obj/item/weapon/material/fishing_rod/modern/strong, /turf/simulated/mineral/floor/ignore_cavegen/cave, /area/redgate/fantasy/mines) +"sG" = ( +/mob/living/simple_mob/vore/vampire/queen, +/turf/simulated/floor/bmarble, +/area/redgate/fantasy/dungeon) "sI" = ( /obj/structure/prop/alien/computer/camera, /turf/simulated/shuttle/floor/alienplating/blue, @@ -1280,6 +1286,10 @@ /obj/effect/decal/cleanable/blood, /turf/simulated/floor/wmarble, /area/redgate/fantasy/dungeon) +"Bg" = ( +/obj/structure/simple_door/dungeon/locked, +/turf/simulated/floor/wmarble, +/area/redgate/fantasy/dungeon) "Bh" = ( /obj/machinery/door/airlock/angled_tgmc/secure{ dir = 4 @@ -2361,6 +2371,11 @@ /obj/random/potion_ingredient, /turf/simulated/floor/cult, /area/redgate/fantasy/dungeon) +"Xq" = ( +/obj/structure/table/marble, +/obj/item/weapon/reagent_containers/food/drinks/golden_cup, +/turf/simulated/floor/wmarble, +/area/redgate/fantasy/dungeon) "Xr" = ( /obj/item/weapon/picnic_blankets_carried, /turf/simulated/floor/beach/sand/desert, @@ -5543,7 +5558,7 @@ BW BW Vv dp -mu +np vt nM Oh @@ -9580,8 +9595,8 @@ BW BW ac tV +qY tV -rb tV tV TD @@ -16319,8 +16334,8 @@ kn kn kn kn -yT -yT +cU +cU kn kn kn @@ -21088,12 +21103,12 @@ nD nD Xd xK -bW -bW -bW -BW -BW -BW +kn +kn +kn +kn +kn +kn kn kn kn @@ -21230,16 +21245,15 @@ xK xK xK xK -bW -bW -bW -BW -BW -BW -kn -kn -kn -kn +kn +kn +kn +kn +rb +rb +rb +rb +rb kn kn kn @@ -21247,6 +21261,7 @@ kn kn kn kn +Bg kn kn kn @@ -21366,18 +21381,6 @@ BW BW BW BW -BW -bW -bW -bW -bW -bW -bW -bW -bW -BW -BW -BW kn kn kn @@ -21388,6 +21391,11 @@ kn kn kn kn +rb +cK +cK +cK +rb kn kn kn @@ -21395,6 +21403,13 @@ kn kn kn kn +cK +kn +kn +kn +kn +kn +kn kn kn kn @@ -21508,18 +21523,6 @@ BW BW BW BW -BW -bW -bW -bW -bW -bW -bW -bW -bW -BW -BW -BW kn kn kn @@ -21530,6 +21533,11 @@ kn kn kn kn +mu +cK +MO +cK +cK kn kn kn @@ -21537,6 +21545,13 @@ kn kn kn kn +cK +kn +kn +kn +kn +kn +kn kn kn kn @@ -21650,19 +21665,6 @@ BW BW BW BW -BW -bW -bW -bW -bW -bW -bW -bW -bW -BW -BW -BW -kn kn kn kn @@ -21673,6 +21675,19 @@ kn kn kn kn +Xq +MO +sG +MO +cK +cK +cK +cK +cK +cK +cK +cK +cK kn kn kn @@ -21792,32 +21807,32 @@ BW BW BW BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +mu +cK +MO +cK +cK +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn BW BW BW @@ -21934,32 +21949,32 @@ BW BW BW BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +rb +cK +cK +cK +rb +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn BW BW BW @@ -22076,32 +22091,32 @@ BW BW BW BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +rb +rb +rb +rb +rb +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn BW BW BW @@ -22218,23 +22233,23 @@ BW BW BW BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW -BW +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn +kn BW BW BW diff --git a/maps/redgate/fantasy_items.dm b/maps/redgate/fantasy_items.dm index 597b163b6d..69c82e2a1d 100644 --- a/maps/redgate/fantasy_items.dm +++ b/maps/redgate/fantasy_items.dm @@ -536,3 +536,19 @@ This device records all warnings given and teleport events for admin review in c icon = 'icons/obj/gun_vr.dmi' icon_state = "sizegun-magic-0" base_icon_state = "sizegun-magic" + +//locked door + +/obj/structure/simple_door/dungeon/Initialize(mapload,var/material_name) + ..(mapload, material_name || "cult") + +/obj/structure/simple_door/dungeon/locked + locked = TRUE + breakable = FALSE + lock_id = "dungeon" + +/obj/item/weapon/simple_key/dungeon + name = "old key" + desc = "A plain, old-timey key, as one might use to unlock a door." + icon_state = "dungeon" + key_id = "dungeon"