Sock Weapons (#31835)

* Sock weapons

* Removes debugging in-hand sprites.

* Increases brick sock size to medium and enables deconstruction.

* oops lol

* Unique sprites, in-hand sprites, and better sounds.

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Update code/modules/projectiles/guns/projectile/constructable/sockweapons.dm

Co-authored-by: DamianX <DamianX@users.noreply.github.com>

* Prevents glued soap from being used in construction

* Retains the soap being used and transfers fingerprints.

* reee

* Revert "reee"

This reverts commit e3e02bd173.

* forgot to include this lol

* Retains sock + fixes exploit.

* Optimization & removal of grab intent requirement for decon.

* Brick socks no longer cost 2 bricks.

* Displays assembly message following construction.

Co-authored-by: DamianX <DamianX@users.noreply.github.com>
This commit is contained in:
west3436
2022-02-08 22:12:52 -05:00
committed by GitHub
parent ac49397a8a
commit 010210e724
7 changed files with 72 additions and 0 deletions

View File

@@ -410,6 +410,37 @@
item_state = "kneesock" item_state = "kneesock"
species_fit = list(INSECT_SHAPED) species_fit = list(INSECT_SHAPED)
/obj/item/clothing/shoes/kneesocks/attackby(obj/item/weapon/W, mob/user)
..()
if(istype(W, /obj/item/weapon/soap))
if(do_after(user, src, 1 SECONDS))
user.drop_item(src)
if(!user.drop_item(W))
to_chat(user, "<span class='warning'>You can't let go of \the [W].</span>")
return
var/obj/item/weapon/soap_sock/I = new (get_turf(user))
W.transfer_fingerprints_to(I)
I.base_soap = W
I.base_sock = src
W.forceMove(I)
src.forceMove(I)
user.put_in_hands(I)
to_chat(user, "<span class='notice'>You place \the [W] into \the [src].</span>")
else if(istype(W, /obj/item/stack/sheet/mineral/brick))
var/obj/item/stack/sheet/mineral/brick/S = W
if(do_after(user, src, 1 SECONDS))
user.drop_item(src)
if(!user.drop_item(S))
to_chat(user, "<span class='warning'>You can't let go of \the [W].</span>")
return
var/obj/item/weapon/brick_sock/I = new (get_turf(user))
if(!S.use(1))
return
I.base_sock = src
src.forceMove(I)
user.put_in_hands(I)
to_chat(user, "<span class='notice'>You place a brick into \the [src].</span>")
/obj/item/clothing/shoes/jestershoes /obj/item/clothing/shoes/jestershoes
name = "Jester Shoes" name = "Jester Shoes"
desc = "As worn by the clowns of old." desc = "As worn by the clowns of old."

View File

@@ -0,0 +1,40 @@
/obj/item/weapon/soap_sock
name = "soap in a sock"
desc = "Cleans the spirit."
icon = 'icons/obj/soapsock.dmi'
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/sockweapon_left.dmi', "right_hand" = 'icons/mob/in-hand/right/sockweapon_right.dmi')
hitsound = "sound/effects/bodyfall.ogg"
force = 5
throwforce = 0
throw_speed = 1
throw_range = 7
attack_verb = list("socks")
w_class = W_CLASS_TINY
var/obj/item/weapon/soap_sock/base_soap = null
var/obj/item/weapon/soap_sock/base_sock = null
/obj/item/weapon/brick_sock
name = "brick in a sock"
desc = "Rebuilds the body."
icon = 'icons/obj/bricksock.dmi'
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/sockweapon_left.dmi', "right_hand" = 'icons/mob/in-hand/right/sockweapon_right.dmi')
hitsound = "sound/effects/woodhit.ogg"
force = 15
throwforce = 10
throw_speed = 1
throw_range = 7
attack_verb = list("socks")
w_class = W_CLASS_MEDIUM
var/obj/item/weapon/brick_sock/base_sock = null
/obj/item/weapon/soap_sock/attack_self(mob/user)
to_chat(user, "<span class='notice'>You remove the soap from \the [src].</span>")
user.put_in_hands(src.base_sock)
user.put_in_hands(src.base_soap)
qdel(src)
/obj/item/weapon/brick_sock/attack_self(mob/user)
to_chat(user, "<span class='notice'>You remove the brick from \the [src].</span>")
user.put_in_hands(new /obj/item/stack/sheet/mineral/brick(user))
user.put_in_hands(src.base_sock)
qdel(src)

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

BIN
icons/obj/bricksock.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

BIN
icons/obj/soapsock.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

View File

@@ -2327,6 +2327,7 @@
#include "code\modules\projectiles\guns\projectile\constructable\railgun.dm" #include "code\modules\projectiles\guns\projectile\constructable\railgun.dm"
#include "code\modules\projectiles\guns\projectile\constructable\revialver.dm" #include "code\modules\projectiles\guns\projectile\constructable\revialver.dm"
#include "code\modules\projectiles\guns\projectile\constructable\siegecannon.dm" #include "code\modules\projectiles\guns\projectile\constructable\siegecannon.dm"
#include "code\modules\projectiles\guns\projectile\constructable\sockweapons.dm"
#include "code\modules\projectiles\guns\projectile\constructable\subspacetunneler.dm" #include "code\modules\projectiles\guns\projectile\constructable\subspacetunneler.dm"
#include "code\modules\projectiles\guns\projectile\constructable\swords.dm" #include "code\modules\projectiles\guns\projectile\constructable\swords.dm"
#include "code\modules\projectiles\guns\projectile\constructable\tomahawk.dm" #include "code\modules\projectiles\guns\projectile\constructable\tomahawk.dm"