mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 03:33:21 +00:00
Even more fixes
This commit is contained in:
@@ -307,7 +307,7 @@
|
||||
|
||||
//VOREStation Add Start Makes it so that simplemobs can understand galcomm without being able to speak it.
|
||||
/mob/living/simple_mob/say_understands(var/mob/other, var/datum/language/speaking = null)
|
||||
if(understands_common && speaking?.name == LANGUAGE_GALCOM)
|
||||
if(understands_common && (speaking?.name == LANGUAGE_GALCOM || !speaking))
|
||||
return TRUE
|
||||
return ..()
|
||||
//Vorestation Add End
|
||||
|
||||
@@ -374,11 +374,11 @@
|
||||
switch(message_mode)
|
||||
if("intercom")
|
||||
for(var/obj/item/device/radio/intercom/I in view(1, null))
|
||||
I.talk_into(src, message, verb, speaking)
|
||||
I.talk_into(src,message,message_mode,verb,speaking)
|
||||
used_radios += I
|
||||
if("headset")
|
||||
if(mob_radio && istype(mob_radio,/obj/item/device/radio/headset/mob_headset))
|
||||
mob_radio.talk_into(src,message,null,verb,speaking)
|
||||
if(mob_radio && istype(mob_radio,/obj/item/device/radio)) //CHOMPEdit - Why does it specifically have to be mob_headset? Bad.
|
||||
mob_radio.talk_into(src,message,message_mode,verb,speaking)
|
||||
used_radios += mob_radio
|
||||
else
|
||||
if(message_mode)
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
/*
|
||||
init_vore() was moved to only be called when vore organs are needed. This is also responsible for loading vore prefs.
|
||||
This file is here to make vore prefs default to off so that someone who hasn't opened their vore panel during a round
|
||||
won't accidentally be prefbroken.
|
||||
|
||||
Also, these should've been defaulted to off in the first place.
|
||||
*/
|
||||
/mob/living/carbon/human
|
||||
digestable = FALSE
|
||||
devourable = FALSE
|
||||
feeding = FALSE
|
||||
absorbable = FALSE
|
||||
digest_leave_remains = FALSE
|
||||
allowmobvore = FALSE
|
||||
showvoreprefs = FALSE
|
||||
permit_healbelly = FALSE
|
||||
can_be_drop_prey = FALSE
|
||||
can_be_drop_pred = FALSE
|
||||
show_vore_fx = FALSE
|
||||
@@ -44,7 +44,6 @@
|
||||
var/latejoin_vore = FALSE //CHOMPedit: If enabled, latejoiners can spawn into this, assuming they have a client
|
||||
var/latejoin_prey = FALSE //CHOMPedit: If enabled, latejoiners can spawn ontop of and instantly eat the victim
|
||||
var/noisy_full = FALSE //CHOMPedit: Enables belching when a mob has overeaten
|
||||
var/bellies_loaded = FALSE //CHOMPedit: On-demand belly loading
|
||||
var/regen_sounds = list(
|
||||
'sound/effects/mob_effects/xenochimera/regen_1.ogg',
|
||||
'sound/effects/mob_effects/xenochimera/regen_2.ogg',
|
||||
@@ -211,12 +210,12 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/apply_vore_prefs(var/full_vorgans = FALSE) //CHOMPedit: full_vorgans var to bypass 1-belly load optimization.
|
||||
/mob/living/proc/apply_vore_prefs()
|
||||
if(!client || !client.prefs_vr)
|
||||
return FALSE
|
||||
if(!client.prefs_vr.load_vore())
|
||||
return FALSE
|
||||
if(!copy_from_prefs_vr(full_vorgans = full_vorgans)) //CHOMPedit: full_vorgans var to bypass 1-belly load optimization.
|
||||
if(!copy_from_prefs_vr())
|
||||
return FALSE
|
||||
|
||||
return TRUE
|
||||
@@ -306,12 +305,8 @@
|
||||
if(bellies)
|
||||
release_vore_contents(silent = TRUE)
|
||||
QDEL_LIST(vore_organs)
|
||||
bellies_loaded = FALSE //CHOMPedit
|
||||
for(var/entry in P.belly_prefs)
|
||||
list_to_object(entry,src)
|
||||
if(!full_vorgans) //CHOMPedit: full_vorgans var to bypass 1-belly load optimization.
|
||||
break //CHOMPedit: Belly load optimization. Only load first belly, save the rest for vorepanel.
|
||||
bellies_loaded = TRUE //CHOMPedit
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -19,16 +19,6 @@
|
||||
log_debug("[src] ([type], \ref[src]) didn't have a vorePanel and tried to use the verb.")
|
||||
vorePanel = new(src)
|
||||
|
||||
if(!bellies_loaded) //CHOMPedit Start: On-demand belly loading
|
||||
var/datum/vore_preferences/P = client.prefs_vr
|
||||
var/firstbelly = FALSE // First belly loaded on init_vore
|
||||
for(var/entry in P.belly_prefs)
|
||||
if(!firstbelly)
|
||||
firstbelly = TRUE
|
||||
continue
|
||||
list_to_object(entry,src)
|
||||
bellies_loaded = TRUE //CHOMPedit End
|
||||
|
||||
vorePanel.tgui_interact(src)
|
||||
|
||||
/mob/living/proc/updateVRPanel() //Panel popup update call from belly events.
|
||||
@@ -414,7 +404,7 @@
|
||||
var/alert = tgui_alert(usr, "Are you sure you want to reload character slot preferences? This will remove your current vore organs and eject their contents.","Confirmation",list("Reload","Cancel"))
|
||||
if(alert != "Reload")
|
||||
return FALSE
|
||||
if(!host.apply_vore_prefs(TRUE)) //CHOMPedit: full_vorgans var to bypass 1-belly load optimization.
|
||||
if(!host.apply_vore_prefs())
|
||||
tgui_alert_async(usr, "ERROR: Chomp-specific preferences failed to apply!","Error")
|
||||
else
|
||||
to_chat(usr,"<span class='notice'>Chomp-specific preferences applied from active slot!</span>")
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
can_buckle = 1
|
||||
has_hands = 1
|
||||
shock_resist = 1
|
||||
nameset = 1
|
||||
|
||||
/datum/say_list/protean_blob
|
||||
speak = list("Blrb?","Sqrsh.","Glrsh!")
|
||||
@@ -344,8 +345,8 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
|
||||
// Helpers - Unsafe, WILL perform change.
|
||||
/mob/living/carbon/human/proc/nano_intoblob(force)
|
||||
if(loc == /obj/item/weapon/rig/protean) //CHOMP Add
|
||||
return //CHOMP Add
|
||||
if(loc == /obj/item/weapon/rig/protean)
|
||||
return
|
||||
if(!force && !isturf(loc))
|
||||
to_chat(src,"<span class='warning'>You can't change forms while inside something.</span>")
|
||||
return
|
||||
@@ -378,6 +379,14 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
blob.ckey = ckey
|
||||
blob.ooc_notes = ooc_notes
|
||||
temporary_form = blob
|
||||
var/obj/item/device/radio/R = null
|
||||
if(isradio(l_ear))
|
||||
R = l_ear
|
||||
if(isradio(r_ear))
|
||||
R = r_ear
|
||||
if(R)
|
||||
blob.mob_radio = R
|
||||
R.forceMove(blob)
|
||||
|
||||
//Mail them to nullspace
|
||||
moveToNullspace()
|
||||
@@ -395,9 +404,11 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
for(var/obj/belly/B as anything in vore_organs)
|
||||
B.forceMove(blob)
|
||||
B.owner = blob
|
||||
vore_organs.Cut()
|
||||
|
||||
//We can still speak our languages!
|
||||
blob.languages = languages.Copy()
|
||||
blob.name = real_name
|
||||
|
||||
//Flip them to the protean panel
|
||||
client?.statpanel = "Protean"
|
||||
@@ -450,6 +461,10 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
if(blob.l_hand) blob.drop_from_inventory(blob.l_hand)
|
||||
if(blob.r_hand) blob.drop_from_inventory(blob.r_hand)
|
||||
|
||||
if(blob.mob_radio)
|
||||
var/obj/item/device/radio/R = blob.mob_radio
|
||||
R.forceMove(src)
|
||||
|
||||
//Play the animation
|
||||
blob.icon_state = "from_puddle"
|
||||
|
||||
@@ -474,10 +489,12 @@ var/global/list/disallowed_protean_accessories = list(
|
||||
temporary_form = null
|
||||
|
||||
//Transfer vore organs
|
||||
vore_organs = blob.vore_organs
|
||||
vore_selected = blob.vore_selected
|
||||
for(var/obj/belly/B as anything in blob.vore_organs)
|
||||
B.forceMove(src)
|
||||
B.owner = src
|
||||
languages = blob.languages.Copy()
|
||||
|
||||
Life(1) //Fix my blindness right meow //Has to be moved up here, there exists a circumstance where blob could be deleted without vore organs moving right.
|
||||
|
||||
|
||||
@@ -82,14 +82,18 @@
|
||||
update_icons_body()
|
||||
|
||||
/mob/living/carbon/human/proc/nano_regenerate()
|
||||
set name = "Ref - Whole Body"
|
||||
set desc = "Allows you to regrow limbs and replace organs, given you have enough materials."
|
||||
set name = "Total Reassembly (wip)"
|
||||
set desc = "Completely reassemble yourself from whatever save slot you have loaded in preferences. Assuming you meet the requirements."
|
||||
set category = "Abilities"
|
||||
set hidden = 1
|
||||
if(temporary_form)
|
||||
to_chat(temporary_form,"<span class ='warning'>This function isn't coded yet. Soon, my child.</span>")
|
||||
else
|
||||
to_chat(src,"<span class ='warning'>This function isn't coded yet. Soon, my child.</span>")
|
||||
|
||||
|
||||
|
||||
if(stat)
|
||||
/*if(stat)
|
||||
to_chat(src,"<span class='warning'>You must be awake and standing to perform this action!</span>")
|
||||
return
|
||||
|
||||
@@ -182,7 +186,7 @@
|
||||
to_chat(src, "<span class='critical'>Your refactoring is interrupted.</span>")
|
||||
to_chat(blob, "<span class='critical'>Your refactoring is interrupted!</span>")
|
||||
active_regen = 0
|
||||
nano_outofblob(blob)
|
||||
nano_outofblob(blob)*/
|
||||
|
||||
////
|
||||
// Storing metal
|
||||
@@ -440,8 +444,8 @@ CHOMP Removal end*/
|
||||
to_call = /mob/living/carbon/human/proc/nano_partswap
|
||||
|
||||
/obj/effect/protean_ability/reform_body
|
||||
ability_name = "Ref - Whole Body"
|
||||
desc = "Rebuild your entire body into whatever design you want, assuming you have 10,000 metal."
|
||||
ability_name = "Total Reassembly (wip)"
|
||||
desc = "Completely reassemble yourself from whatever save slot you have loaded in preferences. Assuming you meet the requirements."
|
||||
icon_state = "body"
|
||||
to_call = /mob/living/carbon/human/proc/nano_regenerate
|
||||
|
||||
|
||||
Reference in New Issue
Block a user