Skip to content

Commit

Permalink
requested changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
SandPoot committed Sep 7, 2024
1 parent 6345add commit cf38c1a
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 44 deletions.
68 changes: 29 additions & 39 deletions modular_zubbers/code/datums/components/vore/vore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,13 @@
vore_mode_action.unset_ranged_ability(user)
vore_mode_action.build_all_button_icons(UPDATE_BUTTON_BACKGROUND | UPDATE_BUTTON_STATUS)

if(!check_vore_grab(user, clicked_on))
if(!check_vore_grab(user))
to_chat(user, span_danger("You must have an aggressive grab to do vore."))
return TRUE
var/mob/living/pulled = user.pulling

if(clicked_on == user) // Parent wants to eat pulled
vore_other(clicked_on)
vore_other()
else if(clicked_on == pulled) // Parent wants to feed themselves to pulled
feed_self_to_other()
else // Parent wants to feed pulled to clicked_on
Expand Down Expand Up @@ -362,86 +362,76 @@

return TRUE

/proc/check_vore_grab(mob/living/grabber, mob/living/grabbed)
if(QDELETED(grabber))
/proc/check_vore_grab(mob/living/grabber)
var/mob/living/grabee = grabber.pulling
if(!istype(grabee))
return FALSE
if(QDELETED(grabbed))
if(ishuman(grabber) && grabber.grab_state < GRAB_AGGRESSIVE)
return FALSE
if(istype(grabbed.loc, /obj/item/clothing/head/mob_holder))
return TRUE
if(ishuman(grabber) && grabber.pulling)
if(grabber.grab_state >= GRAB_AGGRESSIVE)
return TRUE
else
return FALSE
return TRUE

