mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user