mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
Generalized all ninja power and gear code to work with new rig system. Added shurikens, weapon mount, more work on deployable items. Readded energy nets and energy blades. Grenade launcher/charge stuff, interface stuff. Renamed previously existing rigs to voidsuits, restructured rig and voidsuit files. Refactored the energy net and teleportation proc. Totally rewrote AI core/intellicard transfer procs. Added rig sprites by Mordeth221, added step by steap suit sealing/inability to interfere with suit sealing process. Updated map paths to use voidsuits. Added chemical dispenser functionality, added power sink, added atom/drain_power() proc for later use. Added rigsuit verbs, added voice changer. Renamed MASKINTERNALS to AIRTIGHT, added internals checks for airtight helmets. Added drain_power() procs to vulnerable machinery. Reimplemented data theft. Added suit maluses for losing your cell while wearing one. Transitioned the rig suits to a back-mounted item that also controls a chestpiece. Converted rig module to a storage item, convert ERT voidsuits to hardsuits.
112 lines
3.0 KiB
Plaintext
112 lines
3.0 KiB
Plaintext
|
|
/obj/item/weapon/gun/energy/taser
|
|
name = "taser gun"
|
|
desc = "A small, low capacity gun used for non-lethal takedowns."
|
|
icon_state = "taser"
|
|
item_state = null //so the human update icon uses the icon_state instead.
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
charge_cost = 100
|
|
projectile_type = "/obj/item/projectile/beam/stun"
|
|
cell_type = "/obj/item/weapon/cell/crap"
|
|
|
|
/obj/item/weapon/gun/energy/taser/cyborg
|
|
name = "taser gun"
|
|
desc = "A small, low capacity gun used for non-lethal takedowns."
|
|
icon_state = "taser"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
charge_cost = 100
|
|
projectile_type = "/obj/item/projectile/beam/stun"
|
|
cell_type = "/obj/item/weapon/cell/secborg"
|
|
var/charge_tick = 0
|
|
var/recharge_time = 10 //Time it takes for shots to recharge (in ticks)
|
|
|
|
New()
|
|
..()
|
|
processing_objects.Add(src)
|
|
|
|
|
|
Del()
|
|
processing_objects.Remove(src)
|
|
..()
|
|
|
|
process() //Every [recharge_time] ticks, recharge a shot for the cyborg
|
|
charge_tick++
|
|
if(charge_tick < recharge_time) return 0
|
|
charge_tick = 0
|
|
|
|
if(!power_supply) return 0 //sanity
|
|
if(power_supply.charge >= power_supply.maxcharge) return 0 // check if we actually need to recharge
|
|
|
|
if(isrobot(src.loc))
|
|
var/mob/living/silicon/robot/R = src.loc
|
|
if(R && R.cell)
|
|
R.cell.use(charge_cost) //Take power from the borg...
|
|
power_supply.give(charge_cost) //... to recharge the shot
|
|
|
|
update_icon()
|
|
return 1
|
|
|
|
|
|
/obj/item/weapon/gun/energy/stunrevolver
|
|
name = "stun revolver"
|
|
desc = "A high-tech revolver that fires stun cartridges. The stun cartridges can be recharged using a conventional energy weapon recharger."
|
|
icon_state = "stunrevolver"
|
|
fire_sound = 'sound/weapons/Taser.ogg'
|
|
origin_tech = "combat=3;materials=3;powerstorage=2"
|
|
charge_cost = 125
|
|
projectile_type = "/obj/item/projectile/beam/stun"
|
|
cell_type = "/obj/item/weapon/cell"
|
|
|
|
|
|
|
|
/obj/item/weapon/gun/energy/crossbow
|
|
name = "mini energy-crossbow"
|
|
desc = "A weapon favored by many mercenary stealth specialists."
|
|
icon_state = "crossbow"
|
|
w_class = 2.0
|
|
item_state = "crossbow"
|
|
matter = list("metal" = 2000)
|
|
origin_tech = "combat=2;magnets=2;syndicate=5"
|
|
silenced = 1
|
|
fire_sound = 'sound/weapons/Genhit.ogg'
|
|
projectile_type = "/obj/item/projectile/energy/bolt"
|
|
cell_type = "/obj/item/weapon/cell/crap"
|
|
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(100)
|
|
return 1
|
|
|
|
|
|
update_icon()
|
|
return
|
|
|
|
/obj/item/weapon/gun/energy/crossbow/ninja
|
|
name = "energy dart thrower"
|
|
projectile_type = "/obj/item/projectile/energy/dart"
|
|
|
|
/obj/item/weapon/gun/energy/crossbow/largecrossbow
|
|
name = "Energy Crossbow"
|
|
desc = "A weapon favored by mercenary infiltration teams."
|
|
w_class = 4.0
|
|
force = 10
|
|
matter = list("metal" = 200000)
|
|
projectile_type = "/obj/item/projectile/energy/bolt/large"
|
|
|
|
|