mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-25 17:42:26 +00:00
259 lines
7.5 KiB
Plaintext
259 lines
7.5 KiB
Plaintext
/obj/item/weapon/gun/energy/ionrifle
|
|
name = "ion rifle"
|
|
desc = "A man portable anti-armor weapon designed to disable mechanical threats"
|
|
icon_state = "ionrifle"
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
origin_tech = "combat=2;magnets=4"
|
|
w_class = 4.0
|
|
flags = FPRINT | TABLEPASS | CONDUCT
|
|
slot_flags = SLOT_BACK
|
|
charge_cost = 100
|
|
projectile_type = "/obj/item/projectile/ion"
|
|
|
|
/obj/item/weapon/gun/energy/ionrifle/emp_act(severity)
|
|
if(severity <= 2)
|
|
power_supply.use(round(power_supply.maxcharge / severity))
|
|
update_icon()
|
|
else
|
|
return
|
|
|
|
/obj/item/weapon/gun/energy/decloner
|
|
name = "biological demolecularisor"
|
|
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
|
|
icon_state = "decloner"
|
|
fire_sound = 'sound/weapons/pulse3.ogg'
|
|
origin_tech = "combat=5;materials=4;powerstorage=3"
|
|
charge_cost = 100
|
|
projectile_type = "/obj/item/projectile/energy/declone"
|
|
|
|
obj/item/weapon/gun/energy/staff
|
|
name = "staff of change"
|
|
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself"
|
|
icon = 'icons/obj/gun.dmi'
|
|
icon_state = "staffofchange"
|
|
item_state = "staffofchange"
|
|
fire_sound = 'sound/weapons/emitter.ogg'
|
|
flags = FPRINT | TABLEPASS | CONDUCT
|
|
slot_flags = SLOT_BACK
|
|
w_class = 4.0
|
|
charge_cost = 200
|
|
projectile_type = "/obj/item/projectile/change"
|
|
origin_tech = null
|
|
clumsy_check = 0
|
|
var/charge_tick = 0
|
|
|
|
|
|
New()
|
|
..()
|
|
processing_objects.Add(src)
|
|
|
|
|
|
Del()
|
|
processing_objects.Remove(src)
|
|
..()
|
|
|
|
|
|
process()
|
|
charge_tick++
|
|
if(charge_tick < 4) return 0
|
|
charge_tick = 0
|
|
if(!power_supply) return 0
|
|
power_supply.give(200)
|
|
return 1
|
|
|
|
update_icon()
|
|
return
|
|
|
|
|
|
click_empty(mob/user = null)
|
|
if (user)
|
|
user.visible_message("*fizzle*", "\red <b>*fizzle*</b>")
|
|
else
|
|
src.visible_message("*fizzle*")
|
|
playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 1)
|
|
|
|
/obj/item/weapon/gun/energy/staff/animate
|
|
name = "staff of animation"
|
|
desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines."
|
|
projectile_type = "/obj/item/projectile/animate"
|
|
charge_cost = 100
|
|
|
|
/obj/item/weapon/gun/energy/floragun
|
|
name = "floral somatoray"
|
|
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
|
|
icon_state = "floramut100"
|
|
item_state = "obj/item/gun.dmi"
|
|
fire_sound = 'sound/effects/stealthoff.ogg'
|
|
charge_cost = 100
|
|
projectile_type = "/obj/item/projectile/energy/floramut"
|
|
origin_tech = "materials=2;biotech=3;powerstorage=3"
|
|
modifystate = "floramut"
|
|
var/charge_tick = 0
|
|
var/mode = 0 //0 = mutate, 1 = yield boost
|
|
|
|
New()
|
|
..()
|
|
processing_objects.Add(src)
|
|
|
|
|
|
Del()
|
|
processing_objects.Remove(src)
|
|
..()
|
|
|
|
|
|
process()
|
|
charge_tick++
|
|
if(charge_tick < 4) return 0
|
|
charge_tick = 0
|
|
if(!power_supply) return 0
|
|
power_supply.give(100)
|
|
update_icon()
|
|
return 1
|
|
|
|
attack_self(mob/living/user as mob)
|
|
switch(mode)
|
|
if(0)
|
|
mode = 1
|
|
charge_cost = 100
|
|
user << "\red The [src.name] is now set to increase yield."
|
|
projectile_type = "/obj/item/projectile/energy/florayield"
|
|
modifystate = "florayield"
|
|
if(1)
|
|
mode = 0
|
|
charge_cost = 100
|
|
user << "\red The [src.name] is now set to induce mutations."
|
|
projectile_type = "/obj/item/projectile/energy/floramut"
|
|
modifystate = "floramut"
|
|
update_icon()
|
|
return
|
|
|
|
/obj/item/weapon/gun/energy/meteorgun
|
|
name = "meteor gun"
|
|
desc = "For the love of god, make sure you're aiming this the right way!"
|
|
icon_state = "riotgun"
|
|
item_state = "c20r"
|
|
w_class = 4
|
|
projectile_type = "/obj/item/projectile/meteor"
|
|
charge_cost = 100
|
|
cell_type = "/obj/item/weapon/cell/potato"
|
|
clumsy_check = 0 //Admin spawn only, might as well let clowns use it.
|
|
var/charge_tick = 0
|
|
var/recharge_time = 5 //Time it takes for shots to recharge (in ticks)
|
|
|
|
New()
|
|
..()
|
|
processing_objects.Add(src)
|
|
|
|
|
|
Del()
|
|
processing_objects.Remove(src)
|
|
..()
|
|
|
|
process()
|
|
charge_tick++
|
|
if(charge_tick < recharge_time) return 0
|
|
charge_tick = 0
|
|
if(!power_supply) return 0
|
|
power_supply.give(100)
|
|
|
|
update_icon()
|
|
return
|
|
|
|
|
|
/obj/item/weapon/gun/energy/meteorgun/pen
|
|
name = "meteor pen"
|
|
desc = "The pen is mightier than the sword."
|
|
icon = 'icons/obj/bureaucracy.dmi'
|
|
icon_state = "pen"
|
|
item_state = "pen"
|
|
w_class = 1
|
|
|
|
|
|
/obj/item/weapon/gun/energy/mindflayer
|
|
name = "mind flayer"
|
|
desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon."
|
|
icon_state = "xray"
|
|
projectile_type = "/obj/item/projectile/beam/mindflayer"
|
|
fire_sound = 'sound/weapons/Laser.ogg'
|
|
|
|
obj/item/weapon/gun/energy/staff/focus
|
|
name = "mental focus"
|
|
desc = "An artefact that channels the will of the user into destructive bolts of force. If you aren't careful with it, you might poke someone's brain out."
|
|
icon = 'icons/obj/wizard.dmi'
|
|
icon_state = "focus"
|
|
item_state = "focus"
|
|
projectile_type = "/obj/item/projectile/forcebolt"
|
|
/*
|
|
attack_self(mob/living/user as mob)
|
|
if(projectile_type == "/obj/item/projectile/forcebolt")
|
|
charge_cost = 200
|
|
user << "\red The [src.name] will now strike a small area."
|
|
projectile_type = "/obj/item/projectile/forcebolt/strong"
|
|
else
|
|
charge_cost = 100
|
|
user << "\red The [src.name] will now strike only a single person."
|
|
projectile_type = "/obj/item/projectile/forcebolt"
|
|
*/
|
|
|
|
/obj/item/weapon/gun/energy/toxgun
|
|
name = "phoron pistol"
|
|
desc = "A specialized firearm designed to fire lethal bolts of phoron."
|
|
icon_state = "toxgun"
|
|
fire_sound = 'sound/effects/stealthoff.ogg'
|
|
w_class = 3.0
|
|
origin_tech = "combat=5;phorontech=4"
|
|
projectile_type = "/obj/item/projectile/energy/phoron"
|
|
|
|
/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
|
|
|
|
/obj/item/weapon/gun/energy/sniperrifle/dropped(mob/user)
|
|
user.client.view = world.view
|
|
|
|
|
|
|
|
/*
|
|
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 = "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
|
|
|
|
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
|