/datum/component/vore/proc/vore_other(mob/living/prey)
var/mob/living/pred = parent
if(!prey)
prey = pred.pulling
if(!check_vore_grab(pred, prey))
if(!check_vore_grab(pred) && !istype(prey.loc, /obj/item/clothing/head/mob_holder))
to_chat(parent, span_danger("You must have a[ishuman(pred) ? "n aggressive" : ""] grab to eat someone."))
return FALSE
return
if(!check_vore_preferences(parent, pred, prey))
return FALSE
return
#ifdef VORE_DELAY
pred.visible_message(span_danger("[pred] is attempting to [lowertext(selected_belly.insert_verb)] [prey] into their [lowertext(selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
if(!do_after(pred, VORE_DELAY, prey))
return FALSE
if(!check_vore_grab(pred, prey) || !check_vore_preferences(parent, pred, prey, assume_active_consent = TRUE))
return FALSE
return
if(!check_vore_grab(pred) || !check_vore_preferences(parent, pred, prey, assume_active_consent = TRUE))
return
#endif
pred.visible_message(span_danger("[pred] manages to [lowertext(selected_belly.insert_verb)] [prey] into their [lowertext(selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
complete_vore(prey)
return TRUE

/datum/component/vore/proc/feed_self_to_other()
var/mob/living/prey = parent
var/mob/living/pred = prey.pulling
if(!check_vore_grab(prey, pred))
if(!check_vore_grab(prey))
to_chat(parent, span_danger("You must have a[ishuman(prey) ? "n aggressive" : ""] grab to feed yourself to someone."))
return FALSE
return
var/mob/living/pred = prey.pulling
if(!check_vore_preferences(parent, pred, prey))
return FALSE
return
// check_vore_preferences asserts this exists
var/datum/component/vore/pred_component = pred.GetComponent(/datum/component/vore)
#ifdef VORE_DELAY
prey.visible_message(span_danger("[prey] is attempting to make [pred] [lowertext(pred_component.selected_belly.insert_verb)] [prey] into their [lowertext(pred_component.selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
if(!do_after(prey, VORE_DELAY, pred))
return FALSE
if(!check_vore_grab(prey, pred) || !check_vore_preferences(parent, pred, prey, assume_active_consent = TRUE))
return FALSE
return
if(!check_vore_grab(prey) || !check_vore_preferences(parent, pred, prey, assume_active_consent = TRUE))
return
#endif
prey.visible_message(span_danger("[prey] manages to make [pred] [lowertext(pred_component.selected_belly.insert_verb)] [prey] into their [lowertext(pred_component.selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
pred_component.complete_vore(prey)
return TRUE

/datum/component/vore/proc/feed_other_to_other(mob/living/pred, mob/living/prey)
/datum/component/vore/proc/feed_other_to_other(mob/living/pred)
var/mob/living/feeder = parent
if(!prey)
prey = feeder.pulling
if(!check_vore_grab(feeder, prey))
if(!check_vore_grab(feeder))
to_chat(feeder, span_danger("You must have a[ishuman(feeder) ? "n aggressive" : ""] grab to feed someone to someone else."))
return FALSE
return
if(!feeder.can_perform_action(pred, pred.interaction_flags_click | FORBID_TELEKINESIS_REACH))
return FALSE
return
var/mob/living/prey = feeder.pulling
if(!check_vore_preferences(feeder, pred, prey))
return FALSE
return
// check_vore_preferences asserts this exists
var/datum/component/vore/pred_component = pred.GetComponent(/datum/component/vore)
#ifdef VORE_DELAY
feeder.visible_message(span_danger("[feeder] is attempting to make [pred] [lowertext(pred_component.selected_belly.insert_verb)] [prey] into their [lowertext(pred_component.selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
if(!do_after(feeder, VORE_DELAY, pred))
return FALSE
if(!check_vore_grab(feeder, prey) || !check_vore_preferences(feeder, pred, prey, assume_active_consent = TRUE))
return FALSE
return
if(!check_vore_grab(feeder) || !check_vore_preferences(feeder, pred, prey, assume_active_consent = TRUE))
return
if(!feeder.can_perform_action(pred, pred.interaction_flags_click | FORBID_TELEKINESIS_REACH))
return FALSE
return
#endif
feeder.visible_message(span_danger("[feeder] manages to make [pred] [lowertext(pred_component.selected_belly.insert_verb)] [prey] into their [lowertext(pred_component.selected_belly.name)]!"), pref_to_check = /datum/preference/toggle/erp/vore_enable)
pred_component.complete_vore(prey)
return TRUE

/datum/component/vore/proc/complete_vore(mob/living/prey)
prey.forceMove(selected_belly)
Expand Down
9 changes: 7 additions & 2 deletions modular_zzplurt/code/datums/elements/holder_micro.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
slot_flags = ITEM_SLOT_FEET | ITEM_SLOT_HEAD | ITEM_SLOT_ID | ITEM_SLOT_BACK | ITEM_SLOT_NECK
w_class = null //handled by their size
ignore_abstract = TRUE // it didn't help still
item_flags = INEDIBLE_CLOTHING

/obj/item/clothing/head/mob_holder/micro/container_resist_act(mob/living/resisting)
if(resisting.incapacitated())
Expand Down Expand Up @@ -188,8 +189,8 @@

if(holder == eater) // Parent wants to eat pulled
. = vore.vore_other(held_mob)
else // Parent wants to feed pulled to clicked_on
. = vore.feed_other_to_other(eater, held_mob)
return
return ..()

/obj/item/clothing/head/mob_holder/micro/Exited(mob/living/totally_not_vored, direction)
// Transferred to a belly? Get rid of this before it puts us on the floor
Expand Down Expand Up @@ -221,3 +222,7 @@
/obj/item/clothing/head/mob_holder/micro/update_visuals(mob/living/carbon/human/tiny_person)
. = ..()
transform = null

// And right here i throw all of those error sprites in the trash
/obj/item/clothing/head/mob_holder/micro/build_worn_icon(default_layer, default_icon_file, isinhands, female_uniform, override_state, override_file, mutant_styles)
return null
6 changes: 3 additions & 3 deletions modular_zzplurt/code/modules/resize/resizing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
user.forceMove(target.loc)
user.sizediffStamLoss(target)
user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE) //Full stop
addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 3) //0.3 seconds
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 3) //0.3 seconds
if(iscarbon(user))
if(istype(user) && user.dna.features["taur"] == "Naga" || user.dna.features["taur"] == "Tentacle")
target.visible_message(span_danger("[src] carefully rolls their tail over [target]!"), span_danger("[src]'s huge tail rolls over you!"))
Expand All @@ -83,7 +83,7 @@
user.sizediffBruteloss(target)
playsound(loc, 'sound/misc/splort.ogg', 50, 1)
user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE)
addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 1 SECONDS) //1 second
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 1 SECONDS) //1 second
//user.Stun(20)
if(iscarbon(user))
if(istype(user) && (user.dna.features["taur"] == "Naga" || user.dna.features["taur"] == "Tentacle"))
Expand All @@ -98,7 +98,7 @@
user.sizediffStamLoss(target)
user.sizediffStun(target)
user.add_movespeed_modifier(/datum/movespeed_modifier/stomp, TRUE)
addtimer(CALLBACK(user, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP, TRUE), 7)//About 3/4th a second
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, remove_movespeed_modifier), MOVESPEED_ID_STOMP, TRUE), 7)//About 3/4th a second
if(iscarbon(user))
var/feetCover = (user.wear_suit && (user.wear_suit.body_parts_covered & FEET)) || (user.w_uniform && (user.w_uniform.body_parts_covered & FEET) || (user.shoes && (user.shoes.body_parts_covered & FEET)))
if(feetCover)
Expand Down

0 comments on commit cf38c1a

Please sign in to comment.