Fixing issues with the gibber not processing humans.

This commit is contained in:
MistakeNot4892
2023-08-31 00:29:01 +10:00
parent c8d8d55c29
commit b1bb99eea1
4 changed files with 13 additions and 12 deletions
+9 -11
View File
@@ -130,11 +130,11 @@
to_chat(user, "<span class='danger'>This is not suitable for the gibber!</span>")
return
if(istype(victim,/mob/living/carbon/human) && !emagged)
var/datum/species/victim_species = victim?.get_species()
if(victim_species?.checks_gibber_safety && !emagged)
to_chat(user, "<span class='danger'>The gibber safety guard is engaged!</span>")
return
if(victim.abiotic(1))
to_chat(user, "<span class='danger'>Subject may not have abiotic items on.</span>")
return
@@ -175,7 +175,7 @@
return
/obj/machinery/gibber/proc/startgibbing(mob/user as mob)
/obj/machinery/gibber/proc/startgibbing(mob/user)
if(src.operating)
return
if(!src.occupant)
@@ -191,8 +191,9 @@
var/slab_count = 2 + occupant.meat_amount
var/slab_type = occupant.meat_type ? occupant.meat_type : /obj/item/reagent_containers/food/snacks/meat
var/slab_nutrition = src.occupant.nutrition / 15
var/slab_reagents = round(occupant.reagents?.total_volume / slab_count,1)
var/list/byproducts = occupant?.butchery_loot?.Copy()
var/list/byproducts = occupant.butchery_loot?.Copy()
if(istype(src.occupant,/mob/living/carbon/human))
var/mob/living/carbon/human/H = occupant
@@ -204,14 +205,13 @@
slab_nutrition *= 0.5
slab_nutrition /= slab_count
while(slab_count)
slab_count--
for(var/slab = 1 to slab_count)
var/obj/item/reagent_containers/food/snacks/meat/new_meat = new slab_type(src, rand(3,8))
if(istype(new_meat))
new_meat.name = "[slab_name] [new_meat.name]"
new_meat.reagents.add_reagent("nutriment",slab_nutrition)
if(src.occupant.reagents)
src.occupant.reagents.trans_to_obj(new_meat, round(occupant.reagents.total_volume/slab_count,1))
new_meat.reagents.add_reagent("nutriment", slab_nutrition)
if(slab_reagents > 0)
occupant.reagents.trans_to_obj(new_meat, slab_reagents)
add_attack_logs(user,occupant,"Used [src] to gib")
@@ -243,5 +243,3 @@
thing.throw_at(get_edge_target_turf(src,gib_throw_dir),rand(0,3),emagged ? 100 : 50) // Being pelted with bits of meat and bone would hurt.
update_icon()
@@ -54,6 +54,7 @@
var/hunger_factor = 0.05 // Multiplier for hunger.
var/active_regen_mult = 1 // Multiplier for 'Regenerate' power speed, in human_powers.dm
var/hearboost = 0 //Extra ranger on whisper hearing. 0 is adjacent.
var/checks_gibber_safety = TRUE // This species is only gibbable in the gibber if it has been emagged.
var/taste_sensitivity = TASTE_NORMAL // How sensitive the species is to minute tastes.
var/allergens = null // Things that will make this species very sick
@@ -16,6 +16,8 @@
show_ssd = null
health_hud_intensity = 2
checks_gibber_safety = FALSE
gibbed_anim = "gibbed-m"
dusted_anim = "dust-m"
death_message = "lets out a faint chimper as it collapses and stops moving..."