diff --git a/code/__defines/chemistry_vr.dm b/code/__defines/chemistry_vr.dm new file mode 100644 index 00000000000..7c29bced618 --- /dev/null +++ b/code/__defines/chemistry_vr.dm @@ -0,0 +1,4 @@ +// More for our custom races +#define IS_SERGAL 10 +#define IS_AKULA 11 +#define IS_NEVREAN 12 \ No newline at end of file diff --git a/code/datums/wires/jukebox_vr.dm b/code/datums/wires/jukebox_vr.dm new file mode 100644 index 00000000000..bfe62be2bd7 --- /dev/null +++ b/code/datums/wires/jukebox_vr.dm @@ -0,0 +1,66 @@ +/datum/wires/jukebox + random = 1 + holder_type = /obj/machinery/media/jukebox/vore + wire_count = 7 + +var/const/WIRE_POWER = 1 +var/const/WIRE_HACK = 2 +var/const/WIRE_SPEEDUP = 4 +var/const/WIRE_SPEEDDOWN = 8 +var/const/WIRE_REVERSE = 16 +var/const/WIRE_NOTHING1 = 32 +var/const/WIRE_NOTHING2 = 64 + +/datum/wires/jukebox/CanUse(var/mob/living/L) + var/obj/machinery/media/jukebox/A = holder + if(A.panel_open) + return 1 + return 0 + +// Show the status of lights as a hint to the current state +/datum/wires/jukebox/GetInteractWindow() + var/obj/machinery/media/jukebox/vore/A = holder + . += ..() + . += "
The power light is [(A.stat & (BROKEN|NOPOWER)) ? "off" : "on"].
" + . += "The parental guidance light is [A.hacked ? "off" : "on"].
" + . += "The data light is [IsIndexCut(WIRE_REVERSE) ? "hauntingly dark" : "glowing sloftly"].
" + +// Give a hint as to what each wire does +/datum/wires/jukebox/UpdatePulsed(var/index) + var/obj/machinery/media/jukebox/vore/A = holder + switch(index) + if(WIRE_POWER) + holder.visible_message("\icon[holder] The power light flickers.") + A.shock(usr, 90) + if(WIRE_HACK) + holder.visible_message("\icon[holder] The parental guidance light flickers.") + if(WIRE_REVERSE) + holder.visible_message("\icon[holder] The data light blinks ominously.") + if(WIRE_SPEEDUP) + holder.visible_message("\icon[holder] The speakers squeaks.") + if(WIRE_SPEEDDOWN) + holder.visible_message("\icon[holder] The speakers rumble.") + else + A.shock(usr, 10) // The nothing wires give a chance to shock just for fun + +/datum/wires/jukebox/UpdateCut(var/index, var/mended) + var/obj/machinery/media/jukebox/vore/A = holder + + switch(index) + if(WIRE_POWER) + // TODO - Actually make machine electrified or something. + A.shock(usr, 90) + + if(WIRE_HACK) + if(mended) + A.set_hacked(0) + else + A.set_hacked(1) + + if(WIRE_SPEEDUP, WIRE_SPEEDDOWN, WIRE_REVERSE) + var/newfreq = IsIndexCut(WIRE_REVERSE) ? -1 : 1; + if (IsIndexCut(WIRE_SPEEDUP)) + newfreq *= 2 + if (IsIndexCut(WIRE_SPEEDDOWN)) + newfreq *= 0.5 + A.freq = newfreq diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 1c420728ba5..caa6e78a7f4 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -257,7 +257,10 @@ var/list/mob/living/forced_ambiance_list = new if(forced_ambience) if(forced_ambience.len) forced_ambiance_list |= L - L << sound(pick(forced_ambience), repeat = 1, wait = 0, volume = 25, channel = 1) + var/sound/chosen_ambiance = pick(forced_ambience) + if(!istype(chosen_ambiance)) + chosen_ambiance = sound(chosen_ambiance, repeat = 1, wait = 0, volume = 25, channel = 1) + L << chosen_ambiance else L << sound(null, channel = 1) else if(src.ambience.len && prob(35)) diff --git a/code/game/machinery/jukebox_vr.dm b/code/game/machinery/jukebox_vr.dm new file mode 100644 index 00000000000..90eb4de98c0 --- /dev/null +++ b/code/game/machinery/jukebox_vr.dm @@ -0,0 +1,101 @@ +// The improved, hackable jukebox for vorestation! + +/obj/machinery/media/jukebox/vore + name = "space jukebox" + icon = 'icons/obj/jukebox_vr.dmi' + + // Vars for hacking + var/datum/wires/jukebox/wires = null + var/hacked = 0 // Whether to show the hidden songs or not + var/freq = 0 + + // Only visible if hacked + var/list/datum/track/secret_tracks = list( + new/datum/track("Bandit Radio", 'sound/music/jukebox/bandit_radio.ogg'), + new/datum/track("Ghost Fight (Toby Fox)", 'sound/music/jukebox/TobyFoxGhostFight.mid'), + new/datum/track("Space Asshole", 'sound/music/space_asshole.ogg'), + new/datum/track("THUNDERDOME", 'sound/music/THUNDERDOME.ogg'), + ) + + // Normally visible tracks + tracks = list( + // AND WE DO NOT CARE~! AND WE DO NOT CARE~! + new/datum/track("A Song About Hares", 'sound/music/jukebox/SongAboutHares.ogg'), + new/datum/track("Below The Asteroids", 'sound/music/jukebox/BelowTheAsteroids.ogg'), + new/datum/track("Beyond", 'sound/ambience/ambispace.ogg'), + new/datum/track("Clouds of Fire", 'sound/music/clouds.s3m'), + new/datum/track("D`Bert", 'sound/music/title2.ogg'), + new/datum/track("D`Fort", 'sound/ambience/song_game.ogg'), + new/datum/track("Duck Tales - Moon", 'sound/music/jukebox/DuckTalesMoon.mid'), + new/datum/track("Endless Space", 'sound/music/space.ogg'), + new/datum/track("Floating", 'sound/music/main.ogg'), + new/datum/track("Fly Me To The Moon", 'sound/music/jukebox/Fly_Me_To_The_Moon.ogg'), + new/datum/track("Mad About Me", 'sound/music/jukebox/Cantina.ogg'), + new/datum/track("Minor Turbulence", 'sound/music/jukebox/MinorTurbulenceFull.ogg'), + new/datum/track("Ode to Greed", 'sound/music/jukebox/OdeToGreed.ogg'), + new/datum/track("Part A", 'sound/misc/TestLoop1.ogg'), + new/datum/track("Ransacked", 'sound/music/jukebox/Ransacked.ogg'), + // EVEN THOUGH THE STATION IS FULL OF HUNGRY WOLVES + new/datum/track("Russkiy rep Diskoteka", 'sound/music/jukebox/russianrapdisco.ogg'), + new/datum/track("Scratch", 'sound/music/title1.ogg'), + new/datum/track("Space Oddity", 'sound/music/space_oddity.ogg'), + new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), + new/datum/track("Welcome To Jurassic Park", 'sound/music/jukebox/WelcomeToJurassicPark.mid') + ) + +/obj/machinery/media/jukebox/vore/New() + ..() + wires = new/datum/wires/jukebox(src) + +/obj/machinery/media/jukebox/vore/Destroy() + ..() + qdel(wires) + wires = null + +/obj/machinery/media/jukebox/vore/update_icon() + ..() + if (panel_open) + overlays += "panel_open" + + +/obj/machinery/media/jukebox/vore/proc/set_hacked(var/newhacked) + if (hacked == newhacked) return + hacked = newhacked + if (hacked) + tracks.Add(secret_tracks) + else + tracks.Remove(secret_tracks) + updateDialog() + + +/obj/machinery/media/jukebox/vore/attackby(obj/item/W as obj, mob/user as mob) + src.add_fingerprint(user) + if (default_deconstruction_screwdriver(user, W)) + return + if(istype(W, /obj/item/weapon/wirecutters)) + return wires.Interact(user) + if(istype(W, /obj/item/device/multitool)) + return wires.Interact(user) + return ..() + + +/obj/machinery/media/jukebox/vore/StartPlaying() + StopPlaying() + if(!current_track) + return + + var/area/main_area = get_area(src) + if(freq) + var/sound/new_song = sound(current_track.sound, channel = 1, repeat = 1, volume = 25) + new_song.frequency = freq + main_area.forced_ambience = list(new_song) + else + main_area.forced_ambience = list(current_track.sound) + + for(var/mob/living/M in mobs_in_area(main_area)) + if(M.mind) + main_area.play_ambience(M) + + playing = 1 + update_use_power(2) + update_icon() diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm new file mode 100644 index 00000000000..8abb49d1c7a --- /dev/null +++ b/code/modules/mob/language/station_vr.dm @@ -0,0 +1,26 @@ +/* 'basic' language; spoken by default. +/datum/language/common + name = "Galactic Common" + desc = "The common galactic tongue." + speech_verb = "says" + whisper_verb = "whispers" + key = "0" + flags = RESTRICTED + syllables = list("blah","blah","blah","bleh","meh","neh","nah","wah") +*/ + +/datum/language/birdsong + name = "Birdsong" + desc = "A language primarily spoken by Narvians" + speech_verb = "chirps" + colour = "birdsongc" + key = "7" + syllables = list ("cheep", "peep", "tweet") + +/datum/language/sergal + name = "Sagaru" + desc = "The dominant language of the Sergal homeworld, Vilous. It consists of aggressive low-pitched hissing and throaty growling." + speech_verb = "snarls" + colour = "sergal" + key = "z" + syllables = list ("grr", "gah", "woof", "arf", "arra", "rah", "wor", "sarg") \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index ba9f03579de..b2306d834d8 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -206,6 +206,8 @@ if(suiciding) msg += "[T.He] appears to have commited suicide... there is no hope of recovery.\n" + msg += attempt_vr(src,"examine_weight",args) //VOREStation Code + if(mSmallsize in mutations) msg += "[T.He] [T.is] small halfling!\n" diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm new file mode 100644 index 00000000000..240870f84f7 --- /dev/null +++ b/code/modules/mob/living/carbon/human/examine_vr.dm @@ -0,0 +1,25 @@ +/mob/living/carbon/human/proc/examine_weight() + var/message = "" + + switch(weight) + if(0 to 74) + message = "\red They are terribly lithe and frail!\n" //I couldn't get the t.he, t_he, or \he to work, so... Let's just use they! + if(75 to 99) + message = "They have a very slender frame.\n" + if(100 to 124) + message = "They have a lightweight, athletic build.\n" + if(125 to 174) + message = "They have a healthy, average body.\n" + if(175 to 224) + message = "They have a thick, heavy physique.\n" + if(225 to 274) + message = "They have a plush, chubby figure.\n" + if(275 to 325) + message = "They have an especially plump body with a round potbelly and large hips.\n" + if(325 to 374) + message = "They have a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs.\n" + if(375 to 474) + message = "\red They are incredibly obese. Their massive potbelly sags over their waistline while their fat ass would probably require two chairs to sit down comfortably!\n" + else + message = "\red They are so morbidly obese, you wonder how they can even stand, let alone waddle around the station. They can't get any fatter without being immobilized.\n" + return message //Credit to Aronai for helping me actually get this working! \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm new file mode 100644 index 00000000000..dc0f247aac0 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -0,0 +1,8 @@ +/datum/species + //This is used in character setup preview generation (prefences_setup.dm) and human mob + //rendering (update_icons.dm) + var/color_mult = 0 + + //This is for overriding tail rendering with a specific icon in icobase, for static + //tails only, since tails would wag when dead if you used this + var/icobase_tail = 0 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm new file mode 100644 index 00000000000..dd9164e4937 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm @@ -0,0 +1,35 @@ +/datum/species/monkey/shark + name = "Sobaka" + voice_name = "Sobaka" + speak_emote = list("squeaks") + icon_state = "sharkpup1" + greaterform = "Akula" + +/datum/species/monkey/sergal + name = "Sergaling" + voice_name = "Sergaling" + speak_emote = list("growls") + icon_state = "sergal1" + greaterform = "Sergal" + +/datum/species/monkey/sparra + name = "Sparra" + voice_name = "Sparra" + speak_emote = list("chirps") + icon_state = "sparra1" + greaterform = "Nevrean" + +/* Example from Polaris code +/datum/species/monkey/tajaran + name = "Farwa" + name_plural = "Farwa" + + icobase = 'icons/mob/human_races/monkeys/r_farwa.dmi' + deform = 'icons/mob/human_races/monkeys/r_farwa.dmi' + + greater_form = "Tajaran" + default_language = "Farwa" + flesh_color = "#AFA59E" + base_color = "#333333" + tail = "farwatail" +*/ diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm new file mode 100644 index 00000000000..72f9e658234 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -0,0 +1,123 @@ +/datum/species/sergal + name = "Sergal" + name_plural = "Sergals" + icobase = 'icons/mob/human_races/r_sergal.dmi' + deform = 'icons/mob/human_races/r_def_sergal.dmi' + tail = "tail" + icobase_tail = 1 + unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) + //darksight = 8 + //slowdown = -0.5 + //brute_mod = 1.15 + //burn_mod = 1.15 + //gluttonous = 1 + num_alternate_languages = 2 + secondary_langs = list("Sagaru") + name_language = "Sagaru" + color_mult = 1 + + min_age = 17 + max_age = 80 + + blurb = "There are two subspecies of Sergal; Southern and Northern. Northern sergals are a highly aggressive race \ + that lives in the plains and tundra of their homeworld. They are characterized by long, fluffy fur bodies with cold colors; \ + usually with white abdomens, somewhat short ears, and thick faces. Southern sergals are much more docile and live in the \ + Gold Ring City and are scattered around the outskirts in rural areas and small towns. They usually have short, brown or yellow \ + (or other 'earthy' colors) fur, long ears, and a long, thin face. They are smaller than their Northern relatives. Both have strong \ + racial tensions which has resulted in more than a number of wars and outright attempts at genocide. Sergals have an incredibly long \ + lifespan, but due to their lust for violence, only a handful have ever survived beyond the age of 80, such as the infamous and \ + legendary General Rain Silves who is claimed to have lived to 5000." + + primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes + + spawn_flags = CAN_JOIN + appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + flesh_color = "#AFA59E" + base_color = "#333333" + + reagent_tag = IS_SERGAL + + heat_discomfort_strings = list( + "Your fur prickles in the heat.", + "You feel uncomfortably warm.", + "Your overheated skin itches." + ) + +/datum/species/akula + name = "Akula" + name_plural = "Akula" + icobase = 'icons/mob/human_races/r_akula.dmi' + deform = 'icons/mob/human_races/r_def_akula.dmi' + tail = "tail" + icobase_tail = 1 + unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) + //darksight = 8 + //slowdown = -0.5 + //brute_mod = 1.15 + //burn_mod = 1.15 + //gluttonous = 1 + num_alternate_languages = 2 + secondary_langs = list("Skrellian") + name_language = "Skrellian" + color_mult = 1 + + min_age = 17 + max_age = 80 + + blurb = "The Akula are a species of amphibious humanoids like the Skrell, but have an appearance very similar to that of a shark. \ + They were first discovered as a primitive race of underwater dwelling tribal creatures by the Skrell. At first they were not believed \ + to be noteworthy, but the Akula proved to be such swift and clever learners that the Skrell reclassified them as sentients. Allegedly, \ + the Akula were also the first sentient life that the Skrell had ever encountered beside themselves, and thus the two species became swift \ + allies over the next few hundred years. With the help of Skrellean technology, the Akula had their genome modified to be capable of \ + surviving in open air for long periods of time. However, Akula even today still require a high humidity environment to avoid drying out \ + after a few days, which would make life on an arid world like Virgo-Prime nearly impossible if it were not for Skrellean technology to aid them." + + primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes + + spawn_flags = CAN_JOIN + appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + flesh_color = "#AFA59E" + base_color = "#333333" + + reagent_tag = IS_AKULA + +/datum/species/nevrean + name = "Nevrean" + name_plural = "Nevreans" + icobase = 'icons/mob/human_races/r_nevrean.dmi' + deform = 'icons/mob/human_races/r_def_nevrean.dmi' + tail = "tail" + icobase_tail = 1 + unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) + //darksight = 8 + //slowdown = -0.5 + //brute_mod = 1.15 + //burn_mod = 1.15 + //gluttonous = 1 + num_alternate_languages = 2 + secondary_langs = list("Birdsong") + name_language = "Birdsong" + color_mult = 1 + + min_age = 17 + max_age = 80 + + blurb = "Nevreans are a race of avian and dinosaur-like creatures living on Tal. They belong to a group of races that hails from Eltus. " + + primitive_form = "Farwa" //POLARISTODO - Add other monkeytypes + + spawn_flags = CAN_JOIN + appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + flesh_color = "#AFA59E" + base_color = "#333333" + + reagent_tag = IS_SERGAL + + heat_discomfort_strings = list( + "Your fur prickles in the heat.", + "You feel uncomfortably warm.", + "Your overheated skin itches." + ) \ No newline at end of file diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 76122a914ba..fa66258ef46 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -38,7 +38,7 @@ handle_fire() //stuff in the stomach - handle_stomach() + //handle_stomach() //VOREStation Code update_gravity(mob_has_gravity()) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 0c3c3a76212..f660da3c258 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -150,14 +150,10 @@ return if(client.prefs.species != "Human" && !check_rights(R_ADMIN, 0)) - if(!is_alien_whitelisted(src, client.prefs.species) && config.usealienwhitelist) - src << alert("You are currently not whitelisted to play [client.prefs.species].") - return 0 - - var/datum/species/S = all_species[client.prefs.species] - if(!(S.spawn_flags & IS_WHITELISTED)) - src << alert("Your current species,[client.prefs.species], is not available for play on the station.") - return 0 + if (config.usealienwhitelist) + if(!is_alien_whitelisted(src, client.prefs.species)) + src << alert("You are currently not whitelisted to Play [client.prefs.species].") + return 0 LateChoices() diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index ae75216c4eb..16ae76dbbb7 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -232,7 +232,12 @@ limb_icon = new /icon(icobase, "[name]") // Skin color if(current_species && (current_species.appearance_flags & HAS_SKIN_COLOR)) - limb_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) + //VOREStation Code Start + if(current_species.color_mult) + limb_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_MULTIPLY) + else + limb_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) + //VOREstation Code End // Skin tone if(current_species && (current_species.appearance_flags & HAS_SKIN_TONE)) if (s_tone >= 0) diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm new file mode 100644 index 00000000000..05d1c614c28 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -0,0 +1,26 @@ +//////////////////////// +// For sergals and stuff +//////////////////////// +/datum/sprite_accessory/hair/vr + + icon = 'icons/mob/human_face_vr.dmi' + + sergal_plain + name = "Sergal Plain" + icon_state = "serg_plain" + species_allowed = list("Sergal") + + sergal_plain + name = "Sergal Medicore" + icon_state = "serg_medicore" + species_allowed = list("Sergal") + + sergal_plain + name = "Sergal Tapered" + icon_state = "serg_tapered" + species_allowed = list("Sergal") + + sergal_plain + name = "Sergal Fairytail" + icon_state = "serg_fairytail" + species_allowed = list("Sergal") \ No newline at end of file diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 99f174ea48c..6a7ad4705c3 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -65,18 +65,16 @@ M.adjustBruteLoss(2) M.adjustFireLoss(3) - /* POLARISTODO - Depends on weight and scale var/offset if (M.weight > 137) offset = 1 + ((M.weight - 137) / 137) if (M.weight < 137) offset = (137 - M.weight) / 137 - var/difference = owner.playerscale / M.playerscale + var/difference = owner.size_multiplier / M.size_multiplier if(offset) // If any different than default weight, multiply the % of offset. owner.nutrition += offset*(10/difference) else owner.nutrition += (10/difference) - */ return diff --git a/code/stylesheet.dm b/code/stylesheet.dm index c7b73001135..5a664002413 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -89,6 +89,8 @@ h1.alert, h2.alert {color: #000000;} .soghun {color: #228B22;} .solcom {color: #22228B;} .changeling {color: #800080;} +.sergal {color: #0077FF;} +.birdsongc {color: #CC9900;} .rough {font-family: "Trebuchet MS", cursive, sans-serif;} .say_quote {font-family: Georgia, Verdana, sans-serif;} diff --git a/icons/mob/human_face_vr.dmi b/icons/mob/human_face_vr.dmi new file mode 100644 index 00000000000..6afc04bfb56 Binary files /dev/null and b/icons/mob/human_face_vr.dmi differ diff --git a/icons/mob/human_races/r_akula.dmi b/icons/mob/human_races/r_akula.dmi new file mode 100644 index 00000000000..114d5c0fa9e Binary files /dev/null and b/icons/mob/human_races/r_akula.dmi differ diff --git a/icons/mob/human_races/r_def_akula.dmi b/icons/mob/human_races/r_def_akula.dmi new file mode 100644 index 00000000000..3b99d8c82b5 Binary files /dev/null and b/icons/mob/human_races/r_def_akula.dmi differ diff --git a/icons/mob/human_races/r_def_nevrean.dmi b/icons/mob/human_races/r_def_nevrean.dmi new file mode 100644 index 00000000000..42c18e18d6c Binary files /dev/null and b/icons/mob/human_races/r_def_nevrean.dmi differ diff --git a/icons/mob/human_races/r_def_sergal.dmi b/icons/mob/human_races/r_def_sergal.dmi new file mode 100644 index 00000000000..c43a5835f8a Binary files /dev/null and b/icons/mob/human_races/r_def_sergal.dmi differ diff --git a/icons/mob/human_races/r_nevrean.dmi b/icons/mob/human_races/r_nevrean.dmi new file mode 100644 index 00000000000..d1a590c800f Binary files /dev/null and b/icons/mob/human_races/r_nevrean.dmi differ diff --git a/icons/mob/human_races/r_sergal.dmi b/icons/mob/human_races/r_sergal.dmi new file mode 100644 index 00000000000..fc073254c0b Binary files /dev/null and b/icons/mob/human_races/r_sergal.dmi differ diff --git a/icons/mob/species/akula/tail.dmi b/icons/mob/species/akula/tail.dmi new file mode 100644 index 00000000000..20327c86baa Binary files /dev/null and b/icons/mob/species/akula/tail.dmi differ diff --git a/icons/mob/species/nevrean/tail.dmi b/icons/mob/species/nevrean/tail.dmi new file mode 100644 index 00000000000..5d3027f6b73 Binary files /dev/null and b/icons/mob/species/nevrean/tail.dmi differ diff --git a/icons/mob/species/sergal/tail.dmi b/icons/mob/species/sergal/tail.dmi new file mode 100644 index 00000000000..87e1f6a40b0 Binary files /dev/null and b/icons/mob/species/sergal/tail.dmi differ diff --git a/icons/obj/jukebox_vr.dmi b/icons/obj/jukebox_vr.dmi new file mode 100644 index 00000000000..52386940e98 Binary files /dev/null and b/icons/obj/jukebox_vr.dmi differ diff --git a/maps/virgo-1.dmm b/maps/virgo-1.dmm index 1a1189f9681..7c7f24790a9 100644 --- a/maps/virgo-1.dmm +++ b/maps/virgo-1.dmm @@ -2892,7 +2892,7 @@ "bdF" = (/obj/structure/cable/green,/obj/structure/flora/pottedplant,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/corner/brown/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "bdG" = (/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "bdH" = (/obj/machinery/camera/network/northern_star{c_tag = "Hall - Recreation Aft"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"bdI" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/media/jukebox,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) +"bdI" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Cafe"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/media/jukebox/vore,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "bdJ" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bdK" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) "bdL" = (/obj/machinery/iv_drip,/turf/simulated/floor/tiled/freezer,/area/medical/surgery_storage) @@ -5582,7 +5582,7 @@ "cdr" = (/obj/machinery/computer/rcon,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/yellow/full{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/bridge) "cds" = (/obj/machinery/computer/shuttle_control/mining,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/camera/network/command{c_tag = "COM - Bridge Port"},/turf/simulated/floor/tiled,/area/bridge) "cdt" = (/obj/machinery/computer/shuttle_control/research,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/corner/purple/full{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"cdu" = (/obj/machinery/media/jukebox,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"cdu" = (/obj/machinery/media/jukebox/vore,/turf/simulated/floor/wood,/area/crew_quarters/bar) "cdv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/bridge) "cdw" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) "cdx" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled,/area/bridge) diff --git a/sound/music/jukebox/BelowTheAsteroids.ogg b/sound/music/jukebox/BelowTheAsteroids.ogg new file mode 100644 index 00000000000..121b4b7ceb9 Binary files /dev/null and b/sound/music/jukebox/BelowTheAsteroids.ogg differ diff --git a/sound/music/jukebox/Cantina.ogg b/sound/music/jukebox/Cantina.ogg new file mode 100644 index 00000000000..e07191f018d Binary files /dev/null and b/sound/music/jukebox/Cantina.ogg differ diff --git a/sound/music/jukebox/DuckTalesMoon.mid b/sound/music/jukebox/DuckTalesMoon.mid new file mode 100644 index 00000000000..878c6834b40 Binary files /dev/null and b/sound/music/jukebox/DuckTalesMoon.mid differ diff --git a/sound/music/jukebox/Fly_Me_To_The_Moon.ogg b/sound/music/jukebox/Fly_Me_To_The_Moon.ogg new file mode 100644 index 00000000000..ccfe03e4063 Binary files /dev/null and b/sound/music/jukebox/Fly_Me_To_The_Moon.ogg differ diff --git a/sound/music/jukebox/MinorTurbulenceFull.ogg b/sound/music/jukebox/MinorTurbulenceFull.ogg new file mode 100644 index 00000000000..3826cbd1327 Binary files /dev/null and b/sound/music/jukebox/MinorTurbulenceFull.ogg differ diff --git a/sound/music/jukebox/OdeToGreed.ogg b/sound/music/jukebox/OdeToGreed.ogg new file mode 100644 index 00000000000..eb632529451 Binary files /dev/null and b/sound/music/jukebox/OdeToGreed.ogg differ diff --git a/sound/music/jukebox/Ransacked.ogg b/sound/music/jukebox/Ransacked.ogg new file mode 100644 index 00000000000..4b8edf3583f Binary files /dev/null and b/sound/music/jukebox/Ransacked.ogg differ diff --git a/sound/music/jukebox/SongAboutHares.ogg b/sound/music/jukebox/SongAboutHares.ogg new file mode 100644 index 00000000000..1013f50c852 Binary files /dev/null and b/sound/music/jukebox/SongAboutHares.ogg differ diff --git a/sound/music/jukebox/TobyFoxGhostFight.mid b/sound/music/jukebox/TobyFoxGhostFight.mid new file mode 100644 index 00000000000..7a832c56d02 Binary files /dev/null and b/sound/music/jukebox/TobyFoxGhostFight.mid differ diff --git a/sound/music/jukebox/WelcomeToJurassicPark.mid b/sound/music/jukebox/WelcomeToJurassicPark.mid new file mode 100644 index 00000000000..57fd9082fb7 Binary files /dev/null and b/sound/music/jukebox/WelcomeToJurassicPark.mid differ diff --git a/sound/music/jukebox/bandit_radio.ogg b/sound/music/jukebox/bandit_radio.ogg new file mode 100644 index 00000000000..9057dfda73c Binary files /dev/null and b/sound/music/jukebox/bandit_radio.ogg differ diff --git a/sound/music/jukebox/russianrapdisco.ogg b/sound/music/jukebox/russianrapdisco.ogg new file mode 100644 index 00000000000..6c749817499 Binary files /dev/null and b/sound/music/jukebox/russianrapdisco.ogg differ diff --git a/vorestation.dme b/vorestation.dme index e446ba7d88c..66a1ec71b93 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -24,6 +24,7 @@ #include "code\__defines\atmos.dm" #include "code\__defines\belly_modes_vr.dm" #include "code\__defines\chemistry.dm" +#include "code\__defines\chemistry_vr.dm" #include "code\__defines\damage_organs.dm" #include "code\__defines\dna.dm" #include "code\__defines\gamemode.dm" @@ -195,6 +196,7 @@ #include "code\datums\wires\autolathe.dm" #include "code\datums\wires\camera.dm" #include "code\datums\wires\explosive.dm" +#include "code\datums\wires\jukebox_vr.dm" #include "code\datums\wires\particle_accelerator.dm" #include "code\datums\wires\radio.dm" #include "code\datums\wires\robot.dm" @@ -403,6 +405,7 @@ #include "code\game\machinery\igniter.dm" #include "code\game\machinery\iv_drip.dm" #include "code\game\machinery\jukebox.dm" +#include "code\game\machinery\jukebox_vr.dm" #include "code\game\machinery\lightswitch.dm" #include "code\game\machinery\machinery.dm" #include "code\game\machinery\magnet.dm" @@ -1294,6 +1297,7 @@ #include "code\modules\mob\language\monkey.dm" #include "code\modules\mob\language\outsider.dm" #include "code\modules\mob\language\station.dm" +#include "code\modules\mob\language\station_vr.dm" #include "code\modules\mob\language\synthetic.dm" #include "code\modules\mob\living\autohiss.dm" #include "code\modules\mob\living\damage_procs.dm" @@ -1353,6 +1357,7 @@ #include "code\modules\mob\living\carbon\human\death.dm" #include "code\modules\mob\living\carbon\human\emote.dm" #include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\examine_vr.dm" #include "code\modules\mob\living\carbon\human\human.dm" #include "code\modules\mob\living\carbon\human\human_attackhand.dm" #include "code\modules\mob\living\carbon\human\human_damage.dm" @@ -1377,12 +1382,14 @@ #include "code\modules\mob\living\carbon\human\species\species.dm" #include "code\modules\mob\living\carbon\human\species\species_attack.dm" #include "code\modules\mob\living\carbon\human\species\species_hud.dm" +#include "code\modules\mob\living\carbon\human\species\species_vr.dm" #include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" #include "code\modules\mob\living\carbon\human\species\station\golem.dm" #include "code\modules\mob\living\carbon\human\species\station\monkey.dm" #include "code\modules\mob\living\carbon\human\species\station\seromi.dm" #include "code\modules\mob\living\carbon\human\species\station\slime.dm" #include "code\modules\mob\living\carbon\human\species\station\station.dm" +#include "code\modules\mob\living\carbon\human\species\station\station_vr.dm" #include "code\modules\mob\living\carbon\metroid\death.dm" #include "code\modules\mob\living\carbon\metroid\emote.dm" #include "code\modules\mob\living\carbon\metroid\examine.dm" @@ -1498,6 +1505,7 @@ #include "code\modules\mob\new_player\preferences_setup.dm" #include "code\modules\mob\new_player\skill.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\new_player\sprite_accessories_vr.dm" #include "code\modules\multiz\_stubs.dm" #include "code\modules\multiz\basic.dm" #include "code\modules\multiz\movement.dm" @@ -1895,11 +1903,11 @@ #include "code\modules\vore\eating\vore_vr.dm" #include "code\modules\vore\eating\vorehooks_vr.dm" #include "code\modules\vore\eating\vorepanel_vr.dm" -#include "code\modules\vore\weight\fitness_machines_vr.dm" #include "code\modules\vore\resizing\grav_pull_vr.dm" #include "code\modules\vore\resizing\holder_micro_vr.dm" #include "code\modules\vore\resizing\resize_vr.dm" #include "code\modules\vore\resizing\sizegun_vr.dm" +#include "code\modules\vore\weight\fitness_machines_vr.dm" #include "code\modules\xgm\xgm_gas_data.dm" #include "code\modules\xgm\xgm_gas_mixture.dm" #include "code\unit_tests\loadout_tests.dm"