mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
102 lines
3.3 KiB
Plaintext
102 lines
3.3 KiB
Plaintext
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// fossils
|
|
|
|
/obj/item/weapon/fossil
|
|
name = "Fossil"
|
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
icon_state = "bone"
|
|
desc = "It's a fossil."
|
|
var/animal = 1
|
|
|
|
/obj/item/weapon/fossil/base/New()
|
|
var/list/l = list(/obj/item/weapon/fossil/bone = 9,/obj/item/weapon/fossil/skull = 3,
|
|
/obj/item/weapon/fossil/skull/horned = 2)
|
|
var/t = pickweight(l)
|
|
new t(src.loc)
|
|
qdel(src)
|
|
|
|
/obj/item/weapon/fossil/bone
|
|
name = "Fossilised bone"
|
|
icon_state = "bone"
|
|
desc = "It's a fossilised bone."
|
|
|
|
/obj/item/weapon/fossil/skull
|
|
name = "Fossilised skull"
|
|
icon_state = "skull"
|
|
desc = "It's a fossilised skull."
|
|
|
|
/obj/item/weapon/fossil/skull/horned
|
|
icon_state = "hskull"
|
|
desc = "It's a fossilised, horned skull."
|
|
|
|
/obj/item/weapon/fossil/skull/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if(istype(W,/obj/item/weapon/fossil/bone))
|
|
var/obj/o = new /obj/skeleton(get_turf(src))
|
|
var/a = new /obj/item/weapon/fossil/bone
|
|
var/b = new src.type
|
|
o.contents.Add(a)
|
|
o.contents.Add(b)
|
|
qdel(W)
|
|
qdel(src)
|
|
|
|
/obj/skeleton
|
|
name = "Incomplete skeleton"
|
|
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
icon_state = "uskel"
|
|
desc = "Incomplete skeleton."
|
|
var/bnum = 1
|
|
var/breq
|
|
var/bstate = 0
|
|
var/plaque_contents = "Unnamed alien creature"
|
|
|
|
/obj/skeleton/New()
|
|
src.breq = rand(6)+3
|
|
src.desc = "An incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones."
|
|
|
|
/obj/skeleton/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if(istype(W,/obj/item/weapon/fossil/bone))
|
|
if(!bstate)
|
|
bnum++
|
|
src.contents.Add(new/obj/item/weapon/fossil/bone)
|
|
qdel(W)
|
|
if(bnum==breq)
|
|
usr = user
|
|
icon_state = "skel"
|
|
src.bstate = 1
|
|
src.density = TRUE
|
|
src.name = "alien skeleton display"
|
|
if(src.contents.Find(/obj/item/weapon/fossil/skull/horned))
|
|
src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull. The plaque reads \'[plaque_contents]\'."
|
|
else
|
|
src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull. The plaque reads \'[plaque_contents]\'."
|
|
else
|
|
src.desc = "Incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones."
|
|
to_chat(user, "Looks like it could use [src.breq-src.bnum] more bones.")
|
|
else
|
|
..()
|
|
else if(istype(W,/obj/item/weapon/pen))
|
|
plaque_contents = sanitize(input(usr, "What would you like to write on the plaque:","Skeleton plaque",""))
|
|
user.visible_message("[user] writes something on the base of [src].","You relabel the plaque on the base of [bicon(src)] [src].")
|
|
if(src.contents.Find(/obj/item/weapon/fossil/skull/horned))
|
|
src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull. The plaque reads \'[plaque_contents]\'."
|
|
else
|
|
src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull. The plaque reads \'[plaque_contents]\'."
|
|
else
|
|
..()
|
|
|
|
//shells and plants do not make skeletons
|
|
/obj/item/weapon/fossil/shell
|
|
name = "Fossilised shell"
|
|
icon_state = "shell"
|
|
desc = "It's a fossilised shell."
|
|
|
|
/obj/item/weapon/fossil/plant
|
|
name = "Fossilised plant"
|
|
icon_state = "plant1"
|
|
desc = "It's fossilised plant remains."
|
|
animal = 0
|
|
|
|
/obj/item/weapon/fossil/plant/New()
|
|
icon_state = "plant[rand(1,4)]"
|