mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
cleanup
shitcode - b - gone
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
[langserver]
|
||||
dreamchecker = true
|
||||
|
||||
#[code_standards]
|
||||
#disallow_relative_type_definitions = true
|
||||
#disallow_relative_proc_definitions = true
|
||||
[code_standards]
|
||||
disallow_relative_type_definitions = true
|
||||
disallow_relative_proc_definitions = true
|
||||
|
||||
[dmdoc]
|
||||
use_typepath_names = true
|
||||
|
||||
@@ -1070,7 +1070,7 @@ B --><-- A
|
||||
return closest_atom
|
||||
|
||||
|
||||
proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
|
||||
/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
|
||||
if (value == FALSE) //nothing should be calling us with a number, so this is safe
|
||||
value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text
|
||||
if (isnull(value))
|
||||
|
||||
@@ -887,7 +887,7 @@
|
||||
L.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND)
|
||||
|
||||
|
||||
datum/status_effect/pacify
|
||||
/datum/status_effect/pacify
|
||||
id = "pacify"
|
||||
status_type = STATUS_EFFECT_REPLACE
|
||||
tick_interval = 1
|
||||
|
||||
@@ -168,7 +168,7 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
datum/atom_hud/alternate_appearance/basic/onePerson
|
||||
/datum/atom_hud/alternate_appearance/basic/onePerson
|
||||
var/mob/seer
|
||||
|
||||
/datum/atom_hud/alternate_appearance/basic/onePerson/mobShouldSee(mob/M)
|
||||
|
||||
@@ -31,7 +31,14 @@
|
||||
var/list/client_mobs_in_contents // This contains all the client mobs within this container
|
||||
var/list/acted_explosions //for explosion dodging
|
||||
var/datum/forced_movement/force_moving = null //handled soley by forced_movement.dm
|
||||
var/movement_type = GROUND //Incase you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc.
|
||||
|
||||
/**
|
||||
* In case you have multiple types, you automatically use the most useful one.
|
||||
* IE: Skating on ice, flippers on water, flying over chasm/space, etc.
|
||||
* I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
|
||||
*/
|
||||
var/movement_type = GROUND
|
||||
|
||||
var/atom/movable/pulling
|
||||
var/grab_state = 0
|
||||
var/throwforce = 0
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
icon_state = "knuckles"
|
||||
w_class = 3
|
||||
|
||||
datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang member anyways?
|
||||
/datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang member anyways?
|
||||
name = "Cool Sunglasses"
|
||||
id = "glasses"
|
||||
cost = 5
|
||||
@@ -313,13 +313,13 @@ datum/gang_item/clothing/shades //Addition: Why not have cool shades on a gang m
|
||||
permeability_coefficient = 0.01
|
||||
clothing_flags = NOSLIP
|
||||
|
||||
datum/gang_item/equipment/shield
|
||||
/datum/gang_item/equipment/shield
|
||||
name = "Riot Shield"
|
||||
id = "riot_shield"
|
||||
cost = 25
|
||||
item_path = /obj/item/shield/riot
|
||||
|
||||
datum/gang_item/equipment/gangsheild
|
||||
/datum/gang_item/equipment/gangsheild
|
||||
name = "Tower Shield"
|
||||
id = "metal"
|
||||
cost = 45 //High block of melee and even higher for bullets
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
last = C
|
||||
break
|
||||
|
||||
obj/item/rcl/proc/getMobhook(mob/to_hook)
|
||||
/obj/item/rcl/proc/getMobhook(mob/to_hook)
|
||||
if(listeningTo == to_hook)
|
||||
return
|
||||
if(listeningTo)
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
shield_flags = SHIELD_FLAGS_DEFAULT
|
||||
max_integrity = 300
|
||||
|
||||
obj/item/shield/riot/bullet_proof
|
||||
/obj/item/shield/riot/bullet_proof
|
||||
name = "bullet resistant shield"
|
||||
desc = "A far more frail shield made of resistant plastics and kevlar meant to block ballistics."
|
||||
armor = list("melee" = 30, "bullet" = 80, "laser" = 0, "energy" = 0, "bomb" = -40, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
|
||||
|
||||
@@ -639,7 +639,7 @@
|
||||
new /obj/item/bikehorn(src)
|
||||
new /obj/item/implanter/sad_trombone(src)
|
||||
|
||||
obj/item/storage/backpack/duffelbag/syndie/shredderbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/shredderbundle
|
||||
desc = "A large duffel bag containing two CX Shredders, some magazines, an elite hardsuit, and a chest rig."
|
||||
|
||||
/obj/item/storage/backpack/duffelbag/syndie/shredderbundle/PopulateContents()
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/grenade/flashbang(src)
|
||||
|
||||
obj/item/storage/box/stingbangs
|
||||
/obj/item/storage/box/stingbangs
|
||||
name = "box of stingbangs (WARNING)"
|
||||
desc = "<B>WARNING: These devices are extremely dangerous and can cause severe injuries or death in repeated use.</B>"
|
||||
icon_state = "secbox"
|
||||
|
||||
@@ -269,21 +269,22 @@
|
||||
icon_state = "refill_donksoft"
|
||||
var/product = /obj/item/melee/baton/stunsword //what it makes
|
||||
var/list/fromitem = list(/obj/item/melee/baton, /obj/item/melee/baton/loaded) //what it needs
|
||||
afterattack(obj/O, mob/user as mob)
|
||||
if(istype(O, product))
|
||||
to_chat(user,"<span class='warning'>[O] is already modified!")
|
||||
else if(O.type in fromitem) //makes sure O is the right thing
|
||||
var/obj/item/melee/baton/B = O
|
||||
if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
|
||||
new product(usr.loc) //spawns the product
|
||||
user.visible_message("<span class='warning'>[user] modifies [O]!","<span class='warning'>You modify the [O]!")
|
||||
qdel(O) //Gets rid of the baton
|
||||
qdel(src) //gets rid of the kit
|
||||
|
||||
else
|
||||
to_chat(user,"<span class='warning'>Remove the powercell first!</span>") //We make this check because the stunsword starts without a battery.
|
||||
/obj/item/ssword_kit/afterattack(obj/O, mob/user as mob)
|
||||
if(istype(O, product))
|
||||
to_chat(user,"<span class='warning'>[O] is already modified!")
|
||||
return
|
||||
if(O.type in fromitem) //makes sure O is the right thing
|
||||
var/obj/item/melee/baton/B = O
|
||||
if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
|
||||
new product(usr.loc) //spawns the product
|
||||
user.visible_message("<span class='warning'>[user] modifies [O]!","<span class='warning'>You modify the [O]!")
|
||||
qdel(O) //Gets rid of the baton
|
||||
qdel(src) //gets rid of the kit
|
||||
else
|
||||
to_chat(user, "<span class='warning'> You can't modify [O] with this kit!</span>")
|
||||
to_chat(user,"<span class='warning'>Remove the powercell first!</span>") //We make this check because the stunsword starts without a battery.
|
||||
else
|
||||
to_chat(user, "<span class='warning'> You can't modify [O] with this kit!</span>")
|
||||
|
||||
//Makeshift stun baton. Replacement for stun gloves.
|
||||
/obj/item/melee/baton/cattleprod
|
||||
|
||||
@@ -56,17 +56,17 @@
|
||||
desc = "A direction sign, pointing out which way the Cafe is."
|
||||
icon_state = "direction_cafe"
|
||||
|
||||
obj/structure/sign/directions/rooms
|
||||
/obj/structure/sign/directions/rooms
|
||||
name = "room"
|
||||
desc = "Room numbers, helps others find you!"
|
||||
icon_state = "roomnum"
|
||||
|
||||
obj/structure/sign/directions/dorms
|
||||
/obj/structure/sign/directions/dorms
|
||||
name = "dorm"
|
||||
desc = "Dorm numbers, help others find you, or you find others."
|
||||
icon_state = "dormnum"
|
||||
|
||||
obj/structure/sign/directions/cells
|
||||
/obj/structure/sign/directions/cells
|
||||
name = "room"
|
||||
desc = "So the less fortunate amongst us know where they'll be staying."
|
||||
icon_state = "cellnum"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
. = ..()
|
||||
desc = initial(desc)
|
||||
|
||||
obj/item/shield/riot/ratvarian/proc/calc_bash_mult()
|
||||
/obj/item/shield/riot/ratvarian/proc/calc_bash_mult()
|
||||
var/bash_mult = 0
|
||||
if(!dam_absorbed)
|
||||
return 1
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
transform = matrix() * 2
|
||||
animate(src, transform = matrix() * 0.5, time = 30, flags = ANIMATION_END_NOW)
|
||||
|
||||
obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy()
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
if(!purpose_fulfilled)
|
||||
var/area/gate_area = get_area(src)
|
||||
|
||||
@@ -103,29 +103,29 @@
|
||||
name = "knotted dildo"
|
||||
attack_verb = list("penetrated", "knotted", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/human
|
||||
/obj/item/dildo/human
|
||||
dildo_shape = "human"
|
||||
name = "human dildo"
|
||||
attack_verb = list("penetrated", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/plain
|
||||
/obj/item/dildo/plain
|
||||
dildo_shape = "plain"
|
||||
name = "plain dildo"
|
||||
attack_verb = list("penetrated", "slapped", "inseminated")
|
||||
|
||||
obj/item/dildo/flared
|
||||
/obj/item/dildo/flared
|
||||
dildo_shape = "flared"
|
||||
name = "flared dildo"
|
||||
attack_verb = list("penetrated", "slapped", "neighed", "gaped", "prolapsed", "inseminated")
|
||||
|
||||
obj/item/dildo/flared/huge
|
||||
/obj/item/dildo/flared/huge
|
||||
name = "literal horse cock"
|
||||
desc = "THIS THING IS HUGE!"
|
||||
dildo_size = 4
|
||||
force = 10
|
||||
hitsound = 'sound/weapons/klonk.ogg'
|
||||
|
||||
obj/item/dildo/custom
|
||||
/obj/item/dildo/custom
|
||||
name = "customizable dildo"
|
||||
desc = "Thanks to significant advances in synthetic nanomaterials, this dildo is capable of taking on many different forms to fit the user's preferences! Pricy!"
|
||||
can_customize = TRUE
|
||||
@@ -136,9 +136,9 @@ obj/item/dildo/custom
|
||||
// Suicide acts, by request
|
||||
|
||||
/obj/item/dildo/proc/manual_suicide(mob/living/user)
|
||||
user.visible_message("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
|
||||
user.adjustOxyLoss(200)
|
||||
user.death(0)
|
||||
user.visible_message("<span class='suicide'>[user] finally finishes deepthroating the [src], and their life.</span>")
|
||||
user.adjustOxyLoss(200)
|
||||
user.death(0)
|
||||
|
||||
/obj/item/dildo/suicide_act(mob/living/user)
|
||||
// is_knotted = ((src.dildo_shape == "knotted")?"They swallowed the knot":"Their face is turning blue")
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
new /obj/item/stack/sheet/metal (loc, 5)
|
||||
qdel(src)
|
||||
|
||||
obj/machinery/portable_atmospherics/canister/welder_act(mob/living/user, obj/item/I)
|
||||
/obj/machinery/portable_atmospherics/canister/welder_act(mob/living/user, obj/item/I)
|
||||
..()
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return FALSE
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe which can relay air up a deck (Z+1). It currently only supports being on pipe layer 1
|
||||
/// This is an atmospherics pipe which can relay air up/down a deck.
|
||||
/obj/machinery/atmospherics/pipe/simple/multiz
|
||||
name = "multi deck pipe adapter"
|
||||
desc = "An adapter which allows pipes to connect to other pipenets on different decks."
|
||||
icon_state = "multiz_pipe"
|
||||
@@ -24,6 +25,4 @@ obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe wh
|
||||
if(above)
|
||||
nodes += above
|
||||
above.nodes += src //Two way travel :)
|
||||
return ..()
|
||||
else
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
name = "Simple Drink"
|
||||
reward = 1500
|
||||
|
||||
datum/bounty/reagent/simple_drink/New()
|
||||
/datum/bounty/reagent/simple_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/antifreeze,\
|
||||
@@ -91,7 +91,7 @@ datum/bounty/reagent/simple_drink/New()
|
||||
name = "Complex Drink"
|
||||
reward = 4000
|
||||
|
||||
datum/bounty/reagent/complex_drink/New()
|
||||
/datum/bounty/reagent/complex_drink/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some drinks are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/consumable/ethanol/atomicbomb,\
|
||||
@@ -124,7 +124,7 @@ datum/bounty/reagent/complex_drink/New()
|
||||
reward = 2750
|
||||
required_volume = 30
|
||||
|
||||
datum/bounty/reagent/chemical/New()
|
||||
/datum/bounty/reagent/chemical/New()
|
||||
// Don't worry about making this comprehensive. It doesn't matter if some chems are skipped.
|
||||
var/static/list/possible_reagents = list(\
|
||||
/datum/reagent/medicine/leporazine,\
|
||||
|
||||
@@ -473,7 +473,7 @@
|
||||
//Soft Suits
|
||||
|
||||
//Blanket
|
||||
datum/export/gear/space/helmet
|
||||
/datum/export/gear/space/helmet
|
||||
cost = 55
|
||||
unit_name = "space helmet"
|
||||
export_types = list(/obj/item/clothing/head/helmet/space)
|
||||
@@ -485,7 +485,7 @@ datum/export/gear/space/helmet
|
||||
export_types = list(/obj/item/clothing/suit/space)
|
||||
include_subtypes = TRUE
|
||||
|
||||
datum/export/gear/space/helmet/plasma
|
||||
/datum/export/gear/space/helmet/plasma
|
||||
cost = 100
|
||||
unit_name = "plasmaman space helmet"
|
||||
export_types = list(/obj/item/clothing/suit/space/eva/plasmaman)
|
||||
@@ -495,7 +495,7 @@ datum/export/gear/space/helmet/plasma
|
||||
unit_name = "plasmaman space suit"
|
||||
export_types = list(/obj/item/clothing/suit/space/eva/plasmaman)
|
||||
|
||||
datum/export/gear/space/helmet/synda
|
||||
/datum/export/gear/space/helmet/synda
|
||||
cost = 150 //Flash proof
|
||||
unit_name = "syndicate space helmet"
|
||||
export_types = list(/obj/item/clothing/head/helmet/space/syndicate)
|
||||
@@ -510,7 +510,7 @@ datum/export/gear/space/helmet/synda
|
||||
//Glasses
|
||||
|
||||
//Blanket
|
||||
datum/export/gear/glasses //glasses are not worth selling
|
||||
/datum/export/gear/glasses //glasses are not worth selling
|
||||
cost = 3
|
||||
unit_name = "glasses"
|
||||
export_types = list(/obj/item/clothing/glasses)
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
//VERY SUPER BADASS NECKERCHIEFS//
|
||||
//////////////////////////////////
|
||||
|
||||
obj/item/clothing/neck/neckerchief
|
||||
/datum/obj/item/clothing/neck/neckerchief
|
||||
icon = 'icons/obj/clothing/masks.dmi' //In order to reuse the bandana sprite
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/sourceBandanaType
|
||||
|
||||
@@ -144,22 +144,23 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
if(L && (L.density || prob(10)))
|
||||
L.ex_act(EXPLODE_HEAVY)
|
||||
|
||||
obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(U.job in list("Research Director"))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
for(var/mob/M in urange(8, src))
|
||||
if(!M.stat)
|
||||
shake_camera(M, 2, 3)
|
||||
if(wizard)
|
||||
U.visible_message("<span class='boldwarning'>[src] transforms into [wizard] as [U] suplexes them!</span>", "<span class='warning'>As you grab [src], it suddenly turns into [wizard] as you suplex them!</span>")
|
||||
to_chat(wizard, "<span class='boldwarning'>You're suddenly jolted out of rod-form as [U] somehow manages to grab you, slamming you into the ground!</span>")
|
||||
wizard.Stun(60)
|
||||
wizard.apply_damage(25, BRUTE)
|
||||
qdel(src)
|
||||
else
|
||||
U.visible_message("<span class='boldwarning'>[U] suplexes [src] into the ground!</span>", "<span class='warning'>You suplex [src] into the ground!</span>")
|
||||
new /obj/structure/festivus/anchored(drop_location())
|
||||
new /obj/effect/anomaly/flux(drop_location())
|
||||
qdel(src)
|
||||
/obj/effect/immovablerod/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
if(!ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(U.job in list("Research Director"))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
|
||||
for(var/mob/M in urange(8, src))
|
||||
if(!M.stat)
|
||||
shake_camera(M, 2, 3)
|
||||
if(wizard)
|
||||
U.visible_message("<span class='boldwarning'>[src] transforms into [wizard] as [U] suplexes them!</span>", "<span class='warning'>As you grab [src], it suddenly turns into [wizard] as you suplex them!</span>")
|
||||
to_chat(wizard, "<span class='boldwarning'>You're suddenly jolted out of rod-form as [U] somehow manages to grab you, slamming you into the ground!</span>")
|
||||
wizard.Stun(60)
|
||||
wizard.apply_damage(25, BRUTE)
|
||||
qdel(src)
|
||||
else
|
||||
U.visible_message("<span class='boldwarning'>[U] suplexes [src] into the ground!</span>", "<span class='warning'>You suplex [src] into the ground!</span>")
|
||||
new /obj/structure/festivus/anchored(drop_location())
|
||||
new /obj/effect/anomaly/flux(drop_location())
|
||||
qdel(src)
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
var/datum/effect_system/smoke_spread/smoke = new
|
||||
smoke.set_up(1, spawn_location)
|
||||
smoke.start()
|
||||
trader.visible_message("<b>[src]</b> suddenly appears in a puff of smoke!")
|
||||
trader.visible_message("<b>[trader]</b> suddenly appears in a puff of smoke!")
|
||||
|
||||
/datum/round_event/travelling_trader/announce(fake)
|
||||
priority_announce("A mysterious figure has been detected on sensors at [get_area(spawn_location)]", "Mysterious Figure")
|
||||
|
||||
/datum/round_event/travelling_trader/end()
|
||||
if(trader)
|
||||
trader.visible_message("The <b>[src]</b> has given up on waiting!")
|
||||
if(trader) // the /datum/round_event/travelling_trader has given up on waiting!
|
||||
trader.visible_message("The <b>[trader]</b> has given up on waiting!")
|
||||
qdel(trader)
|
||||
|
||||
//the actual trader mob
|
||||
@@ -188,18 +188,18 @@
|
||||
/mob/living/simple_animal/hostile/netherworld/blankbody = 1,
|
||||
/mob/living/simple_animal/hostile/retaliate/goose = 1)
|
||||
|
||||
mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
. = ..()
|
||||
acceptance_speech = pick(list("This lifeform shall make for a great stew, thank you.", "This lifeform shall be of a true use to our cause, thank you.", "The lifeform is adequate. Goodbye.", "This lifeform shall make a great addition to my collection."))
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/check_item(var/obj/item/supplied_item) //item is likely to be in contents of whats supplied
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/check_item(obj/item/supplied_item) //item is likely to be in contents of whats supplied
|
||||
for(var/atom/something in supplied_item.contents)
|
||||
if(istype(something, requested_item))
|
||||
qdel(something) //typically things holding mobs release the mob when the container is deleted, so delete the mob first here
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/give_reward(var/mob/giver) //the reward is actually given in a jar, because releasing it onto the station might be a bad idea
|
||||
/mob/living/carbon/human/dummy/travelling_trader/animal_hunter/give_reward(mob/giver) //the reward is actually given in a jar, because releasing it onto the station might be a bad idea
|
||||
var/obj/item/pet_carrier/bluespace/jar = new(get_turf(src))
|
||||
var/chosen_animal = pickweight(possible_rewards)
|
||||
var/mob/living/new_animal = new chosen_animal(jar)
|
||||
@@ -223,6 +223,7 @@ mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/obj/structure/reagent_dispensers/keg/quintuple_sec = 3)
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/bartender/Initialize() //pick a subtype of ethanol that isn't found in the default set of the booze dispensers reagents
|
||||
. = ..() // RETURN A HINT.
|
||||
requested_item = pick(subtypesof(/datum/reagent/consumable/ethanol) - list(/datum/reagent/consumable/ethanol/beer,
|
||||
/datum/reagent/consumable/ethanol/kahlua,
|
||||
/datum/reagent/consumable/ethanol/whiskey,
|
||||
@@ -242,7 +243,6 @@ mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize()
|
||||
/datum/reagent/consumable/ethanol/triple_sec,
|
||||
/datum/reagent/consumable/ethanol/sake,
|
||||
/datum/reagent/consumable/ethanol/applejack))
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/dummy/travelling_trader/bartender/check_item(var/obj/item/supplied_item) //you need to check its reagents
|
||||
if(istype(supplied_item, /obj/item/reagent_containers))
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1)
|
||||
foodtype = GRAIN | DAIRY | SUGAR
|
||||
|
||||
obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
/obj/item/reagent_containers/food/snacks/store/cake/pound_cake
|
||||
name = "pound cake"
|
||||
desc = "A condensed cake made for filling people up quickly."
|
||||
icon_state = "pound_cake"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/donut/chaos
|
||||
|
||||
datum/crafting_recipe/food/donut/meat
|
||||
/datum/crafting_recipe/food/donut/meat
|
||||
time = 15
|
||||
name = "Meat donut"
|
||||
reqs = list(
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/yield = 3 // Amount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.
|
||||
var/potency = 10 // The 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.
|
||||
var/growthstages = 6 // Amount of growth sprites the plant has.
|
||||
var/instability = 5 //Chance that a plant will mutate in each stage of it's life.
|
||||
var/instability = 5 //Chance that a plant will mutate in each stage of it's life.
|
||||
var/rarity = 0 // How rare the plant is. Used for giving points to cargo when shipping off to CentCom.
|
||||
var/list/mutatelist = list() // The type of plants that this plant can mutate into.
|
||||
var/list/genes = list() // Plant genes are stored here, see plant_genes.dm for more info.
|
||||
@@ -105,7 +105,7 @@
|
||||
S.reagents_add = reagents_add.Copy() // Faster than grabbing the list from genes.
|
||||
return S
|
||||
|
||||
obj/item/seeds/proc/is_gene_forbidden(typepath)
|
||||
/obj/item/seeds/proc/is_gene_forbidden(typepath)
|
||||
return (typepath in forbiddengenes)
|
||||
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
activate_pin(2)
|
||||
|
||||
// Required for making the connector port script work
|
||||
obj/item/integrated_circuit/atmospherics/connector/portableConnectorReturnAir()
|
||||
/obj/item/integrated_circuit/atmospherics/connector/portableConnectorReturnAir()
|
||||
return air_contents
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
datum/sprite_accessory/caps
|
||||
/datum/sprite_accessory/caps
|
||||
icon = 'icons/mob/mutant_bodyparts.dmi'
|
||||
color_src = HAIR
|
||||
relevant_layers = list(BODY_ADJ_LAYER)
|
||||
|
||||
@@ -757,7 +757,7 @@
|
||||
icon_state = "husky"
|
||||
matrixed_sections = MATRIX_RED_GREEN
|
||||
|
||||
datum/sprite_accessory/tails/mam_tails/insect
|
||||
/datum/sprite_accessory/tails/mam_tails/insect
|
||||
name = "Insect"
|
||||
icon_state = "insect"
|
||||
matrixed_sections = MATRIX_RED
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
to_chat(user, "<span class='info'>You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.</span>")
|
||||
qdel(src)
|
||||
|
||||
mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it.
|
||||
/mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it.
|
||||
name = "Terrygold"
|
||||
icon_state = "butterbear"
|
||||
icon_living = "butterbear"
|
||||
@@ -155,7 +155,7 @@ mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Seve
|
||||
to_chat(src, "<span class='notice'>Your name is now <b>\"new_name\"</b>!</span>")
|
||||
name = new_name
|
||||
|
||||
mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path.
|
||||
/mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path.
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
if((L.mobility_flags & MOBILITY_STAND))
|
||||
|
||||
@@ -389,13 +389,14 @@
|
||||
name = "Wrap"
|
||||
panel = "Spider"
|
||||
active = FALSE
|
||||
datum/action/spell_action/action = null
|
||||
desc = "Wrap something or someone in a cocoon. If it's a living being, you'll also consume them, allowing you to lay eggs."
|
||||
ranged_mousepointer = 'icons/effects/wrap_target.dmi'
|
||||
action_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
action_icon_state = "wrap_0"
|
||||
action_background_icon_state = "bg_alien"
|
||||
|
||||
var/datum/action/spell_action/action // hello?? how was this not causing the compiler to fail?
|
||||
|
||||
/obj/effect/proc_holder/wrap/Initialize()
|
||||
. = ..()
|
||||
action = new(src)
|
||||
|
||||
@@ -511,7 +511,7 @@
|
||||
DestroyObjectsInDirection(direction)
|
||||
|
||||
|
||||
mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them
|
||||
/mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with megafauna destroying everything around them
|
||||
if(environment_smash)
|
||||
EscapeConfinement()
|
||||
for(var/dir in GLOB.cardinals)
|
||||
|
||||
@@ -190,5 +190,5 @@
|
||||
* Arguments:
|
||||
* * datum/beam/vine - The vine to be removed from the list.
|
||||
*/
|
||||
mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force)
|
||||
/mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force)
|
||||
vines -= vine
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
/mob/proc/get_top_level_mob()
|
||||
if(istype(src.loc,/mob)&&src.loc!=src)
|
||||
var/mob/M=src.loc
|
||||
if(ismob(src.loc) && src.loc != src)
|
||||
var/mob/M = src.loc
|
||||
return M.get_top_level_mob()
|
||||
return src
|
||||
|
||||
proc/get_top_level_mob(var/mob/S)
|
||||
if(istype(S.loc,/mob)&&S.loc!=S)
|
||||
var/mob/M=S.loc
|
||||
/proc/get_top_level_mob(mob/S)
|
||||
if(ismob(src.loc) && S.loc != S)
|
||||
var/mob/M = S.loc
|
||||
return M.get_top_level_mob()
|
||||
return S
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_slug
|
||||
custom_materials = list(/datum/material/iron=4000)
|
||||
|
||||
obj/item/ammo_casing/shotgun/executioner
|
||||
/obj/item/ammo_casing/shotgun/executioner
|
||||
name = "executioner slug"
|
||||
desc = "A 12 gauge lead slug purpose built to annihilate flesh on impact."
|
||||
icon_state = "stunshell"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
obj/item/projectile/energy/plasmabolt
|
||||
/obj/item/projectile/energy/plasmabolt
|
||||
name = "plasma bolt"
|
||||
icon_state = "plasma"
|
||||
flag = "energy"
|
||||
|
||||
@@ -2528,7 +2528,7 @@
|
||||
M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen
|
||||
..()
|
||||
|
||||
datum/reagent/eldritch
|
||||
/datum/reagent/eldritch
|
||||
name = "Eldritch Essence"
|
||||
description = "Strange liquid that defies the laws of physics"
|
||||
taste_description = "Ag'hsj'saje'sh"
|
||||
|
||||
@@ -44,8 +44,7 @@
|
||||
else
|
||||
. += "<span class='notice'>Alt-click to seal it.</span>"
|
||||
|
||||
|
||||
obj/item/reagent_containers/chem_pack/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/chem_pack/attack_self(mob/user)
|
||||
if(sealed)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
duration = -1
|
||||
alert_type = null
|
||||
|
||||
datum/status_effect/rebreathing/tick()
|
||||
/datum/status_effect/rebreathing/tick()
|
||||
owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing.
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
@@ -524,7 +524,7 @@ datum/status_effect/rebreathing/tick()
|
||||
ADD_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus")
|
||||
return ..()
|
||||
|
||||
datum/status_effect/stabilized/blue/on_remove()
|
||||
/datum/status_effect/stabilized/blue/on_remove()
|
||||
REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus")
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
. = ..()
|
||||
SSshuttle.beacons |= src
|
||||
|
||||
obj/machinery/spaceship_navigation_beacon/emp_act()
|
||||
/obj/machinery/spaceship_navigation_beacon/emp_act()
|
||||
locked = TRUE
|
||||
|
||||
/obj/machinery/spaceship_navigation_beacon/Destroy()
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
owner.set_heartattack(TRUE)
|
||||
failed = TRUE
|
||||
|
||||
obj/item/organ/heart/slime
|
||||
/obj/item/organ/heart/slime
|
||||
name = "slime heart"
|
||||
desc = "It seems we've gotten to the slimy core of the matter."
|
||||
icon_state = "heart-s-on"
|
||||
@@ -221,7 +221,7 @@ obj/item/organ/heart/slime
|
||||
var/rid = /datum/reagent/medicine/epinephrine
|
||||
var/ramount = 10
|
||||
|
||||
obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
/obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
cost = 4
|
||||
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
|
||||
|
||||
datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
/datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
||||
name = "Tae-clown-do Shoes"
|
||||
desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn."
|
||||
cost = 12
|
||||
|
||||
@@ -51,58 +51,58 @@
|
||||
blood_overlay_type = "coat"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
allowed = list(
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/flashlight,
|
||||
/obj/item/analyzer,
|
||||
/obj/item/radio,
|
||||
/obj/item/gun,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/hypospray,
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/reagent_containers/glass/bottle/vial,
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/taperecorder)
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/flashlight,
|
||||
/obj/item/analyzer,
|
||||
/obj/item/radio,
|
||||
/obj/item/gun,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/hypospray,
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/reagent_containers/glass/bottle/vial,
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/taperecorder)
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
var/unbuttoned = 0
|
||||
var/unbuttoned = FALSE
|
||||
|
||||
verb/toggle()
|
||||
set name = "Toggle coat buttons"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
/obj/item/clothing/suit/storage/fluff/fedcoat/verb/toggle()
|
||||
set name = "Toggle coat buttons"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
var/mob/living/L = usr
|
||||
if(!istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE))
|
||||
return FALSE
|
||||
var/mob/living/L = usr
|
||||
if(!istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE))
|
||||
return FALSE
|
||||
|
||||
switch(unbuttoned)
|
||||
if(0)
|
||||
icon_state = "[initial(icon_state)]_open"
|
||||
item_state = "[initial(item_state)]_open"
|
||||
unbuttoned = 1
|
||||
to_chat(usr,"You unbutton the coat.")
|
||||
if(1)
|
||||
icon_state = "[initial(icon_state)]"
|
||||
item_state = "[initial(item_state)]"
|
||||
unbuttoned = 0
|
||||
to_chat(usr,"You button up the coat.")
|
||||
usr.update_inv_wear_suit()
|
||||
switch(unbuttoned)
|
||||
if(FALSE)
|
||||
icon_state = "[initial(icon_state)]_open"
|
||||
item_state = "[initial(item_state)]_open"
|
||||
unbuttoned = TRUE
|
||||
to_chat(usr,"You unbutton the coat.")
|
||||
if(TRUE)
|
||||
icon_state = "[initial(icon_state)]"
|
||||
item_state = "[initial(item_state)]"
|
||||
unbuttoned = FALSE
|
||||
to_chat(usr,"You button up the coat.")
|
||||
usr.update_inv_wear_suit()
|
||||
|
||||
//Variants
|
||||
//Variants
|
||||
/obj/item/clothing/suit/storage/fluff/fedcoat/medsci
|
||||
icon_state = "fedblue"
|
||||
item_state = "fedblue"
|
||||
icon_state = "fedblue"
|
||||
item_state = "fedblue"
|
||||
|
||||
/obj/item/clothing/suit/storage/fluff/fedcoat/eng
|
||||
icon_state = "fedeng"
|
||||
item_state = "fedeng"
|
||||
icon_state = "fedeng"
|
||||
item_state = "fedeng"
|
||||
|
||||
/obj/item/clothing/suit/storage/fluff/fedcoat/capt
|
||||
icon_state = "fedcapt"
|
||||
item_state = "fedcapt"
|
||||
icon_state = "fedcapt"
|
||||
item_state = "fedcapt"
|
||||
|
||||
//"modern" ones for fancy
|
||||
|
||||
@@ -124,18 +124,18 @@
|
||||
)
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
|
||||
//Variants
|
||||
//Variants
|
||||
/obj/item/clothing/suit/storage/fluff/modernfedcoat/medsci
|
||||
icon_state = "fedmodernblue"
|
||||
item_state = "fedmodernblue"
|
||||
icon_state = "fedmodernblue"
|
||||
item_state = "fedmodernblue"
|
||||
|
||||
/obj/item/clothing/suit/storage/fluff/modernfedcoat/eng
|
||||
icon_state = "fedmoderneng"
|
||||
item_state = "fedmoderneng"
|
||||
icon_state = "fedmoderneng"
|
||||
item_state = "fedmoderneng"
|
||||
|
||||
/obj/item/clothing/suit/storage/fluff/modernfedcoat/sec
|
||||
icon_state = "fedmodernsec"
|
||||
item_state = "fedmodernsec"
|
||||
icon_state = "fedmodernsec"
|
||||
item_state = "fedmodernsec"
|
||||
|
||||
/obj/item/clothing/head/caphat/formal/fedcover
|
||||
name = "Federation Officer's Cap"
|
||||
@@ -146,22 +146,22 @@
|
||||
mob_overlay_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
|
||||
item_state = "fedcapofficer"
|
||||
|
||||
//Variants
|
||||
//Variants
|
||||
/obj/item/clothing/head/caphat/formal/fedcover/medsci
|
||||
icon_state = "fedcapsci"
|
||||
item_state = "fedcapsci"
|
||||
icon_state = "fedcapsci"
|
||||
item_state = "fedcapsci"
|
||||
|
||||
/obj/item/clothing/head/caphat/formal/fedcover/eng
|
||||
icon_state = "fedcapeng"
|
||||
item_state = "fedcapeng"
|
||||
icon_state = "fedcapeng"
|
||||
item_state = "fedcapeng"
|
||||
|
||||
/obj/item/clothing/head/caphat/formal/fedcover/sec
|
||||
icon_state = "fedcapsec"
|
||||
item_state = "fedcapsec"
|
||||
icon_state = "fedcapsec"
|
||||
item_state = "fedcapsec"
|
||||
|
||||
/obj/item/clothing/head/caphat/formal/fedcover/black
|
||||
icon_state = "fedcapblack"
|
||||
item_state = "fedcapblack"
|
||||
icon_state = "fedcapblack"
|
||||
item_state = "fedcapblack"
|
||||
|
||||
//orvilike caps
|
||||
/obj/item/clothing/head/kepi/orvi
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
The Recolourable Energy Gun
|
||||
*//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
obj/item/gun/energy/e_gun/cx
|
||||
/obj/item/gun/energy/e_gun/cx
|
||||
name = "\improper CX Model D Energy Gun"
|
||||
desc = "An overpriced hybrid energy gun with two settings: disable, and kill. Manufactured by CX Armories. Has a polychromic coating."
|
||||
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
|
||||
@@ -14,18 +14,18 @@ obj/item/gun/energy/e_gun/cx
|
||||
flight_y_offset = 10
|
||||
var/body_color = "#252528"
|
||||
|
||||
obj/item/gun/energy/e_gun/cx/ComponentInitialize()
|
||||
/obj/item/gun/energy/e_gun/cx/ComponentInitialize()
|
||||
. = ..()
|
||||
AddElement(/datum/element/update_icon_updates_onmob)
|
||||
|
||||
obj/item/gun/energy/e_gun/cx/update_overlays()
|
||||
/obj/item/gun/energy/e_gun/cx/update_overlays()
|
||||
. = ..()
|
||||
var/mutable_appearance/body_overlay = mutable_appearance('modular_citadel/icons/obj/guns/cit_guns.dmi', "cxegun_body")
|
||||
if(body_color)
|
||||
body_overlay.color = body_color
|
||||
. += body_overlay
|
||||
|
||||
obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user)
|
||||
/obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user)
|
||||
. = ..()
|
||||
if(!in_range(src, user)) //Basic checks to prevent abuse
|
||||
return
|
||||
@@ -39,7 +39,7 @@ obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user)
|
||||
body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1)
|
||||
update_icon()
|
||||
|
||||
obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE)
|
||||
/obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE)
|
||||
. = ..()
|
||||
if(isinhands)
|
||||
var/mutable_appearance/body_inhand = mutable_appearance(icon_file, "cxe_body")
|
||||
|
||||
@@ -216,7 +216,6 @@
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C)
|
||||
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
|
||||
var/datum/component/nanites/N = C.GetComponent(/datum/component/nanites)
|
||||
if(prob(5))
|
||||
to_chat(C, "<span class='warning'>The residual voltage from the nanites causes you to seize up!</b></span>")
|
||||
@@ -230,7 +229,7 @@
|
||||
N.adjust_nanites(-10*cached_purity)
|
||||
..()
|
||||
|
||||
datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
/datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
for(var/active_obj in react_objs)
|
||||
if(O == active_obj)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user