diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 8d5e216f9e..daff5e51ad 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -17987,6 +17987,11 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Ui" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador/tecnicos, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Uj" = ( /obj/machinery/door/airlock/centcom{ name = "Restroom"; @@ -18229,6 +18234,11 @@ /obj/structure/window/reinforced/tinted, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) +"Vk" = ( +/obj/structure/table, +/obj/item/storage/belt/champion/wrestling/holodeck, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Vt" = ( /obj/item/paper/fluff/stations/centcom/disk_memo, /obj/structure/noticeboard{ @@ -18393,6 +18403,11 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Wx" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Wz" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/med/surgery, @@ -18766,6 +18781,11 @@ }, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) +"Yv" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador/rudos, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Yw" = ( /turf/closed/indestructible/fakedoor{ name = "External Access" @@ -18775,6 +18795,9 @@ /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium, /area/centcom/evac) +"YC" = ( +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "YJ" = ( /obj/item/reagent_containers/food/condiment/enzyme, /obj/item/reagent_containers/food/drinks/shaker, @@ -18847,6 +18870,14 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) +"Zl" = ( +/obj/structure/table, +/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/yellow, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Zr" = ( /obj/machinery/light, /turf/open/floor/plasteel/dark, @@ -71980,18 +72011,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ab +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +ab aa aa aa @@ -72237,18 +72268,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bj +YC +YC +YC +YC +YC +YC +YC +YC +YC +YC +fx aa aa aa @@ -72494,18 +72525,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bj +Vk +YC +YC +YC +YC +YC +YC +YC +YC +Vk +fx aa aa aa @@ -72751,18 +72782,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bj +Vk +YC +YC +YC +YC +YC +YC +YC +YC +Vk +fx aa aa aa @@ -73008,18 +73039,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bj +Vk +YC +YC +YC +YC +YC +YC +YC +YC +Vk +fx aa aa aa @@ -73265,18 +73296,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bj +YC +YC +Wx +YC +Yv +Ui +YC +Zl +YC +YC +fx aa aa aa @@ -73523,16 +73554,16 @@ ae ae ae ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag ab aa aa diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 6ed2245dfd..349efdd342 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -18,6 +18,8 @@ var/datum/action/drop/drop = new/datum/action/drop() /datum/martial_art/wrestling/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(!can_use(A, D)) + return 0 switch(streak) if("drop") streak = "" @@ -448,6 +450,8 @@ /datum/martial_art/wrestling/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(check_streak(A,D)) return 1 + if(!can_use(A,D)) + return ..() if(A.pulling == D || A == D) // don't stun grab yoursel return FALSE A.start_pulling(D) @@ -476,3 +480,19 @@ if(H.get_item_by_slot(SLOT_BELT) == src) style.remove(H) return + +//Subtype of wrestling, reserved for the wrestling belts found in the holodeck +/datum/martial_art/wrestling/holodeck + name = "Holodeck Wrestling" + +/obj/item/storage/belt/champion/wrestling/holodeck + name = "Holodeck Wrestling Belt" + style = new /datum/martial_art/wrestling/holodeck + +//Make sure that moves can only be used on people wearing the holodeck belt +/datum/martial_art/wrestling/holodeck/can_use(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) + if(!(istype(D.mind?.martial_art, /datum/martial_art/wrestling/holodeck))) + return 0 + else + return ..() + diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm index 10e3249d64..d32091f98b 100644 --- a/code/game/area/areas/holodeck.dm +++ b/code/game/area/areas/holodeck.dm @@ -99,6 +99,9 @@ /area/holodeck/rec_center/winterwonderland name = "Holodeck - Winter Wonderland" +/area/holodeck/rec_center/wrestlingarena + name = "Holodeck - Wrestling Arena" + // Bad programs /area/holodeck/rec_center/burn