diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index a2e85cfc62f..35eed0736ca 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -556,7 +556,7 @@ var/list/preferences_datums = list() blood color */ if (copy_name) - if(CONFIG_GET(flag/humans_need_surnames)) // CHOMPEdit + if(CONFIG_GET(flag/humans_need_surnames)) var/firstspace = findtext(real_name, " ") var/name_length = length(real_name) if(!firstspace) //we need a surname @@ -717,7 +717,7 @@ var/list/preferences_datums = list() character.weight_gain = weight_gain character.weight_loss = weight_loss character.fuzzy = fuzzy - character.offset_override = offset_override //CHOMPEdit + character.offset_override = offset_override character.voice_freq = voice_freq character.resize(size_multiplier, animate = FALSE, ignore_prefs = TRUE) diff --git a/code/modules/mob/living/carbon/human/human_helpers_vr.dm b/code/modules/mob/living/carbon/human/human_helpers_vr.dm index bc880b67b82..28eea3e81e9 100644 --- a/code/modules/mob/living/carbon/human/human_helpers_vr.dm +++ b/code/modules/mob/living/carbon/human/human_helpers_vr.dm @@ -249,7 +249,7 @@ var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi') weight_gain = character.weight_gain weight_loss = character.weight_loss fuzzy = character.fuzzy - offset_override = character.offset_override //CHOMPEdit + offset_override = character.offset_override voice_freq = character.voice_freq if (species && character.species) species.micro_size_mod = character.species.micro_size_mod diff --git a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm index 479e4ec5cc4..ff72e018e7c 100644 --- a/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/prommie_blob.dm @@ -12,13 +12,16 @@ //appearance_flags = RADIATION_GLOWS shock_resist = 0 // Lets not be immune to zaps. friendly = list("nuzzles", "glomps", "snuggles", "cuddles", "squishes") // lets be cute :3 - melee_damage_upper = 0 - melee_damage_lower = 0 + harm_intent_damage = 3 + melee_damage_lower = 5 + melee_damage_upper = 5 + see_in_dark = 10 player_msg = "You're a little squisher! Your cuteness level has increased tenfold." heat_damage_per_tick = 20 // Hot and cold are bad, but cold is AS bad for prommies as it is for slimes. cold_damage_per_tick = 20 //glow_range = 0 //glow_intensity = 0 + has_hands = 1 // brings in line with Proteans' own blob form. var/mob/living/carbon/human/humanform var/datum/modifier/healing @@ -86,6 +89,13 @@ humanform.species.update_misc_tabs(src) /mob/living/simple_mob/slime/promethean/handle_special() // Should disable default slime healing, we'll use nutrition based heals instead. +// They already heal from their carbon form while even in slime form, but this is for a small bonus healing for being unformed. + adjustOxyLoss(-0.2) + adjustToxLoss(-0.2) + adjustFireLoss(-0.2) + adjustCloneLoss(-0.2) + adjustBruteLoss(-0.2) + adjustHalLoss(-6) // HalLoss ticks down FAST if(rad_glow) rad_glow = CLAMP(rad_glow,0,250) set_light(max(1,min(5,rad_glow/15)), max(1,min(10,rad_glow/25)), color) @@ -322,13 +332,6 @@ return fulllist /mob/living/carbon/human var/mob/living/simple_mob/slime/promethean/stored_blob = null - -var/global/list/disallowed_protean_accessories = list( - /obj/item/clothing/accessory/holster, - /obj/item/clothing/accessory/storage, - /obj/item/clothing/accessory/armor - ) - // Helpers - Unsafe, WILL perform change. /mob/living/carbon/human/proc/prommie_intoblob(force) if(!force && !isturf(loc)) @@ -375,25 +378,14 @@ var/global/list/disallowed_protean_accessories = list( drop_from_inventory(H) things_to_drop -= H - for(var/obj/item/I in things_to_drop) //rip hoarders - drop_from_inventory(I) - - if(w_uniform && istype(w_uniform,/obj/item/clothing)) //No webbings tho. We do this after in case a suit was in the way - var/obj/item/clothing/uniform = w_uniform - if(LAZYLEN(uniform.accessories)) - for(var/obj/item/clothing/accessory/A in uniform.accessories) - if(is_type_in_list(A, disallowed_protean_accessories)) - uniform.remove_accessory(null,A) //First param is user, but adds fingerprints and messages - //Size update blob.transform = matrix()*size_multiplier blob.size_multiplier = size_multiplier - if(l_hand) blob.prev_left_hand = l_hand //Won't save them if dropped above, but necessary if handdrop is disabled. - if(r_hand) blob.prev_right_hand = r_hand + if(l_hand) drop_from_inventory(l_hand) + if(r_hand) drop_from_inventory(r_hand) //Put our owner in it (don't transfer var/mind) - blob.Weaken(2) blob.transforming = TRUE blob.ckey = ckey blob.ooc_notes = ooc_notes @@ -401,6 +393,7 @@ var/global/list/disallowed_protean_accessories = list( blob.ooc_notes_dislikes = ooc_notes_dislikes blob.transforming = FALSE blob.name = name + blob.real_name = real_name blob.nutrition = nutrition blob.color = rgb(r_skin, g_skin, b_skin) playsound(src.loc, "sound/effects/slime_squish.ogg", 15) @@ -418,6 +411,18 @@ var/global/list/disallowed_protean_accessories = list( remove_verb(blob, /mob/living/proc/ventcrawl) // Absolutely not. remove_verb(blob, /mob/living/simple_mob/proc/set_name) // We already have a name. temporary_form = blob + + var/obj/item/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) + if(wear_id) + blob.myid = wear_id.GetID() + //Mail them to nullspace moveToNullspace() @@ -467,7 +472,6 @@ var/global/list/disallowed_protean_accessories = list( forceMove(reform_spot) //Put our owner in it (don't transfer var/mind) - Weaken(2) playsound(src.loc, "sound/effects/slime_squish.ogg", 15) transforming = TRUE ckey = blob.ckey @@ -500,8 +504,15 @@ var/global/list/disallowed_protean_accessories = list( B.owner = src //vore_organs.Cut() - if(blob.prev_left_hand) put_in_l_hand(blob.prev_left_hand) //The restore for when reforming. - if(blob.prev_right_hand) put_in_r_hand(blob.prev_right_hand) + + 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) + blob.mob_radio.forceMove(src) + blob.mob_radio = null + if(blob.myid) + blob.myid = null 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. diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index 41050773116..39f39eb447e 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -74,19 +74,19 @@ humanform = H updatehealth() refactory = locate() in humanform.internal_organs - add_verb(src,/mob/living/proc/usehardsuit) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_partswap) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_regenerate) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_metalnom) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_blobform) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_rig_transform) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/appearance_switch) //CHOMPEdit TGPanel - add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_latch) //CHOMPEdit TGPanel - remove_verb(src,/mob/living/simple_mob/proc/nutrition_heal) //CHOMPEdit TGPanel + add_verb(src,/mob/living/proc/usehardsuit) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_partswap) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_regenerate) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_metalnom) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_blobform) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_rig_transform) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/appearance_switch) + add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_latch) + remove_verb(src,/mob/living/simple_mob/proc/nutrition_heal) else update_icon() - add_verb(src,/mob/living/simple_mob/proc/animal_mount) //CHOMPEdit TGPanel - add_verb(src,/mob/living/proc/toggle_rider_reins) //CHOMPEdit TGPanel + add_verb(src,/mob/living/simple_mob/proc/animal_mount) + add_verb(src,/mob/living/proc/toggle_rider_reins) //Hidden verbs for macro hotkeying /mob/living/simple_mob/protean_blob/proc/nano_partswap() @@ -378,39 +378,6 @@ else ..() - -/* Don't need this block anymore since our Prots have hands -/mob/living/simple_mob/protean_blob/attack_target(var/atom/A) - if(refactory && istype(A,/obj/item/stack/material)) - var/obj/item/stack/material/S = A - var/substance = S.material.name - var allowed = FALSE - for(var/material in PROTEAN_EDIBLE_MATERIALS) - if(material == substance) allowed = TRUE - if(!allowed) - return - if(refactory.add_stored_material(S.material.name,1*S.perunit) && S.use(1)) - visible_message(span_infoplain(span_bold("[name]") + " gloms over some of \the [S], absorbing it.")) - else if(isitem(A) && a_intent == "grab") //CHOMP Add all this block, down to I.forceMove. - var/obj/item/I = A - if(!vore_selected) - to_chat(src,span_warning("You either don't have a belly selected, or don't have a belly!")) - return FALSE - if(is_type_in_list(I,item_vore_blacklist) || I.anchored) - to_chat(src, span_warning("You can't eat this.")) - return - - if(is_type_in_list(I,edible_trash) | adminbus_trash) - if(I.hidden_uplink) - to_chat(src, span_warning("You really should not be eating this.")) - message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? "JMP" : "null"])") - return - visible_message(span_infoplain(span_bold("[name]") + " stretches itself over the [I], engulfing it whole!")) - I.forceMove(vore_selected) - else - return ..() -*/ - /mob/living/simple_mob/protean_blob/attackby(var/obj/item/O, var/mob/user) if(refactory && istype(O,/obj/item/stack/material)) var/obj/item/stack/material/S = O @@ -487,6 +454,8 @@ //Put our owner in it (don't transfer var/mind) blob.ckey = ckey blob.ooc_notes = ooc_notes + blob.ooc_notes_likes = ooc_notes_likes + blob.ooc_notes_dislikes = ooc_notes_dislikes temporary_form = blob var/obj/item/radio/R = null if(isradio(l_ear)) @@ -497,8 +466,7 @@ blob.mob_radio = R R.forceMove(blob) if(wear_id) - blob.myid = wear_id - wear_id.forceMove(blob) + blob.myid = wear_id.GetID() //Mail them to nullspace moveToNullspace() @@ -584,7 +552,6 @@ blob.mob_radio.forceMove(src) blob.mob_radio = null if(blob.myid) - blob.myid.forceMove(src) blob.myid = null //Play the animation @@ -614,6 +581,8 @@ //Put our owner in it (don't transfer var/mind) ckey = blob.ckey ooc_notes = blob.ooc_notes // Lets give the protean any updated notes from blob form. + ooc_notes_likes = blob.ooc_notes_likes + ooc_notes_dislikes = blob.ooc_notes_dislikes temporary_form = null //Transfer vore organs diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index 0eba8870997..a9cfac531fa 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -170,7 +170,7 @@ update_canmove() weakened = 2 - revive_ready = world.time + 10 MINUTES //set the cooldown CHOMPEdit: Reduced this to 10 minutes, you're playing with fire if you're reviving that often. + revive_ready = world.time + 10 MINUTES //set the cooldown, Reduced this to 10 minutes, you're playing with fire if you're reviving that often. /datum/modifier/resleeving_sickness/chimera //near identical to the regular version, just with different flavortexts name = "imperfect regeneration" diff --git a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm index f9525966645..c7cd2212956 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm @@ -888,7 +888,7 @@ suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi' clip_mask_state = "taur_clip_mask_noodle" icon_sprite_tag = "noodle" -/* CHOMPEdit - removed as a sprite accessory of the same name already exists for us, and having this here stops it from registering as a sprite accessory. + /datum/sprite_accessory/tail/taur/sect_drone name = "Sect Drone (Taur)" icon_state = "sect_drone" @@ -909,7 +909,7 @@ msg_owner_grab_fail = "You step down onto %prey, squishing them and forcing them down to the ground!" msg_prey_grab_fail = "%owner steps down and squishes you with their leg, forcing you down to the ground!" -*/ + /datum/sprite_accessory/tail/taur/sect_drone/fat name = "Fat Sect Drone (Taur)" icon_state = "fat_sect_drone"