mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Sort of compiles
Time to fix xenoarch, and then the map.
This commit is contained in:
@@ -289,6 +289,44 @@ 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"
|
||||
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1"
|
||||
projectile_type = /obj/item/projectile/plasma
|
||||
flags = CONDUCT | OPENCONTAINER
|
||||
attack_verb = list("attacked", "slashed", "cut", "sliced")
|
||||
charge_cost = 250
|
||||
fire_delay = 10
|
||||
|
||||
/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"
|
||||
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
|
||||
|
||||
@@ -198,7 +198,7 @@ obj/item/projectile/kinetic/New()
|
||||
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()
|
||||
new /obj/item/effect/kinetic_blast(target_turf)
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user