From 289e7e920fe5e22e6d41ae9cfc052837523ce6b6 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Wed, 11 May 2016 20:54:57 -0400 Subject: [PATCH 1/4] Eating Beacons --- code/modules/vore/eating/living_vr.dm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 91fe2ff02e..cf38eb1918 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -65,7 +65,8 @@ //Things we can eat with vore code var/list/vore_items = list( /obj/item/weapon/grab, - /obj/item/weapon/holder/micro) + /obj/item/weapon/holder/micro, + /obj/item/device/radio/beacon) if(!(I.type in vore_items)) return 0 @@ -119,6 +120,20 @@ return 1 //Return 1 to exit upper procs else log_debug("[attacker] attempted to feed [H.contents] to [src] ([src.type]) but it failed.") + + //Handle case: /obj/item/device/radio/beacon + if(/obj/item/device/radio/beacon) + var/confirm = alert(usr, "[I.loc == user ? "Eat the beacon?" : "Let [user] feed you a beacon?"]", "Confirmation", "Yes!", "Cancel") + if(confirm == "Yes!") + var/I = input("Which belly?","Select A Belly") in target.vore_organs + var/datum/belly/B = target.vore_organs[I] + user.drop_item() + src.loc = target + B.internal_contents += src + target.visible_message("[target] is fed the [src]!") + playsound(target, B.vore_sound, 100, 1) + return 1 + return 0 // From d7ea30c15844a3e9fb9213f1e24f75e7727394ab Mon Sep 17 00:00:00 2001 From: Datraen Date: Wed, 11 May 2016 21:14:33 -0400 Subject: [PATCH 2/4] Changes the colors of the occupation setup tab. --- code/game/jobs/job/assistant.dm | 2 +- code/game/jobs/job/captain.dm | 4 ++-- code/game/jobs/job/civilian.dm | 18 +++++++++--------- code/game/jobs/job/civilian_chaplain.dm | 2 +- code/game/jobs/job/engineering.dm | 6 +++--- code/game/jobs/job/medical.dm | 12 ++++++------ code/game/jobs/job/science.dm | 8 ++++---- code/game/jobs/job/security.dm | 8 ++++---- code/game/jobs/job/silicon.dm | 4 ++-- .../preference_setup/occupation/occupation.dm | 16 ++++++++-------- 10 files changed, 40 insertions(+), 40 deletions(-) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 9ec3d2842a..ff87fb58e4 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -7,7 +7,7 @@ total_positions = -1 spawn_positions = -1 supervisors = "absolutely everyone" - selection_color = "#dddddd" + selection_color = "#515151" economic_modifier = 1 access = list() //See /datum/job/assistant/get_access() minimal_access = list() //See /datum/job/assistant/get_access() diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index c594256002..d3a9246238 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -10,7 +10,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) total_positions = 1 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" - selection_color = "#ccccff" + selection_color = "#1D1D4F" alt_titles = list("Station Administrator") idtype = /obj/item/weapon/card/id/gold req_admin_notify = 1 @@ -63,7 +63,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) total_positions = 1 spawn_positions = 1 supervisors = "the captain" - selection_color = "#ddddff" + selection_color = "#2F2F7F" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 minimal_player_age = 10 diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index faaf222adb..64dc22615e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -8,7 +8,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_bar) alt_titles = list("Barista") @@ -37,7 +37,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_kitchen) alt_titles = list("Cook") @@ -64,7 +64,7 @@ total_positions = 2 spawn_positions = 1 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_hydroponics) alt_titles = list("Hydroponicist") @@ -97,7 +97,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) @@ -127,7 +127,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) @@ -152,7 +152,7 @@ total_positions = 3 spawn_positions = 3 supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) minimal_access = list(access_mining, access_mining_station, access_mailsorting) @@ -191,7 +191,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_janitor, access_maint_tunnels) minimal_access = list(access_janitor, access_maint_tunnels) alt_titles = list("Custodian") @@ -217,7 +217,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_library, access_maint_tunnels) minimal_access = list(access_library) alt_titles = list("Journalist") @@ -243,7 +243,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "company officials and Corporate Regulations" - selection_color = "#dddddd" + selection_color = "#515151" economic_modifier = 7 access = list(access_lawyer, access_sec_doors, access_maint_tunnels, access_heads) minimal_access = list(access_lawyer, access_sec_doors, access_heads) diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index a9f441dd22..cf162c1494 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -8,7 +8,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the head of personnel" - selection_color = "#dddddd" + selection_color = "#515151" access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels) minimal_access = list(access_morgue, access_chapel_office, access_crematorium) alt_titles = list("Counselor") diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 9c59f89025..707bab0899 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -8,7 +8,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the captain" - selection_color = "#ffeeaa" + selection_color = "#7F6E2C" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 economic_modifier = 10 @@ -58,7 +58,7 @@ total_positions = 5 spawn_positions = 5 supervisors = "the chief engineer" - selection_color = "#fff5cc" + selection_color = "#5B4D20" economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) @@ -95,7 +95,7 @@ total_positions = 3 spawn_positions = 2 supervisors = "the chief engineer" - selection_color = "#fff5cc" + selection_color = "#5B4D20" economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 91fe29cc6c..8a769df0b5 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -8,7 +8,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the captain" - selection_color = "#ffddf0" + selection_color = "#026865" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 economic_modifier = 10 @@ -47,7 +47,7 @@ total_positions = 5 spawn_positions = 3 supervisors = "the chief medical officer" - selection_color = "#ffeef0" + selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_eva) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva) @@ -110,7 +110,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the chief medical officer" - selection_color = "#ffeef0" + selection_color = "#013D3B" economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_medical_equip, access_chemistry) @@ -141,7 +141,7 @@ total_positions = 0 spawn_positions = 0 supervisors = "the chief medical officer and research director" - selection_color = "#ffeef0" + selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) @@ -171,7 +171,7 @@ spawn_positions = 1 economic_modifier = 5 supervisors = "the chief medical officer" - selection_color = "#ffeef0" + selection_color = "#013D3B" access = list(access_medical, access_medical_equip, access_morgue, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_psychiatrist) alt_titles = list("Psychologist") @@ -205,7 +205,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the chief medical officer" - selection_color = "#ffeef0" + selection_color = "#013D3B" economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 1a2eacb528..99482457cc 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -8,7 +8,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the captain" - selection_color = "#ffddff" + selection_color = "#AD6BAD" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 economic_modifier = 15 @@ -50,7 +50,7 @@ total_positions = 5 spawn_positions = 3 supervisors = "the research director" - selection_color = "#ffeeff" + selection_color = "#633D63" economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) @@ -80,7 +80,7 @@ total_positions = 3 spawn_positions = 2 supervisors = "the research director" - selection_color = "#ffeeff" + selection_color = "#633D63" economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics) minimal_access = list(access_research, access_xenobiology, access_hydroponics, access_tox_storage) @@ -110,7 +110,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "research director" - selection_color = "#ffeeff" + selection_color = "#633D63" economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 4a9a1baed1..31884169f6 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -8,7 +8,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the captain" - selection_color = "#ffdddd" + selection_color = "#8E2929" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 economic_modifier = 10 @@ -55,7 +55,7 @@ total_positions = 1 spawn_positions = 1 supervisors = "the head of security" - selection_color = "#ffeeee" + selection_color = "#601C1C" economic_modifier = 5 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks) @@ -92,7 +92,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "the head of security" - selection_color = "#ffeeee" + selection_color = "#601C1C" alt_titles = list("Forensic Technician","Investigator") access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) @@ -134,7 +134,7 @@ total_positions = 4 spawn_positions = 4 supervisors = "the head of security" - selection_color = "#ffeeee" + selection_color = "#601C1C" alt_titles = list("Junior Officer") economic_modifier = 4 access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index b64508499c..fb9aeb793f 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -5,7 +5,7 @@ faction = "Station" total_positions = 0 // Not used for AI, see is_position_available below and modules/mob/living/silicon/ai/latejoin.dm spawn_positions = 1 - selection_color = "#ccffcc" + selection_color = "#3F823F" supervisors = "your laws" req_admin_notify = 1 minimal_player_age = 7 @@ -38,7 +38,7 @@ total_positions = 2 spawn_positions = 2 supervisors = "your laws and the AI" //Nodrak - selection_color = "#ddffdd" + selection_color = "#254C25" minimal_player_age = 1 alt_titles = list("Robot", "Drone") account_allowed = 0 diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 0b4abcdd87..f37f7631cf 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -61,7 +61,7 @@ . += "
" . += "Choose occupation chances
Unavailable occupations are crossed out.
" . += "
" // Table within a table for alignment, also allows you to easily add more columns. - . += "" + . += "
" var/index = -1 //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. @@ -76,7 +76,7 @@ //the last job's selection color. Creating a rather nice effect. for(var/i = 0, i < (limit - index), i += 1) . += "" - . += "
  
