Files
S.P.L.U.R.T-Station-13/modular_sand/code/modules/resize/sizegun.dm
SandPoot 6790009f7a Size Stuff (#206)
* Upload files

* Update holder_micro.dm

* Upload files
2021-12-09 14:13:27 -03:00

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"