diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index a8e449e1175..7145a414d7e 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -1,7 +1,7 @@
/mob/proc/rightandwrong(var/summon_type) //0 = Summon Guns, 1 = Summon Magic
- var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","arg","uzi","turret","pulsecarbine","decloner","mindflayer","hyperkinetic","advplasmacutter","wormhole","wt550","grenadelauncher","medibeam")
+ var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","arg","uzi","turret","pulsecarbine","decloner","mindflayer","kinetic","advplasmacutter","wormhole","wt550","grenadelauncher","medibeam")
var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffhealing", "armor", "scrying", "staffdoor", "special","voodoo","special")
var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos","necromantic")
@@ -76,8 +76,8 @@
new /obj/item/weapon/gun/energy/decloner(get_turf(H))
if("mindflayer")
new /obj/item/weapon/gun/energy/mindflayer(get_turf(H))
- if("hyperkinetic")
- new /obj/item/weapon/gun/energy/kinetic_accelerator/hyper(get_turf(H))
+ if("kinetic")
+ new /obj/item/weapon/gun/energy/kinetic_accelerator(get_turf(H))
if("advplasmacutter")
new /obj/item/weapon/gun/energy/plasmacutter/adv(get_turf(H))
if("wormhole")
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 546db62032c..b9804e7d9a5 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -194,6 +194,6 @@
/obj/item/weapon/stock_parts/scanning_module = 1,
/obj/item/weapon/spacecash/c200 = 1,
/obj/item/weapon/airlock_electronics = 1,
- /obj/item/weapon/gun/energy/kinetic_accelerator/super = 1,
+ /obj/item/weapon/gun/energy/kinetic_accelerator = 1,
/obj/item/pizzabox = 3,
)
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm
index d5c4d5626bb..2b16a611594 100644
--- a/code/modules/clothing/spacesuits/ert.dm
+++ b/code/modules/clothing/spacesuits/ert.dm
@@ -101,6 +101,7 @@
desc = "A suit worn by the janitorial of a Nanotrasen Emergency Response Team. Has purple highlights. Armoured, space ready, and fire resistant."
icon_state = "ert_janitor"
+//Paranormal
/obj/item/clothing/head/helmet/space/rig/ert/paranormal
name = "paranormal response unit helmet"
desc = "A helmet worn by those who deal with paranormal threats for a living."
@@ -117,7 +118,28 @@
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
sprite_sheets = null
-
/obj/item/clothing/suit/space/rig/ert/paranormal/New()
..()
new /obj/item/weapon/nullrod(src)
+
+/obj/item/clothing/suit/space/rig/ert/paranormal/inquisitor
+ name = "inquisitor's hardsuit"
+ icon_state = "hardsuit-inq"
+ item_state = "hardsuit-inq"
+
+/obj/item/clothing/head/helmet/space/rig/ert/paranormal/inquisitor
+ name = "inquisitor's helmet"
+ icon_state = "hardsuit0-inq"
+ item_state = "hardsuit0-inq"
+
+/obj/item/clothing/suit/space/rig/ert/paranormal/beserker
+ name = "champion's hardsuit"
+ desc = "Voices echo from the hardsuit, driving the user insane."
+ icon_state = "hardsuit-beserker"
+ item_state = "hardsuit-beserker"
+
+/obj/item/clothing/head/helmet/space/rig/ert/paranormal/beserker
+ name = "champion's helmet"
+ desc = "Peering into the eyes of the helmet is enough to seal damnation."
+ icon_state = "hardsuit0-beserker"
+ item_state = "hardsuit0-beserker"
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 0a6779fd807..4d7e1011686 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -207,47 +207,4 @@
armor = list(melee = 20, bullet = 40, laser = 30, energy = 25, bomb = 100, bio = 100, rad = 100)
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
unacidable = 1
- strip_delay = 130
-
-/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal
- name = "paranormal response unit helmet"
- desc = "A helmet worn by those who deal with paranormal threats for a living."
- icon_state = "hardsuit0-prt"
- item_state = "hardsuit0-prt"
- item_color = "knight_grey"
- max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
- actions_types = list()
- burn_state = FIRE_PROOF
-
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal
- name = "paranormal response team suit"
- desc = "Powerful wards are built into this hardsuit, protecting the user from all manner of paranormal threats."
- icon_state = "knight_grey"
- item_state = "knight_grey"
- max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
- burn_state = FIRE_PROOF
-
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal/New()
- ..()
- new /obj/item/weapon/nullrod(src)
-
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor
- name = "inquisitor's hardsuit"
- icon_state = "hardsuit-inq"
- item_state = "hardsuit-inq"
-
-/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor
- name = "inquisitor's helmet"
- icon_state = "hardsuit0-inq"
- item_state = "hardsuit0-inq"
-
-/obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker
- name = "champion's hardsuit"
- desc = "Voices echo from the hardsuit, driving the user insane."
- icon_state = "hardsuit-beserker"
- item_state = "hardsuit-beserker"
-/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/beserker
- name = "champion's helmet"
- desc = "Peering into the eyes of the helmet is enough to seal damnation."
- icon_state = "hardsuit0-beserker"
- item_state = "hardsuit0-beserker"
\ No newline at end of file
+ strip_delay = 130
\ No newline at end of file
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 712fca9592a..4e8274dac1e 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -342,7 +342,6 @@
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 2000),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000),
new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 2500),
- new /datum/data/mining_equipment("Super Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator/super, 3000),
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500),
)
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 0c296edbe0b..61da8dc4d46 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -41,7 +41,8 @@
if(10)
new /obj/item/ship_in_a_bottle(src)
if(11)
- new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker(src)
+ new /obj/item/clothing/head/helmet/space/rig/ert/paranormal/beserker(src)
+ new /obj/item/clothing/suit/space/rig/ert/paranormal/beserker(src)
if(12)
new /obj/item/weapon/sord(src)
if(13)
@@ -49,9 +50,9 @@
if(14)
new /obj/item/weapon/nullrod/armblade(src)
if(15)
- new /obj/item/weapon/guardiancreator(src)/*
+ new /obj/item/weapon/guardiancreator(src)
if(16)
- new /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs(src)
+ new /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs(src)/*
if(17)
new /obj/item/device/warp_cube/red(src)
if(18)
@@ -66,6 +67,7 @@
new /obj/item/weapon/grenade/clusterbuster/inferno(src)
if(23)
new /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell(src)
- new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor(src)
+ new /obj/item/clothing/head/helmet/space/rig/ert/paranormal/inquisitor(src)
+ new /obj/item/clothing/suit/space/rig/ert/paranormal/inquisitor(src)
if(24)
new /obj/item/weapon/spellbook/oneuse/summonitem(src)*/
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm
index 93e5d5f2bb4..d98f53ef74c 100644
--- a/code/modules/projectiles/ammunition/energy.dm
+++ b/code/modules/projectiles/ammunition/energy.dm
@@ -118,18 +118,6 @@
projectile_type = /obj/item/projectile/meteor
select_name = "goddamn meteor"
-/obj/item/ammo_casing/energy/kinetic
- projectile_type = /obj/item/projectile/kinetic
- select_name = "kinetic"
- e_cost = 5000
- fire_sound = 'sound/weapons/Kenetic_accel.ogg' // fine spelling there chap
-
-/obj/item/ammo_casing/energy/kinetic/super
- projectile_type = /obj/item/projectile/kinetic/super
-
-/obj/item/ammo_casing/energy/kinetic/hyper
- projectile_type = /obj/item/projectile/kinetic/hyper
-
/obj/item/ammo_casing/energy/disabler
projectile_type = /obj/item/projectile/beam/disabler
select_name = "disable"
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
new file mode 100644
index 00000000000..af1f6593982
--- /dev/null
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -0,0 +1,234 @@
+/obj/item/weapon/gun/energy/kinetic_accelerator
+ name = "proto-kinetic accelerator"
+ desc = "A self recharging, "
+ icon_state = "kineticgun"
+ item_state = "kineticgun"
+ ammo_type = list(/obj/item/ammo_casing/energy/kinetic)
+ cell_type = /obj/item/weapon/stock_parts/cell/emproof
+ needs_permit = 0
+ unique_rename = 1
+ origin_tech = "combat=3;powerstorage=3;engineering=3"
+ weapon_weight = WEAPON_LIGHT
+ can_flashlight = 1
+ flight_x_offset = 15
+ flight_y_offset = 9
+ var/overheat_time = 16
+ var/holds_charge = FALSE
+ var/unique_frequency = FALSE // modified by KA modkits
+ var/overheat = FALSE
+
+ var/list/max_mod_capacity = 2
+ var/list/modkits = list()
+
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
+ if(istype(A, /obj/item/weapon/crowbar))
+ if(modkits.len)
+ user << "You pry the modifications out."
+ for(var/obj/item/modkit/M in modkits)
+ M.forceMove(get_turf(user))
+ else
+ user << "There are no modifications currently installed."
+ else if(istype(A, /obj/item/modkit))
+ var/obj/item/modkit/MK = A
+ var/current_mod_capacity = 0
+ for(var/obj/item/modkit/M in modkits)
+ current_mod_capacity += M.cost
+ if((current_mod_capacity + MK.cost) > max_mod_capacity)
+ user << "You don't have room to install this modkit. Use a crowbar to remove existing modkits."
+ return
+ else
+ user << "You install the modkit."
+ MK.install(src)
+ else
+ ..()
+
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/item/projectile/kinetic/K)
+ for(var/obj/item/modkit/M in src)
+ M.modify_projectile(K)
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg
+ holds_charge = TRUE
+ unique_frequency = TRUE
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/hyper/cyborg
+ holds_charge = TRUE
+ unique_frequency = TRUE
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/New()
+ . = ..()
+ if(!holds_charge)
+ empty()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/shoot_live_shot()
+ . = ..()
+ attempt_reload()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/equipped(mob/user)
+ . = ..()
+ if(!can_shoot())
+ attempt_reload()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/dropped()
+ . = ..()
+ if(!holds_charge)
+ // Put it on a delay because moving item from slot to hand
+ // calls dropped().
+ sleep(1)
+ if(!ismob(loc))
+ empty()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty()
+ power_supply.use(500)
+ update_icon()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload()
+ if(overheat)
+ return
+ overheat = TRUE
+
+ var/carried = 0
+ if(!unique_frequency)
+ for(var/obj/item/weapon/gun/energy/kinetic_accelerator/K in \
+ loc.GetAllContents())
+
+ carried++
+
+ carried = max(carried, 1)
+ else
+ carried = 1
+
+ addtimer(src, "reload", overheat_time * carried)
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity)
+ return
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/reload()
+ power_supply.give(500)
+ if(!suppressed)
+ playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
+ else
+ loc << "[src] silently charges up."
+ update_icon()
+ overheat = FALSE
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/update_icon()
+ cut_overlays()
+ if(!can_shoot())
+ add_overlay("kineticgun_empty")
+
+ if(F && can_flashlight)
+ var/iconF = "flight"
+ if(F.on)
+ iconF = "flight_on"
+ add_overlay(image(icon = icon, icon_state = iconF, pixel_x = flight_x_offset, pixel_y = flight_y_offset))
+
+
+
+
+
+
+
+
+
+
+//Casing
+
+
+/obj/item/ammo_casing/energy/kinetic
+ projectile_type = /obj/item/projectile/kinetic
+ select_name = "kinetic"
+ 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 = "")
+ ..()
+ if(loc && istype(loc, /obj/item/weapon/gun/energy/kinetic_accelerator))
+ var/obj/item/weapon/gun/energy/kinetic_accelerator/KA = loc
+ KA.modify_projectile(BB)
+
+/obj/item/ammo_casing/energy/kinetic/hyper
+ projectile_type = /obj/item/projectile/kinetic/hyper
+
+
+
+//Projectiles
+
+/obj/item/projectile/kinetic
+ name = "kinetic force"
+ icon_state = null
+ damage = 10
+ damage_type = BRUTE
+ flag = "bomb"
+ range = 3
+ var/damage_multiplier = 4
+
+/obj/item/projectile/kinetic/super
+ damage = 11
+ range = 4
+
+/obj/item/projectile/kinetic/New()
+ var/turf/proj_turf = get_turf(src)
+ if(!istype(proj_turf, /turf))
+ return
+ var/datum/gas_mixture/environment = proj_turf.return_air()
+ var/pressure = environment.return_pressure()
+ if(pressure < 50)
+ name = "full strength [name]"
+ damage *= damage_multiplier
+ ..()
+
+/obj/item/projectile/kinetic/on_range()
+ PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, loc)
+ ..()
+
+/obj/item/projectile/kinetic/on_hit(atom/target)
+ var/turf/target_turf= get_turf(target)
+ if(istype(target_turf, /turf/closed/mineral))
+ var/turf/closed/mineral/M = target_turf
+ M.gets_drilled(firer)
+ PoolOrNew(/obj/effect/overlay/temp/kinetic_blast, target_turf)
+ . = ..()
+
+
+//AoE
+
+/obj/item/projectile/kinetic/hyper
+ name = "kinetic explosion"
+ damage = 10
+ range = 3
+
+/obj/item/projectile/kinetic/hyper/proc/aoe_blast(atom/target)
+ var/turf/target_turf = get_turf(target)
+ if(!target_turf)
+ target_turf = get_turf(src)
+ PoolOrNew(/obj/effect/overlay/temp/explosion/fast, target_turf)
+ for(var/T in RANGE_TURFS(1, target_turf) - target_turf)
+ if(istype(T, /turf/closed/mineral))
+ var/turf/closed/mineral/M = T
+ M.gets_drilled(firer)
+
+/obj/item/projectile/kinetic/hyper/on_range()
+ aoe_blast()
+ ..()
+
+/obj/item/projectile/kinetic/hyper/on_hit(atom/target)
+ aoe_blast(target)
+ . = ..()
+
+//Modkits
+
+/obj/item/modkit
+ name = "modification kit"
+ desc = "An upgrade for kinetic accelerators.."
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "modkit"
+ origin_tech = "programming=2;materials=2;magnets=4"
+ var/cost = 2
+
+/obj/item/modkit/proc/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA)
+ return
+
+/obj/item/modkit/proc/modify_projectile(/obj/item/projectile/kinetic/K)
+ return
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index a648831cd8b..5818a0ee7a2 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -84,141 +84,6 @@
ammo_type = list(/obj/item/ammo_casing/energy/mindflayer)
ammo_x_offset = 2
-/obj/item/weapon/gun/energy/kinetic_accelerator
- name = "proto-kinetic accelerator"
- desc = "In the year 2544, only a year after the discovery of a potentially \
- world-changing substance, now colloquially referred to as plasma, the \
- Nanotrasen-UEG mining conglomerate introduced a prototype of a gun-like \
- device intended for quick, effective mining of plasma in the low \
- pressures of the solar system. Included in this presentation were \
- demonstrations of the gun being fired at collections of rocks contained \
- in vacuumed environments, obliterating them instantly while maintaining \
- the structure of the ores buried within them. Additionally, volunteers \
- were called from the crowd to have the gun used on them, only proving that \
- the gun caused little harm to objects in standard pressure. \n\
- An official from an unnamed, now long dissipated company observed this \
- presentation and offered to share their self-recharger cells, powered \
- by the user's bioelectrical field, another new and unknown technology. \
- They warned that the cells were incredibly experimental and several times \
- had injured workers, but the scientists as Nanotrasen were unable to resist \
- the money-saving potential of self recharging cells. Upon accepting this \
- offer, it took only a matter of days to prove the volatility of these cells, \
- as they exploded left and right whenever inserted into the prototype devices, \
- only throwing more money in the bin. \n\
- Whenever the Nanotrasen scientists were on the edge of giving up, a \
- breakthrough was made by head researcher Miles Parks McCollum, who \
- demonstrated that the cells could be stabilized when exposed to radium \
- then cooled with cryostylane. After this discovery, the low pressure gun, \
- now named the Kinetic Accelerator, was hastily completed and made compatible \
- with the self-recharging cells. As a result of poor testing, the currently \
- used guns lose their charge when not in use, and when two Kinetic Accelerators \
- come in proximity of one another, they will interfere with each other. Despite \
- this, the shoddy guns still see use in the mining of plasma to this day."
- icon_state = "kineticgun"
- item_state = "kineticgun"
- ammo_type = list(/obj/item/ammo_casing/energy/kinetic)
- cell_type = /obj/item/weapon/stock_parts/cell/emproof
- // Apparently these are safe to carry? I'm sure goliaths would disagree.
- needs_permit = 0
- unique_rename = 1
- origin_tech = "combat=3;powerstorage=3;engineering=3"
- weapon_weight = WEAPON_LIGHT
- can_flashlight = 1
- flight_x_offset = 15
- flight_y_offset = 9
- var/overheat_time = 16
- var/holds_charge = FALSE
- var/unique_frequency = FALSE // modified by KA modkits
- var/overheat = FALSE
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/super
- name = "super-kinetic accelerator"
- desc = "An upgraded, superior version of the proto-kinetic accelerator."
- icon_state = "kineticgun_u"
- ammo_type = list(/obj/item/ammo_casing/energy/kinetic/super)
- overheat_time = 15
- origin_tech = "combat=3;powerstorage=2"
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/hyper
- name = "hyper-kinetic accelerator"
- desc = "An upgraded, even more superior version of the proto-kinetic accelerator."
- icon_state = "kineticgun_h"
- ammo_type = list(/obj/item/ammo_casing/energy/kinetic/hyper)
- overheat_time = 14
- origin_tech = "combat=4;powerstorage=3"
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg
- holds_charge = TRUE
- unique_frequency = TRUE
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/hyper/cyborg
- holds_charge = TRUE
- unique_frequency = TRUE
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/New()
- . = ..()
- if(!holds_charge)
- empty()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/shoot_live_shot()
- . = ..()
- attempt_reload()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/equipped(mob/user)
- . = ..()
- if(!can_shoot())
- attempt_reload()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/dropped()
- . = ..()
- if(!holds_charge)
- // Put it on a delay because moving item from slot to hand
- // calls dropped().
- spawn(1)
- if(!ismob(loc))
- empty()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/proc/empty()
- power_supply.use(5000)
- update_icon()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/proc/attempt_reload()
- if(overheat)
- return
- overheat = TRUE
-
- var/carried = 0
- if(!unique_frequency)
- for(var/obj/item/weapon/gun/energy/kinetic_accelerator/K in \
- loc.GetAllContents())
-
- carried++
-
- carried = max(carried, 1)
- else
- carried = 1
-
- spawn(overheat_time * carried)
- reload()
- overheat = FALSE
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity)
- return
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/proc/reload()
- power_supply.give(5000)
- if(!suppressed)
- playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
- else if(ismob(loc))
- to_chat(loc, "[src] silently charges up.")
- update_icon()
-
-/obj/item/weapon/gun/energy/kinetic_accelerator/update_icon()
- if(!can_shoot())
- icon_state = "[initial(icon_state)]_empty"
- else
- icon_state = initial(icon_state)
-
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
name = "mini energy crossbow"
desc = "A weapon favored by syndicate stealth specialists."
diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm
index b1cdef1f73c..83a4ec0650c 100644
--- a/code/modules/projectiles/projectile/special.dm
+++ b/code/modules/projectiles/projectile/special.dm
@@ -201,62 +201,6 @@
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
-/obj/item/projectile/kinetic
- name = "kinetic force"
- icon_state = null
- damage = 10
- damage_type = BRUTE
- flag = "bomb"
- range = 3
- var/splash = 0
-
-/obj/item/projectile/kinetic/super
- damage = 11
- range = 4
-
-/obj/item/projectile/kinetic/hyper
- damage = 12
- range = 5
- splash = 1
-
-obj/item/projectile/kinetic/New()
- var/turf/proj_turf = get_turf(src)
- if(!istype(proj_turf, /turf))
- return
- var/datum/gas_mixture/environment = proj_turf.return_air()
- var/pressure = environment.return_pressure()
- if(pressure < 50)
- name = "full strength kinetic force"
- damage *= 4
- ..()
-
-/obj/item/projectile/kinetic/on_range()
- new /obj/effect/kinetic_blast(loc)
- ..()
-
-/obj/item/projectile/kinetic/on_hit(atom/target)
- . = ..()
- var/turf/target_turf= get_turf(target)
- if(istype(target_turf, /turf/simulated/mineral))
- var/turf/simulated/mineral/M = target_turf
- M.gets_drilled(firer)
- new /obj/effect/kinetic_blast(target_turf)
- if(splash)
- for(var/turf/T in range(splash, target_turf))
- if(istype(T, /turf/simulated/mineral))
- var/turf/simulated/mineral/M = T
- M.gets_drilled(firer)
-
-/obj/effect/kinetic_blast
- name = "kinetic explosion"
- icon = 'icons/obj/projectiles.dmi'
- icon_state = "kinetic_blast"
- layer = 4.1
-
-/obj/effect/kinetic_blast/New()
- spawn(4)
- qdel(src)
-
/obj/item/projectile/beam/wormhole
name = "bluespace beam"
icon_state = "spark"
diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm
index 2b7d911f2b1..0ee8c58aa7e 100644
--- a/code/modules/research/designs/mining_designs.dm
+++ b/code/modules/research/designs/mining_designs.dm
@@ -64,26 +64,6 @@
build_path = /obj/item/weapon/pickaxe/drill/jackhammer
category = list("Mining")
-/datum/design/superaccelerator
- name = "Super-Kinetic Accelerator"
- desc = "An upgraded version of the proto-kinetic accelerator, with superior damage, speed and range."
- id = "superaccelerator"
- req_tech = list("materials" = 5, "powerstorage" = 4, "engineering" = 4, "magnets" = 4, "combat" = 3)
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_URANIUM = 2000)
- build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/super
- category = list("Mining")
-
-/datum/design/hyperaccelerator
- name = "Hyper-Kinetic Accelerator"
- desc = "An upgraded version of the proto-kinetic accelerator, with even more superior damage, speed and range."
- id = "hyperaccelerator"
- req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6, "combat" = 4)
- build_type = PROTOLATHE
- materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000)
- build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/hyper
- category = list("Mining")
-
/datum/design/superresonator
name = "Upgraded Resonator"
desc = "An upgraded version of the resonator that allows more fields to be active at once."
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index 5e98830a965..3cc7374f530 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index d26322740f3..f09805df40b 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/paradise.dme b/paradise.dme
index e048b75e41a..48fd64e1c6b 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -40,6 +40,7 @@
#include "code\__DEFINES\preferences.dm"
#include "code\__DEFINES\process_scheduler.dm"
#include "code\__DEFINES\qdel.dm"
+#include "code\__DEFINES\reagents.dm"
#include "code\__DEFINES\role_preferences.dm"
#include "code\__DEFINES\rolebans.dm"
#include "code\__DEFINES\sight.dm"