mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 02:57:48 +01:00
Merge conflict fix
This commit is contained in:
+19
-17
@@ -101,7 +101,7 @@
|
||||
//Presets for item actions
|
||||
/datum/action/item_action
|
||||
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_CONSCIOUS
|
||||
|
||||
var/use_itemicon = TRUE
|
||||
/datum/action/item_action/New(Target)
|
||||
..()
|
||||
var/obj/item/I = target
|
||||
@@ -121,17 +121,19 @@
|
||||
return 1
|
||||
|
||||
/datum/action/item_action/ApplyIcon(obj/screen/movable/action_button/current_button)
|
||||
current_button.overlays.Cut()
|
||||
if(target)
|
||||
var/obj/item/I = target
|
||||
var/old_layer = I.layer
|
||||
var/old_plane = I.plane
|
||||
I.layer = 21
|
||||
I.plane = HUD_PLANE
|
||||
current_button.overlays += I
|
||||
I.layer = old_layer
|
||||
I.plane = old_plane
|
||||
|
||||
if(use_itemicon)
|
||||
current_button.overlays.Cut()
|
||||
if(target)
|
||||
var/obj/item/I = target
|
||||
var/old_layer = I.layer
|
||||
var/old_plane = I.plane
|
||||
I.layer = 21
|
||||
I.plane = HUD_PLANE
|
||||
current_button.overlays += I
|
||||
I.layer = old_layer
|
||||
I.plane = old_plane
|
||||
else
|
||||
..()
|
||||
/datum/action/item_action/toggle_light
|
||||
name = "Toggle Light"
|
||||
|
||||
@@ -197,8 +199,8 @@
|
||||
UpdateButtonIcon()
|
||||
|
||||
/datum/action/item_action/toggle_unfriendly_fire/UpdateButtonIcon()
|
||||
if(istype(target, /obj/item/weapon/hierophant_staff))
|
||||
var/obj/item/weapon/hierophant_staff/H = target
|
||||
if(istype(target, /obj/item/hierophant_staff))
|
||||
var/obj/item/hierophant_staff/H = target
|
||||
if(H.friendly_fire_check)
|
||||
button_icon_state = "vortex_ff_off"
|
||||
name = "Toggle Friendly Fire \[OFF\]"
|
||||
@@ -228,8 +230,8 @@
|
||||
button_icon_state = "vortex_recall"
|
||||
|
||||
/datum/action/item_action/vortex_recall/IsAvailable()
|
||||
if(istype(target, /obj/item/weapon/hierophant_staff))
|
||||
var/obj/item/weapon/hierophant_staff/H = target
|
||||
if(istype(target, /obj/item/hierophant_staff))
|
||||
var/obj/item/hierophant_staff/H = target
|
||||
if(H.teleporting)
|
||||
return 0
|
||||
return ..()
|
||||
@@ -318,7 +320,7 @@
|
||||
name = "Toggle Jetpack Stabilization"
|
||||
|
||||
/datum/action/item_action/jetpack_stabilization/IsAvailable()
|
||||
var/obj/item/weapon/tank/jetpack/J = target
|
||||
var/obj/item/tank/jetpack/J = target
|
||||
if(!istype(J) || !J.on)
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
+55
-55
@@ -101,8 +101,8 @@
|
||||
name = "Move Small Containers"
|
||||
id = "boxes"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/weapon/storage, /obj/item/weapon/moneybag, /obj/item/weapon/evidencebag,
|
||||
/obj/item/weapon/storage/bag/tray, /obj/item/pizzabox, /obj/item/weapon/clipboard,
|
||||
whitelist = list(/obj/item/storage, /obj/item/moneybag, /obj/item/evidencebag,
|
||||
/obj/item/storage/bag/tray, /obj/item/pizzabox, /obj/item/clipboard,
|
||||
/obj/item/smallDelivery, /obj/structure/bigDelivery)
|
||||
|
||||
/datum/cargoprofile/cargo
|
||||
@@ -138,46 +138,46 @@
|
||||
whitelist = list(/obj/item/stack/cable_coil,/obj/item/stack/rods,
|
||||
/obj/item/stack/sheet/metal,/obj/item/stack/sheet/plasteel,
|
||||
/obj/item/stack/sheet/glass,/obj/item/stack/sheet/rglass,
|
||||
/obj/item/stack/tile,/obj/item/weapon/light)
|
||||
/obj/item/stack/tile,/obj/item/light)
|
||||
//todo: maybe stack things while we're here?
|
||||
|
||||
/datum/cargoprofile/exotics
|
||||
name = "Exotic materials"
|
||||
id = "exotics"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/weapon/coin, /obj/item/stack/spacecash, /obj/item/seeds,
|
||||
whitelist = list(/obj/item/coin, /obj/item/stack/spacecash, /obj/item/seeds,
|
||||
/obj/item/stack/sheet/mineral,/obj/item/stack/sheet/wood,/obj/item/stack/sheet/leather)
|
||||
|
||||
/datum/cargoprofile/organics
|
||||
name = "Organics, chemicals, and Paraphernalia"
|
||||
id = "organics"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/weapon/tank,/obj/item/weapon/reagent_containers,
|
||||
/obj/item/stack/medical,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/gun/syringe,
|
||||
/obj/item/weapon/grenade/plastic/c4,/obj/item/weapon/grenade,/obj/item/ammo_box,
|
||||
/obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/flamethrower, /obj/item/weapon/lighter,
|
||||
/obj/item/weapon/match,/obj/item/weapon/weldingtool)
|
||||
whitelist = list(/obj/item/tank,/obj/item/reagent_containers,
|
||||
/obj/item/stack/medical,/obj/item/storage/pill_bottle,/obj/item/gun/syringe,
|
||||
/obj/item/grenade/plastic/c4,/obj/item/grenade,/obj/item/ammo_box,
|
||||
/obj/item/gun/grenadelauncher,/obj/item/flamethrower, /obj/item/lighter,
|
||||
/obj/item/match,/obj/item/weldingtool)
|
||||
|
||||
/datum/cargoprofile/food
|
||||
name = "Food"
|
||||
id = "food"
|
||||
blacklist = null // something should probably go here
|
||||
whitelist = list(/obj/item/weapon/reagent_containers/food)
|
||||
whitelist = list(/obj/item/reagent_containers/food)
|
||||
|
||||
/datum/cargoprofile/chemical
|
||||
name = "Chemicals and Paraphernalia"
|
||||
id = "chemical"
|
||||
blacklist = list(/obj/item/weapon/reagent_containers/food)
|
||||
whitelist = list(/obj/item/weapon/reagent_containers,/obj/item/stack/medical,/obj/item/weapon/storage/pill_bottle,
|
||||
/obj/item/weapon/gun/syringe,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/dnainjector,
|
||||
/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid,/obj/item/weapon/implanter)
|
||||
blacklist = list(/obj/item/reagent_containers/food)
|
||||
whitelist = list(/obj/item/reagent_containers,/obj/item/stack/medical,/obj/item/storage/pill_bottle,
|
||||
/obj/item/gun/syringe,/obj/item/grenade/chem_grenade,/obj/item/dnainjector,
|
||||
/obj/item/storage/belt/medical,/obj/item/storage/firstaid,/obj/item/implanter)
|
||||
|
||||
/datum/cargoprofile/pressure
|
||||
name = "air tanks"
|
||||
id = "pressure"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/weapon/tank,/obj/machinery/portable_atmospherics,
|
||||
/obj/item/weapon/flamethrower)
|
||||
whitelist = list(/obj/item/tank,/obj/machinery/portable_atmospherics,
|
||||
/obj/item/flamethrower)
|
||||
//Am I missing any?
|
||||
/datum/cargoprofile/pressure/empty
|
||||
name = "empty air tanks"
|
||||
@@ -187,11 +187,11 @@
|
||||
contains(var/atom/A)
|
||||
if(..())
|
||||
var/pressure = ONE_ATMOSPHERE * 10 // In case of fallthrough, fail test
|
||||
if(istype(A,/obj/item/weapon/tank))
|
||||
var/obj/item/weapon/tank/T = A
|
||||
if(istype(A,/obj/item/tank))
|
||||
var/obj/item/tank/T = A
|
||||
pressure = T.air_contents.return_pressure()
|
||||
if(istype(A,/obj/item/weapon/flamethrower))
|
||||
var/obj/item/weapon/flamethrower/T = A
|
||||
if(istype(A,/obj/item/flamethrower))
|
||||
var/obj/item/flamethrower/T = A
|
||||
if(!T.ptank)
|
||||
return 0
|
||||
pressure = T.ptank.air_contents.return_pressure()
|
||||
@@ -212,11 +212,11 @@
|
||||
contains(var/atom/A)
|
||||
if(..())
|
||||
var/pressure = 0 // In case of fallthrough, fail test
|
||||
if(istype(A,/obj/item/weapon/tank))
|
||||
var/obj/item/weapon/tank/T = A
|
||||
if(istype(A,/obj/item/tank))
|
||||
var/obj/item/tank/T = A
|
||||
pressure = T.air_contents.return_pressure()
|
||||
if(istype(A,/obj/item/weapon/flamethrower))
|
||||
var/obj/item/weapon/flamethrower/T = A
|
||||
if(istype(A,/obj/item/flamethrower))
|
||||
var/obj/item/flamethrower/T = A
|
||||
if(!T.ptank)
|
||||
return 0
|
||||
pressure = T.ptank.air_contents.return_pressure()
|
||||
@@ -232,44 +232,44 @@
|
||||
/datum/cargoprofile/clothing
|
||||
name = "Crew Kit"
|
||||
id = "clothing"
|
||||
blacklist = list(/obj/item/weapon/tank/plasma,/obj/item/weapon/tank/anesthetic, // the rest are air tanks
|
||||
blacklist = list(/obj/item/tank/plasma,/obj/item/tank/anesthetic, // the rest are air tanks
|
||||
/obj/item/clothing/mask/facehugger) // NOT CLOTHING AT ALLLLL
|
||||
whitelist = list(/obj/item/clothing,/obj/item/weapon/storage/belt,/obj/item/weapon/storage/backpack,
|
||||
/obj/item/device/radio/headset,/obj/item/device/pda,/obj/item/weapon/card/id,/obj/item/weapon/tank,
|
||||
/obj/item/weapon/restraints/handcuffs, /obj/item/weapon/restraints/legcuffs)
|
||||
whitelist = list(/obj/item/clothing,/obj/item/storage/belt,/obj/item/storage/backpack,
|
||||
/obj/item/device/radio/headset,/obj/item/device/pda,/obj/item/card/id,/obj/item/tank,
|
||||
/obj/item/restraints/handcuffs, /obj/item/restraints/legcuffs)
|
||||
|
||||
/datum/cargoprofile/trash
|
||||
name = "Trash"
|
||||
id = "trash"
|
||||
//Note that this filters out blueprints because they are a paper item. Do NOT throw out the station blueprints unless you be trollin'.
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/trash,/obj/item/toy,/obj/item/weapon/reagent_containers/food/snacks/ectoplasm,/obj/item/weapon/grown/bananapeel,/obj/item/weapon/broken_bottle,/obj/item/weapon/bikehorn,
|
||||
/obj/item/weapon/cigbutt,/obj/item/weapon/poster/random_contraband,/obj/item/weapon/grown/corncob,/obj/item/weapon/paper,/obj/item/weapon/shard,
|
||||
/obj/item/weapon/sord,/obj/item/weapon/photo,/obj/item/weapon/folder,
|
||||
/obj/item/areaeditor/blueprints,/obj/item/weapon/poster/random_contraband,/obj/item/weapon/kitchen,/obj/item/weapon/book,/obj/item/clothing/mask/facehugger)
|
||||
whitelist = list(/obj/item/trash,/obj/item/toy,/obj/item/reagent_containers/food/snacks/ectoplasm,/obj/item/grown/bananapeel,/obj/item/broken_bottle,/obj/item/bikehorn,
|
||||
/obj/item/cigbutt,/obj/item/poster/random_contraband,/obj/item/grown/corncob,/obj/item/paper,/obj/item/shard,
|
||||
/obj/item/sord,/obj/item/photo,/obj/item/folder,
|
||||
/obj/item/areaeditor/blueprints,/obj/item/poster/random_contraband,/obj/item/kitchen,/obj/item/book,/obj/item/clothing/mask/facehugger)
|
||||
|
||||
/datum/cargoprofile/weapons
|
||||
name = "Weapons & Illegals"
|
||||
id = "weapons"
|
||||
blacklist = null
|
||||
//This one is hard since 'weapon contains a lot of things better categorized as devices
|
||||
whitelist = list(/obj/item/weapon/banhammer,/obj/item/weapon/sord,/obj/item/weapon/claymore,/obj/item/weapon/holo/esword,
|
||||
/obj/item/weapon/flamethrower,/obj/item/weapon/grenade,/obj/item/weapon/gun,/obj/item/weapon/hatchet,/obj/item/weapon/katana,
|
||||
/obj/item/weapon/kitchen/knife,/obj/item/weapon/melee,/obj/item/weapon/nullrod,/obj/item/weapon/pickaxe,/obj/item/weapon/twohanded,
|
||||
/obj/item/weapon/grenade/plastic/c4,/obj/item/weapon/scalpel,/obj/item/weapon/shield,/obj/item/weapon/grown/nettle/death)
|
||||
whitelist = list(/obj/item/banhammer,/obj/item/sord,/obj/item/claymore,/obj/item/holo/esword,
|
||||
/obj/item/flamethrower,/obj/item/grenade,/obj/item/gun,/obj/item/hatchet,/obj/item/katana,
|
||||
/obj/item/kitchen/knife,/obj/item/melee,/obj/item/nullrod,/obj/item/pickaxe,/obj/item/twohanded,
|
||||
/obj/item/grenade/plastic/c4,/obj/item/scalpel,/obj/item/shield,/obj/item/grown/nettle/death)
|
||||
|
||||
/datum/cargoprofile/tools
|
||||
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/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/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/cultivator,
|
||||
/obj/item/stack/packageWrap,/obj/item/weapon/pen,/obj/item/weapon/pickaxe,/obj/item/weapon/pinpointer,
|
||||
/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/retractor,/obj/item/weapon/rsf,/obj/item/weapon/scalpel,
|
||||
/obj/item/weapon/screwdriver,/obj/item/weapon/shovel,/obj/item/weapon/soap,/obj/item/weapon/stamp,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/weldingtool,
|
||||
/obj/item/weapon/wirecutters,/obj/item/weapon/wrench,/obj/item/weapon/extinguisher)
|
||||
whitelist = list(/obj/item/device,/obj/item/card,/obj/item/cartridge,/obj/item/cautery,/obj/item/stock_parts/cell,/obj/item/circuitboard,
|
||||
/obj/item/aiModule,/obj/item/airalarm_electronics,/obj/item/airlock_electronics,/obj/item/circular_saw,
|
||||
/obj/item/crowbar,/obj/item/disk,/obj/item/firealarm_electronics,/obj/item/hand_tele,
|
||||
/obj/item/hand_labeler,/obj/item/hemostat,/obj/item/mop,/obj/item/locator,/obj/item/cultivator,
|
||||
/obj/item/stack/packageWrap,/obj/item/pen,/obj/item/pickaxe,/obj/item/pinpointer,
|
||||
/obj/item/rcd,/obj/item/rcd_ammo,/obj/item/retractor,/obj/item/rsf,/obj/item/scalpel,
|
||||
/obj/item/screwdriver,/obj/item/shovel,/obj/item/soap,/obj/item/stamp,/obj/item/storage/bag/tray,/obj/item/weldingtool,
|
||||
/obj/item/wirecutters,/obj/item/wrench,/obj/item/extinguisher)
|
||||
|
||||
/datum/cargoprofile/finished
|
||||
name = "Completed Robots"
|
||||
@@ -519,7 +519,7 @@
|
||||
name = "Paper Shredder"
|
||||
id = "shredder"
|
||||
blacklist = null
|
||||
whitelist = list(/obj/item/weapon/paper,/obj/item/weapon/book,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/photo)
|
||||
whitelist = list(/obj/item/paper,/obj/item/book,/obj/item/clipboard,/obj/item/folder,/obj/item/photo)
|
||||
universal = 1
|
||||
|
||||
dedicated_path = /obj/machinery/programmable/unary/shredder
|
||||
@@ -569,23 +569,23 @@
|
||||
|
||||
|
||||
outlet_reaction(var/atom/W,var/turf/D)
|
||||
if(istype(W,/obj/item/weapon/paper/crumpled))
|
||||
if(istype(W,/obj/item/paper/crumpled))
|
||||
qdel(W)
|
||||
return
|
||||
if(istype(W,/obj/item/weapon/clipboard) || istype(W,/obj/item/weapon/folder))
|
||||
if(istype(W,/obj/item/clipboard) || istype(W,/obj/item/folder))
|
||||
// destroy folder, various effects on contents
|
||||
for(var/obj/item/I in W.contents)
|
||||
if(prob(25))//JUNK IT
|
||||
qdel(I)
|
||||
else if(prob(50)) //We've been over this. I can't just take it apart with a crowbar.
|
||||
var/obj/item/weapon/paper/crumpled/P = new(master.loc)
|
||||
var/obj/item/paper/crumpled/P = new(master.loc)
|
||||
if(I.name)
|
||||
P.name = garbletext(I.name)
|
||||
if(prob(66))
|
||||
P.fingerprints = I.fingerprints
|
||||
P.fingerprintshidden = I.fingerprintshidden
|
||||
if(istype(I,/obj/item/weapon/paper))
|
||||
var/obj/item/weapon/paper/O = I
|
||||
if(istype(I,/obj/item/paper))
|
||||
var/obj/item/paper/O = I
|
||||
P.info = garble_keeptags(O.info)
|
||||
qdel(I)
|
||||
..(P,D)
|
||||
@@ -594,18 +594,18 @@
|
||||
qdel(W) //destroy container
|
||||
return
|
||||
if(prob(50)) //JUNK IT NOW!
|
||||
var/obj/item/weapon/paper/crumpled/P = new(master.loc)
|
||||
var/obj/item/paper/crumpled/P = new(master.loc)
|
||||
P.name = W.name
|
||||
var/obj/item/I = W
|
||||
if(prob(66))
|
||||
P.fingerprints = I.fingerprints
|
||||
P.fingerprintshidden = I.fingerprintshidden
|
||||
if(istype(I,/obj/item/weapon/paper))
|
||||
var/obj/item/weapon/paper/O = I
|
||||
if(istype(I,/obj/item/paper))
|
||||
var/obj/item/paper/O = I
|
||||
if(O.info)
|
||||
P.info = garble_keeptags(O.info)
|
||||
if(istype(I,/obj/item/weapon/book))
|
||||
var/obj/item/weapon/book/B = I
|
||||
if(istype(I,/obj/item/book))
|
||||
var/obj/item/book/B = I
|
||||
if(B.dat)
|
||||
P.info = garble_keeptags(B.dat)
|
||||
if(B.carved && B.store)
|
||||
|
||||
+136
-131
@@ -468,137 +468,142 @@ var/record_id_num = 1001
|
||||
|
||||
|
||||
var/icon/clothes_s = null
|
||||
switch(H.mind.assigned_role)
|
||||
if("Head of Personnel")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Nanotrasen Representative")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
if("Blueshield")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "swat_gl"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "blueshield"), ICON_OVERLAY)
|
||||
if("Magistrate")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "really_black_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "judge"), ICON_OVERLAY)
|
||||
if("Bartender")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Botanist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Chef")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Janitor")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Librarian")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Quartermaster")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Cargo Technician")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Shaft Miner")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Lawyer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Chaplain")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Research Director")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "director_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
if("Scientist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
||||
if("Chemist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY)
|
||||
if("Chief Medical Officer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY)
|
||||
if("Medical Doctor")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
if("Geneticist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY)
|
||||
if("Virologist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY)
|
||||
if("Psychiatrist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "psych_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_UNDERLAY)
|
||||
if("Paramedic")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "paramedic_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Captain")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Head of Security")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Warden")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Detective")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY)
|
||||
if("Security Pod Pilot")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bomber"), ICON_OVERLAY)
|
||||
if("Brig Physician")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "fr_jacket_open"), ICON_OVERLAY)
|
||||
if("Security Officer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Chief Engineer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Station Engineer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Life Support Specialist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Mechanic")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "mechanic_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Roboticist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
else if(H.mind.assigned_role in get_all_centcom_jobs())
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
else
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if(H.mind)
|
||||
switch(H.mind.assigned_role)
|
||||
if("Head of Personnel")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Nanotrasen Representative")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
if("Blueshield")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "swat_gl"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "blueshield"), ICON_OVERLAY)
|
||||
if("Magistrate")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "really_black_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "judge"), ICON_OVERLAY)
|
||||
if("Bartender")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Botanist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Chef")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Janitor")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Librarian")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Quartermaster")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Cargo Technician")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Shaft Miner")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Lawyer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Chaplain")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Research Director")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "director_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
if("Scientist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
|
||||
if("Chemist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY)
|
||||
if("Chief Medical Officer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY)
|
||||
if("Medical Doctor")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
if("Geneticist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY)
|
||||
if("Virologist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY)
|
||||
if("Psychiatrist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "psych_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_UNDERLAY)
|
||||
if("Paramedic")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "paramedic_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
if("Captain")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
if("Head of Security")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Warden")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Detective")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY)
|
||||
if("Security Pod Pilot")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bomber"), ICON_OVERLAY)
|
||||
if("Brig Physician")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "fr_jacket_open"), ICON_OVERLAY)
|
||||
if("Security Officer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
if("Chief Engineer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Station Engineer")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Life Support Specialist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Mechanic")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "mechanic_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
|
||||
if("Roboticist")
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
|
||||
else if(H.mind.assigned_role in get_all_centcom_jobs())
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
|
||||
else
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
else
|
||||
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
|
||||
|
||||
|
||||
preview_icon.Blend(face_s, ICON_OVERLAY) // Why do we do this twice
|
||||
if(clothes_s)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/datum
|
||||
var/gc_destroyed //Time when this object was destroyed.
|
||||
|
||||
var/var_edited = FALSE //Warranty void if seal is broken
|
||||
|
||||
var/tmp/unique_datum_id = null
|
||||
|
||||
#ifdef TESTING
|
||||
var/running_find_references
|
||||
var/last_find_references = 0
|
||||
#endif
|
||||
|
||||
// Default implementation of clean-up code.
|
||||
// This should be overridden to remove all references pointing to the object being destroyed.
|
||||
// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
|
||||
/datum/proc/Destroy(force = FALSE, ...)
|
||||
tag = null
|
||||
return QDEL_HINT_QUEUE
|
||||
@@ -1,8 +1,5 @@
|
||||
// reference: /client/proc/modify_variables(var/atom/O, var/param_var_name = null, var/autodetect_class = 0)
|
||||
|
||||
/datum
|
||||
var/var_edited = FALSE //Warranty void if seal is broken
|
||||
|
||||
/datum/proc/can_vv_get(var_name)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
switch(target_zone)
|
||||
if(1)
|
||||
if(isobj(H.head) && !istype(H.head, /obj/item/weapon/paper))
|
||||
if(isobj(H.head) && !istype(H.head, /obj/item/paper))
|
||||
Cl = H.head
|
||||
passed = prob((Cl.permeability_coefficient*100) - 1)
|
||||
if(passed && isobj(H.wear_mask))
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
/datum/disease/kingstons
|
||||
name = "Kingstons Syndrome"
|
||||
max_stages = 4
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Milk"
|
||||
cures = list("milk")
|
||||
cure_chance = 50
|
||||
agent = "Nya Virus"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will turn into a feline. In felines it has... OTHER... effects."
|
||||
severity = DANGEROUS
|
||||
|
||||
/datum/disease/kingstons/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='notice'>You feel good.</span>")
|
||||
else
|
||||
to_chat(affected_mob, "<span class='notice'>You feel like playing with string.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='danger'>Something in your throat itches.</span>")
|
||||
else
|
||||
to_chat(affected_mob, "<span class='danger'>You NEED to find a mouse.</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='danger'>You feel something in your throat!</span>")
|
||||
affected_mob.emote("cough")
|
||||
else
|
||||
affected_mob.say(pick(list("Mew", "Meow!", "Nya!~")))
|
||||
if(4)
|
||||
if(prob(5))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up a hairball!</span>", \
|
||||
"<span class='userdanger'>You cough up a hairball!</span>")
|
||||
affected_mob.Stun(5)
|
||||
else
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob]'s form contorts into something more feline!</span>", \
|
||||
"<span class='userdanger'>YOU TURN INTO A TAJARAN!</span>")
|
||||
var/mob/living/carbon/human/catface = affected_mob
|
||||
catface.set_species("Tajaran")
|
||||
|
||||
|
||||
/datum/disease/kingstons/advanced
|
||||
name = "Advanced Kingstons Syndrome"
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Plasma"
|
||||
cures = list("plasma")
|
||||
cure_chance = 50
|
||||
agent = "AMB45DR Bacteria"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will mutate to a different species."
|
||||
severity = BIOHAZARD
|
||||
var/list/virspecies = list("Human", "Tajaran", "Unathi", "Skrell", "Vulpkanin")//no karma races sorrys.
|
||||
var/list/virsuffix = list("pox", "rot", "flu", "cough", "-gitis", "cold", "rash", "itch", "decay")
|
||||
var/chosentype
|
||||
var/chosensuff
|
||||
|
||||
/datum/disease/kingstons/advanced/New()
|
||||
chosentype = pick(virspecies)
|
||||
chosensuff = pick(virsuffix)
|
||||
|
||||
name = "[chosentype] [chosensuff]"
|
||||
|
||||
/datum/disease/kingstons/advanced/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel awkward.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You itch.</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your skin starts to flake!</span>")
|
||||
|
||||
if(4)
|
||||
if(prob(5))
|
||||
if(affected_mob.get_species() != chosentype)
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob]'s skin splits and form contorts!</span>", \
|
||||
"<span class='userdanger'>Your body mutates into a [chosentype]!</span>")
|
||||
var/mob/living/carbon/human/twisted = affected_mob
|
||||
twisted.set_species(chosentype)
|
||||
else
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] scratches at thier skin!</span>", \
|
||||
"<span class='userdanger'>You scratch your skin to try not to itch!</span>")
|
||||
affected_mob.adjustBruteLoss(-5)
|
||||
affected_mob.adjustStaminaLoss(5)
|
||||
@@ -0,0 +1,45 @@
|
||||
/datum/disease/lycan
|
||||
name = "Lycancoughy"
|
||||
form = "Infection"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
spread_flags = CONTACT_GENERAL
|
||||
cure_text = "Ethanol"
|
||||
cures = list("ethanol")
|
||||
agent = "Excess Snuggles"
|
||||
viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey)
|
||||
desc = "If left untreated subject will regurgitate... puppies."
|
||||
severity = MEDIUM
|
||||
|
||||
/datum/disease/lycan/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(2) //also changes say, see say.dm
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You itch.</span>")
|
||||
affected_mob.emote("cough")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>You hear faint barking.</span>")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You crave meat.</span>")
|
||||
affected_mob.emote("cough")
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach growls!</span>")
|
||||
if(4)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach barks?!</span>")
|
||||
if(prob(5))
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] howls!</span>", \
|
||||
"<span class='userdanger'>You howl!</span>")
|
||||
affected_mob.AdjustConfused(rand(6, 8))
|
||||
if(prob(3))
|
||||
var/list/puppytype = list(/mob/living/simple_animal/pet/corgi/puppy, /mob/living/simple_animal/pet/pug, /mob/living/simple_animal/pet/fox)
|
||||
var/mob/living/puppypicked = pick(puppytype)
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up [initial(puppypicked.name)]!</span>", \
|
||||
"<span class='userdanger'>You cough up [initial(puppypicked.name)]?!</span>")
|
||||
affected_mob.emote("cough")
|
||||
affected_mob.adjustBruteLoss(5)
|
||||
new puppypicked(affected_mob.loc)
|
||||
new puppypicked(affected_mob.loc)
|
||||
return
|
||||
@@ -26,3 +26,38 @@
|
||||
if(4)
|
||||
if(prob(5))
|
||||
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
|
||||
|
||||
/datum/disease/pierrot_throat/advanced
|
||||
name = "Advanced Pierrot's Throat"
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Banana products, especially banana bread."
|
||||
cures = list("banana")
|
||||
cure_chance = 75
|
||||
agent = "H0NI<42.B4n4 Virus"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will probably drive others to insanity and go insane themselves."
|
||||
severity = DANGEROUS
|
||||
|
||||
/datum/disease/pierrot_throat/advanced/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel very silly.</span>")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel like making a joke.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You don't just start seeing rainbows... YOU ARE RAINBOWS!</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your thoughts are interrupted by a loud <b>HONK!</b></span>")
|
||||
affected_mob << 'sound/items/AirHorn.ogg'
|
||||
if(4)
|
||||
if(prob(5))
|
||||
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
|
||||
if(!istype(affected_mob.wear_mask, /obj/item/clothing/mask/gas/virusclown_hat))
|
||||
affected_mob.equip_to_slot(new /obj/item/clothing/mask/gas/virusclown_hat(src), slot_wear_mask)
|
||||
@@ -50,7 +50,7 @@
|
||||
affected_mob.overlays.Cut()
|
||||
affected_mob.invisibility = 101
|
||||
for(var/obj/item/W in affected_mob)
|
||||
if(istype(W, /obj/item/weapon/implant))
|
||||
if(istype(W, /obj/item/implant))
|
||||
qdel(W)
|
||||
continue
|
||||
W.layer = initial(W.layer)
|
||||
|
||||
@@ -78,9 +78,9 @@ STI KALY - blind
|
||||
else
|
||||
var/mob/living/carbon/H = affected_mob
|
||||
if(prob(chance))
|
||||
if(!istype(H.r_hand, /obj/item/weapon/twohanded/staff))
|
||||
if(!istype(H.r_hand, /obj/item/twohanded/staff))
|
||||
H.drop_r_hand()
|
||||
H.put_in_r_hand( new /obj/item/weapon/twohanded/staff(H) )
|
||||
H.put_in_r_hand( new /obj/item/twohanded/staff(H) )
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -43,22 +43,22 @@
|
||||
return 0
|
||||
|
||||
proc/custom_action(step, used_atom, user)
|
||||
if(istype(used_atom, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/W = used_atom
|
||||
if(istype(used_atom, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/W = used_atom
|
||||
if(W.remove_fuel(0, user))
|
||||
playsound(holder, W.usesound, 50, 1)
|
||||
else
|
||||
return 0
|
||||
else if(istype(used_atom, /obj/item/weapon/wrench))
|
||||
var/obj/item/weapon/wrench/W = used_atom
|
||||
else if(istype(used_atom, /obj/item/wrench))
|
||||
var/obj/item/wrench/W = used_atom
|
||||
playsound(holder, W.usesound, 50, 1)
|
||||
|
||||
else if(istype(used_atom, /obj/item/weapon/screwdriver))
|
||||
var/obj/item/weapon/screwdriver/S = used_atom
|
||||
else if(istype(used_atom, /obj/item/screwdriver))
|
||||
var/obj/item/screwdriver/S = used_atom
|
||||
playsound(holder, S.usesound, 50, 1)
|
||||
|
||||
else if(istype(used_atom, /obj/item/weapon/wirecutters))
|
||||
var/obj/item/weapon/wirecutters/W = used_atom
|
||||
else if(istype(used_atom, /obj/item/wirecutters))
|
||||
var/obj/item/wirecutters/W = used_atom
|
||||
playsound(holder, W.usesound, 50, 1)
|
||||
|
||||
else if(istype(used_atom, /obj/item/stack/cable_coil))
|
||||
@@ -117,8 +117,8 @@
|
||||
to_chat(user, "<span class='warning'>You don't have enough cable! You need at least [amount] coils.</span>")
|
||||
return 0
|
||||
// WELDER
|
||||
if(istype(used_atom,/obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/welder=used_atom
|
||||
if(istype(used_atom,/obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/welder=used_atom
|
||||
if(!welder.isOn())
|
||||
to_chat(user, "<span class='notice'>You tap the [src] with your unlit welder. [pick("Ding","Dong")].</span>")
|
||||
return 0
|
||||
|
||||
@@ -158,10 +158,10 @@
|
||||
|
||||
/datum/teleport/instant/science/setPrecision(aprecision)
|
||||
..()
|
||||
if(istype(teleatom, /obj/item/weapon/storage/backpack/holding))
|
||||
if(istype(teleatom, /obj/item/storage/backpack/holding))
|
||||
precision = rand(1,100)
|
||||
|
||||
var/list/bagholding = teleatom.search_contents_for(/obj/item/weapon/storage/backpack/holding)
|
||||
var/list/bagholding = teleatom.search_contents_for(/obj/item/storage/backpack/holding)
|
||||
if(bagholding.len)
|
||||
precision = max(rand(1,100)*bagholding.len,100)
|
||||
if(istype(teleatom, /mob/living))
|
||||
|
||||
+11
-11
@@ -89,7 +89,7 @@
|
||||
current.mind = null
|
||||
leave_all_huds() //leave all the huds in the old body, so it won't get huds if somebody else enters it
|
||||
|
||||
nanomanager.user_transferred(current, new_character)
|
||||
SSnanoui.user_transferred(current, new_character)
|
||||
|
||||
if(new_character.mind) //remove any mind currently in our new body's mind variable
|
||||
new_character.mind.current = null
|
||||
@@ -658,14 +658,14 @@
|
||||
|
||||
switch(href_list["implant"])
|
||||
if("remove")
|
||||
for(var/obj/item/weapon/implant/mindshield/I in H.contents)
|
||||
for(var/obj/item/implant/mindshield/I in H.contents)
|
||||
if(I && I.implanted)
|
||||
qdel(I)
|
||||
to_chat(H, "<span class='notice'><Font size =3><B>Your mindshield implant has been deactivated.</B></FONT></span>")
|
||||
log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant")
|
||||
message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant")
|
||||
if("add")
|
||||
var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(H)
|
||||
var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)
|
||||
L.implant(H)
|
||||
|
||||
log_admin("[key_name(usr)] has given [key_name(current)] a mindshield implant")
|
||||
@@ -805,14 +805,14 @@
|
||||
if(!(src in ticker.mode.cult))
|
||||
ticker.mode.add_cultist(src)
|
||||
special_role = SPECIAL_ROLE_CULTIST
|
||||
to_chat(current, "<span class='cultitalic'>You catch a glimpse of the Realm of [ticker.mode.cultdat.entity_name], [ticker.mode.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.mode.cultdat.entity_name].</span>")
|
||||
to_chat(current, "<span class='cultitalic'>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.mode.cultdat.entity_title2] above all else. Bring It back.</span>")
|
||||
to_chat(current, "<span class='cultitalic'>You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].</span>")
|
||||
to_chat(current, "<span class='cultitalic'>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.cultdat.entity_title2] above all else. Bring It back.</span>")
|
||||
log_admin("[key_name(usr)] has culted [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]")
|
||||
if("tome")
|
||||
var/mob/living/carbon/human/H = current
|
||||
if(istype(H))
|
||||
var/obj/item/weapon/tome/T = new(H)
|
||||
var/obj/item/tome/T = new(H)
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
@@ -1225,7 +1225,7 @@
|
||||
if(t:traitorradio) qdel(t:traitorradio)
|
||||
t:traitorradio = null
|
||||
t:traitor_frequency = 0.0
|
||||
else if(istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/weapon/syndicate_uplink))
|
||||
else if(istype(t, /obj/item/SWF_uplink) || istype(t, /obj/item/syndicate_uplink))
|
||||
if(t:origradio)
|
||||
var/obj/item/device/radio/R = t:origradio
|
||||
R.loc = current.loc
|
||||
@@ -1317,7 +1317,7 @@
|
||||
current.loc = pick(wizardstart)
|
||||
|
||||
ticker.mode.equip_wizard(current)
|
||||
for(var/obj/item/weapon/spellbook/S in current.contents)
|
||||
for(var/obj/item/spellbook/S in current.contents)
|
||||
S.op = 0
|
||||
ticker.mode.name_wizard(current)
|
||||
ticker.mode.forge_wizard_objectives(src)
|
||||
@@ -1330,20 +1330,20 @@
|
||||
ticker.mode.cult += src
|
||||
ticker.mode.update_cult_icons_added(src)
|
||||
special_role = SPECIAL_ROLE_CULTIST
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>You catch a glimpse of the Realm of [ticker.mode.cultdat.entity_name], [ticker.mode.cultdat.entity_title2]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.mode.cultdat.entity_name].</b></i></font>")
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title2]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].</b></i></font>")
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
if(GAMEMODE_IS_CULT)
|
||||
cult.memorize_cult_objectives(src)
|
||||
else
|
||||
var/explanation = "Summon [ticker.mode.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it."
|
||||
var/explanation = "Summon [ticker.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it."
|
||||
to_chat(current, "<B>Objective #1</B>: [explanation]")
|
||||
current.memory += "<B>Objective #1</B>: [explanation]<BR>"
|
||||
|
||||
|
||||
var/mob/living/carbon/human/H = current
|
||||
if(istype(H))
|
||||
var/obj/item/weapon/tome/T = new(H)
|
||||
var/obj/item/tome/T = new(H)
|
||||
|
||||
var/list/slots = list (
|
||||
"backpack" = slot_in_backpack,
|
||||
|
||||
@@ -22,8 +22,15 @@
|
||||
var/list/fields = list( )
|
||||
|
||||
/datum/data/record/Destroy()
|
||||
..()
|
||||
return QDEL_HINT_HARDDEL_NOW
|
||||
if(src in data_core.medical)
|
||||
data_core.medical -= src
|
||||
if(src in data_core.security)
|
||||
data_core.security -= src
|
||||
if(src in data_core.general)
|
||||
data_core.general -= src
|
||||
if(src in data_core.locked)
|
||||
data_core.locked -= src
|
||||
return ..()
|
||||
|
||||
/datum/data/text
|
||||
name = "text"
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
var/pda = null
|
||||
var/internals_slot = null //ID of slot containing a gas tank
|
||||
var/list/backpack_contents = list() // In the list(path=count,otherpath=count) format
|
||||
var/list/implants = null
|
||||
var/list/cybernetic_implants = null
|
||||
|
||||
|
||||
/datum/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
@@ -89,6 +91,13 @@
|
||||
var/number = backpack_contents[path]
|
||||
for(var/i = 0, i < number, i++)
|
||||
equip_item(H, path, slot_in_backpack)
|
||||
if(implants)
|
||||
for(var/path in implants)
|
||||
var/obj/item/implant/I = new path(H)
|
||||
I.implant(H)
|
||||
for(var/path in cybernetic_implants)
|
||||
var/obj/item/organ/internal/O = new path(H)
|
||||
O.insert(H)
|
||||
|
||||
post_equip(H, visualsOnly)
|
||||
|
||||
|
||||
+324
-336
File diff suppressed because it is too large
Load Diff
@@ -35,10 +35,10 @@
|
||||
|
||||
/datum/recipe
|
||||
var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice
|
||||
var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
|
||||
var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut
|
||||
var/list/items // example: =list(/obj/item/crowbar, /obj/item/welder) // place /foo/bar before /foo
|
||||
var/result //example: = /obj/item/reagent_containers/food/snacks/donut
|
||||
var/time = 100 // 1/10 part of second
|
||||
var/byproduct // example: = /obj/item/weapon/kitchen/mould // byproduct to return, such as a mould or trash
|
||||
var/byproduct // example: = /obj/item/kitchen/mould // byproduct to return, such as a mould or trash
|
||||
|
||||
/datum/recipe/proc/check_reagents(datum/reagents/avail_reagents) //1=precisely, 0=insufficiently, -1=superfluous
|
||||
. = 1
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
charged_item = M
|
||||
break
|
||||
for(var/obj/item in hand_items)
|
||||
if(istype(item, /obj/item/weapon/spellbook))
|
||||
if(istype(item, /obj/item/weapon/spellbook/oneuse))
|
||||
var/obj/item/weapon/spellbook/oneuse/I = item
|
||||
if(istype(item, /obj/item/spellbook))
|
||||
if(istype(item, /obj/item/spellbook/oneuse))
|
||||
var/obj/item/spellbook/oneuse/I = item
|
||||
if(prob(80))
|
||||
L.visible_message("<span class='warning'>[I] catches fire!</span>")
|
||||
qdel(I)
|
||||
@@ -47,21 +47,21 @@
|
||||
to_chat(L, "<span class='caution'>Glowing red letters appear on the front cover...</span>")
|
||||
to_chat(L, "<span class='warning'>[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]</span>")
|
||||
burnt_out = 1
|
||||
else if(istype(item, /obj/item/weapon/gun/magic))
|
||||
var/obj/item/weapon/gun/magic/I = item
|
||||
else if(istype(item, /obj/item/gun/magic))
|
||||
var/obj/item/gun/magic/I = item
|
||||
if(prob(80) && !I.can_charge)
|
||||
I.max_charges--
|
||||
if(I.max_charges <= 0)
|
||||
I.max_charges = 0
|
||||
burnt_out = 1
|
||||
I.charges = I.max_charges
|
||||
if(istype(item,/obj/item/weapon/gun/magic/wand) && I.max_charges != 0)
|
||||
var/obj/item/weapon/gun/magic/W = item
|
||||
if(istype(item,/obj/item/gun/magic/wand) && I.max_charges != 0)
|
||||
var/obj/item/gun/magic/W = item
|
||||
W.icon_state = initial(W.icon_state)
|
||||
charged_item = I
|
||||
break
|
||||
else if(istype(item, /obj/item/weapon/stock_parts/cell/))
|
||||
var/obj/item/weapon/stock_parts/cell/C = item
|
||||
else if(istype(item, /obj/item/stock_parts/cell/))
|
||||
var/obj/item/stock_parts/cell/C = item
|
||||
if(!C.self_recharge)
|
||||
if(prob(80))
|
||||
C.maxcharge -= 200
|
||||
@@ -74,8 +74,8 @@
|
||||
else if(item.contents)
|
||||
var/obj/I = null
|
||||
for(I in item.contents)
|
||||
if(istype(I, /obj/item/weapon/stock_parts/cell/))
|
||||
var/obj/item/weapon/stock_parts/cell/C = I
|
||||
if(istype(I, /obj/item/stock_parts/cell/))
|
||||
var/obj/item/stock_parts/cell/C = I
|
||||
if(!C.self_recharge)
|
||||
if(prob(80))
|
||||
C.maxcharge -= 200
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/touch/cluwne
|
||||
name = "Curse of the Cluwne"
|
||||
desc = "Turns the target into a fat and cursed monstrosity of a clown."
|
||||
hand_path = /obj/item/weapon/melee/touch_attack/cluwne
|
||||
hand_path = /obj/item/melee/touch_attack/cluwne
|
||||
|
||||
school = "transmutation"
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
target.setDir(holder.dir)
|
||||
sleep(jaunt_in_time)
|
||||
qdel(holder)
|
||||
if(!qdeleted(target))
|
||||
if(!QDELETED(target))
|
||||
if(mobloc.density)
|
||||
for(var/direction in alldirs)
|
||||
var/turf/T = get_step(mobloc, direction)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/touch/fake_disintegrate
|
||||
name = "Disintegrate"
|
||||
desc = "This spell charges your hand with vile energy that can be used to violently explode victims."
|
||||
hand_path = "/obj/item/weapon/melee/touch_attack/fake_disintegrate"
|
||||
hand_path = "/obj/item/melee/touch_attack/fake_disintegrate"
|
||||
|
||||
school = "evocation"
|
||||
charge_max = 600
|
||||
|
||||
@@ -18,5 +18,5 @@
|
||||
C.drop_item()
|
||||
C.swap_hand()
|
||||
C.drop_item()
|
||||
var/obj/item/weapon/gun/projectile/shotgun/boltaction/enchanted/GUN = new
|
||||
var/obj/item/gun/projectile/shotgun/boltaction/enchanted/GUN = new
|
||||
C.put_in_hands(GUN)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
config.continuous_rounds = 0
|
||||
return ..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/lichdom/cast(list/targets,mob/user = usr)
|
||||
/obj/effect/proc_holder/spell/targeted/lichdom/cast(list/targets,mob/user = usr)
|
||||
if(!config.continuous_rounds)
|
||||
existence_stops_round_end = 1
|
||||
config.continuous_rounds = 1
|
||||
@@ -49,7 +49,7 @@
|
||||
charge_counter = charge_max
|
||||
return
|
||||
|
||||
if(!marked_item || qdeleted(marked_item)) //Wait nevermind
|
||||
if(!marked_item || QDELETED(marked_item)) //Wait nevermind
|
||||
to_chat(M, "<span class='warning'>Your phylactery is gone!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/effect/proc_holder/spell/targeted/touch
|
||||
var/hand_path = /obj/item/weapon/melee/touch_attack
|
||||
var/obj/item/weapon/melee/touch_attack/attached_hand = null
|
||||
var/hand_path = /obj/item/melee/touch_attack
|
||||
var/obj/item/melee/touch_attack/attached_hand = null
|
||||
invocation_type = "none" //you scream on connecting, not summoning
|
||||
include_user = 1
|
||||
range = -1
|
||||
@@ -47,7 +47,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/touch/disintegrate
|
||||
name = "Disintegrate"
|
||||
desc = "This spell charges your hand with vile energy that can be used to violently explode victims."
|
||||
hand_path = /obj/item/weapon/melee/touch_attack/disintegrate
|
||||
hand_path = /obj/item/melee/touch_attack/disintegrate
|
||||
|
||||
school = "evocation"
|
||||
charge_max = 600
|
||||
@@ -59,7 +59,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone
|
||||
name = "Flesh to Stone"
|
||||
desc = "This spell charges your hand with the power to turn victims into inert statues for a long period of time."
|
||||
hand_path = /obj/item/weapon/melee/touch_attack/fleshtostone
|
||||
hand_path = /obj/item/melee/touch_attack/fleshtostone
|
||||
|
||||
school = "transmutation"
|
||||
charge_max = 600
|
||||
|
||||
+16
-19
@@ -5,8 +5,8 @@
|
||||
var/target
|
||||
|
||||
/obj/effect/statclick/New(ntarget, text)
|
||||
name = text
|
||||
target = ntarget
|
||||
name = text
|
||||
|
||||
/obj/effect/statclick/proc/update(text)
|
||||
name = text
|
||||
@@ -15,25 +15,22 @@
|
||||
/obj/effect/statclick/debug
|
||||
var/class
|
||||
|
||||
/obj/effect/statclick/debug/New(ntarget)
|
||||
name = "Initializing..."
|
||||
target = ntarget
|
||||
if(istype(target, /datum/controller/process))
|
||||
class = "process"
|
||||
else if(istype(target, /datum/controller/processScheduler))
|
||||
class = "scheduler"
|
||||
else if(istype(target, /datum/controller))
|
||||
class = "controller"
|
||||
else if(istype(target, /datum))
|
||||
class = "datum"
|
||||
else
|
||||
class = "unknown"
|
||||
|
||||
// This bit is called when clicked in the stat panel
|
||||
/obj/effect/statclick/debug/Click()
|
||||
if(!is_admin(usr))
|
||||
if(!is_admin(usr) || !target)
|
||||
return
|
||||
if(!class)
|
||||
if(istype(target, /datum/controller/process))
|
||||
class = "process"
|
||||
else if(istype(target, /datum/controller/processScheduler))
|
||||
class = "scheduler"
|
||||
if(istype(target, /datum/controller/subsystem))
|
||||
class = "subsystem"
|
||||
else if(istype(target, /datum/controller))
|
||||
class = "controller"
|
||||
else if(istype(target, /datum))
|
||||
class = "datum"
|
||||
else
|
||||
class = "unknown"
|
||||
|
||||
usr.client.debug_variables(target)
|
||||
|
||||
message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
|
||||
message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
|
||||
+350
-341
File diff suppressed because it is too large
Load Diff
+95
-88
@@ -99,7 +99,7 @@ var/list/uplink_items = list()
|
||||
var/mob/living/carbon/human/A = user
|
||||
A.put_in_any_hand_if_possible(I)
|
||||
|
||||
if(istype(I,/obj/item/weapon/storage/box/) && I.contents.len>0)
|
||||
if(istype(I,/obj/item/storage/box/) && I.contents.len>0)
|
||||
for(var/atom/o in I)
|
||||
U.purchase_log += "<BIG>[bicon(o)]</BIG>"
|
||||
else
|
||||
@@ -124,7 +124,7 @@ var/list/uplink_items = list()
|
||||
name = "Banana Grenade"
|
||||
desc = "A grenade that explodes into HONK! brand banana peels that are genetically modified to be extra slippery and extrude caustic acid when stepped on"
|
||||
reference = "BG"
|
||||
item = /obj/item/weapon/grenade/clown_grenade
|
||||
item = /obj/item/grenade/clown_grenade
|
||||
cost = 5
|
||||
job = list("Clown")
|
||||
|
||||
@@ -133,7 +133,7 @@ var/list/uplink_items = list()
|
||||
name = "Cane Shotgun + Assassination Darts"
|
||||
desc = "A specialized, one shell shotgun with a built-in cloaking device to mimic a cane. The shotgun is capable of hiding it's contents and the pin alongside being supressed. Comes with 6 special darts and a preloaded shrapnel round."
|
||||
reference = "MCS"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/caneshotgun
|
||||
item = /obj/item/storage/box/syndie_kit/caneshotgun
|
||||
cost = 10
|
||||
job = list("Mime")
|
||||
|
||||
@@ -142,7 +142,7 @@ var/list/uplink_items = list()
|
||||
name = "Chef Excellence's Special Sauce"
|
||||
desc = "A custom made sauce made from the toxin glands of 1000 space carp, if somebody ingests enough they'll be dead in 3 minutes or less guaranteed."
|
||||
reference = "CESS"
|
||||
item = /obj/item/weapon/reagent_containers/food/condiment/syndisauce
|
||||
item = /obj/item/reagent_containers/food/condiment/syndisauce
|
||||
cost = 2
|
||||
job = list("Chef")
|
||||
|
||||
@@ -150,7 +150,7 @@ var/list/uplink_items = list()
|
||||
name = "Meat Cleaver"
|
||||
desc = "A mean looking meat cleaver that does damage comparable to an Energy Sword but with the added benefit of chopping your victim into hunks of meat after they've died and the chance to stun when thrown."
|
||||
reference = "MC"
|
||||
item = /obj/item/weapon/kitchen/knife/butcher/meatcleaver
|
||||
item = /obj/item/kitchen/knife/butcher/meatcleaver
|
||||
cost = 10
|
||||
job = list("Chef")
|
||||
|
||||
@@ -158,7 +158,7 @@ var/list/uplink_items = list()
|
||||
name = "Syndicate Donk Pockets"
|
||||
desc = "A box of highly specialized Donk pockets with a number of regenerative and stimulating chemicals inside of them; the box comes equipped with a self-heating mechanism."
|
||||
reference = "SDP"
|
||||
item = /obj/item/weapon/storage/box/syndidonkpockets
|
||||
item = /obj/item/storage/box/syndidonkpockets
|
||||
cost = 2
|
||||
job = list("Chef")
|
||||
|
||||
@@ -176,7 +176,7 @@ var/list/uplink_items = list()
|
||||
name = "Missionary Starter Kit"
|
||||
desc = "A box containing a missionary staff, missionary robes, and bible. The robes and staff can be linked to allow you to convert victims at range for a short time to do your bidding. The bible is for bible stuff."
|
||||
reference = "MK"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/missionary_set
|
||||
item = /obj/item/storage/box/syndie_kit/missionary_set
|
||||
cost = 15
|
||||
job = list("Chaplain")
|
||||
|
||||
@@ -184,7 +184,7 @@ var/list/uplink_items = list()
|
||||
name = "Artistic Toolbox"
|
||||
desc = "An accursed toolbox that grants its followers extreme power at the cost of requiring repeated sacrifices to it. If sacrifices are not provided, it will turn on its follower."
|
||||
reference = "HGAT"
|
||||
item = /obj/item/weapon/storage/toolbox/green/memetic
|
||||
item = /obj/item/storage/toolbox/green/memetic
|
||||
cost = 20
|
||||
job = list("Chaplain")
|
||||
surplus = 0 //No lucky chances from the crate; if you get this, this is ALL you're getting
|
||||
@@ -196,7 +196,7 @@ var/list/uplink_items = list()
|
||||
name = "Proximity Mine"
|
||||
desc = "An Anti-Personnel proximity mine cleverly disguised as a wet floor caution sign that is triggered by running past it, activate it to start the 15 second timer and activate again to disarm."
|
||||
reference = "PM"
|
||||
item = /obj/item/weapon/caution/proximity_sign
|
||||
item = /obj/item/caution/proximity_sign
|
||||
cost = 4
|
||||
job = list("Janitor")
|
||||
surplus = 0
|
||||
@@ -214,7 +214,7 @@ var/list/uplink_items = list()
|
||||
/datum/uplink_item/dangerous/cat_grenade
|
||||
name = "Feral Cat Delivery Grenade"
|
||||
desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
|
||||
item = /obj/item/weapon/grenade/spawnergrenade/feral_cats
|
||||
item = /obj/item/grenade/spawnergrenade/feral_cats
|
||||
reference = "CCLG"
|
||||
cost = 4
|
||||
job = list("Psychiatrist")//why? Becuase its funny that a person in charge of your mental wellbeing has a cat granade..
|
||||
@@ -235,7 +235,7 @@ var/list/uplink_items = list()
|
||||
name = "Boozey Shotgun Shells"
|
||||
desc = "A box containing 6 shotgun shells that simulate the effects of extreme drunkenness on the target, more effective for each type of alcohol in the target's system."
|
||||
reference = "BSS"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/boolets
|
||||
item = /obj/item/storage/box/syndie_kit/boolets
|
||||
cost = 3
|
||||
job = list("Bartender")
|
||||
|
||||
@@ -245,7 +245,7 @@ var/list/uplink_items = list()
|
||||
name = "Safety Scissors"
|
||||
desc = "A pair of scissors that are anything but what their name implies; can easily cut right into someone's throat."
|
||||
reference = "CTS"
|
||||
item = /obj/item/weapon/scissors/safety
|
||||
item = /obj/item/scissors/safety
|
||||
cost = 5
|
||||
job = list("Barber")
|
||||
|
||||
@@ -255,7 +255,7 @@ var/list/uplink_items = list()
|
||||
name = "Briefcase Full of Bees"
|
||||
desc = "A seemingly innocent briefcase full of not-so-innocent Syndicate-bred bees. Inject the case with blood to train the bees to ignore the donor(s). It also wirelessly taps into station intercomms to broadcast a message of TERROR."
|
||||
reference = "BEE"
|
||||
item = /obj/item/weapon/bee_briefcase
|
||||
item = /obj/item/bee_briefcase
|
||||
cost = 10
|
||||
job = list("Botanist")
|
||||
|
||||
@@ -275,7 +275,7 @@ var/list/uplink_items = list()
|
||||
name = "Telegun"
|
||||
desc = "An extremely high-tech energy gun that utilizes bluespace technology to teleport away living targets. Select the target beacon on the telegun itself; projectiles will send targets to the beacon locked onto."
|
||||
reference = "TG"
|
||||
item = /obj/item/weapon/gun/energy/telegun
|
||||
item = /obj/item/gun/energy/telegun
|
||||
cost = 12
|
||||
job = list("Research Director")
|
||||
|
||||
@@ -284,7 +284,7 @@ var/list/uplink_items = list()
|
||||
name = "The E20"
|
||||
desc = "A seemingly innocent die, those who are not afraid to roll for attack will find it's effects quite explosive. Has a four second timer."
|
||||
reference = "ETW"
|
||||
item = /obj/item/weapon/dice/d20/e20
|
||||
item = /obj/item/dice/d20/e20
|
||||
cost = 3
|
||||
job = list("Librarian")
|
||||
|
||||
@@ -310,7 +310,7 @@ var/list/uplink_items = list()
|
||||
name = "Energized Fire Axe"
|
||||
desc = "A fire axe with a massive electrical charge built into it. It can release this charge on its first victim and will be rather plain after that."
|
||||
reference = "EFA"
|
||||
item = /obj/item/weapon/twohanded/energizedfireaxe
|
||||
item = /obj/item/twohanded/energizedfireaxe
|
||||
cost = 10
|
||||
job = list("Life Support Specialist")
|
||||
|
||||
@@ -320,7 +320,7 @@ var/list/uplink_items = list()
|
||||
name = "Stimulants"
|
||||
desc = "A highly illegal compound contained within a compact auto-injector; when injected it makes the user extremely resistant to incapacitation and greatly enhances the body's ability to repair itself."
|
||||
reference = "ST"
|
||||
item = /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants
|
||||
item = /obj/item/reagent_containers/hypospray/autoinjector/stimulants
|
||||
cost = 7
|
||||
job = list("Scientist", "Research Director", "Geneticist", "Chief Medical Officer", "Medical Doctor", "Psychiatrist", "Chemist", "Paramedic", "Coroner", "Virologist")
|
||||
|
||||
@@ -330,7 +330,7 @@ var/list/uplink_items = list()
|
||||
name = "Poison Bottle"
|
||||
desc = "The Syndicate will ship a bottle containing 40 units of a randomly selected poison. The poison can range from highly irritating to incredibly lethal."
|
||||
reference = "TPB"
|
||||
item = /obj/item/weapon/reagent_containers/glass/bottle/traitor
|
||||
item = /obj/item/reagent_containers/glass/bottle/traitor
|
||||
cost = 2
|
||||
job = list("Research Director", "Chief Medical Officer", "Medical Doctor", "Psychiatrist", "Chemist", "Paramedic", "Virologist", "Bartender", "Chef")
|
||||
|
||||
@@ -340,7 +340,7 @@ var/list/uplink_items = list()
|
||||
name = "Poison Pen"
|
||||
desc = "Cutting edge of deadly writing implements technology, this gadget will infuse any piece of paper with delayed contact poison."
|
||||
reference = "PP"
|
||||
item = /obj/item/weapon/pen/poison
|
||||
item = /obj/item/pen/poison
|
||||
cost = 2
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
job = list("Head of Personnel", "Quartermaster", "Cargo Technician")
|
||||
@@ -356,14 +356,14 @@ var/list/uplink_items = list()
|
||||
name = "FK-69 Pistol"
|
||||
reference = "SPI"
|
||||
desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible with suppressors."
|
||||
item = /obj/item/weapon/gun/projectile/automatic/pistol
|
||||
item = /obj/item/gun/projectile/automatic/pistol
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/dangerous/revolver
|
||||
name = "Syndicate .357 Revolver"
|
||||
reference = "SR"
|
||||
desc = "A brutally simple syndicate revolver that fires .357 Magnum cartridges and has 7 chambers."
|
||||
item = /obj/item/weapon/gun/projectile/revolver
|
||||
item = /obj/item/gun/projectile/revolver
|
||||
cost = 13
|
||||
surplus = 50
|
||||
|
||||
@@ -371,7 +371,7 @@ var/list/uplink_items = list()
|
||||
name = "C-20r Submachine Gun"
|
||||
reference = "SMG"
|
||||
desc = "A fully-loaded Scarborough Arms bullpup submachine gun that fires .45 rounds with a 20-round magazine and is compatible with suppressors."
|
||||
item = /obj/item/weapon/gun/projectile/automatic/c20r
|
||||
item = /obj/item/gun/projectile/automatic/c20r
|
||||
cost = 14
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 40
|
||||
@@ -380,7 +380,7 @@ var/list/uplink_items = list()
|
||||
name = "M-90gl Carbine"
|
||||
desc = "A fully-loaded three-round burst carbine that uses 30-round 5.56mm magazines with a togglable underslung 40mm grenade launcher."
|
||||
reference = "AR"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/m90
|
||||
item = /obj/item/gun/projectile/automatic/m90
|
||||
cost = 18
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 50
|
||||
@@ -389,7 +389,7 @@ var/list/uplink_items = list()
|
||||
name = "L6 Squad Automatic Weapon"
|
||||
desc = "A fully-loaded Aussec Armory belt-fed machine gun. This deadly weapon has a massive 50-round magazine of devastating 7.62x51mm ammunition."
|
||||
reference = "LMG"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/l6_saw
|
||||
item = /obj/item/gun/projectile/automatic/l6_saw
|
||||
cost = 40
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 0
|
||||
@@ -398,7 +398,7 @@ var/list/uplink_items = list()
|
||||
name = "Sniper Rifle"
|
||||
desc = "Ranged fury, Syndicate style. guaranteed to cause shock and awe or your TC back!"
|
||||
reference = "SSR"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/sniper_rifle/syndicate
|
||||
item = /obj/item/gun/projectile/automatic/sniper_rifle/syndicate
|
||||
cost = 16
|
||||
surplus = 25
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
@@ -407,7 +407,7 @@ var/list/uplink_items = list()
|
||||
name = "Energy Crossbow"
|
||||
desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically."
|
||||
reference = "EC"
|
||||
item = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
|
||||
item = /obj/item/gun/energy/kinetic_accelerator/crossbow
|
||||
cost = 12
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
surplus = 50
|
||||
@@ -416,7 +416,7 @@ var/list/uplink_items = list()
|
||||
name = "Flamethrower"
|
||||
desc = "A flamethrower, fuelled by a portion of highly flammable bio-toxins stolen previously from Nanotrasen stations. Make a statement by roasting the filth in their own greed. Use with caution."
|
||||
reference = "FT"
|
||||
item = /obj/item/weapon/flamethrower/full/tank
|
||||
item = /obj/item/flamethrower/full/tank
|
||||
cost = 8
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 40
|
||||
@@ -425,7 +425,7 @@ var/list/uplink_items = list()
|
||||
name = "Energy Sword"
|
||||
desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be pocketed when inactive. Activating it produces a loud, distinctive noise."
|
||||
reference = "ES"
|
||||
item = /obj/item/weapon/melee/energy/sword/saber
|
||||
item = /obj/item/melee/energy/sword/saber
|
||||
cost = 8
|
||||
|
||||
/datum/uplink_item/dangerous/powerfist
|
||||
@@ -435,14 +435,14 @@ var/list/uplink_items = list()
|
||||
Using a wrench on the piston valve will allow you to tweak the amount of gas used per punch to \
|
||||
deal extra damage and hit targets further. Use a screwdriver to take out any attached tanks."
|
||||
reference = "PF"
|
||||
item = /obj/item/weapon/melee/powerfist
|
||||
item = /obj/item/melee/powerfist
|
||||
cost = 8
|
||||
|
||||
/datum/uplink_item/dangerous/chainsaw
|
||||
name = "Chainsaw"
|
||||
desc = "A high powered chainsaw for cutting up ...you know...."
|
||||
reference = "CH"
|
||||
item = /obj/item/weapon/twohanded/chainsaw
|
||||
item = /obj/item/twohanded/chainsaw
|
||||
cost = 13
|
||||
|
||||
/datum/uplink_item/dangerous/batterer
|
||||
@@ -456,7 +456,7 @@ var/list/uplink_items = list()
|
||||
name = "Viscerator Delivery Grenade"
|
||||
desc = "A unique grenade that deploys a swarm of viscerators upon activation, which will chase down and shred any non-operatives in the area."
|
||||
reference = "VDG"
|
||||
item = /obj/item/weapon/grenade/spawnergrenade/manhacks
|
||||
item = /obj/item/grenade/spawnergrenade/manhacks
|
||||
cost = 6
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 35
|
||||
@@ -465,7 +465,7 @@ var/list/uplink_items = list()
|
||||
name = "Box of Bioterror Syringes"
|
||||
desc = "A box full of preloaded syringes, containing various chemicals that seize up the victim's motor and broca system , making it impossible for them to move or speak while in their system."
|
||||
reference = "BTS"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/bioterror
|
||||
item = /obj/item/storage/box/syndie_kit/bioterror
|
||||
cost = 5
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -473,7 +473,7 @@ var/list/uplink_items = list()
|
||||
name = "Sarin Gas Grenades"
|
||||
desc = "A box of four (4) grenades filled with Sarin, a deadly neurotoxin. Use extreme caution when handling and be sure to vacate the premise after using; ensure communication is maintained with team to avoid accidental gassings."
|
||||
reference = "TGG"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/sarin
|
||||
item = /obj/item/storage/box/syndie_kit/sarin
|
||||
cost = 12
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 0
|
||||
@@ -482,7 +482,7 @@ var/list/uplink_items = list()
|
||||
name = "Atmos Grenades"
|
||||
desc = "A box of two (2) grenades that wreak havoc with the atmosphere of the target area. Capable of engulfing a large area in lit plasma, or N2O. Deploy with extreme caution!"
|
||||
reference = "AGG"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/atmosgasgrenades
|
||||
item = /obj/item/storage/box/syndie_kit/atmosgasgrenades
|
||||
cost = 11
|
||||
|
||||
/datum/uplink_item/dangerous/emp
|
||||
@@ -490,14 +490,14 @@ var/list/uplink_items = list()
|
||||
desc = "A box that contains two EMP grenades and an EMP implant. Useful to disrupt communication, \
|
||||
security's energy weapons, and silicon lifeforms when you're in a tight spot."
|
||||
reference = "EMPK"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/emp
|
||||
item = /obj/item/storage/box/syndie_kit/emp
|
||||
cost = 2
|
||||
|
||||
/datum/uplink_item/dangerous/syndicate_minibomb
|
||||
name = "Syndicate Minibomb"
|
||||
desc = "The minibomb is a grenade with a five-second fuse."
|
||||
reference = "SMB"
|
||||
item = /obj/item/weapon/grenade/syndieminibomb
|
||||
item = /obj/item/grenade/syndieminibomb
|
||||
cost = 6
|
||||
|
||||
/datum/uplink_item/dangerous/gygax
|
||||
@@ -523,7 +523,7 @@ var/list/uplink_items = list()
|
||||
name = "Syndicate Cyborg"
|
||||
desc = "A cyborg designed and programmed for systematic extermination of non-Syndicate personnel."
|
||||
reference = "SC"
|
||||
item = /obj/item/weapon/antag_spawner/borg_tele
|
||||
item = /obj/item/antag_spawner/borg_tele
|
||||
cost = 50
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 0
|
||||
@@ -532,7 +532,7 @@ var/list/uplink_items = list()
|
||||
name = "Toy Submachine Gun"
|
||||
desc = "A fully-loaded Donksoft bullpup submachine gun that fires riot grade rounds with a 20-round magazine."
|
||||
reference = "FSMG"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/c20r/toy
|
||||
item = /obj/item/gun/projectile/automatic/c20r/toy
|
||||
cost = 5
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 0
|
||||
@@ -541,7 +541,7 @@ var/list/uplink_items = list()
|
||||
name = "Toy Machine Gun"
|
||||
desc = "A fully-loaded Donksoft belt-fed machine gun. This weapon has a massive 50-round magazine of devastating riot grade darts, that can briefly incapacitate someone in just one volley."
|
||||
reference = "FLMG"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/l6_saw/toy
|
||||
item = /obj/item/gun/projectile/automatic/l6_saw/toy
|
||||
cost = 10
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
surplus = 0
|
||||
@@ -558,14 +558,14 @@ var/list/uplink_items = list()
|
||||
|
||||
//for refunding the syndieborg teleporter
|
||||
/datum/uplink_item/dangerous/syndieborg/spawn_item()
|
||||
var/obj/item/weapon/antag_spawner/borg_tele/T = ..()
|
||||
var/obj/item/antag_spawner/borg_tele/T = ..()
|
||||
if(istype(T))
|
||||
T.TC_cost = cost
|
||||
|
||||
/datum/uplink_item/dangerous/guardian
|
||||
name = "Holoparasites"
|
||||
desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an organic host as a home base and source of fuel."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/guardian
|
||||
item = /obj/item/storage/box/syndie_kit/guardian
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
cost = 12
|
||||
|
||||
@@ -622,7 +622,7 @@ var/list/uplink_items = list()
|
||||
name = "Ammo Duffelbag - Shotgun Ammo Grab Bag"
|
||||
desc = "A duffelbag filled with Bulldog ammo to kit out an entire team, at a discounted price."
|
||||
reference = "SAGL"
|
||||
item = /obj/item/weapon/storage/backpack/duffel/syndie/ammo/loaded
|
||||
item = /obj/item/storage/backpack/duffel/syndie/ammo/loaded
|
||||
cost = 10 //bulk buyer's discount. Very useful if you're buying a mech and dont have TC left to buy people non-shotgun guns
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -725,7 +725,7 @@ var/list/uplink_items = list()
|
||||
desc = "A length of fiber wire between two wooden handles, perfect for the discrete assassin. This weapon, when used on a target from behind \
|
||||
will instantly put them in your grasp and silence them, as well as causing rapid suffocation. Does not work on those who do not need to breathe."
|
||||
reference = "GAR"
|
||||
item = /obj/item/weapon/twohanded/garrote
|
||||
item = /obj/item/twohanded/garrote
|
||||
cost = 10
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/martialarts
|
||||
@@ -733,7 +733,7 @@ var/list/uplink_items = list()
|
||||
desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \
|
||||
deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry."
|
||||
reference = "SCS"
|
||||
item = /obj/item/weapon/sleeping_carp_scroll
|
||||
item = /obj/item/sleeping_carp_scroll
|
||||
cost = 17
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -742,21 +742,21 @@ var/list/uplink_items = list()
|
||||
desc = "A box of shurikens and reinforced bolas from ancient Earth martial arts. They are highly effective \
|
||||
throwing weapons. The bolas can knock a target down and the shurikens will embed into limbs."
|
||||
reference = "STK"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/throwing_weapons
|
||||
item = /obj/item/storage/box/syndie_kit/throwing_weapons
|
||||
cost = 3
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/edagger
|
||||
name = "Energy Dagger"
|
||||
desc = "A dagger made of energy that looks and functions as a pen when off."
|
||||
reference = "EDP"
|
||||
item = /obj/item/weapon/pen/edagger
|
||||
item = /obj/item/pen/edagger
|
||||
cost = 2
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/sleepy_pen
|
||||
name = "Sleepy Pen"
|
||||
desc = "A syringe disguised as a functional pen. It's filled with a potent anaesthetic. \ The pen holds two doses of the mixture. The pen can be refilled."
|
||||
reference = "SP"
|
||||
item = /obj/item/weapon/pen/sleepy
|
||||
item = /obj/item/pen/sleepy
|
||||
cost = 8
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -764,7 +764,7 @@ var/list/uplink_items = list()
|
||||
name = "Toy Gun (with Stun Darts)"
|
||||
desc = "An innocent looking toy pistol designed to fire foam darts. Comes loaded with riot grade darts, to incapacitate a target."
|
||||
reference = "FSPI"
|
||||
item = /obj/item/weapon/gun/projectile/automatic/toy/pistol/riot
|
||||
item = /obj/item/gun/projectile/automatic/toy/pistol/riot
|
||||
cost = 3
|
||||
surplus = 10
|
||||
|
||||
@@ -772,7 +772,7 @@ var/list/uplink_items = list()
|
||||
name = "Syndicate Soap"
|
||||
desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. You can also drop it underfoot to slip people."
|
||||
reference = "SOAP"
|
||||
item = /obj/item/weapon/soap/syndie
|
||||
item = /obj/item/soap/syndie
|
||||
cost = 1
|
||||
surplus = 50
|
||||
|
||||
@@ -780,7 +780,7 @@ var/list/uplink_items = list()
|
||||
name = "Dart Pistol"
|
||||
desc = "A miniaturized version of a normal syringe gun. It is very quiet when fired and can fit into any space a small item can."
|
||||
reference = "DART"
|
||||
item = /obj/item/weapon/gun/syringe/syndicate
|
||||
item = /obj/item/gun/syringe/syndicate
|
||||
cost = 4
|
||||
surplus = 50
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
@@ -789,7 +789,7 @@ var/list/uplink_items = list()
|
||||
name = "Rapid Syringe Gun"
|
||||
desc = "A rapid syringe gun able to hold six shot and fire them rapidly. Great together with the bioterror syringe"
|
||||
reference = "RSG"
|
||||
item = /obj/item/weapon/gun/syringe/rapidsyringe
|
||||
item = /obj/item/gun/syringe/rapidsyringe
|
||||
cost = 4
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -797,14 +797,14 @@ var/list/uplink_items = list()
|
||||
name = "Detomatix PDA Cartridge"
|
||||
desc = "When inserted into a personal digital assistant, this cartridge gives you five opportunities to detonate PDAs of crewmembers who have their message feature enabled. The concussive effect from the explosion will knock the recipient out for a short period, and deafen them for longer. It has a chance to detonate your PDA."
|
||||
reference = "DEPC"
|
||||
item = /obj/item/weapon/cartridge/syndicate
|
||||
item = /obj/item/cartridge/syndicate
|
||||
cost = 6
|
||||
|
||||
/datum/uplink_item/stealthy_weapons/silencer
|
||||
name = "Universal Suppressor"
|
||||
desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the shots of the weapon for increased stealth and superior ambushing capability."
|
||||
reference = "US"
|
||||
item = /obj/item/weapon/suppressor
|
||||
item = /obj/item/suppressor
|
||||
cost = 1
|
||||
surplus = 10
|
||||
|
||||
@@ -854,7 +854,7 @@ var/list/uplink_items = list()
|
||||
desc = "A stamp that can be activated to imitate an official Nanotrasen Stamp. The disguised stamp will work exactly like the real stamp and will allow you to forge false documents to gain access or equipment; \
|
||||
it can also be used in a washing machine to forge clothing."
|
||||
reference = "CHST"
|
||||
item = /obj/item/weapon/stamp/chameleon
|
||||
item = /obj/item/stamp/chameleon
|
||||
cost = 1
|
||||
surplus = 35
|
||||
|
||||
@@ -878,7 +878,7 @@ var/list/uplink_items = list()
|
||||
name = "Agent ID Card"
|
||||
desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access from other identification cards. The access is cumulative, so scanning one card does not erase the access gained from another."
|
||||
reference = "AIDC"
|
||||
item = /obj/item/weapon/card/id/syndicate
|
||||
item = /obj/item/card/id/syndicate
|
||||
cost = 2
|
||||
|
||||
/datum/uplink_item/stealthy_tools/voice_changer
|
||||
@@ -907,14 +907,14 @@ var/list/uplink_items = list()
|
||||
name = "DNA Scrambler"
|
||||
desc = "A syringe with one injection that randomizes appearance and name upon use. A cheaper but less versatile alternative to an agent card and voice changer."
|
||||
reference = "DNAS"
|
||||
item = /obj/item/weapon/dnascrambler
|
||||
item = /obj/item/dnascrambler
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/stealthy_tools/smugglersatchel
|
||||
name = "Smuggler's Satchel"
|
||||
desc = "This satchel is thin enough to be hidden in the gap between plating and tiling, great for stashing your stolen goods. Comes with a crowbar and a floor tile inside."
|
||||
reference = "SMSA"
|
||||
item = /obj/item/weapon/storage/backpack/satchel_flat
|
||||
item = /obj/item/storage/backpack/satchel_flat
|
||||
cost = 2
|
||||
surplus = 30
|
||||
|
||||
@@ -932,7 +932,7 @@ var/list/uplink_items = list()
|
||||
desc = "These cardboard cutouts are coated with a thin material that prevents discoloration and makes the images on them appear more lifelike. This pack contains three as well as a \
|
||||
spraycan for changing their appearances."
|
||||
reference = "ADCC"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/cutouts
|
||||
item = /obj/item/storage/box/syndie_kit/cutouts
|
||||
cost = 1
|
||||
surplus = 20
|
||||
|
||||
@@ -946,28 +946,35 @@ var/list/uplink_items = list()
|
||||
name = "Cryptographic Sequencer"
|
||||
desc = "The cryptographic sequencer, also known as an emag, is a small card that unlocks hidden functions in electronic devices, subverts intended functions and characteristically breaks security mechanisms."
|
||||
reference = "EMAG"
|
||||
item = /obj/item/weapon/card/emag
|
||||
item = /obj/item/card/emag
|
||||
cost = 6
|
||||
|
||||
/datum/uplink_item/device_tools/toolbox
|
||||
name = "Fully Loaded Toolbox"
|
||||
desc = "The syndicate toolbox is a suspicious black and red. Aside from tools, it comes with insulated gloves and a multitool."
|
||||
reference = "FLTB"
|
||||
item = /obj/item/weapon/storage/toolbox/syndicate
|
||||
item = /obj/item/storage/toolbox/syndicate
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/device_tools/surgerybag
|
||||
name = "Syndicate Surgery Duffelbag"
|
||||
desc = "The Syndicate surgery duffelbag is a toolkit containing all surgery tools, a straitjacket, and a muzzle."
|
||||
reference = "SSDB"
|
||||
item = /obj/item/weapon/storage/backpack/duffel/syndie/surgery
|
||||
item = /obj/item/storage/backpack/duffel/syndie/surgery
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/device_tools/bonerepair
|
||||
name = "Prototype Bone Repair Kit"
|
||||
desc = "Stolen prototype bone repair nanites. Contains one nanocalcium autoinjector and guide."
|
||||
reference = "NCAI"
|
||||
item = /obj/item/storage/box/syndie_kit/bonerepair
|
||||
cost = 6
|
||||
|
||||
/datum/uplink_item/device_tools/military_belt
|
||||
name = "Military Belt"
|
||||
desc = "A robust seven-slot red belt made for carrying a broad variety of weapons, ammunition and explosives"
|
||||
reference = "SBM"
|
||||
item = /obj/item/weapon/storage/belt/military
|
||||
item = /obj/item/storage/belt/military
|
||||
cost = 3
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -976,7 +983,7 @@ var/list/uplink_items = list()
|
||||
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."
|
||||
reference = "SCMK"
|
||||
item = /obj/item/weapon/storage/firstaid/tactical
|
||||
item = /obj/item/storage/firstaid/tactical
|
||||
cost = 7
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -991,7 +998,7 @@ var/list/uplink_items = list()
|
||||
fits inside bags, and has a weapon slot. Nanotrasen crewmembers are trained to report red space suit \
|
||||
sightings, however."
|
||||
reference = "SS"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/space
|
||||
item = /obj/item/storage/box/syndie_kit/space
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/suits/hardsuit
|
||||
@@ -1003,14 +1010,14 @@ var/list/uplink_items = list()
|
||||
Additionally the suit is collapsible, making it small enough to fit within a backpack. \
|
||||
Nanotrasen crew who spot these suits are known to panic."
|
||||
reference = "BRHS"
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/hardsuit
|
||||
item = /obj/item/storage/box/syndie_kit/hardsuit
|
||||
cost = 8
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/suits/hardsuit/elite
|
||||
name = "Elite Syndicate Hardsuit"
|
||||
desc = "An advanced hardsuit with superior armor and mobility to the standard Syndicate Hardsuit."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/elite_hardsuit
|
||||
item = /obj/item/storage/box/syndie_kit/elite_hardsuit
|
||||
cost = 8
|
||||
reference = "ESHS"
|
||||
excludefrom = list()
|
||||
@@ -1019,7 +1026,7 @@ var/list/uplink_items = list()
|
||||
/datum/uplink_item/suits/hardsuit/shielded
|
||||
name = "Shielded Hardsuit"
|
||||
desc = "An advanced hardsuit with built in energy shielding. The shields will rapidly recharge when not under fire."
|
||||
item = /obj/item/weapon/storage/box/syndie_kit/shielded_hardsuit
|
||||
item = /obj/item/storage/box/syndie_kit/shielded_hardsuit
|
||||
cost = 30
|
||||
reference = "SHS"
|
||||
excludefrom = list()
|
||||
@@ -1053,7 +1060,7 @@ var/list/uplink_items = list()
|
||||
name = "Hacked AI Upload Module"
|
||||
desc = "When used with an upload console, this module allows you to upload priority laws to an artificial intelligence. Be careful with their wording, as artificial intelligences may look for loopholes to exploit."
|
||||
reference = "HAI"
|
||||
item = /obj/item/weapon/aiModule/syndicate
|
||||
item = /obj/item/aiModule/syndicate
|
||||
cost = 12
|
||||
|
||||
/datum/uplink_item/device_tools/magboots
|
||||
@@ -1078,14 +1085,14 @@ var/list/uplink_items = list()
|
||||
name = "Composition C-4"
|
||||
desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect an assembly to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds."
|
||||
reference = "C4"
|
||||
item = /obj/item/weapon/grenade/plastic/c4
|
||||
item = /obj/item/grenade/plastic/c4
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/device_tools/breaching_charge
|
||||
name = "Composition X-4"
|
||||
desc = "X-4 is a shaped charge designed to be safe to the user while causing maximum damage to the occupants of the room beach breached. It has a modifiable timer with a minimum setting of 10 seconds."
|
||||
reference = "X4"
|
||||
item = /obj/item/weapon/grenade/plastic/x4
|
||||
item = /obj/item/grenade/plastic/x4
|
||||
cost = 2
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -1128,7 +1135,7 @@ var/list/uplink_items = list()
|
||||
name = "Advanced Pinpointer"
|
||||
desc = "A pinpointer that tracks any specified coordinates, DNA string, high value item or the nuclear authentication disk."
|
||||
reference = "ADVP"
|
||||
item = /obj/item/weapon/pinpointer/advpinpointer
|
||||
item = /obj/item/pinpointer/advpinpointer
|
||||
cost = 4
|
||||
|
||||
/datum/uplink_item/device_tools/ai_detector
|
||||
@@ -1156,7 +1163,7 @@ var/list/uplink_items = list()
|
||||
/datum/uplink_item/device_tools/teleporter
|
||||
name = "Teleporter Circuit Board"
|
||||
desc = "A printed circuit board that completes the teleporter onboard the mothership. Advise you test fire the teleporter before entering it, as malfunctions can occur."
|
||||
item = /obj/item/weapon/circuitboard/teleporter
|
||||
item = /obj/item/circuitboard/teleporter
|
||||
reference = "TP"
|
||||
cost = 20
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
@@ -1174,7 +1181,7 @@ var/list/uplink_items = list()
|
||||
/datum/uplink_item/device_tools/shield
|
||||
name = "Energy Shield"
|
||||
desc = "An incredibly useful personal shield projector, capable of reflecting energy projectiles and defending against other attacks."
|
||||
item = /obj/item/weapon/shield/energy
|
||||
item = /obj/item/shield/energy
|
||||
reference = "ESD"
|
||||
cost = 16
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
@@ -1183,7 +1190,7 @@ var/list/uplink_items = list()
|
||||
/datum/uplink_item/device_tools/medgun
|
||||
name = "Medbeam Gun"
|
||||
desc = "Medical Beam Gun, useful in prolonged firefights."
|
||||
item = /obj/item/weapon/gun/medbeam
|
||||
item = /obj/item/gun/medbeam
|
||||
reference = "MBG"
|
||||
cost = 15
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
@@ -1198,14 +1205,14 @@ var/list/uplink_items = list()
|
||||
name = "Freedom Implant"
|
||||
desc = "An implant injected into the body and later activated using a bodily gesture to attempt to slip restraints."
|
||||
reference = "FI"
|
||||
item = /obj/item/weapon/implanter/freedom
|
||||
item = /obj/item/implanter/freedom
|
||||
cost = 5
|
||||
|
||||
/datum/uplink_item/implants/uplink
|
||||
name = "Uplink Implant"
|
||||
desc = "An implant injected into the body, and later activated using a bodily gesture to open an uplink with 10 telecrystals. The ability for an agent to open an uplink after their possessions have been stripped from them makes this implant excellent for escaping confinement."
|
||||
reference = "UI"
|
||||
item = /obj/item/weapon/implanter/uplink
|
||||
item = /obj/item/implanter/uplink
|
||||
cost = 14
|
||||
surplus = 0
|
||||
|
||||
@@ -1213,21 +1220,21 @@ var/list/uplink_items = list()
|
||||
name = "Storage Implant"
|
||||
desc = "An implant injected into the body, and later activated at the user's will. It will open a small subspace pocket capable of storing two items."
|
||||
reference = "ESI"
|
||||
item = /obj/item/weapon/implanter/storage
|
||||
item = /obj/item/implanter/storage
|
||||
cost = 8
|
||||
|
||||
/datum/uplink_item/implants/mindslave
|
||||
name = "Mindslave Implant"
|
||||
desc = "A box containing an implanter filled with a mindslave implant that when injected into another person makes them loyal to you and your cause, unless of course they're already implanted by someone else. Loyalty ends if the implant is no longer in their system."
|
||||
reference = "MI"
|
||||
item = /obj/item/weapon/implanter/traitor
|
||||
item = /obj/item/implanter/traitor
|
||||
cost = 10
|
||||
|
||||
/datum/uplink_item/implants/adrenal
|
||||
name = "Adrenal Implant"
|
||||
desc = "An implant injected into the body, and later activated using a bodily gesture to inject a chemical cocktail, which has a mild healing effect along with removing all stuns and increasing his speed."
|
||||
reference = "AI"
|
||||
item = /obj/item/weapon/implanter/adrenalin
|
||||
item = /obj/item/implanter/adrenalin
|
||||
cost = 8
|
||||
|
||||
/datum/uplink_item/implants/microbomb
|
||||
@@ -1235,7 +1242,7 @@ var/list/uplink_items = list()
|
||||
desc = "An implant injected into the body, and later activated either manually or automatically upon death. The more implants inside of you, the higher the explosive power. \
|
||||
This will permanently destroy your body, however."
|
||||
reference = "MBI"
|
||||
item = /obj/item/weapon/implanter/explosive
|
||||
item = /obj/item/implanter/explosive
|
||||
cost = 2
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -1251,7 +1258,7 @@ var/list/uplink_items = list()
|
||||
U.uses -= max(cost, 0)
|
||||
U.used_TC += cost
|
||||
feedback_add_details("traitor_uplink_items_bought", name) //this one and the line before copypasted because snowflaek code
|
||||
return new /obj/item/weapon/storage/box/cyber_implants(loc, item)
|
||||
return new /obj/item/storage/box/cyber_implants(loc, item)
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -1289,7 +1296,7 @@ var/list/uplink_items = list()
|
||||
desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. \
|
||||
Comes with an automated implanting tool."
|
||||
reference = "CIB"
|
||||
item = /obj/item/weapon/storage/box/cyber_implants/bundle
|
||||
item = /obj/item/storage/box/cyber_implants/bundle
|
||||
cost = 40
|
||||
|
||||
// POINTLESS BADASSERY
|
||||
@@ -1302,14 +1309,14 @@ var/list/uplink_items = list()
|
||||
name = "Syndicate Smokes"
|
||||
desc = "Strong flavor, dense smoke, infused with omnizine."
|
||||
reference = "SYSM"
|
||||
item = /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate
|
||||
item = /obj/item/storage/fancy/cigarettes/cigpack_syndicate
|
||||
cost = 2
|
||||
|
||||
/datum/uplink_item/badass/bundle
|
||||
name = "Syndicate Bundle"
|
||||
desc = "Syndicate Bundles are specialised groups of items that arrive in a plain box. These items are collectively worth more than 20 telecrystals, but you do not know which specialisation you will receive."
|
||||
reference = "SYB"
|
||||
item = /obj/item/weapon/storage/box/syndicate
|
||||
item = /obj/item/storage/box/syndicate
|
||||
cost = 20
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -1328,7 +1335,7 @@ var/list/uplink_items = list()
|
||||
desc = "A secure briefcase containing 5000 space credits. Useful for bribing personnel, or purchasing goods and services at lucrative prices. \
|
||||
The briefcase also feels a little heavier to hold; it has been manufactured to pack a little bit more of a punch if your client needs some convincing."
|
||||
reference = "CASH"
|
||||
item = /obj/item/weapon/storage/secure/briefcase/syndie
|
||||
item = /obj/item/storage/secure/briefcase/syndie
|
||||
cost = 1
|
||||
|
||||
/datum/uplink_item/badass/balloon
|
||||
@@ -1342,7 +1349,7 @@ var/list/uplink_items = list()
|
||||
name = "Macrobomb Implant"
|
||||
desc = "An implant injected into the body, and later activated either manually or automatically upon death. Upon death, releases a massive explosion that will wipe out everything nearby."
|
||||
reference = "HAB"
|
||||
item = /obj/item/weapon/implanter/explosive_macro
|
||||
item = /obj/item/implanter/explosive_macro
|
||||
cost = 20
|
||||
gamemodes = list(/datum/game_mode/nuclear)
|
||||
|
||||
@@ -1350,7 +1357,7 @@ var/list/uplink_items = list()
|
||||
name = "Random Item"
|
||||
desc = "Picking this choice will send you a random item from the list. Useful for when you cannot think of a strategy to finish your objectives with."
|
||||
reference = "RAIT"
|
||||
item = /obj/item/weapon/storage/box/syndicate
|
||||
item = /obj/item/storage/box/syndicate
|
||||
cost = 0
|
||||
|
||||
/datum/uplink_item/badass/random/spawn_item(var/turf/loc, var/obj/item/device/uplink/U)
|
||||
@@ -1377,7 +1384,7 @@ var/list/uplink_items = list()
|
||||
desc = "A crate containing 50 telecrystals worth of random syndicate leftovers."
|
||||
reference = "SYSC"
|
||||
cost = 20
|
||||
item = /obj/item/weapon/storage/box/syndicate
|
||||
item = /obj/item/storage/box/syndicate
|
||||
excludefrom = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/badass/surplus_crate/spawn_item(turf/loc, obj/item/device/uplink/U)
|
||||
|
||||
@@ -164,9 +164,10 @@ var/const/AIRLOCK_WIRE_LIGHT = 512
|
||||
//one wire for door bolts. Sending a pulse through this drops door bolts if they're not down (whether power's on or not),
|
||||
//raises them if they are down (only if power's on)
|
||||
if(!A.locked)
|
||||
A.lock()
|
||||
else
|
||||
A.unlock()
|
||||
if(A.lock())
|
||||
A.audible_message("<span class='italics'>You hear a click from the bottom of the door.</span>", null, 1)
|
||||
else if(A.unlock())
|
||||
A.audible_message("<span class='italics'>You hear a click from the bottom of the door.</span>", null, 1)
|
||||
|
||||
if(AIRLOCK_WIRE_BACKUP_POWER1)
|
||||
//two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter).
|
||||
|
||||
@@ -10,10 +10,10 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4
|
||||
switch(index)
|
||||
if(AUTOLATHE_HACK_WIRE)
|
||||
return "Hack"
|
||||
|
||||
|
||||
if(AUTOLATHE_SHOCK_WIRE)
|
||||
return "Shock"
|
||||
|
||||
|
||||
if(AUTOLATHE_DISABLE_WIRE)
|
||||
return "Disable"
|
||||
|
||||
@@ -69,6 +69,6 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4
|
||||
updateUIs()
|
||||
|
||||
/datum/wires/autolathe/proc/updateUIs()
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
@@ -25,7 +25,7 @@ var/const/WIRE_EXPLODE = 1
|
||||
..()
|
||||
|
||||
/datum/wires/explosive/gibtonite
|
||||
holder_type = /obj/item/weapon/twohanded/required/gibtonite
|
||||
holder_type = /obj/item/twohanded/required/gibtonite
|
||||
|
||||
/datum/wires/explosive/gibtonite/CanUse(mob/L)
|
||||
return 1
|
||||
@@ -34,5 +34,5 @@ var/const/WIRE_EXPLODE = 1
|
||||
return
|
||||
|
||||
/datum/wires/explosive/gibtonite/explode()
|
||||
var/obj/item/weapon/twohanded/required/gibtonite/P = holder
|
||||
var/obj/item/twohanded/required/gibtonite/P = holder
|
||||
P.GibtoniteReaction(null, 2)
|
||||
|
||||
@@ -11,12 +11,12 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
|
||||
switch(index)
|
||||
if(NUCLEARBOMB_WIRE_LIGHT)
|
||||
return "Bomb Light"
|
||||
|
||||
|
||||
if(NUCLEARBOMB_WIRE_TIMING)
|
||||
return "Bomb Timing"
|
||||
|
||||
|
||||
if(NUCLEARBOMB_WIRE_SAFETY)
|
||||
return "Bomb Safety"
|
||||
return "Bomb Safety"
|
||||
|
||||
/datum/wires/nuclearbomb/CanUse(mob/living/L)
|
||||
var/obj/machinery/nuclearbomb/N = holder
|
||||
@@ -77,6 +77,6 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
|
||||
N.lighthack = !N.lighthack
|
||||
|
||||
/datum/wires/nuclearbomb/proc/updateUIs()
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
@@ -76,7 +76,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
ui_interact(user)
|
||||
|
||||
/datum/wires/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "wires.tmpl", holder.name, window_x, window_y)
|
||||
ui.open()
|
||||
@@ -148,7 +148,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
holder.add_hiddenprint(L)
|
||||
switch(href_list["action"])
|
||||
if("cut") // Toggles the cut/mend status
|
||||
if(istype(I, /obj/item/weapon/wirecutters) || L.can_admin_interact())
|
||||
if(istype(I, /obj/item/wirecutters) || L.can_admin_interact())
|
||||
if(istype(I))
|
||||
playsound(holder, I.usesound, 20, 1)
|
||||
CutWireColour(colour)
|
||||
@@ -174,7 +174,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
else
|
||||
to_chat(L, "<span class='error'>You need a remote signaller!</span>")
|
||||
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
return 1
|
||||
|
||||
//
|
||||
@@ -184,12 +184,12 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
// Called when wires cut/mended.
|
||||
/datum/wires/proc/UpdateCut(index, mended)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
|
||||
// Called when wire pulsed. Add code here.
|
||||
/datum/wires/proc/UpdatePulsed(index)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
|
||||
/datum/wires/proc/CanUse(mob/L)
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user