diff --git a/code/__DEFINES/voreconstants.dm b/code/__DEFINES/voreconstants.dm
index cd4204514c..72609a8828 100644
--- a/code/__DEFINES/voreconstants.dm
+++ b/code/__DEFINES/voreconstants.dm
@@ -2,18 +2,17 @@
#define DM_HOLD "Hold"
#define DM_DIGEST "Digest"
#define DM_HEAL "Heal"
-#define DM_DIGESTF "Fast Digest"
#define VORE_STRUGGLE_EMOTE_CHANCE 40
// Stance for hostile mobs to be in while devouring someone.
#define HOSTILE_STANCE_EATING 99
+/* // removing sizeplay again
+GLOBAL_LIST_INIT(player_sizes_list, list("Macro" = SIZESCALE_HUGE, "Big" = SIZESCALE_BIG, "Normal" = SIZESCALE_NORMAL, "Small" = SIZESCALE_SMALL, "Tiny" = SIZESCALE_TINY))
+ // moved to sound.dm // Edited to make the new travis check go away
-var/global/list/player_sizes_list = list("Macro" = SIZESCALE_HUGE, "Big" = SIZESCALE_BIG, "Normal" = SIZESCALE_NORMAL, "Small" = SIZESCALE_SMALL, "Tiny" = SIZESCALE_TINY)
-/* // moved to sound.dm
-
-var/global/list/digestion_sounds = list(
+GLOBAL_LIST_INIT(digestion_sounds = list(
'sound/vore/digest1.ogg',
'sound/vore/digest2.ogg',
'sound/vore/digest3.ogg',
@@ -27,7 +26,7 @@ var/global/list/digestion_sounds = list(
'sound/vore/digest11.ogg',
'sound/vore/digest12.ogg')
-var/global/list/death_sounds = list(
+GLOBAL_LIST_INIT(death_sounds = list(
'sound/vore/death1.ogg',
'sound/vore/death2.ogg',
'sound/vore/death3.ogg',
@@ -39,7 +38,7 @@ var/global/list/death_sounds = list(
'sound/vore/death9.ogg',
'sound/vore/death10.ogg') */
-var/global/list/vore_sounds = list(
+GLOBAL_LIST_INIT(vore_sounds, list(
"Gulp" = 'sound/vore/gulp.ogg',
"Insert" = 'sound/vore/insert.ogg',
"Insertion1" = 'sound/vore/insertion1.ogg',
@@ -49,13 +48,15 @@ var/global/list/vore_sounds = list(
"Squish1" = 'sound/vore/squish1.ogg',
"Squish2" = 'sound/vore/squish2.ogg',
"Squish3" = 'sound/vore/squish3.ogg',
- "Squish4" = 'sound/vore/squish4.ogg')
-/* also moved to sound.dmi
-var/global/list/struggle_sounds = list(
+ "Squish4" = 'sound/vore/squish4.ogg'))
+
+GLOBAL_LIST_INIT(struggle_sounds, list(
"Squish1" = 'sound/vore/squish1.ogg',
"Squish2" = 'sound/vore/squish2.ogg',
"Squish3" = 'sound/vore/squish3.ogg',
- "Squish4" = 'sound/vore/squish4.ogg')
+ "Squish4" = 'sound/vore/squish4.ogg'))
+
+/* also moved to sound.dmi
/proc/log_debug(text)
if (config.log_debug)
@@ -63,4 +64,4 @@ var/global/list/struggle_sounds = list(
for(var/client/C in admins)
if(C.prefs.toggles & CHAT_DEBUGLOGS)
- C << "DEBUG: [text]" */
\ No newline at end of file
+ C << "DEBUG: [text]" */
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 8d0c20d63d..d6ed179aba 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -134,6 +134,18 @@
soundin = pick('sound/machines/terminal_button01.ogg', 'sound/machines/terminal_button02.ogg', 'sound/machines/terminal_button03.ogg', \
'sound/machines/terminal_button04.ogg', 'sound/machines/terminal_button05.ogg', 'sound/machines/terminal_button06.ogg', \
'sound/machines/terminal_button07.ogg', 'sound/machines/terminal_button08.ogg')
+ //Vore sounds
+ if ("digestion_sounds")
+ soundin = pick('sound/vore/digest1.ogg', 'sound/vore/digest2.ogg', 'sound/vore/digest3.ogg', \
+ 'sound/vore/digest4.ogg', 'sound/vore/digest5.ogg', 'sound/vore/digest6.ogg', \
+ 'sound/vore/digest7.ogg', 'sound/vore/digest8.ogg', 'sound/vore/digest9.ogg', \
+ 'sound/vore/digest10.ogg','sound/vore/digest11.ogg', 'sound/vore/digest12.ogg')
+ if ("death_gurgles")
+ soundin = pick('sound/vore/death1.ogg', 'sound/vore/death2.ogg', 'sound/vore/death3.ogg', \
+ 'sound/vore/death4.ogg', 'sound/vore/death5.ogg', 'sound/vore/death6.ogg', \
+ 'sound/vore/death7.ogg', 'sound/vore/death8.ogg', 'sound/vore/death9.ogg', 'sound/vore/death10.ogg')
+ if ("struggle_sounds")
+ soundin = pick('sound/vore/squish1.ogg', 'sound/vore/squish2.ogg', 'sound/vore/squish3.ogg', 'sound/vore/squish4.ogg')
return soundin
/proc/playsound_global(file, repeat=0, wait, channel, volume)
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index d4eebe34d9..78c3e4e1df 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -29,6 +29,7 @@
var/leaping = 0
gib_type = /obj/effect/decal/cleanable/xenoblood/xgibs
unique_name = 1
+ devourable = TRUE
var/static/regex/alien_name_regex = new("alien (larva|sentinel|drone|hunter|praetorian|queen)( \\(\\d+\\))?")
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 4921fe48c6..e5af3d5904 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -14,6 +14,7 @@
unique_name = 1
bodyparts = list(/obj/item/bodypart/chest/monkey, /obj/item/bodypart/head/monkey, /obj/item/bodypart/l_arm/monkey,
/obj/item/bodypart/r_arm/monkey, /obj/item/bodypart/r_leg/monkey, /obj/item/bodypart/l_leg/monkey)
+ devourable = TRUE
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index a915836356..89dedede13 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -29,6 +29,7 @@
var/turns_since_scan = 0
var/mob/living/simple_animal/mouse/movement_target
gold_core_spawnable = 2
+ devourable = TRUE
/mob/living/simple_animal/pet/cat/Initialize()
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index bcc8e1d90e..f09c0ba9ae 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -12,6 +12,7 @@
see_in_dark = 5
speak_chance = 1
turns_per_move = 10
+ devourable = TRUE
//Corgis and pugs are now under one dog subtype
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index ff045182b3..50711f25ea 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -28,6 +28,7 @@
stop_automated_movement_when_pulled = 1
blood_volume = BLOOD_VOLUME_NORMAL
var/obj/item/udder/udder = null
+ devourable = TRUE
/mob/living/simple_animal/hostile/retaliate/goat/Initialize()
udder = new()
@@ -105,6 +106,7 @@
var/obj/item/udder/udder = null
gold_core_spawnable = 2
blood_volume = BLOOD_VOLUME_NORMAL
+ devourable = TRUE
/mob/living/simple_animal/cow/Initialize()
udder = new()
@@ -180,6 +182,7 @@
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
gold_core_spawnable = 2
+ devourable = TRUE
/mob/living/simple_animal/chick/Initialize()
..()
@@ -235,6 +238,7 @@
var/list/validColors = list("brown","black","white")
gold_core_spawnable = 2
var/static/chicken_count = 0
+ devourable = TRUE
/mob/living/simple_animal/chicken/Initialize()
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm
index 86b4fbf5a8..3f9648c4bc 100644
--- a/code/modules/mob/living/simple_animal/friendly/fox.dm
+++ b/code/modules/mob/living/simple_animal/friendly/fox.dm
@@ -18,6 +18,46 @@
response_disarm = "gently pushes aside"
response_harm = "kicks"
gold_core_spawnable = 2
+ devourable = TRUE
+ var/mob/living/simple_animal/mouse/movement_target
+ var/turns_since_scan = 0
+
+/mob/living/simple_animal/pet/fox/Life()
+ //MICE!
+ if((src.loc) && isturf(src.loc))
+ if(!stat && !resting && !buckled)
+ for(var/mob/living/simple_animal/mouse/M in view(1,src))
+ if(!M.stat && Adjacent(M))
+ emote("me", 1, "splats \the [M]!")
+ M.splat()
+ movement_target = null
+ stop_automated_movement = 0
+ break
+ for(var/obj/item/toy/cattoy/T in view(1,src))
+ if (T.cooldown < (world.time - 400))
+ emote("me", 1, "bats \the [T] around with its paw!")
+ T.cooldown = world.time
+
+ ..()
+
+ if(!stat && !resting && !buckled)
+ turns_since_scan++
+ if(turns_since_scan > 5)
+ walk_to(src,0)
+ turns_since_scan = 0
+ if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
+ movement_target = null
+ stop_automated_movement = 0
+ if( !movement_target || !(movement_target.loc in oview(src, 3)) )
+ movement_target = null
+ stop_automated_movement = 0
+ for(var/mob/living/simple_animal/mouse/snack in oview(src,3))
+ if(isturf(snack.loc) && !snack.stat)
+ movement_target = snack
+ break
+ if(movement_target)
+ stop_automated_movement = 1
+ walk_to(src,movement_target,0,3)
//Captain fox
/mob/living/simple_animal/pet/fox/Renault
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 1189273adb..7d45923833 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -24,6 +24,7 @@
var/body_color //brown, gray and white, leave blank for random
gold_core_spawnable = 2
var/chew_probability = 1
+ devourable = TRUE
/mob/living/simple_animal/mouse/Initialize()
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm
index baad2da95c..cb62ccb070 100644
--- a/code/modules/mob/living/simple_animal/friendly/pet.dm
+++ b/code/modules/mob/living/simple_animal/friendly/pet.dm
@@ -5,6 +5,7 @@
var/image/collar = null
var/image/pettag = null
blood_volume = BLOOD_VOLUME_NORMAL
+ devourable = TRUE
/mob/living/simple_animal/pet/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/clothing/neck/petcollar) && !pcollar)
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index ac5709fd22..df096f2306 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -59,6 +59,7 @@
mob_size = MOB_SIZE_SMALL
movement_type = FLYING
gold_core_spawnable = 2
+ devourable = TRUE
var/parrot_damage_upper = 10
var/parrot_state = PARROT_WANDER //Hunt for a perch when created
diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm
index c3f8130564..0c5150f4ea 100644
--- a/code/modules/vore/eating/belly_vr.dm
+++ b/code/modules/vore/eating/belly_vr.dm
@@ -16,15 +16,15 @@
var/human_prey_swallow_time = 100 // Time in deciseconds to swallow /mob/living/carbon/human
var/nonhuman_prey_swallow_time = 60 // Time in deciseconds to swallow anything else
var/emoteTime = 300 // How long between stomach emotes at prey
- var/digest_brute = 1 // Brute damage per tick in digestion mode
- var/digest_burn = 3 // Burn damage per tick in digestion mode
+ var/digest_brute = 0 // Brute damage per tick in digestion mode
+ var/digest_burn = 1 // Burn damage per tick in digestion mode
var/digest_tickrate = 9 // Modulus this of air controller tick number to iterate gurgles on
var/immutable = FALSE // Prevents this belly from being deleted
var/escapable = TRUE // Belly can be resisted out of at any time
var/escapetime = 200 // Deciseconds, how long to escape this belly
var/escapechance = 45 // % Chance of prey beginning to escape if prey struggles.
var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest.
- var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_DIGESTF) // Possible digest modes
+ var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL) // Possible digest modes
var/tmp/mob/living/owner // The mob whose belly this is.
var/tmp/list/internal_contents = list() // People/Things you've eaten into this belly!
var/tmp/is_full // Flag for if digested remeans are present. (for disposal messages)
@@ -232,7 +232,7 @@
for (var/mob/subprey in belly.internal_contents)
subprey.loc = owner
internal_contents.Add(subprey)
- subprey << "As [M] melts away around you, you find yourself in [owner]'s [name]"
+ to_chat(subprey, "As [M] melts away around you, you find yourself in [owner]'s [name]")
//Drop all items into the belly.
for(var/obj/item/W in M)
@@ -254,8 +254,8 @@
R.setClickCooldown(50)
if(owner.stat) //If owner is stat (dead, KO) we can actually escape
- R << "You attempt to climb out of \the [name]. (This will take around [escapetime/10] seconds.)"
- owner << "Someone is attempting to climb out of your [name]!"
+ to_chat(R, "You attempt to climb out of \the [name]. (This will take around [escapetime/10] seconds.)")
+ to_chat(owner, "Someone is attempting to climb out of your [name]!")
if(do_after(R, escapetime, owner))
if((owner.stat || escapable) && (R in internal_contents)) //Can still escape?
@@ -264,8 +264,8 @@
else if(!(R in internal_contents)) //Aren't even in the belly. Quietly fail.
return
else //Belly became inescapable or mob revived
- R << "Your attempt to escape [name] has failed!"
- owner << "The attempt to escape from your [name] has failed!"
+ to_chat(R, "Your attempt to escape [name] has failed!")
+ to_chat(owner, "The attempt to escape from your [name] has failed!")
return
return
var/struggle_outer_message = pick(struggle_messages_outside)
@@ -288,27 +288,27 @@
playsound(R.loc, "struggle_sounds", 50, 0, -5)
if(escapable && R.a_intent != "help") //If the stomach has escapable enabled and the person is actually trying to kick out
- R << "You attempt to climb out of \the [name]."
- owner << "Someone is attempting to climb out of your [name]!"
+ to_chat(R, "You attempt to climb out of \the [name].")
+ to_chat(owner, "Someone is attempting to climb out of your [name]!")
if(prob(escapechance)) //Let's have it check to see if the prey escapes first.
if(do_after(R, escapetime))
if((escapable) && (R in internal_contents)) //Does the owner still have escapable enabled?
release_specific_contents(R)
- R << "You climb out of \the [name]."
- owner << "[R] climbs out of your [name]!"
+ to_chat(R, "You climb out of \the [name].")
+ to_chat(owner, "[R] climbs out of your [name]!")
for(var/mob/M in hearers(4, owner))
M.visible_message("[R] climbs out of [owner]'s [name]!", 2)
return
else if(!(R in internal_contents)) //Aren't even in the belly. Quietly fail.
return
else //Belly became inescapable.
- R << "Your attempt to escape [name] has failed!"
- owner << "The attempt to escape from your [name] has failed!"
+ to_chat(R, "Your attempt to escape [name] has failed!")
+ to_chat(owner, "The attempt to escape from your [name] has failed!/span>")
return
else //Nothing interesting happened.
- R << "But make no progress in escaping [owner]'s [name]."
- owner << "But appears to be unable to make any progress in escaping your [name]."
+ to_chat(R, "But make no progress in escaping [owner]'s [name].")
+ to_chat(owner, "But appears to be unable to make any progress in escaping your [name].")
return
else
return
@@ -366,4 +366,4 @@
for(var/I in emote_lists[K])
dupe.emote_lists[K] += I
- return dupe
\ No newline at end of file
+ return dupe
diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm
index 559388f542..ff6636c4e6 100644
--- a/code/modules/vore/eating/bellymodes_vr.dm
+++ b/code/modules/vore/eating/bellymodes_vr.dm
@@ -42,8 +42,8 @@
digest_alert_prey = replacetext(digest_alert_prey,"%belly",lowertext(name))
//Send messages
- owner << "" + digest_alert_owner + ""
- M << "" + digest_alert_prey + ""
+ to_chat(owner, "[digest_alert_owner]")
+ M.visible_message("You watch as [owner]'s form loses its additions.", "[digest_alert_prey]")
owner.nutrition += 400 // so eating dead mobs gives you *something*.
playsound(owner.loc, "death_gurgles", 50, 0, -5)
@@ -58,49 +58,6 @@
owner.nutrition += 1
return
-//////////////////////////// DM_DIGESTF ////////////////////////////
- if(digest_mode == DM_DIGESTF)
-
- if(prob(50))
- playsound(owner.loc, "digestion_sounds", 55, 0, -3) //slightly louder 'cuz heavier gurgles
-
- for (var/mob/living/M in internal_contents)
- //Pref protection!
- if (!M.digestable)
- continue
-
- //Person just died in guts!
- if(M.stat == DEAD)
- var/digest_alert_owner = pick(digest_messages_owner)
- var/digest_alert_prey = pick(digest_messages_prey)
-
- //Replace placeholder vars
- digest_alert_owner = replacetext(digest_alert_owner,"%pred",owner)
- digest_alert_owner = replacetext(digest_alert_owner,"%prey",M)
- digest_alert_owner = replacetext(digest_alert_owner,"%belly",lowertext(name))
-
- digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner)
- digest_alert_prey = replacetext(digest_alert_prey,"%prey",M)
- digest_alert_prey = replacetext(digest_alert_prey,"%belly",lowertext(name))
-
- //Send messages
- owner << "" + digest_alert_owner + ""
- M << "" + digest_alert_prey + ""
- M.visible_message("[digest_alert_owner]", "[digest_alert_prey]",
- "You watch as [owner]'s form lose its additions.")
- owner.nutrition += 400 // so eating dead mobs gives you *something*.
- playsound(owner.loc, "death_gurgles", 50, 0, -5)
- digestion_death(M)
- owner.update_icons()
- continue
-
- // Deal digestion damage (and feed the pred)
- if(!(M.status_flags & GODMODE))
- M.adjustBruteLoss(2)
- M.adjustFireLoss(3)
- owner.nutrition += 1
- return
-
///////////////////////////// DM_HEAL /////////////////////////////
if(digest_mode == DM_HEAL)
if(prob(50))
@@ -112,4 +69,4 @@
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
owner.nutrition -= 10
- return
\ No newline at end of file
+ return
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 9a7dbd6708..68f0ca775b 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -1,10 +1,10 @@
///////////////////// Mob Living /////////////////////
/mob/living
- var/digestable = 1 // Can the mob be digested inside a belly?
+ var/digestable = TRUE // Can the mob be digested inside a belly?
var/datum/belly/vore_selected // Default to no vore capability.
var/list/vore_organs = list() // List of vore containers inside a mob
- var/devourable = 0 // Can the mob be vored at all?
-// var/feeding = 0 // Are we going to feed someone else?
+ var/devourable = FALSE // Can the mob be vored at all?
+// var/feeding = FALSE // Are we going to feed someone else?
//
@@ -73,13 +73,13 @@
// if(!feeding(src))
// return
if(!is_vore_predator(prey))
- user << "They aren't voracious enough."
+ to_chat(user, "They aren't voracious enough.")
return
feed_self_to_grabbed(user, src)
if(user == src) //you click yourself
if(!is_vore_predator(src))
- user << "You aren't voracious enough."
+ to_chat(user, "You aren't voracious enough.")
return
user.feed_grabbed_to_self(src, prey)
@@ -87,7 +87,7 @@
// if(!feeding(src))
// return
if(!is_vore_predator(src))
- user << "They aren't voracious enough."
+ to_chat(user, "They aren't voracious enough.")
return
feed_grabbed_to_other(user, prey, src)
//
@@ -123,7 +123,7 @@
if(!user || !prey || !pred || !belly || !(belly in pred.vore_organs))
return
if (!prey.devourable)
- user << "This can't be eaten!"
+ to_chat(user, "This can't be eaten!")
return
// The belly selected at the time of noms
var/datum/belly/belly_target = pred.vore_organs[belly]
@@ -267,7 +267,7 @@
pred.update_icons()
else
- src << "You aren't inside anything, you clod."
+ to_chat(src, "You aren't inside anything, you clod.")
//
// Verb for saving vore preferences to save file
@@ -323,4 +323,4 @@
var/datum/belly/Bp = P.belly_prefs[I]
src.vore_organs[Bp.name] = Bp.copy(src)
- return TRUE
\ No newline at end of file
+ return TRUE
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index f647a78fb0..1111a7d418 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -38,8 +38,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
/datum/vore_preferences
//Actual preferences
- var/digestable = 1
- var/devourable = 0
+ var/digestable = TRUE
+ var/devourable = FALSE
var/list/belly_prefs = list()
//Mechanically required
@@ -82,19 +82,19 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
// Save/Load Vore Preferences
//
/datum/vore_preferences/proc/load_vore()
- if(!client || !client_ckey) return 0 //No client, how can we save?
+ if(!client || !client_ckey) return FALSE //No client, how can we save?
slot = client.prefs.default_slot
path = client.prefs.path
- 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 TRUE
var/savefile/S = new /savefile(path)
- if(!S) return 0 //Savefile object couldn't be created?
+ if(!S) return FALSE //Savefile object couldn't be created?
S.cd = "/character[slot]"
@@ -103,23 +103,23 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
S["belly_prefs"] >> belly_prefs
if(isnull(digestable))
- digestable = 1
+ digestable = TRUE
if(isnull(devourable))
- devourable = 0
+ devourable = FALSE
if(isnull(belly_prefs))
belly_prefs = list()
- return 1
+ return TRUE
/datum/vore_preferences/proc/save_vore()
- if(!path) return 0
- if(!slot) return 0
+ if(!path) return FALSE
+ if(!slot) return FALSE
var/savefile/S = new /savefile(path)
- if(!S) return 0
+ if(!S) return FALSE
S.cd = "/character[slot]"
S["digestable"] << digestable
S["devourable"] << devourable
S["belly_prefs"] << belly_prefs
- return 1
\ No newline at end of file
+ return TRUE
diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm
index e6d00991c8..2c58fb12ca 100644
--- a/code/modules/vore/eating/vorepanel_vr.dm
+++ b/code/modules/vore/eating/vorepanel_vr.dm
@@ -74,8 +74,6 @@
spanstyle = ""
if(DM_DIGEST)
spanstyle = "color:red;"
- if(DM_DIGESTF)
- spanstyle = "color:purple;"
if(DM_HEAL)
spanstyle = "color:green;"
@@ -134,16 +132,16 @@
dat += "Refresh"
switch(user.digestable)
- if(1)
- dat += "Toggle Digestable"
- if(0)
- dat += "Toggle Digestable"
+ if(TRUE)
+ dat += "Toggle Digestable (Currently: ON)"
+ if(FALSE)
+ dat += "Toggle Digestable (Currently: OFF)"
switch(user.devourable)
- if(1)
- dat += "Toggle Devourable"
- if(0)
- dat += "Toggle Devourable"
+ if(TRUE)
+ dat += "Toggle Devourable (Currently: ON)"
+ if(FALSE)
+ dat += "Toggle Devourable (Currently: OFF)"
//Returns the dat html to the vore_look
return dat
@@ -169,34 +167,34 @@
M.examine(user)
if("Help Out") //Help the inside-mob out
- user << "You begin to push [M] to freedom!"
- M << "[usr] begins to push you to freedom!"
+ to_chat(user, "You begin to push [M] to freedom!")
+ to_chat(M, "[usr] begins to push you to freedom!")
M.loc << "Someone is trying to escape from inside you!"
sleep(50)
if(prob(33))
OB.release_specific_contents(M)
- usr << "You manage to help [M] to safety!"
- M << "[user] pushes you free!"
+ to_chat(usr, "You manage to help [M] to safety!")
+ to_chat(M, "[user] pushes you free!")
M.loc << "[M] forces free of the confines of your body!"
else
- user << "[M] slips back down inside despite your efforts."
- M << " Even with [user]'s help, you slip back inside again."
+ to_chat(user, "[M] slips back down inside despite your efforts.")
+ to_chat(M, " Even with [user]'s help, you slip back inside again.")
M.loc << "Your body efficiently shoves [M] back where they belong."
if("Devour") //Eat the inside mob
if(!user.vore_selected)
- user << "Pick a belly on yourself first!"
- return 1
+ to_chat(user, "Pick a belly on yourself first!")
+ return TRUE
var/datum/belly/TB = user.vore_organs[user.vore_selected]
- user << "You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!"
- M << "[user] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!"
+ to_chat(user, "You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!")
+ to_chat(M, "[user] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!")
M.loc << "Someone inside you is eating someone else!"
sleep(TB.nonhuman_prey_swallow_time)
if((user in OB.internal_contents) && (M in OB.internal_contents))
- user << "You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!"
- M << "[user] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!"
+ to_chat(user, "You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!")
+ to_chat(M, "[user] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!")
M.loc << "Someone inside you has eaten someone else!"
M.loc = user
TB.nom_mob(M)
@@ -211,8 +209,8 @@
if("Use Hand")
if(user.stat)
- user << "You can't do that in your state!"
- return 1
+ to_chat(user, "You can't do that in your state!")
+ return TRUE
user.ClickOn(T)
sleep(5) //Seems to exit too fast for the panel to update
@@ -229,8 +227,8 @@
if("Eject all")
if(user.stat)
- user << "You can't do that in your state!"
- return 1
+ to_chat(user, "You can't do that in your state!")
+ return TRUE
selected.release_all_contents()
playsound(user, 'sound/effects/splat.ogg', 50, 1)
@@ -238,24 +236,24 @@
if("Move all")
if(user.stat)
- user << "You can't do that in your state!"
- return 1
+ to_chat(user, "You can't do that in your state!")
+ return TRUE
var/choice = input("Move all where?","Select Belly") in user.vore_organs + "Cancel - Don't Move"
if(choice == "Cancel - Don't Move")
- return 1
+ return TRUE
else
var/datum/belly/B = user.vore_organs[choice]
for(var/atom/movable/tgt in selected.internal_contents)
selected.internal_contents -= tgt
B.internal_contents += tgt
- tgt << "You're squished from [user]'s [selected] to their [B]!"
+ to_chat(tgt, "You're squished from [user]'s [selected] to their [B]!")
for(var/mob/hearer in range(1,user))
hearer << sound('sound/vore/squish2.ogg',volume=80)
- return 1
+ return TRUE
var/atom/movable/tgt = locate(href_list["insidepick"])
@@ -267,8 +265,8 @@
if("Eject")
if(user.stat)
- user << "You can't do that in your state!"
- return 1
+ to_chat(user, "You can't do that in your state!")
+ return TRUE
selected.release_specific_contents(tgt)
playsound(user, 'sound/effects/splat.ogg', 50, 1)
@@ -276,34 +274,34 @@
if("Move")
if(user.stat)
- user << "You can't do that in your state!"
- return 1
+ to_chat(user, "You can't do that in your state!")
+ return TRUE
var/choice = input("Move [tgt] where?","Select Belly") in user.vore_organs + "Cancel - Don't Move"
if(choice == "Cancel - Don't Move")
- return 1
+ return TRUE
else
var/datum/belly/B = user.vore_organs[choice]
selected.internal_contents -= tgt
B.internal_contents += tgt
- tgt << "You're squished from [user]'s [lowertext(selected.name)] to their [lowertext(B.name)]!"
+ to_chat(tgt, "You're squished from [user]'s [lowertext(selected.name)] to their [lowertext(B.name)]!")
for(var/mob/hearer in range(1,user))
hearer << sound('sound/vore/squish2.ogg',volume=80)
if(href_list["newbelly"])
if(user.vore_organs.len >= 10)
- return 1
+ return TRUE
var/new_name = html_encode(input(usr,"New belly's name:","New Belly") as text|null)
if(length(new_name) > 12 || length(new_name) < 2)
- usr << "Entered belly name is too long."
- return 0
+ to_chat(usr, "Entered belly name is too long.")
+ return FALSE
if(new_name in user.vore_organs)
- usr << "No duplicate belly names, please."
- return 0
+ to_chat(usr, "No duplicate belly names, please.")
+ return FALSE
var/datum/belly/NB = new(user)
NB.name = new_name
@@ -319,11 +317,11 @@
var/new_name = html_encode(input(usr,"Belly's new name:","New Name") as text|null)
if(length(new_name) > 12 || length(new_name) < 2)
- usr << "Entered belly name length invalid (must be longer than 2, shorter than 12)."
- return 0
+ to_chat(usr, "Entered belly name length invalid (must be longer than 2, shorter than 12).")
+ return FALSE
if(new_name in user.vore_organs)
- usr << "No duplicate belly names, please."
- return 0
+ to_chat(usr, "No duplicate belly names, please.")
+ return FALSE
user.vore_organs[new_name] = selected
user.vore_organs -= selected.name
@@ -349,7 +347,7 @@
new_desc = readd_quotes(new_desc)
if(length(new_desc) > 1024)
- usr << "Entered belly desc too long. 1024 character limit."
+ to_chat(usr, "Entered belly desc too long. 1024 character limit.")
return FALSE
selected.inside_flavor = new_desc
@@ -404,35 +402,35 @@
selected.struggle_messages_inside = initial(selected.struggle_messages_inside)
if("Cancel - No Changes")
- return 1
+ return TRUE
if(href_list["b_verb"])
var/new_verb = html_encode(input(usr,"New verb when eating (infinitive tense, e.g. nom or swallow):","New Verb") as text|null)
if(length(new_verb) > 12 || length(new_verb) < 2)
- usr << "Entered verb length invalid (must be longer than 2, shorter than 12)."
+ to_chat(usr, "Entered verb length invalid (must be longer than 2, shorter than 12).")
return FALSE
selected.vore_verb = new_verb
if(href_list["b_sound"])
- var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") in vore_sounds + "Cancel - No Changes"
+ var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") in GLOB.vore_sounds + "Cancel - No Changes"
if(choice == "Cancel")
return 1
- selected.vore_sound = vore_sounds[choice]
+ selected.vore_sound = GLOB.vore_sounds[choice]
if(href_list["b_soundtest"])
user << selected.vore_sound
if(href_list["b_del"])
if(selected.internal_contents.len)
- usr << "Can't delete bellies with contents!"
+ to_chat(usr, "Can't delete bellies with contents!")
else if(selected.immutable)
- usr << "This belly is marked as undeletable."
+ to_chat(usr, "This belly is marked as undeletable.")
else if(user.vore_organs.len == 1)
- usr << "You must have at least one belly."
+ to_chat(usr, "You must have at least one belly.")
else
var/alert = alert("Are you sure you want to delete [selected]?","Confirmation","Delete","Cancel")
if(alert == "Delete" && !selected.internal_contents.len)
@@ -443,10 +441,10 @@
if(href_list["saveprefs"])
if(user.save_vore_prefs())
- user << "Belly Preferences saved!"
+ to_chat(user, "Belly Preferences saved!")
else
- user << "ERROR: Belly Preferences were not saved!"
+ to_chat(user, "ERROR: Belly Preferences were not saved!")
log_admin("Could not save vore prefs on USER: [user].")
@@ -456,9 +454,9 @@
if("Cancel")
return 1
if("Allow Digestion")
- user.digestable = 1
+ user.digestable = TRUE
if("Prevent Digestion")
- user.digestable = 0
+ user.digestable = FALSE
if(user.client.prefs_vr)
user.client.prefs_vr.digestable = user.digestable
@@ -469,9 +467,9 @@
if("Cancel")
return 1
if("Allow Devourment")
- user.devourable = 1
+ user.devourable = TRUE
if("Prevent Devourment")
- user.devourable = 0
+ user.devourable = FALSE
if(user.client.prefs_vr)
user.client.prefs_vr.devourable = user.devourable
diff --git a/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm
index 06b3b1b2e8..a5e611ee4d 100644
--- a/code/modules/vore/resizing/resize_vr.dm
+++ b/code/modules/vore/resizing/resize_vr.dm
@@ -1,17 +1,16 @@
-
+/*
//these aren't defines so they can stay in this file
-var/const/SIZESCALE_HUGE = 2
-var/const/SIZESCALE_BIG = 1.5
-var/const/SIZESCALE_NORMAL = 1
-var/const/SIZESCALE_SMALL = 0.85
-var/const/SIZESCALE_TINY = 0.60
-
-//average
-var/const/SIZESCALE_A_HUGEBIG = (SIZESCALE_HUGE + SIZESCALE_BIG) / 2
-var/const/SIZESCALE_A_BIGNORMAL = (SIZESCALE_BIG + SIZESCALE_NORMAL) / 2
-var/const/SIZESCALE_A_NORMALSMALL = (SIZESCALE_NORMAL + SIZESCALE_SMALL) / 2
-var/const/SIZESCALE_A_SMALLTINY = (SIZESCALE_SMALL + SIZESCALE_TINY) / 2
+GLOBAL_VAR_CONST(SIZESCALE_HUGE, 2)
+GLOBAL_VAR_CONST(SIZESCALE_BIG, 1.5)
+GLOBAL_VAR_CONST(SIZESCALE_NORMAL, 1)
+GLOBAL_VAR_CONST(SIZESCALE_SMALL, 0.85)
+GLOBAL_VAR_CONST(SIZESCALE_TINY, 0.60)
+GLOBAL_VAR_CONST(SIZESCALE_A_HUGEBIG, (GLOB.SIZESCALE_HUGE + GLOB.SIZESCALE_BIG) / 2)
+GLOBAL_VAR_CONST(SIZESCALE_A_BIGNORMAL, (GLOB.SIZESCALE_BIG + GLOB.SIZESCALE_NORMAL) / 2)
+GLOBAL_VAR_CONST(SIZESCALE_A_NORMALSMALL,(GLOB.SIZESCALE_NORMAL + GLOB.SIZESCALE_SMALL) / 2)
+GLOBAL_VAR_CONST(SIZESCALE_A_SMALLTINY,(GLOB.SIZESCALE_SMALL + GLOB.SIZESCALE_TINY) / 2)
+*/
// Adding needed defines to /mob/living
// Note: Polaris had this on /mob/living/carbon/human We need it higher up for animals and stuff.
/mob/living
@@ -205,4 +204,4 @@ var/const/SIZESCALE_A_SMALLTINY = (SIZESCALE_SMALL + SIZESCALE_TINY) / 2
src << "You pin [tmob] beneath your foot!"
tmob << "[src] pins you beneath their foot!"
return 1
-*/
\ No newline at end of file
+*/
diff --git a/tgstation.dme b/tgstation.dme
index f5f66b6bd4..171e998234 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2140,8 +2140,6 @@
#include "code\modules\vore\eating\simple_animal_vr.dm"
#include "code\modules\vore\eating\vore_vr.dm"
#include "code\modules\vore\eating\vorepanel_vr.dm"
-#include "code\modules\vore\resizing\resize_vr.dm"
-#include "code\modules\vore\resizing\sizegun_vr.dm"
#include "code\modules\VR\vr_human.dm"
#include "code\modules\VR\vr_sleeper.dm"
#include "code\modules\zombie\items.dm"