Conflicts:
	code/modules/power/port_gen.dm
This commit is contained in:
Markolie
2015-07-30 03:08:33 +02:00
80 changed files with 3783 additions and 3300 deletions
+1
View File
@@ -9,6 +9,7 @@
var/cell_type = "/obj/item/weapon/stock_parts/cell"
var/projectile_type = "/obj/item/projectile/beam"
var/modifystate
var/can_charge = 1
emp_act(severity)
power_supply.use(round(power_supply.charge / severity))
@@ -46,6 +46,7 @@
var/lightfail = 0
var/charge_tick = 0
can_flashlight = 0
can_charge = 0
New()
..()
@@ -237,11 +237,15 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
charge_cost = 5000
cell_type = "/obj/item/weapon/stock_parts/cell/emproof"
var/overheat = 0
var/overheat_time = 16
var/recent_reload = 1
/obj/item/weapon/gun/energy/kinetic_accelerator/cyborg
flags = NODROP
/obj/item/weapon/gun/energy/kinetic_accelerator/Fire()
overheat = 1
spawn(20)
spawn(overheat_time)
overheat = 0
recent_reload = 0
..()
@@ -272,6 +276,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
silenced = 1
projectile_type = "/obj/item/projectile/energy/bolt"
fire_sound = 'sound/weapons/Genhit.ogg'
overheat_time = 20
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
name = "energy crossbow"
@@ -289,6 +294,49 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
origin_tech = null
m_amt = 0
/obj/item/weapon/gun/energy/plasmacutter
name = "plasma cutter"
desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
icon_state = "plasmacutter"
item_state = "plasmacutter"
modifystate = "plasmacutter"
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1"
projectile_type = /obj/item/projectile/plasma
fire_sound = 'sound/weapons/laser.ogg'
flags = CONDUCT | OPENCONTAINER
attack_verb = list("attacked", "slashed", "cut", "sliced")
charge_cost = 250
fire_delay = 10
icon_override = 'icons/mob/in-hand/guns.dmi'
can_charge = 0
/obj/item/weapon/gun/energy/plasmacutter/examine(mob/user)
..()
if(power_supply)
user <<"<span class='notice'>[src] is [round(power_supply.percent())]% charged.</span>"
/obj/item/weapon/gun/energy/plasmacutter/attackby(var/obj/item/A, var/mob/user)
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
var/obj/item/stack/sheet/S = A
S.use(1)
power_supply.give(10000)
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)
user << "<span class='notice'>You insert [A] in [src], recharging it.</span>"
else
..()
/obj/item/weapon/gun/energy/plasmacutter/adv
name = "advanced plasma cutter"
icon_state = "adv_plasmacutter"
modifystate = "adv_plasmacutter"
origin_tech = "combat=3;materials=4;magnets=3;plasmatech=3;engineering=2"
projectile_type = /obj/item/projectile/plasma/adv
fire_delay = 8
charge_cost = 100
/obj/item/weapon/gun/energy/disabler
name = "disabler"
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse."
@@ -95,7 +95,7 @@
/obj/item/weapon/gun/projectile/shotgun/riot/attackby(var/obj/item/A as obj, mob/user as mob, params)
..()
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/gun/energy/plasmacutter))
sawoff(user)
@@ -154,7 +154,7 @@
..()
if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing))
chamber_round()
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/gun/energy/plasmacutter))
sawoff(user)
/obj/item/weapon/gun/projectile/revolver/doublebarrel/attack_self(mob/living/user as mob)
@@ -197,7 +197,7 @@
else
user << "<span class='warning'>You need at least ten lengths of cable if you want to make a sling.</span>"
return
// Sawing guns related procs //
/obj/item/weapon/gun/projectile/proc/blow_up(mob/user as mob)
@@ -238,4 +238,3 @@
return
else
sawn_state = SAWN_INTACT
+35 -4
View File
@@ -172,7 +172,7 @@
/obj/item/projectile/kinetic
name = "kinetic force"
icon_state = null
damage = 15
damage = 10
damage_type = BRUTE
flag = "bomb"
range = 3
@@ -185,7 +185,7 @@ obj/item/projectile/kinetic/New()
var/pressure = environment.return_pressure()
if(pressure < 50)
name = "full strength kinetic force"
damage = 30
damage *= 4
..()
/obj/item/projectile/kinetic/Range()
@@ -195,12 +195,12 @@ obj/item/projectile/kinetic/New()
qdel(src)
/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.GetDrilled()
M.gets_drilled(firer)
new /obj/item/effect/kinetic_blast(target_turf)
..()
/obj/item/effect/kinetic_blast
name = "kinetic explosion"
@@ -239,3 +239,34 @@ obj/item/projectile/kinetic/New()
else
do_teleport(target, target, 15) //Otherwise it just warps you off somewhere.
/obj/item/projectile/plasma
name = "plasma blast"
icon_state = "plasmacutter"
damage_type = BRUTE
damage = 5
range = 1
/obj/item/projectile/plasma/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 < 30)
name = "full strength plasma blast"
damage *= 3
range += 3
..()
/obj/item/projectile/plasma/on_hit(var/atom/target)
if(istype(target, /turf/simulated/mineral))
var/turf/simulated/mineral/M = target
M.gets_drilled(firer)
return ..()
/obj/item/projectile/plasma/adv
range = 2
/obj/item/projectile/plasma/adv/mech
damage = 10
range = 3