Skip to content

Commit

Permalink
[MIRROR] Removes holographic monkey species (Skyrat-SS13#26605)
Browse files Browse the repository at this point in the history
Removes holographic monkey species

Co-authored-by: John Willard <[email protected]>
  • Loading branch information
SkyratBot and JohnFulpWillard authored Feb 22, 2024
1 parent 47ab3eb commit 88ea23e
Show file tree
Hide file tree
Showing 10 changed files with 34 additions and 43 deletions.
1 change: 0 additions & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@
#define SPECIES_NIGHTMARE "nightmare"
#define SPECIES_MONKEY "monkey"
#define SPECIES_MONKEY_FREAK "monkey_freak"
#define SPECIES_MONKEY_HOLODECK "monkey_holodeck"
#define SPECIES_MONKEY_HUMAN_LEGGED "monkey_human_legged"
#define SPECIES_MOTH "moth"
#define SPECIES_MUSHROOM "mush"
Expand Down
6 changes: 6 additions & 0 deletions code/datums/components/butchering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,12 @@
var/final_effectiveness = effectiveness - target.butcher_difficulty
var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance

if(target.flags_1 & HOLOGRAM_1)
butcher.visible_message(span_notice("[butcher] tries to butcher [target], but it vanishes."), \
span_notice("You try to butcher [target], but it vanishes."))
qdel(target)
return

for(var/result_typepath in target.butcher_results)
var/obj/remains = result_typepath
var/amount = target.butcher_results[remains]
Expand Down
6 changes: 6 additions & 0 deletions code/modules/food_and_drinks/machinery/gibber.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,12 @@
if(!occupant)
audible_message(span_hear("You hear a loud metallic grinding sound."))
return
if(occupant.flags_1 & HOLOGRAM_1)
audible_message(span_hear("You hear a very short metallic grinding sound."))
playsound(loc, 'sound/machines/hiss.ogg', 20, TRUE)
qdel(occupant)
set_occupant(null)
return

use_power(active_power_usage)
audible_message(span_hear("You hear a loud squelchy grinding sound."))
Expand Down
6 changes: 2 additions & 4 deletions code/modules/holodeck/holo_effect.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,9 @@
mobtype = pick(mobtype)
our_mob = new mobtype(loc)
our_mob.flags_1 |= HOLOGRAM_1
ADD_TRAIT(our_mob, TRAIT_PERMANENTLY_MORTAL, INNATE_TRAIT)

// these vars are not really standardized but all would theoretically create stuff on death
for(var/v in list("butcher_results","corpse","weapon1","weapon2","blood_volume") & our_mob.vars)
our_mob.vars[v] = null
our_mob.add_traits(list(TRAIT_PERMANENTLY_MORTAL, TRAIT_NO_BLOOD_OVERLAY, TRAIT_NOBLOOD, TRAIT_NOHUNGER), INNATE_TRAIT)
RegisterSignal(our_mob, COMSIG_QDELETING, PROC_REF(handle_mob_delete))
return our_mob

Expand Down Expand Up @@ -103,7 +101,7 @@
mobtype = /mob/living/basic/bee/toxin

/obj/effect/holodeck_effect/mobspawner/monkey
mobtype = /mob/living/carbon/human/species/monkey/holodeck
mobtype = /mob/living/carbon/human/species/monkey

/obj/effect/holodeck_effect/mobspawner/monkey/activate(obj/machinery/computer/holodeck/computer)
var/mob/living/carbon/human/monkey = ..()
Expand Down
10 changes: 5 additions & 5 deletions code/modules/mob/living/carbon/carbon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1368,7 +1368,6 @@
else
set_lying_angle(new_lying_angle)


/mob/living/carbon/vv_edit_var(var_name, var_value)
switch(var_name)
if(NAMEOF(src, disgust))
Expand All @@ -1384,17 +1383,18 @@

return ..()


/mob/living/carbon/get_attack_type()
if(has_active_hand())
var/obj/item/bodypart/arm/active_arm = get_active_hand()
return active_arm.attack_type
return ..()


/mob/living/carbon/proc/attach_rot()
if(mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))
AddComponent(/datum/component/rot, 6 MINUTES, 10 MINUTES, 1)
if(flags_1 & HOLOGRAM_1)
return
if(!(mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD)))
return
AddComponent(/datum/component/rot, 6 MINUTES, 10 MINUTES, 1)

