mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Adjustments following feedback
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#define MAP_LEVEL_EMPTY 0x020 // Empty Z-levels that may be used for various things (currently used by bluespace jump)
|
||||
#define MAP_LEVEL_CONSOLES 0x040 // Z-levels available to various consoles, such as the crew monitor (when that gets coded in). Defaults to station_levels if unset.
|
||||
#define MAP_LEVEL_XENOARCH_EXEMPT 0x080 // Z-levels exempt from xenoarch digsite generation.
|
||||
#define MAP_LEVEL_VORESPAWN 0x100 // Z-levels players are allowed to late join to via vorish means. Usually non-dangerous locations.
|
||||
|
||||
// Misc map defines.
|
||||
#define SUBMAP_MAP_EDGE_PAD 8 // Automatically created submaps are forbidden from being this close to the main map's edge. //VOREStation Edit
|
||||
@@ -663,11 +663,11 @@ var/global/datum/controller/occupations/job_master
|
||||
if(!isliving(V.mob))
|
||||
continue
|
||||
var/mob/living/M = V.mob
|
||||
if(M.stat == UNCONSCIOUS || M.stat == DEAD)
|
||||
if(M.stat == UNCONSCIOUS || M.stat == DEAD || M.client.is_afk(10 MINUTE))
|
||||
continue
|
||||
if(!M.latejoin_vore)
|
||||
continue
|
||||
if(!(M.z in using_map.station_levels))
|
||||
if(!(M.z in using_map.vorespawn_levels))
|
||||
continue
|
||||
preds += M
|
||||
pred_names += M.real_name //very cringe
|
||||
@@ -678,9 +678,18 @@ var/global/datum/controller/occupations/job_master
|
||||
return
|
||||
var/index = pred_names.Find(pred_name)
|
||||
var/mob/living/pred = preds[index]
|
||||
vore_spawn_gut = input(C, "Choose a Belly.", "Belly Spawnpoint") as null|anything in pred.vore_organs
|
||||
var/list/available_bellies = list()
|
||||
for(var/obj/belly/Y in pred.vore_organs)
|
||||
if(Y.vorespawn_blacklist)
|
||||
continue
|
||||
available_bellies += Y
|
||||
var/backup = alert(C, "Do you want a mind backup?", "Confirm", "Yes", "No")
|
||||
if(backup == "Yes")
|
||||
backup = 1
|
||||
vore_spawn_gut = input(C, "Choose a Belly.", "Belly Spawnpoint") as null|anything in available_bellies
|
||||
if(!vore_spawn_gut)
|
||||
return
|
||||
to_chat(C, "<span class='warning'>[pred] has received your spawn request. Please wait.</span>")
|
||||
log_admin("[key_name(C)] has requested to vore spawn into [key_name(pred)]")
|
||||
message_admins("[key_name(C)] has requested to vore spawn into [key_name(pred)]")
|
||||
|
||||
@@ -688,16 +697,23 @@ var/global/datum/controller/occupations/job_master
|
||||
if(confirm != "Yes")
|
||||
to_chat(C, "<span class='warning'>[pred] has declined your spawn request.</span>")
|
||||
return
|
||||
if(!vore_spawn_gut || QDELETED(vore_spawn_gut))
|
||||
to_chat(C, "<span class='warning'>Somehow, the belly you were trying to enter no longer exists.</span>")
|
||||
return
|
||||
if(pred.stat == UNCONSCIOUS || pred.stat == DEAD)
|
||||
to_chat(C, "<span class='warning'>[pred] is not conscious.</span>")
|
||||
to_chat(pred, "<span class='warning'>You must be conscious to accept.</span>")
|
||||
return
|
||||
if(!(pred.z in using_map.station_levels))
|
||||
to_chat(C, "<span class='warning'>[pred] is no longer on station.</span>")
|
||||
to_chat(pred, "<span class='warning'>You must be on the station to accept.</span>")
|
||||
if(!(pred.z in using_map.vorespawn_levels))
|
||||
to_chat(C, "<span class='warning'>[pred] is no longer in station grounds.</span>")
|
||||
to_chat(pred, "<span class='warning'>You must be within station grounds to accept.</span>")
|
||||
return
|
||||
if(backup)
|
||||
addtimer(CALLBACK(src, .proc/m_backup_client, C), 5 SECONDS)
|
||||
log_admin("[key_name(C)] has vore spawned into [key_name(pred)]")
|
||||
message_admins("[key_name(C)] has vore spawned into [key_name(pred)]")
|
||||
to_chat(C, "<span class='notice'>You have been spawned via vore. You are free to roleplay how you got there as you please, such as teleportation or having had already been there.</span>")
|
||||
to_chat(pred, "<span class='notice'>Your prey has spawned via vore. You are free to roleplay this how you please, such as teleportation or having had already been there.</span>")
|
||||
else
|
||||
to_chat(C, "<span class='warning'>No predators were available to accept you.</span>")
|
||||
return
|
||||
@@ -734,3 +750,9 @@ var/global/datum/controller/occupations/job_master
|
||||
var/spawning = pick(latejoin)
|
||||
.["turf"] = get_turf(spawning)
|
||||
.["msg"] = "has arrived on the station"
|
||||
|
||||
/datum/controller/occupations/proc/m_backup_client(var/client/C) //Same as m_backup, but takes a client entry. Used for vore late joining.
|
||||
if(!ishuman(C.mob))
|
||||
return
|
||||
var/mob/living/carbon/human/CM = C.mob
|
||||
SStranscore.m_backup(CM.mind, CM.nif)
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
/datum/spawnpoint/vore
|
||||
display_name = "Vore Belly"
|
||||
msg = "has arrived to the station via unknown means"
|
||||
msg = "has arrived on the station."
|
||||
|
||||
/datum/spawnpoint/vore/New()
|
||||
..()
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
var/liquid_fullness3_messages = FALSE
|
||||
var/liquid_fullness4_messages = FALSE
|
||||
var/liquid_fullness5_messages = FALSE
|
||||
var/vorespawn_blacklist = FALSE
|
||||
|
||||
var/list/fullness1_messages = list(
|
||||
"%pred's %belly looks empty"
|
||||
|
||||
@@ -185,7 +185,8 @@
|
||||
"fullness2_messages",
|
||||
"fullness3_messages",
|
||||
"fullness4_messages",
|
||||
"fullness5_messages" //CHOMP end of variables from CHOMP
|
||||
"fullness5_messages",
|
||||
"vorespawn_blacklist" //CHOMP end of variables from CHOMP
|
||||
)
|
||||
|
||||
/*These have been pulled from the above list as these were chomp edits for liquid belly stuff. This needs to be ported back in for TGUI port
|
||||
@@ -794,7 +795,8 @@
|
||||
dupe.gen_time = gen_time
|
||||
dupe.gen_time_display = gen_time_display
|
||||
dupe.reagent_transfer_verb = reagent_transfer_verb
|
||||
dupe.custom_max_volume = custom_max_volume //CHOMP end of variables from CHOMP
|
||||
dupe.custom_max_volume = custom_max_volume
|
||||
dupe.vorespawn_blacklist = vorespawn_blacklist //CHOMP end of variables from CHOMP
|
||||
|
||||
dupe.belly_fullscreen = belly_fullscreen
|
||||
dupe.disable_hud = disable_hud
|
||||
|
||||
@@ -157,6 +157,7 @@
|
||||
"shrink_grow_size" = selected.shrink_grow_size,
|
||||
"belly_fullscreen" = selected.belly_fullscreen,
|
||||
"possible_fullscreens" = icon_states('icons/mob/screen_full_vore.dmi'),
|
||||
"vorespawn_blacklist" = selected.vorespawn_blacklist
|
||||
)
|
||||
|
||||
data["selected"]["addons"] = list()
|
||||
@@ -922,6 +923,9 @@
|
||||
qdel(host.vore_selected)
|
||||
host.vore_selected = host.vore_organs[1]
|
||||
. = TRUE
|
||||
if("b_vorespawn_blacklist")
|
||||
host.vore_selected.vorespawn_blacklist = !host.vore_selected.vorespawn_blacklist
|
||||
. = TRUE
|
||||
|
||||
if(.)
|
||||
unsaved_changes = TRUE
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
#define SOUTHERN_CROSS_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*SOUTHERN_CROSS_MAP_SIZE)) / 2) // 60
|
||||
|
||||
/datum/map_z_level/southern_cross/station
|
||||
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES
|
||||
flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_CONSOLES|MAP_LEVEL_VORESPAWN
|
||||
holomap_legend_x = 220
|
||||
holomap_legend_y = 160
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
/datum/map_z_level/southern_cross/surface
|
||||
z = Z_LEVEL_SURFACE
|
||||
name = "Plains"
|
||||
flags = MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED|MAP_LEVEL_CONSOLES
|
||||
flags = MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED|MAP_LEVEL_CONSOLES|MAP_LEVEL_VORESPAWN
|
||||
base_turf = /turf/simulated/floor/outdoors/rocks
|
||||
|
||||
/datum/map_z_level/southern_cross/surface_mine
|
||||
@@ -228,13 +228,13 @@
|
||||
/datum/map_z_level/southern_cross/surface_casino
|
||||
z = Z_LEVEL_SURFACE_CASINO
|
||||
name = "Casino"
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED|MAP_LEVEL_CONTACT|MAP_LEVEL_CONSOLES|MAP_LEVEL_VORESPAWN
|
||||
base_turf = /turf/simulated/floor/outdoors/rocks
|
||||
|
||||
/datum/map_z_level/southern_cross/misc
|
||||
z = Z_LEVEL_MISC
|
||||
name = "Misc"
|
||||
flags = MAP_LEVEL_PLAYER
|
||||
flags = MAP_LEVEL_PLAYER|MAP_LEVEL_VORESPAWN
|
||||
transit_chance = 6
|
||||
|
||||
/datum/map_z_level/southern_cross/centcom
|
||||
|
||||
@@ -34,6 +34,7 @@ var/list/all_maps = list()
|
||||
var/static/list/sealed_levels = list() // Z-levels that don't allow random transit at edge
|
||||
var/static/list/xenoarch_exempt_levels = list() //Z-levels exempt from xenoarch finds and digsites spawning.
|
||||
var/static/list/empty_levels = null // Empty Z-levels that may be used for various things (currently used by bluespace jump)
|
||||
var/static/list/vorespawn_levels = list() //Z-levels where players are allowed to vore latejoin to.
|
||||
// End Static Lists
|
||||
|
||||
// Z-levels available to various consoles, such as the crew monitor. Defaults to station_levels if unset.
|
||||
@@ -297,6 +298,7 @@ var/list/all_maps = list()
|
||||
if(flags & MAP_LEVEL_PLAYER) map.player_levels += z
|
||||
if(flags & MAP_LEVEL_SEALED) map.sealed_levels += z
|
||||
if(flags & MAP_LEVEL_XENOARCH_EXEMPT) map.xenoarch_exempt_levels += z
|
||||
if(flags & MAP_LEVEL_VORESPAWN) map.vorespawn_levels += z
|
||||
if(flags & MAP_LEVEL_EMPTY)
|
||||
if(!map.empty_levels) map.empty_levels = list()
|
||||
map.empty_levels += z
|
||||
|
||||
@@ -273,6 +273,7 @@ const VoreSelectedBelly = (props, context) => {
|
||||
liq_msg3,
|
||||
liq_msg4,
|
||||
liq_msg5,
|
||||
vorespawn_blacklist,
|
||||
} = belly;
|
||||
|
||||
const [tabIndex, setTabIndex] = useLocalState(context, 'tabIndex', 0);
|
||||
@@ -474,6 +475,13 @@ const VoreSelectedBelly = (props, context) => {
|
||||
onClick={() => act("set_attribute", { attribute: "b_grow_shrink" })}
|
||||
content={shrink_grow_size * 100 + "%"} />
|
||||
</LabeledList.Item>
|
||||
<LabeledList.Item label="Vore Spawn Blacklist">
|
||||
<Button
|
||||
onClick={() => act("set_attribute", { attribute: "b_vorespawn_blacklist" })}
|
||||
icon={vorespawn_blacklist ? "toggle-on" : "toggle-off"}
|
||||
selected={vorespawn_blacklist}
|
||||
content={vorespawn_blacklist ? "Yes" : "No"} />
|
||||
</LabeledList.Item>
|
||||
</LabeledList>
|
||||
</Flex.Item>
|
||||
<Flex.Item basis="100%" mt={1}>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user