mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-26 13:36:48 +01:00
Changes protector sprite, adds flashlight
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
// -------------- Protector -------------
|
||||
/obj/item/weapon/gun/energy/gun/protector
|
||||
/obj/item/weapon/gun/energy/protector
|
||||
name = "\improper KHI-98a \'Protector\'"
|
||||
desc = "The KHI-98a is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \
|
||||
an alert-level-locked lethal mode, only usable on code blue and higher. It also features a DNA lock mechanism."
|
||||
an alert-level-locked lethal mode, only usable on code blue and higher. It also features an integrated flashlight! \
|
||||
(CtrlClick to toggle flashlight)"
|
||||
|
||||
icon = 'icons/vore/custom_guns_vr.dmi'
|
||||
icon_state = "protstun100"
|
||||
icon_state = "prot"
|
||||
|
||||
icon_override = 'icons/vore/custom_guns_vr.dmi'
|
||||
item_state = "gun"
|
||||
@@ -13,20 +14,26 @@
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
projectile_type = /obj/item/projectile/beam/stun
|
||||
|
||||
modifystate = "protstun"
|
||||
|
||||
dna_lock = 1
|
||||
modifystate = "stun"
|
||||
|
||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2)
|
||||
|
||||
charge_sections = 3 //For the icon
|
||||
ammo_x_offset = 2
|
||||
ammo_y_offset = 0
|
||||
can_flashlight = TRUE
|
||||
light_state = "prot_light"
|
||||
flight_x_offset = 0
|
||||
flight_y_offset = 0
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/protector, modifystate="protstun", fire_sound='sound/weapons/Taser.ogg'),
|
||||
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="protkill", fire_sound='sound/weapons/gauss_shoot.ogg'),
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/protector, modifystate="stun", fire_sound='sound/weapons/Taser.ogg'),
|
||||
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="kill", fire_sound='sound/weapons/gauss_shoot.ogg'),
|
||||
)
|
||||
|
||||
var/emagged = FALSE
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/protector/special_check(mob/user)
|
||||
/obj/item/weapon/gun/energy/protector/special_check(mob/user)
|
||||
if(!emagged && mode_name == "lethal" && get_security_level() == "green")
|
||||
to_chat(user,"<span class='warning'>The trigger refuses to depress while on the lethal setting under security level green!</span>")
|
||||
return FALSE
|
||||
@@ -34,7 +41,7 @@
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/protector/emag_act(var/remaining_charges,var/mob/user)
|
||||
/obj/item/weapon/gun/energy/protector/emag_act(var/remaining_charges,var/mob/user)
|
||||
..()
|
||||
if(!emagged)
|
||||
emagged = TRUE
|
||||
@@ -42,6 +49,52 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
//Update icons from /tg/, so fancy! Use this more!
|
||||
/obj/item/weapon/gun/energy/protector/update_icon()
|
||||
overlays.Cut()
|
||||
var/ratio = 0
|
||||
|
||||
/* Don't have one for this gun
|
||||
var/itemState = null
|
||||
if(!initial(item_state))
|
||||
itemState = icon_state
|
||||
*/
|
||||
|
||||
var/iconState = "[icon_state]_charge"
|
||||
if (modifystate)
|
||||
overlays += "[icon_state]_[modifystate]"
|
||||
iconState += "_[modifystate]"
|
||||
/* Don't have one for this gun
|
||||
if(itemState)
|
||||
itemState += "[modifystate]"
|
||||
*/
|
||||
if(power_supply)
|
||||
ratio = Ceiling((power_supply.charge / power_supply.maxcharge) * charge_sections)
|
||||
|
||||
if(power_supply.charge < charge_cost)
|
||||
overlays += "[icon_state]_empty"
|
||||
else
|
||||
if(!shaded_charge)
|
||||
var/mutable_appearance/charge_overlay = mutable_appearance(icon, iconState)
|
||||
for(var/i = ratio, i >= 1, i--)
|
||||
charge_overlay.pixel_x = ammo_x_offset * (i - 1)
|
||||
overlays += charge_overlay
|
||||
else
|
||||
overlays += "[icon_state]_[modifystate][ratio]"
|
||||
|
||||
if(can_flashlight & gun_light)
|
||||
var/mutable_appearance/flashlight_overlay = mutable_appearance(icon, light_state)
|
||||
flashlight_overlay.pixel_x = flight_x_offset
|
||||
flashlight_overlay.pixel_y = flight_y_offset
|
||||
overlays += flashlight_overlay
|
||||
|
||||
/* Don't have one for this gun
|
||||
if(itemState)
|
||||
itemState += "[ratio]"
|
||||
item_state = itemState
|
||||
*/
|
||||
|
||||
|
||||
// Protector beams
|
||||
/obj/item/projectile/beam/stun/protector
|
||||
name = "protector stun beam"
|
||||
@@ -58,5 +111,5 @@
|
||||
id = "protector"
|
||||
req_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 4000, "glass" = 2000, "silver" = 1000)
|
||||
build_path = /obj/item/weapon/gun/energy/gun/protector
|
||||
build_path = /obj/item/weapon/gun/energy/protector
|
||||
sort_string = "TAADA"
|
||||
|
||||
Reference in New Issue
Block a user