/**
* This proc is used to determine whether or not the mob can handle touching an acid affected object.
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
new /obj/effect/temp_visual/dust_animation(loc, dna.species.dust_anim)

/mob/living/carbon/human/spawn_gibs(drop_bitflags=NONE)
if(flags_1 & HOLOGRAM_1)
return
if(drop_bitflags & DROP_BODYPARTS)
new /obj/effect/gibspawner/human(drop_location(), src, get_static_viruses())
else
Expand Down
6 changes: 0 additions & 6 deletions code/modules/mob/living/carbon/human/monkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,6 @@
equip_to_slot_or_del(helmet, ITEM_SLOT_HEAD)
helmet.attack_self(src) // todo encapsulate toggle

/mob/living/carbon/human/species/monkey/holodeck
race = /datum/species/monkey/holodeck

/mob/living/carbon/human/species/monkey/holodeck/spawn_gibs() // no blood and no gibs
return

GLOBAL_DATUM(the_one_and_only_punpun, /mob/living/carbon/human/species/monkey/punpun)

/mob/living/carbon/human/species/monkey/punpun
Expand Down
19 changes: 0 additions & 19 deletions code/modules/mob/living/carbon/human/species_types/monkeys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,23 +191,4 @@
/obj/item/organ/internal/brain/primate/get_attacking_limb(mob/living/carbon/human/target)
return owner.get_bodypart(BODY_ZONE_HEAD)

/// Virtual monkeys that crave virtual bananas. Everything about them is ephemeral (except that bite).
/datum/species/monkey/holodeck
id = SPECIES_MONKEY_HOLODECK
knife_butcher_results = list()
meat = null
skinned_type = null
inherent_traits = list(
TRAIT_GENELESS,
TRAIT_GUN_NATURAL,
TRAIT_NO_AUGMENTS,
TRAIT_NO_BLOOD_OVERLAY,
TRAIT_NO_DNA_COPY,
TRAIT_NO_UNDERWEAR,
TRAIT_NO_ZOMBIFY,
TRAIT_NOBLOOD,
TRAIT_NOHUNGER,
TRAIT_VENTCRAWLER_NUDE,
)

#undef MONKEY_SPEC_ATTACK_BITE_MISS_CHANCE
2 changes: 2 additions & 0 deletions code/modules/mob/living/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
* * DROP_BODYPARTS - Gibs will spawn with bodypart limbs present
**/
/mob/living/proc/spawn_gibs(drop_bitflags=NONE)
if(flags_1 & HOLOGRAM_1)
return
new /obj/effect/gibspawner/generic(drop_location(), src, get_static_viruses())

/**
Expand Down
19 changes: 11 additions & 8 deletions code/modules/surgery/lipoplasty.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,17 @@
var/mob/living/carbon/human/human = target
var/typeofmeat = /obj/item/food/meat/slab/human

if(human.dna && human.dna.species)
if(target.flags_1 & HOLOGRAM_1)
typeofmeat = null
else if(human.dna && human.dna.species)
typeofmeat = human.dna.species.meat

var/obj/item/food/meat/slab/human/newmeat = new typeofmeat
newmeat.name = "fatty meat"
newmeat.desc = "Extremely fatty tissue taken from a patient."
newmeat.subjectname = human.real_name
newmeat.subjectjob = human.job
newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment
newmeat.forceMove(target.loc)
if(typeofmeat)
var/obj/item/food/meat/slab/human/newmeat = new typeofmeat
newmeat.name = "fatty meat"
newmeat.desc = "Extremely fatty tissue taken from a patient."
newmeat.subjectname = human.real_name
newmeat.subjectjob = human.job
newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment
newmeat.forceMove(target.loc)
return ..()

0 comments on commit 88ea23e

Please sign in to comment.