" + . += "
" index = 0 . += "" . += "" continue if(pref.GetJobDepartment(job, 1) & job.flag) - . += " \[High]" + . += " \[High]" else if(pref.GetJobDepartment(job, 2) & job.flag) - . += " \[Medium]" + . += " \[Medium]" else if(pref.GetJobDepartment(job, 3) & job.flag) - . += " \[Low]" + . += " \[Low]" else - . += " \[NEVER]" + . += " \[NEVER]" if(job.alt_titles) . += "" . += "" From 96f97a8c4b315621ea34b992be374a9c2487dd7f Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Wed, 11 May 2016 23:02:01 -0400 Subject: [PATCH 3/4] Adds televore, and cherrypicked a UI improvement from Polaris --- code/datums/helper_datums/teleport.dm | 1 + code/datums/helper_datums/teleport_vr.dm | 22 ++++++++++++++++++++++ code/modules/vore/eating/living_vr.dm | 20 ++++++++++++-------- vorestation.dme | 1 + 4 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 code/datums/helper_datums/teleport_vr.dm diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index d29722a9f3..c32ad5eaf9 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -113,6 +113,7 @@ var/mob/living/L = teleatom if(L.buckled) C = L.buckled + if(attempt_vr(src,"try_televore",args)) return if(force_teleport) teleatom.forceMove(destturf) playSpecials(destturf,effectout,soundout) diff --git a/code/datums/helper_datums/teleport_vr.dm b/code/datums/helper_datums/teleport_vr.dm new file mode 100644 index 0000000000..8c9e4956a4 --- /dev/null +++ b/code/datums/helper_datums/teleport_vr.dm @@ -0,0 +1,22 @@ +/datum/teleport/proc/try_televore() + var/datum/belly/target_belly + + //Destination is a living thing + target_belly = check_belly(destination) + + //Destination has a living thing on it + if(!target_belly) + for(var/mob/living/M in get_turf(destination)) + if(M.vore_organs.len) + var/I = M.vore_organs[1] + target_belly = M.vore_organs[I] + + if(target_belly) + teleatom.forceMove(destination.loc) + playSpecials(destination,effectout,soundout) + target_belly.internal_contents += teleatom + playsound(destination, target_belly.vore_sound, 100, 1) + return 1 + + //No fun! + return 0 \ No newline at end of file diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index cf38eb1918..54caed5849 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -123,16 +123,20 @@ //Handle case: /obj/item/device/radio/beacon if(/obj/item/device/radio/beacon) - var/confirm = alert(usr, "[I.loc == user ? "Eat the beacon?" : "Let [user] feed you a beacon?"]", "Confirmation", "Yes!", "Cancel") - if(confirm == "Yes!") - var/I = input("Which belly?","Select A Belly") in target.vore_organs - var/datum/belly/B = target.vore_organs[I] + var/confirm = alert(user, "[I.loc == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", "Confirmation", "Yes!", "Cancel") + if(confirm == "Yes!") + var/bellychoice = input("Which belly?","Select A Belly") in src.vore_organs + var/datum/belly/B = src.vore_organs[bellychoice] + src.visible_message("[user] is trying to stuff a beacon into [src]'s [bellychoice]!","[user] is trying to stuff a beacon into you!") + if(do_after(user,30,src)) user.drop_item() - src.loc = target - B.internal_contents += src - target.visible_message("[target] is fed the [src]!") - playsound(target, B.vore_sound, 100, 1) + I.loc = src + B.internal_contents += I + src.visible_message("[src] is fed the beacon!","You're fed the beacon!") + playsound(src, B.vore_sound, 100, 1) return 1 + else + return 1 //You don't get to hit someone 'later' return 0 diff --git a/vorestation.dme b/vorestation.dme index 66a1ec71b9..160e6ae6ec 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -178,6 +178,7 @@ #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\global_iterator.dm" #include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\teleport_vr.dm" #include "code\datums\helper_datums\topic_input.dm" #include "code\datums\locations\locations.dm" #include "code\datums\locations\nyx.dm" From 01794ce0e2f9c7055e1f60cb456cc5fa6815f1b5 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Wed, 11 May 2016 23:31:26 -0400 Subject: [PATCH 4/4] Tweak message condition --- code/modules/vore/eating/living_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 54caed5849..36b1933352 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -123,7 +123,7 @@ //Handle case: /obj/item/device/radio/beacon if(/obj/item/device/radio/beacon) - var/confirm = alert(user, "[I.loc == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", "Confirmation", "Yes!", "Cancel") + var/confirm = alert(user, "[src == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", "Confirmation", "Yes!", "Cancel") if(confirm == "Yes!") var/bellychoice = input("Which belly?","Select A Belly") in src.vore_organs var/datum/belly/B = src.vore_organs[bellychoice]
" @@ -106,22 +106,22 @@ if(rank == "Assistant")//Assistant is special if(pref.job_civilian_low & ASSISTANT) - . += " \[Yes]" + . += " \[Yes]" else - . += " \[No]" + . += " \[No]" if(job.alt_titles) //Blatantly cloned from a few lines down. . += "
 \[[pref.GetPlayerAltTitle(job)]\]
 \[[pref.GetPlayerAltTitle(job)]\]