mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-01 04:52:39 +00:00
A lot of new defines are now in inventory_sizes.dm, which contains; All the size identifiers (the thing that tells the game if something is bulky, or w/e). Storage costs for all the sizes, which are exponents of two, as previously. A few constants for inventory size. Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke. The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
90 lines
2.8 KiB
Plaintext
90 lines
2.8 KiB
Plaintext
/obj/item/weapon/lipstick
|
|
gender = PLURAL
|
|
name = "red lipstick"
|
|
desc = "A generic brand of lipstick."
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "lipstick"
|
|
w_class = ITEMSIZE_TINY
|
|
slot_flags = SLOT_EARS
|
|
var/colour = "red"
|
|
var/open = 0
|
|
|
|
/obj/item/weapon/lipstick/purple
|
|
name = "purple lipstick"
|
|
colour = "purple"
|
|
|
|
/obj/item/weapon/lipstick/jade
|
|
name = "jade lipstick"
|
|
colour = "jade"
|
|
|
|
/obj/item/weapon/lipstick/black
|
|
name = "black lipstick"
|
|
colour = "black"
|
|
|
|
/obj/item/weapon/lipstick/random
|
|
name = "lipstick"
|
|
|
|
/obj/item/weapon/lipstick/random/New()
|
|
colour = pick("red","purple","jade","black")
|
|
name = "[colour] lipstick"
|
|
|
|
/obj/item/weapon/lipstick/attack_self(mob/user as mob)
|
|
user << "<span class='notice'>You twist \the [src] [open ? "closed" : "open"].</span>"
|
|
open = !open
|
|
if(open)
|
|
icon_state = "[initial(icon_state)]_[colour]"
|
|
else
|
|
icon_state = initial(icon_state)
|
|
|
|
/obj/item/weapon/lipstick/attack(mob/M as mob, mob/user as mob)
|
|
if(!open) return
|
|
|
|
if(!istype(M, /mob)) return
|
|
|
|
if(ishuman(M))
|
|
var/mob/living/carbon/human/H = M
|
|
if(H.lip_style) //if they already have lipstick on
|
|
user << "<span class='notice'>You need to wipe off the old lipstick first!</span>"
|
|
return
|
|
if(H == user)
|
|
user.visible_message("<span class='notice'>[user] does their lips with \the [src].</span>", \
|
|
"<span class='notice'>You take a moment to apply \the [src]. Perfect!</span>")
|
|
H.lip_style = colour
|
|
H.update_body()
|
|
else
|
|
user.visible_message("<span class='warning'>[user] begins to do [H]'s lips with \the [src].</span>", \
|
|
"<span class='notice'>You begin to apply \the [src].</span>")
|
|
if(do_after(user, 20) && do_after(H, 20, 5, 0)) //user needs to keep their active hand, H does not.
|
|
user.visible_message("<span class='notice'>[user] does [H]'s lips with \the [src].</span>", \
|
|
"<span class='notice'>You apply \the [src].</span>")
|
|
H.lip_style = colour
|
|
H.update_body()
|
|
else
|
|
user << "<span class='notice'>Where are the lips on that?</span>"
|
|
|
|
//you can wipe off lipstick with paper! see code/modules/paperwork/paper.dm, paper/attack()
|
|
|
|
/obj/item/weapon/haircomb //sparklysheep's comb
|
|
name = "purple comb"
|
|
desc = "A pristine purple comb made from flexible plastic."
|
|
w_class = ITEMSIZE_TINY
|
|
slot_flags = SLOT_EARS
|
|
icon = 'icons/obj/items.dmi'
|
|
icon_state = "purplecomb"
|
|
|
|
/obj/item/weapon/haircomb/attack_self(mob/living/user)
|
|
var/text = "person"
|
|
if(ishuman(user))
|
|
var/mob/living/carbon/human/U = user
|
|
switch(U.identifying_gender)
|
|
if(MALE)
|
|
text = "guy"
|
|
if(FEMALE)
|
|
text = "lady"
|
|
else
|
|
switch(user.gender)
|
|
if(MALE)
|
|
text = "guy"
|
|
if(FEMALE)
|
|
text = "lady"
|
|
user.visible_message("<span class='notice'>[user] uses [src] to comb their hair with incredible style and sophistication. What a [text].</span>") |