mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
@@ -63,7 +63,7 @@
|
||||
desc = "Horrendous and awful. It smells like cancer. The fact it has wires attached to it is incidental."
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null
|
||||
var/stun_strength = 5
|
||||
var/stun_cost = 3750
|
||||
var/stun_cost = 2000
|
||||
|
||||
/obj/item/clothing/gloves/color/yellow/stun/New()
|
||||
..()
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
/obj/item/weapon/robot_module/security/New()
|
||||
..()
|
||||
modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src)
|
||||
modules += new /obj/item/weapon/melee/baton/loaded/robot(src)
|
||||
modules += new /obj/item/weapon/melee/baton/loaded(src)
|
||||
modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src)
|
||||
modules += new /obj/item/taperoll/police(src)
|
||||
modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src)
|
||||
|
||||
@@ -90,7 +90,6 @@
|
||||
var/update_overlay = -1
|
||||
var/global/status_overlays = 0
|
||||
var/updating_icon = 0
|
||||
var/standard_max_charge
|
||||
var/datum/wires/apc/wires = null
|
||||
//var/debug = 0
|
||||
var/global/list/status_overlays_lock
|
||||
@@ -142,9 +141,6 @@
|
||||
apcs += src
|
||||
apcs = sortAtom(apcs)
|
||||
wires = new(src)
|
||||
var/tmp/obj/item/weapon/stock_parts/cell/tmp_cell = new
|
||||
standard_max_charge = tmp_cell.maxcharge
|
||||
qdel(tmp_cell)
|
||||
|
||||
// offset 24 pixels in direction of dir
|
||||
// this allows the APC to be embedded in a wall, yet still inside an area
|
||||
@@ -198,7 +194,7 @@
|
||||
if(cell_type)
|
||||
src.cell = new/obj/item/weapon/stock_parts/cell(src)
|
||||
cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively)
|
||||
cell.charge = start_charge * cell.maxcharge / 100.0 // (convert percentage to actual value)
|
||||
cell.charge = start_charge * cell.maxcharge / 100 // (convert percentage to actual value)
|
||||
|
||||
var/area/A = get_area(src)
|
||||
|
||||
|
||||
@@ -5,24 +5,25 @@
|
||||
return 100.0*charge/maxcharge
|
||||
|
||||
// use power from a cell
|
||||
/obj/item/weapon/stock_parts/cell/proc/use(var/amount)
|
||||
/obj/item/weapon/stock_parts/cell/proc/use(amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
|
||||
if(charge < amount) return 0
|
||||
if(charge < amount)
|
||||
return 0
|
||||
charge = (charge - amount)
|
||||
return 1
|
||||
|
||||
// recharge the cell
|
||||
/obj/item/weapon/stock_parts/cell/proc/give(var/amount)
|
||||
/obj/item/weapon/stock_parts/cell/proc/give(amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
|
||||
if(maxcharge < amount) return 0
|
||||
if(maxcharge < amount)
|
||||
return 0
|
||||
var/power_used = min(maxcharge-charge,amount)
|
||||
if(crit_fail) return 0
|
||||
if(crit_fail)
|
||||
return 0
|
||||
if(!prob(reliability))
|
||||
minor_fault++
|
||||
if(prob(minor_fault))
|
||||
@@ -31,7 +32,6 @@
|
||||
charge += power_used
|
||||
return power_used
|
||||
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
if(maxcharge <= 2500)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "The part of the gun that makes the laser go pew"
|
||||
caliber = "energy"
|
||||
projectile_type = /obj/item/projectile/energy
|
||||
var/e_cost = 1000 //The amount of energy a cell needs to expend to create this shot.
|
||||
var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot.
|
||||
var/select_name = "energy"
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
|
||||
@@ -13,10 +13,11 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/lasergun
|
||||
projectile_type = /obj/item/projectile/beam/laser
|
||||
e_cost = 830
|
||||
e_cost = 83
|
||||
select_name = "kill"
|
||||
|
||||
/obj/item/ammo_casing/energy/laser/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
|
||||
e_cost = 100
|
||||
|
||||
/obj/item/ammo_casing/energy/laser/practice
|
||||
projectile_type = /obj/item/projectile/beam/practice
|
||||
@@ -35,13 +36,13 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/laser/pulse
|
||||
projectile_type = /obj/item/projectile/beam/pulse
|
||||
e_cost = 2000
|
||||
e_cost = 200
|
||||
select_name = "DESTROY"
|
||||
fire_sound = 'sound/weapons/pulse.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/laser/scatter/pulse
|
||||
projectile_type = /obj/item/projectile/beam/pulse
|
||||
e_cost = 2000
|
||||
e_cost = 200
|
||||
select_name = "ANNIHILATE"
|
||||
fire_sound = 'sound/weapons/pulse.ogg'
|
||||
|
||||
@@ -55,26 +56,27 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/xray
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
e_cost = 500
|
||||
e_cost = 50
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/immolator
|
||||
projectile_type = /obj/item/projectile/beam/immolator
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
e_cost = 1250
|
||||
e_cost = 125
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode
|
||||
projectile_type = /obj/item/projectile/energy/electrode
|
||||
select_name = "stun"
|
||||
fire_sound = 'sound/weapons/taser.ogg'
|
||||
e_cost = 2000
|
||||
e_cost = 200
|
||||
delay = 15
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode/gun
|
||||
fire_sound = 'sound/weapons/gunshot.ogg'
|
||||
e_cost = 1000
|
||||
e_cost = 100
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
|
||||
e_cost = 200
|
||||
|
||||
/obj/item/ammo_casing/energy/ion
|
||||
projectile_type = /obj/item/projectile/ion
|
||||
@@ -121,7 +123,7 @@
|
||||
/obj/item/ammo_casing/energy/disabler
|
||||
projectile_type = /obj/item/projectile/beam/disabler
|
||||
select_name = "disable"
|
||||
e_cost = 500
|
||||
e_cost = 50
|
||||
fire_sound = 'sound/weapons/taser2.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/plasma
|
||||
@@ -129,12 +131,12 @@
|
||||
select_name = "plasma burst"
|
||||
fire_sound = 'sound/weapons/plasma_cutter.ogg'
|
||||
delay = 15
|
||||
e_cost = 250
|
||||
e_cost = 25
|
||||
|
||||
/obj/item/ammo_casing/energy/plasma/adv
|
||||
projectile_type = /obj/item/projectile/plasma/adv
|
||||
delay = 10
|
||||
e_cost = 100
|
||||
e_cost = 10
|
||||
|
||||
/obj/item/ammo_casing/energy/wormhole
|
||||
projectile_type = /obj/item/projectile/beam/wormhole
|
||||
@@ -153,7 +155,7 @@
|
||||
/obj/item/ammo_casing/energy/bolt
|
||||
projectile_type = /obj/item/projectile/energy/bolt
|
||||
select_name = "bolt"
|
||||
e_cost = 5000
|
||||
e_cost = 500
|
||||
fire_sound = 'sound/weapons/Genhit.ogg'
|
||||
|
||||
/obj/item/ammo_casing/energy/bolt/large
|
||||
@@ -163,7 +165,7 @@
|
||||
/obj/item/ammo_casing/energy/dart
|
||||
projectile_type = /obj/item/projectile/energy/dart
|
||||
fire_sound = 'sound/weapons/Genhit.ogg'
|
||||
e_cost = 5000
|
||||
e_cost = 500
|
||||
select_name = "toxic dart"
|
||||
|
||||
/obj/item/ammo_casing/energy/instakill
|
||||
@@ -187,7 +189,7 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/shock_revolver
|
||||
fire_sound = 'sound/magic/lightningbolt.ogg'
|
||||
e_cost = 2000
|
||||
e_cost = 200
|
||||
select_name = "lightning beam"
|
||||
projectile_type = /obj/item/projectile/energy/shock_revolver
|
||||
|
||||
@@ -210,7 +212,7 @@
|
||||
/obj/item/ammo_casing/energy/teleport
|
||||
projectile_type = /obj/item/projectile/energy/teleport
|
||||
fire_sound = 'sound/weapons/wave.ogg'
|
||||
e_cost = 1250
|
||||
e_cost = 250
|
||||
select_name = "teleport beam"
|
||||
var/teleport_target
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/item/ammo_casing/magic/chaos
|
||||
projectile_type = /obj/item/projectile/magic
|
||||
|
||||
|
||||
/obj/item/ammo_casing/magic/spellblade
|
||||
projectile_type = /obj/item/projectile/magic/spellblade
|
||||
|
||||
@@ -49,4 +49,4 @@
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3
|
||||
select_name = "spraydown"
|
||||
fire_sound = 'sound/weapons/gunshot_smg.ogg'
|
||||
e_cost = 200
|
||||
e_cost = 20
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
if(selfcharge)
|
||||
processing_objects.Add(src)
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/proc/update_ammo_types()
|
||||
var/obj/item/ammo_casing/energy/shot
|
||||
for(var/i = 1, i <= ammo_type.len, i++)
|
||||
@@ -61,9 +61,9 @@
|
||||
var/obj/item/ammo_casing/energy/E = ammo_type[select]
|
||||
if(use_external_power)
|
||||
var/obj/item/weapon/stock_parts/cell/external = get_external_power_supply()
|
||||
if(!external || !external.use((E.e_cost)/10)) //Take power from the borg...
|
||||
if(!external || !external.use(E.e_cost)) //Take power from the borg...
|
||||
return //Note, uses /10 because of shitty mods to the cell system
|
||||
power_supply.give(1000) //... to recharge the shot
|
||||
power_supply.give(100) //... to recharge the shot
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/attack_self(mob/living/user as mob)
|
||||
@@ -176,7 +176,7 @@
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
if(R && R.cell)
|
||||
var/obj/item/ammo_casing/energy/shot = ammo_type[select] //Necessary to find cost of shot
|
||||
if(R.cell.use(shot.e_cost/10)) //Take power from the borg... //Divided by 10 because cells and charge costs are fucked.
|
||||
if(R.cell.use(shot.e_cost)) //Take power from the borg...
|
||||
power_supply.give(shot.e_cost) //... to recharge the shot
|
||||
|
||||
/obj/item/weapon/gun/energy/proc/get_external_power_supply()
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
empty()
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty()
|
||||
power_supply.use(5000)
|
||||
power_supply.use(500)
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload()
|
||||
@@ -120,7 +120,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/proc/reload()
|
||||
power_supply.give(5000)
|
||||
power_supply.give(500)
|
||||
if(!suppressed)
|
||||
playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
|
||||
else if(isliving(loc))
|
||||
@@ -144,7 +144,7 @@
|
||||
/obj/item/ammo_casing/energy/kinetic
|
||||
projectile_type = /obj/item/projectile/kinetic
|
||||
select_name = "kinetic"
|
||||
e_cost = 5000
|
||||
e_cost = 500
|
||||
fire_sound = 'sound/weapons/Kenetic_accel.ogg' // fine spelling there chap
|
||||
|
||||
/obj/item/ammo_casing/energy/kinetic/ready_proj(atom/target, mob/living/user, quiet, zone_override = "")
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
/obj/item/projectile/kinetic/pod
|
||||
range = 4
|
||||
|
||||
|
||||
/obj/item/projectile/kinetic/pod/regular
|
||||
damage = 50
|
||||
pressure_decrease = 0.5
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
/obj/item/weapon/gun/energy/gun/mini/New()
|
||||
gun_light = new /obj/item/device/flashlight/seclite(src)
|
||||
..()
|
||||
power_supply.maxcharge = 6000
|
||||
power_supply.charge = 6000
|
||||
power_supply.maxcharge = 600
|
||||
power_supply.charge = 600
|
||||
|
||||
/obj/item/weapon/gun/energy/gun/mini/update_icon()
|
||||
..()
|
||||
|
||||
@@ -157,11 +157,11 @@
|
||||
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
|
||||
var/obj/item/stack/sheet/S = A
|
||||
S.use(1)
|
||||
power_supply.give(10000)
|
||||
power_supply.give(1000)
|
||||
to_chat(user, "<span class='notice'>You insert [A] in [src], recharging it.</span>")
|
||||
else if(istype(A, /obj/item/weapon/ore/plasma))
|
||||
qdel(A)
|
||||
power_supply.give(5000)
|
||||
power_supply.give(500)
|
||||
to_chat(user, "<span class='notice'>You insert [A] in [src], recharging it.</span>")
|
||||
else
|
||||
..()
|
||||
@@ -308,12 +308,10 @@
|
||||
desc = "A gun that changes the body temperature of its targets."
|
||||
var/temperature = 300
|
||||
var/target_temperature = 300
|
||||
var/e_cost = 1000
|
||||
origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2"
|
||||
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/temp)
|
||||
selfcharge = 1
|
||||
cell_type = /obj/item/weapon/stock_parts/cell
|
||||
|
||||
var/powercost = ""
|
||||
var/powercostcolor = ""
|
||||
@@ -369,19 +367,19 @@
|
||||
T.temp = temperature
|
||||
switch(temperature)
|
||||
if(0 to 100)
|
||||
T.e_cost = 3000
|
||||
T.e_cost = 300
|
||||
powercost = "High"
|
||||
if(100 to 250)
|
||||
T.e_cost = 2000
|
||||
T.e_cost = 200
|
||||
powercost = "Medium"
|
||||
if(251 to 300)
|
||||
T.e_cost = 1000
|
||||
T.e_cost = 100
|
||||
powercost = "Low"
|
||||
if(301 to 400)
|
||||
T.e_cost = 2000
|
||||
T.e_cost = 200
|
||||
powercost = "Medium"
|
||||
if(401 to 1000)
|
||||
T.e_cost = 3000
|
||||
T.e_cost = 300
|
||||
powercost = "High"
|
||||
switch(powercost)
|
||||
if("High")
|
||||
@@ -471,16 +469,16 @@
|
||||
/obj/item/weapon/gun/energy/temperature/proc/update_charge()
|
||||
var/charge = power_supply.charge
|
||||
switch(charge)
|
||||
if(9000 to INFINITY) overlays += "900"
|
||||
if(8000 to 9000) overlays += "800"
|
||||
if(7000 to 8000) overlays += "700"
|
||||
if(6000 to 7000) overlays += "600"
|
||||
if(5000 to 6000) overlays += "500"
|
||||
if(4000 to 5000) overlays += "400"
|
||||
if(3000 to 4000) overlays += "300"
|
||||
if(2000 to 3000) overlays += "200"
|
||||
if(1000 to 2002) overlays += "100"
|
||||
if(-INFINITY to 1000) overlays += "0"
|
||||
if(900 to INFINITY) overlays += "900"
|
||||
if(800 to 900) overlays += "800"
|
||||
if(700 to 800) overlays += "700"
|
||||
if(600 to 700) overlays += "600"
|
||||
if(500 to 600) overlays += "500"
|
||||
if(400 to 500) overlays += "400"
|
||||
if(300 to 400) overlays += "300"
|
||||
if(200 to 300) overlays += "200"
|
||||
if(100 to 202) overlays += "100"
|
||||
if(-INFINITY to 100) overlays += "0"
|
||||
|
||||
/obj/item/weapon/gun/energy/mimicgun
|
||||
name = "mimic gun"
|
||||
|
||||
@@ -5,23 +5,12 @@
|
||||
item_state = null //so the human update icon uses the icon_state instead.
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/electrode)
|
||||
ammo_x_offset = 3
|
||||
cell_type = /obj/item/weapon/stock_parts/cell/crap
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/mounted
|
||||
name = "mounted taser gun"
|
||||
selfcharge = 1
|
||||
use_external_power = 1
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/cyborg
|
||||
name = "taser gun"
|
||||
desc = "A small, low capacity gun used for non-lethal takedowns."
|
||||
icon_state = "taser"
|
||||
cell_type = /obj/item/weapon/stock_parts/cell/secborg
|
||||
|
||||
/obj/item/weapon/gun/energy/disabler/cyborg/newshot()
|
||||
..()
|
||||
robocharge()
|
||||
|
||||
/obj/item/weapon/gun/energy/shock_revolver
|
||||
name = "tesla revolver"
|
||||
desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers."
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
icon_state = "telegun"
|
||||
item_state = "ionrifle"
|
||||
origin_tech = "combat=6;materials=7;powerstorage=5;bluespace=5;syndicate=4"
|
||||
cell_type = /obj/item/weapon/stock_parts/cell/crap
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/teleport)
|
||||
shaded_charge = 1
|
||||
var/teleport_target = null
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
cargo_hold.emp_act(severity)
|
||||
|
||||
if(battery && battery.charge > 0)
|
||||
battery.use((battery.charge / 2) / severity)
|
||||
battery.use((battery.charge/3)/(severity*2))
|
||||
deal_damage(80 / severity)
|
||||
if(empcounter < (40 / severity))
|
||||
empcounter = 40 / severity
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
var/rand_y = 0
|
||||
var/emagged = 0
|
||||
var/teleporting = 0
|
||||
var/chargecost = 1500
|
||||
var/chargecost = 1000
|
||||
|
||||
/obj/item/weapon/rcs/New()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user