Merge pull request #4052 from Fox-McCloud/simple-animal-eating

Refactor of Simple Animal Eating
This commit is contained in:
TheDZD
2016-04-01 15:43:16 -04:00
4 changed files with 20 additions and 9 deletions
@@ -64,6 +64,8 @@
var/ventcrawler = 0 //Determines if the mob can go through the vents.
var/has_fine_manipulation = 1 // Can use small items.
var/list/allowed_consumed_mobs = list() //If a species can consume mobs, put the type of mobs it can consume here.
var/flags = 0 // Various specific features.
var/clothing_flags = 0 // Underwear and socks.
var/exotic_blood
@@ -56,6 +56,9 @@
reagent_tag = PROCESS_ORG
base_color = "#066000"
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
/mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble)
suicide_messages = list(
"is attempting to bite their tongue off!",
"is jamming their claws into their eye sockets!",
@@ -107,6 +110,9 @@
flesh_color = "#AFA59E"
base_color = "#333333"
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot,
/mob/living/simple_animal/tribble)
suicide_messages = list(
"is attempting to bite their tongue off!",
"is jamming their claws into their eye sockets!",
@@ -148,6 +154,9 @@
flesh_color = "#966464"
base_color = "#B43214"
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
/mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble)
suicide_messages = list(
"is attempting to bite their tongue off!",
"is jamming their claws into their eye sockets!",
@@ -355,6 +364,8 @@
blood_color = "#FB9800"
reagent_tag = PROCESS_ORG
allowed_consumed_mobs = list(/mob/living/simple_animal/diona)
suicide_messages = list(
"is attempting to bite their antenna off!",
"is jamming their claws into their eye sockets!",
+1 -1
View File
@@ -245,7 +245,7 @@
if(M.loc != src)
stomach_contents.Remove(M)
continue
if(istype(M, /mob/living/carbon) && stat != 2)
if(istype(M, /mob/living) && stat != 2)
if(M.stat == 2)
M.death(1)
stomach_contents.Remove(M)
+6 -8
View File
@@ -6,7 +6,7 @@
#define EAT_TIME_FAT 100
//time it takes for a mob to be eaten (in deciseconds) (overrides mob eat time)
#define EAT_TIME_MOUSE 30
#define EAT_TIME_ANIMAL 30
/obj/item/weapon/grab
name = "grab"
@@ -413,10 +413,8 @@
if(isalien(attacker) && iscarbon(prey)) //Xenomorphs eating carbon mobs
return 1
if(ishuman(attacker) && attacker.get_species() == "Kidan" && istype(prey,/mob/living/simple_animal/diona)) //Kidan eating nymphs
return 1
if(ishuman(attacker) && attacker.get_species() == "Tajaran" && istype(prey,/mob/living/simple_animal/mouse)) //Tajaran eating mice. Meow!
var/mob/living/carbon/human/H = attacker
if(ishuman(H) && is_type_in_list(prey, H.species.allowed_consumed_mobs)) //species eating of other mobs
return 1
return 0
@@ -425,8 +423,8 @@
if(isalien(attacker))
return EAT_TIME_XENO //xenos get a speed boost
if(istype(prey,/mob/living/simple_animal/mouse)) //mice get eaten at xeno-eating-speed regardless
return EAT_TIME_MOUSE
if(istype(prey,/mob/living/simple_animal)) //simple animals get eaten at xeno-eating-speed regardless
return EAT_TIME_ANIMAL
return EAT_TIME_FAT //if it doesn't fit into the above, it's probably a fat guy, take EAT_TIME_FAT to do it
@@ -447,4 +445,4 @@
#undef EAT_TIME_XENO
#undef EAT_TIME_FAT
#undef EAT_TIME_MOUSE
#undef EAT_TIME_ANIMAL