mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 09:34:21 +01:00
Defib update, cell path update
This commit is contained in:
@@ -50,14 +50,14 @@
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/space_heater/air_conditioner/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/cell))
|
||||
if(istype(I, /obj/item/weapon/stock_parts/cell))
|
||||
if(open)
|
||||
if(cell)
|
||||
user << "There is already a power cell inside."
|
||||
return
|
||||
else
|
||||
// insert cell
|
||||
var/obj/item/weapon/cell/C = usr.get_active_hand()
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
user.drop_item()
|
||||
cell = C
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
if("cellinstall")
|
||||
if(open && !cell)
|
||||
var/obj/item/weapon/cell/C = usr.get_active_hand()
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
usr.drop_item()
|
||||
cell = C
|
||||
|
||||
@@ -524,8 +524,10 @@
|
||||
for(var/obj/item/clothing/accessory/AC in U.accessories)
|
||||
if(AC.icon_action_button)
|
||||
to_update += AC
|
||||
if(I.icon_action_button && (!I in to_update))
|
||||
to_update += I
|
||||
continue
|
||||
if(I.icon_action_button)
|
||||
to_update += I
|
||||
continue
|
||||
|
||||
for(var/obj/item/I in to_update)
|
||||
var/obj/screen/item_action/A = new(hud_used)
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
name = "Devices & Tools"
|
||||
id = "tools"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/device,/obj/item/weapon/card,/obj/item/weapon/cartridge,/obj/item/weapon/cautery,/obj/item/weapon/cell,/obj/item/weapon/circuitboard,
|
||||
whitelist = list(/obj/item/device,/obj/item/weapon/card,/obj/item/weapon/cartridge,/obj/item/weapon/cautery,/obj/item/weapon/stock_parts/cell,/obj/item/weapon/circuitboard,
|
||||
/obj/item/weapon/aiModule,/obj/item/weapon/airalarm_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/circular_saw,
|
||||
/obj/item/weapon/cloaking_device,/obj/item/weapon/crowbar,/obj/item/weapon/disk,/obj/item/weapon/firealarm_electronics,/obj/item/weapon/hand_tele,
|
||||
/obj/item/weapon/hand_labeler,/obj/item/weapon/hemostat,/obj/item/weapon/mop,/obj/item/weapon/locator,/obj/item/weapon/minihoe,
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
reqs = list(/obj/item/weapon/handcuffs/cable = 1,
|
||||
/obj/item/stack/rods = 1,
|
||||
/obj/item/weapon/wirecutters = 1,
|
||||
/obj/item/weapon/cell = 1)
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
time = 80
|
||||
parts = list(/obj/item/weapon/cell = 1)
|
||||
parts = list(/obj/item/weapon/stock_parts/cell = 1)
|
||||
|
||||
/datum/crafting_recipe/table/flamethrower
|
||||
name = "Flamethrower"
|
||||
@@ -90,7 +90,7 @@
|
||||
/obj/item/stack/sheet/metal = 5,
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/gun/energy/advtaser = 1,
|
||||
/obj/item/weapon/cell = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1,
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver)
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
W.icon_state = initial(W.icon_state)
|
||||
charged_item = I
|
||||
break
|
||||
else if(istype(item, /obj/item/weapon/cell/))
|
||||
var/obj/item/weapon/cell/C = item
|
||||
else if(istype(item, /obj/item/weapon/stock_parts/cell/))
|
||||
var/obj/item/weapon/stock_parts/cell/C = item
|
||||
if(prob(80))
|
||||
C.maxcharge -= 200
|
||||
if(C.maxcharge <= 1) //Div by 0 protection
|
||||
@@ -66,8 +66,8 @@
|
||||
else if(item.contents)
|
||||
var/obj/I = null
|
||||
for(I in item.contents)
|
||||
if(istype(I, /obj/item/weapon/cell/))
|
||||
var/obj/item/weapon/cell/C = I
|
||||
if(istype(I, /obj/item/weapon/stock_parts/cell/))
|
||||
var/obj/item/weapon/stock_parts/cell/C = I
|
||||
if(prob(80))
|
||||
C.maxcharge -= 200
|
||||
if(C.maxcharge <= 1) //Div by 0 protection
|
||||
|
||||
@@ -464,10 +464,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
|
||||
/obj/item/weapon/storage/toolbox/electrical,
|
||||
/obj/item/clothing/gloves/yellow,
|
||||
/obj/item/clothing/gloves/yellow,
|
||||
/obj/item/weapon/cell,
|
||||
/obj/item/weapon/cell,
|
||||
/obj/item/weapon/cell/high,
|
||||
/obj/item/weapon/cell/high)
|
||||
/obj/item/weapon/stock_parts/cell,
|
||||
/obj/item/weapon/stock_parts/cell,
|
||||
/obj/item/weapon/stock_parts/cell/high,
|
||||
/obj/item/weapon/stock_parts/cell/high)
|
||||
cost = 15
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "Electrical maintenance crate"
|
||||
@@ -627,8 +627,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
|
||||
/obj/item/device/flash,
|
||||
/obj/item/device/flash,
|
||||
/obj/item/device/flash,
|
||||
/obj/item/weapon/cell/high,
|
||||
/obj/item/weapon/cell/high)
|
||||
/obj/item/weapon/stock_parts/cell/high,
|
||||
/obj/item/weapon/stock_parts/cell/high)
|
||||
cost = 10
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containername = "Robotics Assembly"
|
||||
|
||||
@@ -480,7 +480,7 @@ var/list/uplink_items = list()
|
||||
|
||||
|
||||
/datum/uplink_item/device_tools/medkit
|
||||
name = "Syndicate Medical Supply Kit"
|
||||
name = "Syndicate Combat Medic Kit"
|
||||
desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical hud for quick identification of injured comrades, \
|
||||
and other medical supplies helpful for a medical field operative."
|
||||
item = /obj/item/weapon/storage/firstaid/tactical
|
||||
|
||||
@@ -596,7 +596,7 @@
|
||||
item_state = "RPED"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
w_class = 5
|
||||
can_hold = list("/obj/item/weapon/stock_parts","/obj/item/weapon/cell")
|
||||
can_hold = list("/obj/item/weapon/stock_parts")
|
||||
storage_slots = 50
|
||||
use_to_pickup = 1
|
||||
allow_quick_gather = 1
|
||||
|
||||
@@ -37,7 +37,7 @@ ________________________________________________________________________________
|
||||
reagents.my_atom = src
|
||||
for(var/reagent_id in reagent_list)
|
||||
reagent_id == "uranium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account uranium used for adrenaline boosting.
|
||||
cell = new/obj/item/weapon/cell/high//The suit should *always* have a battery because so many things rely on it.
|
||||
cell = new/obj/item/weapon/stock_parts/cell/high//The suit should *always* have a battery because so many things rely on it.
|
||||
cell.charge = 9990//Starting charge should not be higher than maximum charge. It leads to problems with recharging.
|
||||
cell.maxcharge = 10000 // Due to Ponies' overhaul Ninjas began starting with a 15000 energy cell. This should fix that issue.
|
||||
|
||||
@@ -880,14 +880,14 @@ ________________________________________________________________________________
|
||||
|
||||
U << "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units."//Let the player know how much total volume was added.
|
||||
return
|
||||
else if(istype(I, /obj/item/weapon/cell))
|
||||
else if(istype(I, /obj/item/weapon/stock_parts/cell))
|
||||
if(I:maxcharge>cell.maxcharge&&n_gloves&&n_gloves.candrain)
|
||||
U << "\blue Higher maximum capacity detected.\nUpgrading..."
|
||||
if (n_gloves&&n_gloves.candrain&&do_after(U,s_delay))
|
||||
U.drop_item()
|
||||
I.loc = src
|
||||
I:charge = min(I:charge+cell.charge, I:maxcharge)
|
||||
var/obj/item/weapon/cell/old_cell = cell
|
||||
var/obj/item/weapon/stock_parts/cell/old_cell = cell
|
||||
old_cell.charge = 0
|
||||
U.put_in_hands(old_cell)
|
||||
old_cell.add_fingerprint(U)
|
||||
@@ -1116,7 +1116,7 @@ ________________________________________________________________________________
|
||||
U << "\red This SMES cell has run dry of power. You must find another source."
|
||||
|
||||
if("CELL")
|
||||
var/obj/item/weapon/cell/A = target
|
||||
var/obj/item/weapon/stock_parts/cell/A = target
|
||||
if(A.charge)
|
||||
if (G.candrain&&do_after(U,30))
|
||||
U << "\blue Gained <B>[A.charge]</B> energy from the cell."
|
||||
|
||||
@@ -883,7 +883,7 @@ datum
|
||||
return 2
|
||||
|
||||
hyper_cell
|
||||
steal_target = /obj/item/weapon/cell/hyper
|
||||
steal_target = /obj/item/weapon/stock_parts/cell/hyper
|
||||
explanation_text = "Steal a hyper capacity power cell."
|
||||
weight = 20
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
// Check station's power levels
|
||||
for (var/obj/machinery/power/apc/A in machines)
|
||||
if (A.z != 1) continue
|
||||
for (var/obj/item/weapon/cell/C in A.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/C in A.contents)
|
||||
if (C.charge < 2300) score_powerloss += 1 // 200 charge leeway
|
||||
|
||||
// Check how much uncleaned mess is on the station
|
||||
|
||||
@@ -36,16 +36,17 @@
|
||||
/datum/theft_objective/hand_tele
|
||||
name = "a hand teleporter"
|
||||
typepath = /obj/item/weapon/hand_tele
|
||||
protected_jobs = list("Captain")
|
||||
protected_jobs = list("Captain", "Research Director")
|
||||
|
||||
/datum/theft_objective/rcd
|
||||
name = "an RCD"
|
||||
name = "a rapid-construction-device"
|
||||
typepath = /obj/item/weapon/rcd
|
||||
protected_jobs = list("Chief Engineer")
|
||||
protected_jobs = list("Chief Engineer", "Quartermaster", "Cargo Technician", "Research Director", "Scientist", "Roboticist")
|
||||
|
||||
/datum/theft_objective/jetpack
|
||||
name = "a jetpack"
|
||||
typepath = /obj/item/weapon/tank/jetpack
|
||||
protected_jobs = list("Chief Engineer")
|
||||
|
||||
/datum/theft_objective/cap_jumpsuit
|
||||
name = "the captain's jumpsuit"
|
||||
@@ -64,9 +65,9 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C)
|
||||
return 0
|
||||
|
||||
/datum/theft_objective/defib
|
||||
name = "a defibrillator"
|
||||
typepath = /obj/item/weapon/defibrillator
|
||||
protected_jobs = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Psychiatrist", "Paramedic", "Brig Physician")
|
||||
name = "a compact defibrillator"
|
||||
typepath = /obj/item/weapon/defibrillator/compact
|
||||
protected_jobs = list("Chief Medical Officer")
|
||||
|
||||
/datum/theft_objective/magboots
|
||||
name = "the chief engineer's advanced magnetic boots"
|
||||
@@ -97,7 +98,7 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C)
|
||||
/datum/theft_objective/corgi
|
||||
name = "a piece of corgi meat"
|
||||
typepath = /obj/item/weapon/reagent_containers/food/snacks/meat/corgi
|
||||
protected_jobs = list("Head of Personnel")
|
||||
protected_jobs = list("Head of Personnel", "Quartermaster", "Cargo Technician")
|
||||
|
||||
/datum/theft_objective/capmedal
|
||||
name = "the medal of captaincy"
|
||||
@@ -254,7 +255,7 @@ datum/theft_objective/ai/check_special_completion(var/obj/item/device/aicard/C)
|
||||
|
||||
/datum/theft_objective/special/hyper_cell
|
||||
name = "hyper-capacity cell"
|
||||
typepath = /obj/item/weapon/cell/hyper
|
||||
typepath = /obj/item/weapon/stock_parts/cell/hyper
|
||||
|
||||
/datum/theft_objective/number/special
|
||||
flags = THEFT_FLAG_SPECIAL
|
||||
|
||||
@@ -665,7 +665,7 @@ Auto Patrol[]"},
|
||||
user << "<span class='notice'>Taser gun attached.</span>"
|
||||
|
||||
if(9)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
build_step++
|
||||
user << "<span class='notice'>You complete the ED-209.</span>"
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -43,7 +43,7 @@ var/global/mulebot_count = 0
|
||||
var/auto_pickup = 1 // true if auto-pickup at beacon
|
||||
var/report_delivery = 1 // true if bot will announce an arrival to a location.
|
||||
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/datum/wires/mulebot/wires = null
|
||||
// the installed power cell
|
||||
|
||||
@@ -96,8 +96,8 @@ var/global/mulebot_count = 0
|
||||
if(toggle_lock(user))
|
||||
user << "<span class='notice'>Controls [(locked ? "locked" : "unlocked")].</span>"
|
||||
updateUsrDialog()
|
||||
else if(istype(I,/obj/item/weapon/cell) && open && !cell)
|
||||
var/obj/item/weapon/cell/C = I
|
||||
else if(istype(I,/obj/item/weapon/stock_parts/cell) && open && !cell)
|
||||
var/obj/item/weapon/stock_parts/cell/C = I
|
||||
user.drop_item()
|
||||
C.loc = src
|
||||
cell = C
|
||||
@@ -286,7 +286,7 @@ var/global/mulebot_count = 0
|
||||
|
||||
if("cellinsert")
|
||||
if(open && !cell)
|
||||
var/obj/item/weapon/cell/C = usr.get_active_hand()
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
usr.drop_item()
|
||||
cell = C
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 60
|
||||
power_channel = EQUIP
|
||||
var/obj/item/weapon/cell/charging = null
|
||||
var/obj/item/weapon/stock_parts/cell/charging = null
|
||||
var/chargelevel = -1
|
||||
proc
|
||||
updateicon()
|
||||
@@ -38,7 +38,7 @@
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/cell) && anchored)
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell) && anchored)
|
||||
if(charging)
|
||||
user << "\red There is already a cell in the charger."
|
||||
return
|
||||
|
||||
@@ -289,7 +289,7 @@ to destroy them and players will be able to make replacements.
|
||||
frame_desc = "Requires 5 pieces of cable, 5 Power Cells and 1 Capacitor."
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weapon/cell = 5,
|
||||
/obj/item/weapon/stock_parts/cell = 5,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@ to destroy them and players will be able to make replacements.
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/cell = 1)
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/destructive_analyzer
|
||||
name = "Circuit board (Destructive Analyzer)"
|
||||
@@ -583,7 +583,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
frame_desc = "Requires 2 Capacitors, 1 Power Cell and 1 Manipulator."
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
/obj/item/weapon/cell = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
// Telecomms circuit boards:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "flood00"
|
||||
density = 1
|
||||
var/on = 0
|
||||
var/obj/item/weapon/cell/high/cell = null
|
||||
var/obj/item/weapon/stock_parts/cell/high/cell = null
|
||||
var/use = 5
|
||||
var/unlocked = 0
|
||||
var/open = 0
|
||||
@@ -83,7 +83,7 @@
|
||||
open = 1
|
||||
user << "You remove the battery panel."
|
||||
|
||||
if (istype(W, /obj/item/weapon/cell))
|
||||
if (istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(open)
|
||||
if(cell)
|
||||
user << "There is a power cell already installed."
|
||||
|
||||
@@ -351,22 +351,6 @@ Class Procs:
|
||||
user << "<span class='notice'>[A.name] replaced with [B.name].</span>"
|
||||
shouldplaysound = 1
|
||||
break
|
||||
// Power cell snowflake
|
||||
for(var/obj/item/weapon/cell/A in component_parts)
|
||||
for(var/D in CB.req_components)
|
||||
if(ispath(A.type, D))
|
||||
P = D
|
||||
break
|
||||
for(var/obj/item/weapon/cell/B in W.contents)
|
||||
if(istype(B, P) && istype(A, P))
|
||||
if(B.rating > A.rating)
|
||||
W.remove_from_storage(B, src)
|
||||
W.handle_item_insertion(A, 1)
|
||||
component_parts -= A
|
||||
component_parts += B
|
||||
B.loc = null
|
||||
user << "<span class='notice'>[A.name] replaced with [B.name].</span>"
|
||||
break
|
||||
RefreshParts()
|
||||
else
|
||||
user << "<span class='notice'>Following parts detected in the machine:</span>"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
|
||||
component_parts += new /obj/item/weapon/cell/high(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(src)
|
||||
RefreshParts()
|
||||
build_icon()
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(src)
|
||||
component_parts += new /obj/item/weapon/cell/hyper(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/hyper(src)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/recharge_station/RefreshParts()
|
||||
@@ -38,7 +38,7 @@
|
||||
recharge_speed += C.rating * 100
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
repairs += M.rating - 1
|
||||
for(var/obj/item/weapon/cell/C in component_parts)
|
||||
for(var/obj/item/weapon/stock_parts/cell/C in component_parts)
|
||||
recharge_speed *= C.maxcharge / 10000
|
||||
|
||||
/obj/machinery/recharge_station/process()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "sheater0"
|
||||
name = "space heater"
|
||||
desc = "Made by Space Amish using traditional space techniques, this heater is guaranteed not to set the station on fire."
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/on = 0
|
||||
var/open = 0
|
||||
var/set_temperature = 50 // in celcius, add T0C for kelvin
|
||||
@@ -52,14 +52,14 @@
|
||||
..(severity)
|
||||
|
||||
attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/cell))
|
||||
if(istype(I, /obj/item/weapon/stock_parts/cell))
|
||||
if(open)
|
||||
if(cell)
|
||||
user << "There is already a power cell inside."
|
||||
return
|
||||
else
|
||||
// insert cell
|
||||
var/obj/item/weapon/cell/C = usr.get_active_hand()
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
user.drop_item()
|
||||
cell = C
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
if("cellinstall")
|
||||
if(open && !cell)
|
||||
var/obj/item/weapon/cell/C = usr.get_active_hand()
|
||||
var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand()
|
||||
if(istype(C))
|
||||
usr.drop_item()
|
||||
cell = C
|
||||
|
||||
@@ -979,8 +979,8 @@
|
||||
icon_state = "engivend"
|
||||
icon_deny = "engivend-deny"
|
||||
req_access_txt = "11" //Engineering Equipment access
|
||||
products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/cell/high = 10)
|
||||
contraband = list(/obj/item/weapon/cell/potato = 3)
|
||||
products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10,/obj/item/weapon/airalarm_electronics = 10,/obj/item/weapon/stock_parts/cell/high = 10)
|
||||
contraband = list(/obj/item/weapon/stock_parts/cell/potato = 3)
|
||||
premium = list(/obj/item/weapon/storage/belt/utility = 3)
|
||||
|
||||
//This one's from bay12
|
||||
@@ -993,7 +993,7 @@
|
||||
products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4,
|
||||
/obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/screwdriver = 12,
|
||||
/obj/item/weapon/crowbar = 12,/obj/item/weapon/wirecutters = 12,/obj/item/device/multitool = 12,/obj/item/weapon/wrench = 12,/obj/item/device/t_scanner = 12,
|
||||
/obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8,
|
||||
/obj/item/stack/cable_coil/heavyduty = 8, /obj/item/weapon/stock_parts/cell = 8, /obj/item/weapon/weldingtool = 8,/obj/item/clothing/head/welding = 8,
|
||||
/obj/item/weapon/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/weapon/stock_parts/scanning_module = 5,/obj/item/weapon/stock_parts/micro_laser = 5,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 5,/obj/item/weapon/stock_parts/manipulator = 5,/obj/item/weapon/stock_parts/console_screen = 5)
|
||||
// There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty.
|
||||
@@ -1008,7 +1008,7 @@
|
||||
icon_deny = "robotics-deny"
|
||||
req_access_txt = "29"
|
||||
products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4,
|
||||
/obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
|
||||
/obj/item/weapon/stock_parts/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
|
||||
/obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
|
||||
/obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5)
|
||||
//everything after the power cell had no amounts, I improvised. -Sayu
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
ME.attach(src)
|
||||
return
|
||||
|
||||
/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/cell/C=null)
|
||||
/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/stock_parts/cell/C=null)
|
||||
if(C)
|
||||
C.forceMove(src)
|
||||
cell = C
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.
|
||||
//the values in this list show how much damage will pass through, not how much will be absorbed.
|
||||
var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1)
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/state = 0
|
||||
var/list/log = new
|
||||
var/last_message = 0
|
||||
@@ -115,7 +115,7 @@
|
||||
internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
|
||||
return internal_tank
|
||||
|
||||
/obj/mecha/proc/add_cell(var/obj/item/weapon/cell/C=null)
|
||||
/obj/mecha/proc/add_cell(var/obj/item/weapon/stock_parts/cell/C=null)
|
||||
if(C)
|
||||
C.forceMove(src)
|
||||
cell = C
|
||||
@@ -781,7 +781,7 @@
|
||||
user << "You screw the cell in place"
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/weapon/cell))
|
||||
else if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(state==4)
|
||||
if(!src.cell)
|
||||
user << "You install the powercell"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
var/on = 0 //is it turned on?
|
||||
var/cover_open = 0 //is the cover open?
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/max_cooling = 12 //in degrees per second - probably don't need to mess with heat capacity here
|
||||
var/charge_consumption = 16.6 //charge per second at max_cooling
|
||||
var/thermostat = T20C
|
||||
@@ -25,7 +25,7 @@
|
||||
//TODO: make it heat up the surroundings when not in space
|
||||
|
||||
/obj/item/device/suit_cooling_unit/New()
|
||||
cell = new/obj/item/weapon/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find
|
||||
cell = new/obj/item/weapon/stock_parts/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find
|
||||
cell.loc = src
|
||||
|
||||
/obj/item/device/suit_cooling_unit/proc/cool_mob(mob/M)
|
||||
@@ -132,7 +132,7 @@
|
||||
updateicon()
|
||||
return
|
||||
|
||||
if (istype(W, /obj/item/weapon/cell))
|
||||
if (istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(cover_open)
|
||||
if(cell)
|
||||
user << "There is a [cell] already installed here."
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
construction_time = 350
|
||||
construction_cost = list("metal"=40000)
|
||||
var/wires = 0.0
|
||||
var/obj/item/weapon/cell/cell = null
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null
|
||||
|
||||
/obj/item/robot_parts/head
|
||||
name = "robot head"
|
||||
@@ -251,7 +251,7 @@
|
||||
|
||||
/obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(src.cell)
|
||||
user << "\blue You have already inserted a cell!"
|
||||
return
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
var/safety = 1 //if you can zap people with the defibs on harm mode
|
||||
var/powered = 0 //if there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise
|
||||
var/obj/item/weapon/twohanded/shockpaddles/paddles
|
||||
var/obj/item/weapon/cell/high/bcell = null
|
||||
var/obj/item/weapon/stock_parts/cell/high/bcell = null
|
||||
var/combat = 0 //can we revive through space suits?
|
||||
|
||||
/obj/item/weapon/defibrillator/New() //starts without a cell for rnd
|
||||
..()
|
||||
@@ -67,7 +68,7 @@
|
||||
overlays += "defibunit-charge[ratio]"
|
||||
|
||||
/obj/item/weapon/defibrillator/CheckParts()
|
||||
bcell = locate(/obj/item/weapon/cell) in contents
|
||||
bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/defibrillator/ui_action_click()
|
||||
@@ -78,8 +79,8 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
var/obj/item/weapon/cell/C = W
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
var/obj/item/weapon/stock_parts/cell/C = W
|
||||
if(bcell)
|
||||
user << "<span class='notice'>[src] already has a cell.</span>"
|
||||
else
|
||||
@@ -195,6 +196,49 @@
|
||||
paddles.cooldown = 0
|
||||
paddles.update_icon()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/defibrillator/compact
|
||||
name = "compact defibrillator"
|
||||
desc = "A belt-equipped defibrillator that can be rapidly deployed."
|
||||
icon_state = "defibcompact"
|
||||
item_state = "defibcompact"
|
||||
w_class = 3
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "biotech=4"
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/ui_action_click()
|
||||
if(usr.get_item_by_slot(slot_belt) == src)
|
||||
toggle_paddles()
|
||||
else
|
||||
usr << "<span class='warning'>Strap the defibrillator's belt on first!</span>"
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/loaded/New()
|
||||
..()
|
||||
paddles = make_paddles()
|
||||
bcell = new(src)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/combat
|
||||
name = "combat defibrillator"
|
||||
desc = "A belt-equipped blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
|
||||
combat = 1
|
||||
safety = 0
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/combat/loaded/New()
|
||||
..()
|
||||
paddles = make_paddles()
|
||||
bcell = new /obj/item/weapon/stock_parts/cell/infinite(src)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/combat/attackby(obj/item/weapon/W, mob/user)
|
||||
if(W == paddles)
|
||||
paddles.unwield()
|
||||
toggle_paddles()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
//paddles
|
||||
|
||||
@@ -254,7 +298,7 @@
|
||||
else
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/twohanded/shockpaddles/attack(mob/M as mob, mob/user as mob)
|
||||
/obj/item/weapon/twohanded/shockpaddles/attack(mob/M, mob/user)
|
||||
var/tobehealed
|
||||
var/threshold = -config.health_threshold_dead
|
||||
var/mob/living/carbon/human/H = M
|
||||
@@ -300,18 +344,19 @@
|
||||
playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 0)
|
||||
var/mob/dead/observer/ghost = H.get_ghost()
|
||||
var/tplus = world.time - H.timeofdeath
|
||||
var/tlimit = 3000 //past this much time the patient is unrecoverable (in deciseconds)
|
||||
var/tloss = 900 //brain damage starts setting in on the patient after some time left rotting
|
||||
var/tlimit = 6000 //past this much time the patient is unrecoverable (in deciseconds)
|
||||
var/tloss = 3000 //brain damage starts setting in on the patient after some time left rotting
|
||||
var/total_burn = 0
|
||||
var/total_brute = 0
|
||||
if(do_after(user, 20)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
|
||||
for(var/obj/item/carried_item in H.contents)
|
||||
if((istype(carried_item, /obj/item/clothing/suit/armor)) || (istype(carried_item, /obj/item/clothing/suit/space)))
|
||||
user.visible_message("<span class='notice'>[defib] buzzes: Patient's chest is obscured. Operation aborted.</span>")
|
||||
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
busy = 0
|
||||
update_icon()
|
||||
return
|
||||
if(istype(carried_item, /obj/item/clothing/suit/space))
|
||||
if(!defib.combat)
|
||||
user.visible_message("<span class='notice'>[defib] buzzes: Patient's chest is obscured. Operation aborted.</span>")
|
||||
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
busy = 0
|
||||
update_icon()
|
||||
return
|
||||
if(H.stat == 2)
|
||||
var/health = H.health
|
||||
M.visible_message("<span class='warning'>[M]'s body convulses a bit.")
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R)
|
||||
if(R.cell)
|
||||
var/obj/item/weapon/cell/C = R.cell
|
||||
var/obj/item/weapon/stock_parts/cell/C = R.cell
|
||||
if(active && !(C.use(hitcost)))
|
||||
attack_self()
|
||||
R << "<span class='notice'>It's out of charge!</span>"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/cell
|
||||
/obj/item/weapon/stock_parts/cell
|
||||
name = "power cell"
|
||||
desc = "A rechargable electrochemical power cell."
|
||||
icon = 'icons/obj/power.dmi'
|
||||
@@ -13,7 +13,7 @@
|
||||
w_class = 3.0
|
||||
var/charge = 0 // note %age conveted to actual charge in New
|
||||
var/maxcharge = 10000
|
||||
var/rating = 1
|
||||
rating = 1
|
||||
m_amt = 700
|
||||
g_amt = 50
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
@@ -25,7 +25,7 @@
|
||||
viewers(user) << "<span class='suicide'>[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.</span>"
|
||||
return (FIRELOSS)
|
||||
|
||||
/obj/item/weapon/cell/crap
|
||||
/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 = "powerstorage=0"
|
||||
@@ -33,22 +33,22 @@
|
||||
rating = 2
|
||||
g_amt = 40
|
||||
|
||||
/obj/item/weapon/cell/crap/empty/New()
|
||||
/obj/item/weapon/stock_parts/cell/crap/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/cell/secborg
|
||||
/obj/item/weapon/stock_parts/cell/secborg
|
||||
name = "\improper Security borg rechargable D battery"
|
||||
origin_tech = "powerstorage=0"
|
||||
maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots
|
||||
rating = 2.5
|
||||
g_amt = 40
|
||||
|
||||
/obj/item/weapon/cell/secborg/empty/New()
|
||||
/obj/item/weapon/stock_parts/cell/secborg/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/cell/high
|
||||
/obj/item/weapon/stock_parts/cell/high
|
||||
name = "high-capacity power cell"
|
||||
origin_tech = "powerstorage=2"
|
||||
icon_state = "hcell"
|
||||
@@ -56,11 +56,11 @@
|
||||
rating = 3
|
||||
g_amt = 60
|
||||
|
||||
/obj/item/weapon/cell/high/empty/New()
|
||||
/obj/item/weapon/stock_parts/cell/high/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/cell/super
|
||||
/obj/item/weapon/stock_parts/cell/super
|
||||
name = "super-capacity power cell"
|
||||
origin_tech = "powerstorage=5"
|
||||
icon_state = "scell"
|
||||
@@ -69,11 +69,11 @@
|
||||
rating = 4
|
||||
construction_cost = list("metal"=750,"glass"=100)
|
||||
|
||||
/obj/item/weapon/cell/super/empty/New()
|
||||
/obj/item/weapon/stock_parts/cell/super/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/cell/hyper
|
||||
/obj/item/weapon/stock_parts/cell/hyper
|
||||
name = "hyper-capacity power cell"
|
||||
origin_tech = "powerstorage=6"
|
||||
icon_state = "hpcell"
|
||||
@@ -82,11 +82,11 @@
|
||||
g_amt = 80
|
||||
construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200)
|
||||
|
||||
/obj/item/weapon/cell/hyper/empty/New()
|
||||
/obj/item/weapon/stock_parts/cell/hyper/empty/New()
|
||||
..()
|
||||
charge = 0
|
||||
|
||||
/obj/item/weapon/cell/infinite
|
||||
/obj/item/weapon/stock_parts/cell/infinite
|
||||
name = "infinite-capacity power cell!"
|
||||
icon_state = "icell"
|
||||
origin_tech = null
|
||||
@@ -96,7 +96,7 @@
|
||||
use()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/cell/potato
|
||||
/obj/item/weapon/stock_parts/cell/potato
|
||||
name = "potato battery"
|
||||
desc = "A rechargable starch based power cell."
|
||||
origin_tech = "powerstorage=1"
|
||||
@@ -110,7 +110,7 @@
|
||||
minor_fault = 1
|
||||
|
||||
|
||||
/obj/item/weapon/cell/slime
|
||||
/obj/item/weapon/stock_parts/cell/slime
|
||||
name = "charged slime core"
|
||||
desc = "A yellow slime core infused with plasma, it crackles with power."
|
||||
origin_tech = "powerstorage=2;biotech=4"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
attack_verb = list("beaten")
|
||||
var/stunforce = 7
|
||||
var/status = 0
|
||||
var/obj/item/weapon/cell/high/bcell = null
|
||||
var/obj/item/weapon/stock_parts/cell/high/bcell = null
|
||||
var/hitcost = 1500
|
||||
|
||||
/obj/item/weapon/melee/baton/suicide_act(mob/user)
|
||||
@@ -25,7 +25,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/melee/baton/CheckParts()
|
||||
bcell = locate(/obj/item/weapon/cell) in contents
|
||||
bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed.
|
||||
@@ -61,8 +61,8 @@
|
||||
user <<"<span class='warning'>The baton does not have a power source installed.</span>"
|
||||
|
||||
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
var/obj/item/weapon/cell/C = W
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
var/obj/item/weapon/stock_parts/cell/C = W
|
||||
if(bcell)
|
||||
user << "<span class='notice'>[src] already has a cell.</span>"
|
||||
else
|
||||
|
||||
@@ -56,11 +56,11 @@
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "cell"
|
||||
item_to_spawn()
|
||||
return pick(prob(10);/obj/item/weapon/cell/crap,\
|
||||
prob(40);/obj/item/weapon/cell,\
|
||||
prob(40);/obj/item/weapon/cell/high,\
|
||||
prob(9);/obj/item/weapon/cell/super,\
|
||||
prob(1);/obj/item/weapon/cell/hyper)
|
||||
return pick(prob(10);/obj/item/weapon/stock_parts/cell/crap,\
|
||||
prob(40);/obj/item/weapon/stock_parts/cell,\
|
||||
prob(40);/obj/item/weapon/stock_parts/cell/high,\
|
||||
prob(9);/obj/item/weapon/stock_parts/cell/super,\
|
||||
prob(1);/obj/item/weapon/stock_parts/cell/hyper)
|
||||
|
||||
|
||||
/obj/random/bomb_supply
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
new /obj/item/clothing/head/helmet/space/nasavoid(src)
|
||||
new /obj/item/clothing/suit/space/nasavoid(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/weapon/cell(src)
|
||||
new /obj/item/weapon/stock_parts/cell(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
@@ -148,7 +148,7 @@
|
||||
new /obj/item/clothing/shoes/brown (src)
|
||||
new /obj/item/device/radio/headset/heads/cmo(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/weapon/defibrillator/loaded(src)
|
||||
new /obj/item/weapon/defibrillator/compact/loaded(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
var/mob/living/carbon/occupant
|
||||
var/mob/living/carbon/occupant2 //two seaters
|
||||
var/datum/spacepod/equipment/equipment_system
|
||||
var/battery_type = "/obj/item/weapon/cell/high"
|
||||
var/obj/item/weapon/cell/battery
|
||||
var/battery_type = "/obj/item/weapon/stock_parts/cell/high"
|
||||
var/obj/item/weapon/stock_parts/cell/battery
|
||||
var/datum/gas_mixture/cabin_air
|
||||
var/obj/machinery/portable_atmospherics/canister/internal_tank
|
||||
var/datum/effect/effect/system/ion_trail_follow/space_trail/ion_trail
|
||||
@@ -158,7 +158,7 @@
|
||||
if(iscrowbar(W))
|
||||
hatch_open = !hatch_open
|
||||
user << "<span class='notice'>You [hatch_open ? "open" : "close"] the maintenance hatch.</span>"
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(!hatch_open)
|
||||
return ..()
|
||||
if(battery)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
//var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.
|
||||
//the values in this list show how much damage will pass through, not how much will be absorbed.
|
||||
var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1)
|
||||
var/obj/item/weapon/cell/cell //Our power source
|
||||
var/obj/item/weapon/stock_parts/cell/cell //Our power source
|
||||
var/state = 0
|
||||
var/list/log = new
|
||||
var/last_message = 0
|
||||
@@ -93,7 +93,7 @@
|
||||
internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
|
||||
return internal_tank*/
|
||||
|
||||
/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null)
|
||||
/obj/vehicle/proc/add_cell(var/obj/item/weapon/stock_parts/cell/C=null)
|
||||
if(C)
|
||||
C.forceMove(src)
|
||||
cell = C
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
drain("MECHA",A,suit)
|
||||
return 1
|
||||
/*
|
||||
if(istype(A,/obj/item/weapon/cell))
|
||||
if(istype(A,/obj/item/weapon/stock_parts/cell))
|
||||
A.add_fingerprint(H)
|
||||
drain("CELL",A,suit)
|
||||
return 1
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "ninja hood"
|
||||
icon_state = "s-ninja"
|
||||
item_state = "s-ninja_hood"
|
||||
allowed = list(/obj/item/weapon/cell)
|
||||
allowed = list(/obj/item/weapon/stock_parts/cell)
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25)
|
||||
unacidable = 1
|
||||
siemens_coefficient = 0.2
|
||||
@@ -14,7 +14,7 @@
|
||||
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
|
||||
icon_state = "s-ninja"
|
||||
item_state = "s-ninja_suit"
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/cell,/obj/item/device/suit_cooling_unit)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/stock_parts/cell,/obj/item/device/suit_cooling_unit)
|
||||
slowdown = 0
|
||||
unacidable = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
//Important parts of the suit.
|
||||
var/mob/living/carbon/affecting = null//The wearer.
|
||||
var/obj/item/weapon/cell/cell//Starts out with a high-capacity cell using New().
|
||||
var/obj/item/weapon/stock_parts/cell/cell//Starts out with a high-capacity cell using New().
|
||||
var/datum/effect/effect/system/spark_spread/spark_system//To create sparks.
|
||||
var/reagent_list[] = list("tricordrazine","dexalinp","spaceacillin","anti_toxin","nutriment","uranium","hyronalin")//The reagents ids which are added to the suit at New().
|
||||
var/stored_research[]//For stealing station research.
|
||||
|
||||
@@ -20,7 +20,10 @@
|
||||
|
||||
/obj/item/clothing/accessory/holster/attack_self()
|
||||
var/holsteritem = usr.get_active_hand()
|
||||
holster(holsteritem, usr)
|
||||
if(!holstered)
|
||||
holster(holsteritem, usr)
|
||||
else
|
||||
unholster(usr)
|
||||
|
||||
/obj/item/clothing/accessory/holster/proc/holster(obj/item/I, mob/user as mob)
|
||||
if(holstered)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
// Battery must be installed BEFORE wiring the computer.
|
||||
// if installing it in an existing computer, you will have to
|
||||
// get back to this state first.
|
||||
var/obj/item/weapon/cell/battery = null
|
||||
var/obj/item/weapon/stock_parts/cell/battery = null
|
||||
|
||||
/obj/structure/computer3frame/server
|
||||
name = "server frame"
|
||||
@@ -143,7 +143,7 @@
|
||||
else
|
||||
user << "\red There's no battery to remove!"
|
||||
|
||||
if(istype(P, /obj/item/weapon/cell))
|
||||
if(istype(P, /obj/item/weapon/stock_parts/cell))
|
||||
if(!battery)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(5))
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
// the comms computer, solar trackers, etc, that should function when all else is off.
|
||||
// Laptops will require batteries and have no mains power.
|
||||
|
||||
var/obj/item/weapon/cell/battery = null // uninterruptible power supply aka battery
|
||||
var/obj/item/weapon/stock_parts/cell/battery = null // uninterruptible power supply aka battery
|
||||
|
||||
|
||||
verb/ResetComputer()
|
||||
@@ -185,7 +185,7 @@
|
||||
toybox.init(src)
|
||||
continue
|
||||
|
||||
if(ispath(typekey,/obj/item/weapon/cell))
|
||||
if(ispath(typekey,/obj/item/weapon/stock_parts/cell))
|
||||
if(battery) continue
|
||||
battery = new typekey(src)
|
||||
continue
|
||||
@@ -452,7 +452,7 @@
|
||||
//Returns percentage of battery charge remaining. Returns -1 if no battery is installed.
|
||||
proc/check_battery_status()
|
||||
if (battery)
|
||||
var/obj/item/weapon/cell/B = battery
|
||||
var/obj/item/weapon/stock_parts/cell/B = battery
|
||||
return round(B.charge / (B.maxcharge / 100))
|
||||
else
|
||||
return -1
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
New(var/L, var/built = 0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell(src)
|
||||
..(L,built)
|
||||
|
||||
verb/close_computer()
|
||||
|
||||
@@ -202,10 +202,10 @@
|
||||
newlap.spawn_parts += (/obj/item/part/computer/networking/cable)
|
||||
if (power == 1)
|
||||
del(newlap.battery)
|
||||
newlap.battery = new /obj/item/weapon/cell/high(newlap)
|
||||
newlap.battery = new /obj/item/weapon/stock_parts/cell/high(newlap)
|
||||
if (power == 2)
|
||||
del(newlap.battery)
|
||||
newlap.battery = new /obj/item/weapon/cell/super(newlap)
|
||||
newlap.battery = new /obj/item/weapon/stock_parts/cell/super(newlap)
|
||||
|
||||
newlap.spawn_parts()
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
return total
|
||||
|
||||
/obj/machinery/lapvend/proc/choose_progs(var/obj/item/weapon/card/id/C)
|
||||
if(access_security in C.access || access_forensics_lockers in C.access)
|
||||
if((access_medical in C.access) || (access_forensics_lockers in C.access))
|
||||
newlap.spawn_files += (/datum/file/program/secure_data)
|
||||
newlap.spawn_files += (/datum/file/camnet_key)
|
||||
newlap.spawn_files += (/datum/file/camnet_key/researchoutpost)
|
||||
@@ -349,9 +349,9 @@
|
||||
network = 2
|
||||
if(istype(L.stored_computer.net,/obj/item/part/computer/networking/cable))
|
||||
network = 3
|
||||
if(istype(L.stored_computer.battery, /obj/item/weapon/cell/high))
|
||||
if(istype(L.stored_computer.battery, /obj/item/weapon/stock_parts/cell/high))
|
||||
power = 1
|
||||
if(istype(L.stored_computer.battery, /obj/item/weapon/cell/super))
|
||||
if(istype(L.stored_computer.battery, /obj/item/weapon/stock_parts/cell/super))
|
||||
power = 2
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area)
|
||||
New(var/L,var/built=0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell(src)
|
||||
..(L,built)
|
||||
|
||||
/obj/machinery/computer3/laptop/testing
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area)
|
||||
New(var/L,var/built=0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell/super(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell/super(src)
|
||||
..(L,built)
|
||||
|
||||
/obj/machinery/computer3/wall_comp/testing
|
||||
@@ -44,7 +44,7 @@
|
||||
/obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area)
|
||||
New(var/L,var/built=0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell(src)
|
||||
..(L,built)
|
||||
|
||||
/obj/machinery/computer3/server/testing
|
||||
@@ -60,7 +60,7 @@
|
||||
/obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area)
|
||||
New(var/L,var/built=0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell(src)
|
||||
..(L,built)
|
||||
|
||||
/obj/machinery/computer3/server/rack/testing
|
||||
@@ -76,7 +76,7 @@
|
||||
/obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area)
|
||||
New(var/L,var/built=0)
|
||||
if(!built && !battery)
|
||||
battery = new /obj/item/weapon/cell(src)
|
||||
battery = new /obj/item/weapon/stock_parts/cell(src)
|
||||
..(L,built)
|
||||
|
||||
/obj/item/weapon/storage/box/testing_disks
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
new /obj/item/weapon/storage/toolbox/electrical(C)
|
||||
|
||||
if(prob(25))
|
||||
new /obj/item/weapon/cell(C)
|
||||
new /obj/item/weapon/stock_parts/cell(C)
|
||||
|
||||
if("coffin")
|
||||
new /obj/structure/closet/coffin(src.loc)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
var/obj/item/weapon/stock_parts/matter_bin/storage
|
||||
var/obj/item/weapon/stock_parts/micro_laser/cutter
|
||||
var/obj/item/weapon/stock_parts/capacitor/cellmount
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
|
||||
//Flags
|
||||
var/need_update_field = 0
|
||||
@@ -195,7 +195,7 @@
|
||||
cellmount = W
|
||||
user << "You install \the [W]."
|
||||
return
|
||||
else if(istype(W,/obj/item/weapon/cell))
|
||||
else if(istype(W,/obj/item/weapon/stock_parts/cell))
|
||||
if(cell)
|
||||
user << "The drill already has a cell installed."
|
||||
else
|
||||
|
||||
@@ -814,7 +814,7 @@
|
||||
|
||||
/datum/manufacture/powercell
|
||||
name = "Power Cell"
|
||||
item = /obj/item/weapon/cell
|
||||
item = /obj/item/weapon/stock_parts/cell
|
||||
cost1 = /obj/item/weapon/ore/iron
|
||||
cname1 = "Iron"
|
||||
amount1 = 4
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
spawntypes = list(
|
||||
/obj/item/weapon/pickaxe/plasmacutter=1,
|
||||
/obj/machinery/shieldgen=1,
|
||||
/obj/item/weapon/cell/hyper=1
|
||||
/obj/item/weapon/stock_parts/cell/hyper=1
|
||||
)
|
||||
fluffitems = list(
|
||||
/obj/structure/table/reinforced=2,
|
||||
|
||||
@@ -843,8 +843,8 @@ It can still be worn/put on as normal.
|
||||
if(slot_r_hand)
|
||||
return r_hand
|
||||
return null
|
||||
|
||||
/mob/living/carbon/human/get_item_by_slot(slot_id)
|
||||
|
||||
/mob/living/carbon/get_item_by_slot(slot_id)
|
||||
switch(slot_id)
|
||||
if(slot_back)
|
||||
return back
|
||||
@@ -860,4 +860,45 @@ It can still be worn/put on as normal.
|
||||
return r_hand
|
||||
return null
|
||||
|
||||
|
||||
// Return the item currently in the slot ID
|
||||
/mob/living/carbon/human/get_item_by_slot(slot_id)
|
||||
switch(slot_id)
|
||||
if(slot_back)
|
||||
return back
|
||||
if(slot_wear_mask)
|
||||
return wear_mask
|
||||
if(slot_handcuffed)
|
||||
return handcuffed
|
||||
if(slot_legcuffed)
|
||||
return legcuffed
|
||||
if(slot_l_hand)
|
||||
return l_hand
|
||||
if(slot_r_hand)
|
||||
return r_hand
|
||||
if(slot_belt)
|
||||
return belt
|
||||
if(slot_wear_id)
|
||||
return wear_id
|
||||
if(slot_l_ear)
|
||||
return l_ear
|
||||
if(slot_r_ear)
|
||||
return r_ear
|
||||
if(slot_glasses)
|
||||
return glasses
|
||||
if(slot_gloves)
|
||||
return gloves
|
||||
if(slot_head)
|
||||
return head
|
||||
if(slot_shoes)
|
||||
return shoes
|
||||
if(slot_wear_suit)
|
||||
return wear_suit
|
||||
if(slot_w_uniform)
|
||||
return w_uniform
|
||||
if(slot_l_store)
|
||||
return l_store
|
||||
if(slot_r_store)
|
||||
return r_store
|
||||
if(slot_s_store)
|
||||
return s_store
|
||||
return null
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
if (src.client)
|
||||
src.client.screen -= src.contents
|
||||
for(var/obj/I in src.contents)
|
||||
//if(I && !(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi)))
|
||||
//if(I && !(istype(I,/obj/item/weapon/stock_parts/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi)))
|
||||
if(I)
|
||||
// Make sure we're not showing any of our internal components, as that would be lewd.
|
||||
// This way of doing it ensures that shit we pick up will be visible, wheras shit inside of us isn't.
|
||||
|
||||
@@ -40,7 +40,7 @@ They can only use one tool at a time, they can't choose modules, and they have 1
|
||||
updateicon()
|
||||
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell(src)
|
||||
cell = new /obj/item/weapon/stock_parts/cell(src)
|
||||
cell.maxcharge = 7500
|
||||
cell.charge = 7500
|
||||
..()
|
||||
@@ -190,7 +190,7 @@ They can only use one tool at a time, they can't choose modules, and they have 1
|
||||
opened = 1
|
||||
updateicon()
|
||||
|
||||
else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside
|
||||
else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside
|
||||
if(wiresexposed)
|
||||
user << "Close the panel first."
|
||||
else if(cell)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
//Has a list of items that it can hold.
|
||||
var/list/can_hold = list(
|
||||
/obj/item/weapon/cell,
|
||||
/obj/item/weapon/stock_parts/cell,
|
||||
/obj/item/weapon/firealarm_electronics,
|
||||
/obj/item/weapon/airalarm_electronics,
|
||||
/obj/item/weapon/airlock_electronics,
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
if (src.client)
|
||||
src.client.screen -= src.contents
|
||||
for(var/obj/I in src.contents)
|
||||
if(I && !(istype(I,/obj/item/weapon/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi)))
|
||||
if(I && !(istype(I,/obj/item/weapon/stock_parts/cell) || istype(I,/obj/item/device/radio) || istype(I,/obj/machinery/camera) || istype(I,/obj/item/device/mmi)))
|
||||
src.client.screen += I
|
||||
if(src.module_state_1)
|
||||
src.module_state_1:screen_loc = ui_inv1
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
var/obj/item/device/radio/borg/radio = null
|
||||
var/mob/living/silicon/ai/connected_ai = null
|
||||
var/obj/item/weapon/cell/cell = null
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null
|
||||
var/obj/machinery/camera/camera = null
|
||||
|
||||
// Components are basically robot organs.
|
||||
@@ -95,7 +95,7 @@
|
||||
mmi.icon_state="posibrain-occupied"
|
||||
if(syndie)
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell(src)
|
||||
cell = new /obj/item/weapon/stock_parts/cell(src)
|
||||
laws = new /datum/ai_laws/antimov()
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
@@ -124,7 +124,7 @@
|
||||
C.wrapped = new C.external_type
|
||||
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell(src)
|
||||
cell = new /obj/item/weapon/stock_parts/cell(src)
|
||||
cell.maxcharge = 7500
|
||||
cell.charge = 7500
|
||||
|
||||
@@ -752,7 +752,7 @@
|
||||
opened = 1
|
||||
updateicon()
|
||||
|
||||
else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside
|
||||
else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside
|
||||
var/datum/robot_component/C = components["power cell"]
|
||||
if(wiresexposed)
|
||||
user << "Close the panel first."
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
var/obj/item/device/radio/borg/radio = null
|
||||
var/mob/living/silicon/ai/connected_ai = null
|
||||
var/obj/item/weapon/cell/cell = null
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null
|
||||
var/obj/machinery/camera/camera = null
|
||||
var/obj/item/device/mmi/mmi = null
|
||||
var/list/req_access = list(access_robotics) //Access needed to pop out the brain.
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
var/spooky=0
|
||||
var/area/area
|
||||
var/areastring = null
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/start_charge = 90 // initial cell charge %
|
||||
var/cell_type = 2500 // 0=no cell, 1=regular, 2=high-cap (x5) <- old, now it's just 0=no cell, otherwise dictate cellcapacity by changing this value. 1 used to be 1000, 2 was 2500
|
||||
var/opened = 0 //0=closed, 1=opened, 2=cover removed
|
||||
@@ -142,7 +142,7 @@
|
||||
has_electronics = 2 //installed and secured
|
||||
// is starting with a power cell installed, create it and set its charge level
|
||||
if(cell_type)
|
||||
src.cell = new/obj/item/weapon/cell(src)
|
||||
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)
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
else
|
||||
opened = 1
|
||||
update_icon()
|
||||
else if (istype(W, /obj/item/weapon/cell) && opened) // trying to put a cell inside
|
||||
else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside
|
||||
if(cell)
|
||||
user << "There is a power cell already installed."
|
||||
return
|
||||
|
||||
+15
-15
@@ -1,16 +1,16 @@
|
||||
// the power cell
|
||||
// charge from 0 to 100%
|
||||
// fits in APC to provide backup power
|
||||
/obj/item/weapon/cell/var/image/overlay_image
|
||||
/obj/item/weapon/stock_parts/cell/var/image/overlay_image
|
||||
|
||||
/obj/item/weapon/cell/New()
|
||||
/obj/item/weapon/stock_parts/cell/New()
|
||||
..()
|
||||
charge = maxcharge
|
||||
|
||||
spawn(5)
|
||||
updateicon()
|
||||
|
||||
/obj/item/weapon/cell/proc/updateicon()
|
||||
/obj/item/weapon/stock_parts/cell/proc/updateicon()
|
||||
if(isnull(src.overlay_image))
|
||||
src.overlay_image = image('icons/obj/power.dmi')
|
||||
overlays.Cut()
|
||||
@@ -24,11 +24,11 @@
|
||||
src.overlay_image.icon_state = "cell-o1"
|
||||
overlays += src.overlay_image
|
||||
|
||||
/obj/item/weapon/cell/proc/percent() // return % charge of cell
|
||||
/obj/item/weapon/stock_parts/cell/proc/percent() // return % charge of cell
|
||||
return 100.0*charge/maxcharge
|
||||
|
||||
// use power from a cell
|
||||
/obj/item/weapon/cell/proc/use(var/amount)
|
||||
/obj/item/weapon/stock_parts/cell/proc/use(var/amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
@@ -38,7 +38,7 @@
|
||||
return 1
|
||||
|
||||
// recharge the cell
|
||||
/obj/item/weapon/cell/proc/give(var/amount)
|
||||
/obj/item/weapon/stock_parts/cell/proc/give(var/amount)
|
||||
if(rigged && amount > 0)
|
||||
explode()
|
||||
return 0
|
||||
@@ -55,7 +55,7 @@
|
||||
return power_used
|
||||
|
||||
|
||||
/obj/item/weapon/cell/examine()
|
||||
/obj/item/weapon/stock_parts/cell/examine()
|
||||
set src in view(1)
|
||||
if(usr /*&& !usr.stat*/)
|
||||
if(maxcharge <= 2500)
|
||||
@@ -65,7 +65,7 @@
|
||||
if(crit_fail)
|
||||
usr << "\red This power cell seems to be faulty."
|
||||
|
||||
/obj/item/weapon/cell/attack_self(mob/user as mob)
|
||||
/obj/item/weapon/stock_parts/cell/attack_self(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if(ishuman(user))
|
||||
@@ -76,7 +76,7 @@
|
||||
SNG.drain("CELL",src,H.wear_suit)
|
||||
return
|
||||
|
||||
/obj/item/weapon/cell/attackby(obj/item/W, mob/user)
|
||||
/obj/item/weapon/stock_parts/cell/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/reagent_containers/syringe))
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = W
|
||||
@@ -93,7 +93,7 @@
|
||||
S.reagents.clear_reagents()
|
||||
|
||||
|
||||
/obj/item/weapon/cell/proc/explode()
|
||||
/obj/item/weapon/stock_parts/cell/proc/explode()
|
||||
var/turf/T = get_turf(src.loc)
|
||||
/*
|
||||
* 1000-cell explosion(T, -1, 0, 1, 1)
|
||||
@@ -121,13 +121,13 @@
|
||||
spawn(1)
|
||||
del(src)
|
||||
|
||||
/obj/item/weapon/cell/proc/corrupt()
|
||||
/obj/item/weapon/stock_parts/cell/proc/corrupt()
|
||||
charge /= 2
|
||||
maxcharge /= 2
|
||||
if (prob(10))
|
||||
rigged = 1 //broken batterys are dangerous
|
||||
|
||||
/obj/item/weapon/cell/emp_act(severity)
|
||||
/obj/item/weapon/stock_parts/cell/emp_act(severity)
|
||||
charge -= 1000 / severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
@@ -135,7 +135,7 @@
|
||||
reliability -= 10 / severity
|
||||
..()
|
||||
|
||||
/obj/item/weapon/cell/ex_act(severity)
|
||||
/obj/item/weapon/stock_parts/cell/ex_act(severity)
|
||||
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
@@ -155,10 +155,10 @@
|
||||
corrupt()
|
||||
return
|
||||
|
||||
/obj/item/weapon/cell/blob_act()
|
||||
/obj/item/weapon/stock_parts/cell/blob_act()
|
||||
ex_act(1)
|
||||
|
||||
/obj/item/weapon/cell/proc/get_electrocute_damage()
|
||||
/obj/item/weapon/stock_parts/cell/proc/get_electrocute_damage()
|
||||
switch (charge)
|
||||
/* if (9000 to INFINITY)
|
||||
return min(rand(90,150),rand(90,150))
|
||||
|
||||
@@ -475,11 +475,11 @@
|
||||
power_source = Cable.powernet
|
||||
|
||||
var/datum/powernet/PN
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
|
||||
if(istype(power_source,/datum/powernet))
|
||||
PN = power_source
|
||||
else if(istype(power_source,/obj/item/weapon/cell))
|
||||
else if(istype(power_source,/obj/item/weapon/stock_parts/cell))
|
||||
cell = power_source
|
||||
else if(istype(power_source,/obj/machinery/power/apc))
|
||||
var/obj/machinery/power/apc/apc = power_source
|
||||
@@ -514,7 +514,7 @@
|
||||
else if (istype(power_source,/datum/powernet))
|
||||
var/drained_power = drained_energy/CELLRATE //convert from "joules" to "watts"
|
||||
PN.newload+=drained_power
|
||||
else if (istype(power_source, /obj/item/weapon/cell))
|
||||
else if (istype(power_source, /obj/item/weapon/stock_parts/cell))
|
||||
cell.use(drained_energy)
|
||||
return drained_energy
|
||||
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/smes(null)
|
||||
component_parts += new /obj/item/weapon/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/high(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
@@ -68,7 +68,7 @@
|
||||
IO += CP.rating
|
||||
input_level_max = 200000 * IO
|
||||
output_level_max = 200000 * IO
|
||||
for(var/obj/item/weapon/cell/PC in component_parts)
|
||||
for(var/obj/item/weapon/stock_parts/cell/PC in component_parts)
|
||||
C += PC.maxcharge
|
||||
capacity = C / (15000) * 1e6
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
force = 10
|
||||
projectile_type = "/obj/item/projectile/energy/sonic"
|
||||
cell_type = "/obj/item/weapon/cell/super"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/super"
|
||||
fire_delay = 40
|
||||
fire_sound = 'sound/effects/basscannon.ogg'
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
desc = "A basic energy-based gun."
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
|
||||
var/obj/item/weapon/cell/power_supply //What type of power cell this uses
|
||||
var/obj/item/weapon/stock_parts/cell/power_supply //What type of power cell this uses
|
||||
var/charge_cost = 1000 //How much energy is needed to fire.
|
||||
var/cell_type = "/obj/item/weapon/cell"
|
||||
var/cell_type = "/obj/item/weapon/stock_parts/cell"
|
||||
var/projectile_type = "/obj/item/projectile/beam"
|
||||
var/modifystate
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
/*
|
||||
attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(!power_supply)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "advtaser"
|
||||
item_state = null //so the human update icon uses the icon_state instead.
|
||||
icon_override = 'icons/mob/in-hand/guns.dmi'
|
||||
cell_type = "/obj/item/weapon/cell"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell"
|
||||
origin_tech = null
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
projectile_type = "/obj/item/projectile/energy/electrode"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
fire_sound = 'sound/weapons/pulse.ogg'
|
||||
charge_cost = 200
|
||||
projectile_type = "/obj/item/projectile/beam/pulse"
|
||||
cell_type = "/obj/item/weapon/cell/super"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/super"
|
||||
var/mode = 2
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = 4.0
|
||||
@@ -52,7 +52,7 @@
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
|
||||
name = "pulse destroyer"
|
||||
desc = "A heavy-duty, pulse-based energy weapon."
|
||||
cell_type = "/obj/item/weapon/cell/infinite"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
user << "\red [src.name] has three settings, and they are all DESTROY."
|
||||
@@ -63,7 +63,7 @@
|
||||
name = "m1911-P"
|
||||
desc = "It's not the size of the gun, it's the size of the hole it puts through people."
|
||||
icon_state = "m1911-p"
|
||||
cell_type = "/obj/item/weapon/cell/infinite"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/infinite"
|
||||
w_class = 3.0
|
||||
slot_flags = SLOT_BELT
|
||||
isHandgun()
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
item_state = "c20r"
|
||||
w_class = 4
|
||||
projectile_type = "/obj/item/projectile/meteor"
|
||||
cell_type = "/obj/item/weapon/cell/potato"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/potato"
|
||||
clumsy_check = 0 //Admin spawn only, might as well let clowns use it.
|
||||
var/charge_tick = 0
|
||||
var/recharge_time = 5 //Time it takes for shots to recharge (in ticks)
|
||||
@@ -229,7 +229,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
projectile_type = "/obj/item/projectile/kinetic"
|
||||
fire_sound = 'sound/weapons/Kenetic_accel.ogg'
|
||||
charge_cost = 5000
|
||||
cell_type = "/obj/item/weapon/cell/crap"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/crap"
|
||||
var/overheat = 0
|
||||
var/recent_reload = 1
|
||||
|
||||
@@ -255,7 +255,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
icon_state = "disabler"
|
||||
item_state = null
|
||||
projectile_type = "/obj/item/projectile/beam/disabler"
|
||||
cell_type = "/obj/item/weapon/cell"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell"
|
||||
charge_cost = 500
|
||||
|
||||
|
||||
@@ -268,7 +268,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
icon_state = "l6closed0"
|
||||
icon = 'icons/obj/gun.dmi'
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
cell_type = "/obj/item/weapon/cell/secborg"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/secborg"
|
||||
projectile_type = "/obj/item/projectile/bullet/midbullet3"
|
||||
charge_cost = 300 //Yeah, let's NOT give them a 300 round clip that recharges, 20 is more reasonable and will actually hurt the borg's battery for overuse.
|
||||
var/charge_tick = 0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = null //so the human update icon uses the icon_state instead.
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
projectile_type = "/obj/item/projectile/energy/electrode"
|
||||
cell_type = "/obj/item/weapon/cell/crap"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/crap"
|
||||
|
||||
/obj/item/weapon/gun/energy/taser/cyborg
|
||||
name = "taser gun"
|
||||
@@ -14,7 +14,7 @@
|
||||
icon_state = "taser"
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
projectile_type = "/obj/item/projectile/energy/electrode"
|
||||
cell_type = "/obj/item/weapon/cell/secborg"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/secborg"
|
||||
var/charge_tick = 0
|
||||
var/recharge_time = 10 //Time it takes for shots to recharge (in ticks)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
fire_sound = "sound/weapons/gunshot.ogg"
|
||||
origin_tech = "combat=3;materials=3;powerstorage=2"
|
||||
projectile_type = "/obj/item/projectile/energy/electrode"
|
||||
cell_type = "/obj/item/weapon/cell"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell"
|
||||
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
silenced = 1
|
||||
fire_sound = 'sound/weapons/Genhit.ogg'
|
||||
projectile_type = "/obj/item/projectile/energy/bolt"
|
||||
cell_type = "/obj/item/weapon/cell/crap"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/crap"
|
||||
var/charge_tick = 0
|
||||
|
||||
/obj/item/weapon/gun/energy/crossbow/New()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2"
|
||||
|
||||
projectile_type = "/obj/item/projectile/temp"
|
||||
cell_type = "/obj/item/weapon/cell/crap"
|
||||
cell_type = "/obj/item/weapon/stock_parts/cell/crap"
|
||||
|
||||
|
||||
New()
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
var/tension = 0 // Current draw on the bow.
|
||||
var/max_tension = 5 // Highest possible tension.
|
||||
var/release_speed = 5 // Speed per unit of tension.
|
||||
var/obj/item/weapon/cell/cell = null // Used for firing superheated rods.
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null // Used for firing superheated rods.
|
||||
var/current_user // Used to check if the crossbow has changed hands since being drawn.
|
||||
|
||||
/obj/item/weapon/gun/launcher/crossbow/emp_act(severity)
|
||||
@@ -158,7 +158,7 @@
|
||||
superheat_rod(user)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(!cell)
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
@@ -213,7 +213,7 @@
|
||||
user.visible_message("\The [src] only takes baguettes.")
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/cell))
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
user.visible_message("The [src] is too simple be adapted with a cell.")
|
||||
return
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
options[/obj/item/weapon/stock_parts/console_screen] = "Replace the console screen to fix it."
|
||||
options[/obj/item/weapon/stock_parts/manipulator/pico] = "Upgrade to a pico manipulator to fix it."
|
||||
options[/obj/item/weapon/stock_parts/matter_bin/super] = "Give it a super matter bin to fix it."
|
||||
options[/obj/item/weapon/cell/super] = "Replace the reagent synthesizer with a super capacity cell to fix it."
|
||||
options[/obj/item/weapon/stock_parts/cell/super] = "Replace the reagent synthesizer with a super capacity cell to fix it."
|
||||
options[/obj/item/device/mass_spectrometer/adv] = "Replace the reagent scanner with an advanced mass spectrometer to fix it"
|
||||
options[/obj/item/weapon/stock_parts/micro_laser/high] = "Repair the reagent synthesizer with an high-power micro-laser to fix it"
|
||||
options[/obj/item/device/reagent_scanner/adv] = "Replace the reagent scanner with an advanced reagent scanner to fix it"
|
||||
@@ -290,7 +290,7 @@
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
|
||||
component_parts += new /obj/item/weapon/cell/super(src)
|
||||
component_parts += new /obj/item/weapon/stock_parts/cell/super(src)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/chem_dispenser/constructable/RefreshParts()
|
||||
@@ -303,7 +303,7 @@
|
||||
max_energy = temp_energy * 5 //max energy = (bin1.rating + bin2.rating - 1) * 5, 5 on lowest 25 on highest
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
time += C.rating
|
||||
for(var/obj/item/weapon/cell/P in component_parts)
|
||||
for(var/obj/item/weapon/stock_parts/cell/P in component_parts)
|
||||
time += round(P.maxcharge, 10000) / 10000
|
||||
recharge_delay /= time/2 //delay between recharges, double the usual time on lowest 50% less than usual on highest
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
|
||||
@@ -1323,7 +1323,7 @@ datum
|
||||
required_container = /obj/item/slime_extract/yellow
|
||||
required_other = 1
|
||||
on_reaction(var/datum/reagents/holder, var/created_volume)
|
||||
var/obj/item/weapon/cell/slime/P = new /obj/item/weapon/cell/slime
|
||||
var/obj/item/weapon/stock_parts/cell/slime/P = new /obj/item/weapon/stock_parts/cell/slime
|
||||
P.loc = get_turf_loc(holder.my_atom)
|
||||
|
||||
slimeglow
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
W:amount -= 5
|
||||
if(!W:amount) del(W)
|
||||
user << "<span class='notice'>You add some cable to the potato and slide it inside the battery encasing.</span>"
|
||||
var/obj/item/weapon/cell/potato/pocell = new /obj/item/weapon/cell/potato(user.loc)
|
||||
var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc)
|
||||
pocell.maxcharge = src.potency * 10
|
||||
pocell.charge = pocell.maxcharge
|
||||
del(src)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
req_tech = list("powerstorage" = 1)
|
||||
build_type = PROTOLATHE | AUTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 50)
|
||||
build_path = /obj/item/weapon/cell
|
||||
build_path = /obj/item/weapon/stock_parts/cell
|
||||
category = list("Misc","Power")
|
||||
|
||||
/datum/design/high_cell
|
||||
@@ -19,7 +19,7 @@
|
||||
req_tech = list("powerstorage" = 2)
|
||||
build_type = PROTOLATHE | AUTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 60)
|
||||
build_path = /obj/item/weapon/cell/high
|
||||
build_path = /obj/item/weapon/stock_parts/cell/high
|
||||
category = list("Misc","Power")
|
||||
|
||||
/datum/design/hyper_cell
|
||||
@@ -30,7 +30,7 @@
|
||||
reliability_base = 70
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70)
|
||||
build_path = /obj/item/weapon/cell/hyper
|
||||
build_path = /obj/item/weapon/stock_parts/cell/hyper
|
||||
category = list("Misc","Power")
|
||||
|
||||
/datum/design/super_cell
|
||||
@@ -41,7 +41,7 @@
|
||||
reliability_base = 75
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list("$metal" = 700, "$glass" = 70)
|
||||
build_path = /obj/item/weapon/cell/super
|
||||
build_path = /obj/item/weapon/stock_parts/cell/super
|
||||
category = list("Misc","Power")
|
||||
|
||||
/datum/design/pacman
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
/obj/item/weapon/caution/cone,\
|
||||
/obj/item/weapon/crowbar,\
|
||||
/obj/item/weapon/clipboard,\
|
||||
/obj/item/weapon/cell,\
|
||||
/obj/item/weapon/stock_parts/cell,\
|
||||
/obj/item/weapon/circular_saw,\
|
||||
/obj/item/weapon/hatchet,\
|
||||
/obj/item/weapon/handcuffs,\
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
if(user)
|
||||
if(istype(user, /mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/R = user
|
||||
for (var/obj/item/weapon/cell/D in R.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in R.contents)
|
||||
D.charge += rand() * 100 + 50
|
||||
R << "\blue SYSTEM ALERT: Large energy boost detected!"
|
||||
return 1
|
||||
@@ -17,12 +17,12 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/obj/machinery/power/apc/C in range(200, T))
|
||||
for (var/obj/item/weapon/cell/B in C.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/B in C.contents)
|
||||
B.charge += 25
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge += 25
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in M.contents)
|
||||
D.charge += 25
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
return 1
|
||||
@@ -31,12 +31,12 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/obj/machinery/power/apc/C in range(200, T))
|
||||
for (var/obj/item/weapon/cell/B in C.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/B in C.contents)
|
||||
B.charge += rand() * 100
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge += 250
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in M.contents)
|
||||
D.charge += rand() * 100
|
||||
M << "\blue SYSTEM ALERT: Energy boost detected!"
|
||||
return 1
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
if(user)
|
||||
if(istype(user, /mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/R = user
|
||||
for (var/obj/item/weapon/cell/D in R.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in R.contents)
|
||||
D.charge = max(D.charge - rand() * 100, 0)
|
||||
R << "\blue SYSTEM ALERT: Energy drain detected!"
|
||||
return 1
|
||||
@@ -19,12 +19,12 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/obj/machinery/power/apc/C in range(200, T))
|
||||
for (var/obj/item/weapon/cell/B in C.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/B in C.contents)
|
||||
B.charge = max(B.charge - 50,0)
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge = max(S.charge - 100,0)
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in M.contents)
|
||||
D.charge = max(D.charge - 50,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
return 1
|
||||
@@ -33,12 +33,12 @@
|
||||
if(holder)
|
||||
var/turf/T = get_turf(holder)
|
||||
for (var/obj/machinery/power/apc/C in range(200, T))
|
||||
for (var/obj/item/weapon/cell/B in C.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/B in C.contents)
|
||||
B.charge = max(B.charge - rand() * 150,0)
|
||||
for (var/obj/machinery/power/smes/S in range (src.effectrange,src))
|
||||
S.charge = max(S.charge - 250,0)
|
||||
for (var/mob/living/silicon/robot/M in mob_list)
|
||||
for (var/obj/item/weapon/cell/D in M.contents)
|
||||
for (var/obj/item/weapon/stock_parts/cell/D in M.contents)
|
||||
D.charge = max(D.charge - rand() * 150,0)
|
||||
M << "\red SYSTEM ALERT: Energy drain detected!"
|
||||
return 1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "suspension2"
|
||||
density = 1
|
||||
req_access = list(access_research)
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/obj/item/weapon/card/id/auth_card
|
||||
var/locked = 1
|
||||
var/open = 0
|
||||
@@ -16,7 +16,7 @@
|
||||
var/list/secured_mobs = list()
|
||||
|
||||
/obj/machinery/suspension_gen/New()
|
||||
src.cell = new/obj/item/weapon/cell/high(src)
|
||||
src.cell = new/obj/item/weapon/stock_parts/cell/high(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/suspension_gen/process()
|
||||
@@ -205,7 +205,7 @@
|
||||
desc = "It has stubby legs bolted up against it's body for stabilising."
|
||||
else
|
||||
user << "<span class='warning'>You are unable to secure [src] while it is active!</span>"
|
||||
else if (istype(W, /obj/item/weapon/cell))
|
||||
else if (istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(open)
|
||||
if(cell)
|
||||
user << "<span class='warning'>There is a power cell already installed.</span>"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
//-------------------------------------------
|
||||
/obj/vehicle/train/ambulance/engine/New()
|
||||
..()
|
||||
cell = new /obj/item/weapon/cell/high
|
||||
cell = new /obj/item/weapon/stock_parts/cell/high
|
||||
verbs -= /atom/movable/verb/pull
|
||||
key = new()
|
||||
|
||||
@@ -86,10 +86,10 @@
|
||||
..()
|
||||
flick("mulebot-emagged", src)
|
||||
|
||||
/obj/vehicle/train/ambulance/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/ambulance/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
/obj/vehicle/train/ambulance/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/ambulance/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
..()
|
||||
update_stats()
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
//-------------------------------------------
|
||||
/obj/vehicle/train/cargo/engine/New()
|
||||
..()
|
||||
cell = new /obj/item/weapon/cell/high
|
||||
cell = new /obj/item/weapon/stock_parts/cell/high
|
||||
verbs -= /atom/movable/verb/pull
|
||||
key = new()
|
||||
var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs
|
||||
@@ -82,10 +82,10 @@
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/vehicle/train/cargo/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/cargo/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
/obj/vehicle/train/cargo/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/cargo/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
..()
|
||||
update_stats()
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
//-------------------------------------------
|
||||
/obj/vehicle/train/janitor/engine/New()
|
||||
..()
|
||||
cell = new /obj/item/weapon/cell/high
|
||||
cell = new /obj/item/weapon/stock_parts/cell/high
|
||||
verbs -= /atom/movable/verb/pull
|
||||
key = new()
|
||||
var/datum/reagents/R = new/datum/reagents(100)
|
||||
@@ -136,10 +136,10 @@
|
||||
..()
|
||||
flick("mulebot-emagged", src)
|
||||
|
||||
/obj/vehicle/train/janitor/trolley/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/janitor/trolley/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
/obj/vehicle/train/janitor/engine/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/janitor/engine/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
..()
|
||||
update_stats()
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
var/move_delay = 1 //set this to limit the speed of the vehicle
|
||||
var/movable = 1
|
||||
|
||||
var/obj/item/weapon/cell/cell
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/charge_use = 5 //set this to adjust the amount of power the vehicle uses per move
|
||||
|
||||
var/atom/movable/load //all vehicles can take a load, since they should all be a least drivable
|
||||
@@ -72,7 +72,7 @@
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && cell && open)
|
||||
remove_cell(user)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/cell) && !cell && open)
|
||||
else if(istype(W, /obj/item/weapon/stock_parts/cell) && !cell && open)
|
||||
insert_cell(W, user)
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/T = W
|
||||
@@ -236,7 +236,7 @@
|
||||
turn_on()
|
||||
return
|
||||
|
||||
/obj/vehicle/proc/insert_cell(var/obj/item/weapon/cell/C, var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/proc/insert_cell(var/obj/item/weapon/stock_parts/cell/C, var/mob/living/carbon/human/H)
|
||||
if(cell)
|
||||
return
|
||||
if(!istype(C))
|
||||
|
||||
Reference in New Issue
Block a user