mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Update wanted_message.json * Update yogs_ion_laws.json * this too * Update cryopod.dm * Update headset.dm * Update topic.dm * Update nuclearbomb.dm * Update corpse.dm * Update expressconsole.dm * Update jobs.dm * Update miscellaneous.dm * Update captain.dm * Update machine_vending.dm * Update gimmick_objectives.txt * Update infiltration.dm * Update parts.dm * think I did this right * no apparently I didn't if this works, it only dies on mapping stuff * fixed? * tests the linter to see if the grep catches this * test didn't work, reverts last commit * test #2: does it detect case sensitivity? * test worked, I think it's done! * Update check_grep.sh * Update check_grep.sh * Update check_grep.sh
648 lines
26 KiB
Plaintext
648 lines
26 KiB
Plaintext
/obj/item/clothing/shoes/proc/step_action() //this was made to rewrite clown shoes squeaking
|
|
SEND_SIGNAL(src, COMSIG_SHOES_STEP_ACTION)
|
|
|
|
/obj/item/clothing/shoes/sneakers/mime
|
|
name = "mime shoes"
|
|
icon_state = "mime"
|
|
|
|
/obj/item/clothing/shoes/combat //basic syndicate combat boots for nuke ops and mob corpses
|
|
name = "combat boots"
|
|
desc = "High speed, low drag combat boots."
|
|
icon_state = "jackboots"
|
|
item_state = "jackboots"
|
|
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
|
armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 60, RAD = 0, FIRE = 70, ACID = 50, ELECTRIC = 100)
|
|
strip_delay = 70
|
|
resistance_flags = NONE
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
|
|
/obj/item/clothing/shoes/combat/combat_knife/Initialize(mapload)
|
|
. = ..()
|
|
new /obj/item/kitchen/knife/combat(src)
|
|
|
|
/obj/item/clothing/shoes/combat/swat //overpowered boots for death squads
|
|
name = "\improper SWAT boots"
|
|
desc = "High speed, no drag combat boots."
|
|
clothing_flags = NOSLIP
|
|
armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 100, RAD = 30, FIRE = 90, ACID = 50, ELECTRIC = 100)
|
|
|
|
/obj/item/clothing/shoes/sandal
|
|
desc = "A pair of rather plain wooden sandals."
|
|
name = "sandals"
|
|
icon_state = "wizard"
|
|
strip_delay = 50
|
|
equip_delay_other = 50
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0)
|
|
|
|
/obj/item/clothing/shoes/sandal/marisa
|
|
desc = "A pair of magic black shoes."
|
|
name = "magic shoes"
|
|
icon_state = "black"
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
|
|
/obj/item/clothing/shoes/sandal/magic
|
|
name = "magical sandals"
|
|
desc = "A pair of sandals imbued with magic."
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
|
|
/obj/item/clothing/shoes/galoshes
|
|
desc = "A pair of yellow rubber boots, designed to prevent slipping on wet surfaces."
|
|
name = "galoshes"
|
|
icon_state = "galoshes"
|
|
clothing_flags = NOSLIP
|
|
slowdown = SHOES_SLOWDOWN+0.75
|
|
strip_delay = 50
|
|
equip_delay_other = 50
|
|
resistance_flags = NONE
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 40, ACID = 75, ELECTRIC = 100)
|
|
can_be_bloody = FALSE
|
|
custom_price = 100
|
|
|
|
/obj/item/clothing/shoes/galoshes/dry
|
|
name = "absorbent galoshes"
|
|
desc = "A pair of purple rubber boots, designed to prevent slipping on wet surfaces while also drying them."
|
|
icon_state = "galoshes_dry"
|
|
|
|
/obj/item/clothing/shoes/galoshes/dry/step_action()
|
|
var/turf/open/t_loc = get_turf(src)
|
|
SEND_SIGNAL(t_loc, COMSIG_TURF_MAKE_DRY, TURF_WET_WATER, TRUE, INFINITY)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes
|
|
desc = "The prankster's standard-issue clowning shoes. Damn, they're huge! Ctrl-click to toggle waddle dampeners."
|
|
name = "clown shoes"
|
|
icon_state = "clown"
|
|
item_state = "clown_shoes"
|
|
slowdown = SHOES_SLOWDOWN+0.5
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown
|
|
var/datum/component/waddle
|
|
var/enabled_waddle = TRUE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/clowncrocs
|
|
desc = "The prankster's standard-issue clowning crocs. Damn, they're cool! These crocs seems smaller than the clown's standard shoes. Ctrl-click to toggle waddle dampeners."
|
|
name = "clown crocs"
|
|
icon_state = "clowncrocs"
|
|
item_state = "clowncrocs"
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg'=1,'sound/effects/clownstep2.ogg'=1), 50)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot)
|
|
. = ..()
|
|
if(slot == ITEM_SLOT_FEET)
|
|
if(enabled_waddle)
|
|
waddle = user.AddComponent(/datum/component/waddling)
|
|
if(user.mind && user.mind.assigned_role == "Clown")
|
|
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "clownshoes", /datum/mood_event/clownshoes)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/dropped(mob/user)
|
|
. = ..()
|
|
QDEL_NULL(waddle)
|
|
if(user.mind && user.mind.assigned_role == "Clown")
|
|
SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "clownshoes")
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/CtrlClick(mob/living/user)
|
|
if(!isliving(user))
|
|
return
|
|
if(user.get_active_held_item() != src)
|
|
to_chat(user, "You must hold the [src] in your hand to do this.")
|
|
return
|
|
if (!enabled_waddle)
|
|
to_chat(user, span_notice("You switch off the waddle dampeners!"))
|
|
enabled_waddle = TRUE
|
|
else
|
|
to_chat(user, span_notice("You switch on the waddle dampeners!"))
|
|
enabled_waddle = FALSE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/jester
|
|
name = "jester shoes"
|
|
desc = "A court jester's shoes, updated with modern squeaking technology."
|
|
icon_state = "jester_shoes"
|
|
|
|
/obj/item/clothing/shoes/jackboots
|
|
name = "jackboots"
|
|
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
|
|
icon_state = "jackboots"
|
|
item_state = "jackboots"
|
|
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
|
strip_delay = 50
|
|
equip_delay_other = 50
|
|
resistance_flags = NONE
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, RAD = 0, FIRE = 0, ACID = 0)
|
|
force = 1
|
|
|
|
/obj/item/clothing/shoes/jackboots/fast
|
|
slowdown = -1
|
|
|
|
/obj/item/clothing/shoes/jackboots/warden
|
|
name = "warden's spur jackboots"
|
|
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time. These boots have spurs attached to them."
|
|
icon_state = "spurboots"
|
|
item_state = "spurboots"
|
|
|
|
/obj/item/clothing/shoes/jackboots/warden/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/effects/spurstep.ogg'))
|
|
|
|
/obj/item/clothing/shoes/winterboots
|
|
name = "winter boots"
|
|
desc = "Boots lined with 'synthetic' animal fur."
|
|
icon_state = "winterboots"
|
|
item_state = "winterboots"
|
|
clothing_flags = NOSLIP_ICE
|
|
cold_protection = FEET|LEGS
|
|
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
|
heat_protection = FEET|LEGS
|
|
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, RAD = 0, FIRE = 0, ACID = 0)
|
|
|
|
/obj/item/clothing/shoes/winterboots/ice_boots
|
|
name = "ice hiking boots"
|
|
desc = "A pair of winter boots with special grips on the bottom, designed to prevent slipping on frozen surfaces."
|
|
icon_state = "iceboots"
|
|
item_state = "iceboots"
|
|
clothing_flags = NOSLIP_ICE
|
|
|
|
/obj/item/clothing/shoes/workboots
|
|
name = "work boots"
|
|
desc = "Nanotrasen-issue Engineering lace-up work boots for the especially blue-collar. Electrically insulated to protect from hazardous work environments."
|
|
icon_state = "workboots"
|
|
item_state = "jackboots"
|
|
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
|
strip_delay = 40
|
|
equip_delay_other = 40
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, RAD = 0, FIRE = 0, ACID = 0, ELECTRIC = 100)
|
|
|
|
/obj/item/clothing/shoes/workboots/mining
|
|
name = "mining boots"
|
|
desc = "Steel-toed mining boots for mining in hazardous environments. Very good at keeping toes uncrushed."
|
|
icon_state = "explorer"
|
|
clothing_flags = NOSLIP_ICE
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/clothing/shoes/cult
|
|
name = "\improper Nar'sien invoker boots"
|
|
desc = "A pair of boots worn by the followers of Nar'sie."
|
|
icon_state = "cult"
|
|
item_state = "cult"
|
|
cold_protection = FEET
|
|
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
|
heat_protection = FEET
|
|
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
|
|
|
|
/obj/item/clothing/shoes/cult/alt
|
|
name = "cultist boots"
|
|
icon_state = "cultalt"
|
|
|
|
/obj/item/clothing/shoes/cult/alt/ghost
|
|
item_flags = DROPDEL
|
|
|
|
/obj/item/clothing/shoes/cult/alt/ghost/Initialize(mapload)
|
|
. = ..()
|
|
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
|
|
|
|
/obj/item/clothing/shoes/cyborg
|
|
name = "cyborg boots"
|
|
desc = "Shoes for a cyborg costume."
|
|
icon_state = "boots"
|
|
|
|
/obj/item/clothing/shoes/laceup
|
|
name = "laceup shoes"
|
|
desc = "The height of fashion, and they're pre-polished!"
|
|
icon_state = "laceups"
|
|
equip_delay_other = 50
|
|
|
|
/obj/item/clothing/shoes/roman
|
|
name = "roman sandals"
|
|
desc = "Sandals with buckled leather straps on it."
|
|
icon_state = "roman"
|
|
item_state = "roman"
|
|
strip_delay = 100
|
|
equip_delay_other = 100
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0)
|
|
|
|
/obj/item/clothing/shoes/griffin
|
|
name = "griffon boots"
|
|
desc = "A pair of costume boots fashioned after bird talons."
|
|
icon_state = "griffinboots"
|
|
item_state = "griffinboots"
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
|
|
/obj/item/clothing/shoes/bhop
|
|
name = "jump boots"
|
|
desc = "A specialized pair of combat boots with a built-in propulsion system for rapid foward movement."
|
|
icon_state = "jetboots"
|
|
item_state = "jetboots"
|
|
resistance_flags = FIRE_PROOF
|
|
clothing_flags = NOSLIP_ICE
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
actions_types = list(/datum/action/cooldown/boost)
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, RAD = 0, FIRE = 0, ACID = 0)
|
|
var/jumpdistance = 5 //-1 from to see the actual distance, e.g 4 goes over 3 tiles
|
|
var/jumpspeed = 3
|
|
var/recharging_rate = 6 SECONDS //default 6 seconds between each dash
|
|
|
|
/obj/item/clothing/shoes/bhop/Initialize(mapload)
|
|
. = ..()
|
|
for(var/datum/action/cooldown/boost/bhop_action in actions)
|
|
bhop_action.jumpdistance = jumpdistance
|
|
bhop_action.jumpspeed = jumpspeed
|
|
bhop_action.cooldown_time = recharging_rate
|
|
|
|
/obj/item/clothing/shoes/singery
|
|
name = "yellow performer's boots"
|
|
desc = "These boots were made for dancing."
|
|
icon_state = "ysing"
|
|
equip_delay_other = 50
|
|
|
|
/obj/item/clothing/shoes/singerb
|
|
name = "blue performer's boots"
|
|
desc = "These boots were made for dancing."
|
|
icon_state = "bsing"
|
|
equip_delay_other = 50
|
|
|
|
/obj/item/clothing/shoes/bronze
|
|
name = "bronze boots"
|
|
desc = "A giant, clunky pair of shoes crudely made out of bronze. Why would anyone wear these?"
|
|
icon = 'icons/obj/clothing/clockwork_garb.dmi'
|
|
icon_state = "clockwork_treads"
|
|
|
|
/obj/item/clothing/shoes/bronze/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/machines/clockcult/integration_cog_install.ogg' = 1, 'sound/magic/clockwork/fellowship_armory.ogg' = 1), 50)
|
|
|
|
/obj/item/clothing/shoes/wheelys
|
|
name = "Wheely-Heels"
|
|
desc = "Uses patented retractable wheel technology. Never sacrifice speed for style - not that this provides much of either." //Thanks Fel
|
|
icon_state = "wheelys"
|
|
item_state = "wheelys"
|
|
actions_types = list(/datum/action/item_action/wheelys)
|
|
var/wheelToggle = FALSE //False means wheels are not popped out
|
|
var/obj/vehicle/ridden/scooter/wheelys/W
|
|
|
|
/obj/item/clothing/shoes/wheelys/Initialize(mapload)
|
|
. = ..()
|
|
W = new /obj/vehicle/ridden/scooter/wheelys(null)
|
|
|
|
/obj/item/clothing/shoes/wheelys/ui_action_click(mob/user, action)
|
|
if(!isliving(user))
|
|
return
|
|
if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/wheelys))
|
|
to_chat(user, span_warning("You must be wearing the wheely-heels to use them!"))
|
|
return
|
|
if(!(W.is_occupant(user)))
|
|
wheelToggle = FALSE
|
|
if(wheelToggle)
|
|
W.unbuckle_mob(user)
|
|
wheelToggle = FALSE
|
|
return
|
|
W.forceMove(get_turf(user))
|
|
W.buckle_mob(user)
|
|
wheelToggle = TRUE
|
|
|
|
/obj/item/clothing/shoes/wheelys/dropped(mob/user)
|
|
if(wheelToggle)
|
|
W.unbuckle_mob(user)
|
|
wheelToggle = FALSE
|
|
..()
|
|
|
|
/obj/item/clothing/shoes/wheelys/Destroy()
|
|
QDEL_NULL(W)
|
|
. = ..()
|
|
|
|
/obj/item/clothing/shoes/kindleKicks
|
|
name = "Kindle Kicks"
|
|
desc = "They'll sure kindle something in you, and it's not childhood nostalgia..."
|
|
icon_state = "kindleKicks"
|
|
item_state = "kindleKicks"
|
|
actions_types = list(/datum/action/item_action/kindle_kicks)
|
|
light_system = MOVABLE_LIGHT
|
|
light_range = 2
|
|
light_power = 3
|
|
light_on = FALSE
|
|
var/lightCycle = 0
|
|
var/active = FALSE
|
|
|
|
/obj/item/clothing/shoes/kindleKicks/ui_action_click(mob/user, action)
|
|
if(active)
|
|
return
|
|
active = TRUE
|
|
set_light_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255)))
|
|
set_light_on(active)
|
|
addtimer(CALLBACK(src, PROC_REF(lightUp)), 0.5 SECONDS)
|
|
|
|
/obj/item/clothing/shoes/kindleKicks/proc/lightUp(mob/user)
|
|
if(lightCycle < 15)
|
|
set_light_color(rgb(rand(0, 255), rand(0, 255), rand(0, 255)))
|
|
lightCycle++
|
|
addtimer(CALLBACK(src, PROC_REF(lightUp)), 0.5 SECONDS)
|
|
else
|
|
lightCycle = 0
|
|
active = FALSE
|
|
set_light_on(active)
|
|
|
|
/obj/item/clothing/shoes/russian
|
|
name = "russian boots"
|
|
desc = "Comfy shoes."
|
|
icon_state = "rus_shoes"
|
|
item_state = "rus_shoes"
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
|
|
/obj/item/clothing/shoes/cowboy
|
|
name = "cowboy boots"
|
|
desc = "A small sticker lets you know they've been inspected for snakes, It is unclear how long ago the inspection took place..."
|
|
icon_state = "cowboy_brown"
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
custom_price = 35 //poor assistants cant afford 50 credits
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, RAD = 0, FIRE = 0, ACID = 0)
|
|
var/list/occupants = list()
|
|
var/max_occupants = 4
|
|
|
|
/obj/item/clothing/shoes/cowboy/Initialize(mapload)
|
|
. = ..()
|
|
if(prob(2))
|
|
var/mob/living/simple_animal/hostile/retaliate/poison/snake/bootsnake = new/mob/living/simple_animal/hostile/retaliate/poison/snake(src)
|
|
occupants += bootsnake
|
|
|
|
|
|
/obj/item/clothing/shoes/cowboy/equipped(mob/living/carbon/user, slot)
|
|
. = ..()
|
|
if(slot == ITEM_SLOT_FEET)
|
|
for(var/mob/living/occupant in occupants)
|
|
occupant.forceMove(user.drop_location())
|
|
user.visible_message(span_warning("[user] recoils as something slithers out of [src]."), span_userdanger(" You feel a sudden stabbing pain in your [pick("foot", "toe", "ankle")]!"))
|
|
user.Knockdown(20) //Is one second paralyze better here? I feel you would fall on your ass in some fashion.
|
|
user.apply_damage(5, BRUTE, pick(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
|
|
if(istype(occupant, /mob/living/simple_animal/hostile/retaliate/poison))
|
|
user.reagents.add_reagent(/datum/reagent/toxin, 7)
|
|
occupants.Cut()
|
|
|
|
/obj/item/clothing/shoes/cowboy/MouseDrop_T(mob/living/target, mob/living/user)
|
|
. = ..()
|
|
if(user.stat || !(user.mobility_flags & MOBILITY_USE) || user.restrained() || !Adjacent(user) || !user.Adjacent(target) || target.stat == DEAD)
|
|
return
|
|
if(occupants.len >= max_occupants)
|
|
to_chat(user, span_notice("[src] are full!"))
|
|
return
|
|
if(istype(target, /mob/living/simple_animal/hostile/retaliate/poison/snake) || istype(target, /mob/living/simple_animal/hostile/headcrab) || istype(target, /mob/living/carbon/alien/larva))
|
|
occupants += target
|
|
target.forceMove(src)
|
|
to_chat(user, span_notice("[target] slithers into [src]"))
|
|
|
|
/obj/item/clothing/shoes/cowboy/container_resist(mob/living/user)
|
|
if(!do_after(user, 1 SECONDS, user))
|
|
return
|
|
user.forceMove(user.drop_location())
|
|
occupants -= user
|
|
|
|
/obj/item/clothing/shoes/cowboy/white
|
|
name = "white cowboy boots"
|
|
icon_state = "cowboy_white"
|
|
|
|
/obj/item/clothing/shoes/cowboy/black
|
|
name = "black cowboy boots"
|
|
desc = "You get the feeling someone might have been hanged in these boots."
|
|
icon_state = "cowboy_black"
|
|
|
|
/obj/item/clothing/shoes/cowboy/fancy
|
|
name = "bilton wrangler boots"
|
|
desc = "A pair of authentic haute couture boots from Japanifornia. You doubt they have ever been close to cattle."
|
|
icon_state = "cowboy_fancy"
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 0, ACID = 0)
|
|
|
|
/obj/item/clothing/shoes/cowboy/lizard
|
|
name = "lizard skin boots"
|
|
desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost."
|
|
icon_state = "lizardboots_green"
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, RAD = 0, FIRE = 40, ACID = 0) //lizards like to stay warm
|
|
|
|
/obj/item/clothing/shoes/cowboy/lizard/masterwork
|
|
name = "\improper Hugs-The-Feet lizard skin boots"
|
|
desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants."
|
|
icon_state = "lizardboots_blue"
|
|
|
|
/obj/effect/spawner/lootdrop/lizardboots
|
|
name = "random lizard boot quality"
|
|
desc = "Which ever gets picked, the lizard race loses"
|
|
icon = 'icons/obj/clothing/shoes.dmi'
|
|
icon_state = "lizardboots_green"
|
|
loot = list(
|
|
/obj/item/clothing/shoes/cowboy/lizard = 7,
|
|
/obj/item/clothing/shoes/cowboy/lizard/masterwork = 1)
|
|
|
|
/obj/item/clothing/shoes/pathtreads
|
|
name = "pathfinder treads"
|
|
desc = "Massive boots made from chitin, they look hand-crafted."
|
|
icon_state = "pathtreads"
|
|
item_state = "pathtreads"
|
|
strip_delay = 50
|
|
body_parts_covered = LEGS|FEET
|
|
resistance_flags = FIRE_PROOF
|
|
heat_protection = LEGS|FEET
|
|
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
|
cold_protection = LEGS|FEET
|
|
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps //Standard for all digitigrade legs and feets
|
|
name = "footwraps"
|
|
desc = "Standard issue Nanotrasen cloth footwraps for those with podiatric deficiencies. They're quite itchy and scratchy."
|
|
icon_state = "footwraps"
|
|
item_state = "footwraps"
|
|
xenoshoe = EITHER_STYLE // This can be worn by digitigrade or straight legs, or a hybridization thereof (one prosthetic one digitigrade). Xenoshoe variable will default to NO_DIGIT, excluding digitigrade feet.
|
|
mutantrace_variation = MUTANTRACE_VARIATION // Yes these shoes account for non-straight leg situations, such as jumpskirts
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/jackboots // Footwraps woven with security-grade materials, still somewhat inferior to full jackboots.
|
|
name = "reinforced footwraps"
|
|
desc = "These make your feet feel snug and secure, while still being breathable and light."
|
|
icon_state = "footwraps_s"
|
|
item_state = "footwraps_s"
|
|
strip_delay = 2.5 SECONDS // Half time to take off
|
|
equip_delay_other = 2.5 SECONDS // Half time
|
|
resistance_flags = NONE
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) // Fabric is more permeable than boot, but still somewhat resistant
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/command // Not applicable unless 11505 merges - Digitigrade-exclusive shoes for Command positions
|
|
name = "command footwraps"
|
|
desc = "These Command-grade Nanotrasen fiber footwraps exude an air of refinement not often felt by those with alien podiatric structures."
|
|
icon_state = "footwraps_c"
|
|
item_state = "footwraps_c"
|
|
xenoshoe = YES_DIGIT // This is digitigrade leg exclusive
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/goliath
|
|
name = "goliath hide footwraps"
|
|
desc = "These make your feet feel snug and secure, while still being breathable and light."
|
|
icon_state = "footwraps_goliath"
|
|
item_state = "footwraps_goliath"
|
|
armor = list("melee" = 5, "bullet" = 5, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 0)
|
|
body_parts_covered = LEGS|FEET
|
|
resistance_flags = FIRE_PROOF
|
|
strip_delay = 2.5 SECONDS
|
|
equip_delay_other = 2.5 SECONDS
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/dragon
|
|
name = "ash drake hide footwraps"
|
|
desc = "These make your feet feel snug and secure, while still being breathable and light."
|
|
icon_state = "footwraps_dragon"
|
|
item_state = "footwraps_dragon"
|
|
armor = list(MELEE = 10, BULLET = 10, LASER = 15, ENERGY = 10, BOMB = 0, BIO = 10, RAD = 0, FIRE = 15, ACID = 0)
|
|
body_parts_covered = LEGS|FEET
|
|
strip_delay = 5 SECONDS
|
|
equip_delay_other = 5 SECONDS
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/carpdragon
|
|
name = "carp dragon hide footwraps"
|
|
desc = "These make your feet feel snug and secure, while still being breathable and light."
|
|
icon_state = "footwraps_carpdragon"
|
|
item_state = "footwraps_carpdragon"
|
|
armor = list(MELEE = 15, BULLET = 15, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 10, RAD = 0, FIRE = 10, ACID = 0)
|
|
body_parts_covered = LEGS|FEET
|
|
strip_delay = 5 SECONDS
|
|
equip_delay_other = 5 SECONDS
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/engineering
|
|
name = "engineering footwraps"
|
|
desc = "Standard issue Nanotrasen cloth footwraps, specially made for the frequent glass treader. Electrically insulated."
|
|
icon_state = "footwraps_e"
|
|
item_state = "footwraps_e"
|
|
xenoshoe = YES_DIGIT
|
|
mutantrace_variation = MUTANTRACE_VARIATION
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 15, RAD = 0, FIRE = 0, ACID = 0, ELECTRIC = 100)
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/science
|
|
name = "science footwraps"
|
|
desc = "Standard issue Nanotrasen cloth footwraps, to reduce fatigue when standing at a console all day."
|
|
icon_state = "footwraps_sc"
|
|
item_state = "footwraps_sc"
|
|
xenoshoe = YES_DIGIT
|
|
mutantrace_variation = MUTANTRACE_VARIATION
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/medical
|
|
name = "medical footwraps"
|
|
desc = "Standard issue Nanotrasen cloth footwraps, for when you dont want other people's blood all over your feet."
|
|
icon_state = "footwraps_m"
|
|
item_state = "footwraps_m"
|
|
xenoshoe = YES_DIGIT
|
|
mutantrace_variation = MUTANTRACE_VARIATION
|
|
|
|
/obj/item/clothing/shoes/xeno_wraps/cargo
|
|
name = "cargo footwraps"
|
|
desc = "Standard issue Nanotrasen cloth footwraps, with reinforcment to protect against falling crates."
|
|
icon_state = "footwraps_ca"
|
|
item_state = "footwraps_ca"
|
|
xenoshoe = YES_DIGIT
|
|
mutantrace_variation = MUTANTRACE_VARIATION
|
|
|
|
/datum/action/item_action/dash
|
|
name = "Dash"
|
|
desc = "Momentarily maximizes the jets of the shoes, allowing the user to dash a short distance."
|
|
button_icon = 'icons/mob/actions/actions_items.dmi'
|
|
button_icon_state = "thrust"
|
|
|
|
/datum/action/item_action/airshoes
|
|
name = "Toggle thrust on air shoes."
|
|
desc = "Switch between walking and hovering."
|
|
button_icon = 'icons/mob/actions/actions_items.dmi'
|
|
button_icon_state = "airshoes_a"
|
|
|
|
/obj/item/clothing/shoes/airshoes
|
|
name = "air shoes"
|
|
desc = "Footwear that uses propulsion technology to keep you above the ground and let you move faster."
|
|
icon_state = "airshoes"
|
|
obj_flags = UNIQUE_RENAME | UNIQUE_REDESC //im not fucking naming them 'sonic 11's you can do that yourself ffm
|
|
actions_types = list(/datum/action/item_action/airshoes, /datum/action/item_action/dash)
|
|
var/airToggle = FALSE
|
|
///Secret vehicle that helps us move around at mach speeds
|
|
var/obj/vehicle/ridden/scooter/airshoes/shoes_of_air
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, RAD = 0, FIRE = 0, ACID = 0)
|
|
var/recharging_time = 0
|
|
var/jumpdistance = 7 //Increased distance so it might see some offensive use
|
|
var/jumpspeed = 5 //fast
|
|
var/recharging_rate = 60
|
|
syndicate = TRUE
|
|
|
|
/obj/item/clothing/shoes/airshoes/Initialize(mapload)
|
|
. = ..()
|
|
shoes_of_air = new /obj/vehicle/ridden/scooter/airshoes(null)
|
|
|
|
/obj/item/clothing/shoes/airshoes/ui_action_click(mob/user, action)
|
|
if(!isliving(user))
|
|
return
|
|
if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/airshoes))
|
|
to_chat(user, span_warning("You must be wearing the air shoes to use them!"))
|
|
return
|
|
if(istype(action, /datum/action/item_action/airshoes))
|
|
if(!(shoes_of_air.is_occupant(user)))
|
|
airToggle = FALSE
|
|
if(airToggle)
|
|
shoes_of_air.unbuckle_mob(user)
|
|
airToggle = FALSE
|
|
return
|
|
shoes_of_air.forceMove(get_turf(user))
|
|
shoes_of_air.buckle_mob(user)
|
|
airToggle = TRUE
|
|
else if(istype(action, /datum/action/item_action/dash))
|
|
if(recharging_time > world.time)
|
|
to_chat(user, span_warning("The boot's internal propulsion needs to recharge still!"))
|
|
return
|
|
|
|
var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction
|
|
if (user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE))
|
|
playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1)
|
|
user.visible_message(span_warning("[usr] dashes forward into the air!"))
|
|
recharging_time = world.time + recharging_rate
|
|
else
|
|
to_chat(user, span_warning("Something prevents you from dashing forward!"))
|
|
|
|
/obj/item/clothing/shoes/airshoes/dropped(mob/user)
|
|
if(airToggle)
|
|
shoes_of_air.unbuckle_mob(user)
|
|
airToggle = FALSE
|
|
..()
|
|
|
|
/obj/item/clothing/shoes/airshoes/Destroy()
|
|
QDEL_NULL(shoes_of_air)
|
|
. = ..()
|
|
|
|
/obj/item/clothing/shoes/drip
|
|
name = "fashionable shoes"
|
|
desc = "Expensive-looking designer sneakers. Loud, ostentatious, agressively attractive, you detest the idea of taking them off. The elaborate design on the sole could probably give you some decent traction."
|
|
icon = 'icons/obj/clothing/shoes.dmi'
|
|
mob_overlay_icon = 'icons/mob/clothing/feet/feet.dmi'
|
|
icon_state = "dripshoes"
|
|
item_state = "dripshoes"
|
|
clothing_flags = NOSLIP_ICE | NOSLIP
|
|
armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 60, RAD = 0, FIRE = 100, ACID = 100)
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF | LAVA_PROOF
|
|
strip_delay = 40
|
|
resistance_flags = NONE
|
|
|
|
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
|
slowdown = -0.2
|
|
|
|
/obj/item/clothing/shoes/drip/equipped(mob/user, slot,)
|
|
. = ..()
|
|
if(slot == ITEM_SLOT_FEET)
|
|
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "dripjordan", /datum/mood_event/dripjordan)
|
|
SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "nojordans", /datum/mood_event/dripjordan)
|
|
if(user && ishuman(user) && !user.GetComponent(/datum/component/mood))
|
|
to_chat(user, span_danger("You feel the power of the jordans warm your cold, unfeeling heart...!"))
|
|
user.AddComponent(/datum/component/mood) //Stole this from the obsessed no you can't turn it off
|
|
|
|
/obj/item/clothing/shoes/drip/dropped(mob/user)
|
|
. = ..()
|
|
if(!ishuman(user))
|
|
return
|
|
var/mob/living/carbon/human/H = user
|
|
if(H.get_item_by_slot(ITEM_SLOT_FEET) == src)
|
|
SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "dripjordan")
|
|
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "nojordans", /datum/mood_event/nojordans)
|
|
|