Removes tribbles (#17524)

* removes tribbles

* forgot this

* styling
This commit is contained in:
Charlie
2022-03-28 09:57:10 +01:00
committed by GitHub
parent f6254d7693
commit e979201a57
16 changed files with 56 additions and 201 deletions
+8
View File
@@ -241,3 +241,11 @@
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
strip_delay = 60
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 50)
/obj/item/clothing/gloves/furgloves
desc = "These gloves are warm and furry."
name = "fur gloves"
icon_state = "furglovesico"
item_state = "furgloves"
transfer_prints = TRUE
transfer_blood = TRUE
+10
View File
@@ -61,3 +61,13 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/head.dmi'
)
// Equivalent to a winter coat's hood
/obj/item/clothing/head/furcap
name = "fur cap"
desc = "A warm furry cap."
icon_state = "furcap"
item_state = "furcap"
cold_protection = HEAD
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -256,6 +256,12 @@
item_color = "noble_boot"
item_state = "noble_boot"
/obj/item/clothing/shoes/furboots
name = "fur boots"
desc = "Warm, furry boots."
icon_state = "furboots"
item_state = "furboots"
/obj/item/clothing/shoes/sandal/white
name = "white sandals"
desc = "Medical sandals that nerds wear."
@@ -387,6 +387,17 @@
sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi')
/obj/item/clothing/suit/furcoat
name = "fur coat"
desc = "A trenchcoat made from fur. You could put an oxygen tank in one of the pockets."
icon_state = "furcoat"
item_state = "furcoat"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
allowed = list(/obj/item/tank/internals/emergency_oxygen)
cold_protection = UPPER_TORSO | LOWER_TORSO | ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
/obj/item/clothing/suit/hooded/wintercoat/captain
name = "captain's winter coat"
icon_state = "wintercoat_captain"
@@ -1061,3 +1072,13 @@
w_class = WEIGHT_CLASS_TINY
flags = BLOCKHAIR
flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE
/obj/item/clothing/suit/furcape
name = "fur cape"
desc = "A cape made from fur. You'll really be stylin' now."
icon_state = "furcape"
item_state = "furcape"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|ARMS
cold_protection = UPPER_TORSO | ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -45,8 +45,7 @@
unless they choose otherwise by selecting the colourblind disability in character creation (darksight = 8 but colourblind).*/
)
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)
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot)
suicide_messages = list(
"is attempting to bite their tongue off!",
@@ -49,7 +49,7 @@
)
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)
/mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot)
suicide_messages = list(
"is attempting to bite their tongue off!",
@@ -40,7 +40,7 @@
)
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)
/mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot)
suicide_messages = list(
"is attempting to bite their tongue off!",
@@ -1,196 +0,0 @@
GLOBAL_VAR_INIT(totaltribbles, 0) //global variable so it updates for all tribbles, not just the new one being made.
/mob/living/simple_animal/tribble
name = "tribble"
desc = "It's a small furry creature that makes a soft trill."
icon = 'icons/mob/tribbles.dmi'
icon_state = "tribble1"
icon_living = "tribble1"
icon_dead = "tribble1_dead"
speak = list("Prrrrr...")
speak_emote = list("purrs", "trills")
emote_hear = list("shuffles", "purrs")
emote_see = list("trundles around", "rolls")
speak_chance = 10
turns_per_move = 5
maxHealth = 10
health = 10
butcher_results = list(/obj/item/stack/sheet/fur = 1)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "whacks"
harm_intent_damage = 5
var/gestation = 0
var/maxtribbles = 50 //change this to change the max limit
wander = 1
/mob/living/simple_animal/tribble/New()
..()
var/list/types = list("tribble1","tribble2","tribble3")
src.icon_state = pick(types)
src.icon_living = src.icon_state
src.icon_dead = "[src.icon_state]_dead"
//random pixel offsets so they cover the floor
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
GLOB.totaltribbles += 1
/mob/living/simple_animal/tribble/attack_hand(mob/user as mob)
..()
if(src.stat != DEAD)
new /obj/item/toy/tribble(user.loc)
for(var/obj/item/toy/tribble/T in user.loc)
T.icon_state = src.icon_state
T.item_state = src.icon_state
T.gestation = src.gestation
T.pickup(user)
user.put_in_active_hand(T)
qdel(src)
/mob/living/simple_animal/tribble/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/scalpel))
to_chat(user, "<span class='notice'>You try to neuter the tribble, but it's moving too much and you fail!</span>")
else if(istype(O, /obj/item/cautery))
to_chat(user, "<span class='notice'>You try to un-neuter the tribble, but it's moving too much and you fail!</span>")
..()
/mob/living/simple_animal/tribble/proc/procreate()
if(GLOB.totaltribbles <= maxtribbles)
for(var/mob/living/simple_animal/tribble/F in src.loc)
if(!F || F == src)
new /mob/living/simple_animal/tribble(src.loc)
gestation = 0
/mob/living/simple_animal/tribble/Life(seconds, times_fired)
..()
if(src.health > 0) //no mostly dead procreation
if(gestation != null) //neuter check
if(gestation < 30)
gestation++
else if(gestation >= 30)
if(prob(80))
src.procreate()
/mob/living/simple_animal/tribble/death(gibbed) // Gotta make sure to remove tribbles from the list on death
// Only execute the below if we successfully died
. = ..(gibbed)
if(!.)
return FALSE
GLOB.totaltribbles -= 1
//||Item version of the trible ||
/obj/item/toy/tribble
name = "tribble"
desc = "It's a small furry creature that makes a soft trill."
icon = 'icons/mob/tribbles.dmi'
icon_state = "tribble1"
item_state = "tribble1"
w_class = 10
var/gestation = 0
flags = DROPDEL
/obj/item/toy/tribble/attack_self(mob/user as mob) //hug that tribble (and play a sound if we add one)
..()
to_chat(user, "<span class='notice'>You nuzzle the tribble and it trills softly.</span>")
/obj/item/toy/tribble/dropped(mob/user as mob) //now you can't item form them to get rid of them all so easily
new /mob/living/simple_animal/tribble(user.loc)
for(var/mob/living/simple_animal/tribble/T in user.loc)
T.icon_state = src.icon_state
T.icon_living = src.icon_state
T.icon_dead = "[src.icon_state]_dead"
T.gestation = src.gestation
to_chat(user, "<span class='notice'>The tribble gets up and wanders around.</span>")
. = ..()
/obj/item/toy/tribble/attackby(obj/item/O as obj, mob/user as mob) //neutering and un-neutering
..()
if(istype(O, /obj/item/scalpel) && src.gestation != null)
gestation = null
to_chat(user, "<span class='notice'>You neuter the tribble so that it can no longer re-produce.</span>")
else if(istype(O, /obj/item/cautery) && src.gestation == null)
gestation = 0
to_chat(user, "<span class='notice'>You fuse some recently cut tubes together, it should be able to reproduce again.</span>")
//||Fur and Fur Products ||
/obj/item/stack/sheet/fur //basic fur sheets (very lumpy furry piles of sheets)
name = "pile of fur"
desc = "The by-product of tribbles."
singular_name = "fur piece"
icon = 'icons/mob/tribbles.dmi'
icon_state = "sheet-fur"
origin_tech = "materials=2"
max_amount = 50
/obj/item/clothing/ears/earmuffs/tribblemuffs //earmuffs but with tribbles
name = "earmuffs"
desc = "Protects your hearing from loud noises, and quiet ones as well."
icon = 'icons/mob/tribbles.dmi'
icon_state = "tribblemuffs"
item_state = "tribblemuffs"
/* The advanced cold protection of the non-coat items has been removed, so as not
to give patreon donors an unfair advantage - the winter coat provides equivalent
cold protection
*/
/obj/item/clothing/gloves/furgloves
desc = "These gloves are warm and furry."
name = "fur gloves"
icon = 'icons/mob/tribbles.dmi'
icon_state = "furglovesico"
item_state = "furgloves"
transfer_prints = TRUE
transfer_blood = TRUE
// Equivalent to a winter coat's hood
/obj/item/clothing/head/furcap
name = "fur cap"
desc = "A warm furry cap."
icon = 'icons/mob/tribbles.dmi'
icon_state = "furcap"
item_state = "furcap"
cold_protection = HEAD
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
/obj/item/clothing/shoes/furboots
name = "fur boots"
desc = "Warm, furry boots."
icon = 'icons/mob/tribbles.dmi'
icon_state = "furboots"
item_state = "furboots"
// As a donator piece of clothing, this is now in line with the winter coat
/obj/item/clothing/suit/furcoat
name = "fur coat"
desc = "A trenchcoat made from fur. You could put an oxygen tank in one of the pockets."
icon = 'icons/mob/tribbles.dmi'
icon_state = "furcoat"
item_state = "furcoat"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
allowed = list (/obj/item/tank/internals/emergency_oxygen)
cold_protection = UPPER_TORSO | LOWER_TORSO | ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
/obj/item/clothing/suit/furcape
name = "fur cape"
desc = "A cape made from fur. You'll really be stylin' now."
icon = 'icons/mob/tribbles.dmi'
icon_state = "furcape"
item_state = "furcape"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|ARMS
cold_protection = UPPER_TORSO | ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT