ports all the tg junk for icemoon, not yet changed to make it all compile
This commit is contained in:
@@ -351,6 +351,12 @@
|
||||
light_color = "#FFAA44"
|
||||
flashlight_power = 0.8
|
||||
|
||||
/obj/item/flashlight/lantern/jade
|
||||
name = "jade lantern"
|
||||
desc = "An ornate, green lantern."
|
||||
color = LIGHT_COLOR_GREEN
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
/obj/item/flashlight/slime
|
||||
gender = PLURAL
|
||||
name = "glowing slime extract"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* Fork
|
||||
* Kitchen knives
|
||||
* Ritual Knife
|
||||
* Bloodletter
|
||||
* Butcher's cleaver
|
||||
* Combat Knife
|
||||
* Rolling Pins
|
||||
@@ -97,6 +98,28 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/kitchen/knife/bloodletter
|
||||
name = "bloodletter"
|
||||
desc = "An occult looking dagger that is cold to the touch. Somehow, the flawless orb on the pommel is made entirely of liquid blood."
|
||||
icon = 'icons/obj/ice_moon/artifacts.dmi'
|
||||
icon_state = "bloodletter"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
/// Bleed stacks applied when an organic mob target is hit
|
||||
var/bleed_stacks_per_hit = 3
|
||||
|
||||
/obj/item/kitchen/knife/bloodletter/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(!isliving(target) || !proximity_flag)
|
||||
return
|
||||
var/mob/living/M = target
|
||||
if(!(M.mob_biotypes & MOB_ORGANIC))
|
||||
return
|
||||
var/datum/status_effect/stacking/saw_bleed/bloodletting/B = M.has_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting)
|
||||
if(!B)
|
||||
M.apply_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting, bleed_stacks_per_hit)
|
||||
else
|
||||
B.add_stacks(bleed_stacks_per_hit)
|
||||
|
||||
/obj/item/kitchen/knife/butcher
|
||||
name = "butcher's cleaver"
|
||||
icon_state = "butch"
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
//**************
|
||||
//*****Keys*******************
|
||||
//************** ** **
|
||||
/obj/item/keycard
|
||||
name = "security keycard"
|
||||
desc = "This feels like it belongs to a door."
|
||||
icon = 'icons/obj/puzzle_small.dmi'
|
||||
icon_state = "keycard"
|
||||
force = 0
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 1
|
||||
throw_range = 7
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF
|
||||
var/puzzle_id = null
|
||||
|
||||
//Two test keys for use alongside the two test doors.
|
||||
/obj/item/keycard/cheese
|
||||
name = "cheese keycard"
|
||||
desc = "Look, I still don't understand the reference. What the heck is a keyzza?"
|
||||
color = "#f0da12"
|
||||
puzzle_id = "cheese"
|
||||
|
||||
/obj/item/keycard/swordfish
|
||||
name = "titanic keycard"
|
||||
desc = "Smells like it was at the bottom of a harbor."
|
||||
color = "#3bbbdb"
|
||||
puzzle_id = "swordfish"
|
||||
|
||||
//***************
|
||||
//*****Doors*****
|
||||
//***************
|
||||
|
||||
/obj/machinery/door/keycard
|
||||
name = "locked door"
|
||||
desc = "This door only opens when a keycard is swiped. It looks virtually indestructable."
|
||||
icon = 'icons/obj/doors/puzzledoor/default.dmi'
|
||||
icon_state = "door_closed"
|
||||
explosion_block = 3
|
||||
heat_proof = TRUE
|
||||
max_integrity = 600
|
||||
armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF
|
||||
damage_deflection = 70
|
||||
/// Make sure that the key has the same puzzle_id as the keycard door!
|
||||
var/puzzle_id = null
|
||||
/// Message that occurs when the door is opened
|
||||
var/open_message = "The door beeps, and slides opens."
|
||||
|
||||
//Standard Expressions to make keycard doors basically un-cheeseable
|
||||
/obj/machinery/door/keycard/Bumped(atom/movable/AM)
|
||||
return !density && ..()
|
||||
|
||||
/obj/machinery/door/keycard/emp_act(severity)
|
||||
return
|
||||
|
||||
/obj/machinery/door/keycard/ex_act(severity, target)
|
||||
return
|
||||
|
||||
/obj/machinery/door/keycard/try_to_activate_door(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(operating)
|
||||
return
|
||||
|
||||
/obj/machinery/door/keycard/attackby(obj/item/I, mob/user, params)
|
||||
. = ..()
|
||||
if(istype(I,/obj/item/keycard))
|
||||
var/obj/item/keycard/key = I
|
||||
if((!puzzle_id || puzzle_id == key.puzzle_id) && density)
|
||||
if(open_message)
|
||||
to_chat(user, "<span class='notice'>[open_message]</span>")
|
||||
open()
|
||||
return
|
||||
else if(puzzle_id != key.puzzle_id)
|
||||
to_chat(user, "<span class='notice'>[src] buzzes. This must not be the right key.</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>This door doesn't appear to close.</span>")
|
||||
return
|
||||
|
||||
//Test doors. Gives admins a few doors to use quickly should they so choose.
|
||||
/obj/machinery/door/keycard/cheese
|
||||
name = "blue airlock"
|
||||
desc = "Smells like... pizza?"
|
||||
puzzle_id = "cheese"
|
||||
|
||||
/obj/machinery/door/keycard/swordfish
|
||||
name = "blue airlock"
|
||||
desc = "If nautical nonsense be something you wish."
|
||||
puzzle_id = "swordfish"
|
||||
|
||||
//*************************
|
||||
//***Box Pushing Puzzles***
|
||||
//*************************
|
||||
//We're working off a subtype of pressureplates, which should work just a BIT better now.
|
||||
/obj/structure/holobox
|
||||
name = "holobox"
|
||||
desc = "A hard-light box, containing a secure decryption key."
|
||||
icon = 'icons/obj/puzzle_small.dmi'
|
||||
icon_state = "laserbox"
|
||||
density = TRUE
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF
|
||||
|
||||
//Uses the pressure_plate settings for a pretty basic custom pattern that waits for a specific item to trigger. Easy enough to retool for mapping purposes or subtypes.
|
||||
/obj/item/pressure_plate/hologrid
|
||||
name = "hologrid"
|
||||
desc = "A high power, electronic input port for a holobox, which can unlock the hologrid's storage compartment. Safe to stand on."
|
||||
icon = 'icons/obj/puzzle_small.dmi'
|
||||
icon_state = "lasergrid"
|
||||
anchored = TRUE
|
||||
trigger_mob = FALSE
|
||||
trigger_item = TRUE
|
||||
specific_item = /obj/structure/holobox
|
||||
removable_signaller = FALSE //Being a pressure plate subtype, this can also use signals.
|
||||
roundstart_signaller_freq = FREQ_HOLOGRID_SOLUTION //Frequency is kept on it's own default channel however.
|
||||
active = TRUE
|
||||
trigger_delay = 10
|
||||
protected = TRUE
|
||||
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF
|
||||
var/reward = /obj/item/reagent_containers/food/snacks/cookie
|
||||
var/claimed = FALSE
|
||||
|
||||
/obj/item/pressure_plate/hologrid/Initialize()
|
||||
. = ..()
|
||||
|
||||
AddElement(/datum/element/undertile, tile_overlay = tile_overlay) //we remove use_anchor here, so it ALWAYS stays anchored
|
||||
|
||||
/obj/item/pressure_plate/hologrid/examine(mob/user)
|
||||
. = ..()
|
||||
if(claimed)
|
||||
. += "<span class='notice'>This one appears to be spent already.</span>"
|
||||
|
||||
/obj/item/pressure_plate/hologrid/trigger()
|
||||
if(!claimed)
|
||||
new reward(loc)
|
||||
flick("lasergrid_a",src)
|
||||
icon_state = "lasergrid_full"
|
||||
claimed = TRUE
|
||||
|
||||
/obj/item/pressure_plate/hologrid/Crossed(atom/movable/AM)
|
||||
. = ..()
|
||||
if(trigger_item && istype(AM, specific_item) && !claimed)
|
||||
AM.anchored = TRUE
|
||||
flick("laserbox_burn", AM)
|
||||
trigger()
|
||||
sleep(15)
|
||||
qdel(AM)
|
||||
@@ -178,6 +178,11 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \
|
||||
icon_state = "sinew"
|
||||
novariants = TRUE
|
||||
|
||||
/obj/item/stack/sheet/sinew/wolf
|
||||
name = "wolf sinew"
|
||||
desc = "Long stringy filaments which came from the insides of a wolf."
|
||||
singular_name = "wolf sinew"
|
||||
|
||||
|
||||
GLOBAL_LIST_INIT(sinew_recipes, list ( \
|
||||
new/datum/stack_recipe("sinew restraints", /obj/item/restraints/handcuffs/sinew, 1), \
|
||||
@@ -202,6 +207,11 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
layer = MOB_LAYER
|
||||
|
||||
/obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide
|
||||
name = "polar bear hides"
|
||||
desc = "Pieces of a polar bear's fur, these might be able to make your suit a bit more durable to attack from the local fauna."
|
||||
icon_state = "polar_bear_hide"
|
||||
singular_name = "polar bear hide"
|
||||
|
||||
/obj/item/stack/sheet/animalhide/ashdrake
|
||||
name = "ash drake hide"
|
||||
|
||||
Reference in New Issue
Block a user