Merge branch 'master' into upstream-merge-30084

This commit is contained in:
kevinz000
2017-08-29 10:09:13 -07:00
1211 changed files with 66401 additions and 82359 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
var/static/list/create_object_forms = list(
/obj, /obj/structure, /obj/machinery, /obj/effect,
/obj/item, /obj/item/clothing, /obj/item/stack, /obj/item/device,
/obj/item/weapon, /obj/item/weapon/reagent_containers, /obj/item/weapon/gun)
/obj/item/weapon, /obj/item/reagent_containers, /obj/item/gun)
var/path = input("Select the path of the object you wish to create.", "Path", /obj) in create_object_forms
var/html_form = create_object_forms[path]
+4 -4
View File
@@ -1,7 +1,7 @@
/obj/effect/fun_balloon
name = "fun balloon"
desc = "This is going to be a laugh riot."
icon = 'icons/obj/weapons.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "syndballoon"
anchored = TRUE
var/popped = FALSE
@@ -86,7 +86,7 @@
/obj/effect/station_crash
name = "station crash"
desc = "With no survivors!"
icon = 'icons/obj/weapons.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "syndballoon"
anchored = TRUE
@@ -105,7 +105,7 @@
/obj/effect/shuttle_build
name = "shuttle_build"
desc = "Some assembly required"
icon = 'icons/obj/weapons.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "syndballoon"
anchored = TRUE
@@ -139,7 +139,7 @@
L.forceMove(LA)
L.hallucination = 0
to_chat(L, "<span class='reallybig redtext'>The battle is won. Your bloodlust subsides.</span>")
for(var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw in L)
for(var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw in L)
qdel(chainsaw)
else
to_chat(L, "You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions.")
+1 -1
View File
@@ -396,7 +396,7 @@
dat += "<tr><td><i><a href='?_src_=vars;Vars=\ref[N]'>[N.name]([N.key])</a> Nuclear Operative Body destroyed!</i></td>"
dat += "<td><A href='?priv_msg=[N.key]'>PM</A></td></tr>"
dat += "</table><br><table><tr><td><B>Nuclear Disk(s)</B></td></tr>"
for(var/obj/item/weapon/disk/nuclear/N in GLOB.poi_list)
for(var/obj/item/disk/nuclear/N in GLOB.poi_list)
dat += "<tr><td>[N.name], "
var/atom/disk_loc = N.loc
while(!isturf(disk_loc))
+2 -2
View File
@@ -1684,7 +1684,7 @@
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
var/obj/item/weapon/reagent_containers/food/snacks/cookie/cookie = new(H)
var/obj/item/reagent_containers/food/snacks/cookie/cookie = new(H)
if(H.put_in_hands(cookie))
H.update_inv_hands()
else
@@ -1753,7 +1753,7 @@
else if(href_list["reject_custom_name"])
if(!check_rights(R_ADMIN))
return
var/obj/item/weapon/station_charter/charter = locate(href_list["reject_custom_name"])
var/obj/item/station_charter/charter = locate(href_list["reject_custom_name"])
if(istype(charter))
charter.reject_proposed(usr)
else if(href_list["jumpto"])
+1 -1
View File
@@ -10,7 +10,7 @@
-- Will change all the tube lights to green
UPDATE /obj/machinery/light IN world SET color = "#0F0" WHERE icon_state == "tube1"
-- Will delete all pickaxes. "IN world" is not required.
DELETE /obj/item/weapon/pickaxe
DELETE /obj/item/pickaxe
-- Will flicker the lights once, then turn all mobs green. The semicolon is important to separate the consecutive querys, but is not required for standard one-query use
CALL flicker(1) ON /obj/machinery/light; UPDATE /mob SET color = "#00cc00"
+5 -7
View File
@@ -24,7 +24,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
QDEL_NULL(cstatclick)
QDEL_NULL(rstatclick)
return ..()
/datum/admin_help_tickets/proc/TicketByID(id)
var/list/lists = list(active_tickets, closed_tickets, resolved_tickets)
for(var/I in lists)
@@ -185,8 +185,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
TimeoutVerb()
var/parsed_message = keywords_lookup(msg)
statclick = new(null, src)
_interactions = list()
@@ -194,7 +192,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
AddInteraction("<font color='blue'>[key_name_admin(usr)] PM'd [LinkedReplyName()]</font>")
message_admins("<font color='blue'>Ticket [TicketHref("#[id]")] created</font>")
else
MessageNoRecipient(msg, parsed_message)
MessageNoRecipient(msg)
//send it to irc if nobody is on and tell us how many were on
var/admin_number_present = send2irc_adminless_only(initiator_ckey, "Ticket #[id]: [name]")
@@ -249,13 +247,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
//message from the initiator without a target, all admins will see this
//won't bug irc
/datum/admin_help/proc/MessageNoRecipient(msg, parsed_msg)
/datum/admin_help/proc/MessageNoRecipient(msg)
var/ref_src = "\ref[src]"
//Message to be sent to all admins
var/admin_msg = "<span class='adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [parsed_msg]</span>"
var/admin_msg = "<span class='adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [keywords_lookup(msg)]</span>"
AddInteraction("<font color='red'>[LinkedReplyName(ref_src)]: [msg]</font>")
//send this msg to all admins
for(var/client/X in GLOB.admins)
if(X.prefs.toggles & SOUND_ADMINHELP)
+9 -9
View File
@@ -348,10 +348,10 @@ GLOBAL_PROTECT(AdminProcCallCount)
/obj/effect/decal/cleanable = "CLEANABLE",
/obj/item/device/radio/headset = "HEADSET",
/obj/item/clothing/head/helmet/space = "SPESSHELMET",
/obj/item/weapon/book/manual = "MANUAL",
/obj/item/weapon/reagent_containers/food/drinks = "DRINK", //longest paths comes first
/obj/item/weapon/reagent_containers/food = "FOOD",
/obj/item/weapon/reagent_containers = "REAGENT_CONTAINERS",
/obj/item/book/manual = "MANUAL",
/obj/item/reagent_containers/food/drinks = "DRINK", //longest paths comes first
/obj/item/reagent_containers/food = "FOOD",
/obj/item/reagent_containers = "REAGENT_CONTAINERS",
/obj/item/weapon = "WEAPON",
/obj/machinery/atmospherics = "ATMOS_MECH",
/obj/machinery/portable_atmospherics = "PORT_ATMOS",
@@ -442,14 +442,14 @@ GLOBAL_PROTECT(AdminProcCallCount)
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/worn = H.wear_id
var/obj/item/weapon/card/id/id = null
var/obj/item/card/id/id = null
if(worn)
id = worn.GetID()
if(id)
id.icon_state = "gold"
id.access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
else
id = new /obj/item/weapon/card/id/gold(H.loc)
id = new /obj/item/card/id/gold(H.loc)
id.access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
id.registered_name = H.real_name
id.assignment = "Captain"
@@ -460,8 +460,8 @@ GLOBAL_PROTECT(AdminProcCallCount)
var/obj/item/device/pda/PDA = worn
PDA.id = id
id.forceMove(PDA)
else if(istype(worn, /obj/item/weapon/storage/wallet))
var/obj/item/weapon/storage/wallet/W = worn
else if(istype(worn, /obj/item/storage/wallet))
var/obj/item/storage/wallet/W = worn
W.front_id = id
id.forceMove(W)
W.update_icon()
@@ -706,7 +706,7 @@ GLOBAL_PROTECT(AdminProcCallCount)
for(var/obj/machinery/power/rad_collector/Rad in GLOB.machines)
if(Rad.anchored)
if(!Rad.loaded_tank)
var/obj/item/weapon/tank/internals/plasma/Plasma = new/obj/item/weapon/tank/internals/plasma(Rad)
var/obj/item/tank/internals/plasma/Plasma = new/obj/item/tank/internals/plasma(Rad)
Plasma.air_contents.assert_gas("plasma")
Plasma.air_contents.gases["plasma"][MOLES] = 70
Rad.drainratio = 0
+1 -1
View File
@@ -3,7 +3,7 @@
set category = "Debug"
var/new_rating = input("Enter new rating:","Num") as num
if(new_rating && M.component_parts)
for(var/obj/item/weapon/stock_parts/P in M.component_parts)
for(var/obj/item/stock_parts/P in M.component_parts)
P.rating = new_rating
M.RefreshParts()
@@ -16,11 +16,11 @@
organ.Insert(C)
if("add implant")
for(var/path in subtypesof(/obj/item/weapon/implant))
var/dat = replacetext("[path]", "/obj/item/weapon/implant/", ":")
for(var/path in subtypesof(/obj/item/implant))
var/dat = replacetext("[path]", "/obj/item/implant/", ":")
organs[dat] = path
var/obj/item/weapon/implant/organ = input("Select implant type:", "Organ Manipulation", null) in organs
var/obj/item/implant/organ = input("Select implant type:", "Organ Manipulation", null) in organs
organ = organs[organ]
organ = new organ
organ.implant(C)
@@ -31,14 +31,14 @@
organs["[I.name] ([I.type])"] = I
for(var/X in C.implants)
var/obj/item/weapon/implant/I = X
var/obj/item/implant/I = X
organs["[I.name] ([I.type])"] = I
var/obj/item/organ = input("Select organ/implant:", "Organ Manipulation", null) in organs
organ = organs[organ]
if(!organ) return
var/obj/item/organ/O
var/obj/item/weapon/implant/I
var/obj/item/implant/I
if(isorgan(organ))
O = organ
@@ -52,7 +52,7 @@
if(operation == "remove organ/implant")
qdel(organ)
else if(I) // Put the implant in case.
var/obj/item/weapon/implantcase/case = new(get_turf(C))
var/obj/item/implantcase/case = new(get_turf(C))
case.imp = I
I.loc = case
case.update_icon()
+8 -8
View File
@@ -7,7 +7,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
send_to_playing_players("<span class='boldannounce'><font size=6>THERE CAN BE ONLY ONE</font></span>")
for(var/obj/item/weapon/disk/nuclear/N in GLOB.poi_list)
for(var/obj/item/disk/nuclear/N in GLOB.poi_list)
N.relocate() //Gets it out of bags and such
for(var/mob/living/carbon/human/H in GLOB.player_list)
@@ -50,10 +50,10 @@ GLOBAL_VAR_INIT(highlander, FALSE)
equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(src), slot_ears)
equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(src), slot_head)
equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(src), slot_shoes)
equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_l_store)
for(var/obj/item/weapon/pinpointer/P in src)
equip_to_slot_or_del(new /obj/item/pinpointer(src), slot_l_store)
for(var/obj/item/pinpointer/P in src)
P.attack_self(src)
var/obj/item/weapon/card/id/W = new(src)
var/obj/item/card/id/W = new(src)
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
@@ -63,13 +63,13 @@ GLOBAL_VAR_INIT(highlander, FALSE)
W.update_label(real_name)
equip_to_slot_or_del(W, slot_wear_id)
var/obj/item/weapon/claymore/highlander/H1 = new(src)
var/obj/item/claymore/highlander/H1 = new(src)
if(!GLOB.highlander)
H1.admin_spawned = TRUE //To prevent announcing
put_in_hands(H1)
H1.pickup(src) //For the stun shielding
var/obj/item/weapon/bloodcrawl/antiwelder = new(src)
var/obj/item/bloodcrawl/antiwelder = new(src)
antiwelder.name = "compulsion of honor"
antiwelder.desc = "You are unable to hold anything in this hand until you're the last one left!"
antiwelder.icon_state = "bloodhand_right"
@@ -108,10 +108,10 @@ GLOBAL_VAR_INIT(highlander, FALSE)
var/obj/item/slot_item_hand = H.get_item_for_held_index(2)
H.dropItemToGround(slot_item_hand)
var /obj/item/weapon/multisword/multi = new(H)
var /obj/item/multisword/multi = new(H)
H.put_in_hands_or_del(multi)
var/obj/item/weapon/card/id/W = new(H)
var/obj/item/card/id/W = new(H)
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
+7 -1
View File
@@ -9,6 +9,11 @@
freq = pick(0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1.1, 1.2, 1.4, 1.6, 2.0, 2.5)
to_chat(src, "You feel the Honkmother messing with your song...")
var/vol = input(usr, "What volume would you like the sound to play at?",, 100) as null|num
if(!vol)
return
vol = Clamp(vol, 1, 100)
var/sound/admin_sound = new()
admin_sound.file = S
admin_sound.priority = 250
@@ -17,7 +22,8 @@
admin_sound.wait = 1
admin_sound.repeat = 0
admin_sound.status = SOUND_STREAM
admin_sound.volume = vol
var/res = alert(usr, "Show the title of this song to the players?",, "No", "Yes", "Cancel")
switch(res)
if("Yes")
+1 -1
View File
@@ -800,7 +800,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
var/list/headwear = typesof(/obj/item/clothing/head)
var/list/glasses = typesof(/obj/item/clothing/glasses)
var/list/masks = typesof(/obj/item/clothing/mask)
var/list/ids = typesof(/obj/item/weapon/card/id)
var/list/ids = typesof(/obj/item/card/id)
var/uniform_select = "<select name=\"outfit_uniform\"><option value=\"\">None</option>"
for(var/path in uniforms)
+2 -2
View File
@@ -81,7 +81,7 @@
return secured
/obj/item/device/assembly/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/assembly/attackby(obj/item/W, mob/user, params)
if(isassembly(W))
var/obj/item/device/assembly/A = W
if((!A.secured) && (!secured))
@@ -91,7 +91,7 @@
else
to_chat(user, "<span class='warning'>Both devices must be in attachable mode to be attached together.</span>")
return
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(toggle_secure())
to_chat(user, "<span class='notice'>\The [src] is ready!</span>")
else
+7 -7
View File
@@ -11,7 +11,7 @@
flags_1 = CONDUCT_1
var/status = FALSE //0 - not readied //1 - bomb finished with welder
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank
var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank
origin_tech = "materials=1;engineering=1"
/obj/item/device/onetankbomb/examine(mob/user)
@@ -26,11 +26,11 @@
copy_overlays(bombassembly)
add_overlay("bomb_assembly")
/obj/item/device/onetankbomb/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/onetankbomb/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/analyzer))
bombtank.attackby(W, user)
return
if(istype(W, /obj/item/weapon/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
if(istype(W, /obj/item/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
@@ -44,7 +44,7 @@
qdel(src)
return
var/obj/item/weapon/weldingtool/WT = W
var/obj/item/weldingtool/WT = W
if((istype(WT) && WT.welding))
if(!status)
status = TRUE
@@ -84,7 +84,7 @@
// ---------- Procs below are for tanks that are used exclusively in 1-tank bombs ----------
/obj/item/weapon/tank/proc/bomb_assemble(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb
/obj/item/tank/proc/bomb_assemble(W,user) //Bomb assembly proc. This turns assembly+tank into a bomb
var/obj/item/device/assembly_holder/S = W
var/mob/M = user
if(isigniter(S.a_left) == isigniter(S.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it
@@ -108,7 +108,7 @@
R.update_icon()
return
/obj/item/weapon/tank/proc/ignite() //This happens when a bomb is told to explode
/obj/item/tank/proc/ignite() //This happens when a bomb is told to explode
air_contents.assert_gases("plasma", "o2")
var/fuel_moles = air_contents.gases["plasma"][MOLES] + air_contents.gases["o2"][MOLES]/6
air_contents.garbage_collect()
@@ -160,7 +160,7 @@
qdel(master)
qdel(src)
/obj/item/weapon/tank/proc/release() //This happens when the bomb is not welded. Tank contents are just spat out.
/obj/item/tank/proc/release() //This happens when the bomb is not welded. Tank contents are just spat out.
var/datum/gas_mixture/removed = air_contents.remove(air_contents.total_moles())
var/turf/T = get_turf(src)
if(!T)
+3 -3
View File
@@ -180,7 +180,7 @@
..()
new /obj/effect/temp_visual/borgflash(get_turf(src))
/obj/item/device/assembly/flash/cyborg/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/assembly/flash/cyborg/attackby(obj/item/W, mob/user, params)
return
/obj/item/device/assembly/flash/memorizer
@@ -224,7 +224,7 @@
/obj/item/device/assembly/flash/shield
name = "strobe shield"
desc = "A shield with a built in, high intensity light capable of blinding and disorienting suspects. Takes regular handheld flashes as bulbs."
icon = 'icons/obj/weapons.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "flashshield"
item_state = "flashshield"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
@@ -247,7 +247,7 @@
return 0
return 1
/obj/item/device/assembly/flash/shield/attackby(obj/item/weapon/W, mob/user)
/obj/item/device/assembly/flash/shield/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/device/assembly/flash/handheld))
var/obj/item/device/assembly/flash/handheld/flash = W
if(flash.crit_fail)
+1 -1
View File
@@ -31,7 +31,7 @@
update_icon()
return secured
/obj/item/device/assembly/health/attackby(obj/item/weapon/W as obj, mob/user as mob)
/obj/item/device/assembly/health/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/device/multitool))
if(alarm_health == 0)
alarm_health = -90
+2 -2
View File
@@ -81,8 +81,8 @@
..()
return
/obj/item/device/assembly_holder/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/screwdriver))
/obj/item/device/assembly_holder/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/screwdriver))
var/turf/T = get_turf(src)
if(!T)
return 0
+2 -2
View File
@@ -13,8 +13,8 @@
qdel(part2)
return ..()
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
/obj/item/assembly/shock_kit/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wrench))
var/turf/T = loc
if(ismob(T))
T = T.loc
+2 -2
View File
@@ -97,7 +97,7 @@ Code:
return
/obj/item/device/assembly/signaler/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/assembly/signaler/attackby(obj/item/W, mob/user, params)
if(issignaler(W))
var/obj/item/device/assembly/signaler/signaler2 = W
if(secured && signaler2.secured)
@@ -201,5 +201,5 @@ Code:
/obj/item/device/assembly/signaler/cyborg
origin_tech = null
/obj/item/device/assembly/signaler/cyborg/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/assembly/signaler/cyborg/attackby(obj/item/W, mob/user, params)
return
+1 -1
View File
@@ -65,7 +65,7 @@
if(length(raw_message))
. = 1
/obj/item/device/assembly/voice/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/device/assembly/voice/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/multitool))
mode %= modes.len
mode++
@@ -21,7 +21,7 @@
return 1
return 0
/obj/item/weapon/electronics/airalarm
/obj/item/electronics/airalarm
name = "air alarm electronics"
icon_state = "airalarm_electronics"
@@ -640,20 +640,20 @@
/obj/machinery/airalarm/attackby(obj/item/W, mob/user, params)
switch(buildstage)
if(2)
if(istype(W, /obj/item/weapon/wirecutters) && panel_open && wires.is_all_cut())
if(istype(W, /obj/item/wirecutters) && panel_open && wires.is_all_cut())
playsound(src.loc, W.usesound, 50, 1)
to_chat(user, "<span class='notice'>You cut the final wires.</span>")
new /obj/item/stack/cable_coil(loc, 5)
buildstage = 1
update_icon()
return
else if(istype(W, /obj/item/weapon/screwdriver)) // Opening that Air Alarm up.
else if(istype(W, /obj/item/screwdriver)) // Opening that Air Alarm up.
playsound(src.loc, W.usesound, 50, 1)
panel_open = !panel_open
to_chat(user, "<span class='notice'>The wires have been [panel_open ? "exposed" : "unexposed"].</span>")
update_icon()
return
else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card
else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card
if(stat & (NOPOWER|BROKEN))
to_chat(user, "<span class='warning'>It does nothing!</span>")
else
@@ -667,14 +667,14 @@
wires.interact(user)
return
if(1)
if(istype(W, /obj/item/weapon/crowbar))
if(istype(W, /obj/item/crowbar))
user.visible_message("[user.name] removes the electronics from [src.name].",\
"<span class='notice'>You start prying out the circuit...</span>")
playsound(src.loc, W.usesound, 50, 1)
if (do_after(user, 20*W.toolspeed, target = src))
if (buildstage == 1)
to_chat(user, "<span class='notice'>You remove the air alarm electronics.</span>")
new /obj/item/weapon/electronics/airalarm( src.loc )
new /obj/item/electronics/airalarm( src.loc )
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
buildstage = 0
update_icon()
@@ -701,7 +701,7 @@
update_icon()
return
if(0)
if(istype(W, /obj/item/weapon/electronics/airalarm))
if(istype(W, /obj/item/electronics/airalarm))
if(user.temporarilyRemoveItemFromInventory(W))
to_chat(user, "<span class='notice'>You insert the circuit.</span>")
buildstage = 1
@@ -709,7 +709,7 @@
qdel(W)
return
if(istype(W, /obj/item/weapon/wrench))
if(istype(W, /obj/item/wrench))
to_chat(user, "<span class='notice'>You detach \the [src] from the wall.</span>")
playsound(src.loc, W.usesound, 50, 1)
new /obj/item/wallframe/airalarm( user.loc )
@@ -736,7 +736,7 @@
/obj/machinery/airalarm/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 2)
var/obj/item/I = new /obj/item/weapon/electronics/airalarm(loc)
var/obj/item/I = new /obj/item/electronics/airalarm(loc)
if(!disassembled)
I.obj_integrity = I.max_integrity * 0.5
new /obj/item/stack/cable_coil(loc, 3)
@@ -129,8 +129,8 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/update_icon()
return
/obj/machinery/atmospherics/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
/obj/machinery/atmospherics/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wrench))
if(can_unwrench(user))
var/turf/T = get_turf(src)
if (level==1 && isturf(T) && T.intact)
@@ -10,7 +10,7 @@
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 30, acid = 30)
layer = ABOVE_WINDOW_LAYER
state_open = FALSE
circuit = /obj/item/weapon/circuitboard/machine/cryo_tube
circuit = /obj/item/circuitboard/machine/cryo_tube
var/on = FALSE
var/autoeject = FALSE
@@ -22,7 +22,7 @@
var/heat_capacity = 20000
var/conduction_coefficient = 0.30
var/obj/item/weapon/reagent_containers/glass/beaker = null
var/obj/item/reagent_containers/glass/beaker = null
var/reagent_transfer = 0
var/obj/item/device/radio/radio
@@ -48,7 +48,7 @@
/obj/machinery/atmospherics/components/unary/cryo_cell/RefreshParts()
var/C
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
for(var/obj/item/stock_parts/matter_bin/M in component_parts)
C += M.rating
efficiency = initial(efficiency) * C
@@ -266,7 +266,7 @@
close_machine(target)
/obj/machinery/atmospherics/components/unary/cryo_cell/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(istype(I, /obj/item/reagent_containers/glass))
. = 1 //no afterattack
if(beaker)
to_chat(user, "<span class='warning'>A beaker is already loaded into [src]!</span>")
@@ -10,7 +10,7 @@
max_integrity = 300
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 30)
layer = OBJ_LAYER
circuit = /obj/item/weapon/circuitboard/machine/thermomachine
circuit = /obj/item/circuitboard/machine/thermomachine
var/on = FALSE
var/min_temperature = 0
@@ -28,7 +28,7 @@
/obj/machinery/atmospherics/components/unary/thermomachine/RefreshParts()
var/B
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
for(var/obj/item/stock_parts/matter_bin/M in component_parts)
B += M.rating
heat_capacity = 5000 * ((B - 1) ** 2)
@@ -84,7 +84,7 @@
return
return ..()
/obj/machinery/atmospherics/components/unary/thermomachine/default_change_direction_wrench(mob/user, obj/item/weapon/wrench/W)
/obj/machinery/atmospherics/components/unary/thermomachine/default_change_direction_wrench(mob/user, obj/item/wrench/W)
if(!..())
return 0
SetInitDirections()
@@ -163,12 +163,12 @@
icon_state_open = "freezer-o"
max_temperature = T20C
min_temperature = 170
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/freezer
circuit = /obj/item/circuitboard/machine/thermomachine/freezer
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/RefreshParts()
..()
var/L
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
for(var/obj/item/stock_parts/micro_laser/M in component_parts)
L += M.rating
min_temperature = max(T0C - (initial(min_temperature) + L * 15), TCMB)
@@ -180,11 +180,11 @@
icon_state_open = "heater-o"
max_temperature = 140
min_temperature = T20C
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/heater
circuit = /obj/item/circuitboard/machine/thermomachine/heater
/obj/machinery/atmospherics/components/unary/thermomachine/heater/RefreshParts()
..()
var/L
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
for(var/obj/item/stock_parts/micro_laser/M in component_parts)
L += M.rating
max_temperature = T20C + (initial(max_temperature) * L)
@@ -260,8 +260,8 @@
return
/obj/machinery/atmospherics/components/unary/vent_pump/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if (WT.remove_fuel(0,user))
playsound(loc, WT.usesound, 40, 1)
to_chat(user, "<span class='notice'>You begin welding the vent...</span>")
@@ -339,9 +339,9 @@
..()
update_icon_nopipes()
/obj/machinery/atmospherics/components/unary/vent_scrubber/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
/obj/machinery/atmospherics/components/unary/vent_scrubber/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(loc, WT.usesound, 40, 1)
to_chat(user, "<span class='notice'>Now welding the scrubber.</span>")
@@ -91,8 +91,8 @@
to_chat(user, status())
/obj/machinery/meter/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
/obj/machinery/meter/attackby(obj/item/W, mob/user, params)
if (istype(W, /obj/item/wrench))
playsound(src.loc, W.usesound, 50, 1)
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
if (do_after(user, 40*W.toolspeed, target = src))
@@ -61,7 +61,7 @@
parent = new /datum/pipeline()
parent.build_pipeline(src)
/obj/machinery/atmospherics/pipe/attackby(obj/item/weapon/W, mob/user, params)
/obj/machinery/atmospherics/pipe/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/analyzer))
atmosanalyzer_scan(parent.air, user)
else
@@ -256,9 +256,9 @@
new /obj/item/stack/sheet/metal (loc, 5)
qdel(src)
/obj/machinery/portable_atmospherics/canister/attackby(obj/item/weapon/W, mob/user, params)
if(user.a_intent != INTENT_HARM && istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
/obj/machinery/portable_atmospherics/canister/attackby(obj/item/W, mob/user, params)
if(user.a_intent != INTENT_HARM && istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if(stat & BROKEN)
if(!WT.remove_fuel(0, user))
return
@@ -8,7 +8,7 @@
var/datum/gas_mixture/air_contents
var/obj/machinery/atmospherics/components/unary/portables_connector/connected_port
var/obj/item/weapon/tank/holding
var/obj/item/tank/holding
var/volume = 0
@@ -76,16 +76,16 @@
/obj/machinery/portable_atmospherics/portableConnectorReturnAir()
return air_contents
/obj/machinery/portable_atmospherics/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/tank))
/obj/machinery/portable_atmospherics/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/tank))
if(!(stat & BROKEN))
var/obj/item/weapon/tank/T = W
var/obj/item/tank/T = W
if(holding || !user.drop_item())
return
T.loc = src
holding = T
update_icon()
else if(istype(W, /obj/item/weapon/wrench))
else if(istype(W, /obj/item/wrench))
if(!(stat & BROKEN))
if(connected_port)
disconnect()
@@ -127,7 +127,7 @@
for(var/turf/AT in T.GetAtmosAdjacentTurfs(alldir = TRUE))
scrub(AT.return_air())
/obj/machinery/portable_atmospherics/scrubber/huge/attackby(obj/item/weapon/W, mob/user)
/obj/machinery/portable_atmospherics/scrubber/huge/attackby(obj/item/W, mob/user)
if(default_unfasten_wrench(user, W))
if(!movable)
on = FALSE
+32 -32
View File
@@ -8,9 +8,9 @@
/obj/item/weapon/twohanded/ctf
/obj/item/twohanded/ctf
name = "banner"
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "banner"
item_state = "banner"
lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi'
@@ -29,16 +29,16 @@
var/obj/effect/ctf/flag_reset/reset
var/reset_path = /obj/effect/ctf/flag_reset
/obj/item/weapon/twohanded/ctf/Destroy()
/obj/item/twohanded/ctf/Destroy()
QDEL_NULL(reset)
return ..()
/obj/item/weapon/twohanded/ctf/Initialize()
/obj/item/twohanded/ctf/Initialize()
. = ..()
if(!reset)
reset = new reset_path(get_turf(src))
/obj/item/weapon/twohanded/ctf/process()
/obj/item/twohanded/ctf/process()
if(world.time > reset_cooldown)
forceMove(get_turf(src.reset))
for(var/mob/M in GLOB.player_list)
@@ -47,7 +47,7 @@
to_chat(M, "<span class='userdanger'>\The [src] has been returned to base!</span>")
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/twohanded/ctf/attack_hand(mob/living/user)
/obj/item/twohanded/ctf/attack_hand(mob/living/user)
if(!is_ctf_target(user))
to_chat(user, "Non players shouldn't be moving the flag!")
return
@@ -69,7 +69,7 @@
to_chat(M, "<span class='userdanger'>\The [src] has been taken!</span>")
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/twohanded/ctf/dropped(mob/user)
/obj/item/twohanded/ctf/dropped(mob/user)
..()
user.anchored = FALSE
reset_cooldown = world.time + 200 //20 seconds
@@ -81,7 +81,7 @@
anchored = TRUE
/obj/item/weapon/twohanded/ctf/red
/obj/item/twohanded/ctf/red
name = "red flag"
icon_state = "banner-red"
item_state = "banner-red"
@@ -90,7 +90,7 @@
reset_path = /obj/effect/ctf/flag_reset/red
/obj/item/weapon/twohanded/ctf/blue
/obj/item/twohanded/ctf/blue
name = "blue flag"
icon_state = "banner-blue"
item_state = "banner-blue"
@@ -100,7 +100,7 @@
/obj/effect/ctf/flag_reset
name = "banner landmark"
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/items_and_weapons.dmi'
icon_state = "banner"
desc = "This is where a banner with Nanotrasen's logo on it would go."
layer = LOW_ITEM_LAYER
@@ -161,7 +161,7 @@
/obj/machinery,
/obj/structure,
/obj/effect/ctf,
/obj/item/weapon/twohanded/ctf
/obj/item/twohanded/ctf
))
GLOB.poi_list |= src
@@ -260,8 +260,8 @@
attack_ghost(ghost)
/obj/machinery/capture_the_flag/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/twohanded/ctf))
var/obj/item/weapon/twohanded/ctf/flag = I
if(istype(I, /obj/item/twohanded/ctf))
var/obj/item/twohanded/ctf/flag = I
if(flag.team != src.team)
user.transferItemToLoc(flag, get_turf(flag.reset), TRUE)
points++
@@ -278,7 +278,7 @@
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='narsie'>[team] team wins!</span>")
to_chat(M, "<span class='userdanger'>The game has been reset! Teams have been cleared. The machines will be active again in 30 seconds.</span>")
for(var/obj/item/weapon/twohanded/ctf/W in M)
for(var/obj/item/twohanded/ctf/W in M)
M.dropItemToGround(W)
M.dust()
for(var/obj/machinery/control_point/control in GLOB.machines)
@@ -348,16 +348,16 @@
CTF.ctf_gear = initial(ctf_gear)
CTF.respawn_cooldown = DEFAULT_RESPAWN
/obj/item/weapon/gun/ballistic/automatic/pistol/deagle/ctf
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf
desc = "This looks like it could really hurt in melee."
force = 75
mag_type = /obj/item/ammo_box/magazine/m50/ctf
/obj/item/weapon/gun/ballistic/automatic/pistol/deagle/ctf/dropped()
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped()
. = ..()
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
/obj/item/weapon/gun/ballistic/automatic/pistol/deagle/ctf/proc/floor_vanish()
/obj/item/gun/ballistic/automatic/pistol/deagle/ctf/proc/floor_vanish()
if(isturf(loc))
qdel(src)
@@ -375,16 +375,16 @@
damage = 60
. = ..()
/obj/item/weapon/gun/ballistic/automatic/laser/ctf
/obj/item/gun/ballistic/automatic/laser/ctf
mag_type = /obj/item/ammo_box/magazine/recharge/ctf
desc = "This looks like it could really hurt in melee."
force = 50
/obj/item/weapon/gun/ballistic/automatic/laser/ctf/dropped()
/obj/item/gun/ballistic/automatic/laser/ctf/dropped()
. = ..()
addtimer(CALLBACK(src, .proc/floor_vanish), 1)
/obj/item/weapon/gun/ballistic/automatic/laser/ctf/proc/floor_vanish()
/obj/item/gun/ballistic/automatic/laser/ctf/proc/floor_vanish()
if(isturf(loc))
qdel(src)
@@ -422,7 +422,7 @@
// RED TEAM GUNS
/obj/item/weapon/gun/ballistic/automatic/laser/ctf/red
/obj/item/gun/ballistic/automatic/laser/ctf/red
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/red
/obj/item/ammo_box/magazine/recharge/ctf/red
@@ -437,7 +437,7 @@
// BLUE TEAM GUNS
/obj/item/weapon/gun/ballistic/automatic/laser/ctf/blue
/obj/item/gun/ballistic/automatic/laser/ctf/blue
mag_type = /obj/item/ammo_box/magazine/recharge/ctf/blue
/obj/item/ammo_box/magazine/recharge/ctf/blue
@@ -458,17 +458,17 @@
toggle_helmet = FALSE // see the whites of their eyes
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
id = /obj/item/weapon/card/id/syndicate
belt = /obj/item/weapon/gun/ballistic/automatic/pistol/deagle/ctf
id = /obj/item/card/id/syndicate
belt = /obj/item/gun/ballistic/automatic/pistol/deagle/ctf
l_pocket = /obj/item/ammo_box/magazine/recharge/ctf
r_pocket = /obj/item/ammo_box/magazine/recharge/ctf
r_hand = /obj/item/weapon/gun/ballistic/automatic/laser/ctf
r_hand = /obj/item/gun/ballistic/automatic/laser/ctf
/datum/outfit/ctf/post_equip(mob/living/carbon/human/H, visualsOnly=FALSE)
if(visualsOnly)
return
var/list/no_drops = list()
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
no_drops += W
W.registered_name = H.real_name
W.update_label(W.registered_name, W.assignment)
@@ -483,27 +483,27 @@
I.flags_1 |= NODROP_1
/datum/outfit/ctf/instagib
r_hand = /obj/item/weapon/gun/energy/laser/instakill
r_hand = /obj/item/gun/energy/laser/instakill
shoes = /obj/item/clothing/shoes/jackboots/fast
/datum/outfit/ctf/red
suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/red
r_hand = /obj/item/weapon/gun/ballistic/automatic/laser/ctf/red
r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/red
l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red
r_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red
/datum/outfit/ctf/red/instagib
r_hand = /obj/item/weapon/gun/energy/laser/instakill/red
r_hand = /obj/item/gun/energy/laser/instakill/red
shoes = /obj/item/clothing/shoes/jackboots/fast
/datum/outfit/ctf/blue
suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue
r_hand = /obj/item/weapon/gun/ballistic/automatic/laser/ctf/blue
r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/blue
l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue
r_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue
/datum/outfit/ctf/blue/instagib
r_hand = /obj/item/weapon/gun/energy/laser/instakill/blue
r_hand = /obj/item/gun/energy/laser/instakill/blue
shoes = /obj/item/clothing/shoes/jackboots/fast
/datum/outfit/ctf/red/post_equip(mob/living/carbon/human/H)
@@ -599,7 +599,7 @@
if(M in CTF.spawned_mobs)
var/outfit = CTF.ctf_gear
var/datum/outfit/O = new outfit
for(var/obj/item/weapon/gun/G in M)
for(var/obj/item/gun/G in M)
qdel(G)
O.equip(M)
to_chat(M, "<span class='notice'>Ammunition reloaded!</span>")
+10 -10
View File
@@ -156,7 +156,7 @@
var/obj/item/device/pda/PDA = locate(/obj/item/device/pda) in H
if(PDA)
PDA.toff = TRUE
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
if(W)
if(id_access)
for(var/jobtype in typesof(/datum/job))
@@ -315,11 +315,11 @@
/datum/outfit/spacebartender
name = "Space Bartender"
uniform = /obj/item/clothing/under/rank/bartender
back = /obj/item/weapon/storage/backpack
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
glasses = /obj/item/clothing/glasses/sunglasses/reagent
id = /obj/item/weapon/card/id
id = /obj/item/card/id
/obj/effect/mob_spawn/human/beach
@@ -340,7 +340,7 @@
name = "Beach Bum"
glasses = /obj/item/clothing/glasses/sunglasses
uniform = /obj/item/clothing/under/shorts/red
r_pocket = /obj/item/weapon/storage/wallet/random
r_pocket = /obj/item/storage/wallet/random
/datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
@@ -363,7 +363,7 @@
suit = /obj/item/clothing/suit/armor/bulletproof
shoes = /obj/item/clothing/shoes/sneakers/black
glasses = /obj/item/clothing/glasses/sunglasses
id = /obj/item/weapon/card/id
id = /obj/item/card/id
/obj/effect/mob_spawn/human/commander
@@ -382,8 +382,8 @@
head = /obj/item/clothing/head/centhat
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat/swat
r_pocket = /obj/item/weapon/lighter
id = /obj/item/weapon/card/id
r_pocket = /obj/item/lighter
id = /obj/item/card/id
/obj/effect/mob_spawn/human/nanotrasensoldier
@@ -400,8 +400,8 @@
gloves = /obj/item/clothing/gloves/combat
mask = /obj/item/clothing/mask/gas/sechailer/swat
head = /obj/item/clothing/head/helmet/swat/nanotrasen
back = /obj/item/weapon/storage/backpack/security
id = /obj/item/weapon/card/id
back = /obj/item/storage/backpack/security
id = /obj/item/card/id
/obj/effect/mob_spawn/human/commander/alive
@@ -486,7 +486,7 @@
/datum/outfit/cryobartender
name = "Cryogenic Bartender"
uniform = /obj/item/clothing/under/rank/bartender
back = /obj/item/weapon/storage/backpack
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
glasses = /obj/item/clothing/glasses/sunglasses/reagent
+6 -6
View File
@@ -5,9 +5,9 @@
/obj/structure/closet/secure_closet/exile/New()
..()
new /obj/item/weapon/implanter/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/implanter/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
+2 -2
View File
@@ -204,7 +204,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
update_icon()
/obj/machinery/gateway/centeraway/proc/check_exile_implant(mob/living/carbon/C)
for(var/obj/item/weapon/implant/exile/E in C.implants)//Checking that there is an exile implant
for(var/obj/item/implant/exile/E in C.implants)//Checking that there is an exile implant
to_chat(C, "\black The station gate has detected your exile implant and is blocking your entry.")
return TRUE
return FALSE
@@ -237,6 +237,6 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
M.client.move_delay = max(world.time + 5, M.client.move_delay)
/obj/item/weapon/paper/fluff/gateway
/obj/item/paper/fluff/gateway
info = "Congratulations,<br><br>Your station has been selected to carry out the Gateway Project.<br><br>The equipment will be shipped to you at the start of the next quarter.<br> You are to prepare a secure location to house the equipment as outlined in the attached documents.<br><br>--Nanotrasen Blue Space Research"
name = "Confidential Correspondence, Pg 1"
@@ -1,32 +1,32 @@
//Academy Items
/obj/item/weapon/paper/fluff/awaymissions/academy/console_maint
/obj/item/paper/fluff/awaymissions/academy/console_maint
name = "Console Maintenance"
info = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!"
/obj/item/weapon/paper/fluff/awaymissions/academy/class/automotive
/obj/item/paper/fluff/awaymissions/academy/class/automotive
name = "Automotive Repair 101"
/obj/item/weapon/paper/fluff/awaymissions/academy/class/pyromancy
/obj/item/paper/fluff/awaymissions/academy/class/pyromancy
name = "Pyromancy 250"
/obj/item/weapon/paper/fluff/awaymissions/academy/class/biology
/obj/item/paper/fluff/awaymissions/academy/class/biology
name = "Biology Lab"
/obj/item/weapon/paper/fluff/awaymissions/academy/grade/aplus
/obj/item/paper/fluff/awaymissions/academy/grade/aplus
name = "Summoning Midterm Exam"
info = "Grade: A+ Educator's Notes: Excellent form."
/obj/item/weapon/paper/fluff/awaymissions/academy/grade/bminus
/obj/item/paper/fluff/awaymissions/academy/grade/bminus
name = "Summoning Midterm Exam"
info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."
/obj/item/weapon/paper/fluff/awaymissions/academy/grade/dminus
/obj/item/paper/fluff/awaymissions/academy/grade/dminus
name = "Summoning Midterm Exam"
info = "Grade: D- Educator's Notes: SEE ME AFTER CLASS."
/obj/item/weapon/paper/fluff/awaymissions/academy/grade/failure
/obj/item/paper/fluff/awaymissions/academy/grade/failure
name = "Pyromancy Evaluation"
info = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutilage."
@@ -111,7 +111,7 @@
var/mob/living/carbon/human/wizbody = new(T)
wizbody.equipOutfit(/datum/outfit/wizard/academy)
var/obj/item/weapon/implant/exile/Implant = new/obj/item/weapon/implant/exile(wizbody)
var/obj/item/implant/exile/Implant = new/obj/item/implant/exile(wizbody)
Implant.implant(wizbody)
wizbody.faction |= "wizard"
wizbody.real_name = "Academy Teacher"
@@ -146,9 +146,9 @@
r_hand = null
suit = /obj/item/clothing/suit/wizrobe/red
head = /obj/item/clothing/head/wizard/red
backpack_contents = list(/obj/item/weapon/storage/box/survival = 1)
backpack_contents = list(/obj/item/storage/box/survival = 1)
/obj/item/weapon/dice/d20/fate
/obj/item/dice/d20/fate
name = "Die of Fate"
desc = "A die with twenty sides. You can feel unearthly energies radiating from it. Using this might be VERY risky."
icon_state = "d20"
@@ -157,10 +157,10 @@
var/reusable = 1
var/used = 0
/obj/item/weapon/dice/d20/fate/one_use
/obj/item/dice/d20/fate/one_use
reusable = 0
/obj/item/weapon/dice/d20/fate/diceroll(mob/user)
/obj/item/dice/d20/fate/diceroll(mob/user)
..()
if(!used)
if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards))
@@ -171,13 +171,13 @@
else
effect(user,result)
/obj/item/weapon/dice/d20/fate/equipped(mob/user, slot)
/obj/item/dice/d20/fate/equipped(mob/user, slot)
if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards))
to_chat(user, "<span class='warning'>You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.</span>")
user.drop_item()
/obj/item/weapon/dice/d20/fate/proc/effect(var/mob/living/carbon/human/user,roll)
/obj/item/dice/d20/fate/proc/effect(var/mob/living/carbon/human/user,roll)
if(!reusable)
used = 1
visible_message("<span class='userdanger'>The die flare briefly.</span>")
@@ -196,7 +196,7 @@
if(4)
//Destroy Equipment
for (var/obj/item/I in user)
if (istype(I, /obj/item/weapon/implant))
if (istype(I, /obj/item/implant))
continue
qdel(I)
if(5)
@@ -225,7 +225,7 @@
visible_message("<span class='notice'>[src] roll perfectly.</span>")
if(11)
//Cookie
var/obj/item/weapon/reagent_containers/food/snacks/cookie/C = new(get_turf(src))
var/obj/item/reagent_containers/food/snacks/cookie/C = new(get_turf(src))
C.name = "Cookie of Fate"
if(12)
//Healing
@@ -238,15 +238,15 @@
if(rand(0,1))
new /obj/item/stack/spacecash/c1000(T)
else
var/obj/item/weapon/storage/bag/money/M = new(T)
var/obj/item/storage/bag/money/M = new(T)
for(var/i in 1 to rand(5,50))
new /obj/item/weapon/coin/gold(M)
new /obj/item/coin/gold(M)
if(14)
//Free Gun
new /obj/item/weapon/gun/ballistic/revolver/mateba(get_turf(src))
new /obj/item/gun/ballistic/revolver/mateba(get_turf(src))
if(15)
//Random One-use spellbook
new /obj/item/weapon/spellbook/oneuse/random(get_turf(src))
new /obj/item/spellbook/oneuse/random(get_turf(src))
if(16)
//Servant & Servant Summon
var/mob/living/carbon/human/H = new(get_turf(src))
@@ -270,10 +270,10 @@
if(17)
//Tator Kit
new /obj/item/weapon/storage/box/syndicate/(get_turf(src))
new /obj/item/storage/box/syndicate/(get_turf(src))
if(18)
//Captain ID
new /obj/item/weapon/card/id/captains_spare(get_turf(src))
new /obj/item/card/id/captains_spare(get_turf(src))
if(19)
//Instrinct Resistance
to_chat(user, "<span class='notice'>You feel robust.</span>")
@@ -58,7 +58,7 @@
emagged = 2 //Always gibs people
item_recycle_sound = 'sound/weapons/chainsawhit.ogg'
/obj/machinery/recycler/lumbermill/recycle_item(obj/item/weapon/grown/log/L)
/obj/machinery/recycler/lumbermill/recycle_item(obj/item/grown/log/L)
if(!istype(L))
return
else
@@ -1,31 +1,31 @@
//caves papers
/obj/item/weapon/paper/crumpled/awaymissions/caves/unsafe_area
/obj/item/paper/crumpled/awaymissions/caves/unsafe_area
info = "<center><b>WARNING</center></b><br><br><center>Majority of this area is consitered 'unsafe' past this point. Theres an outpost directly south of here where you can get your bearing and travel further down if needed. Traveling in groups is HIGHLY advised, the shit out there can be extremely deadly if you're alone.</center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/omega
/obj/item/paper/fluff/awaymissions/caves/omega
name = "Subject Omega Notes"
info = "<b><center>Testing Notes</b></center><br><br><center>Subject appears unresponsive to most interactions, refusing to move away from the corners or face any scientists. Subject appears to move between the two back corners every observation. A strange humming can be heard from inside the cell, appears to be originating from the subject itself, further testing is necessary to confirm or deny this.</center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/magma
/obj/item/paper/fluff/awaymissions/caves/magma
info = "<center> Mining is hell down here, you can feel the heat of the magma no matter how thick the suit is. Conditions are barely managble as is, restless nights and horrid work conditions. The ore maybe rich down here, but we've already lost a few men to the faults shifting, god knows how much longer till it all just collapses down and consumes everyone with it.</center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/work_notice
/obj/item/paper/fluff/awaymissions/caves/work_notice
name = "work notice"
info = "<center><b>Survival Info For Miners</b></center><br><br><center>The caves are an unforgiving place, the only thing you'll have to traverse is the supplies in your locker and your own wit. Travel in packs when mining and try to shut down the monster dens before they overwhelm you. The job is dangerous but the haul is good, so remember this infomation and hopefully we'll all go home alive.</center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/shipment_notice
/obj/item/paper/fluff/awaymissions/caves/shipment_notice
name = "shipment notice"
info = "<center>We were suppose to get a shipment of these special laser rifles and a couple 'nades to help combat the wildlife down here, but its been weeks since we last heard from the caravan carrying the shit down here. At this point we can only assume they fell victim to one of the monster nests or the dumbasses managed to trip into the lava. So much for that shipment, I guess.</center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/saftey_notice
/obj/item/paper/fluff/awaymissions/caves/saftey_notice
name = "safety notice"
info = "<center>Some of the miners have gone to laying some mine traps among the lower levels of the mine to keep the monsters at bay. This probably isn't the smartest idea in a cavern like this but the boys seem to get a chuckle out of every distant blast they hear go off, so I guess it works </center>"
/obj/item/weapon/paper/fluff/awaymissions/caves/shipment_receipt
/obj/item/paper/fluff/awaymissions/caves/shipment_receipt
name = "Shipment Receipt"
info = "<center><b>CARAVAN SERVICES</b></center><br><center><i>Quality service since 2205</i></center><br><br><center><b>SHIPMENT CONTENTS:</b></center><br><br>4 scattershot rifles<br>6 grenades<br>1 laser rifle<br>1 blowup doll"
/obj/item/weapon/paper/fluff/awaymissions/caves/mech_notice
/obj/item/paper/fluff/awaymissions/caves/mech_notice
name = "NOTICE!! paper"
info = "<center><b>NOTICE!!</center></b><br><br><center>Although you may seem indestructible in a mech, remember, THIS SHIT ISN'T LAVA PROOF!! The boys have already had to deal with loosing the last two to salvage because the dumbass thought he could just wade through the lower lakes like it was nothing. The fact he even managed to get back without being fused with what was left of the mech is a miracle in itself. They're built to be resistant against extreme heat, not heat PROOF!</center><br><br><i>Robotics Team</i>"
@@ -2,7 +2,7 @@
//centcomAway items
/obj/item/weapon/paper/pamphlet/centcom/visitor_info
/obj/item/paper/pamphlet/centcom/visitor_info
name = "Visitor Info Pamphlet"
info = "<b> XCC-P5831 Visitor Information </b><br>\
Greetings, visitor, to XCC-P5831! As you may know, this outpost was once \
@@ -14,7 +14,7 @@
and the thrilling pay-per-view broadcasts of <i>PLASTEEL CHEF</i> and <i>THUNDERDOME LIVE</i>.<br> \
We hope you enjoy your stay!"
/obj/item/weapon/paper/fluff/awaymissions/centcom/gateway_memo
/obj/item/paper/fluff/awaymissions/centcom/gateway_memo
name = "Memo to XCC-P5831 QM"
info = "<b>From: XCC-P5831 Management Office</b><br>\
<b>To: Rolf Ingram, XCC-P5831 Quartermaster</b><br>\
@@ -1,82 +1,82 @@
/////////// moonoutpost19 papers
/obj/item/weapon/paper/crumpled/awaymissions/moonoutpost19/hastey_note
/obj/item/paper/crumpled/awaymissions/moonoutpost19/hastey_note
name = "Hastily Written Note"
info = "<i>19 06 2554</i><br><br><i>I fucking knew it. There was a major breach, that idiotic force field failed and the xenomorphs rushed out and took out the scientists. I've managed to make it to my office and closed the blast doors. I can hear them trying to pry open the doors. Probably don't have long. I have no clue what has happened to the rest of the crew, for all I know they've been killed to produce more of the fucks.</i>"
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/larva_social
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_social
name = "Larva Xenomorph Social Interactions & Capturing Procedure"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.<br><br>The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive or violent when young, before molting to adulthood.<br><br>The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.<br><br>It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/xeno_queen
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_queen
name = "Queen Xenomorph Physiology & Behavior Observation"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>I have studied many interesting and diverse life-forms as a xenobiologist ranging from creatures as large as cows, to specimens too small see with the naked eye. This is by far the largest alien I have ever seen. The alien we were previously studying has molted and has become an absolutely enormous creature. Standing at over 15 feet tall and weighing in at likely two tons or more, the xenomorph queen is an absolutely breathtakingly large and cruel monster. Its behavior has changed drastically from when it was a drone, having become far more comfortable with sitting and staring at us, rather than smashing at the windows.<br><br>The queen, physiologically speaking, is fairly similar to the other xenomorphs, with a few key differences. Its enormous size demands large legs, while the back seems to be always hunched forward. The dorsal tubes on the back have changed to several large spikes, and we observed the alien now sports a second pair of smaller arms on its chest. The purpose of these secondary arms is still unknown. Finally, the queen's crown has become incredibly large, with what seems to be a retractable slot to hide its head in. The dome appears to be extremely thick near the front, and will likely be able to resist a lot of trauma. Despite the enormous size it has grown to, it is not that much slower than it used to be.<br><br>After two hours of doing relatively nothing but staring, the queen began to produce an unusually large amount of resin and weeds, quickly shaping up a large nest that it then hid behind. It then proceeded to smash out all the lights, leaving us with very little to see with our cameras. When we looked through the back cameras, we had discovered that it had grown a large ovipositor, and was releasing large eggs onto the ground. This had us all in agreement that this stage of the life cycle was the queen.<br><br>Over the next few hours, the eggs grew to their full sizes, and we provided the subject with new monkey hosts. When they approached the eggs, they opened to release more facehuggers. It seems that we have observed the full cycle of reproduction for this species. We can expect more larvae in the next few hours."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/xeno_adult
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_adult
name = "Adult Xenomorph Physiology & Behavior Observation"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>03/06/2554</u><br><br>Report:<br>The other scientists and I can hardly believe our eyes. The snake-like larva has molted into a 7 foot tall insectoid nightmare in just a few hours. It's obvious now as to why such heavy duty containment was needed. It immediately tried to escape however by flinging itself at the window in a flurry of swipes and stabs. It seems its behavior has returned to a state that is very similar to the facehugger, though I doubt with the same intent! Thankfully, our glass and shields have shown to be more than sturdy enough for such a violent creature, and so far, any attempts at the creature escaping have been in vain.<br><br>As for its physiology, the creature has an elongated head with what appears to be have an exoskeleton resembling an external rib-cage on the torso. The alien is also fairly skinny with a lean body. The little amount of meat on the alien appears to be entirely muscle. We assume this makes it deceptively strong, while remaining agile at the same time. One of the most interesting things we have seen is its pharyngeal jaw. It has some what of an inner mouth capable of being fired externally at extremely high speeds. It has already caused many dents in the walls and a few small cracks in the window with it. The alien also has a couple of dorsal tubes on its back, their purpose unknown. Finally, this monster sports a long ridged tail, complete with a large and extremely sharp blade at the tip.<br><br>Normally I would be absolutely terrified of something like this, but I'm putting my trust in Nanotrasen with the containment. After all, they wouldn't build a cell that could fail to contain its subject, would they?"
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/larva_psych
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_psych
name = "Larva Xenomorph Physiology & Behavior Observation"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>03/06/2554</u><br><br>Report:<br>When the larva first emerged from the chest of the monkey, it seemed very curious. It would wander around aimlessly for awhile and then sit still. We are unable to determine the gender of the larva, or even determine if it has a gender. After some time had passed, it seemed to lose interest in its surroundings and sat mostly still while occasionally wagging its tail. We decided to throw in a live mouse to see if it would consume it. The larva quickly attacked and ate the mouse and seemed to get larger very suddenly, this suggests that the larvae are capable of metabolizing and directing all the energy towards growth at previously thought impossible speeds. It is a shame that we cannot observe the process more closely, as we do not currently know how dangerous or violent this creature is or will become as it matures fully.<br><br>It is tempting to imagine the possibilities of utilizing such a mechanism. The capability of skipping years of growth time for children, repairing bodily damage in a matter of moments, even its usage in existing cloning technology."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/facehugger
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/facehugger
name = "'Facehugger' Xenomorph Physiology & Behavior Observation"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>03/06/2554</u><br><br>Report:<br>The test subject we were provided with truly is alien. It is a small spider-like creature with bony legs leading to a smooth body. It has a long tail connected to it, and it has shown extremely aggressive behavior by flinging its entire body at the glass and shields to no avail. While doing so, we noticed there was a small pink hole in the middle of the body.<br><br>When we sent in a monkey through the crude but effective disposal tube, the alien immediately jumped at its face and latched on. The monkey was quickly suffocated by its constricting tail, unable to pry off the fingers. The monkey at first seemed to be dead, but was observed to be breathing. The recently named alien 'facehugger' fell off dead and curled its legs up like a spider moments after it had finished with the monkey's body.<br><br>While the monkey appeared to be unharmed, we kept it in the cell for a couple more hours until we were horrified to discover it screaming out in pain as a snake-like creature erupted from the monkey's chest! It appears that the 'facehugger' is only the start of this life cycle. The impregnation cycle involving the creatures growing inside the chests of their hosts seems to only be the beginning."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind
name = "The Hivemind Hypothesis"
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>17/06/2554</u><br><br>Report:<br>Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so.<br><br>The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?"
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior
name = "A Preliminary Study of Alien Behavior"
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>08/06/2554</u><br><br>Report:<br>The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host.<br><br>The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes
name = "The Xenomorph 'Castes'"
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>06/06/2554</u><br><br>Report:<br>While observing the growing number of aliens in the containment cell, we began to notice subtle differences that were consistently repeating. Like ants, these creatures clearly have different specialized variations that determine their roles in the hive. We have dubbed the three currently observed castes as Hunters, Drones, and Sentinels.<br><br>Hunters have been observed to be by far the most aggressive and agile of the three, constantly running on every surface and frequently swiping at the windows. They are also remarkably good at camouflaging themselves in darkness and on their resin structures, appearing almost invisible to the unwary observer. They are always the first to reach the monkeys we send in leading us to believe that this caste is primarily used for finding and retrieving hosts.<br><br>Drones on the other hand are much more docile and seem more shy by comparison, though not any less aggressive than the other castes. They have been observed to have a much wider head and lack dorsal tubes. They have shown to be less agile and visibly more fragile than any other caste. The drone however has never been observed to interact with the monkeys directly and instead preferring maintenance of the hive by building walls of resin and moving eggs around the nest. As far as we know, we have only ever observed a drone become a queen, and we have no way of knowing if the other castes have that capability.<br><br>Lastly, we have the Sentinels, which appear at first glance to be the guards of the hive. They have so far been only observed to remain near the queen and the eggs, frequently curled up against the walls. We have only observed one instance where they have interacted with a monkey who strayed too closely to the queen, and was pounced and held down immediately until it was applied with a facehugger. Their lack of movement makes it difficult to determine their exact purpose as guards, sentries, or other role."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy
name = "Larva Xenomorph Autopsy Report"
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>After an extremely dangerous, time consuming and costly dissection, we have managed to record and identify several of the organs inside of the first stage of the xenomorph cycle: the larva. This procedure took an extensive amount of time because these creatures have incredibly, almost-comically acidic blood that can melt through almost anything in a few moments. We had to use over a dozen scalpels and retractors to complete the autopsy.<br><br>The larva seems to possess far fewer and quite different organs than that of a human. There is a stomach, with no digestive tract, a heart, which seems to lack any blood-oxygen circulation purpose, and an elongated brain, even though its as dumb as any large cat. It also lacks any liver, kidneys, or other basic organs.<br><br>We can't determine the exact nature of how these creatures grow, nor if they gain organs as they become adults. The larger breeds of xenomorph are too dangerous to kill and capture to give us an accurate answer to these questions. All that we can conclude is that being able to function with so little and yet be so deadly means that these creatures are highly evolved and likely to be extremely durable to various hazards that would otherwise be lethal to humans."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/research/evacuation
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/evacuation
name = "Evacuation Procedure"
info = "<h3><font color=red>In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediatly.</h3></b><br><br><h3>Current Xenobiology Containment Level:<u><strike>Secure</strike><i><b> RUN </h3></b></i></u>"
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/log/personal
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal
name = "Personal Log"
info = "Log 1:<br>We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal.<br><br>Log 2:<br>Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before - They don't know we're here, that engineer was too drunk to recognise his suit, especially since I had it painted orange. He's starting to get annoying. We're safe.<br><br>Log 3:<br>Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/log/personal_2
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal_2
name = "Personal Log"
info = "Log 1:<br>While mining today I noticed the NT station was finished with its renovations. They placed some huge reinforced tumor on the station, looks so ugly. I wouldn't be surprised if those pigs decided to turn that little astronomy outpost into a prison with that thing, it'd be pretty typical of them.<br><br>Log 2:<br>Really dumb of me but I just waved at an engineer in the outpost, and he waved back. I hope to god he was too dumb or drunk to recognize the suit, because if he isn't then we might have to pull out before they come looking for us.<br><br>Log 3:<br>That huge reinforced tumor in their science section has been making a lot of noise lately. I've been hearing some banging and scratching from the other side and I'm kind of glad now that they reinforced this thing so much. I'll be sleeping with my gun under my pillow from now on."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/engineering
/obj/item/paper/fluff/awaymissions/moonoutpost19/engineering
name = "Engineering Instructions"
info = "Alright, listen up. If you're reading this, I'm either taking a shit or I've been recalled back to Command. Either way, you'll need to know how to restore power. We've stolen this stuff from Nanotrasen, so all the equipment is jury-rigged. We have generators that work on both plasma and uranium, about 50 sheets should power the outpost for quite a while. If the generators aren't working, which is very likely, take the power cell on the desk and put it into the APC in the hallway. That should get the place running, at least for a little while."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/log/kenneth
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/kenneth
name = "Personal Log - Kenneth Cunningham"
info = "Entry One - 27/05/2554:<br>I just arrived, and already I hate my job. I'm stuck on this shithole of an outpost, trying to avoid these damn eggheads running all over the place preparing for god knows what. There's no crimes to stop, no syndies to kill, and I'm not even allowed to beat the fuckin' assistant senseless! They said I was transferred from Space Station 13 for 'good behavior', but this feels more like a punishment than a reward. All I know is that if I don't get some action soon, I'm going to go insane.<br><br>Entry Two - 03/06/2554:<br>Okay, so get this: we got a fuckin' deathsquad coming in today! I thought the day I saw one of them would be the day my employment was 'terminated', if you get my drift. They're escorting some sort of weird alien creature for the eggheads to study. I heard one of the docs telling the chef that this thing killed a whole security force before it was captured. I sure as hell hope that I don't have to fight it.<br><br>Entry Three - 08/06/2554:<br>My first real bit of 'action' today, if you could call it that. Crazy Ivan got in a fight with Kuester today about his Booze-O-Mat. Apparently one of the crewmembers had stolen a couple bottles of booze from the machine after Ivan disabled the ID lock. Tell you the truth, I don't blame the thief. Everyone is going a little stir-crazy in here, and the bartender is being damn stingy with the alcohol. Either way, once they started to pick a fight, I had to take them down. It's a damn shame that we don't have a brig, though. I had to lock Ivan in a fuckin' freezer, for god's sake. Let's hope that we can keep our sanity together, at least for a while.<br><br>Entry Four - 10/06/2554:<br>Jesus fucking Christ riding on a motorbike. These things the scientists are studying are terrifying! Fucking great huge purple bug things as tall as the ceiling, with blades for arms and drooling at the mouth. I don't think my taser will do jack shit against these damn things, but the eggheads say that they're safely contained. If they do, I have a feeling that it's only a matter of time before we're all screwed. These bastards look like walking death.<br><br>Entry Five - 18/06/2554:<br>Finally caught who stole the booze from Kuester. It was that fuckin' loser assistant Steve! He was in the dorms, chugging his worries away. I took one of the bottles back to the barkeep, but no one has to know about this second one. I think I'm gonna enjoy this while watching tomorrow's Thunderdome match.<br><br>Entry Six - 19/06/2554:<br>Oh, great. The chef is still sleeping, so we get Ivan's gruel for breakfast today. I overheard Sano and Douglas saying something about the aliens being restless, so we might get some action today. As long as it happens after the big game, I'm fine with it. I still got one beer to drink before I'm ready to die."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/log/ivan
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/ivan
name = "Personal Log - Ivan Volodin"
info = "Ivan Volodin Stories:<br><br>Entry Won - 28/05/2554:<br>Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.<br><br>Entry Too - 05/06/2554:<br>I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.<br><br>Entry Tree - 08/06/2554:<br>Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.<br><br>Entry Fore - 12/06/2554:<br>Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?<br><br>Entry Fiv - 15/06/2554:<br>I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.<br><br>Entry Sex: 19/06/2554:<br>Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/log/gerald
/obj/item/paper/fluff/awaymissions/moonoutpost19/log/gerald
name = "Personal Log - Gerald Rosswell"
info = "Personal Log for Research Director Gerald Rosswell<br><br>Entry One - 17/05/2554:<br>You know, I can't believe I took this position so suddenly. I saw that corporate needed a research director for one of it's outposts and thought it would be a cakewalk, there isn't going to be a lot of research to be done on a tiny outpost. Mainly just running scans on the gas giant we are orbiting or some basic RnD. However, they conveniently forgot to tell me that me and my science staff would have to pull double duty as medical staff and that there is no one higher up on the chain of command here, so I get to pull triple duty as acting captain as well! This shit is probably allowed in some 3 point fine print buried underneath the literally thousands of pages of contracts. Well, at least the research will be easy work.<br><br>Entry Two - 25/05/2554:<br>Well, we all expected it at the outpost, CentCom has decided to completely change what research we are doing. They've decided that we should be research the species known as 'xenomporphs'. They announced this change 4 days ago and along with it, sadly, the termination of our current science staff barring me. Not to mention the constant noise made by the construction detail they sent to staple on an xenobiology lab ensuring no one has been able to sleep decently ever since they announced the shift. To make matters worse our current security guard actually died of a heart attack today. Just goes to show that 75 year old men shouldn't be security guards. Still can't believe that they decided to do this major change less than a month after the outpost was established.<br><br>Entry Three - 27/05/2554:<br>The new security guard arrived today. Apparently transferred here from the research station that also is orbiting the gas giant. He seems to be rather angry about his transfer. Considering the rumors I've heard about the research station he's probably caught off guard by the fact that Steve hasn't tried to force an IED down his throat.<br><br>Entry Four - 06/06/2554:<br>My requests for additional security and containment measures for the 'xenomorph' has been denied. Does Central Command not notice how dangerous these creatures are? The only thing keeping them in is a force field, a minor problem with the power grid and the entire hive is loose. What would stop them then, the lone security guard with a dinky little taser? Kenneth can barely handle a short-tempered engineer. We are under equipped and under staffed, we are inevitably going to be destroyed unless we get the equipment and staff we need.<br><br>Entry Five - 10/06/2554:<br>Cunningham got a good look at the xenomorph in containment. He was frightened for the rest of the day, rather amusing if it wasn't for the fact that we are all trapped on this scrap heap with naught but a force field keeping those xenomorphs in.<br><br>Entry Six - 17/06/2554:<br>The reactions from the specimens today has shown that they possess strange mental properties. Mark hypothesizes that they possibly have a sort of hive mind, while nothing is certain this would explain how xenomorphs seem to have vastly increased intellect when a 'queen' is present. Of course, to test this hypothesis would require many complicated procedures which we will not be able to undertake. But we do not know the full extend of the xenomorph mind, it may or may not be able to find a way to circumvent our containment system. I will resend my request for additional security measures along with this new found information."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/food_specials
/obj/item/paper/fluff/awaymissions/moonoutpost19/food_specials
name = "Specials This Week"
info = "<b><h2>I Can't Believe It's Not Pasta: Half off on Wednesdays</h2></b><br><br><b><h2><font color=blue>Burger night every Friday 6PM-10PM, free drinks with purchase of meal!</font></h2></b><br><br><b><h2><font color=red>Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM</font></h2></b>"
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/welcome
/obj/item/paper/fluff/awaymissions/moonoutpost19/welcome
name = "Welcome Notice"
info = "<p><p align=center><h2>Welcome to Moon Outpost 19! Property of Nanotrasen Inc.</h2></p><hr><br><br>Staff Roster:<br>-Dr. Gerald Rosswell: Research Director & Acting Captain<br>-Dr. Sakuma Sano: Xenobiologist<br>-Dr. Mark Douglas: Xenobiologist<br>-Kenneth Cunningham: Security Officer-Ivan Volodin: Engineer<br>-Mathias Kuester: Bartender<br>-Sven Edling: Chef<br>-Steve: Assistant<br><br>Please enjoy your stay, and report any abnormalities to an officer."
/obj/item/weapon/paper/fluff/awaymissions/moonoutpost19/goodbye_note
/obj/item/paper/fluff/awaymissions/moonoutpost19/goodbye_note
name = "Note"
info = "<i>Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all.</i>"
@@ -1,5 +1,5 @@
//research papers
/obj/item/weapon/paper/crumpled/awaymissions/research/sensitive_info
/obj/item/paper/crumpled/awaymissions/research/sensitive_info
info = "Theres a lot of sensitive info on these disks, try and keep them secure! If these backup copies get into the wrong hands, god knows what they could do with the genetic research on these disk.."
@@ -1,27 +1,27 @@
/////////// papers
/obj/item/weapon/paper/crumpled/ruins/snowdin/snowdingatewaynotice
/obj/item/paper/crumpled/ruins/snowdin/snowdingatewaynotice
name = "scribbled note"
info = {"The gateway has been inactive for months, engineers think it's due to the recent drop in tempature fucking with the
circuitry or something. Without a constant supply of resources from central command, our stock is getting awfully low. Some of the security members have taken to
using the sparse rifle ammo left to hunting some of the wildlife to try and keep our food supply from emptying. God forbid if the heating goes out, I don't want to
die as a fucking popsicle down here."}
/obj/item/weapon/paper/crumpled/ruins/snowdin/misc1
/obj/item/paper/crumpled/ruins/snowdin/misc1
name = "Mission Prologue"
info = {"Holy shit, what a rush! Those Nanotrasen bastards didn't even know what hit 'em! All five of us dropped in right on the captain, didn't even have time to yell! We were in and out with that disk in mere minutes!
Crew didn't even know what was happening till the delta alert went down and by then were were already gone. We got a case to drink on the way home to celebrate, fuckin' job well done!"}
/obj/item/weapon/paper/crumpled/ruins/snowdin/keys
/obj/item/paper/crumpled/ruins/snowdin/keys
name = "scribbled note"
info = {"As a notice for anyone looking to borrow an ATV, some asshat lost the key set for all the vehicles. Nobody has yet to actually come forward about the potential where-abouts, either due to embarrassment or fear of
reprecussions. I hope they enjoy walking through that shit snow during the next shipment because I sure as hell ain't."}
/obj/item/weapon/paper/fluff/awaymissions/snowdin/saw_usage
/obj/item/paper/fluff/awaymissions/snowdin/saw_usage
name = "SAW Usage"
info = "YOU SEEN IVAN, WHEN YOU HOLD SAAW LIKE PEESTOL, YOU STRONGER THAN RECOIL FOR FEAR OF HITTING FACE!"
/obj/item/weapon/paper/fluff/awaymissions/snowdin/log
/obj/item/paper/fluff/awaymissions/snowdin/log
name = "Activity Log"
info = {"<b><center>ACTIVITY LOG</b></center><br><br><b>June 3rd</b><br>We've moved to the main base in the valley finally, apparently establishing a listening system on a planet
that never stops fucking snowing is a great idea. There's a few outposts further south we'll be supplying from the main gateway. The summer months are enough already, I can only imagine how bad it'll be during winter.<br><br><b>August 23rd</b><br>
@@ -33,7 +33,7 @@
<br><br><b>December 10th</b><br>Signal has gotten much stronger, it almost seems like it's coming from under us according to what the researcher managed to decypher. We're waiting from the go from central before investigating.<br><br>
<i>The rest of the paper seems to be a mixture of scribbles and smudged ink.</i> "}
/obj/item/weapon/paper/fluff/awaymissions/snowdin/log2
/obj/item/paper/fluff/awaymissions/snowdin/log2
name = "Activity Log"
info = {"<b><center>ACTIVITY LOG</b></center><br><br><b>June 14th</b><br>Movement to the second post is finally done. We're located on the southernmost area of the valley with a similar objective as the northern post.
There are two mid-way stops on the eastern and western sides of the valley so movement in between bases isn't horrible. Not too big of a fan of relying on the northern base for
@@ -43,7 +43,7 @@
shipment of supplies. The snow has really kicked up recently, shits almost like a constant blizzard right now. Maybe it'll drop down soon so we can get a word in.<br><br>
<i>The rest of the paper seems to be a mixture of scribbles and smudged ink.</i> "}
/obj/item/weapon/paper/fluff/awaymissions/snowdin/secnotice
/obj/item/paper/fluff/awaymissions/snowdin/secnotice
name = "Security Notice"
info = {"You have been assigned a position on a listening outpost. Here you'll be watching over several crewmembers assigned to watching signals of the general area.
As not much is expected in terms of issues, we've only assigned one guard per outpost. Crewmembers are expected to keep to their regulated work schedules and may be
@@ -51,23 +51,23 @@
should be punished severely as to prevent future incidients. Mutiny and/or rioting should be reported to central and dealt with swiftly. You're here to secure and protect
Nanotrasen assets, not be a police officer. Do what you must, but make sure it's not messy."}
/obj/item/weapon/paper/fluff/awaymissions/snowdin/syndienotice
/obj/item/paper/fluff/awaymissions/snowdin/syndienotice
name = "Assignment Notice"
info = {"You've been assigned as an agent to listen in on Nanotrasen activities from passing ships and nearby stations. The outpost you've been assigned to is under lays of solid
ice and we've supplied you with a scrambler to help avoid Nanotrasen discovery, as they've recently built a listening post of their own aboveground. Get aquainted with your new
crewmates, because you're gonna be here for awhile. Enjoy the free syndicakes."}
/obj/item/weapon/paper/crumpled/ruins/snowdin/syndielava
/obj/item/paper/crumpled/ruins/snowdin/syndielava
name = "scribbled note"
info = {"Some cracks in the ice nearby have exposed some sort of hidden magma stream under all this shit ice. I don't know whats worse at this point honestly; freezing to death or
burning alive."}
/obj/item/weapon/paper/crumpled/ruins/snowdin/lootstructures
/obj/item/paper/crumpled/ruins/snowdin/lootstructures
name = "scribbled note"
info = {"From what we've seen so far, theres a ton of iced-over ruins down here in the caves. We sent a few men out to check things out and they never came back, so we decided to
border up majority of the ruins. We've heard some weird shit coming out of these caves and I'm not gonna find out the hard way myself."}
/obj/item/weapon/paper/crumpled/ruins/snowdin/shovel
/obj/item/paper/crumpled/ruins/snowdin/shovel
name = "shoveling duties"
info = {"Snow piles up bad here all-year round, even worse during the winter months. Keeping a constant rotation of shoveling that shit out of the way of the airlocks and keeping the paths decently clear
is a good step towards not getting stuck walking through knee-deep snow."}
@@ -81,21 +81,21 @@
name = "why are you using this dummy"
lootdoubles = 0
lootcount = 1
loot = list(/obj/item/weapon/bikehorn = 100)
loot = list(/obj/item/bikehorn = 100)
/obj/effect/spawner/lootdrop/snowdin/dungeonlite
name = "dungeon lite"
loot = list(/obj/item/weapon/melee/classic_baton = 11,
/obj/item/weapon/melee/classic_baton/telescopic = 12,
/obj/item/weapon/spellbook/oneuse/smoke = 10,
/obj/item/weapon/spellbook/oneuse/blind = 10,
/obj/item/weapon/storage/firstaid/regular = 45,
/obj/item/weapon/storage/firstaid/toxin = 35,
/obj/item/weapon/storage/firstaid/brute = 27,
/obj/item/weapon/storage/firstaid/fire = 27,
/obj/item/weapon/storage/toolbox/syndicate = 12,
/obj/item/weapon/grenade/plastic/c4 = 7,
/obj/item/weapon/grenade/clusterbuster/smoke = 15,
loot = list(/obj/item/melee/classic_baton = 11,
/obj/item/melee/classic_baton/telescopic = 12,
/obj/item/spellbook/oneuse/smoke = 10,
/obj/item/spellbook/oneuse/blind = 10,
/obj/item/storage/firstaid/regular = 45,
/obj/item/storage/firstaid/toxin = 35,
/obj/item/storage/firstaid/brute = 27,
/obj/item/storage/firstaid/fire = 27,
/obj/item/storage/toolbox/syndicate = 12,
/obj/item/grenade/plastic/c4 = 7,
/obj/item/grenade/clusterbuster/smoke = 15,
/obj/item/clothing/under/chameleon = 13,
/obj/item/clothing/shoes/chameleon = 10,
/obj/item/borg/upgrade/ddrill = 3,
@@ -103,47 +103,47 @@
/obj/effect/spawner/lootdrop/snowdin/dungeonmid
name = "dungeon mid"
loot = list(/obj/item/weapon/defibrillator/compact = 6,
/obj/item/weapon/storage/firstaid/tactical = 35,
/obj/item/weapon/shield/energy = 6,
/obj/item/weapon/shield/riot/tele = 12,
/obj/item/weapon/dnainjector/lasereyesmut = 7,
/obj/item/weapon/gun/magic/wand/fireball/inert = 3,
/obj/item/weapon/pneumatic_cannon = 15,
/obj/item/weapon/melee/transforming/energy/sword = 7,
/obj/item/weapon/spellbook/oneuse/knock = 15,
/obj/item/weapon/spellbook/oneuse/summonitem = 20,
/obj/item/weapon/spellbook/oneuse/forcewall = 17,
/obj/item/weapon/storage/backpack/holding = 12,
/obj/item/weapon/grenade/spawnergrenade/manhacks = 6,
/obj/item/weapon/grenade/spawnergrenade/spesscarp = 7,
/obj/item/weapon/grenade/clusterbuster/inferno = 3,
loot = list(/obj/item/defibrillator/compact = 6,
/obj/item/storage/firstaid/tactical = 35,
/obj/item/shield/energy = 6,
/obj/item/shield/riot/tele = 12,
/obj/item/dnainjector/lasereyesmut = 7,
/obj/item/gun/magic/wand/fireball/inert = 3,
/obj/item/pneumatic_cannon = 15,
/obj/item/melee/transforming/energy/sword = 7,
/obj/item/spellbook/oneuse/knock = 15,
/obj/item/spellbook/oneuse/summonitem = 20,
/obj/item/spellbook/oneuse/forcewall = 17,
/obj/item/storage/backpack/holding = 12,
/obj/item/grenade/spawnergrenade/manhacks = 6,
/obj/item/grenade/spawnergrenade/spesscarp = 7,
/obj/item/grenade/clusterbuster/inferno = 3,
/obj/item/stack/sheet/mineral/diamond{amount = 15} = 10,
/obj/item/stack/sheet/mineral/uranium{amount = 15} = 10,
/obj/item/stack/sheet/mineral/plasma{amount = 15} = 10,
/obj/item/stack/sheet/mineral/gold{amount = 15} = 10,
/obj/item/weapon/spellbook/oneuse/barnyard = 4,
/obj/item/weapon/pickaxe/drill/diamonddrill = 6,
/obj/item/spellbook/oneuse/barnyard = 4,
/obj/item/pickaxe/drill/diamonddrill = 6,
/obj/item/borg/upgrade/vtec = 7,
/obj/item/borg/upgrade/disablercooler = 7)
/obj/effect/spawner/lootdrop/snowdin/dungeonheavy
name = "dungeon heavy"
loot = list(/obj/item/weapon/twohanded/singularityhammer = 25,
/obj/item/weapon/twohanded/mjollnir = 10,
/obj/item/weapon/twohanded/fireaxe = 25,
loot = list(/obj/item/twohanded/singularityhammer = 25,
/obj/item/twohanded/mjollnir = 10,
/obj/item/twohanded/fireaxe = 25,
/obj/item/organ/brain/alien = 17,
/obj/item/weapon/twohanded/dualsaber = 15,
/obj/item/twohanded/dualsaber = 15,
/obj/item/organ/heart/demon = 7,
/obj/item/weapon/gun/ballistic/automatic/c20r/unrestricted = 16,
/obj/item/weapon/gun/magic/wand/resurrection/inert = 15,
/obj/item/weapon/gun/magic/wand/resurrection = 10,
/obj/item/gun/ballistic/automatic/c20r/unrestricted = 16,
/obj/item/gun/magic/wand/resurrection/inert = 15,
/obj/item/gun/magic/wand/resurrection = 10,
/obj/item/device/radio/uplink/old = 2,
/obj/item/weapon/spellbook/oneuse/charge = 12,
/obj/item/weapon/grenade/clusterbuster/spawner_manhacks = 15,
/obj/item/weapon/spellbook/oneuse/fireball = 10,
/obj/item/weapon/pickaxe/drill/jackhammer = 30,
/obj/item/spellbook/oneuse/charge = 12,
/obj/item/grenade/clusterbuster/spawner_manhacks = 15,
/obj/item/spellbook/oneuse/fireball = 10,
/obj/item/pickaxe/drill/jackhammer = 30,
/obj/item/borg/upgrade/syndicate = 13,
/obj/item/borg/upgrade/selfrepair = 17)
@@ -154,8 +154,8 @@
loot = list(/obj/item/stack/sheet/mineral/snow{amount = 25} = 10,
/obj/item/toy/snowball = 15,
/obj/item/weapon/shovel = 10,
/obj/item/weapon/twohanded/spear = 8,
/obj/item/shovel = 10,
/obj/item/twohanded/spear = 8,
)
//special items//--
@@ -171,12 +171,12 @@
desc = "High speed, low drag combat boots, now with an added layer of insulation."
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
/obj/item/weapon/gun/magic/wand/fireball/inert
/obj/item/gun/magic/wand/fireball/inert
name = "weakened wand of fireball"
desc = "This wand shoots scorching balls of fire that explode into destructive flames. The years of the cold have weakened the magic inside the wand."
max_charges = 4
/obj/item/weapon/gun/magic/wand/resurrection/inert
/obj/item/gun/magic/wand/resurrection/inert
name = "weakened wand of healing"
desc = "This wand uses healing magics to heal and revive. The years of the cold have weakened the magic inside the wand."
max_charges = 5
@@ -215,9 +215,9 @@
uniform = /obj/item/clothing/under/syndicate/coldres
shoes = /obj/item/clothing/shoes/combat/coldres
ears = /obj/item/device/radio/headset/syndicate/alt
r_pocket = /obj/item/weapon/gun/ballistic/automatic/pistol
l_pocket = /obj/item/weapon/card/id/syndicate
implants = list(/obj/item/weapon/implant/exile)
r_pocket = /obj/item/gun/ballistic/automatic/pistol
l_pocket = /obj/item/card/id/syndicate
implants = list(/obj/item/implant/exile)
/obj/effect/mob_spawn/human/syndicatesoldier/coldres/alive/female
mob_gender = FEMALE
@@ -23,20 +23,20 @@
name = "Safecode hint spawner"
/obj/effect/landmark/sc_bible_spawner/New()
var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible/booze(src.loc)
var/obj/item/storage/book/bible/B = new /obj/item/storage/book/bible/booze(src.loc)
B.name = "The Holy book of the Geometer"
B.deity_name = "Narsie"
B.icon_state = "melted"
B.item_state = "melted"
new /obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_bible(B)
new /obj/item/weapon/pen(B)
new /obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible(B)
new /obj/item/pen(B)
qdel(src)
/*
* Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map.
*/
//Captain's retro laser - Fires practice laser shots instead.
/obj/item/weapon/gun/energy/laser/retro/sc_retro
/obj/item/gun/energy/laser/retro/sc_retro
name ="retro laser"
icon_state = "retro"
desc = "An older model of the basic lasergun, no longer used by Nanotrasen's security or military forces."
@@ -44,25 +44,25 @@
clumsy_check = 0 //No sense in having a harmless gun blow up in the clowns face
//Syndicate sub-machine guns.
/obj/item/weapon/gun/ballistic/automatic/c20r/sc_c20r
/obj/item/gun/ballistic/automatic/c20r/sc_c20r
/obj/item/weapon/gun/ballistic/automatic/c20r/sc_c20r/Initialize()
/obj/item/gun/ballistic/automatic/c20r/sc_c20r/Initialize()
. = ..()
for(var/ammo in magazine.stored_ammo)
if(prob(95)) //95% chance
magazine.stored_ammo -= ammo
//Barman's shotgun
/obj/item/weapon/gun/ballistic/shotgun/sc_pump
/obj/item/gun/ballistic/shotgun/sc_pump
/obj/item/weapon/gun/ballistic/shotgun/sc_pump/Initialize()
/obj/item/gun/ballistic/shotgun/sc_pump/Initialize()
. = ..()
for(var/ammo in magazine.stored_ammo)
if(prob(95)) //95% chance
magazine.stored_ammo -= ammo
//Lasers
/obj/item/weapon/gun/energy/laser/practice/sc_laser
/obj/item/gun/energy/laser/practice/sc_laser
name = "Old laser"
desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly."
clumsy_check = 0
@@ -79,30 +79,30 @@ GLOBAL_VAR_INIT(sc_safecode4, "[rand(0,9)]")
GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]")
//Pieces of paper actually containing the hints
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_prison
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison
name = "smudged paper"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_prison/New()
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison/New()
info = "<i>The ink is smudged, you can only make out a couple numbers:</i> '[GLOB.sc_safecode1]**[GLOB.sc_safecode4]*'"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro
name = "shredded paper"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro/New()
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro/New()
info = "<i>Although the paper is shredded, you can clearly see the number:</i> '[GLOB.sc_safecode2]'"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_caf
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_caf
name = "blood-soaked paper"
//This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode]
info = "<font color=red><i>This paper is soaked in blood, it is impossible to read any text.</i></font>"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_bible
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible
name = "hidden paper"
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_bible/New()
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible/New()
info = {"<i>It would appear that the pen hidden with the paper had leaked ink over the paper.
However you can make out the last three digits:</i>'[GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]'
"}
/obj/item/weapon/paper/fluff/awaymissions/stationcollision/safehint_paper_shuttle
/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_shuttle
info = {"<b>Target:</b> Research-station Epsilon<br>
<b>Objective:</b> Prototype weaponry. The captain likely keeps them locked in her safe.<br>
<br>
@@ -118,18 +118,18 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]")
/*
* Captain's safe
*/
/obj/item/weapon/storage/secure/safe/sc_ssafe
/obj/item/storage/secure/safe/sc_ssafe
name = "Captain's secure safe"
/obj/item/weapon/storage/secure/safe/sc_ssafe/New()
/obj/item/storage/secure/safe/sc_ssafe/New()
..()
l_code = "[GLOB.sc_safecode1][GLOB.sc_safecode2][GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]"
l_set = 1
new /obj/item/weapon/gun/energy/mindflayer(src)
new /obj/item/gun/energy/mindflayer(src)
new /obj/item/device/soulstone(src)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
//new /obj/item/weapon/teleportation_scroll(src)
new /obj/item/weapon/ore/diamond(src)
//new /obj/item/teleportation_scroll(src)
new /obj/item/ore/diamond(src)
/*
* Modified Nar-Sie
@@ -6,23 +6,23 @@
////////// wildwest papers
/obj/item/weapon/paper/fluff/awaymissions/wildwest/grinder
/obj/item/paper/fluff/awaymissions/wildwest/grinder
info = "meat grinder requires sacri"
/obj/item/weapon/paper/fluff/awaymissions/wildwest/journal/page1
/obj/item/paper/fluff/awaymissions/wildwest/journal/page1
name = "Planer Saul's Journal: Page 1"
info = "We've discovered something floating in space. We can't really tell how old it is, but it is scraped and bent to hell. There object is the size of about a room with double doors that we have yet to break into. It is a lot sturdier than we could have imagined. We have decided to call it 'The Vault' "
/obj/item/weapon/paper/fluff/awaymissions/wildwest/journal/page4
/obj/item/paper/fluff/awaymissions/wildwest/journal/page4
name = "Planer Saul's Journal: Page 4"
info = " The miners in the town have become sick and almost all production has stopped. They, in a fit of delusion, tossed all of their mining equipment into the furnaces. They all claimed the same thing. A voice beckoning them to lay down their arms. Stupid miners."
/obj/item/weapon/paper/fluff/awaymissions/wildwest/journal/page7
/obj/item/paper/fluff/awaymissions/wildwest/journal/page7
name = "Planer Sauls' Journal: Page 7"
info = "The Vault...it just keeps growing and growing. I went on my daily walk through the garden and now its just right outside the mansion... a few days ago it was only barely visible. But whatever is inside...its calling to me."
/obj/item/weapon/paper/fluff/awaymissions/wildwest/journal/page8
/obj/item/paper/fluff/awaymissions/wildwest/journal/page8
name = "Planer Saul's Journal: Page 8"
info = "The syndicate have invaded. Their ships appeared out of nowhere and now they likely intend to kill us all and take everything. On the off-chance that the Vault may grant us sanctuary, many of us have decided to force our way inside and bolt the door, taking as many provisions with us as we can carry. In case you find this, send for help immediately and open the Vault. Find us inside."
+3 -3
View File
@@ -1,8 +1,8 @@
/obj/item/weapon/paper/pamphlet
/obj/item/paper/pamphlet
name = "pamphlet"
icon_state = "pamphlet"
/obj/item/weapon/paper/pamphlet/gateway
/obj/item/paper/pamphlet/gateway
info = "<b>Welcome to the Nanotrasen Gateway project...</b><br>\
Congratulations! If you're reading this, you and your superiors have decided that you're \
ready to commit to a life spent colonising the rolling hills of far away worlds. You \
@@ -35,5 +35,5 @@
environs."
//we don't want the silly text overlay!
/obj/item/weapon/paper/pamphlet/update_icon()
/obj/item/paper/pamphlet/update_icon()
return
+1 -1
View File
@@ -11,7 +11,7 @@
. = ..()
set_light(2)
/obj/structure/signpost/attackby(obj/item/weapon/W, mob/user, params)
/obj/structure/signpost/attackby(obj/item/W, mob/user, params)
return attack_hand(user)
/obj/structure/signpost/attack_hand(mob/user)
@@ -66,7 +66,7 @@
SpeakPeace(list("Congratulations.", "By my very loose calculations you've now wasted a decent chunk of the round doing this.", "But you've seen this meme to its conclusion, and that's a experience in itself, right?"))
if(251)
SpeakPeace(list("Anyway, here.", "I can't give you anything that would impact the progression of the round.","But you've earned this at least."))
var/obj/item/weapon/reagent_containers/food/drinks/trophy/silver_cup/the_ride = new(get_turf(user))
var/obj/item/reagent_containers/food/drinks/trophy/silver_cup/the_ride = new(get_turf(user))
the_ride.name = "Overextending The Joke: Second Place"
the_ride.desc = "There's a point where this needed to stop, and we've clearly passed it."
if(252)
@@ -76,7 +76,7 @@
if(1000)
SpeakPeace(list("The ends exists somewhere beyond meaningful milestones.", "There will be no more messages until then.", "You disgust me."))
if(5643)
var/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup/never_ends = new(get_turf(user))
var/obj/item/reagent_containers/food/drinks/trophy/gold_cup/never_ends = new(get_turf(user))
never_ends.name = "Overextending The Joke: First Place"
never_ends.desc = "And so we are left alone with our regrets."
else
+4 -4
View File
@@ -2,7 +2,7 @@
name = "supply console"
desc = "Used to order supplies, approve requests, and control the shuttle."
icon_screen = "supply"
circuit = /obj/item/weapon/circuitboard/computer/cargo
circuit = /obj/item/circuitboard/computer/cargo
var/requestonly = FALSE
var/contraband = FALSE
var/safety_warning = "For safety reasons the automated supply shuttle \
@@ -15,12 +15,12 @@
name = "supply request console"
desc = "Used to request supplies from cargo."
icon_screen = "request"
circuit = /obj/item/weapon/circuitboard/computer/cargo/request
circuit = /obj/item/circuitboard/computer/cargo/request
requestonly = TRUE
/obj/machinery/computer/cargo/Initialize()
. = ..()
var/obj/item/weapon/circuitboard/computer/cargo/board = circuit
var/obj/item/circuitboard/computer/cargo/board = circuit
contraband = board.contraband
emagged = board.emagged
@@ -34,7 +34,7 @@
contraband = TRUE
// This also permamently sets this on the circuit board
var/obj/item/weapon/circuitboard/computer/cargo/board = circuit
var/obj/item/circuitboard/computer/cargo/board = circuit
board.contraband = TRUE
board.emagged = TRUE
+1 -1
View File
@@ -39,7 +39,7 @@
/datum/export/gear/riot_shield
cost = 400
unit_name = "riot shield"
export_types = list(/obj/item/weapon/shield/riot)
export_types = list(/obj/item/shield/riot)
// Masks
+1 -1
View File
@@ -103,7 +103,7 @@
/datum/export/large/barrier
cost = 325
unit_name = "security barrier"
export_types = list(/obj/item/weapon/grenade/barrier, /obj/structure/barricade/security)
export_types = list(/obj/item/grenade/barrier, /obj/structure/barricade/security)
//Mecha
/datum/export/large/mech
+11 -11
View File
@@ -4,13 +4,13 @@
cost = 200
k_elasticity = 0
unit_name = "approved manifest"
export_types = list(/obj/item/weapon/paper/fluff/jobs/cargo/manifest)
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_correct/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_approved() && !M.errors)
return TRUE
return FALSE
@@ -21,19 +21,19 @@
cost = -500
k_elasticity = 0
unit_name = "correctly denied manifest"
export_types = list(/obj/item/weapon/paper/fluff/jobs/cargo/manifest)
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_error_denied/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_denied() && M.errors)
return TRUE
return FALSE
/datum/export/manifest_error_denied/get_cost(obj/O)
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return ..() + M.order_cost
@@ -41,19 +41,19 @@
// Substracts the package cost.
/datum/export/manifest_error
unit_name = "erroneously approved manifest"
export_types = list(/obj/item/weapon/paper/fluff/jobs/cargo/manifest)
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_error/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_approved() && M.errors)
return TRUE
return FALSE
/datum/export/manifest_error/get_cost(obj/O)
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return -M.order_cost
@@ -62,17 +62,17 @@
/datum/export/manifest_correct_denied
cost = 500
unit_name = "erroneously denied manifest"
export_types = list(/obj/item/weapon/paper/fluff/jobs/cargo/manifest)
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_correct_denied/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_denied() && !M.errors)
return TRUE
return FALSE
/datum/export/manifest_correct_denied/get_cost(obj/O)
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = O
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return ..() - M.order_cost
+5 -5
View File
@@ -4,7 +4,7 @@
var/material_id = null
export_types = list(
/obj/item/stack/sheet/mineral, /obj/item/stack/tile/mineral,
/obj/item/weapon/ore, /obj/item/weapon/coin)
/obj/item/ore, /obj/item/coin)
// Yes, it's a base type containing export_types.
// But it has no material_id, so any applies_to check will return false, and these types reduce amount of copypasta a lot
@@ -22,7 +22,7 @@
if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
amount *= S.amount
else if(istype(I, /obj/item/weapon/ore))
else if(istype(I, /obj/item/ore))
amount *= 0.8 // Station's ore redemption equipment is really goddamn good.
return round(amount/MINERAL_MATERIAL_AMOUNT)
@@ -84,11 +84,11 @@
material_id = MAT_METAL
export_types = list(
/obj/item/stack/sheet/metal, /obj/item/stack/tile/plasteel,
/obj/item/stack/rods, /obj/item/weapon/ore, /obj/item/weapon/coin)
/obj/item/stack/rods, /obj/item/ore, /obj/item/coin)
// Glass. Common building material.
/datum/export/material/glass
message = "cm3 of glass"
material_id = MAT_GLASS
export_types = list(/obj/item/stack/sheet/glass, /obj/item/weapon/ore,
/obj/item/weapon/shard)
export_types = list(/obj/item/stack/sheet/glass, /obj/item/ore,
/obj/item/shard)
+2 -2
View File
@@ -8,12 +8,12 @@
/datum/export/solar/tracker_board
cost = 100
unit_name = "solar tracker board"
export_types = list(/obj/item/weapon/electronics/tracker)
export_types = list(/obj/item/electronics/tracker)
/datum/export/solar/control_board
cost = 150
unit_name = "solar panel control board"
export_types = list(/obj/item/weapon/circuitboard/computer/solar_control)
export_types = list(/obj/item/circuitboard/computer/solar_control)
/datum/export/swarmer
cost = 2000
+3 -3
View File
@@ -2,11 +2,11 @@
/datum/export/tech
cost = 500
unit_name = "technology data disk"
export_types = list(/obj/item/weapon/disk/tech_disk)
export_types = list(/obj/item/disk/tech_disk)
var/list/techLevels = list()
/datum/export/tech/get_cost(obj/O)
var/obj/item/weapon/disk/tech_disk/D = O
var/obj/item/disk/tech_disk/D = O
var/cost = 0
for(var/V in D.tech_stored)
if(!V)
@@ -17,7 +17,7 @@
/datum/export/tech/sell_object(obj/O)
..()
var/obj/item/weapon/disk/tech_disk/D = O
var/obj/item/disk/tech_disk/D = O
for(var/V in D.tech_stored)
if(!V)
continue
+13 -13
View File
@@ -3,7 +3,7 @@
/datum/export/toolbox
cost = 4
unit_name = "toolbox"
export_types = list(/obj/item/weapon/storage/toolbox)
export_types = list(/obj/item/storage/toolbox)
// mechanical toolbox: 22cr
// emergency toolbox: 17-20cr
@@ -14,55 +14,55 @@
/datum/export/screwdriver
cost = 2
unit_name = "screwdriver"
export_types = list(/obj/item/weapon/screwdriver)
export_types = list(/obj/item/screwdriver)
include_subtypes = FALSE
/datum/export/wrench
cost = 2
unit_name = "wrench"
export_types = list(/obj/item/weapon/wrench)
export_types = list(/obj/item/wrench)
/datum/export/crowbar
cost = 2
unit_name = "crowbar"
export_types = list(/obj/item/weapon/crowbar)
export_types = list(/obj/item/crowbar)
/datum/export/wirecutters
cost = 2
unit_name = "pair"
message = "of wirecutters"
export_types = list(/obj/item/weapon/wirecutters)
export_types = list(/obj/item/wirecutters)
// Welding tools
/datum/export/weldingtool
cost = 5
unit_name = "welding tool"
export_types = list(/obj/item/weapon/weldingtool)
export_types = list(/obj/item/weldingtool)
include_subtypes = FALSE
/datum/export/weldingtool/emergency
cost = 2
unit_name = "emergency welding tool"
export_types = list(/obj/item/weapon/weldingtool/mini)
export_types = list(/obj/item/weldingtool/mini)
/datum/export/weldingtool/industrial
cost = 10
unit_name = "industrial welding tool"
export_types = list(/obj/item/weapon/weldingtool/largetank, /obj/item/weapon/weldingtool/hugetank)
export_types = list(/obj/item/weldingtool/largetank, /obj/item/weldingtool/hugetank)
// Fire extinguishers
/datum/export/extinguisher
cost = 15
unit_name = "fire extinguisher"
export_types = list(/obj/item/weapon/extinguisher)
export_types = list(/obj/item/extinguisher)
include_subtypes = FALSE
/datum/export/extinguisher/mini
cost = 2
unit_name = "pocket fire extinguisher"
export_types = list(/obj/item/weapon/extinguisher/mini)
export_types = list(/obj/item/extinguisher/mini)
// Flashlights
@@ -106,14 +106,14 @@
/datum/export/rcd
cost = 100 // 15 metal -> 75 credits, +25 credits for production
unit_name = "rapid construction device"
export_types = list(/obj/item/weapon/construction/rcd)
export_types = list(/obj/item/construction/rcd)
/datum/export/rcd_ammo
cost = 60 // 6 metal, 4 glass -> 50 credits, +10 credits
unit_name = "compressed matter cardridge"
export_types = list(/obj/item/weapon/rcd_ammo)
export_types = list(/obj/item/rcd_ammo)
/datum/export/rpd
cost = 350 // 37.5 metal, 18.75 glass -> 281.25 credits, + some
unit_name = "rapid piping device"
export_types = list(/obj/item/weapon/pipe_dispenser)
export_types = list(/obj/item/pipe_dispenser)
+12 -12
View File
@@ -6,57 +6,57 @@
/datum/export/weapon/baton
cost = 100
unit_name = "stun baton"
export_types = list(/obj/item/weapon/melee/baton)
exclude_types = list(/obj/item/weapon/melee/baton/cattleprod)
export_types = list(/obj/item/melee/baton)
exclude_types = list(/obj/item/melee/baton/cattleprod)
include_subtypes = TRUE
/datum/export/weapon/knife
cost = 750
unit_name = "combat knife"
export_types = list(/obj/item/weapon/kitchen/knife/combat)
export_types = list(/obj/item/kitchen/knife/combat)
/datum/export/weapon/taser
cost = 250
unit_name = "advanced taser"
export_types = list(/obj/item/weapon/gun/energy/e_gun/advtaser)
export_types = list(/obj/item/gun/energy/e_gun/advtaser)
/datum/export/weapon/laser
cost = 250
unit_name = "laser gun"
export_types = list(/obj/item/weapon/gun/energy/laser)
export_types = list(/obj/item/gun/energy/laser)
/datum/export/weapon/disabler
cost = 100
unit_name = "disabler"
export_types = list(/obj/item/weapon/gun/energy/disabler)
export_types = list(/obj/item/gun/energy/disabler)
/datum/export/weapon/energy_gun
cost = 900
unit_name = "energy gun"
export_types = list(/obj/item/weapon/gun/energy/e_gun)
export_types = list(/obj/item/gun/energy/e_gun)
/datum/export/weapon/wt550
cost = 1400
unit_name = "WT-550 automatic rifle"
export_types = list(/obj/item/weapon/gun/ballistic/automatic/wt550)
export_types = list(/obj/item/gun/ballistic/automatic/wt550)
/datum/export/weapon/shotgun
cost = 350
unit_name = "combat shotgun"
export_types = list(/obj/item/weapon/gun/ballistic/shotgun/automatic/combat)
export_types = list(/obj/item/gun/ballistic/shotgun/automatic/combat)
/datum/export/weapon/flashbang
cost = 15
unit_name = "flashbang grenade"
export_types = list(/obj/item/weapon/grenade/flashbang)
export_types = list(/obj/item/grenade/flashbang)
/datum/export/weapon/teargas
cost = 15
unit_name = "tear gas grenade"
export_types = list(/obj/item/weapon/grenade/chem_grenade/teargas)
export_types = list(/obj/item/grenade/chem_grenade/teargas)
/datum/export/weapon/flash
@@ -69,4 +69,4 @@
cost = 3
unit_name = "pair"
message = "of handcuffs"
export_types = list(/obj/item/weapon/restraints/handcuffs)
export_types = list(/obj/item/restraints/handcuffs)
+7 -7
View File
@@ -1,9 +1,9 @@
/obj/item/weapon/paper/fluff/jobs/cargo/manifest
/obj/item/paper/fluff/jobs/cargo/manifest
var/order_cost = 0
var/order_id = 0
var/errors = 0
/obj/item/weapon/paper/fluff/jobs/cargo/manifest/New(atom/A, id, cost)
/obj/item/paper/fluff/jobs/cargo/manifest/New(atom/A, id, cost)
..()
order_id = id
order_cost = cost
@@ -15,10 +15,10 @@
if(prob(MANIFEST_ERROR_CHANCE))
errors |= MANIFEST_ERROR_ITEM
/obj/item/weapon/paper/fluff/jobs/cargo/manifest/proc/is_approved()
/obj/item/paper/fluff/jobs/cargo/manifest/proc/is_approved()
return stamped && stamped.len && !is_denied()
/obj/item/weapon/paper/fluff/jobs/cargo/manifest/proc/is_denied()
/obj/item/paper/fluff/jobs/cargo/manifest/proc/is_denied()
return stamped && ("stamp-deny" in stamped)
/datum/supply_order
@@ -38,7 +38,7 @@
src.reason = reason
/datum/supply_order/proc/generateRequisition(turf/T)
var/obj/item/weapon/paper/P = new(T)
var/obj/item/paper/P = new(T)
P.name = "requisition form - #[id] ([pack.name])"
P.info += "<h2>[station_name()] Supply Requisition</h2>"
@@ -54,7 +54,7 @@
return P
/datum/supply_order/proc/generateManifest(obj/structure/closet/crate/C)
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/P = new(C, id, pack.cost)
var/obj/item/paper/fluff/jobs/cargo/manifest/P = new(C, id, pack.cost)
var/station_name = (P.errors & MANIFEST_ERROR_NAME) ? new_station_name() : station_name()
@@ -85,7 +85,7 @@
/datum/supply_order/proc/generate(turf/T)
var/obj/structure/closet/crate/C = pack.generate(T)
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/M = generateManifest(C)
var/obj/item/paper/fluff/jobs/cargo/manifest/M = generateManifest(C)
if(M.errors & MANIFEST_ERROR_ITEM)
if(istype(C, /obj/structure/closet/crate/secure) || istype(C, /obj/structure/closet/crate/large))
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -38,7 +38,7 @@
var/path = "sound/chatter/[phomeme]_[length].ogg"
playsound(loc, path,
vol = 40, vary = 0, extrarange = 3, falloff = FALSE, surround = 1)
vol = 40, vary = 0, extrarange = 3, falloff = FALSE)
sleep((length + 1) * chatter_get_sleep_multiplier(phomeme))
@@ -343,6 +343,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["job_engsec_low"] >> job_engsec_low
//Citadel code
S["feature_genitals_use_skintone"] >> features["genitals_use_skintone"]
S["feature_exhibitionist"] >> features["exhibitionist"]
S["feature_mcolor2"] >> features["mcolor2"]
S["feature_mcolor3"] >> features["mcolor3"]
@@ -519,6 +520,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["job_engsec_low"] , job_engsec_low)
//Citadel
S["feature_genitals_use_skintone"] << features["genitals_use_skintone"]
S["feature_exhibitionist"] << features["exhibitionist"]
S["feature_mcolor2"] << features["mcolor2"]
S["feature_mcolor3"] << features["mcolor3"]
+34 -34
View File
@@ -119,8 +119,8 @@
update_item(chameleon_list[picked_name])
/datum/action/item_action/chameleon/change/proc/update_look(mob/user, obj/item/picked_item)
if(istype(target, /obj/item/weapon/gun/energy/laser/chameleon))
var/obj/item/weapon/gun/energy/laser/chameleon/CG = target
if(istype(target, /obj/item/gun/energy/laser/chameleon))
var/obj/item/gun/energy/laser/chameleon/CG = target
CG.get_chameleon_projectile(picked_item)
if(isliving(user))
var/mob/living/C = user
@@ -153,7 +153,7 @@
return 1
/datum/action/item_action/chameleon/change/proc/emp_randomise()
if(istype(target, /obj/item/weapon/gun/energy/laser/chameleon))
if(istype(target, /obj/item/gun/energy/laser/chameleon))
return //Please no crash!
START_PROCESSING(SSprocessing, src)
random_look(owner)
@@ -387,7 +387,7 @@
flags_1 = NOSLIP_1
origin_tech = "syndicate=2"
resistance_flags = 0
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50)
var/datum/action/item_action/chameleon/change/chameleon_action
@@ -403,14 +403,14 @@
/obj/item/clothing/shoes/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
/obj/item/weapon/gun/energy/laser/chameleon
/obj/item/gun/energy/laser/chameleon
name = "practice laser gun"
desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice."
ammo_type = list(/obj/item/ammo_casing/energy/chameleon)
clumsy_check = 0
needs_permit = 0
pin = /obj/item/device/firing_pin
cell_type = /obj/item/weapon/stock_parts/cell/bluespace
cell_type = /obj/item/stock_parts/cell/bluespace
var/datum/action/item_action/chameleon/change/chameleon_action
var/list/chameleon_projectile_vars
@@ -422,15 +422,15 @@
var/badmin_mode = FALSE
var/static/list/blacklisted_vars = list("locs", "loc", "contents", "x", "y", "z")
/obj/item/weapon/gun/energy/laser/chameleon/Initialize()
/obj/item/gun/energy/laser/chameleon/Initialize()
. = ..()
chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/weapon/gun
chameleon_action.chameleon_type = /obj/item/gun
chameleon_action.chameleon_name = "Gun"
chameleon_action.chameleon_blacklist = typecacheof(/obj/item/weapon/gun/magic, ignore_root_path = FALSE)
chameleon_action.chameleon_blacklist = typecacheof(/obj/item/gun/magic, ignore_root_path = FALSE)
chameleon_action.initialize_disguises()
/obj/item/weapon/gun/energy/laser/chameleon/Initialize()
/obj/item/gun/energy/laser/chameleon/Initialize()
..()
projectile_copy_vars = list("name", "icon", "icon_state", "item_state", "speed", "color", "hitsound", "forcedodge", "impact_effect_type", "range", "suppressed", "hitsound_wall", "impact_effect_type", "pass_flags")
chameleon_projectile_vars = list("name" = "practice laser", "icon" = 'icons/obj/projectiles.dmi', "icon_state" = "laser")
@@ -439,12 +439,12 @@
ammo_copy_vars = list("firing_effect_type")
chameleon_ammo_vars = list()
recharge_newshot()
get_chameleon_projectile(/obj/item/weapon/gun/energy/laser)
get_chameleon_projectile(/obj/item/gun/energy/laser)
/obj/item/weapon/gun/energy/laser/chameleon/emp_act(severity)
/obj/item/gun/energy/laser/chameleon/emp_act(severity)
return
/obj/item/weapon/gun/energy/laser/chameleon/proc/reset_chameleon_vars()
/obj/item/gun/energy/laser/chameleon/proc/reset_chameleon_vars()
chameleon_ammo_vars = list()
chameleon_gun_vars = list()
chameleon_projectile_vars = list()
@@ -460,7 +460,7 @@
QDEL_NULL(chambered.BB)
chambered.newshot()
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
if(!istype(AC))
CRASH("[AC] is not /obj/item/ammo_casing!")
return FALSE
@@ -473,7 +473,7 @@
var/obj/item/projectile/P = AC.BB
set_chameleon_projectile(P)
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_projectile(obj/item/projectile/P)
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_projectile(obj/item/projectile/P)
if(!istype(P))
CRASH("[P] is not /obj/item/projectile!")
return FALSE
@@ -489,17 +489,17 @@
chambered.projectile_type = P.type
chambered.newshot()
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_gun(obj/item/weapon/gun/G , passthrough = TRUE)
/obj/item/gun/energy/laser/chameleon/proc/set_chameleon_gun(obj/item/gun/G , passthrough = TRUE)
if(!istype(G))
CRASH("[G] is not /obj/item/weapon/gun!")
CRASH("[G] is not /obj/item/gun!")
return FALSE
for(var/V in gun_copy_vars)
if(vars[V] && G.vars[V])
chameleon_gun_vars[V] = G.vars[V]
vars[V] = G.vars[V]
if(passthrough)
if(istype(G, /obj/item/weapon/gun/ballistic))
var/obj/item/weapon/gun/ballistic/BG = G
if(istype(G, /obj/item/gun/ballistic))
var/obj/item/gun/ballistic/BG = G
var/obj/item/ammo_box/AB = new BG.mag_type(G)
qdel(BG)
if(!istype(AB)||!AB.ammo_type)
@@ -507,53 +507,53 @@
return FALSE
var/obj/item/ammo_casing/AC = new AB.ammo_type(G)
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/magic))
var/obj/item/weapon/gun/magic/MG = G
else if(istype(G, /obj/item/gun/magic))
var/obj/item/gun/magic/MG = G
var/obj/item/ammo_casing/AC = new MG.ammo_type(G)
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/EG = G
else if(istype(G, /obj/item/gun/energy))
var/obj/item/gun/energy/EG = G
if(islist(EG.ammo_type) && EG.ammo_type.len)
var/obj/item/ammo_casing/AC = EG.ammo_type[1]
set_chameleon_ammo(AC)
else if(istype(G, /obj/item/weapon/gun/syringe))
else if(istype(G, /obj/item/gun/syringe))
var/obj/item/ammo_casing/AC = new /obj/item/ammo_casing/syringegun(src)
set_chameleon_ammo(AC)
/obj/item/weapon/gun/energy/laser/chameleon/proc/get_chameleon_projectile(guntype)
/obj/item/gun/energy/laser/chameleon/proc/get_chameleon_projectile(guntype)
reset_chameleon_vars()
var/obj/item/weapon/gun/G = new guntype(src)
var/obj/item/gun/G = new guntype(src)
set_chameleon_gun(G)
qdel(G)
/obj/item/weapon/storage/backpack/chameleon
/obj/item/storage/backpack/chameleon
name = "backpack"
var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/weapon/storage/backpack/chameleon/New()
/obj/item/storage/backpack/chameleon/New()
..()
chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/weapon/storage/backpack
chameleon_action.chameleon_type = /obj/item/storage/backpack
chameleon_action.chameleon_name = "Backpack"
chameleon_action.initialize_disguises()
/obj/item/weapon/storage/backpack/chameleon/emp_act(severity)
/obj/item/storage/backpack/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
/obj/item/weapon/storage/belt/chameleon
/obj/item/storage/belt/chameleon
name = "toolbelt"
desc = "Holds tools."
silent = 1
var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/weapon/storage/belt/chameleon/New()
/obj/item/storage/belt/chameleon/New()
..()
chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/weapon/storage/belt
chameleon_action.chameleon_type = /obj/item/storage/belt
chameleon_action.chameleon_name = "Belt"
chameleon_action.initialize_disguises()
/obj/item/weapon/storage/belt/chameleon/emp_act(severity)
/obj/item/storage/belt/chameleon/emp_act(severity)
chameleon_action.emp_randomise()
/obj/item/device/radio/headset/chameleon
+3 -3
View File
@@ -29,7 +29,7 @@
var/list/user_vars_to_edit = list() //VARNAME = VARVALUE eg: "name" = "butts"
var/list/user_vars_remembered = list() //Auto built by the above + dropped() + equipped()
var/obj/item/weapon/storage/internal/pocket/pockets = null
var/obj/item/storage/internal/pocket/pockets = null
//These allow head/mask items to dynamically alter the user's hair
// and facial hair, checking hair_extensions.dmi and facialhair_extensions.dmi
@@ -435,7 +435,7 @@ BLIND // can't see anything
icon = 'icons/obj/clothing/suits.dmi'
name = "suit"
var/fire_resist = T0C+100
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/tank/internals/emergency_oxygen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
slot_flags = SLOT_OCLOTHING
var/blood_overlay_type = "suit"
@@ -496,7 +496,7 @@ BLIND // can't see anything
permeability_coefficient = 0.02
flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals)
slowdown = 1
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50, fire = 80, acid = 70)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
+1 -1
View File
@@ -334,7 +334,7 @@
flags_1 = NODROP_1
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
/obj/item/clothing/glasses/godeye/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, src) && W != src && W.loc == user)
if(W.icon_state == "godeye")
W.icon_state = "doublegodeye"
+2 -2
View File
@@ -49,8 +49,8 @@
/obj/item/clothing/gloves/color/black/ce
item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wirecutters))
/obj/item/clothing/gloves/color/black/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
to_chat(user, "<span class='notice'>You snip the fingertips off of [src].</span>")
playsound(user.loc, W.usesound, rand(10,50), 1)
+1 -1
View File
@@ -266,7 +266,7 @@
A.Grant(user)
return
if(istype(I, /obj/item/weapon/screwdriver))
if(istype(I, /obj/item/screwdriver))
if(F)
for(var/obj/item/device/flashlight/seclite/S in src)
to_chat(user, "<span class='notice'>You unscrew the seclite from [src].</span>")
+2 -2
View File
@@ -79,7 +79,7 @@
desc = "There's only one man who can sniff out the dirty stench of crime, and he's likely wearing this hat."
icon_state = "detective"
var/candy_cooldown = 0
pockets = /obj/item/weapon/storage/internal/pocket/small/detective
pockets = /obj/item/storage/internal/pocket/small/detective
dog_fashion = /datum/dog_fashion/head/detective
/obj/item/clothing/head/fedora/det_hat/AltClick()
@@ -87,7 +87,7 @@
if(ismob(loc))
var/mob/M = loc
if(candy_cooldown < world.time)
var/obj/item/weapon/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(src)
var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src)
M.put_in_hands(CC)
to_chat(M, "You slip a candy corn from your hat.")
candy_cooldown = world.time+1200
+1 -1
View File
@@ -185,7 +185,7 @@
item_state = "fedora"
armor = list(melee = 25, bullet = 5, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 30, acid = 50)
desc = "A really cool hat if you're a mobster. A really lame hat if you're not."
pockets = /obj/item/weapon/storage/internal/pocket/small
pockets = /obj/item/storage/internal/pocket/small
/obj/item/clothing/head/fedora/suicide_act(mob/user)
if(user.gender == FEMALE)
+3 -3
View File
@@ -38,8 +38,8 @@
aggressiveness = 1 //Borgs are nicecurity!
actions_types = list(/datum/action/item_action/halt)
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/screwdriver))
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/screwdriver))
switch(aggressiveness)
if(1)
to_chat(user, "<span class='notice'>You set the restrictor to the middle position.</span>")
@@ -52,7 +52,7 @@
aggressiveness = 1
if(4)
to_chat(user, "<span class='danger'>You adjust the restrictor but nothing happens, probably because it's broken.</span>")
else if(istype(W, /obj/item/weapon/wirecutters))
else if(istype(W, /obj/item/wirecutters))
if(aggressiveness != 4)
to_chat(user, "<span class='danger'>You broke the restrictor!</span>")
aggressiveness = 4
+57 -57
View File
@@ -10,30 +10,30 @@
if(visualsOnly)
return
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, null, 1)
var/obj/item/device/radio/R = H.ears
R.set_frequency(GLOB.CENTCOM_FREQ)
R.freqlock = 1
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.registered_name = H.real_name
W.update_label(W.registered_name, W.assignment)
/datum/outfit/ert/commander
name = "ERT Commander"
id = /obj/item/weapon/card/id/ert
id = /obj/item/card/id/ert
suit = /obj/item/clothing/suit/space/hardsuit/ert
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
back = /obj/item/weapon/storage/backpack/captain
belt = /obj/item/weapon/storage/belt/security/full
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
back = /obj/item/storage/backpack/captain
belt = /obj/item/storage/belt/security/full
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer=1,\
/obj/item/weapon/gun/energy/e_gun=1)
l_pocket = /obj/item/weapon/switchblade
/obj/item/gun/energy/e_gun=1)
l_pocket = /obj/item/switchblade
/datum/outfit/ert/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
@@ -48,25 +48,25 @@
name = "ERT Commander - High Alert"
glasses = /obj/item/clothing/glasses/thermal/eyepatch
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer/swat=1,\
/obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1)
l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber
/obj/item/gun/energy/pulse/pistol/loyalpin=1)
l_pocket = /obj/item/melee/transforming/energy/sword/saber
/datum/outfit/ert/security
name = "ERT Security"
id = /obj/item/weapon/card/id/ert/Security
id = /obj/item/card/id/ert/Security
suit = /obj/item/clothing/suit/space/hardsuit/ert/sec
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
back = /obj/item/weapon/storage/backpack/security
belt = /obj/item/weapon/storage/belt/security/full
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/storage/box/handcuffs=1,\
back = /obj/item/storage/backpack/security
belt = /obj/item/storage/belt/security/full
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/storage/box/handcuffs=1,\
/obj/item/clothing/mask/gas/sechailer=1,\
/obj/item/weapon/gun/energy/e_gun/stun=1,\
/obj/item/weapon/melee/baton/loaded=1)
/obj/item/gun/energy/e_gun/stun=1,\
/obj/item/melee/baton/loaded=1)
/datum/outfit/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
@@ -81,28 +81,28 @@
/datum/outfit/ert/security/alert
name = "ERT Security - High Alert"
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/storage/box/handcuffs=1,\
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/storage/box/handcuffs=1,\
/obj/item/clothing/mask/gas/sechailer/swat=1,\
/obj/item/weapon/melee/baton/loaded=1,\
/obj/item/weapon/gun/energy/pulse/carbine/loyalpin=1)
/obj/item/melee/baton/loaded=1,\
/obj/item/gun/energy/pulse/carbine/loyalpin=1)
/datum/outfit/ert/medic
name = "ERT Medic"
id = /obj/item/weapon/card/id/ert/Medical
id = /obj/item/card/id/ert/Medical
suit = /obj/item/clothing/suit/space/hardsuit/ert/med
glasses = /obj/item/clothing/glasses/hud/health
back = /obj/item/weapon/storage/backpack/satchel/med
belt = /obj/item/weapon/storage/belt/medical
r_hand = /obj/item/weapon/storage/firstaid/regular
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
back = /obj/item/storage/backpack/satchel/med
belt = /obj/item/storage/belt/medical
r_hand = /obj/item/storage/firstaid/regular
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer=1,\
/obj/item/weapon/gun/energy/e_gun=1,\
/obj/item/weapon/reagent_containers/hypospray/combat=1,\
/obj/item/weapon/gun/medbeam=1)
/obj/item/gun/energy/e_gun=1,\
/obj/item/reagent_containers/hypospray/combat=1,\
/obj/item/gun/medbeam=1)
/datum/outfit/ert/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
@@ -117,28 +117,28 @@
/datum/outfit/ert/medic/alert
name = "ERT Medic - High Alert"
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer/swat=1,\
/obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1,\
/obj/item/weapon/reagent_containers/hypospray/combat/nanites=1,\
/obj/item/weapon/gun/medbeam=1)
/obj/item/gun/energy/pulse/pistol/loyalpin=1,\
/obj/item/reagent_containers/hypospray/combat/nanites=1,\
/obj/item/gun/medbeam=1)
/datum/outfit/ert/engineer
name = "ERT Engineer"
id = /obj/item/weapon/card/id/ert/Engineer
id = /obj/item/card/id/ert/Engineer
suit = /obj/item/clothing/suit/space/hardsuit/ert/engi
glasses = /obj/item/clothing/glasses/meson/engine
back = /obj/item/weapon/storage/backpack/industrial
belt = /obj/item/weapon/storage/belt/utility/full
l_pocket = /obj/item/weapon/rcd_ammo/large
r_hand = /obj/item/weapon/storage/firstaid/regular
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
back = /obj/item/storage/backpack/industrial
belt = /obj/item/storage/belt/utility/full
l_pocket = /obj/item/rcd_ammo/large
r_hand = /obj/item/storage/firstaid/regular
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer=1,\
/obj/item/weapon/gun/energy/e_gun=1,\
/obj/item/weapon/construction/rcd/loaded=1)
/obj/item/gun/energy/e_gun=1,\
/obj/item/construction/rcd/loaded=1)
/datum/outfit/ert/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
..()
@@ -153,11 +153,11 @@
/datum/outfit/ert/engineer/alert
name = "ERT Engineer - High Alert"
backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\
/obj/item/weapon/melee/baton/loaded=1,\
backpack_contents = list(/obj/item/storage/box/engineer=1,\
/obj/item/melee/baton/loaded=1,\
/obj/item/clothing/mask/gas/sechailer/swat=1,\
/obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1,\
/obj/item/weapon/construction/rcd/combat=1)
/obj/item/gun/energy/pulse/pistol/loyalpin=1,\
/obj/item/construction/rcd/combat=1)
/datum/outfit/centcom_official
@@ -168,12 +168,12 @@
gloves = /obj/item/clothing/gloves/color/black
ears = /obj/item/device/radio/headset/headset_cent
glasses = /obj/item/clothing/glasses/sunglasses
belt = /obj/item/weapon/gun/energy/e_gun
l_pocket = /obj/item/weapon/pen
back = /obj/item/weapon/storage/backpack/satchel
belt = /obj/item/gun/energy/e_gun
l_pocket = /obj/item/pen
back = /obj/item/storage/backpack/satchel
r_pocket = /obj/item/device/pda/heads
l_hand = /obj/item/weapon/clipboard
id = /obj/item/weapon/card/id
l_hand = /obj/item/clipboard
id = /obj/item/card/id
/datum/outfit/centcom_official/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
@@ -184,7 +184,7 @@
pda.ownjob = "CentCom Official"
pda.update_label()
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.icon_state = "centcom"
W.access = get_centcom_access("CentCom Official")
W.access += ACCESS_WEAPONS
+71 -71
View File
@@ -5,7 +5,7 @@
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/space
head = /obj/item/clothing/head/helmet/space
back = /obj/item/weapon/tank/jetpack/oxygen
back = /obj/item/tank/jetpack/oxygen
mask = /obj/item/clothing/mask/breath
/datum/outfit/tournament
@@ -15,9 +15,9 @@
shoes = /obj/item/clothing/shoes/sneakers/black
suit = /obj/item/clothing/suit/armor/vest
head = /obj/item/clothing/head/helmet/thunderdome
r_hand = /obj/item/weapon/gun/energy/pulse/destroyer
l_hand = /obj/item/weapon/kitchen/knife
r_pocket = /obj/item/weapon/grenade/smokebomb
r_hand = /obj/item/gun/energy/pulse/destroyer
l_hand = /obj/item/kitchen/knife
r_pocket = /obj/item/grenade/smokebomb
/datum/outfit/tournament/green
name = "tournament standard green"
@@ -31,7 +31,7 @@
suit = /obj/item/clothing/suit/det_suit
glasses = /obj/item/clothing/glasses/thermal/monocle
head = /obj/item/clothing/head/fedora/det_hat
r_hand = /obj/item/weapon/gun/ballistic
r_hand = /obj/item/gun/ballistic
l_hand = null
r_pocket = /obj/item/ammo_box/c10mm
@@ -39,20 +39,20 @@
name = "tournament janitor"
uniform = /obj/item/clothing/under/rank/janitor
back = /obj/item/weapon/storage/backpack
back = /obj/item/storage/backpack
suit = null
head = null
r_hand = /obj/item/weapon/mop
l_hand = /obj/item/weapon/reagent_containers/glass/bucket
r_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner
l_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner
r_hand = /obj/item/mop
l_hand = /obj/item/reagent_containers/glass/bucket
r_pocket = /obj/item/grenade/chem_grenade/cleaner
l_pocket = /obj/item/grenade/chem_grenade/cleaner
backpack_contents = list(/obj/item/stack/tile/plasteel=6)
/datum/outfit/tournament/janitor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/reagent_containers/glass/bucket/bucket = H.get_item_for_held_index(1)
var/obj/item/reagent_containers/glass/bucket/bucket = H.get_item_for_held_index(1)
bucket.reagents.add_reagent("water",70)
/datum/outfit/laser_tag
@@ -64,9 +64,9 @@
gloves = /obj/item/clothing/gloves/color/red
ears = /obj/item/device/radio/headset
suit = /obj/item/clothing/suit/redtag
back = /obj/item/weapon/storage/backpack
suit_store = /obj/item/weapon/gun/energy/laser/redtag
backpack_contents = list(/obj/item/weapon/storage/box=1)
back = /obj/item/storage/backpack
suit_store = /obj/item/gun/energy/laser/redtag
backpack_contents = list(/obj/item/storage/box=1)
/datum/outfit/laser_tag/blue
name = "Laser Tag Blue"
@@ -75,7 +75,7 @@
head = /obj/item/clothing/head/helmet/bluetaghelm
gloves = /obj/item/clothing/gloves/color/blue
suit = /obj/item/clothing/suit/bluetag
suit_store = /obj/item/weapon/gun/energy/laser/bluetag
suit_store = /obj/item/gun/energy/laser/bluetag
/datum/outfit/pirate
name = "Pirate"
@@ -84,7 +84,7 @@
shoes = /obj/item/clothing/shoes/sneakers/brown
head = /obj/item/clothing/head/bandana
glasses = /obj/item/clothing/glasses/eyepatch
r_hand = /obj/item/weapon/melee/transforming/energy/sword/pirate
r_hand = /obj/item/melee/transforming/energy/sword/pirate
/datum/outfit/pirate/space
name = "Space Pirate"
@@ -102,16 +102,16 @@
ears = /obj/item/device/radio/headset
glasses = /obj/item/clothing/glasses/thermal/monocle
suit = /obj/item/clothing/suit/hooded/chaplain_hoodie
l_pocket = /obj/item/weapon/reagent_containers/food/snacks/grown/banana
r_pocket = /obj/item/weapon/bikehorn
id = /obj/item/weapon/card/id
r_hand = /obj/item/weapon/twohanded/fireaxe
l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana
r_pocket = /obj/item/bikehorn
id = /obj/item/card/id
r_hand = /obj/item/twohanded/fireaxe
/datum/outfit/tunnel_clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.access = get_all_accesses()
W.assignment = "Tunnel Clown!"
W.registered_name = H.real_name
@@ -128,9 +128,9 @@
ears = /obj/item/device/radio/headset
glasses = /obj/item/clothing/glasses/thermal/monocle
suit = /obj/item/clothing/suit/apron
l_pocket = /obj/item/weapon/kitchen/knife
r_pocket = /obj/item/weapon/scalpel
r_hand = /obj/item/weapon/twohanded/fireaxe
l_pocket = /obj/item/kitchen/knife
r_pocket = /obj/item/scalpel
r_hand = /obj/item/twohanded/fireaxe
/datum/outfit/psycho/post_equip(mob/living/carbon/human/H)
for(var/obj/item/carried_item in H.get_equipped_items())
@@ -147,9 +147,9 @@
gloves = /obj/item/clothing/gloves/color/black
ears = /obj/item/device/radio/headset
glasses = /obj/item/clothing/glasses/sunglasses
l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber
l_hand = /obj/item/weapon/storage/secure/briefcase
id = /obj/item/weapon/card/id/syndicate
l_pocket = /obj/item/melee/transforming/energy/sword/saber
l_hand = /obj/item/storage/secure/briefcase
id = /obj/item/card/id/syndicate
belt = /obj/item/device/pda/heads
/datum/outfit/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -160,22 +160,22 @@
return
//Could use a type
var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = H.get_item_for_held_index(1)
var/obj/item/storage/secure/briefcase/sec_briefcase = H.get_item_for_held_index(1)
for(var/obj/item/briefcase_item in sec_briefcase)
qdel(briefcase_item)
for(var/i = 3 to 0 step -1)
sec_briefcase.handle_item_insertion(new /obj/item/stack/spacecash/c1000,1)
sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow,1)
sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/ballistic/revolver/mateba,1)
sec_briefcase.handle_item_insertion(new /obj/item/gun/energy/kinetic_accelerator/crossbow,1)
sec_briefcase.handle_item_insertion(new /obj/item/gun/ballistic/revolver/mateba,1)
sec_briefcase.handle_item_insertion(new /obj/item/ammo_box/a357,1)
sec_briefcase.handle_item_insertion(new /obj/item/weapon/grenade/plastic/x4,1)
sec_briefcase.handle_item_insertion(new /obj/item/grenade/plastic/x4,1)
var/obj/item/device/pda/heads/pda = H.belt
pda.owner = H.real_name
pda.ownjob = "Reaper"
pda.update_label()
var/obj/item/weapon/card/id/syndicate/W = H.wear_id
var/obj/item/card/id/syndicate/W = H.wear_id
W.access = get_all_accesses()
W.assignment = "Reaper"
W.registered_name = H.real_name
@@ -192,17 +192,17 @@
glasses = /obj/item/clothing/glasses/eyepatch
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
head = /obj/item/clothing/head/centhat
belt = /obj/item/weapon/gun/ballistic/revolver/mateba
r_pocket = /obj/item/weapon/lighter
belt = /obj/item/gun/ballistic/revolver/mateba
r_pocket = /obj/item/lighter
l_pocket = /obj/item/ammo_box/a357
back = /obj/item/weapon/storage/backpack/satchel/leather
id = /obj/item/weapon/card/id
back = /obj/item/storage/backpack/satchel/leather
id = /obj/item/card/id
/datum/outfit/centcom_commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_centcom_access("CentCom Commander")
@@ -221,16 +221,16 @@
ears = /obj/item/device/radio/headset/headset_cent/commander
mask = /obj/item/clothing/mask/cigarette/cigar/havana
head = /obj/item/clothing/head/helmet/space/beret
belt = /obj/item/weapon/gun/energy/pulse/pistol/m1911
r_pocket = /obj/item/weapon/lighter
back = /obj/item/weapon/storage/backpack/satchel/leather
id = /obj/item/weapon/card/id
belt = /obj/item/gun/energy/pulse/pistol/m1911
r_pocket = /obj/item/lighter
back = /obj/item/storage/backpack/satchel/leather
id = /obj/item/card/id
/datum/outfit/spec_ops/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_centcom_access("Special Ops Officer")
@@ -249,7 +249,7 @@
suit = /obj/item/clothing/suit/cultrobes/alt/ghost
shoes = /obj/item/clothing/shoes/cult/alt/ghost
head = /obj/item/clothing/head/culthood/alt/ghost
r_hand = /obj/item/weapon/melee/cultblade/ghost
r_hand = /obj/item/melee/cultblade/ghost
/datum/outfit/wizard
name = "Blue Wizard"
@@ -259,11 +259,11 @@
shoes = /obj/item/clothing/shoes/sandal/magic
ears = /obj/item/device/radio/headset
head = /obj/item/clothing/head/wizard
r_pocket = /obj/item/weapon/teleportation_scroll
r_hand = /obj/item/weapon/spellbook
l_hand = /obj/item/weapon/staff
back = /obj/item/weapon/storage/backpack
backpack_contents = list(/obj/item/weapon/storage/box=1)
r_pocket = /obj/item/teleportation_scroll
r_hand = /obj/item/spellbook
l_hand = /obj/item/staff
back = /obj/item/storage/backpack
backpack_contents = list(/obj/item/storage/box=1)
/datum/outfit/wizard/red
name = "Red Wizard"
@@ -288,16 +288,16 @@
ears = /obj/item/device/radio/headset/headset_cent
glasses = /obj/item/clothing/glasses/thermal/eyepatch
suit = /obj/item/clothing/suit/pirate/captain
back = /obj/item/weapon/storage/backpack/satchel/leather
belt = /obj/item/weapon/gun/ballistic/revolver/mateba
back = /obj/item/storage/backpack/satchel/leather
belt = /obj/item/gun/ballistic/revolver/mateba
id = /obj/item/weapon/card/id
id = /obj/item/card/id
/datum/outfit/soviet/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_centcom_access("Admiral")
@@ -314,14 +314,14 @@
gloves = /obj/item/clothing/gloves/color/black
ears = /obj/item/device/radio/headset
glasses = /obj/item/clothing/glasses/sunglasses
r_hand = /obj/item/weapon/gun/ballistic/automatic/tommygun
id = /obj/item/weapon/card/id
r_hand = /obj/item/gun/ballistic/automatic/tommygun
id = /obj/item/card/id
/datum/outfit/mobster/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
return
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.assignment = "Assistant"
W.registered_name = H.real_name
W.update_label()
@@ -331,7 +331,7 @@
head = /obj/item/clothing/head/helmet/space/plasmaman
uniform = /obj/item/clothing/under/plasmaman
r_hand= /obj/item/weapon/tank/internals/plasmaman/belt/full
r_hand= /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
/datum/outfit/death_commando
@@ -343,21 +343,21 @@
gloves = /obj/item/clothing/gloves/combat
mask = /obj/item/clothing/mask/gas/sechailer/swat
glasses = /obj/item/clothing/glasses/hud/toggle/thermal
back = /obj/item/weapon/storage/backpack/security
l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber
r_pocket = /obj/item/weapon/shield/energy
suit_store = /obj/item/weapon/tank/internals/emergency_oxygen
belt = /obj/item/weapon/gun/ballistic/revolver/mateba
r_hand = /obj/item/weapon/gun/energy/pulse/loyalpin
id = /obj/item/weapon/card/id
back = /obj/item/storage/backpack/security
l_pocket = /obj/item/melee/transforming/energy/sword/saber
r_pocket = /obj/item/shield/energy
suit_store = /obj/item/tank/internals/emergency_oxygen
belt = /obj/item/gun/ballistic/revolver/mateba
r_hand = /obj/item/gun/energy/pulse/loyalpin
id = /obj/item/card/id
ears = /obj/item/device/radio/headset/headset_cent/alt
backpack_contents = list(/obj/item/weapon/storage/box=1,\
backpack_contents = list(/obj/item/storage/box=1,\
/obj/item/ammo_box/a357=1,\
/obj/item/weapon/storage/firstaid/regular=1,\
/obj/item/weapon/storage/box/flashbangs=1,\
/obj/item/storage/firstaid/regular=1,\
/obj/item/storage/box/flashbangs=1,\
/obj/item/device/flashlight=1,\
/obj/item/weapon/grenade/plastic/x4=1)
/obj/item/grenade/plastic/x4=1)
/datum/outfit/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
@@ -367,11 +367,11 @@
R.set_frequency(GLOB.CENTCOM_FREQ)
R.freqlock = 1
var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(H)//Here you go Deuryn
var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)//Here you go Deuryn
L.implant(H, null, 1)
var/obj/item/weapon/card/id/W = H.wear_id
var/obj/item/card/id/W = H.wear_id
W.icon_state = "centcom"
W.access = get_all_accesses()//They get full station access.
W.access += get_centcom_access("Death Commando")//Let's add their alloted CentCom access.
@@ -387,10 +387,10 @@
name = "Timeline Eradication Agent"
uniform = /obj/item/clothing/under/color/white
suit = /obj/item/clothing/suit/space/chronos
back = /obj/item/weapon/chrono_eraser
back = /obj/item/chrono_eraser
head = /obj/item/clothing/head/helmet/space/chronos
mask = /obj/item/clothing/mask/breath
suit_store = /obj/item/weapon/tank/internals/oxygen
suit_store = /obj/item/tank/internals/oxygen
+1 -1
View File
@@ -20,7 +20,7 @@
else
footstep++
new/obj/item/weapon/grown/bananapeel/specialpeel(get_step(src,turn(usr.dir, 180))) //honk
new/obj/item/grown/bananapeel/specialpeel(get_step(src,turn(usr.dir, 180))) //honk
bananium.use_amount_type(100, MAT_BANANIUM)
if(bananium.amount(MAT_BANANIUM) < 100)
on = !on
+2 -2
View File
@@ -90,14 +90,14 @@
if (src.chained)
src.chained = null
src.slowdown = SHOES_SLOWDOWN
new /obj/item/weapon/restraints/handcuffs( user.loc )
new /obj/item/restraints/handcuffs( user.loc )
src.icon_state = "orange"
return
/obj/item/clothing/shoes/sneakers/orange/attackby(obj/H, loc, params)
..()
// Note: not using istype here because we want to ignore all subtypes
if (H.type == /obj/item/weapon/restraints/handcuffs && !chained)
if (H.type == /obj/item/restraints/handcuffs && !chained)
qdel(H)
src.chained = 1
src.slowdown = 15
+7 -7
View File
@@ -22,7 +22,7 @@
armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0, fire = 70, acid = 50)
strip_delay = 70
resistance_flags = 0
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
/obj/item/clothing/shoes/combat/swat //overpowered boots for death squads
name = "\improper SWAT boots"
@@ -80,7 +80,7 @@
slowdown = SHOES_SLOWDOWN+1
item_color = "clown"
var/footstep = 1 //used for squeeks whilst walking
pockets = /obj/item/weapon/storage/internal/pocket/shoes/clown
pockets = /obj/item/storage/internal/pocket/shoes/clown
/obj/item/clothing/shoes/clown_shoes/step_action()
if(footstep > 1)
@@ -105,7 +105,7 @@
strip_delay = 50
equip_delay_other = 50
resistance_flags = 0
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
/obj/item/clothing/shoes/jackboots/fast
slowdown = -1
@@ -119,7 +119,7 @@
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
heat_protection = FEET|LEGS
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
/obj/item/clothing/shoes/workboots
name = "work boots"
@@ -130,7 +130,7 @@
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
strip_delay = 40
equip_delay_other = 40
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
/obj/item/clothing/shoes/workboots/mining
name = "mining boots"
@@ -180,7 +180,7 @@
desc = "A pair of costume boots fashioned after bird talons."
icon_state = "griffinboots"
item_state = "griffinboots"
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
/obj/item/clothing/shoes/bhop
name = "jump boots"
@@ -189,7 +189,7 @@
item_state = "jetboots"
item_color = "hosred"
resistance_flags = FIRE_PROOF
pockets = /obj/item/weapon/storage/internal/pocket/shoes
pockets = /obj/item/storage/internal/pocket/shoes
actions_types = list(/datum/action/item_action/bhop)
var/jumpdistance = 5 //-1 from to see the actual distance, e.g 4 goes over 3 tiles
var/jumpspeed = 3
@@ -26,7 +26,7 @@
actions_types = list(/datum/action/item_action/toggle)
armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 30, bio = 90, rad = 90, fire = 100, acid = 1000)
resistance_flags = FIRE_PROOF | ACID_PROOF
var/list/chronosafe_items = list(/obj/item/weapon/chrono_eraser, /obj/item/weapon/gun/energy/chrono_gun)
var/list/chronosafe_items = list(/obj/item/chrono_eraser, /obj/item/gun/energy/chrono_gun)
var/list/hands_nodrop = list()
var/obj/item/clothing/head/helmet/space/chronos/helmet = null
var/obj/effect/chronos_cam/camera = null
+20 -20
View File
@@ -97,11 +97,11 @@
var/datum/effect_system/trail_follow/ion/flight/ion_trail
var/assembled = FALSE
var/obj/item/weapon/stock_parts/manipulator/part_manip = null
var/obj/item/weapon/stock_parts/scanning_module/part_scan = null
var/obj/item/weapon/stock_parts/capacitor/part_cap = null
var/obj/item/weapon/stock_parts/micro_laser/part_laser = null
var/obj/item/weapon/stock_parts/matter_bin/part_bin = null
var/obj/item/stock_parts/manipulator/part_manip = null
var/obj/item/stock_parts/scanning_module/part_scan = null
var/obj/item/stock_parts/capacitor/part_cap = null
var/obj/item/stock_parts/micro_laser/part_laser = null
var/obj/item/stock_parts/matter_bin/part_bin = null
var/crashing = FALSE //Are we currently getting wrecked?
@@ -123,11 +123,11 @@
..()
/obj/item/device/flightpack/full/Initialize()
part_manip = new /obj/item/weapon/stock_parts/manipulator/pico(src)
part_scan = new /obj/item/weapon/stock_parts/scanning_module/phasic(src)
part_cap = new /obj/item/weapon/stock_parts/capacitor/super(src)
part_laser = new /obj/item/weapon/stock_parts/micro_laser/ultra(src)
part_bin = new /obj/item/weapon/stock_parts/matter_bin/super(src)
part_manip = new /obj/item/stock_parts/manipulator/pico(src)
part_scan = new /obj/item/stock_parts/scanning_module/phasic(src)
part_cap = new /obj/item/stock_parts/capacitor/super(src)
part_laser = new /obj/item/stock_parts/micro_laser/ultra(src)
part_bin = new /obj/item/stock_parts/matter_bin/super(src)
..()
/obj/item/device/flightpack/proc/usermessage(message, span = "boldnotice", mob/mob_override = null)
@@ -779,37 +779,37 @@
/obj/item/device/flightpack/attackby(obj/item/I, mob/user, params)
var/changed = FALSE
if(istype(I, /obj/item/weapon/stock_parts))
var/obj/item/weapon/stock_parts/S = I
if(istype(S, /obj/item/weapon/stock_parts/manipulator))
if(istype(I, /obj/item/stock_parts))
var/obj/item/stock_parts/S = I
if(istype(S, /obj/item/stock_parts/manipulator))
usermessage("[I] has been sucessfully installed into systems.", mob_override = user)
if(user.transferItemToLoc(I, src))
if(part_manip)
part_manip.forceMove(get_turf(src))
part_manip = I
changed = TRUE
if(istype(S, /obj/item/weapon/stock_parts/scanning_module))
if(istype(S, /obj/item/stock_parts/scanning_module))
usermessage("[I] has been sucessfully installed into systems.", mob_override = user)
if(user.transferItemToLoc(I, src))
if(part_scan)
part_scan.forceMove(get_turf(src))
part_scan = I
changed = TRUE
if(istype(S, /obj/item/weapon/stock_parts/micro_laser))
if(istype(S, /obj/item/stock_parts/micro_laser))
usermessage("[I] has been sucessfully installed into systems.", mob_override = user)
if(user.transferItemToLoc(I, src))
if(part_laser)
part_laser.forceMove(get_turf(src))
part_laser = I
changed = TRUE
if(istype(S, /obj/item/weapon/stock_parts/matter_bin))
if(istype(S, /obj/item/stock_parts/matter_bin))
usermessage("[I] has been sucessfully installed into systems.", mob_override = user)
if(user.transferItemToLoc(I, src))
if(part_bin)
part_bin.forceMove(get_turf(src))
part_bin = I
changed = TRUE
if(istype(S, /obj/item/weapon/stock_parts/capacitor))
if(istype(S, /obj/item/stock_parts/capacitor))
usermessage("[I] has been sucessfully installed into systems.", mob_override = user)
if(user.transferItemToLoc(I, src))
if(part_cap)
@@ -906,7 +906,7 @@
jetpack = null
var/flightpack
var/flight = FALSE
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/gun, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs)
actions_types = list(/datum/action/item_action/flightsuit/toggle_helmet, /datum/action/item_action/flightsuit/toggle_boots, /datum/action/item_action/flightsuit/toggle_flightpack, /datum/action/item_action/flightsuit/lock_suit)
armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100)
var/maint_panel = FALSE
@@ -1152,7 +1152,7 @@
else if(locked)
usermessage("You can not perform any service while the suit is locked!", "boldwarning")
return FALSE
else if(istype(I, /obj/item/weapon/screwdriver))
else if(istype(I, /obj/item/screwdriver))
if(!maint_panel)
maint_panel = TRUE
else
@@ -1161,7 +1161,7 @@
else if(!maint_panel)
usermessage("The maintainence panel is closed!", "boldwarning")
return FALSE
else if(istype(I, /obj/item/weapon/crowbar))
else if(istype(I, /obj/item/crowbar))
var/list/inputlist = list()
if(pack)
inputlist += "Pack"
+19 -19
View File
@@ -65,12 +65,12 @@
item_state = "eng_hardsuit"
max_integrity = 300
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 50, acid = 75)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/device/t_scanner, /obj/item/weapon/construction/rcd, /obj/item/weapon/pipe_dispenser)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/device/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser)
siemens_coefficient = 0
var/obj/item/clothing/head/helmet/space/hardsuit/helmet
actions_types = list(/datum/action/item_action/toggle_helmet)
var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit
var/obj/item/weapon/tank/jetpack/suit/jetpack = null
var/obj/item/tank/jetpack/suit/jetpack = null
/obj/item/clothing/suit/space/hardsuit/New()
@@ -83,7 +83,7 @@
..()
/obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/tank/jetpack/suit))
if(istype(I, /obj/item/tank/jetpack/suit))
if(jetpack)
to_chat(user, "<span class='warning'>[src] already has a jetpack installed.</span>")
return
@@ -95,7 +95,7 @@
jetpack = I
to_chat(user, "<span class='notice'>You successfully install the jetpack into [src].</span>")
else if(istype(I, /obj/item/weapon/screwdriver))
else if(istype(I, /obj/item/screwdriver))
if(!jetpack)
to_chat(user, "<span class='warning'>[src] has no jetpack installed.</span>")
return
@@ -189,7 +189,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
jetpack = /obj/item/weapon/tank/jetpack/suit
jetpack = /obj/item/tank/jetpack/suit
//Mining hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/mining
@@ -203,7 +203,7 @@
heat_protection = HEAD
armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 75)
brightness_on = 7
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator)
/obj/item/clothing/suit/space/hardsuit/mining
@@ -214,7 +214,7 @@
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 75)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/storage/bag/ore, /obj/item/weapon/pickaxe)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -305,9 +305,9 @@
item_color = "syndi"
w_class = WEIGHT_CLASS_NORMAL
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 50, acid = 90)
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/melee/transforming/energy/sword/saber, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi
jetpack = /obj/item/weapon/tank/jetpack/suit
jetpack = /obj/item/tank/jetpack/suit
//Elite Syndie suit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
@@ -379,7 +379,7 @@
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FIRE_PROOF | ACID_PROOF
armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 35, bio = 100, rad = 50, fire = 100, acid = 100)
allowed = list(/obj/item/weapon/teleportation_scroll, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/teleportation_scroll, /obj/item/tank/internals)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard
@@ -401,7 +401,7 @@
name = "medical hardsuit"
desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement."
item_state = "medical_hardsuit"
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/storage/firstaid, /obj/item/device/healthanalyzer, /obj/item/stack/medical)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/device/healthanalyzer, /obj/item/stack/medical)
armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical
@@ -445,8 +445,8 @@
item_state = "hardsuit-rd"
resistance_flags = ACID_PROOF | FIRE_PROOF
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT //Same as an emergency firesuit. Not ideal for extended exposure.
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy/wormhole_projector,
/obj/item/weapon/hand_tele, /obj/item/device/aicard)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun/energy/wormhole_projector,
/obj/item/hand_tele, /obj/item/device/aicard)
armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60, fire = 60, acid = 80)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd
@@ -467,7 +467,7 @@
name = "security hardsuit"
desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor."
item_state = "sec_hardsuit"
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs)
armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security
@@ -486,7 +486,7 @@
desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor."
armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50, fire = 95, acid = 95)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos
jetpack = /obj/item/weapon/tank/jetpack/suit
jetpack = /obj/item/tank/jetpack/suit
//Captain
/obj/item/clothing/head/helmet/space/hardsuit/captain
@@ -509,7 +509,7 @@
desc = "A MK.II SWAT suit with streamlined joints and armor made out of superior materials, insulated against intense heat. The most advanced tactical armor available Usually reserved for heavy hitter corporate security, this one has a regal finish in Nanotrasen company colors. Better not let the assistants get a hold of it."
icon_state = "caparmor"
item_state = "capspacesuit"
allowed = list(/obj/item/weapon/tank/internals, /obj/item/device/flashlight, /obj/item/weapon/gun/energy, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/tank/internals, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs)
armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -580,7 +580,7 @@
desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire."
icon_state = "hardsuit-hos"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/gun, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/gun, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs)
armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 100, acid = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
var/current_charges = 3
@@ -699,13 +699,13 @@
item_state = "syndie_hardsuit"
item_color = "syndi"
armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 100, acid = 100)
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/melee/transforming/energy/sword/saber, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
slowdown = 0
/obj/item/clothing/suit/space/hardsuit/shielded/syndi/New()
jetpack = new /obj/item/weapon/tank/jetpack/suit(src)
jetpack = new /obj/item/tank/jetpack/suit(src)
..()
/obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
@@ -34,7 +34,7 @@ Contains:
desc = "A prototype designed to replace the ageing MK.II SWAT suit. Based on the streamlined MK.II model, the traditional ceramic and graphene plate construction was replaced with plasteel, allowing superior armor against most threats. There's room for some kind of energy projection device on the back."
icon_state = "deathsquad"
item_state = "swat_suit"
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals, /obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat)
armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
@@ -48,7 +48,7 @@ Contains:
desc = "A tactical space suit first developed in a joint effort by the defunct IS-ERI and Nanotrasen in 20XX for military space operations. A tried and true workhorse, it is very difficult to move in but offers robust protection against all threats!"
icon_state = "heavy"
item_state = "swat_suit"
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals, /obj/item/weapon/kitchen/knife/combat)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat)
armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20, fire = 100, acid = 100)
strip_delay = 120
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -73,7 +73,7 @@ Contains:
slowdown = 0
flags_inv = 0
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
@@ -91,7 +91,7 @@ Contains:
icon_state = "void"
item_state = "void"
desc = "An old, NASA CentCom branch designed, dark red space suit."
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/device/multitool)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/device/multitool)
/obj/item/clothing/head/helmet/space/nasavoid/old
name = "Engineering Void Helmet"
@@ -105,7 +105,7 @@ Contains:
item_state = "void"
desc = "A CentCom engineering dark red space suit. Age has degraded the suit making is difficult to move around in."
slowdown = 4
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/device/multitool)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/device/multitool)
//Space santa outfit suit
/obj/item/clothing/head/helmet/space/santahat
@@ -146,7 +146,7 @@ Contains:
item_state = "pirate"
w_class = WEIGHT_CLASS_NORMAL
flags_inv = 0
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals, /obj/item/weapon/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum)
slowdown = 0
armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 60, acid = 75)
strip_delay = 40
@@ -170,7 +170,7 @@ Contains:
icon_state = "ert_command"
item_state = "ert_command"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list(melee = 30, bullet = 50, laser = 30, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 0, acid = 95)
slowdown = 0
strip_delay = 130
@@ -245,7 +245,7 @@ Contains:
desc = "An advanced, light suit, fabricated from a mixture of synthetic feathers and space-resistant material. A gun holster appears to be integrated into the suit and the wings appear to be stuck in 'freedom' mode."
icon_state = "freedom"
item_state = "freedom"
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list(melee = 20, bullet = 40, laser = 30,energy = 25, bomb = 100, bio = 100, rad = 100, fire = 80, acid = 80)
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
@@ -271,7 +271,7 @@ Contains:
item_state = "space_suit_syndicate"
slowdown = 0 //Space carp magic, never stop believing
armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 75, fire = 60, acid = 75) //As whimpy whimpy whoo
allowed = list(/obj/item/weapon/tank/internals, /obj/item/weapon/gun/ballistic/automatic/speargun) //I'm giving you a hint here
allowed = list(/obj/item/tank/internals, /obj/item/gun/ballistic/automatic/speargun) //I'm giving you a hint here
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/carp
@@ -296,7 +296,7 @@ Contains:
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/New()
..()
new /obj/item/weapon/nullrod(src)
new /obj/item/nullrod(src)
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor
name = "inquisitor's hardsuit"
@@ -4,7 +4,7 @@
/obj/item/clothing/suit/space/eva/plasmaman
name = "EVA plasma envirosuit"
desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like it's smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges."
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/melee/transforming/energy/sword, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank)
allowed = list(/obj/item/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0, fire = 100, acid = 75)
resistance_flags = FIRE_PROOF
icon_state = "plasmaman_suit"
+1 -1
View File
@@ -12,7 +12,7 @@
item_state = "space_suit_syndicate"
desc = "Has a tag on it: Totally not property of an enemy corporation, honest!"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/melee/transforming/energy/sword/saber, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals)
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85)
+3 -3
View File
@@ -16,7 +16,7 @@
icon_state = "hardsuit-nazi"
slowdown = 1
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/)
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi
icon = 'icons/obj/clothing/vg_clothes.dmi'
@@ -36,7 +36,7 @@
icon_state = "hardsuit-soviet"
slowdown = 1
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20)
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/)
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/melee/)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/soviet
icon = 'icons/obj/clothing/vg_clothes.dmi'
@@ -56,7 +56,7 @@
icon_state = "hardsuit-knight"
item_state = "hardsuit-knight"
slowdown = 1
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/melee/baton,/obj/item/weapon/tank,/obj/item/weapon/shield/energy,/obj/item/weapon/claymore)
allowed = list(/obj/item/gun,/obj/item/melee/baton,/obj/item/tank,/obj/item/shield/energy,/obj/item/claymore)
armor = list(melee = 60, bullet = 40, laser = 40,energy = 30, bomb = 50, bio = 100, rad = 60)
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
siemens_coefficient = 0.5
+3 -3
View File
@@ -1,5 +1,5 @@
/obj/item/clothing/suit/armor
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic, /obj/item/weapon/kitchen/knife/combat, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat, /obj/item/tank/internals/emergency_oxygen)
body_parts_covered = CHEST
cold_protection = CHEST|GROIN
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
@@ -153,7 +153,7 @@
name = "detective's armor vest"
desc = "An armored vest with a detective's badge on it."
icon_state = "detective-armor"
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/weapon/gun/energy, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/weapon/melee/classic_baton)
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/melee/classic_baton)
resistance_flags = FLAMMABLE
dog_fashion = null
@@ -347,7 +347,7 @@
item_state = "centcom"
w_class = WEIGHT_CLASS_BULKY
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen)
flags_1 = THICKMATERIAL_1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
+1 -1
View File
@@ -21,7 +21,7 @@
flags_1 = THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/pen, /obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray)
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20, fire = 30, acid = 100)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
strip_delay = 70
+2 -2
View File
@@ -60,7 +60,7 @@
name = "goliath cloak"
icon_state = "goliath_cloak"
desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits."
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear, /obj/item/weapon/twohanded/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/weapon/kitchen/knife/combat/bone, /obj/item/weapon/kitchen/knife/combat/survival)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/twohanded/spear, /obj/item/twohanded/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival)
armor = list(melee = 35, bullet = 10, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 60, acid = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot
hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath
body_parts_covered = CHEST|GROIN|ARMS
@@ -76,7 +76,7 @@
name = "drake armour"
icon_state = "dragon"
desc = "A suit of armour fashioned from the remains of an ash drake. "
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/twohanded/spear)
armor = list(melee = 70, bullet = 30, laser = 50, energy = 40, bomb = 70, bio = 60, rad = 50, fire = 100, acid = 100)
hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
+12 -12
View File
@@ -10,7 +10,7 @@
item_state = "apron"
blood_overlay_type = "armor"
body_parts_covered = CHEST|GROIN
allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/cultivator, /obj/item/weapon/reagent_containers/spray/pestspray, /obj/item/weapon/hatchet, /obj/item/weapon/storage/bag/plants)
allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants)
//Captain
/obj/item/clothing/suit/captunic
@@ -20,7 +20,7 @@
item_state = "bio_suit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/assembly/flash/handheld, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/disk, /obj/item/stamp, /obj/item/reagent_containers/food/drinks/flask, /obj/item/melee, /obj/item/storage/lockbox/medal, /obj/item/device/assembly/flash/handheld, /obj/item/storage/box/matches, /obj/item/lighter, /obj/item/clothing/mask/cigarette, /obj/item/storage/fancy/cigarettes, /obj/item/tank/internals/emergency_oxygen)
//Chaplain
/obj/item/clothing/suit/hooded/chaplain_hoodie
@@ -29,7 +29,7 @@
icon_state = "chaplain_hoodie"
item_state = "chaplain_hoodie"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/chaplain_hood
/obj/item/clothing/head/hooded/chaplain_hood
@@ -46,7 +46,7 @@
item_state = "nun"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/studentuni
name = "student robe"
@@ -54,7 +54,7 @@
icon_state = "studentuni"
item_state = "studentuni"
body_parts_covered = ARMS|CHEST
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/witchhunter
name = "witchunter garb"
@@ -62,7 +62,7 @@
icon_state = "witchhunter"
item_state = "witchhunter"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
//Chef
/obj/item/clothing/suit/toggle/chef
@@ -73,7 +73,7 @@
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = CHEST|GROIN|ARMS
allowed = list(/obj/item/weapon/kitchen)
allowed = list(/obj/item/kitchen)
togglename = "sleeves"
//Cook
@@ -84,7 +84,7 @@
item_state = "apronchef"
blood_overlay_type = "armor"
body_parts_covered = CHEST|GROIN
allowed = list(/obj/item/weapon/kitchen)
allowed = list(/obj/item/kitchen)
//Detective
/obj/item/clothing/suit/det_suit
@@ -94,7 +94,7 @@
item_state = "det_suit"
blood_overlay_type = "coat"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/weapon/gun/energy, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/weapon/melee/classic_baton)
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/device/flashlight, /obj/item/gun/energy, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/device/detective_scanner, /obj/item/device/taperecorder, /obj/item/melee/classic_baton)
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 45)
cold_protection = CHEST|GROIN|LEGS|ARMS
heat_protection = CHEST|GROIN|LEGS|ARMS
@@ -112,7 +112,7 @@
icon_state = "hazard"
item_state = "hazard"
blood_overlay_type = "armor"
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/device/radio)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/device/radio)
resistance_flags = 0
//Lawyer
/obj/item/clothing/suit/toggle/lawyer
@@ -172,7 +172,7 @@
name = "surgical apron"
desc = "A sterile blue surgical apron."
icon_state = "surgical"
allowed = list(/obj/item/weapon/scalpel, /obj/item/weapon/surgical_drapes, /obj/item/weapon/cautery, /obj/item/weapon/hemostat, /obj/item/weapon/retractor)
allowed = list(/obj/item/scalpel, /obj/item/surgical_drapes, /obj/item/cautery, /obj/item/hemostat, /obj/item/retractor)
//Curator
/obj/item/clothing/suit/curator
@@ -182,7 +182,7 @@
item_state = "curator"
blood_overlay_type = "coat"
body_parts_covered = CHEST|ARMS
allowed = list(/obj/item/weapon/tank/internals, /obj/item/weapon/melee/curator_whip)
allowed = list(/obj/item/tank/internals, /obj/item/melee/curator_whip)
armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 45)
cold_protection = CHEST|ARMS
heat_protection = CHEST|ARMS
+1 -1
View File
@@ -5,7 +5,7 @@
item_state = "labcoat"
blood_overlay_type = "coat"
body_parts_covered = CHEST|ARMS
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/paper, /obj/item/weapon/melee/classic_baton/telescopic, /obj/item/weapon/soap, /obj/item/device/sensor_device, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/device/sensor_device, /obj/item/tank/internals/emergency_oxygen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 50, acid = 50)
togglename = "buttons"
+20 -20
View File
@@ -15,7 +15,7 @@
item_state = "bluetag"
blood_overlay_type = "armor"
body_parts_covered = CHEST
allowed = list (/obj/item/weapon/gun/energy/laser/bluetag)
allowed = list (/obj/item/gun/energy/laser/bluetag)
resistance_flags = 0
/obj/item/clothing/suit/redtag
@@ -25,7 +25,7 @@
item_state = "redtag"
blood_overlay_type = "armor"
body_parts_covered = CHEST
allowed = list (/obj/item/weapon/gun/energy/laser/redtag)
allowed = list (/obj/item/gun/energy/laser/redtag)
resistance_flags = 0
/*
@@ -36,7 +36,7 @@
desc = "Yarr."
icon_state = "pirate"
item_state = "pirate"
allowed = list(/obj/item/weapon/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum)
allowed = list(/obj/item/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum)
/obj/item/clothing/suit/pirate/captain
name = "pirate captain coat"
@@ -69,7 +69,7 @@
icon_state = "judge"
item_state = "judge"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
allowed = list(/obj/item/weapon/storage/fancy/cigarettes, /obj/item/stack/spacecash)
allowed = list(/obj/item/storage/fancy/cigarettes, /obj/item/stack/spacecash)
flags_inv = HIDEJUMPSUIT
@@ -87,7 +87,7 @@
item_state = "syndicate-black-red"
desc = "A plastic replica of the Syndicate space suit. You'll look just like a real murderous Syndicate agent in this! This is a toy, it is not made for use in space!"
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
resistance_flags = 0
@@ -107,7 +107,7 @@
item_state = "imperium_monk"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/chickensuit
@@ -134,7 +134,7 @@
item_state = "owl_wings"
togglename = "wings"
body_parts_covered = ARMS|CHEST
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
actions_types = list(/datum/action/item_action/toggle_wings)
/obj/item/clothing/suit/toggle/owlwings/griffinwings
@@ -151,7 +151,7 @@
item_state = "w_suit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen)
allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/cardborg
name = "cardborg suit"
@@ -231,7 +231,7 @@
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/gun/ballistic/automatic/speargun)
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/gun/ballistic/automatic/speargun)
hoodtype = /obj/item/clothing/head/hooded/carp_hood
/obj/item/clothing/head/hooded/carp_hood
@@ -345,7 +345,7 @@
desc = "Aviators not included."
icon_state = "bomberjacket"
item_state = "brownjsuit"
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter, /obj/item/device/radio)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/device/radio)
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -357,7 +357,7 @@
item_state = "hostrench"
resistance_flags = 0
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter, /obj/item/weapon/gun/ballistic/automatic/pistol, /obj/item/weapon/gun/ballistic/revolver, /obj/item/weapon/gun/ballistic/revolver/detective, /obj/item/device/radio)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/revolver/detective, /obj/item/device/radio)
/obj/item/clothing/suit/jacket/leather/overcoat
name = "leather overcoat"
@@ -387,7 +387,7 @@
desc = "A canvas jacket styled after classical American military garb. Feels sturdy, yet comfortable."
icon_state = "militaryjacket"
item_state = "militaryjacket"
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter, /obj/item/weapon/gun/ballistic/automatic/pistol, /obj/item/weapon/gun/ballistic/revolver, /obj/item/weapon/gun/ballistic/revolver/detective, /obj/item/device/radio)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/revolver/detective, /obj/item/device/radio)
/obj/item/clothing/suit/jacket/letterman
name = "letterman jacket"
@@ -434,7 +434,7 @@
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
/obj/item/clothing/head/hooded/winterhood
name = "winter hood"
@@ -450,7 +450,7 @@
icon_state = "coatcaptain"
item_state = "coatcaptain"
armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50)
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/hooded/winterhood/captain
/obj/item/clothing/head/hooded/winterhood/captain
@@ -461,7 +461,7 @@
icon_state = "coatsecurity"
item_state = "coatsecurity"
armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 45)
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/ballistic, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/device/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
hoodtype = /obj/item/clothing/head/hooded/winterhood/security
/obj/item/clothing/head/hooded/winterhood/security
@@ -471,7 +471,7 @@
name = "medical winter coat"
icon_state = "coatmedical"
item_state = "coatmedical"
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/paper, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 0, acid = 45)
hoodtype = /obj/item/clothing/head/hooded/winterhood/medical
@@ -482,7 +482,7 @@
name = "science winter coat"
icon_state = "coatscience"
item_state = "coatscience"
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/weapon/dnainjector, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill, /obj/item/weapon/storage/pill_bottle, /obj/item/weapon/paper, /obj/item/weapon/melee/classic_baton/telescopic)
allowed = list(/obj/item/device/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/device/healthanalyzer, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0)
hoodtype = /obj/item/clothing/head/hooded/winterhood/science
@@ -494,7 +494,7 @@
icon_state = "coatengineer"
item_state = "coatengineer"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20, fire = 30, acid = 45)
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/weapon/construction/rcd, /obj/item/weapon/pipe_dispenser)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser)
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering
/obj/item/clothing/head/hooded/winterhood/engineering
@@ -513,7 +513,7 @@
name = "hydroponics winter coat"
icon_state = "coathydro"
item_state = "coathydro"
allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/cultivator, /obj/item/weapon/reagent_containers/spray/pestspray, /obj/item/weapon/hatchet, /obj/item/weapon/storage/bag/plants)
allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/device/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants)
hoodtype = /obj/item/clothing/head/hooded/winterhood/hydro
/obj/item/clothing/head/hooded/winterhood/hydro
@@ -532,7 +532,7 @@
name = "mining winter coat"
icon_state = "coatminer"
item_state = "coatminer"
allowed = list(/obj/item/weapon/pickaxe, /obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/lighter)
allowed = list(/obj/item/pickaxe, /obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
hoodtype = /obj/item/clothing/head/hooded/winterhood/miner
+3 -3
View File
@@ -18,7 +18,7 @@
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/extinguisher, /obj/item/weapon/crowbar)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/extinguisher, /obj/item/crowbar)
slowdown = 1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
@@ -99,7 +99,7 @@
/obj/item/clothing/suit/bomb_suit/security
icon_state = "bombsuitsec"
item_state = "bombsuitsec"
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs)
allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs)
/*
* Radiation protection
@@ -126,7 +126,7 @@
permeability_coefficient = 0.50
flags_1 = THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter)
allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter)
slowdown = 1.5
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100, fire = 30, acid = 30)
strip_delay = 60
+1 -1
View File
@@ -71,7 +71,7 @@
name = "russian fur coat"
desc = "Let the land do the fighting for you."
icon_state = "russofurcoat"
allowed = list(/obj/item/weapon/gun)
allowed = list(/obj/item/gun)
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'icons/obj/clothing/vg_clothes.dmi'
+1 -1
View File
@@ -67,7 +67,7 @@
permeability_coefficient = 0.01
body_parts_covered = CHEST|GROIN|ARMS|LEGS
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100)
allowed = list(/obj/item/weapon/teleportation_scroll)
allowed = list(/obj/item/teleportation_scroll)
flags_inv = HIDEJUMPSUIT
strip_delay = 50
equip_delay_other = 50
+3 -3
View File
@@ -283,13 +283,13 @@
desc = "Can protect your clothing from ink stains, but you'll look like a nerd if you're using one."
icon_state = "pocketprotector"
item_color = "pocketprotector"
pockets = /obj/item/weapon/storage/internal/pocket/pocketprotector
pockets = /obj/item/storage/internal/pocket/pocketprotector
/obj/item/clothing/accessory/pocketprotector/full
pockets = /obj/item/weapon/storage/internal/pocket/pocketprotector/full
pockets = /obj/item/storage/internal/pocket/pocketprotector/full
/obj/item/clothing/accessory/pocketprotector/cosmetology
pockets = /obj/item/weapon/storage/internal/pocket/pocketprotector/cosmetology
pockets = /obj/item/storage/internal/pocket/pocketprotector/cosmetology
////////////////
+4 -4
View File
@@ -94,8 +94,8 @@
var/obj/item/stack/S = I
.[I.type] += S.amount
else
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(istype(I, /obj/item/reagent_containers))
var/obj/item/reagent_containers/RC = I
if(RC.container_type & OPENCONTAINER_1)
for(var/datum/reagent/A in RC.reagents.reagent_list)
.[A.type] += A.volume
@@ -106,7 +106,7 @@
return 1
var/list/possible_tools = list()
for(var/obj/item/I in user.contents)
if(istype(I, /obj/item/weapon/storage))
if(istype(I, /obj/item/storage))
for(var/obj/item/SI in I.contents)
possible_tools += SI.type
possible_tools += I.type
@@ -181,7 +181,7 @@
var/datum/reagent/RG = new A
var/datum/reagent/RGNT
while(amt > 0)
var/obj/item/weapon/reagent_containers/RC = locate() in surroundings
var/obj/item/reagent_containers/RC = locate() in surroundings
RG = RC.reagents.get_reagent(A)
if(RG)
if(!locate(RG.type) in Deletion)
+93 -93
View File
@@ -13,33 +13,33 @@
/datum/crafting_recipe/pin_removal
name = "Pin Removal"
result = /obj/item/weapon/gun
reqs = list(/obj/item/weapon/gun = 1)
parts = list(/obj/item/weapon/gun = 1)
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver, /obj/item/weapon/wirecutters)
result = /obj/item/gun
reqs = list(/obj/item/gun = 1)
parts = list(/obj/item/gun = 1)
tools = list(/obj/item/weldingtool, /obj/item/screwdriver, /obj/item/wirecutters)
time = 50
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/IED
name = "IED"
result = /obj/item/weapon/grenade/iedcasing
result = /obj/item/grenade/iedcasing
reqs = list(/datum/reagent/fuel = 50,
/obj/item/stack/cable_coil = 1,
/obj/item/device/assembly/igniter = 1,
/obj/item/weapon/reagent_containers/food/drinks/soda_cans = 1)
parts = list(/obj/item/weapon/reagent_containers/food/drinks/soda_cans = 1)
/obj/item/reagent_containers/food/drinks/soda_cans = 1)
parts = list(/obj/item/reagent_containers/food/drinks/soda_cans = 1)
time = 15
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/lance
name = "explosive lance (grenade)"
result = /obj/item/weapon/twohanded/spear
reqs = list(/obj/item/weapon/twohanded/spear = 1,
/obj/item/weapon/grenade = 1)
parts = list(/obj/item/weapon/twohanded/spear = 1,
/obj/item/weapon/grenade = 1)
result = /obj/item/twohanded/spear
reqs = list(/obj/item/twohanded/spear = 1,
/obj/item/grenade = 1)
parts = list(/obj/item/twohanded/spear = 1,
/obj/item/grenade = 1)
time = 15
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
@@ -49,25 +49,25 @@
result = /obj/item/device/assembly/flash/shield
reqs = list(/obj/item/wallframe/flasher = 1,
/obj/item/device/assembly/flash/handheld = 1,
/obj/item/weapon/shield/riot = 1)
/obj/item/shield/riot = 1)
time = 40
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/molotov
name = "Molotov"
result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
reqs = list(/obj/item/weapon/reagent_containers/glass/rag = 1,
/obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
parts = list(/obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
result = /obj/item/reagent_containers/food/drinks/bottle/molotov
reqs = list(/obj/item/reagent_containers/glass/rag = 1,
/obj/item/reagent_containers/food/drinks/bottle = 1)
parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1)
time = 40
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/stunprod
name = "Stunprod"
result = /obj/item/weapon/melee/baton/cattleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
result = /obj/item/melee/baton/cattleprod
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/stack/rods = 1,
/obj/item/device/assembly/igniter = 1)
time = 40
@@ -76,19 +76,19 @@
/datum/crafting_recipe/teleprod
name = "Teleprod"
result = /obj/item/weapon/melee/baton/cattleprod/teleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
result = /obj/item/melee/baton/cattleprod/teleprod
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/stack/rods = 1,
/obj/item/device/assembly/igniter = 1,
/obj/item/weapon/ore/bluespace_crystal = 1)
/obj/item/ore/bluespace_crystal = 1)
time = 40
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/bola
name = "Bola"
result = /obj/item/weapon/restraints/legcuffs/bola
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
result = /obj/item/restraints/legcuffs/bola
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/stack/sheet/metal = 6)
time = 20//15 faster than crafting them by hand!
category= CAT_WEAPON
@@ -96,7 +96,7 @@
/datum/crafting_recipe/tailclub
name = "Tail Club"
result = /obj/item/weapon/tailclub
result = /obj/item/tailclub
reqs = list(/obj/item/severedtail = 1,
/obj/item/stack/sheet/metal = 1)
time = 40
@@ -105,7 +105,7 @@
/datum/crafting_recipe/tailwhip
name = "Liz O' Nine Tails"
result = /obj/item/weapon/melee/chainofcommand/tailwhip
result = /obj/item/melee/chainofcommand/tailwhip
reqs = list(/obj/item/severedtail = 1,
/obj/item/stack/cable_coil = 1)
time = 40
@@ -114,7 +114,7 @@
/datum/crafting_recipe/catwhip
name = "Cat O' Nine Tails"
result = /obj/item/weapon/melee/chainofcommand/tailwhip/kitty
result = /obj/item/melee/chainofcommand/tailwhip/kitty
reqs = list(/obj/item/organ/tail/cat = 1,
/obj/item/stack/cable_coil = 1)
time = 40
@@ -131,10 +131,10 @@
/obj/item/bodypart/r_leg/robot = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/weapon/gun/energy/e_gun/advtaser = 1,
/obj/item/weapon/stock_parts/cell = 1,
/obj/item/gun/energy/e_gun/advtaser = 1,
/obj/item/stock_parts/cell = 1,
/obj/item/device/assembly/prox_sensor = 1)
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver)
tools = list(/obj/item/weldingtool, /obj/item/screwdriver)
time = 60
category = CAT_ROBOT
@@ -143,17 +143,17 @@
result = /mob/living/simple_animal/bot/secbot
reqs = list(/obj/item/device/assembly/signaler = 1,
/obj/item/clothing/head/helmet/sec = 1,
/obj/item/weapon/melee/baton = 1,
/obj/item/melee/baton = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/bodypart/r_arm/robot = 1)
tools = list(/obj/item/weapon/weldingtool)
tools = list(/obj/item/weldingtool)
time = 60
category = CAT_ROBOT
/datum/crafting_recipe/cleanbot
name = "Cleanbot"
result = /mob/living/simple_animal/bot/cleanbot
reqs = list(/obj/item/weapon/reagent_containers/glass/bucket = 1,
reqs = list(/obj/item/reagent_containers/glass/bucket = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/bodypart/r_arm/robot = 1)
time = 40
@@ -162,7 +162,7 @@
/datum/crafting_recipe/floorbot
name = "Floorbot"
result = /mob/living/simple_animal/bot/floorbot
reqs = list(/obj/item/weapon/storage/toolbox/mechanical = 1,
reqs = list(/obj/item/storage/toolbox/mechanical = 1,
/obj/item/stack/tile/plasteel = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/bodypart/r_arm/robot = 1)
@@ -173,7 +173,7 @@
name = "Medbot"
result = /mob/living/simple_animal/bot/medbot
reqs = list(/obj/item/device/healthanalyzer = 1,
/obj/item/weapon/storage/firstaid = 1,
/obj/item/storage/firstaid = 1,
/obj/item/device/assembly/prox_sensor = 1,
/obj/item/bodypart/r_arm/robot = 1)
time = 40
@@ -181,9 +181,9 @@
/datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but
name = "Pneumatic Cannon"
result = /obj/item/weapon/pneumatic_cannon/ghetto
tools = list(/obj/item/weapon/weldingtool,
/obj/item/weapon/wrench)
result = /obj/item/pneumatic_cannon/ghetto
tools = list(/obj/item/weldingtool,
/obj/item/wrench)
reqs = list(/obj/item/stack/sheet/metal = 4,
/obj/item/stack/packageWrap = 8,
/obj/item/pipe = 2)
@@ -193,13 +193,13 @@
/datum/crafting_recipe/flamethrower
name = "Flamethrower"
result = /obj/item/weapon/flamethrower
reqs = list(/obj/item/weapon/weldingtool = 1,
result = /obj/item/flamethrower
reqs = list(/obj/item/weldingtool = 1,
/obj/item/device/assembly/igniter = 1,
/obj/item/stack/rods = 1)
parts = list(/obj/item/device/assembly/igniter = 1,
/obj/item/weapon/weldingtool = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/weldingtool = 1)
tools = list(/obj/item/screwdriver)
time = 10
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
@@ -208,9 +208,9 @@
name = "Meteorshot Shell"
result = /obj/item/ammo_casing/shotgun/meteorshot
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/rcd_ammo = 1,
/obj/item/weapon/stock_parts/manipulator = 2)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/rcd_ammo = 1,
/obj/item/stock_parts/manipulator = 2)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -219,9 +219,9 @@
name = "Pulse Slug Shell"
result = /obj/item/ammo_casing/shotgun/pulseslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/capacitor/adv = 2,
/obj/item/weapon/stock_parts/micro_laser/ultra = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/capacitor/adv = 2,
/obj/item/stock_parts/micro_laser/ultra = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -230,7 +230,7 @@
name = "Dragonsbreath Shell"
result = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -242,7 +242,7 @@
/datum/reagent/glycerol = 5,
/datum/reagent/toxin/acid = 5,
/datum/reagent/toxin/acid/fluacid = 5)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -251,9 +251,9 @@
name = "Ion Scatter Shell"
result = /obj/item/ammo_casing/shotgun/ion
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/micro_laser/ultra = 1,
/obj/item/weapon/stock_parts/subspace/crystal = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/micro_laser/ultra = 1,
/obj/item/stock_parts/subspace/crystal = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -261,11 +261,11 @@
/datum/crafting_recipe/improvisedslug
name = "Improvised Shotgun Shell"
result = /obj/item/ammo_casing/shotgun/improvised
reqs = list(/obj/item/weapon/grenade/chem_grenade = 1,
reqs = list(/obj/item/grenade/chem_grenade = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/fuel = 10)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -276,7 +276,7 @@
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
/datum/reagent/blackpowder = 10,
/datum/reagent/toxin/plasma = 20)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
@@ -285,41 +285,41 @@
name = "Laser Slug Shell"
result = /obj/item/ammo_casing/shotgun/laserslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/capacitor/adv = 1,
/obj/item/weapon/stock_parts/micro_laser/high = 1)
tools = list(/obj/item/weapon/screwdriver)
/obj/item/stock_parts/capacitor/adv = 1,
/obj/item/stock_parts/micro_laser/high = 1)
tools = list(/obj/item/screwdriver)
time = 5
category = CAT_WEAPONRY
subcategory = CAT_AMMO
/datum/crafting_recipe/ishotgun
name = "Improvised Shotgun"
result = /obj/item/weapon/gun/ballistic/revolver/doublebarrel/improvised
result = /obj/item/gun/ballistic/revolver/doublebarrel/improvised
reqs = list(/obj/item/weaponcrafting/receiver = 1,
/obj/item/pipe = 1,
/obj/item/weaponcrafting/stock = 1,
/obj/item/stack/packageWrap = 5)
tools = list(/obj/item/weapon/screwdriver)
tools = list(/obj/item/screwdriver)
time = 100
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/chainsaw
name = "Chainsaw"
result = /obj/item/weapon/twohanded/required/chainsaw
reqs = list(/obj/item/weapon/circular_saw = 1,
result = /obj/item/twohanded/required/chainsaw
reqs = list(/obj/item/circular_saw = 1,
/obj/item/stack/cable_coil = 1,
/obj/item/stack/sheet/plasteel = 1)
tools = list(/obj/item/weapon/weldingtool)
tools = list(/obj/item/weldingtool)
time = 50
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/spear
name = "Spear"
result = /obj/item/weapon/twohanded/spear
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
/obj/item/weapon/shard = 1,
result = /obj/item/twohanded/spear
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/shard = 1,
/obj/item/stack/rods = 1)
time = 40
category = CAT_WEAPONRY
@@ -374,9 +374,9 @@
/datum/crafting_recipe/papersack
name = "Paper Sack"
result = /obj/item/weapon/storage/box/papersack
result = /obj/item/storage/box/papersack
time = 10
reqs = list(/obj/item/weapon/paper = 5)
reqs = list(/obj/item/paper = 5)
category = CAT_MISC
@@ -386,7 +386,7 @@
time = 10
reqs = list(
/obj/item/device/flashlight = 2,
/obj/item/weapon/restraints/handcuffs/cable = 1
/obj/item/restraints/handcuffs/cable = 1
)
category = CAT_MISC
@@ -394,20 +394,20 @@
name = "Paper Frames"
result = /obj/item/stack/sheet/paperframes/five
time = 10
reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/weapon/paper = 20)
reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/paper = 20)
category = CAT_MISC
/datum/crafting_recipe/naturalpaper
name = "Hand-Pressed Paper"
time = 30
reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/mineral/wood = 1)
tools = list(/obj/item/weapon/hatchet)
result = /obj/item/weapon/paper_bin/bundlenatural
tools = list(/obj/item/hatchet)
result = /obj/item/paper_bin/bundlenatural
category = CAT_MISC
/datum/crafting_recipe/toysword
name = "Toy Sword"
reqs = list(/obj/item/weapon/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4)
reqs = list(/obj/item/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4)
result = /obj/item/toy/sword
category = CAT_MISC
@@ -426,26 +426,26 @@
/datum/crafting_recipe/chemical_payload
name = "Chemical Payload (C4)"
result = /obj/item/weapon/bombcore/chemical
result = /obj/item/bombcore/chemical
reqs = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/grenade/plastic/c4 = 1,
/obj/item/weapon/grenade/chem_grenade = 2
/obj/item/stock_parts/matter_bin = 1,
/obj/item/grenade/plastic/c4 = 1,
/obj/item/grenade/chem_grenade = 2
)
parts = list(/obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/grenade/chem_grenade = 2)
parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2)
time = 30
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
/datum/crafting_recipe/chemical_payload2
name = "Chemical Payload (gibtonite)"
result = /obj/item/weapon/bombcore/chemical
result = /obj/item/bombcore/chemical
reqs = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/twohanded/required/gibtonite = 1,
/obj/item/weapon/grenade/chem_grenade = 2
/obj/item/stock_parts/matter_bin = 1,
/obj/item/twohanded/required/gibtonite = 1,
/obj/item/grenade/chem_grenade = 2
)
parts = list(/obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/grenade/chem_grenade = 2)
parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2)
time = 50
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
@@ -508,22 +508,22 @@
/datum/crafting_recipe/gold_horn
name = "Golden bike horn"
result = /obj/item/weapon/bikehorn/golden
result = /obj/item/bikehorn/golden
time = 20
reqs = list(/obj/item/stack/sheet/mineral/bananium = 5,
/obj/item/weapon/bikehorn)
/obj/item/bikehorn)
category = CAT_MISC
/datum/crafting_recipe/bonedagger
name = "Bone Dagger"
result = /obj/item/weapon/kitchen/knife/combat/bone
result = /obj/item/kitchen/knife/combat/bone
time = 20
reqs = list(/obj/item/stack/sheet/bone = 2)
category = CAT_PRIMAL
/datum/crafting_recipe/bonespear
name = "Bone Spear"
result = /obj/item/weapon/twohanded/bonespear
result = /obj/item/twohanded/bonespear
time = 30
reqs = list(/obj/item/stack/sheet/bone = 4,
/obj/item/stack/sheet/sinew = 1)
@@ -531,7 +531,7 @@
/datum/crafting_recipe/boneaxe
name = "Bone Axe"
result = /obj/item/weapon/twohanded/fireaxe/boneaxe
result = /obj/item/twohanded/fireaxe/boneaxe
time = 50
reqs = list(/obj/item/stack/sheet/bone = 6,
/obj/item/stack/sheet/sinew = 3)
@@ -540,13 +540,13 @@
/datum/crafting_recipe/bonfire
name = "Bonfire"
time = 60
reqs = list(/obj/item/weapon/grown/log = 5)
reqs = list(/obj/item/grown/log = 5)
result = /obj/structure/bonfire
category = CAT_PRIMAL
/datum/crafting_recipe/smallcarton
name = "Small Carton"
result = /obj/item/weapon/reagent_containers/food/drinks/sillycup/smallcarton
result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton
time = 10
reqs = list(/obj/item/stack/sheet/cardboard = 1)
category = CAT_MISC
@@ -561,8 +561,8 @@
/datum/crafting_recipe/rcl
name = "Makeshift Rapid Cable Layer"
result = /obj/item/weapon/twohanded/rcl/ghetto
result = /obj/item/twohanded/rcl/ghetto
time = 40
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver, /obj/item/weapon/wrench)
tools = list(/obj/item/weldingtool, /obj/item/screwdriver, /obj/item/wrench)
reqs = list(/obj/item/stack/sheet/metal = 15)
category = CAT_MISC
+16 -16
View File
@@ -1,6 +1,6 @@
//CONTAINS: Evidence bags
/obj/item/weapon/evidencebag
/obj/item/evidencebag
name = "evidence bag"
desc = "An empty evidence bag."
icon = 'icons/obj/storage.dmi'
@@ -8,20 +8,20 @@
item_state = ""
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/evidencebag/afterattack(obj/item/I, mob/user,proximity)
/obj/item/evidencebag/afterattack(obj/item/I, mob/user,proximity)
if(!proximity || loc == I)
return
evidencebagEquip(I, user)
/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user, params)
/obj/item/evidencebag/attackby(obj/item/I, mob/user, params)
if(evidencebagEquip(I, user))
return 1
/obj/item/weapon/evidencebag/proc/evidencebagEquip(obj/item/I, mob/user)
/obj/item/evidencebag/proc/evidencebagEquip(obj/item/I, mob/user)
if(!istype(I) || I.anchored == 1)
return
if(istype(I, /obj/item/weapon/evidencebag))
if(istype(I, /obj/item/evidencebag))
to_chat(user, "<span class='notice'>You find putting an evidence bag in another evidence bag to be slightly absurd.</span>")
return 1 //now this is podracing
@@ -34,8 +34,8 @@
return
if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
if(istype(I.loc, /obj/item/weapon/storage)) //in a container.
var/obj/item/weapon/storage/U = I.loc
if(istype(I.loc, /obj/item/storage)) //in a container.
var/obj/item/storage/U = I.loc
U.remove_from_storage(I, src)
if(user.is_holding(I))
user.dropItemToGround(I)
@@ -60,7 +60,7 @@
w_class = I.w_class
return 1
/obj/item/weapon/evidencebag/attack_self(mob/user)
/obj/item/evidencebag/attack_self(mob/user)
if(contents.len)
var/obj/item/I = contents[1]
user.visible_message("[user] takes [I] out of [src].", "<span class='notice'>You take [I] out of [src].</span>",\
@@ -76,16 +76,16 @@
icon_state = "evidenceobj"
return
/obj/item/weapon/storage/box/evidence
/obj/item/storage/box/evidence
name = "evidence bag box"
desc = "A box claiming to contain evidence bags."
/obj/item/weapon/storage/box/evidence/New()
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
new /obj/item/weapon/evidencebag(src)
/obj/item/storage/box/evidence/New()
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
new /obj/item/evidencebag(src)
..()
return
@@ -6,7 +6,7 @@
var/transfer_blood = 0
/obj/item/weapon/reagent_containers/glass/rag
/obj/item/reagent_containers/glass/rag
name = "damp rag"
desc = "For cleaning up messes, you suppose."
w_class = WEIGHT_CLASS_TINY
@@ -19,11 +19,11 @@
volume = 5
spillable = 0
/obj/item/weapon/reagent_containers/glass/rag/suicide_act(mob/user)
/obj/item/reagent_containers/glass/rag/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is smothering [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (OXYLOSS)
/obj/item/weapon/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity)
/obj/item/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity)
if(!proximity)
return
if(iscarbon(A) && A.reagents && reagents.total_volume)
+1 -1
View File
@@ -31,7 +31,7 @@
/obj/item/device/detective_scanner/proc/PrintReport()
// Create our paper
var/obj/item/weapon/paper/P = new(get_turf(src))
var/obj/item/paper/P = new(get_turf(src))
P.name = "paper- 'Scanner Report'"
P.info = "<center><font size='6'><B>Scanner Report</B></font></center><HR><BR>"
P.info += jointext(log, "<BR>")
+14 -14
View File
@@ -9,8 +9,8 @@
/datum/round_event/spooky/start()
..()
for(var/mob/living/carbon/human/H in GLOB.mob_list)
var/obj/item/weapon/storage/backpack/b = locate() in H.contents
new /obj/item/weapon/storage/spooky(b)
var/obj/item/storage/backpack/b = locate() in H.contents
new /obj/item/storage/spooky(b)
if(ishuman(H) || islizard(H))
if(prob(50))
H.set_species(/datum/species/skeleton)
@@ -18,7 +18,7 @@
H.set_species(/datum/species/zombie)
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_list)
Ian.place_on_head(new /obj/item/weapon/bedsheet(Ian))
Ian.place_on_head(new /obj/item/bedsheet(Ian))
for(var/mob/living/simple_animal/parrot/Poly/Poly in GLOB.mob_list)
new /mob/living/simple_animal/parrot/Poly/ghost(Poly.loc)
qdel(Poly)
@@ -99,13 +99,13 @@
priority_announce("Honk... Honk... honk... HONK! HONK! HONKHONKHONKHONKHONK", "HONK!", 'sound/spookoween/scary_horn.ogg')
//spooky foods (you can't actually make these when it's not halloween)
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookyskull
/obj/item/reagent_containers/food/snacks/sugarcookie/spookyskull
name = "skull cookie"
desc = "Spooky! It's got delicious calcium flavouring!"
icon = 'icons/obj/halloween_items.dmi'
icon_state = "skeletoncookie"
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookycoffin
/obj/item/reagent_containers/food/snacks/sugarcookie/spookycoffin
name = "coffin cookie"
desc = "Spooky! It's got delicious coffee flavouring!"
icon = 'icons/obj/halloween_items.dmi'
@@ -114,25 +114,25 @@
//spooky items
/obj/item/weapon/storage/spooky
/obj/item/storage/spooky
name = "trick-o-treat bag"
desc = "A pumpkin-shaped bag that holds all sorts of goodies!"
icon = 'icons/obj/halloween_items.dmi'
icon_state = "treatbag"
/obj/item/weapon/storage/spooky/New()
/obj/item/storage/spooky/New()
..()
for(var/distrobuteinbag=0 to 5)
var/type = pick(/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookyskull,
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/spookycoffin,
/obj/item/weapon/reagent_containers/food/snacks/candy_corn,
/obj/item/weapon/reagent_containers/food/snacks/candy,
/obj/item/weapon/reagent_containers/food/snacks/candiedapple,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
var/type = pick(/obj/item/reagent_containers/food/snacks/sugarcookie/spookyskull,
/obj/item/reagent_containers/food/snacks/sugarcookie/spookycoffin,
/obj/item/reagent_containers/food/snacks/candy_corn,
/obj/item/reagent_containers/food/snacks/candy,
/obj/item/reagent_containers/food/snacks/candiedapple,
/obj/item/reagent_containers/food/snacks/chocolatebar,
/obj/item/organ/brain ) // OH GOD THIS ISN'T CANDY!
new type(src)
/obj/item/weapon/card/emag/halloween
/obj/item/card/emag/halloween
name = "hack-o'-lantern"
desc = "It's a pumpkin with a cryptographic sequencer sticking out."
icon_state = "hack_o_lantern"
+11 -11
View File
@@ -15,9 +15,9 @@
/datum/round_event/valentines/start()
..()
for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
H.put_in_hands(new /obj/item/weapon/valentine)
var/obj/item/weapon/storage/backpack/b = locate() in H.contents
new /obj/item/weapon/reagent_containers/food/snacks/candyheart(b)
H.put_in_hands(new /obj/item/valentine)
var/obj/item/storage/backpack/b = locate() in H.contents
new /obj/item/reagent_containers/food/snacks/candyheart(b)
var/list/valentines = list()
@@ -64,7 +64,7 @@
/datum/round_event/valentines/announce()
priority_announce("It's Valentine's Day! Give a valentine to that special someone!")
/obj/item/weapon/valentine
/obj/item/valentine
name = "valentine"
desc = "A Valentine's card! Wonder what it says..."
icon = 'icons/obj/toy.dmi'
@@ -73,7 +73,7 @@
resistance_flags = FLAMMABLE
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/valentine/New()
/obj/item/valentine/New()
..()
message = pick("Roses are red / Violets are good / One day while Andy...",
"My love for you is like the singularity. It cannot be contained.",
@@ -126,15 +126,15 @@
"Not even sorium can drive me away from you.",
"Wanna make like a borg and do some heavy petting?" )
/obj/item/weapon/valentine/attackby(obj/item/weapon/W, mob/user, params)
/obj/item/valentine/attackby(obj/item/W, mob/user, params)
..()
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/toy/crayon))
if(istype(W, /obj/item/pen) || istype(W, /obj/item/toy/crayon))
var/recipient = stripped_input(user, "Who is receiving this valentine?", "To:", null , 20)
var/sender = stripped_input(user, "Who is sending this valentine?", "From:", null , 20)
if(recipient && sender)
name = "valentine - To: [recipient] From: [sender]"
/obj/item/weapon/valentine/examine(mob/user)
/obj/item/valentine/examine(mob/user)
if(in_range(user, src) || isobserver(user))
if( !(ishuman(user) || isobserver(user) || issilicon(user)) )
user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(message)]</BODY></HTML>", "window=[name]")
@@ -145,10 +145,10 @@
else
to_chat(user, "<span class='notice'>It is too far away.</span>")
/obj/item/weapon/valentine/attack_self(mob/user)
/obj/item/valentine/attack_self(mob/user)
user.examinate(src)
/obj/item/weapon/reagent_containers/food/snacks/candyheart
/obj/item/reagent_containers/food/snacks/candyheart
name = "candy heart"
icon = 'icons/obj/holiday_misc.dmi'
icon_state = "candyheart"
@@ -156,7 +156,7 @@
list_reagents = list("sugar" = 2)
junkiness = 5
/obj/item/weapon/reagent_containers/food/snacks/candyheart/New()
/obj/item/reagent_containers/food/snacks/candyheart/New()
..()
desc = pick("A heart-shaped candy that reads: HONK ME",
"A heart-shaped candy that reads: ERP",
+10 -10
View File
@@ -29,7 +29,7 @@
continue
for(var/turf/open/floor/T in orange(1,xmas))
for(var/i=1,i<=rand(1,5),i++)
new /obj/item/weapon/a_gift(T)
new /obj/item/a_gift(T)
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_list)
Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian))
for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines)
@@ -39,17 +39,17 @@
priority_announce("Ho Ho Ho, Merry Xmas!", "Unknown Transmission")
/obj/item/weapon/toy/xmas_cracker
/obj/item/toy/xmas_cracker
name = "xmas cracker"
icon = 'icons/obj/christmas.dmi'
icon_state = "cracker"
desc = "Directions for use: Requires two people, one to pull each end."
var/cracked = 0
/obj/item/weapon/toy/xmas_cracker/attack(mob/target, mob/user)
/obj/item/toy/xmas_cracker/attack(mob/target, mob/user)
if( !cracked && ishuman(target) && (target.stat == CONSCIOUS) && !target.get_active_held_item() )
target.visible_message("[user] and [target] pop \an [src]! *pop*", "<span class='notice'>You pull \an [src] with [target]! *pop*</span>", "<span class='italics'>You hear a pop.</span>")
var/obj/item/weapon/paper/Joke = new /obj/item/weapon/paper(user.loc)
var/obj/item/paper/Joke = new /obj/item/paper(user.loc)
Joke.name = "[pick("awful","terrible","unfunny")] joke"
Joke.info = pick("What did one snowman say to the other?\n\n<i>'Is it me or can you smell carrots?'</i>",
"Why couldn't the snowman get laid?\n\n<i>He was frigid!</i>",
@@ -65,7 +65,7 @@
user.update_icons()
cracked = 1
icon_state = "cracker1"
var/obj/item/weapon/toy/xmas_cracker/other_half = new /obj/item/weapon/toy/xmas_cracker(target)
var/obj/item/toy/xmas_cracker/other_half = new /obj/item/toy/xmas_cracker(target)
other_half.cracked = 1
other_half.icon_state = "cracker2"
target.put_in_active_hand(other_half)
@@ -134,12 +134,12 @@
santa.equip_to_slot_or_del(new /obj/item/clothing/mask/breath, slot_wear_mask)
santa.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/red, slot_gloves)
santa.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/red, slot_shoes)
santa.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen/double, slot_belt)
santa.equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen/double, slot_belt)
santa.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain, slot_ears)
santa.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/santabag, slot_back)
santa.equip_to_slot_or_del(new /obj/item/storage/backpack/santabag, slot_back)
santa.equip_to_slot_or_del(new /obj/item/device/flashlight, slot_r_store) //most blob spawn locations are really dark.
var/obj/item/weapon/card/id/gold/santacard = new(santa)
var/obj/item/card/id/gold/santacard = new(santa)
santacard.update_label("Santa Claus", "Santa")
var/datum/job/captain/J = new/datum/job/captain
santacard.access = J.get_access()
@@ -147,8 +147,8 @@
santa.update_icons()
var/obj/item/weapon/storage/backpack/bag = santa.back
var/obj/item/weapon/a_gift/gift = new(santa)
var/obj/item/storage/backpack/bag = santa.back
var/obj/item/a_gift/gift = new(santa)
while(bag.can_be_inserted(gift, 1))
bag.handle_item_insertion(gift, 1)
gift = new(santa)
+6 -6
View File
@@ -135,20 +135,20 @@
new /obj/structure/spider/stickyweb(T)
if(ANTIDOTE_NEEDED)
var/obj/item/weapon/reagent_containers/glass/bottle/virus_type = pick(/obj/item/weapon/reagent_containers/glass/bottle/beesease, /obj/item/weapon/reagent_containers/glass/bottle/brainrot, /obj/item/weapon/reagent_containers/glass/bottle/fluspanish)
var/obj/item/reagent_containers/glass/bottle/virus_type = pick(/obj/item/reagent_containers/glass/bottle/beesease, /obj/item/reagent_containers/glass/bottle/brainrot, /obj/item/reagent_containers/glass/bottle/fluspanish)
var/turf/T
for(var/i=0, i<10, i++)
if(prob(15))
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/glass/bottle)
shuttle_spawns.Add(/obj/item/reagent_containers/glass/bottle)
else if(prob(15))
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/syringe)
shuttle_spawns.Add(/obj/item/reagent_containers/syringe)
else if(prob(25))
shuttle_spawns.Add(/obj/item/weapon/shard)
shuttle_spawns.Add(/obj/item/shard)
T = pick_n_take(empty_shuttle_turfs)
new virus_type(T)
shuttle_spawns.Add(/obj/structure/closet/crate)
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat)
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/glass/bottle/magnitis)
shuttle_spawns.Add(/obj/item/reagent_containers/glass/bottle/pierrot_throat)
shuttle_spawns.Add(/obj/item/reagent_containers/glass/bottle/magnitis)
if(DEPARTMENT_RESUPPLY)
var/list/crate_types = list(
+1 -1
View File
@@ -22,7 +22,7 @@
loadout = list(/obj/item/clothing/suit/wizrobe, /obj/item/clothing/shoes/sandal/magic, /obj/item/clothing/head/wizard)
ruins_spaceworthiness = 1
if("swords")
loadout[5] = /obj/item/weapon/katana/cursed
loadout[5] = /obj/item/katana/cursed
if("bigfatdoobie")
loadout[4] = /obj/item/clothing/mask/cigarette/rollie/trippy
ruins_spaceworthiness = 1

Some files were not shown because too many files have changed in this diff Show More