Adjustments following feedback

This commit is contained in:
BlackMajor
2021-01-14 03:36:05 +13:00
parent 82f5c6019a
commit 8673bcad39
10 changed files with 61 additions and 21 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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()
..()

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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