mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
* Remove the flying var, adds the flying trait * Remove flight when broomstick is unwielded * Adds some comments * tab indentation * Fix carp flight * Remove comment --------- Co-authored-by: Adrer <adrermail@gmail.com>
492 lines
16 KiB
Plaintext
492 lines
16 KiB
Plaintext
/obj/item/clothing/shoes/mime
|
|
name = "mime shoes"
|
|
icon_state = "mime"
|
|
item_color = "mime"
|
|
dyeable = TRUE
|
|
|
|
/// basic syndicate combat boots for nuke ops and mob corpses
|
|
/obj/item/clothing/shoes/combat
|
|
name = "combat boots"
|
|
desc = "High speed, low drag combat boots."
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
can_cut_open = 1
|
|
icon_state = "jackboots"
|
|
item_state = "jackboots"
|
|
armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 50, RAD = 0, FIRE = 115, ACID = 50)
|
|
strip_delay = 70
|
|
resistance_flags = NONE
|
|
knife_slot = TRUE
|
|
dyeable = FALSE
|
|
|
|
/// overpowered gimmick boots
|
|
/obj/item/clothing/shoes/combat/swat
|
|
name = "\improper SWAT shoes"
|
|
desc = "High speed, no drag combat boots."
|
|
permeability_coefficient = 0.01
|
|
armor = list(MELEE = 35, BULLET = 20, LASER = 15, ENERGY = 15, BOMB = 50, RAD = 20, FIRE = 450, ACID = 50)
|
|
no_slip = TRUE
|
|
|
|
/obj/item/clothing/shoes/sandal
|
|
name = "sandals"
|
|
desc = "A pair of rather plain, wooden sandals."
|
|
icon_state = "wizard"
|
|
strip_delay = 50
|
|
put_on_delay = 50
|
|
magical = TRUE
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/sandal/marisa
|
|
name = "magic shoes"
|
|
desc = "A pair of magic, black shoes."
|
|
icon_state = "black"
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/sandal/magic
|
|
name = "magical sandals"
|
|
desc = "A pair of sandals imbued with magic."
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/galoshes
|
|
name = "galoshes"
|
|
desc = "A pair of yellow rubber boots, designed to prevent slipping on wet surfaces."
|
|
icon_state = "galoshes"
|
|
permeability_coefficient = 0.05
|
|
no_slip = TRUE
|
|
slowdown = SHOES_SLOWDOWN+1
|
|
strip_delay = 50
|
|
put_on_delay = 50
|
|
resistance_flags = NONE
|
|
dyeable = FALSE
|
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 35, ACID = 150)
|
|
|
|
/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"
|
|
|
|
/// / for red janitor ert.
|
|
/obj/item/clothing/shoes/galoshes/dry/lightweight
|
|
name = "lightweight absorbent galoshes"
|
|
desc = "A pair of expensive looking lightweight rubber boots, designed to prevent slipping on wet surfaces while also drying them."
|
|
slowdown = NONE
|
|
|
|
/obj/item/clothing/shoes/galoshes/dry/Initialize(mapload)
|
|
. = ..()
|
|
RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(on_step))
|
|
|
|
/obj/item/clothing/shoes/galoshes/dry/proc/on_step()
|
|
SIGNAL_HANDLER
|
|
|
|
var/turf/simulated/t_loc = get_turf(src)
|
|
if(istype(t_loc) && t_loc.wet)
|
|
t_loc.MakeDry(TURF_WET_WATER)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes
|
|
name = "clown shoes"
|
|
desc = "The prankster's standard-issue clowning shoes. Damn they're huge! <span class='notice'>Ctrl-click to toggle the waddle dampeners!</span>"
|
|
icon_state = "clown"
|
|
item_state = "clown_shoes"
|
|
slowdown = SHOES_SLOWDOWN+1
|
|
item_color = "clown"
|
|
// "Dyeable" in this case is a bit of an understatement, washing these
|
|
// with a crayon will give them the appearance and name of normal
|
|
// shoes, but the functionality of clown shoes.
|
|
dyeable = TRUE
|
|
|
|
var/enabled_waddle = TRUE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg' = 1, 'sound/effects/clownstep2.ogg' = 1), 50, falloff_exponent = 20) //die off quick please
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot)
|
|
. = ..()
|
|
if(slot == SLOT_HUD_SHOES && enabled_waddle)
|
|
user.AddElement(/datum/element/waddling)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/dropped(mob/user)
|
|
. = ..()
|
|
user.RemoveElement(/datum/element/waddling)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/CtrlClick(mob/living/user)
|
|
if(!isliving(user))
|
|
return
|
|
if(user.get_active_hand() != src)
|
|
to_chat(user, "You must hold [src] in your hand to do this.")
|
|
return
|
|
toggle_waddle(user)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/machine_wash(obj/machinery/washing_machine/washer)
|
|
. = ..()
|
|
playsound(src, 'sound/items/bikehorn.ogg', 25, TRUE, 1)
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/proc/toggle_waddle(mob/living/user)
|
|
if(!enabled_waddle)
|
|
to_chat(user, "<span class='notice'>You switch off the waddle dampeners!</span>")
|
|
enabled_waddle = TRUE
|
|
else
|
|
to_chat(user, "<span class='notice'>You switch on the waddle dampeners!</span>")
|
|
enabled_waddle = FALSE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/nodrop
|
|
dyeable = FALSE
|
|
flags = NODROP
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/magical
|
|
name = "magical clown shoes"
|
|
desc = "Standard-issue shoes of the wizarding class clown. Damn they're huge! And powerful! Somehow."
|
|
dyeable = FALSE
|
|
magical = TRUE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/magical/nodrop
|
|
desc = "Standard-issue shoes of the wizarding class clown. Damn they're huge! And stuck to your feet!"
|
|
flags = NODROP
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/slippers
|
|
actions_types = list(/datum/action/item_action/slipping)
|
|
enabled_waddle = FALSE
|
|
slowdown = 0
|
|
|
|
var/slide_distance = 6
|
|
var/recharging_rate = 8 SECONDS
|
|
var/recharging_time = 0
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/slippers/item_action_slot_check(slot, mob/user)
|
|
if(slot == SLOT_HUD_SHOES)
|
|
return TRUE
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/slippers/proc/slide_one(mob/living/user, progress, prev_dir , prev_flags)
|
|
user.dir = prev_dir
|
|
step(user, user.dir)
|
|
for(var/mob/living/carbon/crossed in user.loc)
|
|
crossed.slip(src, 16 SECONDS, 0, FALSE, TRUE, "trip")
|
|
if(progress == slide_distance)
|
|
user.stand_up()
|
|
user.pass_flags = prev_flags
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/slippers/ui_action_click(mob/living/user, action)
|
|
if(recharging_time > world.time)
|
|
to_chat(user, "<span class='warning'>The boot's internal propulsion needs to recharge still!</span>")
|
|
return
|
|
var/prev_dir = user.dir
|
|
var/old_pass = user.pass_flags
|
|
user.pass_flags |= (PASSMOB | PASSTABLE)
|
|
playsound(src, 'sound/items/bikehorn.ogg', 50, TRUE, 1)
|
|
recharging_time = world.time + recharging_rate
|
|
user.lay_down()
|
|
for(var/crossed in 1 to slide_distance)
|
|
addtimer(CALLBACK(src, PROC_REF(slide_one), user, crossed, prev_dir, old_pass), crossed)
|
|
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/slippers/toggle_waddle(mob/living/user)
|
|
if(!enabled_waddle)
|
|
to_chat(user, "<span class='notice'>You switch off the waddle dampeners!</span>")
|
|
enabled_waddle = TRUE
|
|
slowdown = SHOES_SLOWDOWN + 1
|
|
else
|
|
to_chat(user, "<span class='notice'>You switch on the waddle dampeners, [src] no longer slow you down!</span>")
|
|
enabled_waddle = FALSE
|
|
slowdown = SHOES_SLOWDOWN
|
|
|
|
/obj/item/clothing/shoes/jackboots
|
|
name = "jackboots"
|
|
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
|
|
can_cut_open = 1
|
|
icon_state = "jackboots"
|
|
item_state = "jackboots"
|
|
item_color = "hosred"
|
|
strip_delay = 50
|
|
put_on_delay = 50
|
|
resistance_flags = NONE
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/jackboots/jacksandals
|
|
name = "jacksandals"
|
|
desc = "Nanotrasen-issue Security combat sandals for combat scenarios. They're jacksandals, however that works."
|
|
can_cut_open = 0
|
|
icon_state = "jacksandal"
|
|
item_color = "jacksandal"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/jackboots/noisy
|
|
name = "heavy jackboots"
|
|
desc = "Outdated heavier versions of the standard Nanotrasen-issue Security combat boots. Pick up that can."
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/jackboots/noisy/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/effects/jackboot1.ogg' = 1, 'sound/effects/jackboot2.ogg' = 1), 50, falloff_exponent = 20)
|
|
|
|
/obj/item/clothing/shoes/workboots
|
|
name = "work boots"
|
|
desc = "Thick-soled boots for industrial work environments."
|
|
can_cut_open = 1
|
|
icon_state = "workboots"
|
|
dyeable = FALSE
|
|
|
|
/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"
|
|
resistance_flags = FIRE_PROOF
|
|
cold_protection = FEET|LEGS
|
|
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
|
heat_protection = FEET|LEGS
|
|
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
|
|
knife_slot = TRUE
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/winterboots
|
|
name = "winter boots"
|
|
desc = "Boots lined with 'synthetic' animal fur."
|
|
can_cut_open = 1
|
|
icon_state = "winterboots"
|
|
cold_protection = FEET|LEGS
|
|
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
|
heat_protection = FEET|LEGS
|
|
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/cult
|
|
name = "boots"
|
|
desc = "A pair of boots usually worn by cultists."
|
|
icon_state = "cult"
|
|
item_state = "cult"
|
|
item_color = "cult"
|
|
|
|
cold_protection = FEET
|
|
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
|
heat_protection = FEET
|
|
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
|
|
magical = TRUE
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/cyborg
|
|
name = "cyborg boots"
|
|
desc = "Shoes for a cyborg costume"
|
|
icon_state = "boots"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/slippers
|
|
name = "bunny slippers"
|
|
desc = "Fluffy!"
|
|
icon_state = "slippers"
|
|
item_state = "slippers"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/slippers_worn
|
|
name = "worn bunny slippers"
|
|
desc = "Fluffy..."
|
|
icon_state = "slippers_worn"
|
|
item_state = "slippers_worn"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/laceup
|
|
name = "laceup shoes"
|
|
desc = "The height of fashion, and they're pre-polished!"
|
|
icon_state = "laceups"
|
|
put_on_delay = 50
|
|
dyeable = FALSE
|
|
|
|
/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
|
|
put_on_delay = 100
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/centcom
|
|
name = "dress shoes"
|
|
desc = "They appear impeccably polished."
|
|
icon_state = "laceups"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/griffin
|
|
name = "griffon boots"
|
|
desc = "A pair of costume boots fashioned after bird talons."
|
|
icon_state = "griffinboots"
|
|
item_state = "griffinboots"
|
|
dyeable = FALSE
|
|
|
|
|
|
/obj/item/clothing/shoes/fluff/noble_boot
|
|
name = "noble boots"
|
|
desc = "The boots are economically designed to balance function and comfort, so that you can step on peasants without having to worry about blisters. The leather also resists unwanted blood stains."
|
|
icon_state = "noble_boot"
|
|
item_color = "noble_boot"
|
|
item_state = "noble_boot"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/furboots
|
|
name = "fur boots"
|
|
desc = "Warm, furry boots."
|
|
icon_state = "furboots"
|
|
item_state = "furboots"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/sandal/white
|
|
name = "white sandals"
|
|
desc = "Medical sandals that nerds wear."
|
|
icon_state = "medsandal"
|
|
item_color = "medsandal"
|
|
|
|
/obj/item/clothing/shoes/sandal/fancy
|
|
name = "fancy sandals"
|
|
desc = "FANCY!!."
|
|
icon_state = "fancysandal"
|
|
item_color = "fancysandal"
|
|
|
|
/obj/item/clothing/shoes/cursedclown
|
|
name = "cursed clown shoes"
|
|
desc = "Moldering clown flip flops. They're neon green for some reason."
|
|
icon = 'icons/goonstation/objects/clothing/feet.dmi'
|
|
icon_state = "cursedclown"
|
|
item_state = "cclown_shoes"
|
|
icon_override = 'icons/goonstation/mob/clothing/feet.dmi'
|
|
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
|
|
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
|
|
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
|
flags = NODROP
|
|
|
|
/obj/item/clothing/shoes/cursedclown/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg' = 1, 'sound/effects/clownstep2.ogg' = 1), 50, falloff_exponent = 20) //die off quick please
|
|
|
|
|
|
/obj/item/clothing/shoes/clown_shoes/false_cluwne_shoes
|
|
name = "cursed clown shoes"
|
|
desc = "Moldering clown flip flops. They're neon green for some reason."
|
|
icon = 'icons/goonstation/objects/clothing/feet.dmi'
|
|
icon_state = "cursedclown"
|
|
item_state = "cclown_shoes"
|
|
icon_override = 'icons/goonstation/mob/clothing/feet.dmi'
|
|
lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi'
|
|
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/singery
|
|
name = "yellow performer's boots"
|
|
desc = "These boots were made for dancing."
|
|
icon_state = "ysing"
|
|
put_on_delay = 50
|
|
|
|
/obj/item/clothing/shoes/singerb
|
|
name = "blue performer's boots"
|
|
desc = "These boots were made for dancing."
|
|
icon_state = "bsing"
|
|
put_on_delay = 50
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/cowboy
|
|
name = "cowboy boots"
|
|
desc = "A pair a' brown boots."
|
|
icon_state = "cowboy_brown"
|
|
item_color = "cowboy_brown"
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/cowboy/black
|
|
name = "black cowboy boots"
|
|
desc = "A pair a' black rustlers' boots"
|
|
icon_state = "cowboy_black"
|
|
item_color = "cowboy_black"
|
|
|
|
/obj/item/clothing/shoes/cowboy/white
|
|
name = "white cowboy boots"
|
|
desc = "For the rancher in us all."
|
|
icon_state = "cowboy_white"
|
|
item_color = "cowboy_white"
|
|
|
|
/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"
|
|
item_color = "cowboy_fancy"
|
|
|
|
/obj/item/clothing/shoes/cowboy/pink
|
|
name = "pink cowgirl boots"
|
|
desc = "For a Rustlin' tustlin' cowgirl."
|
|
icon_state = "cowboyboots_pink"
|
|
item_color = "cowboyboots_pink"
|
|
|
|
/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, RAD = 0, FIRE = 35, ACID = 0) //lizards like to stay warm
|
|
|
|
/obj/item/clothing/shoes/cowboy/lizardmasterwork
|
|
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/lizardmasterwork = 1)
|
|
|
|
/obj/item/clothing/shoes/footwraps
|
|
name = "cloth footwraps"
|
|
desc = "A roll of treated canvas used for wrapping claws or paws."
|
|
icon_state = "clothwrap"
|
|
item_state = "clothwrap"
|
|
force = 0
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
dyeable = FALSE
|
|
|
|
/obj/item/clothing/shoes/bhop
|
|
name = "jump boots"
|
|
desc = "A specialized pair of combat boots with a built-in propulsion system for rapid forward movement."
|
|
icon_state = "jetboots"
|
|
item_state = "jetboots"
|
|
item_color = "hosred"
|
|
resistance_flags = FIRE_PROOF
|
|
actions_types = list(/datum/action/item_action/bhop)
|
|
permeability_coefficient = 0.05
|
|
can_cut_open = FALSE
|
|
knife_slot = TRUE
|
|
dyeable = FALSE
|
|
|
|
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
|
|
var/recharging_time = 0 //time until next dash
|
|
|
|
/obj/item/clothing/shoes/bhop/item_action_slot_check(slot)
|
|
if(slot == SLOT_HUD_SHOES)
|
|
return TRUE
|
|
|
|
/obj/item/clothing/shoes/bhop/ui_action_click(mob/user, action)
|
|
if(!isliving(user))
|
|
return
|
|
|
|
if(recharging_time > world.time)
|
|
to_chat(user, "<span class='warning'>The boot's internal propulsion needs to recharge still!</span>")
|
|
return
|
|
|
|
var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction
|
|
ADD_TRAIT(user, TRAIT_FLYING, "bhop_shoes")
|
|
if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(callback_remove_trait), user, TRAIT_FLYING, "bhop_shoes")))
|
|
playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1)
|
|
user.visible_message("<span class='warning'>[usr] dashes forward into the air!</span>")
|
|
recharging_time = world.time + recharging_rate
|
|
else
|
|
to_chat(user, "<span class='warning'>Something prevents you from dashing forward!</span>")
|
|
|
|
/obj/item/clothing/shoes/ducky
|
|
name = "rubber ducky shoes"
|
|
desc = "These shoes are made for quacking, and that's just what they'll do."
|
|
icon_state = "ducky"
|
|
item_state = "ducky"
|
|
|
|
/obj/item/clothing/shoes/ducky/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/squeak, list('sound/items/squeaktoy.ogg' = 1), 50, falloff_exponent = 20) //die off quick please
|