mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-21 15:23:13 +00:00
87 lines
2.4 KiB
Plaintext
87 lines
2.4 KiB
Plaintext
/obj/item/projectile/sizelaser
|
|
name = "sizeray laser"
|
|
icon_state = "omnilaser"
|
|
hitsound = null
|
|
damage = 5
|
|
damage_type = STAMINA
|
|
flag = "laser"
|
|
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
|
|
|
/obj/item/projectile/sizelaser/shrinkray
|
|
icon_state = "bluelaser"
|
|
|
|
/obj/item/projectile/sizelaser/growthray
|
|
icon_state = "laser"
|
|
|
|
/obj/item/projectile/sizelaser/shrinkray/on_hit(atom/target, blocked = 0)
|
|
if(isliving(target))
|
|
var/mob/living/living = target
|
|
var/new_size = RESIZE_NORMAL
|
|
switch(get_size(target))
|
|
if(RESIZE_MACRO to INFINITY)
|
|
new_size = RESIZE_HUGE
|
|
if(RESIZE_HUGE to RESIZE_MACRO)
|
|
new_size = RESIZE_BIG
|
|
if(RESIZE_BIG to RESIZE_HUGE)
|
|
new_size = RESIZE_NORMAL
|
|
if(RESIZE_NORMAL to RESIZE_BIG)
|
|
new_size = RESIZE_SMALL
|
|
if(RESIZE_SMALL to RESIZE_NORMAL)
|
|
new_size = RESIZE_TINY
|
|
if(RESIZE_TINY to RESIZE_SMALL)
|
|
new_size = RESIZE_MICRO
|
|
if((0 - INFINITY) to RESIZE_NORMAL)
|
|
new_size = RESIZE_MICRO
|
|
living.update_size(new_size)
|
|
return 1
|
|
|
|
/obj/item/projectile/sizelaser/growthray/on_hit(atom/target, blocked = 0 )
|
|
if(isliving(target))
|
|
var/mob/living/living = target
|
|
var/new_size = RESIZE_NORMAL
|
|
switch(get_size(target))
|
|
if(RESIZE_HUGE to RESIZE_MACRO)
|
|
new_size = RESIZE_MACRO
|
|
if(RESIZE_BIG to RESIZE_HUGE)
|
|
new_size = RESIZE_HUGE
|
|
if(RESIZE_NORMAL to RESIZE_BIG)
|
|
new_size = RESIZE_BIG
|
|
if(RESIZE_SMALL to RESIZE_NORMAL)
|
|
new_size = RESIZE_NORMAL
|
|
if(RESIZE_TINY to RESIZE_SMALL)
|
|
new_size = RESIZE_SMALL
|
|
if(RESIZE_MICRO to RESIZE_TINY)
|
|
new_size = RESIZE_TINY
|
|
if((0 - INFINITY) to RESIZE_MICRO)
|
|
new_size = RESIZE_MICRO
|
|
living.update_size(new_size)
|
|
return 1
|
|
|
|
/obj/item/ammo_casing/energy/laser/growthray
|
|
projectile_type = /obj/item/projectile/sizelaser/growthray
|
|
select_name = "Growth"
|
|
|
|
/obj/item/ammo_casing/energy/laser/shrinkray
|
|
projectile_type = /obj/item/projectile/sizelaser/shrinkray
|
|
select_name = "Shrink"
|
|
|
|
//Gun
|
|
/obj/item/gun/energy/laser/sizeray
|
|
name = "size ray"
|
|
icon_state = "bluetag"
|
|
desc = "Debug size manipulator. You probably shouldn't have this!"
|
|
item_state = null
|
|
ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray, /obj/item/ammo_casing/energy/laser/growthray)
|
|
selfcharge = EGUN_SELFCHARGE
|
|
charge_delay = 5
|
|
ammo_x_offset = 2
|
|
clumsy_check = 1
|
|
|
|
/obj/item/gun/energy/laser/sizeray/update_overlays()
|
|
. = ..()
|
|
var/current_index = current_firemode_index
|
|
if(current_index == 1)
|
|
icon_state = "redtag"
|
|
else
|
|
icon_state = "bluetag"
|