mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into findnreplace
# Conflicts: # code/game/machinery/recharger.dm # code/game/objects/items/devices/autopsy.dm # code/game/objects/items/devices/modkit.dm # code/game/objects/structures/lattice.dm
This commit is contained in:
@@ -59,8 +59,7 @@ RCD
|
||||
return
|
||||
|
||||
/obj/item/weapon/rcd/Destroy()
|
||||
qdel(spark_system)
|
||||
spark_system = null
|
||||
QDEL_NULL(spark_system)
|
||||
rcd_list -= src
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -62,9 +62,7 @@
|
||||
to_chat(user, "<span class='info'>It contains [loaded.amount]/[max_amount] cables.</span>")
|
||||
|
||||
/obj/item/weapon/twohanded/rcl/Destroy()
|
||||
if(loaded)
|
||||
qdel(loaded)
|
||||
loaded = null
|
||||
QDEL_NULL(loaded)
|
||||
last = null
|
||||
active = 0
|
||||
return ..()
|
||||
|
||||
@@ -46,8 +46,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
reagents.set_reacting(FALSE) // so it doesn't react until you light it
|
||||
|
||||
/obj/item/clothing/mask/cigarette/Destroy()
|
||||
if(reagents)
|
||||
qdel(reagents)
|
||||
QDEL_NULL(reagents)
|
||||
processing_objects -= src
|
||||
return ..()
|
||||
|
||||
@@ -94,6 +93,17 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
else if(istype(W, /obj/item/device/assembly/igniter))
|
||||
light("<span class='notice'>[user] fiddles with [W], and manages to light their [name].</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/magic/wand/fireball))
|
||||
var/obj/item/weapon/gun/magic/wand/fireball/F = W
|
||||
if(F.charges)
|
||||
if(prob(50) || user.mind.assigned_role == "Wizard")
|
||||
light("<span class='notice'>Holy shit, did [user] just manage to light their [name] with [W], with only moderate eyebrow singing?</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Unsure which end of the wand is which, [user] fails to light [name] with [W].</span>")
|
||||
explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2)
|
||||
F.charges--
|
||||
|
||||
|
||||
//can't think of any other way to update the overlays :<
|
||||
user.update_inv_wear_mask()
|
||||
user.update_inv_l_hand()
|
||||
|
||||
@@ -172,12 +172,8 @@
|
||||
if(on)
|
||||
var/M = get(paddles, /mob)
|
||||
remove_paddles(M)
|
||||
if(paddles)
|
||||
qdel(paddles)
|
||||
paddles = null
|
||||
if(bcell)
|
||||
qdel(bcell)
|
||||
bcell = null
|
||||
QDEL_NULL(paddles)
|
||||
QDEL_NULL(bcell)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/defibrillator/proc/deductcharge(var/chrgdeductamt)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "dnainjector"
|
||||
item_state = "dnainjector"
|
||||
var/block = 0
|
||||
var/datum/dna2/record/buf=null
|
||||
var/datum/dna2/record/buf = null
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 1
|
||||
@@ -26,6 +26,10 @@
|
||||
buf.dna.ResetSE()
|
||||
SetValue(value)
|
||||
|
||||
/obj/item/weapon/dnainjector/Destroy()
|
||||
QDEL_NULL(buf)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/dnainjector/proc/GetRealBlock(var/selblock)
|
||||
if(selblock==0)
|
||||
return block
|
||||
|
||||
@@ -18,10 +18,9 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/grenade/plastic/Destroy()
|
||||
qdel(nadeassembly)
|
||||
nadeassembly = null
|
||||
QDEL_NULL(nadeassembly)
|
||||
target = null
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/grenade/plastic/attackby(obj/item/I, mob/user, params)
|
||||
if(!nadeassembly && istype(I, /obj/item/device/assembly_holder))
|
||||
|
||||
@@ -25,15 +25,10 @@
|
||||
|
||||
|
||||
/obj/item/weapon/flamethrower/Destroy()
|
||||
if(weldtool)
|
||||
qdel(weldtool)
|
||||
weldtool = null
|
||||
if(igniter)
|
||||
qdel(igniter)
|
||||
igniter = null
|
||||
if(ptank)
|
||||
qdel(ptank)
|
||||
ptank = null
|
||||
QDEL_NULL(weldtool)
|
||||
QDEL_NULL(igniter)
|
||||
QDEL_NULL(ptank)
|
||||
previousturf = null
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
var/improvised = 0
|
||||
var/garrote_time
|
||||
|
||||
/obj/item/weapon/twohanded/garrote/Destroy()
|
||||
strangling = null
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/twohanded/garrote/update_icon()
|
||||
if(strangling) // If we're strangling someone we want our icon to stay wielded
|
||||
icon_state = "garrot_unwrap"
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
payload_name += " " // formatting, ignore me
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/Destroy()
|
||||
QDEL_NULL(nadeassembly)
|
||||
for(var/thing in beakers)
|
||||
qdel(thing)
|
||||
beakers.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/examine(mob/user)
|
||||
..(user)
|
||||
|
||||
@@ -13,6 +13,12 @@
|
||||
var/list/signs = list()
|
||||
var/max_signs = 20
|
||||
|
||||
/obj/item/weapon/holosign_creator/Destroy()
|
||||
for(var/sign in signs)
|
||||
qdel(sign)
|
||||
signs.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag)
|
||||
if(flag)
|
||||
var/turf/T = get_turf(target)
|
||||
|
||||
@@ -592,7 +592,7 @@
|
||||
to_chat(missionary, "<span class='warning'>Your faith is strong, but their mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...</span>")
|
||||
faith -= 25 //same faith cost as losing sight of them mid-conversion, but did you just find someone who can lead you to a fellow traitor?
|
||||
return
|
||||
if(isloyal(target))
|
||||
if(ismindshielded(target))
|
||||
if(prob(20)) //loyalty implants typically overpower this, but you CAN get lucky and convert still (20% chance of success)
|
||||
faith -= 125 //yes, this puts it negative. it's gonna take longer to recharge if you manage to convert a one of these people to balance the new power you gained through them
|
||||
to_chat(missionary, "<span class='notice'>Through sheer willpower, you overcome their closed mind and rally [target] to your cause! You may need a bit longer than usual before your faith is fully recharged, and they won't remain loyal to you for long ...</span>")
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
/obj/item/weapon/implant/abductor
|
||||
name = "recall implant"
|
||||
desc = "Returns you to the mothership."
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "implant"
|
||||
activated = 1
|
||||
origin_tech = "materials=2;biotech=7;magnets=4;bluespace=4;abductor=5"
|
||||
var/obj/machinery/abductor/pad/home
|
||||
var/cooldown = 30
|
||||
var/total_cooldown = 30
|
||||
|
||||
/obj/item/weapon/implant/abductor/activate()
|
||||
if(cooldown == total_cooldown)
|
||||
home.Retrieve(imp_in,1)
|
||||
cooldown = 0
|
||||
processing_objects.Add(src)
|
||||
else
|
||||
to_chat(imp_in, "<span class='warning'>You must wait [(total_cooldown - cooldown)*2] seconds to use [src] again!</span>")
|
||||
|
||||
/obj/item/weapon/implant/abductor/process()
|
||||
if(cooldown < total_cooldown)
|
||||
cooldown++
|
||||
if(cooldown == total_cooldown)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
/obj/item/weapon/implant/abductor/implant(mob/source, mob/user)
|
||||
if(..())
|
||||
var/obj/machinery/abductor/console/console
|
||||
if(ishuman(source))
|
||||
var/mob/living/carbon/human/H = source
|
||||
if(H.get_species() == "Abductor")
|
||||
console = get_team_console(H.mind.abductor.team)
|
||||
home = console.pad
|
||||
|
||||
if(!home)
|
||||
console = get_team_console(pick(1, 2, 3, 4))
|
||||
home = console.pad
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/abductor/proc/get_team_console(var/team)
|
||||
var/obj/machinery/abductor/console/console
|
||||
for(var/obj/machinery/abductor/console/c in abductor_equipment)
|
||||
if(c.team == team)
|
||||
console = c
|
||||
break
|
||||
return console
|
||||
@@ -1,10 +1,10 @@
|
||||
/obj/item/weapon/implant/loyalty
|
||||
/obj/item/weapon/implant/mindshield
|
||||
name = "mindshield implant"
|
||||
desc = "Stops people messing with your mind."
|
||||
origin_tech = "materials=2;biotech=4;programming=4"
|
||||
activated = 0
|
||||
|
||||
/obj/item/weapon/implant/loyalty/get_data()
|
||||
/obj/item/weapon/implant/mindshield/get_data()
|
||||
var/dat = {"<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Nanotrasen Employee Management Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
@@ -17,7 +17,7 @@
|
||||
return dat
|
||||
|
||||
|
||||
/obj/item/weapon/implant/loyalty/implant(mob/target)
|
||||
/obj/item/weapon/implant/mindshield/implant(mob/target)
|
||||
if(..())
|
||||
if(target.mind in ticker.mode.head_revolutionaries || is_shadow_or_thrall(target))
|
||||
target.visible_message("<span class='warning'>[target] seems to resist the implant!</span>", "<span class='warning'>You feel the corporate tendrils of Nanotrasen try to invade your mind!</span>")
|
||||
@@ -33,7 +33,7 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/implant/loyalty/removed(mob/target, var/silent = 0)
|
||||
/obj/item/weapon/implant/mindshield/removed(mob/target, var/silent = 0)
|
||||
if(..())
|
||||
if(target.stat != DEAD && !silent)
|
||||
to_chat(target, "<span class='boldnotice'>You feel a sense of liberation as Nanotrasen's grip on your mind fades away.</span>")
|
||||
@@ -41,19 +41,19 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/loyalty
|
||||
/obj/item/weapon/implanter/mindshield
|
||||
name = "implanter (mindshield)"
|
||||
|
||||
/obj/item/weapon/implanter/loyalty/New()
|
||||
imp = new /obj/item/weapon/implant/loyalty(src)
|
||||
/obj/item/weapon/implanter/mindshield/New()
|
||||
imp = new /obj/item/weapon/implant/mindshield(src)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/implantcase/loyalty
|
||||
/obj/item/weapon/implantcase/mindshield
|
||||
name = "implant case - 'mindshield'"
|
||||
desc = "A glass case containing a mindshield implant."
|
||||
|
||||
/obj/item/weapon/implantcase/loyalty/New()
|
||||
imp = new /obj/item/weapon/implant/loyalty(src)
|
||||
/obj/item/weapon/implantcase/mindshield/New()
|
||||
imp = new /obj/item/weapon/implant/mindshield(src)
|
||||
..()
|
||||
@@ -38,7 +38,7 @@
|
||||
removed(M)
|
||||
qdel(src)
|
||||
return -1
|
||||
if(isloyal(H))
|
||||
if(ismindshielded(H))
|
||||
H.visible_message("<span class='warning'>[H] seems to resist the implant!</span>", "<span class='warning'>You feel a strange sensation in your head that quickly dissipates.</span>")
|
||||
removed(M)
|
||||
qdel(src)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
var/ready = 1
|
||||
var/malfunction = 0
|
||||
var/list/obj/item/weapon/implant/loyalty/implant_list = list()
|
||||
var/list/obj/item/weapon/implant/mindshield/implant_list = list()
|
||||
var/max_implants = 5
|
||||
var/injection_cooldown = 600
|
||||
var/replenish_cooldown = 6000
|
||||
@@ -122,9 +122,9 @@
|
||||
if(!istype(M, /mob/living/carbon))
|
||||
return
|
||||
if(!implant_list.len) return
|
||||
for(var/obj/item/weapon/implant/loyalty/imp in implant_list)
|
||||
for(var/obj/item/weapon/implant/mindshield/imp in implant_list)
|
||||
if(!imp) continue
|
||||
if(istype(imp, /obj/item/weapon/implant/loyalty))
|
||||
if(istype(imp, /obj/item/weapon/implant/mindshield))
|
||||
M.visible_message("<span class='warning'>[M] has been implanted by the [src.name].</span>")
|
||||
|
||||
if(imp.implant(M))
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
/obj/machinery/implantchair/add_implants()
|
||||
for(var/i=0, i<src.max_implants, i++)
|
||||
var/obj/item/weapon/implant/loyalty/I = new /obj/item/weapon/implant/loyalty(src)
|
||||
var/obj/item/weapon/implant/mindshield/I = new /obj/item/weapon/implant/mindshield(src)
|
||||
implant_list += I
|
||||
return
|
||||
|
||||
|
||||
@@ -27,12 +27,8 @@
|
||||
icon_state = "[initial(icon_state)][armed]"
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/Destroy()
|
||||
if(IED)
|
||||
qdel(IED)
|
||||
IED = null
|
||||
if(sig)
|
||||
qdel(sig)
|
||||
sig = null
|
||||
QDEL_NULL(IED)
|
||||
QDEL_NULL(sig)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
if(R.cell)
|
||||
var/obj/item/weapon/stock_parts/cell/C = R.cell
|
||||
if(active && !(C.use(hitcost)))
|
||||
attack_self()
|
||||
attack_self(R)
|
||||
to_chat(R, "<span class='notice'>It's out of charge!</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
var/mopspeed = 30
|
||||
|
||||
/obj/item/weapon/mop/New()
|
||||
..()
|
||||
create_reagents(mopcap)
|
||||
janitorial_equipment += src
|
||||
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
var/pressureSetting = 1 //How powerful the cannon is - higher pressure = more gas but more powerful throws
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/Destroy()
|
||||
if(tank)
|
||||
qdel(tank)
|
||||
tank = null
|
||||
QDEL_NULL(tank)
|
||||
for(var/obj/item/I in loadedItems)
|
||||
qdel(I)
|
||||
loadedItems.Cut()
|
||||
|
||||
@@ -5,18 +5,17 @@
|
||||
icon_state = "cell"
|
||||
item_state = "cell"
|
||||
origin_tech = "powerstorage=1"
|
||||
force = 5.0
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
force = 5
|
||||
throwforce = 5
|
||||
throw_speed = 2
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/charge = 0 // note %age conveted to actual charge in New
|
||||
var/maxcharge = 10000
|
||||
rating = 1
|
||||
var/maxcharge = 1000
|
||||
materials = list(MAT_METAL=700, MAT_GLASS=50)
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/chargerate = 100 //how much power is given every tick in a recharger
|
||||
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
|
||||
var/chargerate = 1000 //how much power is given every tick in a recharger
|
||||
var/self_recharge = 0 //does it self recharge, over time, or not?
|
||||
var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it.
|
||||
|
||||
@@ -62,10 +61,9 @@
|
||||
/obj/item/weapon/stock_parts/cell/crap
|
||||
name = "\improper Nanotrasen brand rechargable AA battery"
|
||||
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
|
||||
origin_tech = null
|
||||
maxcharge = 5000
|
||||
rating = 2
|
||||
maxcharge = 500
|
||||
materials = list(MAT_GLASS=40)
|
||||
rating = 2
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/crap/empty/New()
|
||||
..()
|
||||
@@ -74,9 +72,9 @@
|
||||
/obj/item/weapon/stock_parts/cell/secborg
|
||||
name = "\improper Security borg rechargable D battery"
|
||||
origin_tech = null
|
||||
maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots
|
||||
rating = 2.5
|
||||
maxcharge = 600 //600 max charge / 100 charge per shot = six shots
|
||||
materials = list(MAT_GLASS=40)
|
||||
rating = 2.5
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/secborg/empty/New()
|
||||
..()
|
||||
@@ -86,11 +84,18 @@
|
||||
name = "high-capacity power cell"
|
||||
origin_tech = "powerstorage=2"
|
||||
icon_state = "hcell"
|
||||
maxcharge = 15000
|
||||
rating = 3
|
||||
maxcharge = 10000
|
||||
materials = list(MAT_GLASS=60)
|
||||
rating = 3
|
||||
chargerate = 1500
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/plus
|
||||
name = "high-capacity power cell+"
|
||||
desc = "Where did these come from?"
|
||||
icon_state = "h+cell"
|
||||
maxcharge = 15000
|
||||
chargerate = 2250
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
@@ -100,7 +105,7 @@
|
||||
origin_tech = "powerstorage=5"
|
||||
icon_state = "scell"
|
||||
maxcharge = 20000
|
||||
materials = list(MAT_GLASS=70)
|
||||
materials = list(MAT_GLASS=300)
|
||||
rating = 4
|
||||
chargerate = 2000
|
||||
|
||||
@@ -113,8 +118,8 @@
|
||||
origin_tech = "powerstorage=6"
|
||||
icon_state = "hpcell"
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=400)
|
||||
rating = 5
|
||||
materials = list(MAT_GLASS=80)
|
||||
chargerate = 3000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/hyper/empty/New()
|
||||
@@ -126,7 +131,7 @@
|
||||
origin_tech = "powerstorage=7"
|
||||
icon_state = "bscell"
|
||||
maxcharge = 40000
|
||||
materials = list(MAT_GLASS=80)
|
||||
materials = list(MAT_GLASS=600)
|
||||
rating = 6
|
||||
chargerate = 4000
|
||||
|
||||
@@ -139,8 +144,8 @@
|
||||
icon_state = "icell"
|
||||
origin_tech = null
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=1000)
|
||||
rating = 6
|
||||
materials = list(MAT_GLASS=80)
|
||||
chargerate = 30000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/infinite/use()
|
||||
@@ -153,7 +158,7 @@
|
||||
icon_state = "potato"
|
||||
origin_tech = "powerstorage=1;biotech=1"
|
||||
charge = 100
|
||||
maxcharge = 3000
|
||||
maxcharge = 300
|
||||
materials = list()
|
||||
rating = 1
|
||||
minor_fault = 1
|
||||
@@ -170,17 +175,17 @@
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse //200 pulse shots
|
||||
name = "pulse rifle power cell"
|
||||
maxcharge = 400000
|
||||
maxcharge = 40000
|
||||
rating = 3
|
||||
chargerate = 1500
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse/carbine
|
||||
/obj/item/weapon/stock_parts/cell/pulse/carbine //25 pulse shots
|
||||
name = "pulse carbine power cell"
|
||||
maxcharge = 40000
|
||||
maxcharge = 5000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/pulse/pistol
|
||||
/obj/item/weapon/stock_parts/cell/pulse/pistol //10 pulse shots
|
||||
name = "pulse pistol power cell"
|
||||
maxcharge = 16000
|
||||
maxcharge = 2000
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/ninja
|
||||
name = "spider-clan power cell"
|
||||
@@ -192,7 +197,7 @@
|
||||
/obj/item/weapon/stock_parts/cell/emproof
|
||||
name = "\improper EMP-proof cell"
|
||||
desc = "An EMP-proof cell."
|
||||
maxcharge = 5000
|
||||
maxcharge = 500
|
||||
rating = 2
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/emproof/empty/New()
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/melee/powerfist/Destroy()
|
||||
if(tank)
|
||||
qdel(tank)
|
||||
tank = null
|
||||
QDEL_NULL(tank)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/melee/powerfist/examine(mob/user)
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/Destroy()
|
||||
qdel(reagents)
|
||||
QDEL_NULL(reagents)
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -80,16 +80,16 @@
|
||||
max_combined_w_class = 4 //The sum of the w_classes of all the items in this storage item.
|
||||
storage_slots = 1
|
||||
|
||||
/obj/item/weapon/storage/lockbox/loyalty
|
||||
/obj/item/weapon/storage/lockbox/mindshield
|
||||
name = "Lockbox (Mindshield Implants)"
|
||||
req_access = list(access_security)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/loyalty/New()
|
||||
/obj/item/weapon/storage/lockbox/mindshield/New()
|
||||
..()
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implanter/loyalty(src)
|
||||
new /obj/item/weapon/implantcase/mindshield(src)
|
||||
new /obj/item/weapon/implantcase/mindshield(src)
|
||||
new /obj/item/weapon/implantcase/mindshield(src)
|
||||
new /obj/item/weapon/implanter/mindshield(src)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/clusterbang
|
||||
name = "lockbox (clusterbang)"
|
||||
|
||||
@@ -454,8 +454,8 @@
|
||||
for(var/obj/O in contents)
|
||||
O.mouse_opacity = initial(O.mouse_opacity)
|
||||
|
||||
qdel(boxes)
|
||||
qdel(closer)
|
||||
QDEL_NULL(boxes)
|
||||
QDEL_NULL(closer)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/emp_act(severity)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "stunbaton"
|
||||
desc = "A stun baton for incapacitating people with."
|
||||
icon_state = "stunbaton"
|
||||
var/base_icon = "stunbaton"
|
||||
item_state = "baton"
|
||||
slot_flags = SLOT_BELT
|
||||
force = 10
|
||||
@@ -12,7 +13,7 @@
|
||||
var/stunforce = 7
|
||||
var/status = 0
|
||||
var/obj/item/weapon/stock_parts/cell/high/bcell = null
|
||||
var/hitcost = 1500
|
||||
var/hitcost = 1000
|
||||
|
||||
/obj/item/weapon/melee/baton/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.</span>")
|
||||
@@ -24,9 +25,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/melee/baton/Destroy()
|
||||
if(bcell)
|
||||
qdel(bcell)
|
||||
bcell = null
|
||||
QDEL_NULL(bcell)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed.
|
||||
@@ -48,11 +47,11 @@
|
||||
|
||||
/obj/item/weapon/melee/baton/update_icon()
|
||||
if(status)
|
||||
icon_state = "[initial(name)]_active"
|
||||
icon_state = "[base_icon]_active"
|
||||
else if(!bcell)
|
||||
icon_state = "[initial(name)]_nocell"
|
||||
icon_state = "[base_icon]_nocell"
|
||||
else
|
||||
icon_state = "[initial(name)]"
|
||||
icon_state = "[base_icon]"
|
||||
|
||||
/obj/item/weapon/melee/baton/examine(mob/user)
|
||||
..(user)
|
||||
@@ -184,28 +183,28 @@
|
||||
return 1
|
||||
..()
|
||||
|
||||
|
||||
//secborg stun baton module
|
||||
/obj/item/weapon/melee/baton/loaded/robot
|
||||
hitcost = 1000
|
||||
|
||||
//Makeshift stun baton. Replacement for stun gloves.
|
||||
/obj/item/weapon/melee/baton/cattleprod
|
||||
name = "stunprod"
|
||||
desc = "An improvised stun baton."
|
||||
icon_state = "stunprod_nocell"
|
||||
base_icon = "stunprod"
|
||||
item_state = "prod"
|
||||
w_class = 3
|
||||
force = 3
|
||||
throwforce = 5
|
||||
stunforce = 5
|
||||
hitcost = 3750
|
||||
hitcost = 2000
|
||||
slot_flags = SLOT_BACK
|
||||
var/obj/item/device/assembly/igniter/sparkler = 0
|
||||
var/obj/item/device/assembly/igniter/sparkler = null
|
||||
|
||||
/obj/item/weapon/melee/baton/cattleprod/New()
|
||||
..()
|
||||
sparkler = new (src)
|
||||
sparkler = new(src)
|
||||
|
||||
/obj/item/weapon/melee/baton/cattleprod/Destroy()
|
||||
QDEL_NULL(sparkler)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/melee/baton/cattleprod/baton_stun()
|
||||
if(sparkler.activate())
|
||||
|
||||
@@ -19,8 +19,7 @@
|
||||
ion_trail.set_up(src)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/Destroy()
|
||||
qdel(ion_trail)
|
||||
ion_trail = null
|
||||
QDEL_NULL(ion_trail)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/tank/jetpack/ui_action_click(mob/user, actiontype)
|
||||
@@ -82,7 +81,7 @@
|
||||
|
||||
var/datum/gas_mixture/removed = air_contents.remove(num)
|
||||
if(removed.total_moles() < 0.005)
|
||||
turn_off()
|
||||
turn_off()
|
||||
return 0
|
||||
|
||||
var/turf/T = get_turf(user)
|
||||
|
||||
@@ -33,9 +33,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/Destroy()
|
||||
if(air_contents)
|
||||
qdel(air_contents)
|
||||
air_contents = null
|
||||
QDEL_NULL(air_contents)
|
||||
|
||||
processing_objects.Remove(src)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "teleprod"
|
||||
desc = "A prod with a bluespace crystal on the end. The crystal doesn't look too fun to touch."
|
||||
icon_state = "teleprod_nocell"
|
||||
base_icon = "teleprod"
|
||||
item_state = "teleprod"
|
||||
origin_tech = "combat=2;bluespace=4;materials=3"
|
||||
|
||||
@@ -15,4 +16,4 @@
|
||||
deductcharge(hitcost)
|
||||
do_teleport(user, get_turf(user), 50)//honk honk
|
||||
else if(iscarbon(M) && !M.anchored)
|
||||
do_teleport(M, get_turf(M), 15)
|
||||
do_teleport(M, get_turf(M), 15)
|
||||
|
||||
Reference in New Issue
Block a user