mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 01:23:41 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into russian
This commit is contained in:
@@ -423,17 +423,23 @@
|
||||
|
||||
if(mode==47)
|
||||
var/supplyData[0]
|
||||
var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle
|
||||
if (shuttle)
|
||||
supplyData["shuttle_moving"] = shuttle.has_arrive_time()
|
||||
supplyData["shuttle_eta"] = shuttle.eta_minutes()
|
||||
supplyData["shuttle_loc"] = shuttle.at_station() ? "Station" : "Dock"
|
||||
|
||||
if(shuttle_master.supply.mode == SHUTTLE_CALL)
|
||||
supplyData["shuttle_moving"] = 1
|
||||
|
||||
if(shuttle_master.supply.z != ZLEVEL_STATION)
|
||||
supplyData["shuttle_loc"] = "station"
|
||||
else
|
||||
supplyData["shuttle_loc"] = "centcom"
|
||||
|
||||
supplyData["shuttle_time"] = "([shuttle_master.supply.timeLeft(600)] Mins)"
|
||||
|
||||
var/supplyOrderCount = 0
|
||||
var/supplyOrderData[0]
|
||||
for(var/S in supply_controller.shoppinglist)
|
||||
for(var/S in shuttle_master.shoppinglist)
|
||||
var/datum/supply_order/SO = S
|
||||
|
||||
supplyOrderData[++supplyOrderData.len] = list("Number" = SO.ordernum, "Name" = html_encode(SO.object.name), "ApprovedBy" = SO.orderedby, "Comment" = html_encode(SO.comment))
|
||||
|
||||
if(!supplyOrderData.len)
|
||||
supplyOrderData[++supplyOrderData.len] = list("Number" = null, "Name" = null, "OrderedBy"=null)
|
||||
|
||||
@@ -442,10 +448,11 @@
|
||||
|
||||
var/requestCount = 0
|
||||
var/requestData[0]
|
||||
for(var/S in supply_controller.requestlist)
|
||||
for(var/S in shuttle_master.requestlist)
|
||||
var/datum/supply_order/SO = S
|
||||
requestCount++
|
||||
requestData[++requestData.len] = list("Number" = SO.ordernum, "Name" = html_encode(SO.object.name), "OrderedBy" = SO.orderedby, "Comment" = html_encode(SO.comment))
|
||||
|
||||
if(!requestData.len)
|
||||
requestData[++requestData.len] = list("Number" = null, "Name" = null, "orderedBy" = null, "Comment" = null)
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
item_state = "camera_bug"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
origin_tech = "syndicate=3;engineering=1"
|
||||
|
||||
var/obj/machinery/camera/current = null
|
||||
|
||||
|
||||
@@ -111,11 +111,13 @@
|
||||
else if(issilicon(M))
|
||||
if(isrobot(M))
|
||||
var/mob/living/silicon/robot/R = M
|
||||
for(var/obj/item/borg/combat/shield/S in R.module.modules)
|
||||
if(R.activated(S))
|
||||
add_logs(M, user, "flashed", object="[src.name]")
|
||||
user.visible_message("<span class='disarm'>[user] tries to overloads [M]'s sensors with the [src.name], but if blocked by [M]'s shield!</span>", "<span class='danger'>You try to overload [M]'s sensors with the [src.name], but are blocked by his shield!</span>")
|
||||
return 1
|
||||
|
||||
if (R.module) // Perhaps they didn't choose a module yet
|
||||
for(var/obj/item/borg/combat/shield/S in R.module.modules)
|
||||
if(R.activated(S))
|
||||
add_logs(M, user, "flashed", object="[src.name]")
|
||||
user.visible_message("<span class='disarm'>[user] tries to overloads [M]'s sensors with the [src.name], but if blocked by [M]'s shield!</span>", "<span class='danger'>You try to overload [M]'s sensors with the [src.name], but are blocked by his shield!</span>")
|
||||
return 1
|
||||
M.Weaken(rand(5,10))
|
||||
add_logs(M, user, "flashed", object="[src.name]")
|
||||
user.visible_message("<span class='disarm'>[user] overloads [M]'s sensors with the [src.name]!</span>", "<span class='danger'>You overload [M]'s sensors with the [src.name]!</span>")
|
||||
|
||||
@@ -25,28 +25,34 @@
|
||||
if(spamcheck)
|
||||
user << "\red \The [src] needs to recharge!"
|
||||
return
|
||||
|
||||
var/message = sanitize(copytext(input(user, "Shout a message?", "Megaphone", null) as text,1,MAX_MESSAGE_LEN))
|
||||
|
||||
var/message = input(user, "Shout a message:", "Megaphone") as text|null
|
||||
if(!message)
|
||||
return
|
||||
message = sanitize(copytext(message, 1, MAX_MESSAGE_LEN))
|
||||
if(!message)
|
||||
return
|
||||
message = capitalize(message)
|
||||
if ((src.loc == user && usr.stat == 0))
|
||||
if(emagged)
|
||||
if(insults)
|
||||
for(var/mob/O in (viewers(user)))
|
||||
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[pick(insultmsg)]\"</FONT>",2) // 2 stands for hearable message
|
||||
saymsg(user, pick(insultmsg))
|
||||
insults--
|
||||
else
|
||||
user << "\red *BZZZZzzzzzt*"
|
||||
else
|
||||
for(var/mob/O in (viewers(user)))
|
||||
O.show_message("<B>[user]</B> broadcasts, <FONT size=3>\"[message]\"</FONT>",2) // 2 stands for hearable message
|
||||
saymsg(user, message)
|
||||
|
||||
spamcheck = 1
|
||||
spawn(20)
|
||||
spamcheck = 0
|
||||
return
|
||||
|
||||
/obj/item/device/megaphone/proc/saymsg(mob/living/user as mob, message)
|
||||
audible_message("<span class='game say'><span class='name'>[user]</span> broadcasts, <FONT size=3>\"[message]\"</FONT></span>", hearing_distance = 14)
|
||||
for(var/obj/O in oview(14, get_turf(src)))
|
||||
O.hear_talk(user, "<FONT size=3>[message]</FONT>")
|
||||
|
||||
/obj/item/device/megaphone/emag_act(user as mob)
|
||||
if(!emagged)
|
||||
user << "\red You overload \the [src]'s voice synthesizer."
|
||||
|
||||
@@ -93,7 +93,11 @@
|
||||
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] exclaims, \"[msg]\""
|
||||
return
|
||||
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] says, \"[msg]\""
|
||||
|
||||
|
||||
/obj/item/device/taperecorder/hear_message(mob/living/M as mob, msg)
|
||||
if(mytape && recording)
|
||||
mytape.timestamp += mytape.used_capacity
|
||||
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [M.name] [msg]"
|
||||
|
||||
/obj/item/device/taperecorder/verb/record()
|
||||
set name = "Start Recording"
|
||||
|
||||
@@ -68,6 +68,11 @@
|
||||
for(var/obj/O in contents)
|
||||
O.hear_talk(M, msg)
|
||||
|
||||
/obj/item/device/transfer_valve/hear_message(mob/living/M as mob, msg)
|
||||
..()
|
||||
for(var/obj/O in contents)
|
||||
O.hear_message(M, msg)
|
||||
|
||||
/obj/item/device/transfer_valve/attack_self(mob/user as mob)
|
||||
ui_interact(user)
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
/obj/item/flag/species/diona
|
||||
name = "Diona flag"
|
||||
desc = "A flag proudly proclaiming the superior heritage of Diona."
|
||||
desc = "A flag proudly proclaiming the superior heritage of Dionae."
|
||||
icon_state = "dionaflag"
|
||||
|
||||
/obj/item/flag/species/human
|
||||
@@ -156,6 +156,11 @@
|
||||
desc = "A flag proudly proclaiming the superior heritage of Unathi."
|
||||
icon_state = "unathiflag"
|
||||
|
||||
/obj/item/flag/species/vulp
|
||||
name = "Vulpkanin flag"
|
||||
desc = "A flag proudly proclaiming the superior heritage of Vulpkanin."
|
||||
icon_state = "vulpflag"
|
||||
|
||||
//Department Flags
|
||||
|
||||
/obj/item/flag/cargo
|
||||
@@ -208,4 +213,4 @@
|
||||
/obj/item/flag/cult
|
||||
name = "Nar'Sie Cultist flag"
|
||||
desc = "A flag proudly boasting the logo of the cultists, sworn enemies of NT."
|
||||
icon_state = "cultflag"
|
||||
icon_state = "cultflag"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
/obj/item/stack/sheet/animalhide/random
|
||||
name = "Random animal hide"
|
||||
name = "random animal hide"
|
||||
New()
|
||||
..()
|
||||
spawn(1)
|
||||
@@ -80,7 +80,7 @@
|
||||
name = "unlabelled bottle"
|
||||
pixel_x = rand(-10,10)
|
||||
pixel_y = rand(-10,10)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink
|
||||
name = "unlabelled drink"
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
@@ -96,7 +96,7 @@
|
||||
icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
|
||||
pixel_x = rand(-5,5)
|
||||
pixel_y = rand(-5,5)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent // Same as the chembottle code except the container
|
||||
name = "unlabelled drink?"
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
@@ -146,7 +146,7 @@
|
||||
// -------------------------------------
|
||||
|
||||
/obj/structure/closet/crate/secure/unknownchemicals
|
||||
name = "Grey-market Chemicals Grab Pack"
|
||||
name = "grey-market chemicals grab pack"
|
||||
desc = "Crate full of chemicals of unknown type and value from a 'trusted' source."
|
||||
req_one_access = list(access_chemistry,access_research,access_qm) // the qm knows a guy, you see.
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/closet/crate/secure/chemicals
|
||||
name = "Chemical Supply Kit"
|
||||
name = "chemical supply kit"
|
||||
desc = "Full of basic chemistry supplies."
|
||||
req_one_access = list(access_chemistry,access_research)
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
*/
|
||||
|
||||
/obj/structure/closet/secure_closet/random_drinks
|
||||
name = "Unlabelled Booze"
|
||||
name = "unlabelled booze closet"
|
||||
req_access = list(access_bar)
|
||||
icon_state = "cabinetdetective_locked"
|
||||
icon_closed = "cabinetdetective"
|
||||
|
||||
@@ -217,7 +217,11 @@
|
||||
return 1
|
||||
var/to_transfer as num
|
||||
if (user.get_inactive_hand()==src)
|
||||
to_transfer = 1
|
||||
var/desired = input("How much would you like to transfer from this stack?", "How much?", 1) as null|num
|
||||
if(!desired)
|
||||
return
|
||||
desired = round(desired)
|
||||
to_transfer = max(1,min(desired,S.max_amount-S.amount,src.amount))
|
||||
else
|
||||
to_transfer = min(src.amount, S.max_amount-S.amount)
|
||||
S.amount+=to_transfer
|
||||
|
||||
@@ -1571,7 +1571,7 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
/obj/item/toy/figure/attack_self(mob/user as mob)
|
||||
if(cooldown < world.time)
|
||||
cooldown = (world.time + 30) //3 second cooldown
|
||||
user << "<span class='notice'>The [src] says \"[toysay]\".</span>"
|
||||
user.visible_message("<span class='notice'>\icon[src] The [src] says \"[toysay]\".</span>")
|
||||
playsound(user, 'sound/machines/click.ogg', 20, 1)
|
||||
|
||||
/obj/item/toy/figure/cmo
|
||||
@@ -1665,7 +1665,7 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
toysay = "I'm not qualified for this job."
|
||||
|
||||
/obj/item/toy/figure/hop
|
||||
name = "Head of Persomnel action figure"
|
||||
name = "Head of Personnel action figure"
|
||||
icon_state = "hop"
|
||||
toysay = "Giving out all access!"
|
||||
|
||||
@@ -1685,9 +1685,9 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
toysay = "Look at the signs, you idiot."
|
||||
|
||||
/obj/item/toy/figure/lawyer
|
||||
name = "Lawyer action figure"
|
||||
name = "Internal Affairs Agent action figure"
|
||||
icon_state = "lawyer"
|
||||
toysay = "My client is a dirty traitor!"
|
||||
toysay = "Standard Operating Procedure says they're guilty! Hacking is proof they're an Enemy of the Corporation!"
|
||||
|
||||
/obj/item/toy/figure/librarian
|
||||
name = "Librarian action figure"
|
||||
|
||||
@@ -122,9 +122,8 @@
|
||||
user << "<span class='warning'>It is too far away.</span>"
|
||||
|
||||
/obj/item/weapon/card/id/proc/show(mob/user as mob)
|
||||
if(user.client) // Send the stamp images to the client
|
||||
var/datum/asset/simple/S = new/datum/asset/simple/paper()
|
||||
send_asset_list(user.client, S.assets)
|
||||
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper)
|
||||
assets.send(user)
|
||||
|
||||
if(!front)
|
||||
front = new(photo, dir = SOUTH)
|
||||
|
||||
@@ -366,8 +366,8 @@
|
||||
for(var/obj/item/organ/external/O in H.organs)
|
||||
total_brute += O.brute_dam
|
||||
total_burn += O.burn_dam
|
||||
if(H.health <= config.health_threshold_dead && total_burn <= 180 && total_brute <= 180 && !H.suiciding && !ghost && tplus < tlimit && !(NOCLONE in H.mutations))
|
||||
tobehealed = health + threshold
|
||||
if(total_burn <= 180 && total_brute <= 180 && !H.suiciding && !ghost && tplus < tlimit && !(NOCLONE in H.mutations))
|
||||
tobehealed = min(health + threshold, 0) // It's HILARIOUS without this min statement, let me tell you
|
||||
tobehealed -= 5 //They get 5 of each type of damage healed so excessive combined damage will not immediately kill them after they get revived
|
||||
H.adjustOxyLoss(tobehealed)
|
||||
H.adjustToxLoss(tobehealed)
|
||||
@@ -475,8 +475,8 @@
|
||||
for(var/obj/item/organ/external/O in H.organs)
|
||||
total_brute += O.brute_dam
|
||||
total_burn += O.burn_dam
|
||||
if(H.health <= config.health_threshold_dead && total_burn <= 180 && total_brute <= 180 && !H.suiciding && !ghost && tplus < tlimit && !(NOCLONE in H.mutations))
|
||||
tobehealed = health + threshold
|
||||
if(total_burn <= 180 && total_brute <= 180 && !H.suiciding && !ghost && tplus < tlimit && !(NOCLONE in H.mutations))
|
||||
tobehealed = min(health + threshold, 0) // It's HILARIOUS without this min statement, let me tell you
|
||||
tobehealed -= 5 //They get 5 of each type of damage healed so excessive combined damage will not immediately kill them after they get revived
|
||||
H.adjustOxyLoss(tobehealed)
|
||||
H.adjustToxLoss(tobehealed)
|
||||
|
||||
@@ -235,6 +235,10 @@
|
||||
if(nadeassembly)
|
||||
nadeassembly.hear_talk(M, msg)
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/hear_message(mob/living/M, msg)
|
||||
if(nadeassembly)
|
||||
nadeassembly.hear_message(M, msg)
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/Bump()
|
||||
..()
|
||||
if(nadeassembly)
|
||||
|
||||
@@ -21,7 +21,10 @@
|
||||
// What does the implant do upon injection?
|
||||
// return 0 if the implant fails (ex. Revhead and loyalty implant.)
|
||||
// return 1 if the implant succeeds (ex. Nonrevhead and loyalty implant.)
|
||||
/obj/item/weapon/implant/proc/implanted(var/mob/source)
|
||||
/obj/item/weapon/implant/proc/implanted(var/mob/source)
|
||||
if(istype(source, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = source
|
||||
H.sec_hud_set_implants()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/implant/proc/get_data()
|
||||
@@ -55,11 +58,11 @@
|
||||
desc = "Track with this."
|
||||
origin_tech = "materials=2;magnets=2;programming=2;biotech=2"
|
||||
var/id = 1.0
|
||||
|
||||
|
||||
/obj/item/weapon/implant/tracking/New()
|
||||
..()
|
||||
tracking_implants += src
|
||||
|
||||
|
||||
/obj/item/weapon/implant/tracking/Destroy()
|
||||
tracking_implants -= src
|
||||
return ..()
|
||||
@@ -287,7 +290,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
tracking_implants += src
|
||||
|
||||
|
||||
/obj/item/weapon/implant/chem/Destroy()
|
||||
tracking_implants -= src
|
||||
return ..()
|
||||
@@ -414,7 +417,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
ticker.mode.update_traitor_icons_added(user.mind)
|
||||
log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].")
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/weapon/implant/traitor/islegal()
|
||||
return 0
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
affected.implants += src.imp
|
||||
imp.part = affected
|
||||
H.hud_updateflag |= 1 << IMPLOYAL_HUD
|
||||
H.sec_hud_set_implants()
|
||||
M:implanting = 0
|
||||
src.imp = null
|
||||
update()
|
||||
|
||||
@@ -63,6 +63,9 @@
|
||||
overlays.Cut()
|
||||
return
|
||||
|
||||
if (can_operate(M))
|
||||
do_surgery(M, user, src)
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/fork
|
||||
name = "fork"
|
||||
desc = "It's a fork. Sure is pointy."
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/lit = 0
|
||||
|
||||
/obj/item/weapon/lighter/zippo
|
||||
name = "Zippo lighter"
|
||||
name = "zippo lighter"
|
||||
desc = "The zippo."
|
||||
icon_state = "zippo"
|
||||
item_state = "zippo"
|
||||
@@ -101,7 +101,7 @@
|
||||
icon_state = "zippo_nt_off"
|
||||
icon_on = "zippo_nt_on"
|
||||
icon_off = "zippo_nt_off"
|
||||
|
||||
|
||||
/obj/item/weapon/lighter/zippo/blue
|
||||
name = "blue zippo lighter"
|
||||
desc = "A zippo lighter made of some blue metal."
|
||||
@@ -109,20 +109,20 @@
|
||||
icon_on = "bluezippoon"
|
||||
icon_off = "bluezippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/black
|
||||
/obj/item/weapon/lighter/zippo/black
|
||||
name = "black zippo lighter"
|
||||
desc = "A black zippo lighter."
|
||||
icon_state = "blackzippo"
|
||||
icon_on = "blackzippoon"
|
||||
icon_off = "blackzippo"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/engraved
|
||||
/obj/item/weapon/lighter/zippo/engraved
|
||||
name = "engraved zippo lighter"
|
||||
desc = "A intricately engraved zippo lighter."
|
||||
icon_state = "engravedzippo"
|
||||
icon_on = "engravedzippoon"
|
||||
icon_off = "engravedzippo"
|
||||
|
||||
|
||||
/obj/item/weapon/lighter/zippo/gonzofist
|
||||
name = "Gonzo Fist zippo"
|
||||
desc = "A Zippo lighter with the iconic Gonzo Fist on a matte black finish."
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 3.0
|
||||
w_class = 2
|
||||
var/charge = 0 // note %age conveted to actual charge in New
|
||||
var/maxcharge = 10000
|
||||
rating = 1
|
||||
@@ -24,7 +24,7 @@
|
||||
/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"
|
||||
origin_tech = null
|
||||
maxcharge = 5000
|
||||
rating = 2
|
||||
materials = list(MAT_GLASS=40)
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/secborg
|
||||
name = "\improper Security borg rechargable D battery"
|
||||
origin_tech = "powerstorage=0"
|
||||
origin_tech = null
|
||||
maxcharge = 6000 //6000 max charge / 1000 charge per shot = six shots
|
||||
rating = 2.5
|
||||
materials = list(MAT_GLASS=40)
|
||||
@@ -160,4 +160,4 @@
|
||||
name = "temperature gun cell"
|
||||
desc = "A specially designed power cell for heating and cooling projectiles"
|
||||
icon_state = "icell"
|
||||
maxcharge = 900
|
||||
maxcharge = 900
|
||||
@@ -34,7 +34,6 @@
|
||||
name = "bluespace rapid part exchange device"
|
||||
desc = "A version of the RPED that allows for replacement of parts and scanning from a distance, along with higher capacity for parts."
|
||||
icon_state = "BS_RPED"
|
||||
item_state = "BS_RPED"
|
||||
w_class = 3
|
||||
storage_slots = 400
|
||||
max_w_class = 3
|
||||
|
||||
@@ -120,6 +120,36 @@
|
||||
icon_state = "engiepack"
|
||||
item_state = "engiepack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/botany
|
||||
name = "botany backpack"
|
||||
desc = "It's a backpack made of all-natural fibers."
|
||||
icon_state = "botpack"
|
||||
item_state = "botpack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/chemistry
|
||||
name = "chemistry backpack"
|
||||
desc = "A backpack specially designed to repel stains and hazardous liquids."
|
||||
icon_state = "chempack"
|
||||
item_state = "chempack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/genetics
|
||||
name = "genetics backpack"
|
||||
desc = "A bag designed to be super tough, just in case someone hulks out on you."
|
||||
icon_state = "genepack"
|
||||
item_state = "genepack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/science
|
||||
name = "science backpack"
|
||||
desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma."
|
||||
icon_state = "toxpack"
|
||||
item_state = "toxpack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/virology
|
||||
name = "virology backpack"
|
||||
desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey."
|
||||
icon_state = "viropack"
|
||||
item_state = "viropack"
|
||||
|
||||
/*
|
||||
* Satchel Types
|
||||
*/
|
||||
@@ -149,13 +179,11 @@
|
||||
name = "industrial satchel"
|
||||
desc = "A tough satchel with extra pockets."
|
||||
icon_state = "satchel-eng"
|
||||
item_state = "engiepack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel_med
|
||||
name = "medical satchel"
|
||||
desc = "A sterile satchel used in medical departments."
|
||||
icon_state = "satchel-med"
|
||||
item_state = "medicalpack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel_vir
|
||||
name = "virologist satchel"
|
||||
@@ -181,18 +209,16 @@
|
||||
name = "security satchel"
|
||||
desc = "A robust satchel for security related needs."
|
||||
icon_state = "satchel-sec"
|
||||
item_state = "securitypack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel_hyd
|
||||
name = "hydroponics satchel"
|
||||
desc = "A green satchel for plant related work."
|
||||
icon_state = "satchel_hyd"
|
||||
icon_state = "satchel-hyd"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel_cap
|
||||
name = "captain's satchel"
|
||||
desc = "An exclusive satchel for Nanotrasen officers."
|
||||
icon_state = "satchel-cap"
|
||||
item_state = "captainpack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel_flat
|
||||
name = "smuggler's satchel"
|
||||
|
||||
@@ -344,17 +344,17 @@
|
||||
|
||||
///Aquatic Starter Kit
|
||||
|
||||
/obj/item/weapon/storage/aquatic_kit
|
||||
/obj/item/weapon/storage/firstaid/aquatic_kit
|
||||
name = "aquatic starter kit"
|
||||
desc = "It's a starter kit box for an acquarium."
|
||||
desc = "It's a starter kit box for an aquarium."
|
||||
icon_state = "AquaticKit"
|
||||
throw_speed = 2
|
||||
throw_range = 8
|
||||
|
||||
/obj/item/weapon/storage/aquatic_kit/full
|
||||
/obj/item/weapon/storage/firstaid/aquatic_kit/full
|
||||
desc = "It's a starter kit for an acquarium; includes 1 tank brush, 1 egg scoop, 1 fish net, and 1 container of fish food."
|
||||
|
||||
/obj/item/weapon/storage/aquatic_kit/full/New()
|
||||
/obj/item/weapon/storage/firstaid/aquatic_kit/full/New()
|
||||
..()
|
||||
new /obj/item/weapon/egg_scoop(src)
|
||||
new /obj/item/weapon/fish_net(src)
|
||||
|
||||
@@ -15,6 +15,12 @@
|
||||
throw_speed = 2
|
||||
throw_range = 8
|
||||
var/empty = 0
|
||||
req_one_access =list(access_medical, access_robotics) //Access and treatment are utilized for medbots.
|
||||
var/treatment_brute = "salglu_solution"
|
||||
var/treatment_oxy = "salbutamol"
|
||||
var/treatment_fire = "salglu_solution"
|
||||
var/treatment_tox = "charcoal"
|
||||
var/treatment_virus = "spaceacillin"
|
||||
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire
|
||||
@@ -38,6 +44,8 @@
|
||||
new /obj/item/weapon/reagent_containers/pill/salicylic( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire/empty
|
||||
empty = 1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/regular
|
||||
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
|
||||
@@ -76,6 +84,9 @@
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin/empty
|
||||
empty = 1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2
|
||||
name = "oxygen deprivation first aid kit"
|
||||
desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient."
|
||||
@@ -92,6 +103,9 @@
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2/empty
|
||||
empty = 1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/brute
|
||||
name = "brute trauma treatment kit"
|
||||
desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer."
|
||||
@@ -113,6 +127,9 @@
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/brute/empty
|
||||
empty = 1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/adv
|
||||
name = "advanced first-aid kit"
|
||||
desc = "Contains advanced medical treatments."
|
||||
@@ -131,11 +148,19 @@
|
||||
new /obj/item/stack/medical/splint(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/adv/empty
|
||||
empty = 1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/tactical
|
||||
name = "first-aid kit"
|
||||
icon_state = "bezerk"
|
||||
desc = "I hope you've got insurance."
|
||||
max_w_class = 3
|
||||
treatment_oxy = "perfluorodecalin"
|
||||
treatment_brute = "styptic_powder"
|
||||
treatment_fire = "silver_sulfadiazine"
|
||||
treatment_tox = "charcoal"
|
||||
req_one_access =list(access_syndicate)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/tactical/New()
|
||||
..()
|
||||
@@ -149,6 +174,9 @@
|
||||
new /obj/item/clothing/glasses/hud/health/night(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/tactical/empty
|
||||
empty =1
|
||||
|
||||
/obj/item/weapon/storage/firstaid/surgery
|
||||
name = "field surgery kit"
|
||||
icon_state = "duffel-med"
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
icon_locking = "safeb"
|
||||
icon_sparking = "safespark"
|
||||
force = 8.0
|
||||
w_class = 8.0
|
||||
w_class = 5.0
|
||||
max_w_class = 8
|
||||
anchored = 1.0
|
||||
density = 0
|
||||
|
||||
@@ -46,12 +46,12 @@ Frequency:
|
||||
/obj/item/weapon/locator/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
|
||||
|
||||
var/turf/current_location = get_turf(usr)//What turf is the user on?
|
||||
if(!current_location ||( current_location.z in config.admin_levels))//If turf was not found or they're on z level 2.
|
||||
usr << "<span class='warning'>\The [src] is malfunctioning.</span>"
|
||||
return 1
|
||||
|
||||
|
||||
if (href_list["refresh"])
|
||||
temp = "<B>Persistent Signal Locator</B><HR>"
|
||||
var/turf/sr = get_turf(src)
|
||||
@@ -135,9 +135,7 @@ Frequency:
|
||||
return
|
||||
var/T = L[t1]
|
||||
user.show_message("<span class='notice'>Locked In.</span>", 2)
|
||||
var/obj/effect/portal/P = new /obj/effect/portal( get_turf(src) )
|
||||
P.target = T
|
||||
P.creator = src
|
||||
var/obj/effect/portal/P = new /obj/effect/portal(get_turf(src), T, src)
|
||||
try_move_adjacent(P)
|
||||
active_portals++
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
* Fireaxe
|
||||
* Double-Bladed Energy Swords
|
||||
* Spears
|
||||
* Kidan spear
|
||||
* Chainsaw
|
||||
* Singularity hammer
|
||||
* Mjolnnir
|
||||
* Knighthammer
|
||||
*/
|
||||
|
||||
/*##################################################################
|
||||
@@ -34,6 +39,9 @@
|
||||
else //something wrong
|
||||
name = "[initial(name)]"
|
||||
update_icon()
|
||||
if(user)
|
||||
user.update_inv_r_hand()
|
||||
user.update_inv_l_hand()
|
||||
if(isrobot(user))
|
||||
user << "<span class='notice'>You free up your module.</span>"
|
||||
else
|
||||
@@ -59,6 +67,9 @@
|
||||
force = force_wielded
|
||||
name = "[name] (Wielded)"
|
||||
update_icon()
|
||||
if(user)
|
||||
user.update_inv_r_hand()
|
||||
user.update_inv_l_hand()
|
||||
if(isrobot(user))
|
||||
user << "<span class='notice'>You dedicate your module to [name].</span>"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user