mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-19 20:07:05 +01:00
Bluespace sewing kit
For big bits
This commit is contained in:
@@ -47,8 +47,8 @@
|
||||
//Basically syntax is species_restricted = list("Species Name","Species Name")
|
||||
//Add a "exclude" string to do the opposite, making it only only species listed that can't wear it.
|
||||
//You append this to clothing objects.
|
||||
|
||||
|
||||
//Hyper change// - Variables for HS13 checks
|
||||
var/roomy = 0 //0 For false
|
||||
|
||||
|
||||
/obj/item/clothing/Initialize()
|
||||
@@ -95,6 +95,18 @@
|
||||
obj_integrity = max_integrity
|
||||
to_chat(user, "<span class='notice'>You fix the damage on [src] with [C].</span>")
|
||||
return 1
|
||||
//Hyper Change//
|
||||
if(istype(W, /obj/item/bluespace_thread))
|
||||
var/obj/item/bluespace_thread/B = W
|
||||
if (istype(src, /obj/item/clothing/under) || istype(src, /obj/item/clothing/suit)) //Make sure the thread is used on an item that could be ripped off in the first place
|
||||
roomy = 1 //True
|
||||
user.show_message("<span class='notice'>You add a few stiches to your clothing, and find them to fit a little looser.</span>", 1)
|
||||
B.uses -= 1 //One use has been used
|
||||
if(B.uses <= 0)
|
||||
user.show_message("<span class='notice'>The thread has been used up!</span>", 1)
|
||||
qdel(B)
|
||||
else
|
||||
user.show_message("<span class='notice'>You probably don't need any more room in that.</span>", 1)
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/Destroy()
|
||||
|
||||
@@ -130,7 +130,8 @@
|
||||
/obj/item/clothing/suit/jacket/leather/overcoat = 4,
|
||||
/obj/item/clothing/under/pants/mustangjeans = 3,
|
||||
/obj/item/clothing/neck/necklace/dope = 5,
|
||||
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5)
|
||||
/obj/item/clothing/suit/jacket/letterman_nanotrasen = 5,
|
||||
/obj/item/bluespace_thread = 3)
|
||||
refill_canister = /obj/item/vending_refill/clothing
|
||||
|
||||
/obj/item/vending_refill/clothing
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
//Jay Sparrow
|
||||
#define ROOMY = "ROOMY"
|
||||
|
||||
/obj/item/bluespace_thread
|
||||
name = "Bluespace Sewing Kit"
|
||||
desc = "Thread infused with bluespace dust to make your clothes a little more roomy."
|
||||
icon = 'hyperstation/icons/obj/bluespace_thread.dmi'
|
||||
icon_state = "thread"
|
||||
item_state = "thread"
|
||||
var/uses = 2 //Give it two charges, so you can hit your uniform and jacket
|
||||
|
||||
/obj/item/bluespace_thread/attack_obj(obj/O, mob/living/user)
|
||||
. = ..()
|
||||
if(!istype(O, /obj/item/clothing))
|
||||
user.show_message("<span class='notice'>You find yourself unable to stitch this.</span>", 1)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/bluespace_thread/attack_self(mob/living/user)
|
||||
user.show_message("<span class='notice'>The spool has [uses] uses remaining.</span>", 1)
|
||||
|
||||
//Let's add this to the loadout screen
|
||||
/datum/gear/bluespace_thread
|
||||
name = "Bluespace Sewing Kit"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/bluespace_thread
|
||||
|
||||
//Crafting recipe
|
||||
/datum/crafting_recipe/bluespace_thread
|
||||
name = "Bluespace Sewing Kit"
|
||||
result = /obj/item/bluespace_thread
|
||||
time = 40
|
||||
reqs = list(/obj/item/stack/ore/bluespace_crystal = 1,
|
||||
/obj/item/stack/sheet/cloth = 2)
|
||||
category = CAT_MISC
|
||||
@@ -87,7 +87,7 @@ Icons, maybe?
|
||||
|
||||
//Called when someone is clicked with the leash
|
||||
/obj/item/leash/attack(mob/living/carbon/C, mob/living/user) //C is the target, user is the one with the leash
|
||||
if(istype(C.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(SLOT_NECK), /obj/item/electropack/shockcollar)) //TODO: Shock collars too why not
|
||||
if(istype(C.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(SLOT_NECK), /obj/item/electropack/shockcollar))
|
||||
var/leashtime = 50
|
||||
if(C.handcuffed)
|
||||
leashtime = 5
|
||||
@@ -394,3 +394,10 @@ Icons, maybe?
|
||||
QDEL_NULL(mobhook_leash_freepet)
|
||||
leash_pet.add_movespeed_modifier(MOVESPEED_ID_LEASH, multiplicative_slowdown = 5)
|
||||
|
||||
/datum/crafting_recipe/leash
|
||||
name = "Leash"
|
||||
result = /obj/item/leash
|
||||
time = 40
|
||||
reqs = list(/obj/item/stack/sheet/metal = 1,
|
||||
/obj/item/stack/sheet/cloth = 3)
|
||||
category = CAT_MISC
|
||||
@@ -47,3 +47,9 @@
|
||||
if (!C.handcuffed)
|
||||
return //Break when the rope is removed
|
||||
|
||||
/datum/crafting_recipe/rope
|
||||
name = "Soft Rope"
|
||||
result = /obj/item/restraints/handcuffs/rope
|
||||
time = 40
|
||||
reqs = list(/obj/item/stack/sheet/cloth = 5)
|
||||
category = CAT_MISC
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 324 B |
@@ -44,12 +44,16 @@
|
||||
var/items = o.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
if(W == o.w_uniform || W == o.wear_suit)
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(o, "<span class='warning'>Your clothes give, ripping into pieces under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!</b></span>")
|
||||
o.visible_message("<span class='boldnotice'>[o]'s chest suddenly bursts forth, ripping their clothes off!'</span>")
|
||||
else
|
||||
to_chat(o, "<span class='notice'>Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.</b></span>")
|
||||
//Hyper change
|
||||
var/obj/item/clothing/W2 = W
|
||||
if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//Hyper change end
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(o, "<span class='warning'>Your clothes give, ripping into pieces under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!</b></span>")
|
||||
o.visible_message("<span class='boldnotice'>[o]'s chest suddenly bursts forth, ripping their clothes off!'</span>")
|
||||
else
|
||||
to_chat(o, "<span class='notice'>Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.</b></span>")
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/chem/breast_enlarger/tick(mob/living/carbon/human/H)//If you try to wear clothes, you fail. Slows you down if you're comically huge
|
||||
@@ -66,9 +70,13 @@
|
||||
var/items = o.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
if(W == o.w_uniform || W == o.wear_suit)
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(owner, "<span class='warning'>Your enormous breasts are way too large to fit anything over them!</b></span>")
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
var/obj/item/clothing/W2 = W
|
||||
if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(owner, "<span class='warning'>Your enormous breasts are way too large to fit anything over them!</b></span>")
|
||||
/*
|
||||
if (B.size == "huge")
|
||||
if(prob(1))
|
||||
@@ -125,14 +133,23 @@
|
||||
var/mob/living/carbon/human/o = owner
|
||||
var/items = o.get_contents()
|
||||
if(o.w_uniform || o.wear_suit)
|
||||
to_chat(o, "<span class='warning'>Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!</b></span>")
|
||||
owner.visible_message("<span class='boldnotice'>[o]'s schlong suddenly bursts forth, ripping their clothes off!'</span>")
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
var/obj/item/clothing/suit = o.get_item_by_slot(SLOT_W_UNIFORM)
|
||||
var/obj/item/clothing/jacket = o.get_item_by_slot(SLOT_WEAR_SUIT)
|
||||
if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
to_chat(o, "<span class='warning'>Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!</b></span>")
|
||||
owner.visible_message("<span class='boldnotice'>[o]'s schlong suddenly bursts forth, ripping their clothes off!'</span>")
|
||||
else
|
||||
to_chat(o, "<span class='notice'>Your emancipated trouser snake is so ripe with girth, you seriously doubt you'll be able to fit any clothes over it.</b></span>")
|
||||
for(var/obj/item/W in items)
|
||||
if(W == o.w_uniform || W == o.wear_suit)
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
var/obj/item/clothing/W2 = W
|
||||
if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -151,14 +168,19 @@
|
||||
|
||||
var/items = o.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
if (o.arousalloss > 32) // warning that your shaft is getting errect!
|
||||
if(W == o.w_uniform || W == o.wear_suit )
|
||||
to_chat(M, "<span class='warning'>Your swelling cock begins to strain against your clothes tightly!</b></span>")
|
||||
if (o.arousalloss > 33)
|
||||
if(W == o.w_uniform || W == o.wear_suit )
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(owner, "<span class='warning'>Your erect member is way to large to fit anything over! You will need to be flaccid again to wear clothes!</b></span>")
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
if(istype(W, /obj/item/clothing))
|
||||
var/obj/item/clothing/W2 = W
|
||||
if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
if (o.arousalloss > 32) // warning that your shaft is getting errect!
|
||||
if(W == o.w_uniform || W == o.wear_suit )
|
||||
to_chat(M, "<span class='warning'>Your swelling cock begins to strain against your clothes tightly!</b></span>")
|
||||
if (o.arousalloss > 33)
|
||||
if(W == o.w_uniform || W == o.wear_suit )
|
||||
o.dropItemToGround(W, TRUE)
|
||||
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
|
||||
to_chat(owner, "<span class='warning'>Your erect member is way to large to fit anything over! You will need to be flaccid again to wear clothes!</b></span>")
|
||||
/*
|
||||
switch(round(P.cached_length))
|
||||
if(21)
|
||||
|
||||
@@ -63,7 +63,9 @@
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/electropack/shockcollar = 3,
|
||||
/obj/item/clothing/neck/petcollar/locked = 1
|
||||
/obj/item/clothing/neck/petcollar/locked = 1,
|
||||
/obj/item/restraints/handcuffs/rope = 1,
|
||||
/obj/item/leash = 1
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/kink
|
||||
/*
|
||||
|
||||
@@ -98,10 +98,15 @@
|
||||
B.cached_size = B.cached_size + 0.05
|
||||
if (B.cached_size >= 8.5 && B.cached_size < 9)
|
||||
if(H.w_uniform || H.wear_suit)
|
||||
var/target = M.get_bodypart(BODY_ZONE_CHEST)
|
||||
to_chat(M, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
|
||||
M.adjustOxyLoss(5, 0)
|
||||
M.apply_damage(1, BRUTE, target)
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
var/obj/item/clothing/suit = H.get_item_by_slot(SLOT_W_UNIFORM)
|
||||
var/obj/item/clothing/jacket = H.get_item_by_slot(SLOT_WEAR_SUIT)
|
||||
if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
var/target = M.get_bodypart(BODY_ZONE_CHEST)
|
||||
to_chat(M, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
|
||||
M.adjustOxyLoss(5, 0)
|
||||
M.apply_damage(1, BRUTE, target)
|
||||
B.update()
|
||||
..()
|
||||
|
||||
@@ -272,9 +277,14 @@
|
||||
P.cached_length = P.cached_length + 0.1
|
||||
if (P.cached_length >= 20.5 && P.cached_length < 21)
|
||||
if(H.w_uniform || H.wear_suit|| H.arousalloss > 33)
|
||||
var/target = M.get_bodypart(BODY_ZONE_CHEST)
|
||||
to_chat(M, "<span class='warning'>Your cock begins to strain against your clothes tightly!</b></span>")
|
||||
M.apply_damage(1, BRUTE, target)
|
||||
//Hyper change// Check for a flag before we remove clothes.
|
||||
var/obj/item/clothing/suit = H.get_item_by_slot(SLOT_W_UNIFORM)
|
||||
var/obj/item/clothing/jacket = H.get_item_by_slot(SLOT_WEAR_SUIT)
|
||||
if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this.
|
||||
//End Hyper Change//
|
||||
var/target = M.get_bodypart(BODY_ZONE_CHEST)
|
||||
to_chat(M, "<span class='warning'>Your cock begins to strain against your clothes tightly!</b></span>")
|
||||
M.apply_damage(1, BRUTE, target)
|
||||
|
||||
P.update()
|
||||
..()
|
||||
|
||||
@@ -2891,6 +2891,7 @@
|
||||
#include "hyperstation\code\modules\resize\holder_micro.dm"
|
||||
#include "hyperstation\code\modules\resize\resizing.dm"
|
||||
#include "hyperstation\code\modules\resize\sizegun.dm"
|
||||
#include "hyperstation\code\obj\bluespace sewing kit.dm"
|
||||
#include "hyperstation\code\obj\decal.dm"
|
||||
#include "hyperstation\code\obj\fluff.dm"
|
||||
#include "hyperstation\code\obj\kinkyclothes.dm"
|
||||
|
||||
Reference in New Issue
Block a user