diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm index 666de9cef0..6736dc737f 100644 --- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm +++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm @@ -35,8 +35,8 @@ /mob/living/simple_animal/proc/update_fullness(var/atom/movable/M) var/new_fullness = 0 for(var/I in vore_organs) - var/datum/belly/B = vore_organs[I] - if (!(M in B.internal_contents)) + var/obj/belly/B = vore_organs[I] + if (!(M in B.contents)) return FALSE // Nothing's inside new_fullness += M @@ -60,7 +60,7 @@ var/obj/belly/B = new /obj/belly(src) vore_selected = B - B.immutable = 1 + B.immutable = TRUE B.name = vore_stomach_name ? vore_stomach_name : "stomach" B.desc = vore_stomach_flavor ? vore_stomach_flavor : "Your surroundings are warm, soft, and slimy. Makes sense, considering you're inside \the [name]." B.digest_mode = vore_default_mode diff --git a/modular_citadel/code/modules/vore/eating/belly_dat_vr.dm b/code/modules/vore/eating/belly_dat_vr.dm similarity index 100% rename from modular_citadel/code/modules/vore/eating/belly_dat_vr.dm rename to code/modules/vore/eating/belly_dat_vr.dm diff --git a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj.dm similarity index 95% rename from modular_citadel/code/modules/vore/eating/belly_obj_vr.dm rename to code/modules/vore/eating/belly_obj.dm index 1ad29c1af3..5433c5ae96 100644 --- a/modular_citadel/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -38,6 +38,7 @@ var/swallow_time = 10 SECONDS // for mob transfering automation var/vore_capacity = 1 // simple animal nom capacity var/is_wet = TRUE // Is this belly inside slimy parts? + var/wet_loop = TRUE // Does this belly have a slimy internal loop? //I don't think we've ever altered these lists. making them static until someone actually overrides them somewhere. var/tmp/static/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_NOISY,DM_ABSORB,DM_UNABSORB) // Possible digest modes @@ -138,7 +139,8 @@ "digest_messages_prey", "examine_messages", "emote_lists", - "is_wet" + "is_wet", + "wet_loop" ) //ommitted list @@ -152,13 +154,11 @@ SSbellies.belly_list += src /obj/belly/Destroy() + SSbellies.belly_list -= src if(owner) - Remove(owner) - return ..() - -/obj/belly/proc/Remove(mob/living/owner) - owner.vore_organs -= src - owner = null + owner.vore_organs -= src + owner = null + . = ..() // Called whenever an atom enters this belly /obj/belly/Entered(var/atom/movable/thing,var/atom/OldLoc) @@ -169,7 +169,7 @@ to_chat(owner,"[thing] slides into your [lowertext(name)].") //Sound w/ antispam flag setting - if(is_wet && (world.time > recent_sound)) + if(vore_sound && (world.time > recent_sound)) var/turf/source = get_turf(owner) var/sound/eating = GLOB.vore_sounds[vore_sound] for(var/mob/living/M in get_hearers_in_view(3, source)) @@ -187,7 +187,7 @@ // If that location is another mob, contents are transferred into whichever of its bellies the owning mob is in. // Returns the number of mobs so released. /obj/belly/proc/release_all_contents(var/include_absorbed = FALSE, var/silent = FALSE) - var/atom/destination = drop_location() +// var/atom/destination = drop_location() //Don't bother if we don't have contents if(!contents.len) return FALSE @@ -207,22 +207,18 @@ SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "fedprey", /datum/mood_event/fedprey) SEND_SIGNAL(OW, COMSIG_ADD_MOOD_EVENT, "emptypred", /datum/mood_event/emptypred) SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "emptyprey", /datum/mood_event/emptyprey) - AM.forceMove(destination) // Move the belly contents into the same location as belly's owner. - count++ - for(var/mob/living/M in get_hearers_in_view(2, get_turf(owner))) - if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) - var/sound/releasement = GLOB.release_sounds[release_sound] - SEND_SOUND(M, releasement) + count += release_specific_contents(AM, silent = TRUE) //Clean up our own business items_preserved.Cut() - if(isanimal(owner)) - owner.update_icons() + owner.update_icons() if(!silent) + for(var/mob/living/M in get_hearers_in_view(2, get_turf(owner))) + if(M.client && (M.client.prefs.cit_toggles & EATING_NOISES)) + var/sound/releasement = GLOB.release_sounds[release_sound] + SEND_SOUND(M, releasement) owner.visible_message("[owner] expels everything from their [lowertext(name)]!") - items_preserved.Cut() - owner.update_icons() return count @@ -235,16 +231,13 @@ M.forceMove(drop_location()) // Move the belly contents into the same location as belly's owner. items_preserved -= M - if(!silent) - for(var/mob/living/H in get_hearers_in_view(2, get_turf(owner))) - if(H.client && (H.client.prefs.cit_toggles & EATING_NOISES)) - var/sound/releasement = GLOB.release_sounds[release_sound] - SEND_SOUND(H, releasement) + if(istype(M,/mob/living)) var/mob/living/ML = M var/mob/living/OW = owner - ML.stop_sound_channel(CHANNEL_PREYLOOP) + if(ML.client) + ML.stop_sound_channel(CHANNEL_PREYLOOP) //Stop the internal loop, it'll restart if the isbelly check on next tick anyway ML.cure_blind("belly_[REF(src)]") SEND_SIGNAL(OW, COMSIG_CLEAR_MOOD_EVENT, "fedpred", /datum/mood_event/fedpred) SEND_SIGNAL(ML, COMSIG_CLEAR_MOOD_EVENT, "fedprey", /datum/mood_event/fedprey) @@ -263,12 +256,15 @@ Pred.reagents.trans_to(Prey, Pred.reagents.total_volume / absorbed_count) //Clean up our own business - if(isanimal(owner)) - owner.update_icons() + owner.update_icons() if(!silent) + for(var/mob/living/H in get_hearers_in_view(2, get_turf(owner))) + if(H.client && (H.client.prefs.cit_toggles & EATING_NOISES)) + var/sound/releasement = GLOB.release_sounds[release_sound] + SEND_SOUND(H, releasement) owner.visible_message("[owner] expels [M] from their [lowertext(name)]!") - owner.update_icons() + return TRUE // Actually perform the mechanics of devouring the tasty prey. @@ -312,13 +308,13 @@ /obj/belly/proc/transfer_contents(var/atom/movable/content, var/obj/belly/target, silent = FALSE) if(!(content in src) || !istype(target)) return + content.forceMove(target) for(var/mob/living/M in contents) M.cure_blind("belly_[REF(src)]") - target.nom_mob(content, target.owner) +// target.nom_mob(content, target.owner) if(!silent) - var/turf/source = get_turf(owner) var/sound/eating = GLOB.vore_sounds[vore_sound] - for(var/mob/living/M in get_hearers_in_view(3, source)) + for(var/mob/living/M in get_hearers_in_view(3, src)) if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) SEND_SOUND(M, eating) @@ -424,9 +420,12 @@ if(!M.dropItemToGround(W)) qdel(W) + //Incase they have the loop going, let's double check to stop it. + M.stop_sound_channel(CHANNEL_PREYLOOP) + // Delete the digested mob qdel(M) - M.stop_sound_channel(CHANNEL_PREYLOOP) + //Update owner owner.updateVRPanel() @@ -470,7 +469,7 @@ /obj/belly/drop_location() //Should be the case 99.99% of the time if(owner) - return owner.loc + return owner.drop_location() //Sketchy fallback for safety, put them somewhere safe. else if(ismob(src)) testing("[src] (\ref[src]) doesn't have an owner, and dropped someone at a latespawn point!") @@ -525,17 +524,16 @@ struggle_outer_message = "" + struggle_outer_message + "" struggle_user_message = "" + struggle_user_message + "" - var/turf/source = get_turf(owner) var/sound/struggle_snuggle = sound(get_sfx("struggle_sound")) var/sound/struggle_rustle = sound(get_sfx("rustle")) if(is_wet) - for(var/mob/living/M in get_hearers_in_view(3, source)) + for(var/mob/living/M in get_hearers_in_view(3, src)) if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) SEND_SOUND(M, struggle_snuggle) else - for(var/mob/living/M in get_hearers_in_view(3, source)) + for(var/mob/living/M in get_hearers_in_view(3, src)) if(M.client && M.client.prefs.cit_toggles & EATING_NOISES) SEND_SOUND(M, struggle_rustle) @@ -551,8 +549,10 @@ to_chat(R,"You start to climb out of \the [lowertext(name)].") to_chat(owner,"Someone is attempting to climb out of your [lowertext(name)]!") if(do_after(R, escapetime)) - if((owner.stat || escapable) && (R.loc == src)) //Can still escape? + if((escapable) && (R.loc == src)) //Can still escape? release_specific_contents(R) + to_chat(R,"You climb out of \the [lowertext(name)].") + to_chat(owner,"[R] climbs out of your [lowertext(name)]!") return else if(R.loc != src) //Aren't even in the belly. Quietly fail. return @@ -641,6 +641,7 @@ dupe.swallow_time = swallow_time dupe.vore_capacity = vore_capacity dupe.is_wet = is_wet + dupe.wet_loop = wet_loop //// Object-holding variables //struggle_messages_outside - strings diff --git a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes.dm similarity index 99% rename from modular_citadel/code/modules/vore/eating/bellymodes_vr.dm rename to code/modules/vore/eating/bellymodes.dm index da323f02e2..4784ec6f3b 100644 --- a/modular_citadel/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes.dm @@ -31,7 +31,7 @@ for(var/mob/living/M in contents) if(isbelly(M.loc)) if(world.time > M.next_preyloop) - if(is_wet) + if(is_wet && wet_loop) if(!M.client) continue M.stop_sound_channel(CHANNEL_PREYLOOP) // sanity just in case diff --git a/modular_citadel/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act.dm similarity index 100% rename from modular_citadel/code/modules/vore/eating/digest_act_vr.dm rename to code/modules/vore/eating/digest_act.dm diff --git a/modular_citadel/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living.dm similarity index 97% rename from modular_citadel/code/modules/vore/eating/living_vr.dm rename to code/modules/vore/eating/living.dm index d9adde04d1..e6ddcdc56d 100644 --- a/modular_citadel/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living.dm @@ -8,7 +8,7 @@ var/feeding = FALSE // Are we going to feed someone else? var/vore_taste = null // What the character tastes like var/no_vore = FALSE // If the character/mob can vore. - var/openpanel = 0 // Is the vore panel open? + var/openpanel = FALSE // Is the vore panel open? var/absorbed = FALSE //are we absorbed? var/next_preyloop var/vore_init = FALSE //Has this mob's vore been initialized yet? @@ -23,7 +23,7 @@ M.verbs += /mob/living/proc/escapeOOC if(M.no_vore) //If the mob isn't supposed to have a stomach, let's not give it an insidepanel so it can make one for itself, or a stomach. - return 1 + return TRUE M.verbs += /mob/living/proc/insidePanel //Tries to load prefs if a client is present otherwise gives freebie stomach @@ -31,8 +31,8 @@ if(M) M.init_vore() - //Return 1 to hook-caller - return 1 + //return TRUE to hook-caller + return TRUE /mob/living/proc/init_vore() vore_init = TRUE @@ -54,10 +54,10 @@ LAZYINITLIST(vore_organs) var/obj/belly/B = new /obj/belly(src) vore_selected = B - B.immutable = 1 + B.immutable = TRUE B.name = "Stomach" B.desc = "It appears to be rather warm and wet. Makes sense, considering it's inside [name]." - B.can_taste = 1 + B.can_taste = TRUE return TRUE // Handle being clicked, perhaps with something to devour @@ -183,7 +183,7 @@ if(prey.ckey) prey_stat = prey.stat//only return this if they're not an unmonkey or whatever if(!prey.client)//if they disconnected, tell us - prey_braindead = 1 + prey_braindead = TRUE if (pred == user) message_admins("[ADMIN_LOOKUPFLW(pred)] ate [ADMIN_LOOKUPFLW(prey)][!prey_braindead ? "" : " (BRAINDEAD)"][prey_stat ? " (DEAD/UNCONSCIOUS)" : ""].") pred.log_message("[key_name(pred)] ate [key_name(prey)].", LOG_ATTACK) @@ -212,7 +212,7 @@ //Other overridden resists go here - return 0 + return FALSE // internal slimy button in case the loop stops playing but the player wants to hear it /mob/living/proc/preyloop_refresh() @@ -265,28 +265,28 @@ // /mob/living/proc/save_vore_prefs() if(!client || !client.prefs_vr) - return 0 + return FALSE if(!copy_to_prefs_vr()) - return 0 + return FALSE if(!client.prefs_vr.save_vore()) - return 0 + return FALSE - return 1 + return TRUE /mob/living/proc/apply_vore_prefs() if(!client || !client.prefs_vr) - return 0 + return FALSE if(!client.prefs_vr.load_vore()) - return 0 + return FALSE if(!copy_from_prefs_vr()) - return 0 + return FALSE - return 1 + return TRUE /mob/living/proc/copy_to_prefs_vr() if(!client || !client.prefs_vr) to_chat(src,"You attempted to save your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.") - return 0 + return FALSE var/datum/vore_preferences/P = client.prefs_vr @@ -302,7 +302,7 @@ P.belly_prefs = serialized - return 1 + return TRUE // // Proc for applying vore preferences, given bellies @@ -310,7 +310,7 @@ /mob/living/proc/copy_from_prefs_vr() if(!client || !client.prefs_vr) to_chat(src,"You attempted to apply your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.") - return 0 + return FALSE vorepref_init = TRUE var/datum/vore_preferences/P = client.prefs_vr @@ -325,7 +325,7 @@ for(var/entry in P.belly_prefs) list_to_object(entry,src) - return 1 + return TRUE // // Release everything in every vore organ diff --git a/modular_citadel/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore.dm similarity index 94% rename from modular_citadel/code/modules/vore/eating/vore_vr.dm rename to code/modules/vore/eating/vore.dm index dc813d70aa..a9b14dcdc8 100644 --- a/modular_citadel/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore.dm @@ -84,22 +84,22 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) /datum/vore_preferences/proc/load_vore() if(!client || !client_ckey) - return 0 //No client, how can we save? + return FALSE //No client, how can we save? if(!client.prefs || !client.prefs.default_slot) - return 0 //Need to know what character to load! + return FALSE //Need to know what character to load! slot = client.prefs.default_slot load_path(client_ckey,slot) - if(!path) return 0 //Path couldn't be set? + if(!path) return FALSE //Path couldn't be set? if(!fexists(path)) //Never saved before save_vore() //Make the file first - return 1 + return TRUE var/list/json_from_file = json_decode(file2text(path)) if(!json_from_file) - return 0 //My concern grows + return FALSE //My concern grows var/version = json_from_file["version"] json_from_file = patch_version(json_from_file,version) @@ -120,11 +120,11 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) if(isnull(belly_prefs)) belly_prefs = list() - return 1 + return TRUE /datum/vore_preferences/proc/save_vore() if(!path) - return 0 + return FALSE var/version = VORE_VERSION //For "good times" use in the future var/list/settings_list = list( @@ -140,7 +140,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) var/json_to_file = json_encode(settings_list) if(!json_to_file) testing("Saving: [path] failed jsonencode") - return 0 + return FALSE //Write it out //#ifdef RUST_G @@ -153,9 +153,9 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) //#endif if(!fexists(path)) testing("Saving: [path] failed file write") - return 0 + return FALSE - return 1 + return TRUE /* commented out list things "allowmobvore" = allowmobvore, diff --git a/modular_citadel/code/modules/vore/eating/voreitems.dm b/code/modules/vore/eating/voreitems.dm similarity index 100% rename from modular_citadel/code/modules/vore/eating/voreitems.dm rename to code/modules/vore/eating/voreitems.dm diff --git a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel.dm similarity index 93% rename from modular_citadel/code/modules/vore/eating/vorepanel_vr.dm rename to code/modules/vore/eating/vorepanel.dm index ae7da895a6..781417d17c 100644 --- a/modular_citadel/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -21,10 +21,10 @@ picker_holder.popup = new(src, "insidePanel","Vore Panel", 450, 700, picker_holder) picker_holder.popup.set_content(dat) picker_holder.popup.open() - src.openpanel = 1 + src.openpanel = TRUE /mob/living/proc/updateVRPanel() //Panel popup update call from belly events. - if(src.openpanel == 1) + if(src.openpanel == TRUE) var/datum/vore_look/picker_holder = new() picker_holder.loop = picker_holder picker_holder.selected = vore_selected @@ -40,7 +40,7 @@ // /datum/vore_look var/obj/belly/selected - var/show_interacts = 0 + var/show_interacts = FALSE var/datum/browser/popup var/loop = null; // Magic self-reference to stop the handler from being GC'd before user takes action. @@ -163,6 +163,9 @@ //Belly Type button dat += "
Is Fleshy:" dat += "[selected.is_wet ? "Yes" : "No"]" + if(selected.is_wet) + dat += "
Internal loop for prey?:" + dat += "[selected.wet_loop ? "Yes" : "No"]" //Digest Mode Button dat += "
Belly Mode:" @@ -241,21 +244,19 @@ dat += "
" switch(user.digestable) if(TRUE) - dat += "Toggle Digestable (Currently: ON)" + dat += "
Toggle Digestable (Currently: ON)" if(FALSE) - dat += "Toggle Digestable (Currently: OFF)" - + dat += "
Toggle Digestable (Currently: OFF)" switch(user.devourable) if(TRUE) - dat += "
Toggle Devourable (Currently: ON)" + dat += "
Toggle Devourable (Currently: ON)" if(FALSE) - dat += "
Toggle Devourable (Currently: OFF)" - + dat += "
Toggle Devourable (Currently: OFF)" switch(user.feeding) if(TRUE) - dat += "
Toggle Feeding (Currently: ON)" + dat += "
Toggle Feeding (Currently: ON)" if(FALSE) - dat += "
Toggle Feeding (Currently: OFF)" + dat += "
Toggle Feeding (Currently: OFF)" //Returns the dat html to the vore_look return dat @@ -266,12 +267,12 @@ if(href_list["close"]) qdel(src) // Cleanup - user.openpanel = 0 + user.openpanel = FALSE return if(href_list["show_int"]) show_interacts = !show_interacts - return 1 //Force update + return TRUE //Force update if(href_list["int_help"]) alert("These control how your belly responds to someone using 'resist' while inside you. The percent chance to trigger each is listed below, \ @@ -279,13 +280,13 @@ These only function as long as interactions are turned on in general. Keep in mind, the 'belly mode' interactions (digest/absorb) \ will affect all prey in that belly, if one resists and triggers digestion/absorption. If multiple trigger at the same time, \ only the first in the order of 'Escape > Transfer > Absorb > Digest' will occur.","Interactions Help") - return 0 //Force update + return FALSE //Force update if(href_list["outsidepick"]) var/atom/movable/tgt = locate(href_list["outsidepick"]) var/obj/belly/OB = locate(href_list["outsidebelly"]) if(!(tgt in OB)) //Aren't here anymore, need to update menu. - return 1 + return TRUE var/intent = "Examine" if(istype(tgt,/mob/living)) @@ -298,7 +299,7 @@ if("Help Out") //Help the inside-mob out if(user.stat || user.absorbed || M.absorbed) to_chat(user,"You can't do that in your state!") - return 1 + return TRUE to_chat(user,"You begin to push [M] to freedom!") to_chat(M,"[usr] begins to push you to freedom!") @@ -317,11 +318,11 @@ if("Devour") //Eat the inside mob if(user.absorbed || user.stat) to_chat(user,"You can't do that in your state!") - return 1 + return TRUE if(!user.vore_selected) to_chat(user,"Pick a belly on yourself first!") - return 1 + return TRUE var/obj/belly/TB = user.vore_selected to_chat(user,"You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") @@ -339,7 +340,7 @@ var/obj/item/T = tgt if(!(tgt in OB)) //Doesn't exist anymore, update. - return 1 + return TRUE intent = alert("What do you want to do to that?","Query","Examine","Use Hand") switch(intent) if("Examine") @@ -348,7 +349,7 @@ if("Use Hand") if(user.stat) to_chat(user,"You can't do that in your state!") - return 1 + return TRUE user.ClickOn(T) sleep(5) //Seems to exit too fast for the panel to update @@ -361,23 +362,23 @@ intent = alert("Eject all, Move all?","Query","Eject all","Cancel","Move all") switch(intent) if("Cancel") - return 0 + return FALSE if("Eject all") if(user.stat) to_chat(user,"You can't do that in your state!") - return 0 + return FALSE selected.release_all_contents() if("Move all") if(user.stat) to_chat(user,"You can't do that in your state!") - return 0 + return FALSE var/obj/belly/choice = input("Move all where?","Select Belly") as null|anything in user.vore_organs if(!choice) - return 0 + return FALSE for(var/atom/movable/tgt in selected) to_chat(tgt,"You're squished from [user]'s [lowertext(selected)] to their [lowertext(choice.name)]!") @@ -385,7 +386,7 @@ var/atom/movable/tgt = locate(href_list["insidepick"]) if(!(tgt in selected)) //Old menu, needs updating because they aren't really there. - return 1 //Forces update + return TRUE //Forces update intent = "Examine" intent = alert("Examine, Eject, Move? Examine if you want to leave this box.","Query","Examine","Eject","Move") switch(intent) @@ -395,25 +396,25 @@ if("Eject") if(user.stat) to_chat(user,"You can't do that in your state!") - return 0 + return FALSE selected.release_specific_contents(tgt) if("Move") if(user.stat) to_chat(user,"You can't do that in your state!") - return 0 + return FALSE var/obj/belly/choice = input("Move [tgt] where?","Select Belly") as null|anything in user.vore_organs if(!choice || !(tgt in selected)) - return 0 + return FALSE to_chat(tgt,"You're squished from [user]'s [lowertext(selected.name)] to their [lowertext(choice.name)]!") selected.transfer_contents(tgt, choice) if(href_list["newbelly"]) if(user.vore_organs.len >= BELLIES_MAX) - return 0 + return FALSE var/new_name = html_encode(input(usr,"New belly's name:","New Belly") as text|null) @@ -430,7 +431,7 @@ if(failure_msg) //Something went wrong. alert(user,failure_msg,"Error!") - return 0 + return FALSE var/obj/belly/NB = new(user) NB.name = new_name @@ -459,19 +460,22 @@ if(failure_msg) //Something went wrong. alert(user,failure_msg,"Error!") - return 0 + return FALSE selected.name = new_name if(href_list["b_wetness"]) selected.is_wet = !selected.is_wet + if(href_list["b_wetloop"]) + selected.wet_loop = !selected.wet_loop + if(href_list["b_mode"]) var/list/menu_list = selected.digest_modes var/new_mode = input("Choose Mode (currently [selected.digest_mode])") as null|anything in menu_list if(!new_mode) - return 0 + return FALSE selected.digest_mode = new_mode if(href_list["b_desc"]) @@ -539,7 +543,7 @@ if(length(new_verb) > BELLIES_NAME_MAX || length(new_verb) < BELLIES_NAME_MIN) alert("Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error") - return 0 + return FALSE selected.vore_verb = new_verb @@ -586,17 +590,17 @@ selected.bulge_size = (new_bulge/100) if(href_list["b_escapable"]) - if(selected.escapable == 0) //Possibly escapable and special interactions. - selected.escapable = 1 + if(selected.escapable == FALSE) //Possibly escapable and special interactions. + selected.escapable = TRUE to_chat(usr,"Prey now have special interactions with your [lowertext(selected.name)] depending on your settings.") - else if(selected.escapable == 1) //Never escapable. - selected.escapable = 0 + else if(selected.escapable == TRUE) //Never escapable. + selected.escapable = FALSE to_chat(usr,"Prey will not be able to have special interactions with your [lowertext(selected.name)].") - show_interacts = 0 //Force the hiding of the panel + show_interacts = FALSE //Force the hiding of the panel else alert("Something went wrong. Your stomach will now not have special interactions. Press the button enable them again and tell a dev.","Error") //If they somehow have a varable that's not 0 or 1 - selected.escapable = 0 - show_interacts = 0 //Force the hiding of the panel + selected.escapable = FALSE + show_interacts = FALSE //Force the hiding of the panel if(href_list["b_escapechance"]) var/escape_chance_input = input(user, "Set prey escape chance on resist (as %)", "Prey Escape Chance") as num|null @@ -617,7 +621,7 @@ var/obj/belly/choice = input("Where do you want your [lowertext(selected.name)] to lead if prey resists?","Select Belly") as null|anything in (user.vore_organs + "None - Remove" - selected) if(!choice) //They cancelled, no changes - return 0 + return FALSE else if(choice == "None - Remove") selected.transferlocation = null else @@ -636,7 +640,7 @@ if(href_list["b_del"]) var/alert = alert("Are you sure you want to delete your [lowertext(selected.name)]?","Confirmation","Delete","Cancel") if(!alert == "Delete") - return 0 + return FALSE var/failure_msg = "" @@ -657,7 +661,7 @@ if(failure_msg) alert(user,failure_msg,"Error!") - return 0 + return FALSE qdel(selected) selected = user.vore_organs[1] @@ -674,7 +678,7 @@ if(href_list["applyprefs"]) var/alert = alert("Are you sure you want to reload character slot preferences? This will remove your current vore organs and eject their contents.","Confirmation","Reload","Cancel") if(!alert == "Reload") - return 0 + return FALSE if(!user.apply_vore_prefs()) alert("ERROR: Vore preferences failed to apply!","Error") else @@ -683,19 +687,19 @@ if(href_list["setflavor"]) var/new_flavor = html_encode(input(usr,"What your character tastes like (40ch limit). This text will be printed to the pred after 'X tastes of...' so just put something like 'strawberries and cream':","Character Flavor",user.vore_taste) as text|null) if(!new_flavor) - return 0 + return FALSE new_flavor = readd_quotes(new_flavor) if(length(new_flavor) > FLAVOR_MAX) alert("Entered flavor/taste text too long. [FLAVOR_MAX] character limit.","Error!") - return 0 + return FALSE user.vore_taste = new_flavor if(href_list["toggledg"]) var/choice = alert(user, "This button is for those who don't like being digested. It can make you undigestable to all mobs. Digesting you is currently: [user.digestable ? "Allowed" : "Prevented"]", "", "Allow Digestion", "Cancel", "Prevent Digestion") switch(choice) if("Cancel") - return 0 + return FALSE if("Allow Digestion") user.digestable = TRUE if("Prevent Digestion") @@ -708,7 +712,7 @@ var/choice = alert(user, "This button is for those who don't like vore at all. Devouring you is currently: [user.devourable ? "Allowed" : "Prevented"]", "", "Allow Devourment", "Cancel", "Prevent Devourment") switch(choice) if("Cancel") - return 0 + return FALSE if("Allow Devourment") user.devourable = TRUE if("Prevent Devourment") @@ -721,7 +725,7 @@ var/choice = alert(user, "This button is to toggle your ability to be fed to others. Feeding predators is currently: [user.feeding ? "Allowed" : "Prevented"]", "", "Allow Feeding", "Cancel", "Prevent Feeding") switch(choice) if("Cancel") - return 0 + return FALSE if("Allow Feeding") user.feeding = TRUE if("Prevent Feeding") @@ -731,4 +735,4 @@ user.client.prefs_vr.feeding = user.feeding //Refresh when interacted with, returning 1 makes vore_look.Topic update - return 1 \ No newline at end of file + return TRUE \ No newline at end of file diff --git a/modular_citadel/code/modules/vore/hook-defs_vr.dm b/code/modules/vore/hook-defs.dm similarity index 100% rename from modular_citadel/code/modules/vore/hook-defs_vr.dm rename to code/modules/vore/hook-defs.dm diff --git a/modular_citadel/code/modules/vore/persistence.dm b/code/modules/vore/persistence.dm similarity index 100% rename from modular_citadel/code/modules/vore/persistence.dm rename to code/modules/vore/persistence.dm diff --git a/modular_citadel/code/modules/vore/resizing/grav_pull_vr.dm b/code/modules/vore/resizing/grav_pull_vr.dm similarity index 100% rename from modular_citadel/code/modules/vore/resizing/grav_pull_vr.dm rename to code/modules/vore/resizing/grav_pull_vr.dm diff --git a/modular_citadel/code/modules/vore/resizing/holder_micro_vr.dm b/code/modules/vore/resizing/holder_micro_vr.dm similarity index 100% rename from modular_citadel/code/modules/vore/resizing/holder_micro_vr.dm rename to code/modules/vore/resizing/holder_micro_vr.dm diff --git a/modular_citadel/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm similarity index 100% rename from modular_citadel/code/modules/vore/resizing/resize_vr.dm rename to code/modules/vore/resizing/resize_vr.dm diff --git a/modular_citadel/code/modules/vore/resizing/sizechemicals.dm b/code/modules/vore/resizing/sizechemicals.dm similarity index 100% rename from modular_citadel/code/modules/vore/resizing/sizechemicals.dm rename to code/modules/vore/resizing/sizechemicals.dm diff --git a/modular_citadel/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm similarity index 100% rename from modular_citadel/code/modules/vore/resizing/sizegun_vr.dm rename to code/modules/vore/resizing/sizegun_vr.dm diff --git a/modular_citadel/code/modules/vore/trycatch_vr.dm b/code/modules/vore/trycatch.dm similarity index 100% rename from modular_citadel/code/modules/vore/trycatch_vr.dm rename to code/modules/vore/trycatch.dm diff --git a/tgstation.dme b/tgstation.dme index eff6a4e418..764a77f336 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2887,6 +2887,17 @@ #include "code\modules\vending\toys.dm" #include "code\modules\vending\wardrobes.dm" #include "code\modules\vending\youtool.dm" +#include "code\modules\vore\hook-defs.dm" +#include "code\modules\vore\persistence.dm" +#include "code\modules\vore\trycatch.dm" +#include "code\modules\vore\eating\belly_dat_vr.dm" +#include "code\modules\vore\eating\belly_obj.dm" +#include "code\modules\vore\eating\bellymodes.dm" +#include "code\modules\vore\eating\digest_act.dm" +#include "code\modules\vore\eating\living.dm" +#include "code\modules\vore\eating\vore.dm" +#include "code\modules\vore\eating\voreitems.dm" +#include "code\modules\vore\eating\vorepanel.dm" #include "code\modules\VR\vr_mob.dm" #include "code\modules\VR\vr_sleeper.dm" #include "code\modules\zombie\items.dm" @@ -3109,16 +3120,5 @@ #include "modular_citadel\code\modules\research\techweb\_techweb.dm" #include "modular_citadel\code\modules\research\xenobiology\xenobio_camera.dm" #include "modular_citadel\code\modules\vehicles\secway.dm" -#include "modular_citadel\code\modules\vore\hook-defs_vr.dm" -#include "modular_citadel\code\modules\vore\persistence.dm" -#include "modular_citadel\code\modules\vore\trycatch_vr.dm" -#include "modular_citadel\code\modules\vore\eating\belly_dat_vr.dm" -#include "modular_citadel\code\modules\vore\eating\belly_obj_vr.dm" -#include "modular_citadel\code\modules\vore\eating\bellymodes_vr.dm" -#include "modular_citadel\code\modules\vore\eating\digest_act_vr.dm" -#include "modular_citadel\code\modules\vore\eating\living_vr.dm" -#include "modular_citadel\code\modules\vore\eating\vore_vr.dm" -#include "modular_citadel\code\modules\vore\eating\voreitems.dm" -#include "modular_citadel\code\modules\vore\eating\vorepanel_vr.dm" #include "modular_citadel\interface\skin.dmf" // END_INCLUDE