mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
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:
@@ -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."
|
||||||
|
|||||||
@@ -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)
|
||||||
BIN
icons/mob/in-hand/left/sockweapon_left.dmi
Normal file
BIN
icons/mob/in-hand/left/sockweapon_left.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 318 B |
BIN
icons/mob/in-hand/right/sockweapon_right.dmi
Normal file
BIN
icons/mob/in-hand/right/sockweapon_right.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 321 B |
BIN
icons/obj/bricksock.dmi
Normal file
BIN
icons/obj/bricksock.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 263 B |
BIN
icons/obj/soapsock.dmi
Normal file
BIN
icons/obj/soapsock.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 198 B |
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user