mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
@@ -1192,6 +1192,13 @@
|
||||
see_in_dark = 8
|
||||
if(!druggy) see_invisible = SEE_INVISIBLE_LEVEL_TWO
|
||||
if(healths) healths.icon_state = "health7" //DEAD healthmeter
|
||||
if(client)
|
||||
if(client.view != world.view)
|
||||
if(locate(/obj/item/weapon/gun/energy/sniperrifle, contents))
|
||||
var/obj/item/weapon/gun/energy/sniperrifle/s = locate() in src
|
||||
if(s.zoom)
|
||||
s.zoom()
|
||||
|
||||
else
|
||||
sight &= ~(SEE_TURFS|SEE_MOBS|SEE_OBJS)
|
||||
see_in_dark = species.darksight
|
||||
|
||||
@@ -186,6 +186,12 @@
|
||||
if(L.incorporeal_move)//Move though walls
|
||||
Process_Incorpmove(direct)
|
||||
return
|
||||
if(mob.client)
|
||||
if(mob.client.view != world.view)
|
||||
if(locate(/obj/item/weapon/gun/energy/sniperrifle, mob.contents)) // If mob moves while zoomed in with sniper rifle, unzoom them.
|
||||
var/obj/item/weapon/gun/energy/sniperrifle/s = locate() in mob
|
||||
if(s.zoom)
|
||||
s.zoom()
|
||||
|
||||
if(Process_Grab()) return
|
||||
|
||||
@@ -447,4 +453,4 @@
|
||||
prob_slip = 0 // Changing this to zero to make it line up with the comment.
|
||||
|
||||
prob_slip = round(prob_slip)
|
||||
return(prob_slip)
|
||||
return(prob_slip)
|
||||
|
||||
@@ -205,37 +205,54 @@ obj/item/weapon/gun/energy/staff/focus
|
||||
projectile_type = "/obj/item/projectile/energy/plasma"
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle
|
||||
name = "L.W.A.P. Sniper Rifle"
|
||||
desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "sniper"
|
||||
fire_sound = 'sound/weapons/marauder.ogg'
|
||||
origin_tech = "combat=6;materials=5;powerstorage=4"
|
||||
projectile_type = "/obj/item/projectile/beam/sniper"
|
||||
slot_flags = SLOT_BACK
|
||||
charge_cost = 250
|
||||
fire_delay = 35
|
||||
w_class = 4.0
|
||||
|
||||
var/zoom = 0
|
||||
name = "L.W.A.P. Sniper Rifle"
|
||||
desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
icon_state = "sniper"
|
||||
fire_sound = 'sound/weapons/marauder.ogg'
|
||||
origin_tech = "combat=6;materials=5;powerstorage=4"
|
||||
projectile_type = "/obj/item/projectile/beam/sniper"
|
||||
slot_flags = SLOT_BACK
|
||||
charge_cost = 250
|
||||
fire_delay = 35
|
||||
w_class = 4.0
|
||||
var/zoom = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle/dropped(mob/user)
|
||||
user.client.view = world.view
|
||||
zoom = 0
|
||||
|
||||
|
||||
|
||||
/*
|
||||
This is called from
|
||||
modules/mob/mob_movement.dm if you move you will be zoomed out
|
||||
modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
*/
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle/verb/zoom()
|
||||
set category = "Special Verbs"
|
||||
set name = "Zoom"
|
||||
set popup_menu = 0
|
||||
if(usr.stat || !(istype(usr,/mob/living/carbon/human)))
|
||||
usr << "No."
|
||||
return
|
||||
set category = "Object"
|
||||
set name = "Use Sniper Scope"
|
||||
set popup_menu = 0
|
||||
if(usr.stat || !(istype(usr,/mob/living/carbon/human)))
|
||||
usr << "You are unable to focus down the scope of the rifle."
|
||||
return
|
||||
if(!zoom && global_hud.darkMask[1] in usr.client.screen)
|
||||
usr << "Your welding equipment gets in the way of you looking down the scope"
|
||||
return
|
||||
if(!zoom && usr.get_active_hand() != src)
|
||||
usr << "You are too distracted to look down the scope, perhaps if it was in your active hand this might work better"
|
||||
return
|
||||
|
||||
src.zoom = !src.zoom
|
||||
usr << ("<font color='[src.zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>")
|
||||
if(zoom)
|
||||
usr.client.view = 12
|
||||
usr << sound('sound/mecha/imag_enh.ogg',volume=50)
|
||||
else
|
||||
usr.client.view = world.view//world.view - default mob view size
|
||||
return
|
||||
if(usr.client.view == world.view)
|
||||
if(!usr.hud_used.hud_shown)
|
||||
usr.button_pressed_F12(1) // If the user has already limited their HUD this avoids them having a HUD when they zoom in
|
||||
usr.button_pressed_F12(1)
|
||||
usr.client.view = 12
|
||||
zoom = 1
|
||||
else
|
||||
usr.client.view = world.view
|
||||
if(!usr.hud_used.hud_shown)
|
||||
usr.button_pressed_F12(1)
|
||||
zoom = 0
|
||||
usr << "<font color='[zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>"
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user